TIA IP Relais mittels UDP ansteuern

Byte0815

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

ich versuche ein IP Relais der Firma Rutenbeck mit einer 1214C per UDP anzusteuern.

Allerdings habe ich noch nicht mit UDP gearbeitet. Ich habe mal bei Siemens geschaut und eine Bibliothek gefunden für die Open User Kommunikation per UDP
1765531502511.png
Jedoch muss ich an das Relais nur 1 Befehl schicken, jetzt weiß ich nicht so recht wie.
Laut Anleitung müsste der Befehl folgendermaßen lauten
1765532649116.png
Es soll im Endeffekt nur der Ausgang 1 an und ausgeschalten werden können.
 
Wenn du die Befehler per UDP schicken möchtest, musst du dem Baustein an udpConnPram mitteilen, welche IP-Adresse und Port dein Relais verwendet. Auch die Sendelänge des Telegramms musst du schauen, was das Relais erwartet.

Im Handbuch ist vermutlich auch beschrieben, du die Befehle übertragen musst. Auf die Schnelle sieht es so aus, als ob du in dem UDP-Telegramm z.B. "OUT1 1" senden musst, um den Ausgang 1 einzuschalten. Vermutlich als Character?, zum Format sollte das Handbuch aufschluss gegen können.

Dafür musst du den Inhalt des Send-Data Eingangs Variabel gestalten (bzw. zuerst nach deinen Anforderungen definieren) um verschiedene Ausgänge Ein-/Auszuschalten.
 
Hab gerade nochmal geschut es sollte eigentlich ja auch mittels T_Send_C gehen. Dort kann ich ja auch Daten per UDP senden oder ?
 
Der obige Baustein ruft intern auch nur den T_Send auf, die Deklaration der Verbindungsparameter sowie des Sendefachs musst du bei beidem übernehmen.

Macht keinen Unterschied welchen Baustein du verwendest. Wenn in der Anleitung kein Datentyp angegeben ist, würde ich es fix ausprobieren. So viele Möglichkeiten gibt es ja auch nicht, die 6 Zeichen als Text in einer SPS darzustellen ;) Ich würde im ersten Schritt Character probieren, ansonsten einen String und den String-Inhalt übertragen und schauen was passiert.

Bei dem Gerät wirst du vermutlich auch noch Einstellungen vornehmen müssen (wenn nicht schon geschehen), IP-Adresse und UDP-Port würde ich im ersten Schritt mal vermuten. Du könntest dann erstmal mit einer PC-Software schauen wie genau der Inhalt des Telegramms aufgebaut sein muss (z.B. mit Packet Sender oder ähnlichen) UDP Telegramme schicken, bis du weißt wie der Inhalt aufgebaut sein muss und dann das in der SPS übernehmen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Normalerweise übergibt man dem Baustein an "sendData" ein array of char. Das muss mindestens so lang sein wie dein string den du senden möchtest.

Mit der anweisung Strg_To_Chars kannst du den string zum array of char umwandeln:

Code:
Strg_TO_Chars(Strg := STRING#'OUT1 1',
              pChars := 0,
              Cnt => #temp_sendLen,
              Chars := "Daten".sendData);

Den "temp_sendLen" und den "sendData" übergibst du dann deinen sendebaustein.
 
Zurück
Oben