Utilizzo terminali MT6000 con protocollo Modbus slave
Home › Forum › Terminali operatore (Weintek) › Utilizzo terminali MT6000 con protocollo Modbus slave
- Questo topic ha 4 risposte, 3 partecipanti ed è stato aggiornato l'ultima volta 13 anni, 4 mesi fa da
Sergio Bertana.
-
AutorePost
-
Ottobre 15, 2009 alle 1:40 pm #34805
Anonimo
InattivoDovrei utilizzare un pannello touch della serie MT6000 e collegarlo ad un sistema che dispone del protocollo modbus master, come posso configurare il pannello per operare in modalità modbus slave.
Ottobre 15, 2009 alle 1:47 pm #36343Sergio Bertana
Amministratore del forumAprendo il progetto Easy builder mel menù Edit -> Parametri di sistema nel tab Dispositivo aggiungere un nuovo dispositivo locale, e, come tipo di PLC selezionare Modbus Server, definendo il tipo di interfaccia ed il numero di stazione.
In questa configurazione il pannello risponderà ai comandi modbus eseguendo la scrittura e la lettura dei proprii registri interni. Tutti gli oggetti grafici posti nelle schermate del terminale potrannno fare riferimento ai registri interni del terminale e tramite il protocollo modbus il sistema master potrà leggerne/scriverne il valore.
Bit
Per accedere a variabili bit utilizzare i comandi modbus 0x/1x con range 1~9999 che corrisponderanno ai registri LB del terminale nel range 0~9998.Word
Per accedere a variabili word utilizzare i comandi modbus 3x/4x con range 1~9999 che corrisponderanno ai registri LW del terminale nel range 0~9998.In aggiunta è possibile utilizzare i comandi modbus 3x/4x con range 10000~65536 che corrisponderanno ai registri RW del terminale nel range 0~55536.
Consiglio di consultare l’Help del programma Easy builder seguendo la voce di sommario PLC connection guide. Per comodità allego stralcio della pagina che riporta le informazioni sul modbus server, Download.
Dicembre 19, 2011 alle 8:42 am #37075Emiliano
Partecipante1) Utilizzo 4 pannelli operatore MT6050i in configurazione Modbus slave, i pannelli sono connessi con un PC utilizzando una connessione in RS485 a 4 fili, che tipo di connessione devo utilizzare ?
2) Siccome devo definire un indirizzo di nodo modbus diverso per ogni pannello, per realizzare un unico programma da trasferire su tutti i 4 pannelli, come posso settare l’indirizzo del pannello da una pagina del pannello stesso ?
3) E’ possibile utilizzare la “Simulazione On Line” del programma, e come ?
4) Utilizzando il pannello in ModBus Ascii server, quali sono i tempi di risposta ?
Dicembre 19, 2011 alle 8:55 am #37076Sergio Bertana
Amministratore del forumPer la connessione in multidrop tra il PC ed i pannelli puoi utilizzare lato PC un semplice convertitore USB/Seriale, abbiamo modelli che prevedono oltre alla interfaccia RS232 anche i morsetti per connettere linee RS422/485 sia a 2 che 4 fili. Visto che la comunicazione Modbus è di tipo half-duplex consiglio di utilizzare una connessione multidrop a 2 fili, comunque se proprio vuoi realizzare una connessione a 4 fili ecco come devi realizzarla.
PC Pannello 1 Pannello 2 …
(Tx-) — (Rx-) — (Rx-)
(Tx+) — (Rx+) — (Rx+)
(Rx-) — (Tx-) — (Tx-)
(Rx+) — (Tx+) — (Tx+)Per settare l’indirizzo Modbus del terminale, devi utilizzare la variabile LW-9541 (16bit): MODBUS/ASCII server station no. Se in una finestra del terminale inserisci un oggetto Numeric input, potrai visualizzare/modificare l’indirizzo di nodo. La variabile alla accensione assume il valore definito nelle impostazioni del protocollo (Vedi screenshot), quindi se vuoi mantenere il valore impostato dalla finestra terminale, dovrai impostare tramite Numeric Input l’indirizzo in una variabile ritentiva (Esempio RW 10, vedi post) e poi tramite una macro eseguita alla accensione copiare il valore nella LB-9541. Ecco quello che dovrai inserire nella macro:
char Node //Indirizo di nodo
GetData(Node, “Local HMI”, RW, 10, 1)
SetData(Node, “Local HMI”, LW, 9541, 1)Per eseguire la macro alla accensione (StartUp del terminale), occorre definire nei System Parameters Settings di eseguire la macro al Power On (Vedi screenshot).
Per quanto riguarda la simulazione OnLine, tramite EasyBuilder dovrai configurare la porta COM per la comunicazione del terminale (Impostandola come RS232), e per testare la comunicazione dovrai usare un’altra porta COM. Per inviare le stringhe Modbus Ascii puoi usare qualsiasi emulatore di terminale (Esempio il nostro Toolly).
I tempi di risposta del terminale alle interrogazioni Modbus dipendono dalla complessità della grafica che il terminale deve gestire come visualizzazione, ma sono sicuramente quantizzabili in centinaia di millisecondi.
Dicembre 19, 2011 alle 10:56 am #37077Sergio Bertana
Amministratore del forumAllego per il download un semplice programma EasyBuilder che permette di gestire una connessione Modbus Slave ed ha la possibilità di impostare da terminale l’indirizzo di nodo con la relativa macro di copia allo startup. E’ presente anche un oggetto Numeric Input che permette di Visualizzare/Impostare la variabile LW 10 a 32 bit.
Per leggere il valore della variabile dovremo inviare da Toolly la stringa modbus di lettura Read holding registers di 2 registri a 16 bit che ipotizzando indirizzo di nodo 1 sarà :0103000A0002F0$0D$0A, ipotizzando che la variabile LW 10 contenga valore 900000 (0x15F90) verrà ritornata la stringa :0103045F90000108$0D$0A. Come si nota viene ritornato prima il registro LSB e poi quello MSB.
Per scrivere il valore 500000 (0x7A120) nella variabile, dovremo inviare il comando Preset Multiple Registers scrivendo due registri a 16 bit, la stringa sarà :0110000A000204A120000717$0D$0A, e riceveremo come risposta la stringa :0110000A0002E3$0D$0A.
-
AutorePost
- Devi essere connesso per rispondere a questo topic.