Austausch von Daten zwischen zwei ILC Steuerungen

Portisch

Level-1
Beiträge
149
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich habe eine ILC 150 ETH und ILC 155 ETH im gleichen Netzwerk.
Was ist nun die leichteste Methode Daten zwischen diesen beiden Steuerungen auszutauschen?

Über die oscat Modbus Server/Client Bausteine oder geht das einfacher über einen HTTP-GET ähnlich dem Request wie er mit der "ILRReadValues.exe" gemacht wird?
 
Was für Daten denn? Einzelne oder tausende Datenpunkte? Oder CSV- (oder ganz andere) Dateien?
Welche Programmierumgebung benutzt Du?

Gruß

Rainer
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Nicht um viel Daten, Einen REAL und einen BOOL - fürs erste.
Beide Steuerungen werden per PC WorX programmiert.
Das Problem ist, dass die SPS die die Daten zur Verfügung stellt schon auf ~70% CPU Last läuft und ich nicht mehr viel reinpacken kann.
Das ganze muss auch nicht zu schnell sein - ein Update alle 5 Sekunden reicht eigentlich.
 
Hallo ,
ich benutze dazu aus der Standartbibliothek von PCWorx die Bausteine IP_Connect , IP_Usend und IP_Urcv . Diese Bausteine haben auch eine gute Beschreibung , damit hab ich das sogar zum laufen gebracht ;) . Die Geschwindigkeit sollte auch reichen , bei mir werden 40 Bytes übertragen in beiden Richtungen und die ganze Sache läuft im 50ms Task .
Gruß Geralf
 
Also wenn es professionel sein soll, würde ich es mit der Modbus-Lib von Phoenix (nicht Oscat) machen. Ansonsten mit den IP Bausteinen wie Ralf schon gesagt hat, würde dann aber UDP nehmen.

Über unsere HTTP-Request Methode würde ich es nicht machen, das schluck zuviel vom Programm.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Portisch,

wie Geralf würde ich ebenfalls die IP FW Funktionsbausteine nutzen um zwischen 2 ILC Steuerungen zu Kommunizieren. Die IP FB können als TCP/IP , UDP oder IEC 61131-5 genutzt werden, wobei die IEC 61131-5 Kommunikation nur zwischen 2 Phoenix Steuerungen Funktioniert. Bei der IEC 61131-5 Kommunikation ist es möglich bis zu 32kByte zu Senden/Empfangen und man muss in den ersten beiden byte keine längen Angabe vorgeben. Somit einfach auf beiden Steuerungen eine identische Struktur anlegen.
Wichtig bei allen drei Protokollen, es sollten immer alle IP FB Instanziiert werden(IP Connect,IP RECV, IP USEND)

Modbus TCP ist ebenfalls eine Alternative die genutzt werden kann und basiert ebenfalls auf TCP/IP oder UDP. Eine Aktuelle Bibliothek kannst Du dir auf unserer Homepage herunter laden.
Link
https://www.phoenixcontact.com/onli...ff65becb/19da74bb-7f89-4c8e-9911-f903ff65becb

Gruß Uwe
 
Hallo
das ist am 20.07. 2017 hier schon mal beschrieben worden.
(2xILC 131 miteinander verbinden.)
Siehe Beispielcode
 
Habe es nun mit der oscat "NET_VAR" gelöst. So ensteht eine Bidirektionale Verbindung zwischen 2 SPS'n - geht ohne Probleme.
 
Zurück
Oben