Startseite > Forum > Schnittstellenwandler > Modbus TCP / RTU-Gateway in Multidrop-Verbindung
Stichwort: MODBUS-BIBLIOTHEK eLLabMdbDevsLib
- Dieses Thema hat 6 Antworten, 2 Teilnehmer und wurde zuletzt aktualisiert 3 Jahren da Sergio Bertana.
-
AutorPost
-
Februar 24, 2021 bei 2: 27 pm #59150MarcelloPartecipante
Ich muss einige Geräte in Multidrop-Verbindung an ein Modbus TCP / Modbus RTU-Gateway anschließen. Welchen Konverter kann ich verwenden?
Februar 24, 2021 bei 2: 40 pm #59152Sergio BertanaAdministrator des ForumsMit allen ATC Modbus-Gateways können Sie mehrere Geräte (bis zu 485) verwalten, die in Multidrop am RS32-Port angeschlossen sind (für die Verbindung muss ein verdrilltes Kabel verwendet werden). Durch Herstellen einer Verbindung zum Konverter in TCP ist es möglich, Modbus-Befehle zu senden, die die Knotennummer angeben, an die der Befehl gesendet werden soll.
Das Modbus RTU-Paket mit der Knotennummer wird an die serielle RS232- oder RS485-Schnittstelle gesendet, und nur das adressierte Gerät antwortet. Das empfangene Modbus RTU-Paket wird in Modbus TCP konvertiert und als Antwort gesendet.
ATC-1300: Es kann nur als Server betrieben werden.
ATC-3002: Es verfügt über eine umfassende Konfigurierbarkeit und ermöglicht die Konfiguration als Server oder Client.
Februar 24, 2021 bei 4: 13 pm #59153MarcelloPartecipanteNa danke, Problem gelöst.
März 28, 2021 bei 11: 50 am #59368StefanoPartecipanteIch hänge an diesen Beitrag für eine ähnliche Anwendung. An einem RS485-Bus mit MODBUS RTU-Protokoll sind ungefähr zwanzig Energiezähler angeschlossen. Ich muss ein TCP / RTU-Gateway an den Bus anschließen, um die Register aus dem Netzwerk lesen zu können.
Dann werde ich eine virtuelle Maschine haben, auf der MES-Software ausgeführt wird, die regelmäßig die Zähler abfragt, um den Energieverbrauch zu ermitteln. Auf einer anderen virtuellen Maschine liest eine Überwachungssoftware die verschiedenen Daten in Bezug auf Momentanspannungen / -ströme / -leistungen.
Da ich die Abrufzeiten gut überprüfen muss, um den Bus nicht zu überlasten, kann es vorkommen, dass die beiden Softwareprogramme fast gleichzeitig eine Anfrage stellen, sodass das Gateway in der Lage sein muss, die Anfragen in die Warteschlange zu stellen oder den Fall auf jeden Fall zu verwalten.
Was könnte das am besten geeignete Produkt sein?
März 28, 2021 bei 11: 58 am #59382Sergio BertanaAdministrator des ForumsLesen Sie die Dokumentation des Modbus TCP-Gateways zu RTU / ASCII ATC-3002 Es sieht so aus, als ob es die Modbus-Anforderungswarteschlange verarbeiten kann, und sollte daher das Problem für Sie lösen. Ich persönlich habe nie versucht, mehr als eine Verbindung gleichzeitig zu verwalten.
Für unsere Systeme SlimLine Wir haben die FB entwickelt ModbusTCPGateway Hiermit können Sie mehrere Verbindungen gleichzeitig verwalten. Nachdem wir es entwickelt haben, wissen wir genau, wie es funktioniert. Wenn es in der Praxis eine Modbus-TCP-Anforderung empfängt, wandelt es es in eine RTU um und leitet es an die serielle Schnittstelle weiter, wobei es auf die Antwort wartet, die an den TCP-Client umgeleitet wird.
Wenn mehrere Kunden gleichzeitig Anfragen stellen, ist es natürlich erforderlich, dass diejenigen, die später ankommen, mit einer unvermeidlichen Verlängerung der Zeiten auf den Abschluss der vorherigen Anfrage warten.
Aber es zu sein SlimLine Programmierbar können Sie auch alle Geräte in RTU zyklisch abfragen, indem Sie die Daten in die Systemregister stellen, die über Modbus TCP abgefragt werden (das System akzeptiert mehrere gleichzeitige Modbus TCP-Verbindungen). In diesem Fall haben Sie keine Verzögerungszeiten. Darüber hinaus können Sie durch Verwalten der Daten aus dem Programm beliebige Swaps durchführen, um die Endianität der 32-Bit-Variablen anzupassen.
April 20, 2021 bei 7: 54 #59648[E-Mail geschützt]PartecipanteIch habe auch eine Lovato-Energiezähler-Leseanwendung, die in RS485 in Kaskade geschaltet ist. Ich muss eine Anwendung erstellen, die mir zyklisch die verschiedenen Geräte in Modbus von meiner SPS liest.
Ich habe einen MPS054B110 und wie in den Beispielen auf der Site gezeigt, habe ich versucht, die eLLabMdbDevsLib-Bibliothek einzuschließen, die letzte, die von der Site heruntergeladen wurde, um die MODBUS-Funktionen zu verwenden. Leider erhalte ich beim Starten der Kompilierung nur mit der enthaltenen Bibliothek und ohne Befehlszeile oder Aufruf der FBs immer den folgenden Kompilierungsfehler:
ModbusMaster_v1.File – error A4108: eFILEP => Base object not found.
Irgendwelche Vorschläge?
April 20, 2021 bei 8: 03 #59655Sergio BertanaAdministrator des ForumsDie neuen Bibliotheken wurden alle für die neue Architektur konvertiert XUnified (Siehe Artikel), wahrscheinlich deins SlimLine hat noch eine Firmware-Version XTarget. Sie haben jetzt zwei Möglichkeiten:
1) Nehmen Sie die Bibliothek auch in Ihr Projekt auf eLLabXTargetAdjLib.
2) Führen Sie ein System-Upgrade durch und konvertieren Sie es in ein System XUnified (Siehe Artikel).Ich empfehle auf jeden Fall die zweite Lösung, mit der Sie das System aktualisieren können, damit es mit allen neuen Bibliotheksversionen kompatibel ist.
Ich füge einen Tipp hinzu, um die verschiedenen Zähler zu erhalten, die Sie mit dem FB verwenden können ACModbus, Array-Befehl Modbus, der sich auf eine einzelne Instanz des FB stützt ModbusMaster_v1 Es ermöglicht die automatische Abfolge der verschiedenen Erfassungen.
-
AutorPost
- Sie müssen angemeldet sein, um auf dieses Thema antworten zu können.