2. Installazione
Transcript
2. Installazione
Sommario 1. Informazioni generali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 Caratteristiche tecniche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Installazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.1 Ispezione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.2 Fissaggio delle unità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.3 Estrazione della morsettiera . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Descrizione degli elementi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.1 Sezione CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.2 Sezione 16 ingressi digitali . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.3 Sezione 16 uscite digitali . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.4 Sezione slots per moduli di I/O . . . . . . . . . . . . . . . . . . . . . . . . 7 3.5 Driver per pilotaggio Bus d'espansione DICO . . . . . . . . . . . . . . 8 3.6 Sezione Watch-Dog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.7 Morsettiera frontale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.8 Modulo Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 4. MON-EX Firmware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4.1 4.2 4.3 4.4 4.5 Cosa fa MON-EX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Le porte di comunicazione di MON-EX . . . . . . . . . . . . . . . . . . 10 Le segnalazioni luminose di MON-EX . . . . . . . . . . . . . . . . . . . 11 Le E2Prom seriali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Configurazioni di memoria per gli applicativi . . . . . . . . . . . . . . 11 Unità DICO - DICO 188-EX Storico Revisioni Pagine Rev. 1.0 Stesura 13 Rev. 1.1 Modifica paragrafo 3.1 13 Questo prodotto soddisfa i requisiti di protezione EMC della direttiva 89/336/CEE e successive modifiche. SYSTEM s.p.a. Div. Electronics si riserva il diritto di apportare variazione di qualunque tipo alle specifiche tecniche in qualunque momento e senza al preavviso. Le informazioni contenute in questa documentazione sono ritenute corrette e attendibili. La riproduzione anche se parziale, del contenuto di questo catalogo, è permessa solo dietro autorizzazione di SYSTEM s.p.a. Div. Electronics. DICO è un marchio registrato da SYSTEM s.p.a. Div. Electronics. SYSTEM s.p.a. Div. Electronics BITBUS è un marchio registrato da Intel Corporation. via Ghiarola Vecchia, 73 IBM è un marchio registrato dalla International Business Machines Corporation. 41042 Fiorano (MO) - Italy tel. 0536/836111 - fax 0536/830901 Eventuali altri nomi di prodotti menzionati in questo catalogo sono di proprietà dei rispettivi produttori. www.system-group.it e-mail: [email protected] Giugno 2006 - Rev. 1.1 pag. Codice Ordine 5907510020 Unità DICO - DICO 188-EX 1. Informazioni generali 1.2 Caratteristiche tecniche • Microprocessore DSTni-EX 120MHz x86 compatibile con capacità di indirizzamento a 20 e 24 bits • 2 porte ETHERNET 10/100 Mbps 1.1 Introduzione • 1 porta USB host/periferica L'unità DICO 188-EX è in grado di interfacciarsi ad un PC di supervisione tramite i protocolli TCP/IP o Web-Server e di gestire moduli di I/O remoto e nodi intelligenti connessi su uno o più bus di campo oltre a disporre di 96 I/O locali espandibili fino a 864 mediante moduli DICO028. • 3 slots per interfacce standard DICO 108 come BITBUS, CANBUS, RS232, RS485, RS422 e CURRENT LOOP I 96 punti di I/O locale sono accessibili dalla morsettiera frontale. • Memoria EEPROM seriale 1KB x 2 • 2 interfacce full CAN 2.0A e 2.0B • 1 interfaccia RS232 • Memoria FLASH parallela fino a 4MB • Memoria RAM volatile fino a 3MB Nel caso sia necessario aumentare il numero di I/O oltre la capacità della singola DICO 188-EX, si può agire in due modi: a) inserire in rete (BUS di campo) altre unità DICO. In questo caso si hanno i vantaggi dell'I/O distribuito a scapito della necessità di coordinare la gestione dei dati elaborati su CPU diverse. b) espandere il numero di I/O localmente sulla stessa CPU, vantaggioso quando si deve gestire un elevato numero di punti concentrati in un'area ristretta, fino ad un massimo di 864 punti di I/O. Questo secondo caso è risolto dal sistema DICO 188EX (vedi Figura 1.1.1) mediante la connessione di unità d'espansione: • Memoria RAM tamponata fino a 1MB • REAL TIME CLOCK: orologio calendario che fornisce secondi, minuti, ore, giorno, giorno della settimana, mese, anno • 16 input digitali 24V PNP • 16 uscite digitali 24V 0.5A PNP • 4 slots per moduli di I/O DICO • Input/Output: fino a 864 punti di I/O digitale o analogico con moduli di I/O opzionali • Watch-Dog • Possibilità di programmazione in linguaggio C e/o in linguaggi IEC1131-3 (soft-PLC) • Alimentazione: 24V nominali DC/AC. Circuiteria interna galvanicamente isolata 1) fino a 4 unità di espansione DICO 022 • Range ammissibile: 24Vac ±10%, 20 -:- 36 Vdc 2) fino a 2 unità di espansione DICO 028 • Consumo corrente: 1.5A max 3) fino a 8 unità di espansione DICO 028/B • Temperatura: 0 -:- 60 °C 4) fino a 16 unità di espansione DICO 032, DICO 042 o DICO 052 • Umidità: fino a 85% in assenza di condensa 5) fino a 16 moduli di I/O standard o speciali della famiglia DICO. • Peso: da 4.5Kg a 10.5Kg • Dimensioni: 330×188×(160 -:- 400) mm Le unità vengono connesse alla CPU mediante flat 37 poli. • Montaggio: su base speciale fornita con unità Unità DICO 188-EX - Elementi interni CANBUS/BITBUS interconnect Ethernet 1-2 RS232/485/422 #1 RS232/485/422 #2 RS232/485/422 #3 RS232/485/422 #4 MOTHERBOARD CPU expansion flat-cable DISPLAY 4 3 Electronics DICO 188-EX Electronics DICO 022 Electronics DICO 028 Electronics DICO 032 Electronics DICO 042 Electronics DICO 052 2 Electronics DICO 028/B Figura 1.1.1 Sistema DICO 188-EX 1 M O 4 I/ le u od M O 3 I/ le u od M M O 2 I/ le u od O 1 I/ le u od TERMINAL BLOCK Figura 1.2.1 Elementi interni Giugno 2006 - Rev. 1.1 pag. Codice Ordine 5907510020 Unità DICO - DICO 188-EX 2. Installazione 2.1 Ispezione All'atto del ricevimento della merce controllare che l'imballo e il contenuto non siano visibilmente danneggiati. In caso contrario contattare SYSTEM Electronics. 1 2.2 Fissaggio delle unità L'unità è predisposta per un facile montaggio su una speciale base posteriore (fornita con unità), la quale può essere fissata su qualunque superficie verticale per mezzo di una coppia di viti (Figura 2.2.1). 2 Figura 2.2.2 Inserzione dell'unità 39.5 1 362 288 330 2 Figura 2.2.3 Rimozione dell'unità 171 2.3 Estrazione della morsettiera 34.5 80 20.5 Figura 2.2.1 Base di montaggio e dimensioni L'accoppiamento dell'unità alla base è ottenuta per mezzo di una serie di denti trapezoidali posti alle estremità superiore ed inferiore. Questi denti si accoppiano con altrettante fessure poste sulla base. Le fessure superiori della base sono ricavate in elementi mobili tenuti da molle. Per prima deve essere fissata la base di montaggio. L'inserzione dell'unità si ottiene appoggiando i denti superiori alle fessure mobili, esercitando una pressione sufficiente a caricare le molle e consentire l'inserzione dei denti inferiori nelle loro sedi (Figura 2.2.2). Al pannello frontale delle unità DICO 188-EX, DICO 022, DICO 028 e DICO 028/B è fissata la morsettiera di I/O. Il pannello e quindi tutto il cablaggio è facilmente estraibile dall'unità facendo leva contemporaneamente sulle due alette poste alle estremità del contenitore. La manovra prevede l'espulsione del frontale. La richiusura del frontale si ottiene appoggiando lo stesso nella propria sede (mantenendo le alette aperte) e poi richiudendo le alette fino allo scatto di chiusura (Figura 2.3.1). 1 2 Lo smontaggio avviene in modo analogo: si preme verso l'alto e si liberano i denti inferiori (Figura 2.2.3). Per garantire un efficace flusso d'aria all'interno, è consigliabile montare l'unità in verticale. 2 Figura 2.3.1 Estrazione della morsettiera Giugno 2006 - Rev. 1.1 pag. 1 Codice Ordine 5907510020 Unità DICO - DICO 188-EX 3. Descrizione degli elementi 3.1 Sezione CPU XS3 XS6 XS9 SW2 GLED RLED SER LD2 LD1 +5V (LD4) (LD5) (LD3) XP5 XP4 SW1 USB XP3 CAN0 SLOPE DEVICE HOST CAN1 TERM SLOPE TERM XS2 XS5 XS8 XS1 XS4 XS7 XP2 Serial Slot #3 Serial Slot #2 J1 Serial Slot #3 CAN0CAN1 TX0 RX0 TX1 RX1 TX2 RX2 TX3 RX3 J2 BATT XP6 J3 J4 XP7 J6 J5 XP10 XP1 XP9 XP8 Figura 3.1.1 La CPU dispone di due banchi di dip switch a 8 sezioni general-purpose SW1 e SW2 da gestire con software applicativo e di jumper per i settaggi hardware della scheda. Mappa di memoria di DICO188-EX (hardware layout con 2MB flash/2MB RAM) 20-bits 20-bits 24-bits Size Addr20 Addr24 (KB) (jumper J6 2-3) (jumper J6 1-2) (jumper J6 1-2) 000000 000000 256 On-chip RAM On-chip RAM On-chip RAM 040000 040000 050000 080000 060000 100000 070000 180000 080000 E00000 084000 086000 088000 E04000 E06000 E08000 0C0000 64 256 64 512 64 512 64 512 16 RAM (64 KB) RAM (256 KB) RAM (64 KB) RAM (64 KB) RAM (512 KB) Settaggi porte seriali RAM (64 KB) RAM (64 KB) RAM (512 KB) JC0 (SLOPE) = Slope control CAN Bus porta 0 (da inserire per velocità di rete CAN > 500KB) NVRAM (64 KB) NVRAM (64 KB) NVRAM (512 KB) Sector 0 Sector 0 8 8 Sector 1 Sector 2 Sector 1 Sector 2 224 Sector 3 Sector 3 JCT0 (TERM) = Terminazione CAN Bus porta 0 JC1 (SLOPE) = Slope control CAN Bus porta 1 (da inserire per velocità di rete CAN > 500KB) JCT1 (TERM) = Terminazione CAN Bus porta 1 Settaggi CPU E40000 240 16 0FC000 080000 RAM (64 KB) E80000 256 0C0000 EC0000 0FC000 Sector 4 J1 = Indirizzamento a 20-bit (inserito); a 24-bit (non inserito) Sector 5 240 Sector 6 16 DSTni-EX Bootstrap F00000 256 JB1 (BATT) = 1-2 batteria inserita (lato scritta BATT) Sector 4 DSTni-EX Bootstrap J2 = Disabilitazione del Bootstrap on-chip Sector 5 J6 = 1-2 Indirizzamento 24-bits Flash memory J6 = 2-3 Indirizzamento 20-bits Flash memory Sector 6 Settaggi On-chip Bootstrap Sector 7 J3 = Abilitazione boot da ethernet 0 (inserito) F40000 256 J4 = Abilitazione messaggi di debug del bootstrap (inserito) Sector 8 J5 = Porta SP0 a "9600,N,8,1" (inserito); "57600,N,8,1" (non inserito) F80000 256 Sector 9 FC0000 240 FFC000 16 Sector 10 DSTni-EX Bootstrap Tabella 3.1.1 Giugno 2006 - Rev. 1.1 pag. Codice Ordine 5907510020 Unità DICO - DICO 188-EX LEDS Pin out Serial slot #2 e Serial slot #3: Ethernet0 led Giallo (sul connettore) = link stabilito Ethernet0 led Verde (sul connettore) = segnalazione traffico Ethernet1 Led Giallo (sul connettore) = link stabilito Ethernet1 Led Verde (sul connettore) = segnalazione traffico x1 x2 x3 x4 x5 x6 x7 x8 x9 RS232 NC RXD TXD DTR GND NC RTS CTS NC RS422 NC NC TX* RX* GND NC NC TX RX RS485 NC NC DATA* NC GND NC NC DATA NC USB Device = porta USB funzionamento modalità DEVICE Tabella 3.1.3 (x equivale a Slot) USB HOST = porta USB funzionamento modalità HOST XP4_DOWN RS232 SP0 CAN Bitbus Current Loop NC NC NC INCANL NC OUTGND DATA* GND OUTNC RTS* NC COMMON GND OUT+ NC GND NC NC CANH NC IN+ NC DATA OUT+ NC RTS Pin01 RX Pin02 TX CAN0 = trasmissione porta CAN0 Pin03 GND CAN1 = trasmissione porta CAN1 Pin04 RTS Pin05 CTS TX0 = trasmissione su porta seriale SP0 RX0 = ricezione su porta seriale SP0 XP6_DOWN Porta CAN0 TX1 = trasmissione su porta seriale SP1 RX1 = ricezione su porta seriale SP1 TX2 = trasmissione su porta seriale SP2 RX2 = ricezione su porta seriale SP2 TX3 = trasmissione su porta seriale SP3 Pin4 CANH Pin5 CANL Pin6 REF XP6_UP Porta CAN1 RX3 = ricezione su porta seriale SP3 LD1 = led general purpose LD2 = led general purpose LD3 = (SER) led general purpose Pin7 CANH Pin8 CANL Pin9 REF XP1_DOWN Ethernet0 LD4 = (GLED) led general purpose LD5 = (RLED) led general purpose La CPU dispone oltre alle interfacce integrate, 2 porte Ethernet, 2 porte CAN Bus, 1 porta RS232, di tre slot per interfacce seriali standard DICO108 come CANbus, Bitbus, RS232, RS485, RS422, Current Loop, ecc…. Il serial slot #1 per moduli seriali è connesso a XP4_up. Pin1 TX+ Pin2 TX- Pin3 RX+ Pin4 NC Pin5 NC Pin6 RX- Pin7 NC Pin8 NC Il serial slot #2 per moduli seriali è connesso a XP5_down. Il serial slot #3 per moduli seriali è connesso a XP5_up. XP6_UP CAN1 XP4_UP XP5_UP 11 12 13 14 15 31 32 33 34 35 36 37 38 39 01 02 03 04 05 21 22 23 24 25 26 27 28 29 SLOT1 SP1 SLOT3 SP0 SLOT2 XP4_DOWN Figura 3.1.2 ETH1 XP1_UP 7 8 9 SP3 SP2 4 5 6 CAN0 ETH0 XP1_DOWN XP5_DOWN XP6_DOWN RS485 NC DATA* GND NC DATA CAN Bitbus Current Loop CANL NC GND DATA* NC COMMON CANH NC NC DATA Non utilizzabile RS422 Non disponibile 11 12 13 14 15 Pin1 TX+ Pin2 TX- Pin3 RX+ Pin4 NC Pin5 NC Pin6 RX- Pin7 NC Pin8 NC XP8 Power Supply Pin out Serial slot #1: RS232 RXD TXD GND RTS CTS XP1_UP Ethernet1 Pin1 24Vdc/ac Pin2 24Vdc/ac Pin3 Heart Tabella 3.1.2 Giugno 2006 - Rev. 1.1 pag. Codice Ordine 5907510020 Unità DICO - DICO 188-EX La CPU può essere dotata di una sezione di orologio calendario opzionale o integrato sulla CPU, previo montaggio su richiesta, o mediante l'inserimento di un modulo orologio calendario in uno slot per moduli seriali. La sezione orologio calendario è in grado di fornire: 3.3 Sezione 16 uscite digitali • secondi • Numero di uscite 16 • ore • Tensione minima di lavoro 18V • giorno • Tensione massima di lavoro 36V • giorno della settimana • Tipo di uscita • mese • Corrente nominale • anno • Corrente massima di picco 700mA • Isolamento galvanico 500Vdc L'alimentazione per la CPU e l'intera unità DICO 188-EX deve essere fornita mediante il connettore XP8 posto sulla parte superiore del modulo come illustrato in figura: 1 24V DC/AC 2 24V DC/AC 3 EARTH GND XP6_UP XP1_UP XP4_UP XP5_UP 1112131415 313233343536373839 0102030405 212223242526272829 7 8 9 4 5 6 XP4_DOWN XP5_DOWN XP6_DOWN The pin assignement of the power supply connector is as indicated. 1 2 3 L'unità DICO 188-EX integra una sezione di 16 uscite digitali PNP 24 Volt 0.5A. Caratteristiche tecniche: PNP 500mA • Ritardo max all'eccitazione 50uS • Ritardo max alla diseccitazione 250uS • Protezione cortocircuito Si • Protezione sovraccarico Si • Protezione extracorrenti di ricircolo Si 0.5 … 2.5 mm • Cavi di connessione uscite COM OUT +24V XP1_DOWN POWER SUPPLY OUT N Figura 3.1.3 3.2 Sezione 16 ingressi digitali L'unità DICO 188-EX integra una sezione di 16 ingressi digitali PNP 24 Volt. Caratteristiche tecniche: • Numero di ingressi 16 • Tensione nominale di ingresso 24Vdc • Tensione massima di ingresso 36Vdc • Tensione min. riconosciuta come ON 13Vdc • Tensione max riconosciuta come OFF 10Vdc • Tensione min. riconosciuta come OFF 0Vdc • Tipo di ingresso PNP • Corrente nominale di ingresso 5mA • Isolamento galvanico 500Vdc • Ritardo max all'eccitazione 1.5mS • Ritardo max alla diseccitazione 4.5mS • Massima frequenza di ingresso 100Hz • Protezione sovratensioni Si • Cavo di connettori ingressi REF OUT GND Figura 3.3.1 Schema di principio uscita digitale 3.4 Sezione slots per moduli di I/O L'unità DICO 188-EX è in grado di ospitare 4 moduli di I/O standard della famiglia DICO sia analogici che digitali per un totale di 4×16=64 punti di I/O completamente configurabili. TERMINAL BLOCK CONNECTORS SLOT#0 I/O3 0.5 … 2.5 mm SLOT#1 I/O2 DISPLAY CONNECTOR SLOT#2 I/O5 SLOT#3 I/O6 IN X +5V POWER SUPPLY COM IN GND Figura 3.2.1 Giugno 2006 - Rev. 1.1 pag. DICO BUS EXPANSION CONNECTOR CPU188 INTERFACE CONNECTOR Figura 3.4.1 Motherboard Codice Ordine 5907510020 Unità DICO - DICO 188-EX 3.5 Driver per pilotaggio Bus d'espansione DICO Sono inoltre disponibili i contatti del relè di Watch-Dog WD_A e WD_B rispettivamente 127+128 e 1+2. DICO 188-EX MORSETTIERA 128 poli L'unità DICO 188-EX integra la sezione di pilotaggio del bus d'espansione DICO che consente di collegare unità d'espansione della famiglia DICO022 e DICO028 per un totale di 768 punti di I/O aggiuntivi. WD_A 127 128 -- 125 126 6 I/O 15 123 124 6 I/O 13 121 122 6 I/O 11 119 120 6 I/O 9 117 118 6 I/O 7 115 116 6 I/O 5 113 114 6 I/O 3 111 112 6 I/O 1 109 110 REF 6 107 108 COM 6A 105 106 5 I/O 15 103 104 5 I/O 13 101 102 5 I/O 11 99 100 5 I/O 9 97 98 5 I/O 7 95 96 5 I/O 5 93 94 5 I/O 3 91 92 5 I/O 1 89 90 REF 5 87 88 COM 5A 85 86 4 OUT 15 83 84 4 OUT 13 81 82 4 OUT 11 79 80 4 OUT 9 77 78 4 OUT 7 75 76 4 OUT 5 73 74 4 OUT 3 71 72 4 OUT 1 69 70 REF 4 67 68 COM 4A 65 66 Il bus d'espansione è disponibile sul connettore 37 poli XS37 posto sulla parte alta dell'unità. BA(7) BA(6) BA(5) BA(4) BA(3) BA(2) BA(1) BDPRAMBRDBWRBD(7) BD(6) BD(5) BD(4) BD(3) BD(2) BD(1) BD(0) REF 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 BA(7)* BA(6)* BA(5)* BA(4)* BA(3)* BA(2)* BA(1)* BDPRAM-* BRD-* BWR-* BD(7)* BD(6)* BD(5)* BD(4)* BD(3)* BD(2)* BD(1)* BD(0)* Figura 3.5.1 Connettore a 37 poli 3.6 Sezione Watch-Dog L'unità DICO 188-EX è dotata di una sezione di WatchDog che oltre a gestire il reset della CPU pilota un relè i cui contatti sono disponibili sulla morsettiera frontale. 3.7 Morsettiera frontale La morsettiera frontale costituita da 128 morsetti a molla, consente di collegare le linee di I/O e alimentazione delle varie sezioni tutte indipendenti e isolate galvanicamente. WD_A -6 I/O 16 6 I/O 14 6 I/O 12 6 I/O 10 6 I/O 8 6 I/O 6 6 I/O 4 6 I/O 2 COM 6B COM 6A 5 I/O 16 5 I/O 14 5 I/O 12 5 I/O 10 5 I/O 8 5 I/O 6 5 I/O 4 5 I/O 2 COM 5B COM 5A 4 OUT 16 4 OUT 14 4 OUT 12 4 OUT 10 4 OUT 8 4 OUT 6 4 OUT 4 4 OUT 2 COM 4B COM 4A WD_B -COM 1A REF 1 1 IN 1 1 IN 3 1 IN 5 1 IN 7 1 IN 9 1 IN11 1 IN13 1 IN15 COM 2A REF 2 2 I/O 1 2 I/O 3 2 I/O 5 2 I/O 7 2 I/O 9 2 I/O 11 2 I/O 13 2 I/O 15 COM 3A REF 3 3 I/O 1 3 I/O 3 3 I/O 5 3 I/O 7 3 I/O 9 3 I/O 11 3 I/O 13 3 I/O 15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 WD_B -COM 1A COM 1B 1 IN 2 1 IN 4 1 IN 6 1 IN 8 1 IN 10 1 IN 12 1 IN 14 1 IN 16 COM 2A COM 2B 2 I/O 2 2 I/O 4 2 I/O 6 2 I/O 8 2 I/O 10 2 I/O 12 2 I/O 14 2 I/O 16 COM 3A COM 3B 3 I/O 2 3 I/O 4 3 I/O 6 3 I/O 8 3 I/O 10 3 I/O 12 3 I/O 14 3 I/O 16 Figura 3.7.1 3.8 Modulo Display L'unità DICO 188-EX è dotata di un modulo display a LED per la visualizzazione dello stato delle linee di I/O e per la visualizzazione dei LED di servizio POWER, Red Led RL, Green Led GL, Battery Fail BFO, Watch-Dog WD, e Serial Led SER. PW Gli slots per i moduli di I/O sono collegati rispettivamente ai morsetti COM, REF e I/O, il significato di ogni morsetto dipende dal modulo inserito. WD 127 BFO RL 95 93 121 91 119 89 117 87 115 85 113 83 111 81 109 79 103 77 101 75 99 73 97 71 95 69 93 67 91 65 89 O15 83 O13 81 O11 79 O9 77 O7 75 O5 73 O3 71 O1 69 Gli ingressi PNP sono collegati ai morsetti IN x (9…24) con comune GND sui morsetti COMIN1 (5, 6, 8). Le uscite digitali sono collegate ai morsetti OUT x (69…84) con comune +24Vdc sui morsetti COMOUT4 (65, 66, 68) e GND morsetto REFOUT4 (67). SLOT#0 è connesso ai morsetti I/O3 (49 … 64), REF3 (47), COM3 (45, 46, 48); SLOT#1 è connesso ai morsetti I/O2 (29 … 44), REF2 (27), COM2 (25, 26, 28); SLOT#2 è connesso ai morsetti I/O5 (89…104), REF5 (87), COM5 (85, 86, 88); I/O6 IN 1 I/O5 I/O2 OUT4 I/O3 96 94 92 90 88 86 84 82 80 78 76 74 72 70 68 66 O16 O14 O12 O10 O8 O6 O4 O2 124 122 120 118 116 114 112 110 104 102 100 98 96 94 92 90 84 82 80 78 76 74 72 70 9 11 13 15 17 19 21 23 29 31 33 35 37 39 41 43 49 51 53 55 57 59 61 63 PW 2 I1 I3 I5 I7 I9 I11 I13 I15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 12 14 16 18 20 22 24 30 32 34 36 38 40 42 44 50 52 54 56 58 60 62 64 WD SER GL I2 I4 I6 I8 I10 I12 I14 I16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 SLOT#3 è connesso ai morsetti I/O6 (109 … 124), REF6 (107), COM6 (105, 106, 108). Figura 3.8.1 Vista Display. Giugno 2006 - Rev. 1.1 pag. Codice Ordine 5907510020 Unità DICO - DICO 188-EX 4. MON-EX Firmware Lo switch più discriminante è, senza dubbio, SW2_1. MON-EX è il firmware standard che viene bruciato nella FLASH parallela di DICO188-EX durante la produzione in SYSTEM Electronics. Più precisamente, la FLASH parallela contiene sia la versione a 24-bit che la versione a 20-bit di MON-EX, come evidenziato nelle apposite tabelle contenenti le mappe di memoria. MON-EX viene lanciato dal bootstrap on-chip e, a sua volta, può fare partire un altro applicativo utente residente ad un indirizzo fisso in FLASH parallela o scaricato in RAM via protocollo BOOTP/TFTP. SYSTEM Electronics fornisce appositi tools che possono venire usati per comunicare col firmware MON-EX attraverso le porte SP0, CANbus 0 e le porte Ethernet, se attive. Questi tools permettono di conoscere la versione di firmware MON-EX che sta girando, di invalidare un'applicazione esistente, scaricarne una nuova e validarla. Inoltre, sono forniti gli strumenti per utilizzare la seconda EEPROM seriale, l'utilizzo del Real Time Clock, la lettura/ scrittura degli I/O e la lettura di zone di memoria. In caso si voglia inserire in una HMI dedicata il nucleo di questi tools, si possono richiedere a SYSTEM Electronics i dettagli relativi ai protocolli per CANbus e per Ethernet/Seriale. MON-EX contiene anche un Web-Server che permette di interfacciarsi tramite un browser standard (Internet Explorer, Mozilla Firefox, ecc…) per reperire informazioni, impostare IP e Netmask da salvare in memoria non volatile, scaricare applicativi, validarli ed invalidarli. Quando è ON, SW2_1 dice a MON-EX di ignorare qualunque programma applicativo eventualmente residente in FLASH parallela e di procedere aprendo un insieme di porte di comunicazione attraverso cui ricevere comandi dal mondo esterno. Quando SW2_1 è OFF, MON-EX legge la E2Prom seriale in cerca di patterns magici ed altre informazioni che indichino la presenza di un applicativo utente valido nella FLASH parallela (ad un indirizzo fisso dipendente della modalità di indirizzamento a 20/24 bits) ed eventualmente lo lancia. Per i dettagli relativi agli indirizzi fissi, si faccia riferimento alle tabelle con le opportune mappe di memoria. È altamente consigliabile che l'applicativo usi i dipswitches relativi a Nod ID e baudrate del CANbus nel medesimo modo di MON-EX e che l'applicativo implementi in qualche modo la funzionalità di invalidazione di se stesso (in modo tale da poter essere indotto a suicidarsi e far ripartire MON-EX al successivo reset). Addr20 000000 256 40000 50000 4.1 Cosa fa MON-EX 60000 La primissima azione di MON-EX è leggere un registro in cui la logica hardware della scheda ha memorizzato la causa di reset della CPU (power-up, watch-dog o altro) e scrivere questa informazione in un area fissa di memoria (Monitor Exchange Memory) dove un programma applicativo la possa in seguito reperire. 70000 Quindi, MON-EX legge i dip-switches SW1 ed SW2 per sapere come procedere. SW1_1 SW1_2 SW1_3 SW1_4 SW1_5 SW1_6 SW1_7 SW1_8 CANbus 0 User defined IP Mode CANbus baudrate Off = Port used by Off Off = Class C Off Off Off = 1 Mbps monitor (192.168.1.x) Off Off On = 800 Kbps Off On Off = 500 Kbps or ARP trick Off On = E2Prom Off On On = 250 Kbps On Off Off = 125 Kbps On Off = DHCP On Off On = 50 Kbps On On = BOOTP On On Off = 20 Kbps On On On = 10 Kbps CANbus 0 User defined User defined IP Mode ON = Port is under Off Off = Class C (192.168.1.1) TCPtoCAN Off On = E2Prom Gateway On Off = DHCP On On = BOOTP SW2_1 ON = Ignore application program Size (KB) Mappa di memoria di MON-EX-20 20-bits Usage (J1 & J6 2-3) Interrupt vectors Reserved On-chip RAM Monitor Exchange Memory Monitor Free Memory (254 KB) 64 RAM 64 RAM 64 RAM 64 NVRAM 80000 16 84000 86000 88000 8 8 Flash Sector 1 Flash Sector 2 224 Flash Sector 3 Flash Sector 0 C0000 240 FC000 16 Flash Sector 4 On-chip ROM Addr20 00000 00400 00700 00800 40000 Monitor Data (available to Application) Battery-sustained Memory (not used by Monitor) Available to Application Application Code 70000 80000 84000 86000 88000 (started by MON-EX-20) Monitor Code C0000 MON-EX-20 DSTni-EX Bootstrap FC000 Tabella 4.1.2 SW2_2 SW2_3 SW2_4 SW2_5 SW2_6 SW2_7 SW2_8 Node ID (CANopen NId or LSB of Class C IP) Off Off Off Off Off Off Off = 0 (No IP; ARP trick enabled) Off Off Off Off Off Off On = 1 (Class C IP = 192.168.1.1) Off Off Off Off Off On Off = 2 (Class C IP = 192.168.1.2) …………………… On On On On On On On = 127 (Class C IP = 192.168.1.127) User defined (when CANbus 0 is gateway port) Tabella 4.1.1 Giugno 2006 - Rev. 1.1 pag. Codice Ordine 5907510020 Unità DICO - DICO 188-EX Addr24 000000 040000 Mappa di memoria di MON-EX-24 (2 MB Flash / 2MB RAM) 24-bits Size Usage Addr24 (!J1 & J6 1-2) (KB) Interrupt vectors 000000 Reserved 000400 On-chip RAM Monitor Exchange Memory 000700 256 000800 4.2.3 La porta ETH0 256 RAM Monitor Free Memory 080000 512 RAM 512 RAM 180000 512 Monitor Data 140000 (available to Application) Battery-sustained Memory 180000 NVRAM E00000 16 E04000 E06000 E08000 8 8 Flash Sector 1 Flash Sector 2 224 Flash Sector 3 256 Flash Sector 4 Flash Sector 0 (not used by Monitor) Available to Application Application Code 256 256 256 256 256 240 16 E00000 E04000 E06000 E08000 (started by MON-EX-20) E40000 FFC000 Le porte Ethernet dei dispositivi SYSTEM Electronics hanno MAC del tipo 00-11-63-xx-xx-xx; di solito, la porta Ethernet 0 ha un MAC address pari e la porta Ethernet 1 il MAC address dispari immediatamente seguente. (1278 KB) 100000 E80000 EC0000 F00000 F40000 F80000 FC0000 Se SW1_1 è ON, la porta CANbus 0 può venire usata come gateway tra TCP e CANbus; la porta CANbus 1 funziona sempre come gateway. Dettagli sul procollo di gateway sono disponibili per gli interessati. Monitor Code MON-EX-20 Flash Sector 5-9 Application Code (1280 KB) (started by MON-EX-24) Flash Sector 10 On-chip ROM E40000 E80000 Monitor Code FC0000 MON-EX-24 DSTni-EX Bootstrap FFC000 Tabella 4.1.3 (! = non inserito) Se riesce a recuperare in qualche modo (dipendentemente dalla posizione di SW1_4 - SW1_5) un IP ed una NetMask, MON-EX apre anche la porta Ethernet 0. Il settaggio di fabbrica per IP_Mode è Class C: l'IP è "192.168.1.1" (Node ID, come abbiamo già visto, è impostato ad 1) e NetMask è "255.255.255.0". Se SW1_1 è ON, l'IP è fissato a "192.168.1.1". Se SW1_1 è OFF, un Node ID compreso tra 1 e 127 viene usato come ultimo byte dell'IP; un Node ID nullo, invece, attiva il cosidetto "ARP trick", che permette di assegnare un IP temporaneo usando i comandi standard ARP e PING. In dettaglio, si tratta di aggiungere temporaneamente una voce statica alla tabella ARP del proprio PC e, successivamente, di usare il comando PING per assegnare temporaneamente l'IP desiderato alla porta ETH0; ad esempio, se si vuole assegnare temporaneamente l'IP 10.11.12.13 alla porta ETH0 avente MAC address 001163-000100, si devono digitare sul proprio PC i seguenti comandi: arp -s 10.11.12.13 00-11-63-00-01-00 ping 10.11.12.13 A questo punto, fino al prossimo spegnimento DICO188EX diventa raggiungibile (ad esempio, con un browser) attraverso l'IP fissato. Usando un browser, gli IPs e le NetMasks per le porte Ethernet 0 ed Ethernet 1 possono essere modificati e salvati su E2Prom seriale, in modo che MON-EX possa da lì leggerli in caso IP_Mode venga posto ad E2Prom. 4.2 Le porte di comunicazione di MON-EX Quando MON-EX ignora un eventuale programma applicativo, inizia a far lampeggiare Led 5 ed apre alcune porte di comunicazione su cui attendere comandi dall'esterno. 4.2.1 La porta seriale SP0 (RS232) La porta seriale SP0 viene aperta a "38400,N81" indipendentemente dal settaggio degli switches. Se IP_Mode è impostato a DHCP, l'IP e la NetMask per la porta Ethernet 0 può essere ottenuta da un server DHCP; in tal caso SYSTEM Electronics suggerisce che il server DHCP venga configurato per usare il MAC address come chiave per l'assegnazione di IP e NetMask. Se IP_Mode è impostato a BOOTP, un apposito server deve assegnare IP e NetMask alla porta Ethernet 0 e, quindi, scaricare un applicativo utente nella RAM di DICO188-EX (si veda Monitor Free Memory nelle tabelle delle mappe di memoria). 4.2.2 La porta CAN0 Se lo switch SW1_1 è OFF ed il Node ID è diverso da zero (switches SW2_2 - SW2_8), la porta CANbus 0 viene aperta con la baudrate impostata dagli switches SW1_6 - SW1_8. Se gli switches SW2_2 - SW2_8 sono tutti OFF, il Node ID viene automaticamente portato da 0 a 1. L'impostazione di fabbrica per il Node ID è 1; quella per la baudrate è 500Kbps. Giugno 2006 - Rev. 1.1 pag. 10 Codice Ordine 5907510020 Unità DICO - DICO 188-EX 4.3 Le segnalazioni luminose di MON-EX 4.3.1 Led 5 Come già accennato, se MON-EX non deve far partire un eventuale programma applicativo, inizia a far lampeggiare Led 5 prima di procedere. Si consiglia, dunque, agli applicatori, di non usare quel led nei programmi, in modo tale che siano chiaramente distinguibili all'esecuzione del Monitor e quella di un applicativo. 4.3.2 Led 4 Se IP_Mode è impostato ad E2Prom o a DHCP e MONEX non riesce ad ottenere un IP ed una NetMask validi, esso cessa qualunque attività ed entra in un loop infinito facendo lampeggiare Led 4 alla frequenza di 1Hz. Se IP_Mode è impostato a BOOTP e MON-EX va in timeout sull'attesa di connettersi ad un server apposito, esso ripete continuamente la ricerca del server facendo lampeggiare brevemente Led 4 ad ogni tentativo. Le note seguenti presuppongono la conoscenza dell'ambiente di sviluppo software Paradigm C/C++ e dei tools messi a disposizione da Lantronix (produttore del chip DSTni-EX). Senza voler esaurire tutte le possibilità offerte dal chip DSTni-EX e dal suo bootstrap interno, nel seguito verranno presentate le varie configurazioni di memoria previste nel file APPL001.CFG; ad ognuna di esse è associato un particolare style sheet nel file di progetto APPLICATION.IDE. Alcune di queste configurazioni tengono conto della eventuale presenza di un Monitor (a 20 o a 24 bits) che, necessariamente, utilizza alcune delle risorse di memoria disponibili; per maggiori dettagli, si faccia riferimento alle tabelle 4.1.2 e 4.1.3 del manuale. Le risorse impegnate dal Monitor sono attualmente largamente sovrabbondanti rispetto alle sue effettive esigenze (vedi Tabella 4.5.1) e, dunque, non si prevede che sue future versioni possano compromettere il funzionamento di applicativi sviluppati tenendo conto dei veicoli attuali. Monitor Dimens. Codice Flash impegnata 20 bits ~ 160 KB 240 KB Dimens. Dati Ram impegnata ~ 152 KB 192 KB 24 bits ~ 160 KB 240 KB ~ 152 KB 256 KB Se IP_Mode è impostato a Class C in modo tale da attivare l'ARP trick, MON-EX attende l'arrivo del comando PING facendo lampeggiare Led 4 alla frequenza di circa 2Hz. Tabella 4.5.1 4.3.3 Led 3 Si noti che lo spazio di ram usato dal Monitor può, ovviamente, essere riutilizzato dall'applicativo utente lanciando dal Monitor stesso. Durante la copiatura da RAM a Flash di un programma applicativo in qualunque modo scaricato, MON-EX accende Led 3 per un tempo (breve) che dipende dalla lunghezza dell'applicativo. Si noti ancora che il Monitor non utilizza alcuna porzione di ram tamponata. Si noti infine che Monitor gestisce un'area di scambio con gli applicativi che manda in esecuzione; tale area inizia all'indirizzo fisico 0x00700 ed occupa 256 bytes, così suddivisi: 0x00700 - 0x00701 0x00702 - 0x00707 0x00708 - 0x00709 0x0070A - 0x0070B 0x0070C - 0x007FF 4.4 Le E2Prom seriali DICO188-EX monta 2 chips di memoria E2Prom seriale. Nel primo di questi chip, protetto contro qualunque tentativo di scrittura, sono state memorizzati alcuni dati di fabbrica come i 2 MAC addresses delle porte Ethernet ed altro. Nel secondo chip, opportunamente scrivibile, possono invece venir memorizzati dati come gli indirizzi IP e le relative NetMasks, i validatori degli eventuali programmi applicativi residenti in Flash parallela nonché un massimo di 32 bytes utente, cui l'applicativo può assegnare il significato desiderato. iRestartReason szMonitorRelease iCANbus0Baudrate iCANbus0NodeId Reserved Tabella 4.5.2 Tutte le considerazioni descritte nel seguito prevedono dunque che i primi 2KB dello spazio di memoria siano riservati: 1KB servono per la tabella dei vettori di interrupt, 768 bytes per lo stack di PDREM (in caso di debugging) e 256 bytes per l'area di scambio tra Monitor e gli applicativi). 4.5.1 Programma in debugging 4.5 Configurazioni di memoria per gli applicativi SYSTEM Electronics mette a disposizione degli utilizzatori di DICO188-EX non solo le librerie necessarie a costruire un applicativo, ma anche un esempio di progetto contenente il target MON-EX (completo di sorgenti) ed alcuni altri target che fanno funzionare un piccolo applicativo in varie modalità. Se, nell'ambiente di sviluppo Paradigm, si associa ad un target uno style sheet di debugging (Debug20 o Debug24, nelle loro varianti "PPP" o "No PPP"), viene definito il simbolo __PDREMOTE__; in tal caso, il tool di rilocazione (Locator) viene istruito da APPL001.CFG a considerare impegnate le zone di memoria on-chip dedicate a PDREM quando questo viene scaricato al bootstrap attraverso la porta seriale SP0 (da 0x00800 a 0x03FFF e da 0x3F000 a 0x 3FFFF). Se possibile, si consiglia di usare per l'applicativo la medesima zona di memoria dati che si ha intenzione di usare per il sistema finito. Giugno 2006 - Rev. 1.1 pag. 11 Codice Ordine 5907510020 Unità DICO - DICO 188-EX 4.5.2 Programma residente in flash lanciabile dal Bootstrap (esecuzione in flash) Gli style sheet Flash20 e Flash24 (nelle loro varianti "PPP" o "No PPP") definiscono il simbolo __IN_FLASH__ che costringe il locator a generare un file in formato HexIntel (FLASH20.HEX o FLASH24.HEX) che dovrà poi essere processato nuovamente da DSTMKBIN32 per ottenere il file FLASH20.SPB (o FLASH24.SPB); questo file deve infine essere scaricato sul target mediante DSTniLoader. L'indirizzo iniziale del codice deve rispettare le specifiche del bootstrap on-chip, che ricerca l'intestazione di un applicativo in flash agli indirizzi multipli di 64KB (partendo dal più alto e sino all'inizio dell'upper memory). 4.5.3 Programma residente in flash lanciabile da Bootstrap dopo essere stato copiato in ram o lanciabile da Bootstrap dopo averlo ricevuto attraverso la seriale SP0 (esecuzione in ram on-chip) Gli style sheet F2Ram20 e F2Ram24 (nelle loro varianti "PPP" o "No PPP") definiscono il simbolo __FLASH_TO_ RAM__; il file HexIntel generato dal locator (RAM20.HEX o RAM24.HEX) può essere processato da DSTMKBIN32 in due diversi modi e generare i files RAM20.SPB e RAM24. SPB oppure i files SERIAL20.SDB e SERIAL24.SDB. I files .SPB devono essere scaricati sul target mediante DSTniLoader e vengono gestiti da Bootstrap che provvede a copiarli in ram on-chip prima della esecuzione. I files .SDB devono essere scaricati sul target mediante la porta seriale SP0 e vengono ricevuti da Bootstrap che li copia in ram on-chip e poi li mette in esecuzione. In entrambi i casi, l'indirizzo di inizio dell'applicativo deve essere obbligatoriamente 0x00800 e l'intero applicativo (codice più dati iniziali) non deve oltrepassare il confine costituito dall'indirizzo 0x3BFFF (max 238KB); questo limite è dovuto all'utilizzo dell'ultima porzione di ram onchip da parte del Bootstrap e, soprattutto, al fatto che Bootstrap programma i registri di chip select in modo tale da accedere solo alla ram on-chip. 4.5.4 Programma residente in flash lanciabile da Monitor (esecuzione in ram) Gli style sheets F2Ram20 e F2Ram24 costringono il locator a generare, oltre al file HexIntel di cui si è detto al punto precedente, anche un file binario RBYMON20. BIN o RBYMON24.BIN. Questo file deve essere scaricato in flash al Monitor attraverso la porta 1100 o mediante il WebServer integrato nel Monitor stesso. Dopo il trasferimento in flash, occorre eseguire l'operazione di validazione dell'applicativo, indicando un indirizzo iniziale non necessariamente uguale a 0x00800. occupare tutta la memoria lasciata libera da Monitor (fino a 1278KB di codice applicativo per la versione a 24-bits). 4.5.5 Programma residente in flash lanciabile da Monitor (esecuzione in flash) Gli style sheets FBYMON20 e FBYMON24 (nelle loro varianti "PPP" o "No PPP") definiscono il simbolo __ FLASH_UNDER_MONITOR__; come nel caso precedente, il file binario generato dal Locator (FRBYMON20.BIN o FBYMON24.BIN) deve essere scaricato il flash al Monitor attraverso la porta 1100 o mediante il WebServer integrato nel Monitor stesso. Dopo il trasferimento in flash, occorre eseguire l'operazione di validazione dell'applicativo, indicandone l'indirizzo iniziale (che deve risiedere nelle zone opportunamente messe a disposizione da Monitor). L'esecuzione dell'applicativo avverrà direttamente in flash. 4.5.6 Programma residente su BOOTP e lanciabile da Monitor (esecuzione in ram) Gli style sheets BbyMon20 e BbyMon24 (nelle loro varianti "PPP" o "No PPP") definiscono il simbolo __BOOTP_UNDER_MONITOR__; in questo caso, il file binario generato dal locator (BBYMON20.BIN o BBYMON24.BIN) deve essere copiato su un BOOTP Server, da cui Monitor lo potrà scaricare se opportunamente configurato tramite i dip-switches presenti sulla scheda (vedere Tabella 4.1.1). Anche in questo caso, avendo Monitor già sistemato opportunamente i registri che governano i chip select delle memorie, l'applicativo può occupare tutta la memoria lasciata libera da Monitor. 4.5.7 Le classi MEM4STACKS e MEM4BUFFERS Negli esempi contenuti nel progetto APPLICATION.IDE sono state dichiarate due speciali classi di segmenti per contenere, rispettivamente, il pool di memoria da cui possono venire allocati gli stacks dei tasks ed il pool di buffers per i frames scambiati su Ethernet. Il fatto che le classi siano distinte permette di dare al Locator direttive per posizionarle dove desiderato. Ad esempio, in un certo applicativo potrebbe essere conveniente posizionare gli stacks nella ram on-chip (estremamente veloce) ed i buffers di Ethernet in ram esterna (leggermente più lenta); in un altro ancora, potrebbe essere più conveniente portare in ram on-chip porzioni di codice e posizionare tutto il resto in ram esterna. Monitor provvede a copiare l'applicativo in ram prima dell'esecuzione. A differenza dei due casi precedenti, avendo Monitor già sistemato opportunamente i registri che governano i chip select delle memorie, l'applicativo non è limitato ad utilizzare la sola ram on-chip, ma può Giugno 2006 - Rev. 1.1 pag. 12 Codice Ordine 5907510020 Unità DICO - DICO 188-EX 4.5.8 Utilizzo del floating point È altresì disponibile la possibilità di utilizzare l'emulazione del coprocessore matematico, utilizzando le librerie floating point presenti in Paradigm C++. È però ben noto che tali librerie utilizzano una porzione di memoria allocata all'inizio del segmento contenente lo stack. Poichè la customizzazione del sistema operativo DSTniOS operata da SYSTEM Electronics prevede che tutti gli stacks dei vari tasks condividano il medesimo segmento, ne deriva che uno solo dei tasks può eseguire operazioni floating point. Giugno 2006 - Rev. 1.1 pag. 13 Codice Ordine 5907510020