software:devices:modbus

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisione Revisione precedente
Prossima revisione
Revisione precedente
Prossima revisioneEntrambe le parti successive la revisione
software:devices:modbus [2015/09/16 11:02] – [6.1.2. Impostazioni modbus e apertura del canale di comunicazione di tipo TCPIP] qem207software:devices:modbus [2015/09/16 11:43] – [5.7.1. Identificazione degli Slave] qem207
Linea 32: Linea 32:
  
 ===== - Installazione ===== ===== - Installazione =====
 +FIXME
  
 ==== - Dichiarazione device nel file di configurazione (.CNF) ==== ==== - Dichiarazione device nel file di configurazione (.CNF) ====
Linea 54: Linea 55:
 riferimento al manuale firmware dell’hardware stesso. riferimento al manuale firmware dell’hardware stesso.
  
-=== - Esempio === +**Esempio**
 <code QCL> <code QCL>
 INTDEVICE INTDEVICE
Linea 152: Linea 152:
  
 ===== - Parte 1 : Modbus Master ===== ===== - Parte 1 : Modbus Master =====
 +FIXME
 Il device MODBUS può utilizzare una porta seriale o TCPIP per comunicare in modalità master (parametro //mode// = 0). Esso da la Il device MODBUS può utilizzare una porta seriale o TCPIP per comunicare in modalità master (parametro //mode// = 0). Esso da la
 possibilità (tramite parametri, stati e comandi) a tutti gli strumenti di poter colloquiare con qualsiasi apparecchiatura utilizzante possibilità (tramite parametri, stati e comandi) a tutti gli strumenti di poter colloquiare con qualsiasi apparecchiatura utilizzante
Linea 331: Linea 331:
 swTemp1 = modbus.iword15 swTemp1 = modbus.iword15
 </code> </code>
-=== - Schema a blocchi ===+==== - Schema a blocchi ====
 {{:software:devices:modbus:modbus_01.png?nolink400|}} {{:software:devices:modbus:modbus_01.png?nolink400|}}
  
-=== - Broadcast ===+==== - Broadcast ====
 Il Broadcast è un messaggio speciale che viene inviato dal Master e viene ricevuto contemporaneamente da tutti gli slave Il Broadcast è un messaggio speciale che viene inviato dal Master e viene ricevuto contemporaneamente da tutti gli slave
 connessi. La funzionalitá broadcast (idcard = 0) è supportata solamente in modo master e se viene usato un messaggio connessi. La funzionalitá broadcast (idcard = 0) è supportata solamente in modo master e se viene usato un messaggio
Linea 341: Linea 341:
 messaggi. Non è possibile utilizzare il comando SENDSYC. messaggi. Non è possibile utilizzare il comando SENDSYC.
  
-=== - Identificazione degli Slave ===+==== - Identificazione degli Slave ====
 La scheda quando funziona in modalità Master permette, con un speciale comando, di riconoscere se lo slave collegato è La scheda quando funziona in modalità Master permette, con un speciale comando, di riconoscere se lo slave collegato è
 di tipo QEM. In caso affermativo determina anche il modello di slave connesso. Questo permette di realizzare una diagnostica di tipo QEM. In caso affermativo determina anche il modello di slave connesso. Questo permette di realizzare una diagnostica
Linea 421: Linea 421:
  
 === - Parametri - Modbus Master === === - Parametri - Modbus Master ===
-^ Nome         ^ D  ^ R  ^ A    ^ Condizioni  ^ Descrizione                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +^ Nome         ^ D  ^ R  ^ A    ^ Condizioni  ^ Descrizione                                                                                                                                                                                                           
-| mode         | B  | R  | R/W  | -           | **Mode**\\ (0 ÷ 2)\\ Definisce se la scheda deve funzionare come master o come slave.\\ **0** = master;\\ **1** = slave con area di scambio dati fissa;\\ **2** = slave senza area di scambio dati fissa: ad ogni scrittura o lettura eseguita dal master viene messi a 1 il flag st_msgrx.\\ Contemporaneamente i parametri //type//, //addr// e //num// indicano le caratteristiche del messaggio ricevuto.\\ - **Type** indica il tipo di funzione che vuole fare ill master (lettura o scrittura),\\ - **addr** indica l'indirizzo dell'inizio del blocco di dati scritti o letti,\\ - **num** indica il numero di dati letti o scritti (a bit o a byte a seconda del valore di type).\\ Il device controllerà, in ricezione, solamente num (size di messaggio) che non sia superiore a 32word ma non più l'indirizzo che può essere ora qualsiasi.\\ Se è una scrittura (lo si capisce dal valore di type se è 5,6,15,16) vengono riportati i dati nelle variabili di scambio input (sempre a partire dalla prima word) ed il device attende il comando RECEIVED.\\ Se è una lettura il device attende che il QCL depositi i dati nelle word variabili di scambio output ed attende il comando VALIDATE.  +| mode         | B  | R  | R/W  | -           | **Mode**\\ (0 ÷ 2)\\ Definisce se la scheda deve funzionare come master o come slave.\\ **0** = master.                                                                                                               
-| prot         | B  | R  | R/W  | -           | **Protocol**\\ (0 ÷ 1)\\ Definisce il tipo di protocollo Modbus da utilizzare.\\ **0** = ASCII,\\ **1** = RTU,\\ **2** = TCPIP                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 +| prot         | B  | R  | R/W  | -           | **Protocol**\\ (0 ÷ 1)\\ Definisce il tipo di protocollo Modbus da utilizzare.\\ **0** = ASCII,\\ **1** = RTU,\\ **2** = TCPIP                                                                                        
-| wider        | B  | R  | R/W  | -           | **Wide Registers**\\ (0 ÷ 1)\\ Indica se utilizzare l’estensione del protocollo per i registri a 32bit. Vedere capitolo “Estensione del protocollo” :\\ **0** = normale,\\ **1** = protocollo esteso.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +| wider        | B  | R  | R/W  | -           | **Wide Registers**\\ (0 ÷ 1)\\ Indica se utilizzare l’estensione del protocollo per i registri a 32bit. Vedere capitolo “Estensione del protocollo” :\\ **0** = normale,\\ **1** = protocollo esteso.                 
-| idcard       | W  | R  | R/W  | -           | **Identification Card**\\ (0 ÷ 255)\\ Nel funzionamento come master è il numero del dispositivo al quale s'intende trasmettere. Nel modo master è valida anche l’impostazione zero per il funzionamento broadcast.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             +| idcard       | W  | R  | R/W  | -           | **Identification Card**\\ (0 ÷ 255)\\ Nel funzionamento come master è il numero del dispositivo al quale s'intende trasmettere. Nel modo master è valida anche l’impostazione zero per il funzionamento broadcast.    
-| type         | B  | 1  | R/W  | -           | **Type**\\ Definisce il tipo di richiesta che il master deve eseguire.\\ Valori ammessi: 1, 2, 3, 4, 5, 6, 15, 16                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +| type         | B  | 1  | R/W  | -           | **Type**\\ Definisce il tipo di richiesta che il master deve eseguire.\\ Valori ammessi: 1, 2, 3, 4, 5, 6, 15, 16                                                                                                     
-| addr         | L  | 1  | R/W  | -           | **Address**\\ (1 ÷ 65535)\\ Definisce l’indirizzo utilizzato dal master per definire quale sia il dato da leggere o scrivere.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +| addr         | L  | 1  | R/W  | -           | **Address**\\ (1 ÷ 65535)\\ Definisce l’indirizzo utilizzato dal master per definire quale sia il dato da leggere o scrivere.                                                                                         
-| tabreg       | W  | 1  | R/W  | -           | **Destination**\\ (1 ÷ 512)\\ Definisce l’indirizzo nelle tabelle dei dati in cui scrivere il dato letto o in cui trovare il dato da scrivere.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 +| tabreg       | W  | 1  | R/W  | -           | **Destination**\\ (1 ÷ 512)\\ Definisce l’indirizzo nelle tabelle dei dati in cui scrivere il dato letto o in cui trovare il dato da scrivere.                                                                        
-| num          | W  | 1  | R/W  | -           | **Number**\\ (1 ÷ 512)\\ È il numero d'elementi da scrivere o leggere nella richiesta che compone il master.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   +| num          | W  | 1  | R/W  | -           | **Number**\\ (1 ÷ 512)\\ È il numero d'elementi da scrivere o leggere nella richiesta che compone il master.                                                                                                          
-| brate        | L  | R  | R/W  | -           | **Baud rate**\\ Baud rate della seriale.\\ Valori validi: 4800, 9600, 19200, 38400, 57600, 115200.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             +| brate        | L  | R  | R/W  | -           | **Baud rate**\\ Baud rate della seriale.\\ Valori validi: 4800, 9600, 19200, 38400, 57600, 115200.                                                                                                                    
-| stopb        | B  | R  | R/W  | -           | **Stop bit**\\ Valori validi: 1, 2.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +| stopb        | B  | R  | R/W  | -           | **Stop bit**\\ Valori validi: 1, 2.                                                                                                                                                                                   
-| par          | B  | R  | R/W  | -           | **Parity**\\ (0 ÷ 2)\\ **0** = none (nessuna),\\ **1** = odd (dispari),\\ **2** = even (pari).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 +| par          | B  | R  | R/W  | -           | **Parity**\\ (0 ÷ 2)\\ **0** = none (nessuna),\\ **1** = odd (dispari),\\ **2** = even (pari).                                                                                                                        
-| tout         | W  | R  | R/W  | -           | **Timeout**\\ (0 ÷ 9999 msec)\\ Per la modalitá master è il tempo massimo in cui lo slave deve rispondere.\\ Impostandolo a zero il Timeout è disabilitato.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +| tout         | W  | R  | R/W  | -           | **Timeout**\\ (0 ÷ 9999 msec)\\ Per la modalitá master è il tempo massimo in cui lo slave deve rispondere.\\ Impostandolo a zero il Timeout è disabilitato.                                                           
-| toutsyc      | W  | R  | R/W  | -           | **Time out synchronize**\\ (0 ÷ 9999 msec)\\ Utilizzato solamente per la modalitá master è il tempo massimo che puó trascorrere tra l’invio del comando SENDSYC e l’esecuzione del comando RECEIVED nello slave QEM.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           +| toutsyc      | W  | R  | R/W  | -           | **Time out synchronize**\\ (0 ÷ 9999 msec)\\ Utilizzato solamente per la modalitá master è il tempo massimo che puó trascorrere tra l’invio del comando SENDSYC e l’esecuzione del comando RECEIVED nello slave QEM.  
-| iword1÷32    | W  | 0  | R    | -           | **Input Word nr.** (1Input Long nr. (1÷16)32)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +| iword1÷32    | W  | 0  | R    | -           | **Input Word nr.** (1Input Long nr. (1÷16)32)                                                                                                                                                                         
-| st_ibit0÷15  | F  | 0  | R    | -           | **Input bit nel parametro iword1**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             +| st_ibit0÷15  | F  | 0  | R    | -           | **Input bit nel parametro iword1**                                                                                                                                                                                    
-| ilong1÷16    | L  | 0  | R    | -           | **Input Long nr.** (1÷16)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +| ilong1÷16    | L  | 0  | R    | -           | **Input Long nr.** (1÷16)                                                                                                                                                                                             
-| oword1÷32    | W  | 0  | R/W  | -           | **Output Word nr.** (1÷32)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     +| oword1÷32    | W  | 0  | R/W  | -           | **Output Word nr.** (1÷32)                                                                                                                                                                                            
-| st_obit0÷15  | F  | 0  | R/W  | -           | **Output bit nel parametro oword1**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +| st_obit0÷15  | F  | 0  | R/W  | -           | **Output bit nel parametro oword1**                                                                                                                                                                                   
-| olong1÷16    | L  | 0  | R/W  | -           | **Output Long nr.** (1÷16)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |+| olong1÷16    | L  | 0  | R/W  | -           | **Output Long nr.** (1÷16)                                                                                                                                                                                            | 
  
 Per configurare il numero della porta TCPIP è necessario andare a scrivere sui parametri //stopb// e //par//. Rispettivamente : Per configurare il numero della porta TCPIP è necessario andare a scrivere sui parametri //stopb// e //par//. Rispettivamente :
Linea 517: Linea 518:
  
 modbus.OPENCOM modbus.OPENCOM
-tm_opencom = 500                            ; waiting time to have a correct response +tm_opencom = 100                            ; waiting time to have a correct response 
-WAIT tm_opencom+WAIT (modbus.st_opencom OR timerOpencom)
 IF NOT modbus.st_opencom IF NOT modbus.st_opencom
     OpenComError = 1                        ; com not opened     OpenComError = 1                        ; com not opened
 ENDIF ENDIF
 </code> </code>
 +FIXME
 === - Aggiornamento dei parametri tipo owordNN === === - Aggiornamento dei parametri tipo owordNN ===
 Per aggiornare i parametri tipo owordNN il QCL deve scrivere i valori nei parametri quindi inviare il comando VALIDATE. Per aggiornare i parametri tipo owordNN il QCL deve scrivere i valori nei parametri quindi inviare il comando VALIDATE.
Linea 600: Linea 602:
  
 === - Parametri - Modbus Slave === === - Parametri - Modbus Slave ===
-^ Nome         ^ D  ^ R  ^ A    ^ Condizioni  ^ Descrizione                                                                                                                                                                                 +^ Nome         ^ D  ^ R  ^ A    ^ Condizioni  ^ Descrizione                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
-| mode         | B  | R  | R/W  | -           | **Mode**\\ Definisce se la scheda deve funzionare come master o come slave.\\ **0** = master,\\ **1** = slave.                                                                              +| mode         | B  | R  | R/W  | -           | **Mode**\\ (0 ÷ 2)\\ Definisce se la scheda deve funzionare come master o come slave.\\ **1** = slave con area di scambio dati fissa;\\ **2** = slave senza area di scambio dati fissa: ad ogni scrittura o lettura eseguita dal master viene messi a 1 il flag st_msgrx.\\ Contemporaneamente i parametri //type//, //addr// e //num// indicano le caratteristiche del messaggio ricevuto.\\ - **Type** indica il tipo di funzione che vuole fare ill master (lettura o scrittura),\\ - **addr** indica l'indirizzo dell'inizio del blocco di dati scritti o letti,\\ - **num** indica il numero di dati letti o scritti (a bit o a byte a seconda del valore di type).\\ Il device controllerà, in ricezione, solamente num (size di messaggio) che non sia superiore a 32word ma non più l'indirizzo che può essere ora qualsiasi.\\ Se è una scrittura (lo si capisce dal valore di type se è 5,6,15,16) vengono riportati i dati nelle variabili di scambio input (sempre a partire dalla prima word) ed il device attende il comando RECEIVED.\\ Se è una lettura il device attende che il QCL depositi i dati nelle word variabili di scambio output ed attende il comando VALIDATE.  
-| prot         | B  | R  | R/W  | -           | **Protocol**\\ Definisce il tipo di protocollo Modbus da utilizzare.\\ **0** = ASCII,\\ **1** = RTU.                                                                                        +| prot         | B  | R  | R/W  | -           | **Protocol**\\ Definisce il tipo di protocollo Modbus da utilizzare.\\ **0** = ASCII,\\ **1** = RTU,\\ **2** = TCPIP                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
-| wider        | B  | R  | R/W  | -           | **Wide Registers**\\ Indica se utilizzare l’estensione del protocollo per i registri a 32bit. Vedere capitolo “Estensione del protocollo”.\\ **0** = normale,\\ **1** = protocollo esteso.  +| wider        | B  | R  | R/W  | -           | **Wide Registers**\\ Indica se utilizzare l’estensione del protocollo per i registri a 32bit. Vedere capitolo “Estensione del protocollo”.\\ **0** = normale,\\ **1** = protocollo esteso.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
-| idcard       | W  | R  | R/W  | -           | **Identification Card**\\ ( 1 ÷ 255 per slave)\\ Nel funzionamento come slave è il numero che identifica l’apparecchio nella rete.                                                          +| idcard       | W  | R  | R/W  | -           | **Identification Card**\\ ( 1 ÷ 255 per slave)\\ Nel funzionamento come slave è il numero che identifica l’apparecchio nella rete.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
-| brate        | L  | R  | R/W  | -           | **Baud rate**\\ Baud rate della seriale.\\ Valori validi: 4800, 9600, 19200, 38400, 57600, 115200.                                                                                          +| brate        | L  | R  | R/W  | -           | **Baud rate**\\ Baud rate della seriale.\\ Valori validi: 4800, 9600, 19200, 38400, 57600, 115200.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
-| stopb        | B  | R  | R/W  | -           | **Stop bit**\\ Valori validi: 1, 2.                                                                                                                                                         +| stopb        | B  | R  | R/W  | -           | **Stop bit**\\ Valori validi: 1, 2.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
-| par          | B  | R  | R/W  | -           | **Parity**\\ (0 ÷ 2)\\ **0** = none,\\ **1** = even,\\ **2** = odd.                                                                                                                         +| par          | B  | R  | R/W  | -           | **Parity**\\ (0 ÷ 2)\\ **0** = none,\\ **1** = even,\\ **2** = odd.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
-| rdelay       | W  | R  | R/W  | -           | **Reply delay**\\ (0 ÷ 9999 msec)\\ E' il tempo di attesa prima di trasmettere la risposta.                                                                                                 +| rdelay       | W  | R  | R/W  | -           | **Reply delay**\\ (0 ÷ 9999 msec)\\ E' il tempo di attesa prima di trasmettere la risposta.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
-| iword1÷32    | W  | 0  | R    | -           | **Input Word nr.** (1Input Long nr. (1÷16)32)                                                                                                                                               +| iword1÷32    | W  | 0  | R    | -           | **Input Word nr.** (1Input Long nr. (1÷16)32)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
-| st_ibit0÷15  | F  | 0  | R    | -           | **Input bit nel parametro iword1**                                                                                                                                                          +| st_ibit0÷15  | F  | 0  | R    | -           | **Input bit nel parametro iword1**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
-| ilong1÷16    | L  | 0  | R    | -           | **Input Long nr.** (1÷16)                                                                                                                                                                   +| ilong1÷16    | L  | 0  | R    | -           | **Input Long nr.** (1÷16)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
-| oword1÷32    | W  | 0  | R/W  | -           | **Output Word nr.** (1÷32)                                                                                                                                                                  +| oword1÷32    | W  | 0  | R/W  | -           | **Output Word nr.** (1÷32)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
-| st_obit0÷15  | F  | 0  | R/W  | -           | **Output bit nel parametro oword1**                                                                                                                                                         +| st_obit0÷15  | F  | 0  | R/W  | -           | **Output bit nel parametro oword1**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
-| olong1÷16    | L  | 0  | R/W  | -           | **Output Long nr.** (1÷16)                                                                                                                                                                  |+| olong1÷16    | L  | 0  | R/W  | -           | **Output Long nr.** (1÷16)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | 
 + 
  
  
Linea 632: Linea 636:
 Il device esegue tutti i comandi ricevuti entro lo stesso tempo di campionamento iniziando da quello con la priorità maggiore.\\ Il device esegue tutti i comandi ricevuti entro lo stesso tempo di campionamento iniziando da quello con la priorità maggiore.\\
 Per esempio se il device riceve nello stesso tempo di campionamento i comandi CLOSECOM e OPENCOM, per primo esegue il comando OPENCOM e poi quello di CLOSECOM lasciando perciò la porta di comunicazione chiusa. Per esempio se il device riceve nello stesso tempo di campionamento i comandi CLOSECOM e OPENCOM, per primo esegue il comando OPENCOM e poi quello di CLOSECOM lasciando perciò la porta di comunicazione chiusa.
-^Nome^D^R^A^Condizioni^ Descrizione^ +^ Nome      ^ D  ^ R  ^ A  ^ Condizioni                                   ^ Descrizione                                                                                                                                                        
-|RECEIVED|-|-|-|st_msgrx = 1\\ mode = 1\\ st_opencom = 1|**Received**\\ Utilizzato solamente in modalitá slave. Indica che l’applicativo QCL ha processato le informazioni che il master ha inviato| +| RECEIVED  | -  | -  | -  | st_msgrx = 1\\ mode = 1, 2\\ st_opencom = 1  | **Received**\\ Utilizzato solamente in modalitá slave. Indica che l’applicativo QCL ha processato le informazioni che il master ha inviato                         
-|VALIDATE|-|-|-|mode = 1\\ st_opencom = 1|**Validate**\\ Indica che i parametri di scambio dati QCL diventano disponibili al master.| +| VALIDATE  | -  | -  | -  | mode = 1, 2\\ st_opencom = 1                 | **Validate**\\ Indica che i parametri di scambio dati QCL diventano disponibili al master.                                                                         
-|CLRWDATA|-|-|-|-|**Clear Warning Data**\\ Azzera la segnalazione del parametro wdata| +| CLRWDATA  | -  | -  | -  | -                                            | **Clear Warning Data**\\ Azzera la segnalazione del parametro wdata                                                                                                
-|CLRWCMD|-|-|-|-|**Clear Warning Command**\\ Azzera la segnalazione del parametro wcmd| +| CLRWCMD   | -  | -  | -  | -                                            | **Clear Warning Command**\\ Azzera la segnalazione del parametro wcmd                                                                                              
-|OPENCOM|-|-|-|st_opencom = 0|**Open Serial communication**\\ Apre la comunicazione seriale (il device quindi impegna la porta di comunicazione). Lo stato //st_opencom// diventa 1.| +| OPENCOM   | -  | -  | -  | st_opencom = 0                               | **Open Serial communication**\\ Apre la comunicazione seriale (il device quindi impegna la porta di comunicazione). Lo stato //st_opencom// diventa 1.             
-|CLOSECOM|-|-|-|-|**Close Serial communication**\\ Chiude la comunicazione seriale (il device quindi non impegna piú la porta di comunicazione). Lo stato //st_opencom// diventa 0.|+| CLOSECOM  | -  | -  | -  | -                                            | **Close Serial communication**\\ Chiude la comunicazione seriale (il device quindi non impegna piú la porta di comunicazione). Lo stato //st_opencom// diventa 0.  | 
  
  
Linea 660: Linea 665:
 solo una volta) come mostrato nel seguente esempio. solo una volta) come mostrato nel seguente esempio.
  
-==== Esempio: ====+==== Esempio: ====
  
 <code QCL> <code QCL>
-;------------------------------------------- +impostazione dei parametri di comunicazione 
-;Impostazione dei parametri di comunicazione +modbus.mode = 0 
-modbus:mode = 0 +modbus.brate = 38400 
-modbus:brate = 38400 +... 
-… +modbus.OPENCOM 
-… +WAIT modbus.st_opencom
-;------------------------------------------- +
-OPENCOM modbus +
-WAIT modbus:st_opencom+
  
-MAIN: +modbus.idcard = 8 
-     modbus:idcard = 8 +modbus.addr = 600 
-     modbus:addr = 600 +modbus.num = 6 
-     modbus:num = 6 +modbus.tabreg = 10 
-     modbus:tabreg = 10 +modbus.type = 3 
-     modbus:type = 3 +modbus.SEND 
-     SEND modbus +WAIT modbus.st_sended 
-     WAIT modbus:st_sended +IF (modbus.err) 
-     IF (modbus:err) +    CALL ErroreModbus 
-           CALL ErroreModbus +ENDIF
-     ENDIF +
-     WAIT 1 +
-     JUMP MAIN +
-END+
 </code> </code>
  
  
  • Ultima modifica: 2020/07/13 15:15