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/15 15:20] – [5.2.1. Parametri per formattare il messaggio:] qem207software:devices:modbus [2015/09/15 15:46] – [5.5.3. Identificazione degli Slave] qem207
Linea 263: Linea 263:
  
 1) Impostazioni modbus e apertura del canale di comunicazione di tipo seriale 1) Impostazioni modbus e apertura del canale di comunicazione di tipo seriale
-modbus.mode = 0 +<code QCL> 
-modbus.prot = 1 +modbus.mode = 0                             ; modbus master 
-modbus.brate = 57600 +modbus.prot = 1                             ; RTU 
-modbus.stopb = 1 +modbus.brate = 57600                        ; baudrate 
-modbus.par = 0 +modbus.stopb = 1                            ; stop bits 
-modbus.tout = 100+modbus.par = 0                              ; parity 
 +modbus.tout = 100                           ; timeout 
 +tm_opencom = 2000                           ; timeout for OPENCOM command
 modbus.OPENCOM modbus.OPENCOM
 +WAIT modbus.st_opencom OR tm_opencom
 +IF NOT modbus.st_opencom
 +    OpenComError = 1                        ; com not opened
 +ENDIF
 +</code>
 +
 +2) Impostazioni modbus e apertura del canale di comunicazione di tipo TCPIP
 +<code QCL>
 +modbus.mode = 0                             ; modbus master
 +modbus.prot = 2                             ; TCPIP
 +
 +tcpip_port= 502                             ; number of tcpip port (default 502)
 +modbus.brate = &HFFFFFFFF
 +modbus.stopb = tcpip_port / &H00000100
 +modbus.par   = tcpip_port ANDB &H000000FF
 +
 +modbus.tout = 100                           ; timeout
 +tm_opencom = 500                            ; waiting time to have a correct response
 +modbus.OPENCOM
 +WAIT tm_opencom
 +IF NOT modbus.st_opencom
 +    OpenComError = 1                        ; com not opened
 +ENDIF
 +</code>
  
 3) Lettura del registro input nr.7 dello slave id 67 3) Lettura del registro input nr.7 dello slave id 67
Linea 305: 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|}}
Linea 322: Linea 347:
 perché il protocollo non prevede una modalità standard di riconoscimento slave.\\ perché il protocollo non prevede una modalità standard di riconoscimento slave.\\
 Il comando READSTYPE eseguito dopo aver opportunamente selezionato lo slave (tramite parametro idcard) invia allo Il comando READSTYPE eseguito dopo aver opportunamente selezionato lo slave (tramite parametro idcard) invia allo
-slave una richiesta modbus nr.17 per il riconoscimento. Lo slave risponderà con un suo valore predefinito e potrà essere +slave una richiesta modbus nr.17 per il riconoscimento. Lo slave risponderà con un suo valore definito dal parametro stype nello slave e potrà essere 
-letto nel parametro stype. Nel caso lo slave non sia prodotto da QEM srl, il parametro avrà valore –1 ad indicare che lo+letto nel parametro stype del master. Nel caso lo slave non sia prodotto da QEM srl, il parametro avrà valore –1 ad indicare che lo
 slave è connesso ma non è possibile identificarlo.\\ slave è connesso ma non è possibile identificarlo.\\
 Per il device MODBUS lo slave ID è diverso a seconda dello slave QEM utilizzato. Per una codifica degli slave in questo Per il device MODBUS lo slave ID è diverso a seconda dello slave QEM utilizzato. Per una codifica degli slave in questo
Linea 330: Linea 355:
 Esempio d'identificazione dello slave nr.12: Esempio d'identificazione dello slave nr.12:
 <code QCL> <code QCL>
-CONFIG: +modbus:idcard = 12 
-     modbus:idcard = 12 +modbus.READSTYPE 
-     READSTYPE modbus +WAIT modbus.st_sended 
-     WAIT modbus:st_sended +IF (modbus.err) 
-     IF (modbus:err) +    sbConfig = 3             ; errore slave 12 non connesso 
-           sbConfig = 3             ; errore slave 12 non connesso +ELSE 
-     ELSE +    IF (modbus.stype EQ 1)   ; Scheda CAM-AG-98 
-           IF (modbus:stype EQ 1)   ;Scheda CAM-AG-98 +        sbConfig = 1         ; configurazione OK 
-                 sbConfig = 1       ; configurazione OK +    ELSE 
-           ELSE +        sbConfig = 2         ; errore nella configurazione rete 
-                 sbConfig = 2       ; errore nella configurazione rete +    ENDIF
-           ENDIF+
 ENDIF ENDIF
 </code> </code>
- 
 ==== - Estensione del protocollo ==== ==== - Estensione del protocollo ====
  
  • Ultima modifica: 2020/07/13 15:15