TCP/IP Verbindung Rockwell - Sensoren

trachanas

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

ich versuche eine Ethernet Kommunikation zwischen einen Rockwell Logix5571 controller mit einer 1756-EN2TR Ethernet/IP Karte und Temperatur Sensoren der Firma Rotronic mit einem Ethernet Port aufzubauen. Ich habe über die RSLinx Software einen neuen Treiber eingefügt mit der IP des Rechners, der IP der 1756-EN2TR Ethernet/IP Karte und die IPs der Sensoren. Sowohl die RSLogix als auch die RSNetworx Software erkennt nur den Rechner und die 1756-EN2TR Ethernet/IP Karte aber nicht die Sensoren.

Könnt ihr mich weiterhelfen?
 
Hallo,

schon mal versucht, die Sensoren "anzupingen" ? Ist der Hardwareaufbau auch richtig? Es gibt das Programm "RsNetWorx for Ethernet/IP". Schon mal über das Programm versucht. Braucht man eventuell ein eds-File?

Gruß

gd
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo georg_demmler,

danke für deine Antwort. Der Hardwareaufbau ist in ordnung und die Sensoren lassen sich problemlos anpingen. Wie ich bereits geschrieben habe versuchte ich eine "Ethernet/IP" Verbindung mit Hilfe vom Programm "RsNetWorx for Ethernet/IP" aufzubauen was nicht klappt weil die Sensoren das Applikationsprotokol wahrscheinlich nicht unterstützen. Nun versuche ich die Kommunikation über ein selbst geschriebenes Program aufzubauen. Dabei haben sich neue Fragen ergeben, die ich schon in dem Rockwell Forum gepostet habe:

"Indeed Rotronic does not advertise that they support the Rockwell Ethernet/IP application protocol. You can find information about the devices I use here: www.rotronic.de/productattachments/index/download?id=449I assume that the sensors do not support the Ethernet/IP application protocol and I started reading the documentation about the "open sockets" feature. I updated the firmware of the 1756-EN2TR Ethernet/IP card to version 5.028 and started programming the communication between one sensor and the controller using structured text and especially the MSG command (create socket -> open connection (TCP) -> write socket -> read socket), but new questions came up:

1. What my application has to do is to send a specific byte sequence (using TCP) to the sensors every e.g. 100ms and receive the answer (already working with a siemens PLC). Therefore, I created a periodic main task, where the "write socket" and "read socket" takes place. I put the "create socket" and "open connection" in the Power-Up handler after a "delete all sockets" because according to my understanding these actions have to be made once at the beginning and not periodically. I downloaded the project to the controller, set the mode to run and watched some variables using quick watch but nothing happens (everything is zero). Did I do something wrong?
2. In the message configuration of e.g. the "open connection" a instance number of the socket is needed. I didn't know what to put there so I just put a value (29120), but I am sure this is wrong. What I understand is that after creating a socket the MSG command returns this value, but I already need to input the value by hand in the message configuration. I don't get this. Can you help?"

Ich würde mich über jeden Hinweis von euch sehr freuen!

Viele Grüße,
IT
 
Hallo,

ich habe beide meine Fragen selbst beantworten können, habe aber eine Frage noch. Hier ist mein Beitrag vom Rockwell Forum:

"Hallo,


I just wanted to write that I answered both questions myself. All variables were zero because the program that was downloaded in the controller was empty. Now I found out how to download the project correctly. What the instance number of the socket concerns I update the "Instance" member of the MESSAGE tag with the value that is returned by the "create socket" action (MSG command).



I still have a question that I couldn't clarify: Where can I put a routine that runs only once (e.g. after power-up or after a transition from the "program mode" to the "run mode"? I think that the power-up handler is not the right place for such a routine."

Könnt ihr mir weiterhelfen?

Viele Grüße,
IT
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke!

Ich habe das Problem der Initialisierung anders gelöst: Ich habe einen EVENT gesteuerten Task erstellt und auf eine Variable getriggert die ich irgendwo im Code in diesen Klammern gesetzt habe: [:=]. Ich habe gelesen, dass wenn man die Variable so setzt wird sie bei jeder Initialisierung (bei Power-Up oder bei Programmodus -> Runmodus) auf 0 gesetzt. Und das ist der Fall.

Viele Grüße,
IT
 
Zurück
Oben