Vai al contenuto

Nuovo blocco funzione per Gateway Modbus TCP/RTU

Home Forum Programmazione IEC 61131 (LogicLab) Nuovo blocco funzione per Gateway Modbus TCP/RTU

Stai visualizzando 8 post - dal 1 a 8 (di 8 totali)
  • Autore
    Post
  • #35689
    Sergio Bertana
    Amministratore del forum

    Molte volte succede di dover connettere a programmi SCADA dispositivi Modbus seriali utilizzando come connessione una rete ethernet. Siccome lo SCADA nel momento in cui si seleziona come mezzo di comunicazione la porta ethernet, utilizzano automaticamente il protocollo Modbus TCP. A questo punto per connettere dispositivi seriali Modbus RTU o Ascii via ethernet occorre utilizzare un Gateway Modbus TCP/RTU, esistono sul mercato prodotti stand-alone, vedi quelli da noi distribuiti nella gamma dei convertitori Ethernet-Seriale. Ma se ad un Gateway desidero connettere in rete RS485 più dispositivi, occorre che il Gateway gestisca il passaggio dell’indirizzo di nodo (Topic).Visto il costo paragonabile ad un Gateway commerciale del nostro modulo CPU SlimLine, abbiamo realizzato il blocco funzione ModbusTCPGateway (Estratto manuale). Posto un semplice programma che permette di utilizzare un modulo CPU Compact come Gateway Modbus TCP to Modbus RTU (Stampa programma, Progetto sorgente).

    #38587
    Mauro
    Partecipante

    Devo installare qualche software nel PC tipo virtual serial port o simili se si quale.
    Questo blocco mi torna utile per fare dei test e tentare di leggere dei registri in modbus (spero).

    #38588
    Sergio Bertana
    Amministratore del forum

    Il blocco funzione agisce da gateway tra una connessione Modbus su TCP/IP ed una connessione Modbus RTU. Quindi si presuppone che il dispositivo master Modbus sia esso uno SCADA, un terminale operatore od altro, apra una connessione TCP/IP verso lo SlimLine che agisce da gateway e quindi non serve un virtual COM.

    Ma non capisco cosa vuoi dire quando vuoi fare dei tests, se devi interfacciarti da SlimLine con dispositivi Modbus RTU puoi utilizzare direttamente l’FB ModbusMaster, usa il cerca in alto e vedrai che trovi un sacco di informazioni. In questo topic trovi anche informazioni su programmi per il test del Modbus da PC.

    #38600
    Mauro
    Partecipante

    Per fare dei test intendevo collegarmi alla scheda Modbus di un PLC Crouzet crouzet e provare a leggerne i registri per capire come li devo configurare nel blocco master.

    #38601
    Sergio Bertana
    Amministratore del forum

    Proseguo con  la risposta alla domanda in questo topic in cui abbiamo trattato l’argomento connessione con PLC Crouzet.

    #39978
    Anonimo
    Inattivo

    Stò provando su uno slimline MPS054A100 l’esempio con il ModbusGateway per interrogare e settare una temperatura e un set point da un termoregolatore ASCOM X3. I valori andranno letti  da una postazione HMI siemens Tia Portal v14 tramite Modbus/TCP porta 502 (ho creato il collegamento, la diagnostica dice che è tutto ok, ma le due variabili con indirizzo 40001 e 40002 non sono disponibili). Sull’Ascom ho impostato la comunicazione come Mbus, velocità 9600 e Addr.1. Sullo Slimline da http://ip/System/HwSetup.htm: Serial port “COM2”: 9600  DTR On:  0 DTR Off. Non riesco a capire come procedere per accedere ai due valori dell’Ascom. Potete darmi gentilmente qualche dritta?

    #39979
    Sergio Bertana
    Amministratore del forum

    E’ passato un pò di tempo dal primo post nel frattempo è uscito un nuovo target XTarget_12.0 ed alcune cose sono state migliorate, ora sono disponibili il FB SysTCPServer per gestire la connessione TCP in modo server ed il FB SysSerialPort per gestire la porta seriale, ho quindi ripreso il vecchio progetto modificandolo ed ho pensato di realizzarlo in FBD anzichè in ladder ecco il risultato. Qui poi scaricare il programma sorgente.

    Ma veniamo alla tua domanda, intanto il programma è un gateway di comunicazione, cioè permette il passaggio dei dati da una connessione TCP verso una connessione seriale e nel passaggio il FB ModbusTCPGateway esegue la conversione dal protocollo Modbus TCP al protocollo Modbus RTU e viceversa.

    Se vedi la porta in ascolto sul server TCP è la 1000 (La porta 502 è quella gestita di default dallo SlimLine con il Modbus TCP), quindi devi nel TIA portal impostare la porta 1000 altrimenti dialoghi con il protocollo Modbus dello SlimLine ed intereoghi i suoi registri interni e non quelli del termoregolatore.

    Per quanto riguarda l’indirizzo delle variabili 40001 e 40002 sono indirizzi di variabili dello SlimLine ma tu devi riferirti agli indirizzi delle variabili del termoregolatore.

    #44107
    Sergio Bertana
    Amministratore del forum

    Rilasciata una una versione del FB che opera da gateway tra Modbus TCP e RTU, il FB ModbusTCPGateway_v1 sostituisce il precedente. Tra le sue nuove funzionalità c’è la possibilità di gestire connessioni multiple in TCP/IP. Quindi è possibile avere più connessioni Modbus TCP che vengono tutte indirizzate verso una unica connessione Modbus RTU, ecco l’estratto del manuale.

    Allego il progetto ModbusTCPGateway che accetta fino a 3 connessioni Modbus TCP sulla porta 1000 e le converte in Modbus RTU su porta COM0 (Download).

Stai visualizzando 8 post - dal 1 a 8 (di 8 totali)
  • Devi essere connesso per rispondere a questo topic.