TIA MODBUS Siemens 1512SP-1 PN und CM PtP RS485 Kommunikation zu Schrittmotortreiber

Zuviel Werbung?
-> Hier kostenlos registrieren
Aha, also z.B. für ankommende und weitergehende RS485-Bus-Leitungen. Dann ist die Anschlusstabelle falsch oder zumindest irreführend.
1 und 9 sowie 2 und 10 dürften intern miteinander verbunden sein. Sind ja zwei getrennte RJ Ports (ich habe das öfter bei Geräten wo dann einfach mit Ethernetkabeln weitergepatcht wird)
das stimmt vermutlich schon. Ich denke da ist ist am ModComLoad noch nicht alles nach der Handbuchdefinition belegt bzw im entsprechenden Instanzbaustein eingetragen.
@MoritzNawrot überprüfe die Parameter des ModComLoad nochmal ob die mit dem Handbuch übereinstimmen. Zeig uns die Parameter mal in der Beobachtungstabelle online.
dasselbe mit dem Master auch in der Beobachtungstabelle online.
PS: Und natürlich die Parameter der Seriellen Schnittstelle die du eingestellt hast (standard scheint ja 38400.8.n.1 zu sein)
 
Zuletzt bearbeitet:
So wie ich das verstanden habe bekommt man den Modbus_Comm_Load Baustein nicht mehr auf Status 0, dass war nur bei den alten Bausteinen MB_Comm_Load der Fall. Des weiteren bleibt auch der DONE nicht mehr durchgehen true. Das war zumindest das was ich dazu gefunden habe. Vielleicht liege ich auch Falsch.

Du liegst falsch:

1723039930132.png

Ein Beispiel aus einem aktuellen Projekt. Allerdings musst Du Deine Auswertung ändern. Nur wenn DONE oder ERROR true ist, darfst Du den Status wegschreiben. Das gilt aber für die meisten azyklischen Bausteine.

Also:
1. Stimmt die Verdrahtung ?
2. Stimmen die Modbus-Parameter?
3. Funktioniert Modbus CommLoad mit Status 0?

Dann kannst Du an den Master ran.
 
Modbus_Comm_Load_DB:
1723095220678.png1723095256629.png1723095315887.png1723095371735.png1723095395844.png1723095415622.png

Modbus_Master_DB:
1723095571052.png1723095606795.png1723095776611.png
1723095811346.png
Die restlichen Bilder schicke ich im zweiten Beitrag.

Du liegst falsch:

Anhang anzeigen 80315

Ein Beispiel aus einem aktuellen Projekt. Allerdings musst Du Deine Auswertung ändern. Nur wenn DONE oder ERROR true ist, darfst Du den Status wegschreiben. Das gilt aber für die meisten azyklischen Bausteine.

Also:
1. Stimmt die Verdrahtung ?
2. Stimmen die Modbus-Parameter?
3. Funktioniert Modbus CommLoad mit Status 0?

Dann kannst Du an den Master ran.
Bei der Verdrahtung habe ich die verschiedensten Varianten ausprobiert. Der Modbus Comm Load geht kurzzeitig auf Done und danach wieder in den Leerlauf siehe:
Hallo,

ich habe das jetzt so Umgesetzt und es scheint als würde der Comm_Load richtig funktionieren. Jedoch kommt weiterhin der Fehler (Abwechselnd 7001, 7002 und 81E2) beim Modbus_Master. Das CM PtP sitz nicht in einer dezentralen Steuerung. Auch die HW Kennung sollte stimmen.

Anhang anzeigen 80296Anhang anzeigen 80297Anhang anzeigen 80298

Anhang anzeigen 80300

Anhang anzeigen 80302

Noch weitere Ideen?
Wie kann ich es Umsetzen, dass der Status dann erst weggeschrieben wird? Da dies ja der Baustein selbst macht.
 
Zuletzt bearbeitet:
Nein leider nicht, kannst du mir ein Tool empfehlen? Es gibt zwar von dem Hersteller ein Programm, dieses funktioniert jedoch nur mit RS232, wofür ich leider keine Schnittstelle habe.
 
Ich nutze die Tools von hier.
Modbustools
ModbusPoll um den Zugriff auf Geräte zu testen.
ModbusSlave um meine SPS zu testen die oft ja als Client funktioniert.
Dazu brauchst du für Serielle Geräte natürlich einen Seriellen Anschluss oder einen SerialServer wie Nport.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
bitte den Status-Ausgang nur dann wegschreiben, wenn Error oder DONE = true ist.
Allerdings musst Du Deine Auswertung ändern. Nur wenn DONE oder ERROR true ist, darfst Du den Status wegschreiben. Das gilt aber für die meisten azyklischen Bausteine.
Wie kann ich es Umsetzen, dass der Status dann erst weggeschrieben wird? Da dies ja der Baustein selbst macht.
so
Code:
                                                               +----------+
"Modbus_Comm_Load_DB".DONE                                     |   MOVE   |
------------| |--------------+---------------------------------|EN     ENO|-
                             |                                 |          |
"Modbus_Comm_Load_DB".ERROR  |   "Modbus_Comm_Load_DB".STATUS--|IN     OUT|-"DBxyz".MBLOAD_STATUS_DONE
------------| |--------------+                                 +----------+
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das CM habe ich ja schon, würde das Gateaway über TCP die Kommunikation bzw. die Ansteuerung vereinfachen?

1723109951265.png
Ist das so korrekt? Entschuldigung für die einfachen Fragen.
 
Zuletzt bearbeitet:
würde das Gateaway über TCP die Kommunikation bzw. die Ansteuerung vereinfachen?
Ja, du brauchst Modbus_Comm_Load und Modbus_Master nicht mehr, sondern nimmst nur MB_CLIENT (Code funktioniert dann auch mit S7-1200). Und könntest auch noch mit weiteren Geräten parallel mit dem Modbus Gerät (DM556RS) kommunizieren (z.B. Modbus-Register/Variablen lesen).
 
Das CM habe ich ja schon, würde das Gateaway über TCP die Kommunikation bzw. die Ansteuerung vereinfachen?
Ist dasselbe in Grün. Du musst halt trotzdem eine Kommunikation aufbauen und verstehen, halt mit anderen Bausteinen.
Der Serialserver von @PN/DP ist aber schon sehr sehr günstig. Ich nutze oft die NPorts von Moxa für sowas bleibt sich aber ähnlich.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Aber der Code würde auch mit einer 1512-1PN funktionieren? Später habe ich 18 Treiber welche ich "zeitgleich" ansteuern möchte.
Ich denke, wenn ich die Kommunikation einmal erfolgreich eingerichtet habe, wird der Rest hoffentlich funktionieren.
 
Aber der Code würde auch mit einer 1512-1PN funktionieren? Später habe ich 18 Treiber welche ich "zeitgleich" ansteuern möchte.
Ich denke, wenn ich die Kommunikation einmal erfolgreich eingerichtet habe, wird der Rest hoffentlich funktionieren.
Habt ihr dafür denn schonmal ein Konzept erstellt? Modbus RTU ist für sowas halt recht langsam. Definiere auch mal "zeitgleich". Ist schon ein unterschied ob du damit Solarpanele ausrichten willst oder einen 18 achsigen Kampfroboter steuern.
 
Zu 35. Bitte nimm den Statusausgang oben am Baustein weg! Sonst beschreibst Du das Statuswort ja doch permanent.
Dann einmal den REQ aus und wieder ein. Dann siehst Du erst, was passiert.
 
Zurück
Oben