# UDP Kommunikation zwischen SPS und PC



## Korpos (23 November 2021)

Hallo zusammen,

ich möchte ein UDP Telegramm von meinem PC (WIN10) auf meine SPS senden um meinen Programm Code zu testen. Dafür wollte ich (netcat)ncat nutzen und habe damit zum ersten mal zu tun. Vielleicht kann mir jemand weiter Helfen.

1 Frage: Kann mir jemand sagen was ich hier Falsch mache ? Um die Programm Datei zu starten wollte ich zunächst in denn Ziel Ordner wechseln. Wie in einem Tutorial beschrieben. Der Ordner NetCat ist mein Installationpfad






2. Da ersten nicht funktioniert hat, habe ich folgendes probiert aber wieder eine Fehlermeldung bekommen.


Bei der zweiten Eingabe spring er einfach eins Tiefer und macht nichts mehr.
Ich dachte erst es liegt vielleicht an der Firerwall deshalb habe ich diese deaktiviert, hat aber nichts gebracht.

Meine SPS hat folgende IP 196.168.188.9 und Nutzen wollte ich den Port 2000.

Später wollte ich meine SPS damit beschäftigen  "nc -u 192.168.188.9 2000 < /dev/random"
Aber ich komme ja leider nicht soweit.




Vielen Dank schon mal.


----------



## Korpos (23 November 2021)

3. Frage Wenn ich über zenmap einen Scan durchführe(da ich es mit der Konsole nicht gebacken bekomme) müsste dann mein Port 2000 aufgelistet sein, mit open ? Vielleicht weiß das ja jemand.


----------



## escride1 (23 November 2021)

Mit der zweiten Zeile hast Du nun eine Verbindung aufgebaut (vielleicht) und nun wird gewartet was da so kommt.
Die Zeile
ncat -u IP Port
öffnet lediglich eine Verbindung. Kannst also dann chatten wenn die Gegenseite das akzeptiert bzw. sie im Wartemodus (Listener) ist.

Im Normalfall nutzt man bei ncat zusätzlich den Parameter -w <time> um einen Timeout zu bekommen falls die Verbindung nicht mehr steht, ist hier aber weniger das Problem.

An den ersten Zeilen erkennt man das Du so gar keine Ahnung hast was da passiert. Das Tutorial wäre vielleicht hilfreich gewesen oder zumindest die ncat-Version. Das Original hatte früher keine so große Installation nötig, und vor allem - warum installierst Du in User\Dokumente und nicht Programme?

Die Verbindungsinformation vom TCON ist nett, aber nur wenig hilfreich. Die Netzwerkansicht sowie der zugehörige Datenbaustein helfen etwas mehr.

Zenmap "muss" nicht den Port 2000 mit auflisten. Die CPU verwirft in der Regel ungültige Anfragen, keine Ahnung ob diese es auch tut.

Und dann erklär bitte nochmal was genau Du eigentlich machen willst. Also Du willst mit einer Eingabeaufforderung die T-CPU erreichen, nur zu welchem Zweck. Eine schulische Sache, ein bissle Klimbim für Zuhause (weobei ne 1517T dafür etwas übertrieben ist, die is bestimmt teuer), oder ein Projekt für die Arbeit.


----------



## Thomas_v2.1 (23 November 2021)

Bei UDP gibt es keinen direkten Portscan wie bei TCP, ob bei UDP ein sinnvolles Ergebnis herauskommt, hängt von der Anwendung ab die auf der Gegenseite lauscht. Da muss man das Protokoll schon kennen. Hast du beispielsweise einen lokalen DNS Server, dann kannst du ihm auf UDP Port 53 ein Zeichen "a" schicken, und es meldet sich niemand. Schickst du eine gültige DNS Anfrage, oder zumindest halbwegs gültig, dann erhältst du womöglich eine Antwort. Das hängt eben von der Anwendung ab, ob sie auf jedes sinnlose Zeichen reagiert, oder schon etwas Struktur verlangt.


----------



## Korpos (24 November 2021)

escride1 schrieb:


> Und dann erklär bitte nochmal was genau Du eigentlich machen willst. Also Du willst mit einer Eingabeaufforderung die T-CPU erreichen, nur zu welchem Zweck. Eine schulische Sache, ein bissle Klimbim für Zuhause (weobei ne 1517T dafür etwas übertrieben ist, die is bestimmt teuer), oder ein Projekt für die Arbeit.


Vielen Dank für die Rückmeldung. Es handelt sich um eine Aufgabe die mir im meinem Studentischen Praktikum erteilt wurde. Es geht um einen Sensor denn ich noch nicht habe, dieser sendet mir UDP Pakete. Da ich damit noch wenig Erfahrung habe, wollte ich zuerst einmal testen ob mein TURCV überhaupt Daten Empfängt solange ich denn Sensor noch nicht habe. Die SPS ist nur zu Testzwecken für mich.


escride1 schrieb:


> Das Tutorial wäre vielleicht hilfreich gewesen oder zumindest die ncat-Version.


https://www.ionos.de/digitalguide/server/tools/netcat/
Ist mehr zum schnell Einstig würde ich behaupten. Hatte natürlich noch paar andere Quellen.


escride1 schrieb:


> ncat -u IP Port
> öffnet lediglich eine Verbindung. Kannst also dann chatten wenn die Gegenseite das akzeptiert bzw. sie im Wartemodus (Listener) ist.
> 
> Im Normalfall nutzt man bei ncat zusätzlich den Parameter -w <time> um einen Timeout zu bekommen falls die Verbindung nicht mehr steht, ist hier aber weniger das Problem.


Okay das erklärt sein Verhalten, vielen Dank


escride1 schrieb:


> warum installierst Du in User\Dokumente und nicht Programme?


Das ich später schneller sehe was ich alles auf denn Firmen Rechner installiert habe und es am Ende des Praktikums wieder runterscheißen kann falls erforderlich.




Thomas_v2.1 schrieb:


> Bei UDP gibt es keinen direkten Portscan wie bei TCP, ob bei UDP ein sinnvolles Ergebnis herauskommt, hängt von der Anwendung ab die auf der Gegenseite lauscht.


Ach so, vielen Dank für die Infos



escride1 schrieb:


> Die Verbindungsinformation vom TCON ist nett, aber nur wenig hilfreich. Die Netzwerkansicht sowie der zugehörige Datenbaustein helfen etwas mehr.







DB zu TCON


----------



## escride1 (24 November 2021)

Weisst Du denn wann Du den Sensor bekommst oder zumindest genau welchen?
Es wäre hilfreich zu wissen was genau der Sensor übermittelt, dann kann das Programm gleich darauf ausgerichtet werden statt jetzt eine Probeverbindung herzustellen die andere Werte/Zeichen sendet.

Mit Netzwerk meinte ich das in dem Baustein, nicht die Übersicht 

Richtig anschauen kann ich es mir evtl. erst morgen Abend, bin bis dahin ungeplant unterwegs.


----------



## Korpos (24 November 2021)

escride1 schrieb:


> Weisst Du denn wann Du den Sensor bekommst oder zumindest genau welchen?


Es ist ein Linienscanner LPS36 ob ich Ihn überhaupt zu Gesicht bekomme weiß ich ehrlichgesagt nicht, es könnte auch nur eine zwischen Beschäftigung sein(Es wurde kein Liefertermin zugesichert). Programm dazu habe ich schon geschrieben bzw. angefangen und warte auf mehr Infos. 
Telegramm besteht aus:  30 Byte Header XX Nutzdaten (unterschiedlich)



escride1 schrieb:


> Richtig anschauen kann ich es mir evtl. erst morgen Abend, bin bis dahin ungeplant unterwegs.


Danke  ich vermute ja schon dass das Programm Telegramme Empfangen kann. Ich habe es danach aufgebaut. (Nur mit UDP Bausteinen statt wie hier mit TSEND TRCV)
https://support.industry.siemens.co...user-communication-aufzubauen-?dti=0&lc=de-WW

Aber das senden vom PC zur SPS via NCAT klappt irgendwie nicht bzw. es steht nie etwas im meinem DB für meine Empfangenden Daten und mein TUREV zeigt mir auch nicht an das er was macht außer bereit zu sein.


----------



## Korpos (25 November 2021)

Kann mir jemand sagen was diese EX sind ? Sie tauchen erst auf wenn ich etwas Eingebe.


----------



## Korpos (25 November 2021)

Konnte nun Zeichen/Byte an die SPS schicken. Anscheint hat mir der Port 2000 Probleme gemacht habe Ihn auf 9000 geändert und nun hat alles geklappt   Ich könnte vermuten das die EX Zeichen sind die ich gesendet hatte, kann ich leider nicht mehr überprüfen.

EDIT: Es waren meine gesendeten Daten


----------

