Modbus TCP String auslesen ?

gerdh

Level-2
Beiträge
103
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi !

Ich soll demnächste eine Mitsubishi SPS an unseren OPC Server bringen und das Ganze mit Modbus TCP auslesen.
Jetzt muessen da ausser Werten auch Daten abgefragt werden (zum Beispiel einen teilenummer => String)
Geht das überhaupt irgendwie ?

Gruss Gerd
 
Hi !

Ich soll demnächste eine Mitsubishi SPS an unseren OPC Server bringen und das Ganze mit Modbus TCP auslesen.
Jetzt muessen da ausser Werten auch Daten abgefragt werden (zum Beispiel einen teilenummer => String)
Geht das überhaupt irgendwie ?

Gruss Gerd
Überleg doch einmal kurz selber.
Was ist ein String denn? Auch nur eine Ansammlung von Bytes, die dann aber anders interpretiert werden.
Was geht hängt davon ab, was der Modbus Server zur Verfügung stellt. Er könnte die Daten verteilt auf mehrere Register zur Verfügung stellen, Du müsstest nach dem Auslesen das ganze dann nur noch in eine Variable vom Typ String kopieren. Da die Register je ein Wort lang sind müsstest Du aber auf die Byteorder achten, sonst kommt Blödsinn raus.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi ! Ja klar... mir gings um die generelle Funktion.. die SPS soll mit einem OPCserver ausgelesen werden (Softing) da ist das mit der Syntax etwas tricky... baer arrays geht anzugeben...

Gruss Gerd
 
In der Regel sind die Strings als Registerwerte abgelegt.
Ein Register = 16 Bit = 2 Byte = 2 ASCII Zeichen
Ein String muß also in der Regel eine gerade Anzahl an Zeichen haben: 2/4/6/...
Und dann liest Du halt die halbe Anzahl an Register: 1/2/3/...
Wie genau Mitsubishi nun die Strings speichert und über Modbus überträgt, dazu dann mal die Doku von Mitsubishi konsultieren.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hab ich jetzt einen Knoten im Kopf?
Geht es um OPC (und wenn ja welches?) oder um Modbus (TCP)?

Gruß
MFreiberger
Ich verstehe das so, daß er einen OPC-Server hat, der aber die Daten aus der Mitsubishi per Modbus ausliest - vermutlich in Ermangelung eines passenden Mitsubishi-Treibers.
 
Hi !

Nein Kein Knoten es geht um Modbus TCP.... ob aus der SPS generell auch Strings ausgelesen werden können...
Die Software (der OPC Server von Softing) ist nur das Werkezeug um per Modbus die Daten auszulesen..

Gruss Gerd
 
Aha. Das ist für mein Kopf etwas zu sperrig. Soll heißen ich verstehe es nicht richtig.

Ich habe mal bei Softing geguckt. Da gibt es für den OPC Server tatsächlich ein Modul um mit Modbus TCP - Geräten zu kommunizieren.

Also die Mitsubishi ist Client und Modbus TCP - Gerät? Aber wie kommen ein OPC-Gerät und ein Modbus-Gerät zusammen? Sind das nicht unterschiedliche Protokolle?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi !

Nenenee das geht schon... aktuelle habe ich einen Sensor von W&T per Modbus TCP mit dem Server angebunden..... jetzt gehts darum nicht nur Werte sondern auch Strings aus einer SPS rauszuholen. Die Ganze S7 Welt lässt sich mit dem Server auch anbinden (allderings nicht per Modbus :) )
Nein die Mitsubishi SPS ist der Server und der OPC Server ist der Client. Der wiederum stellt das "ausgelesene" wieder als OPC Server zur Verfügung.

Gruss Gerd
 
jetzt gehts darum nicht nur Werte sondern auch Strings aus einer SPS rauszuholen.
Das ist für mich zwar ungewöhnlich, Strings per Modbus auszulesen, doch Modbus kennt sowieso fast keine Datentypen und muss die in 16-Bit-Words (Register) kapseln. Üblicherweise kann man mit Modbus nicht wahlfrei im Speicher von SPS zugreifen, sondern nur in Speicherbereichen, die im Modbus Server dafür vorbereitet sind. Ob das Lesen von Strings geht und wie, das findet man im Handbuch der SPS. Wenn man hier den genauen Typ der SPS nicht geheimhält,sondern mitteilt, dann ist die Chance groß, dass irgendein Forum-User das relevante Handbuch kennt und verlinkt.
 
Hi !
Eben genau die SPS kenne ich (noch) nicht..... lt. Mitsubishi Support ist allerdings jede SPS welche eine Ethernet Schnittstelle hat Modbus fähig.
Ich wer mal versuchen den SPS Typ rauszufinden....

Gruss Gerd
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Nenenee das geht schon... aktuelle habe ich einen Sensor von W&T per Modbus TCP mit dem Server angebunden..... jetzt gehts darum nicht nur Werte sondern auch Strings aus einer SPS rauszuholen.
Interessant.

Die Ganze S7 Welt lässt sich mit dem Server auch anbinden (allderings nicht per Modbus :) )
Ja klar. Denn da haben wir OPC Server und Clients.

Nein die Mitsubishi SPS ist der Server
...ok...
und der OPC Server ist der Client.
😵‍💫

Der wiederum stellt das "ausgelesene" wieder als OPC Server zur Verfügung.
Ah, ok. Deswegen Server.
 
"Modbus fähig" heißt aber nicht automatisch, dass auch das Lesen von bestimmten Strings supportet wird.
Na ja, eine Steuerung liefert ja nicht wie ein "normaler" Modbus Server, z.B. ein Messgerät, nur bestimmte Werte, sondern man kann ja meist, soweit man Zugriff auf das SPS-Programm hat, selber festlegen was in welchen Registern steht. Und ein String ist ja auch "nur" eine Ansammlung von Bytes. Wenn man diese nun auf bestimmte Modbus Register legen kann sollte das relativ problemlos funktionieren. Man muss dabei halt immer ein paar Dinge beachten, wie z.B. die Byteorder.
 
Zuletzt bearbeitet:
Hallo,

ich würde mich gerne jetzt auch mal einbringen.

Also die SPS hat einen Modbus TCP Server welchen sie selber mit Werten "füttert" oder du in einem Programm händisch machen musst und somit du selber bestimmen kannst, wie der String abgelegt wird (UTF8/16, Big-/Little-E Dian)?

Der Softing OPC Server hat einen Modbus TCP Client welcher den String auslesen soll und per OPC Mode als UA_String bereitstellen soll? Dieser läuft auf einem Windows oder Linux PC?
Unterstützt der Softing Modbus TCP Client Strings?

Ich beschäftige mich beruflich als Softwareentwickler mit den open62541 Stack und schreibe Server- und Client-Anwendungen. Das selbe auch für Modbus TCP.

Muss es Softing sein oder geht auch was selbstgeschriebenes?

Muss eine Companion Specification eingehalten werden?
 
Zurück
Oben