Modbus Test Software

Archiworld

Level-1
Beiträge
7
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen,

gibt es ein Test Tool um ein Modbus TCP zu testen? Ich stehe nämlich vor der Herausforderung, dass ich aktuell von einem Modbus System Daten (16 Bit) lesen muss. Ich habe aber keine Ahnung wie ein Modbus funktioniert und würde da gerne mit einer Middleware diese Daten lesen lassen. Welche würdet ihr empfehlen?

Viele Grüße
 

 
Zuviel Werbung?
-> Hier kostenlos registrieren
Als Middleware um den Datenverkehr zwischen Master und Slave zu testen, kannst du Wireshark verwenden.
Dort gibt es, neben vielen mehr, auch einen Modbus-TCP-Filter zum dekodieren des Datenverkehrs.
Erfordert aber Einarbeitung.
 
Hallo Blockmove,
vielen Dank für deine Antwort.

meine middleware ist bekannt und angeblich kann diese Middleware eben zyklisch abfragen, ob sich dieser Datenstring verändert hat und das auslesen. Meine Intention ist genau diese, dass ich schauen will wie das mit dieser Middleware funktioniert und ob es funktioniert.
Ich bräuchte eine Software, die genau diesen Modbus TCP mit den 16 Bit String emuliert. Ich habe jetzt im Netz einiges gefunden, aber sicher bin ich mir bei den meisten nicht so ganz. Daher die Frage hier, ob es eine anerkannte Software aus diesem Forum gibt.
 
Ich bräuchte eine Software, die genau diesen Modbus TCP mit den 16 Bit String emuliert.

Was ist denn ein 16Bit-String?
16Bit = 2 Byte ... So ein String kann also schon mal nicht viel Informationen enthalten.
Je nach Codierung kann das sogar ein leerer String sein.
Oder meinst du einen String, der 16 mal das ASCII-Zeichen '1' oder '0'?

Da du den Client simulieren willst, kannst du dir auch mal
https://sourceforge.net/projects/pymodslave/
anschauen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
gibt es ein Test Tool um ein Modbus TCP zu testen? Ich stehe nämlich vor der Herausforderung, dass ich aktuell von einem Modbus System Daten (16 Bit) lesen muss.
Was für ein "Modbus System" ist das denn?
Es gibt kostenlose Modbus Test Clients, einen ganz einfachen z.B. von Janitza das Tool Modbus Diagnose - für meine Testzwecke hat das immer ausgereicht.

Was ist denn ein 16Bit-String?
Ich vermute, er meint tatsächlich einen 16 Bit Bitstring = WORD = ein Modbus-Register, was 16 (Status-)Bits enthält.
 
Vielen Dank für die Hilfe und euren Feedback. Tatsächlich ist es der 16Bitstirng (WORD). Leider sagt mir das alles so wenig und dieses Schlagwort WORD fällt tatsächlich häufig. Ich kann mir leider nichts darunter vorstellen, aber meine Aufgabe ist es genau diesen String zu lesen. Vielen Dank für die Tool Beispiele. Ich probiere es jetzt einiges durch und probiere einiges durch!
 
Solche Simulationen kann man sich außer um grundlegend zu prüfen ob eine Verbindung zustande kommt fast sparen, weil bei Modbus fast nichts festgelegt ist, außer den Funktionscodes und dass die kleinste Einheit 1 Word ist. Alles andere wie Bit/Byte-Reihenfolgen, und selbst ob bei 0 oder bei 1 mit der Registernummerierung begonnen wird, macht meiner Erfahrung nach jeder so wie er Lust hat, ohne irgend etwas zu dokumentieren. Manchmal findet man noch Angaben zu Verhaltensweisen zu irgendwelchen 50 Jahre alten Modicon Steuerungen, von denen vermutlich niemand weiß die die sich denn mal verhalten haben. Wenn man sich in Wireshark ansieht was da auf den Netzwerk abgeht was absolut primitiv ist, wundert man sich wie man so etwas so verfummeln kann.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Vielen Dank @Thomas_v2.1 für dein Feedback. Da ich das erste mal mit einem Modbus Schnittstelle zu tun habe und in diesem Fall sogar so, das ich daraus lesen muss, war mir wichtig herauszufinden wie es geht. wir nutzen da meist eine Middleware in unserem Haus, das angeblich auch lesen kann. ich muss es aber gerne mal probieren und schauen. Was am ende da drin steht und wie das zu hand haben ist, ist mir in erster linie egal. Ich will den Weg kennen und den Rest macht sowieso jemand anderes :)
 
Da ich das erste mal mit einem Modbus Schnittstelle zu tun habe und in diesem Fall sogar so, das ich daraus lesen muss, war mir wichtig herauszufinden wie es geht. wir nutzen da meist eine Middleware in unserem Haus, das angeblich auch lesen kann.
"Dass man daraus lesen muß" ist eigentlich die häufigste Aufgabe bei Modbus-Kommunikation, so daß es für diese Standard-Aufgabe für ziemlich jede SPS fertige Anwenderbausteine/Bibliotheken gibt, und man selten was eigenes auf Low-Level-Protokollebene entwickeln muß.
Vielleicht verrätst Du uns endlich mal, was für eine SPS Du hast, und aus was für einem System (ModbusTCP Server) Du Daten lesen (und schreiben?) musst. Wenn Du uns diese Angaben vorenthältst, dann macht es uns unnötig schwer, Dir konkrete Hinweise zu geben und vielleicht sogar Beispiellösungen zu zeigen.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
"Dass man daraus lesen muß" ist eigentlich die häufigste Aufgabe bei Modbus-Kommunikation, so daß es für diese Standard-Aufgabe für ziemlich jede SPS fertige Anwenderbausteine/Bibliotheken gibt, und man selten was eigenes auf Low-Level-Protokollebene entwickeln muß.
Vielleicht verrätst Du uns endlich mal, was für eine SPS Du hast, und aus was für einem System (ModbusTCP Server) Du Daten lesen (und schreiben?) musst. Wenn Du uns diese Angaben vorenthältst, dann macht es uns unnötig schwer, Dir konkrete Hinweise zu geben und vielleicht sogar Beispiellösungen zu zeigen.

Harald

Das ist leider gottes auch mir absolut unbekannt, welche SPS das ist. Es handelt sich nicht um ein Siemens S7 sondern um etwas anderes.
Zum Hintergrund:
Es handelt sich dabei um eine Fördertechnik die keine Palettenverfolgung hat. Jedes dieser 16 Bit stellt ein Endpunkt eines Fördertechniksegmentes dar. Steht da eine Palette schaltet ein Bit um auf 1. Darin ist auch die Kontur mit verschlüsselt. Der nächste Bit nebendran stellt die Kontur dar. Also eine 11 an einer bestimmten Stelle bedeutet, palette da und Konturfehler. Mehr informationen habe ich nicht. Es heißt bloß, das wir eine Modbus Schnittstelle habe. Mehr nicht, keine Dokumentation nichts. Es schickt nichts, es muss gelesen werden. Ich versuche lokal ein Prototypen zu bauen um ein wenig Erfahrung zu sammeln wie ich das in unserem WMS system abbilden kann.

EDIT: Diese Informationen wie die sie hier stehen kamen fast 1:1 auch an mich.
 
Das ist leider gottes auch mir absolut unbekannt, welche SPS das ist.
Welche SPS Du programmieren sollst, ist Dir aber bekannt? Weil die Kommunikations-(Standard-)Bausteine brauchst Du für Deine SPS und nicht für den Kommunikationspartner. Als Info über den Partner reicht es aus, wenn die von ihm bereitgestellten Daten/Register und ggf. Steuerregister dokumentiert sind und ob da irgendwelche Sonderlocken bei der Modbus-Abfrage einzuhalten sind.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Sorry deine Angaben sind widersprüchlich.
Du schreibst:
Jedes dieser 16 Bit stellt ein Endpunkt eines Fördertechniksegmentes dar
Soweit ok.
Aber:
Der nächste Bit nebendran stellt die Kontur dar. Also eine 11 an einer bestimmten Stelle bedeutet, palette da und Konturfehler
Das passt so nicht zusammen.
Entweder ist das 2. Bit der Endpunkt des 2. Segments oder Konturfehler des 1. Segments.
 
Welche SPS Du programmieren sollst, ist Dir aber bekannt? Weil die Kommunikations-(Standard-)Bausteine brauchst Du für Deine SPS und nicht für den Kommunikationspartner. Als Info über den Partner reicht es aus, wenn die von ihm bereitgestellten Daten/Register und ggf. Steuerregister dokumentiert sind und ob da irgendwelche Sonderlocken bei der Modbus-Abfrage einzuhalten sind.

Harald
Ich entwickle die SPS nicht. Die Fördertechnik mit der SPS wird bereit gestellt. Meine Aufgabe ist es diese 16BIT-Stream irgendwie auszulesen und eben auf die Werte zu reagieren. Da der Lieferant keine Simulation bereitstellt habe ich hier nachgefragt ob es einen gibt der meinen Bedürfnissen gerecht ist. Ich versuche auch ein Prototypen zu bauen mit der Software dich ich heruntergalden habe. (Modbus Simulator)


In einem Bool einen Status zu codieren ist ja normal. Eine Kontour darin zu verschlüsseln ist dann die hohe Schule der Modulation.
Tatsächlich ist es so, das der Wert 1 in dem Fall heißen soll, Konturfehler. Welcher Fehler im Endeffekt sitzt ist mir nicht bekannt.


Sorry deine Angaben sind widersprüchlich.
Du schreibst:

Soweit ok.
Aber:

Das passt so nicht zusammen.
Entweder ist das 2. Bit der Endpunkt des 2. Segments oder Konturfehler des 1. Segments.
Wie du richtig erkannt hast, das 2. Bit ist die Kontur des ersten Segmentes. insgesammt haben wir 6 Endpunkte und 4 aufnahme punkte die quasi behandelt werden in dem ich eben auf kapazitäten prüfen muss. Aber das würde zu viel ins detail gehen


Wie stellt man 11 in einem Bit dar? Oder redest du von einem binären Status?
das ist Binär gewesen und nicht die Zahl elf.
 
Zurück
Oben