Auslesen von Datenpunkten einer Saia-SPS mittels Wago-SPS

L

Luk-11

Guest
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe eine Saia-SPS1 gegeben, die von einer Saia-SPS2 Datenpunkte mittels Saia-eigenem Kommunikationsprotokoll ausliest. Nun möchte ich diese Datenpunkte aus der SPS1 mit einer Wago-SPS über Modbus auslesen.

Ich selbst werde die Saia-SPS nicht anrühren, weil ich mich mit Saia überhaupt nicht auskenne. Ich muss nun aber verstehen, welche Einstellungen in der SPS1 vorgenommen werden müssen, damit meine Wago die Datenpunkte auslesen kann. Ich verwende eine Wago PFC 750-8212/025-001. Laut Handbuch haben lesende Register die Modbus-Adressen 1000 bis 1999. Diese Register werden über %QW1000 bis %QW1999 referenziert. Mit Function Code 23 (Read Multiple Register) kann ich meine Wago also dazu bewegen Datenpunkte aus einem Slave zu lesen und in diesen Adressen zu speichern.

Nach Möglichkeit würde ich gerne mehr als 1000 Datenpunkte auslesen. Wenn ich das Handbuch richtig verstehe, kann ich dazu auch Adressen aus dem Merkerbereich von 12288 bis 65535 verwenden. Ich ziehe daraus den Schluss: In der SPS1 muss ein Mapping von Saia-Adressen auf Modbus-Adressen erfolgen. Letztere müssen im Wertebereich 12288 bis 65535 liegen. Wenn das der Fall ist, kann meine Wago diese Datenpunkte auslesen.

Macht das Sinn, was ich hier schreibe?
 
ich habe heute versucht die Datenpunkte aus der Saia-SPS auszulesen. Das hat leider gar nicht funktioniert.

Das Auslesen einer Wago-SPS funktioniert allerdings einwandfrei. Die Variablen, die meine Wago-SPS auslesen soll, habe ich in CoDeSys 2.3 als Netzwerk-Variablen angelegt. D.h. die Variablen habe ich im Modbus-Master Konfigurator angelegt und den entsprechenden Code über "Code Generieren" erzeugt. Ich nehme an, dass diese Option nur dann besteht, wenn mein Slave auch eine Wago-SPS ist.

Deshalb würde ich jetzt gerne das Programm für die Modbus-Kommunikation selbst erstellen. Hat hier jemand Erfahrung damit? Zum Beispiel in FUP. Gibt es Beispiele dazu?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,


was hast Du nur immer für Projekte!?


Schon mal versucht beim Chef um eine Schulung zu bitten? https://www.wago.com/de/seminare


Trial and Error ist zwar auch sehr lehrreich, heutzutage aber für Deinen Chef nicht mehr bezahlbar. Dafür sind die ganzen Systeme und Software zu umfangreich.


Jetzt aber zu Deiner Frage. Du scheinst da etwas durcheinader gekommen zu sein. Zunächst mußt Du einmal festlegen welche Steuerung die Daten abfragen und welche sie bereitstellen soll.


Szenario 1 - Saia1 stellt dieDaten bereit, Wago soll sie abfragen:
Dann muß die Saia1 als Server/Slave konfiguriert werden und stellt die abzufragenden Adressen bereit.
Die Wago muß als Client/Master über den Modbus Konfigurator konfiguriert werden und die vom Saia1 Programmierer festgelegten Adressen abfragen/beschreiben


Szenario 2 - Saia1 sendet die Daten, Wago empfängt sie:
Dann muß die Saia1 als Client/Master konfiguriert werden und fragt die von Dir vorgegeben Adressen ab bzw. beschreibt sie.
Die Wago muß als Server/Slave konfiguriert sein. Das ist sie schon von Haus aus. Du mußt nur Deine Variablen entsprechend konfigurieren. Das kannst Du entweder über den Konfigurator in der Steuerungskonfiguration machen oder über eine globale Variablenliste. Wenn Du dort die Variablen für die Merkervariablen ab Merkerwort MW0 definierst können Sie über die Adressen 12288... von der Saia1 genutzt werden. Siehe dazu auch im Wago Forum den aktuellen Thread zum Modbus Konfigurator. Dort hat holgermaik schon einiges dazu geschrieben. Dort wird auch auf eine Exceltabelle verwiesen. DIe ist ganz hilfreich.


Also erst einmal festlegen welche Steuerung welche Aufgabe übernimmt, dann sehen wir weiter.


Gruß
 
Hi Thruser,

ja ich habe über eine Schulung nachgedacht. Wir werden sehen, ob das möglich ist.

Für mich gilt das Szenario 1. Die Saia dürfte bereits als Slave konfiguriert sein. Modbusadressen, die ich probeweise auslesen könnte, liegen beispielsweise in dem Adressbereich 0 bis 10000.

Die Wago-SPS habe ich als Modbus-Master konfiguriert, indem ich in den Modbus-Master Konfigurator alle Variablen eingetragen habe, die ich gerne aus der Saia auslesen möchte:
snip1.jpg

Den Code habe ich dann automatisch generiert. Das ganze funktioniert einwandfrei, wenn ich es an einer zweiten Wago teste. Aber das Auslesen der Saia-Daten war so leider nicht erfolgreich.
 
Hallo,

Du versuchst also lesend auf die Adressen 1000, 1002 und 1004 in der Saia zuzugreifen.

Versuch mal bitte mit Modbus Poll oder qmodmaster (meine Empfehlung liegt beim letzteren) vom PC aus darauf zuzugreifen. Zunächst einmal nur auf die einzelnen Adressen, also FC3 Adresse 1000 Länge 1 Word. Wenn das funktioniert dann mal mit einer Länge von 5 Wörtern um die Daten von 1000 bis 1004 in einem Rutsch zu bekommen.

Teste erst einmal so, dann sehen wir uns den Rest an.

Gruß
 
Zurück
Oben