Modbus-Slave Simulator gesucht

Beiträge
6.714
Reaktionspunkte
1.626
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich habe vermutlich nicht gründlich genug gesucht, aber bei Tante Google habe ich nicht so wirklich etwas gefunden.
Ich bin hier einem Fehler auf der Spur und zwar friert mir in TC3 eine Task ein. Wenn ich mich richtig erinnere ist das aufgetreten, wenn das SPS-Programm Daten von Modbus Mastern abgerufen hatte. Leider habe ich hier im Moment keine Master und würde das gerne simulieren.
Folgendes soll erfolgen. In Windows lege ich 8 IPs für eine Netzwerkkarte an, dann sollen 8 Instanzen vom Simulator laufen, die jeweils Daten aus drei Registergruppen (Holding-Register) zur Verfügung stellen sollen. Die Frage wäre auch, ob ich in Windows einer Netzwerkkarte mehrere IPs des selben Subnetzes zuweisen kann. Ein Ping liefert nämlich bei dem Versuch einen Fehler.
Hat hier jemand eine Idee?
 
Viel zu einfach, wenn man die korrekten Termini benutzt 🥳.
Gefühlt ists zumindest der KI egal - die vermischt immer Wahrheit mit allem anderen.
 
Ist das nicht letzten Endes das Selbe?
Laut Wikipedia ist Master/Slave die alte und Client/Server die neue Bezeichnung.
Ganz so einfach ist das nicht. Dass jetzt die Bezeichnungen Client/Server verwendet werden sollen, ist nur so ein Political-correctness-Ding unabhängig von der tatsächlichen technischen Funktion.
Modbus Org Presseerklärung vom 9.7.2020: Modbus Organization Replaces Master-Slave with Client-Server (pdf)

Haltet mich für arrogant oder ewig gestrig, doch ich meine, die technisch korrekten Bezeichnungen sollten lauten:
• Modbus/RTU: Master und Slaves (oder Servant oder Valet oder ein anderes politisch und ggf. gender-gerechtes Wort für Slave)
• Modbus/TCP: Client und Server

So bezeichnet es auch Siemens bei Modbus. Und in Profibus z.B. werden so neumodische Umbenennungen auch nicht eingeführt. (höchstens vielleicht wenn DT das verlangt ;) )

Bei Modbus/RTU auf Serialbus (z.B. RS485) muss ein Bus-Master vorhanden sein, der die Zugriffe auf den Bus organisiert und alle anderen Busteilnehmer dürfen nur antworten, wenn sie explizit aufgefordert wurden - daher die historische Bezeichnung "Slave". Sind mehrere Master am Bus vorhanden, dann müssen die ihre Kommunikation koordinieren (z.B. mit Token). Slaves kommunizieren in der Regel nur mit einem Master bzw. müssen sich nicht merken, von welchem Master sie beauftragt wurden.

Bei Modbus/TCP können Server ihre Dienste mehreren Clients gleichzeitig anbieten. Die Clients müssen ihre Anfragen nicht miteinander koordinieren.
 
Ganz so einfach ist das nicht. Dass jetzt die Bezeichnungen Client/Server verwendet werden sollen, ist nur so ein Political-correctness-Ding unabhängig von der tatsächlichen technischen Funktion.
Ich kenne diese Idioten. Sie sind gerade dabei, die OpenSource-Szene zu zerstören und sind sehr erfolgreich dabei, da BigTech behilflich ist (IBM/Redhat usw.). In diesem speziellen Fall sind die neuen Bezeichnungen sogar besser, auch wenn die Intention eine andere ist.

Das Verwirrende bei Mobbus ist der Unterschied zwischen Master und Slave.

Ein Slave ist vereinfacht gesagt ein TCP-Server, der bei Port 502 auf Verbindungen wartet.
Der Modbus-Master ist der TCP-Client, der zum Slave eine TCP-Verbindung aufbaut.

Für einfache Tests nutze ich pymodbus. Da werden auch die Termini Server und Client verwendet.

PS: ModRSim2 gefällt mir.
 
Das Verwirrende bei Mobbus ist der Unterschied zwischen Master und Slave.

Ein Slave ist vereinfacht gesagt ein TCP-Server, der bei Port 502 auf Verbindungen wartet.
Der Modbus-Master ist der TCP-Client, der zum Slave eine TCP-Verbindung aufbaut.
Das ist doch grundsätzlich aber doch bei allen Client/Server Systemen so. Der Server liefert die Daten die angefragt werden, somit ist er im gewissen Rahmen der Slave und der Client befiehlt, und ist somit der Master.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das Verwirrende bei Mobbus ist der Unterschied zwischen Master und Slave.

Ein Slave ist vereinfacht gesagt ein TCP-Server, der bei Port 502 auf Verbindungen wartet.
Der Modbus-Master ist der TCP-Client, der zum Slave eine TCP-Verbindung aufbaut.
Wie bereits geschrieben, halte ich bei Modbus/TCP die Termini Client und Server für korrekt. Nur bei Modbus/RTU sind in meinen Augen die Termini Master und Slave passender.
 
Wie bereits geschrieben, halte ich bei Modbus/TCP die Termini Client und Server für korrekt. Nur bei Modbus/RTU sind in meinen Augen die Termini Master und Slave passender.
Das stimmt wohl. Schön wäre es aber, wenn sich eine einheitliche Bezeichnung durchsetzen würde. Wenn ich das richtig gesehen habe wird bei Profinet weder von Master/Slave noch von Client/Server gesprochen/geschrieben, sondern von Controller und Device.
 
Zurück
Oben