TCP IP Kommunikation von Im151-8F PN/DP zu Linux PC

Oest

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

ich muss eine TCP IP Kommunikation von Im151-8F PN/DP zu Linux PC aufbauen, um einen ASCII Code zu übertragen. (ziffer leerzeichen bis zu zehn ziffern)
Dafür nutze ich ein Die FB63/64/65/66. Zu einem Windows PC hatte ich mit dem Native TCP Protokoll(16#b#11) schon eine Verbindung aufgebaut.
Wonach entscheidet man, ob man TCP native, UDP, ISO on TCP oder TCP IP Comp verwendet. Ich habe TCP native mit der S7 IM151 als aktivem Partner genommen, weil die Gegenstelle ein Server (nach meinem Verständnis "Horchposten2 im Netzwerk) ist, und ich die Verbindung von der SPS aus aktiv aufbauen, und vor allem sehen will ob die Verbindung noch steht. Laut S7 Handbuch ist UDP zum Beispiel ohne direkte Verbindung, also habe ich keine Kontrolle ob die Verbindung besteht.
Von der Gegenstelle weis ich die IP und den Port.
Falls jemand Erfahrung mit so einem Aufbau hat, wäre ich für Hinweise dankbar.

MFG
 
Ich mach das ähnlich für die Verbindung mit einer Cognex-Kamera, angelehnt an das Beispiel von Siemens. Die haben noch einen FC97, damit wird #TPARAM korrekt zusammengebaut. Wenn du das bereits mit einem Win-PC geschafft hast, geht das doch für Linux auf S7-Seite nicht anders. UDP würde ich meiden, siehe deine Begründung. ISO on TCP hängt von deinem Linux ab, von dafür vorhandenen Treibern, ich denke ganz "normales" TCP/IP mit den genannten FB sollte von jedem Computer empfangen und verstanden werden können.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe mich auch an dem Beispiel orientiert. Im FC 97 habe ich festgelegt welche CPU ich verwende (IM151). Die Verbindung zum Win PC hatte ich allerdings nur über das Connect Tool aus dem Forum hier. Das funktioniert ja wie ein "Horcher" nehme ich an.
Wie ist es mit dem Übertragen von ASCII? Gibt es dafür eine bestimmte vorgabe. In den DB301 schreibe/lese ich ja nur Bytes.
 
Prinzipiell kannst du alles übertragen, ASCII sind auch nur Bytes, es kommt darauf an, ob deine Gegenstelle das Lesen kann. Du solltest das z.Bsp. auch mit Hyperterminal testen können, da legst du eine neue Verbindung an, das Protokoll, die Hostadresse und den Port, dann mit der SPS etwas losschicken. Wenn du Ascii-Zeichen schickst, kann Hyperterminal das auch so anzeigen, sieh dazu im Internet die gängigen ASCII-Tabellen. Auch bei Linux brauchst du natürlich ein Programm, das genau auf dem Port "lauscht" bzw. Daten empfangen kann.
 
Zurück
Oben