Mit TwinCat Daten auslesen von S7-300

Modbus?

Ich habe mal mit einem Wago Koppler 841 eine Verbindung über Modbus aufgebaut. Wie weit TwinCat jetzt Modbus kann weiss ich nicht. Aber eine S7 mit entsprechendem CP sollte das können.
 
Zuletzt bearbeitet:
Inat

Es gibt von INAT ein Softwaretool "TwinCAT PLC Communicator".
Mit diesem Softwaretool kann man problemlos Daten von S5 und S7 Steuerungen auslesen.:D
 
Zuerst ein Protokoll ausdenken:

Z.B.

1) TwinCat sendet eine Art Registernummer mit einem angehängten "R" für Lesen und einem 0x0a an die S7. Die S7 antwortet mit Registernummer/Leerzeichen/Inhalt/0x0a an Twincat. Das alles natürlich im Ascii-Format, damit es sich leicht per Terminalprogramm debuggen lässt. Das Zeilenendezeichen ist günstig, weil die Bibliotheken in der Regel dieses automatisch als Zeilenende interpretieren und man muss nicht selbst die Zeilenlogik bauen.
Von Twincat: <Reg><R/W> [Wert im Falle des Schreibens]<Zeilenende>
Von S7: <Reg> <Wert><Zeilenende>

2) Oder folgendes etwas freieres Format wählen:
Von Twincat: <Kommando> <Wert><Zeilenende>
Von S7: <Kommando> <Antwort><Zeilenende>

Ein Nullmodemkabel zwischen den SPSen anschliessen und fertig. Das sollte für eine einfache Kommunikation ausreichend sein. Bei 9600Baud braucht ein Zeichen etwa 0.1ms. Da auch eine ModBus- oder Profibuskommunikation ein Protokoll erfordert, unterscheiden diese sich nur in der Geschwindigkeit.
 
Zuletzt bearbeitet:
Gut zu wissen dass so etwas auch möglich ist. Bei meiner Anwendung hab ich allerdings dass Problem dass sie Steuerungen in verschiedenen Hallen sind. Da kann ich kein Nullmodem Kabel ziehen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Dann kannst du auch RS485 nehmen. Wenn du ein geschirmtes Kabel wie ein Profibuskabel verlegst (Erde an beiden Seiten), hast du dieselbe Funktionalität.

Ansonsten kann man das auch mit TCP/IP machen. Die TwinCat-TCP/IP-Server Lib ermöglich ein äquivalentes Protokoll, wie das über RS232. Wie das auf der Siemensseite aussieht, kann ich allerdings nicht sagen, sollte eigentlich nicht das Problem sein. Dann ist die Siemens-SPS der Server und Twincat der Client. Mit telnet kann man die Kommunikation einfach testen! Das ganze könnte man auch dann über WLAN-koppeln und Richtantennen koppeln, aber Kabel gefallen mir besser.
 
Ein Raw-Protokoll funktioniert auch über Ethernet mit TCP oder UDP von beiden SPSen aus ;-)

Das einfachere währe das Fetch/Write Protokoll in TwinCat zu implementieren dann musst auf Siemens Seite
nur bissl was konfigurieren und kannst auf E/A und DB's bis Adresse 255 zugreifen. Steht am Ende des CP Handbuchs.

Noch einfacher währe über TwinCAT ADS und libnodave, dann muss aber ein extra Prog laufen.
 
Zuletzt bearbeitet:
Zurück
Oben