# Telnetserver via SPS



## MSD (28 März 2011)

Hallo zusammen,  ich bin neu hier und hab schon eine etwas kompliziertere Frage.  

Ich würde gerne auf einer Steuerung einen primitiven Telnetserver realisieren, auf den man sich z.B. per Windows Telnet - Client einloggen kann und per Befehl eine Aktion in der Steuerung anstoßen kann (z.b. binären Ausgang setzen). 

Um das Netzwerk direkt muss ich mich eigentlich nicht mehr kümmern, da bereits Bausteine vorhanden sind, die das ganze Netzwerkhandling übernehmen. Diese Bausteine sind für die TCP - Kommunikation und besitzen je eine Datenstruktur für Sendedaten und Empfangsdaten.    

Hat so etwas vielleicht schon mal jemand was ähnliches gemacht und könnte mir etwas zu dem Ablauf sagen, wie so eine Telnetverbindung aufgebaut wird ?  Mfg MSD


----------



## bike (28 März 2011)

Ich habe das vermutlich noch nicht gemacht.
Denn bei mir weiß ich welche Steuerungen dahinter sind.
Das verheimlichst du uns ja sehr gut.

Du solltest dir die Fragestellung neu überdenken und dann neu formulieren.


bike


----------



## Thomas_v2.1 (28 März 2011)

Du kannst dir ja mal die Oscat Network-Lib ansehen, denn in dieser sind diverse Telnet-Funktionen enthalten. Die Network-Lib ist aber momentan noch nicht für Step7 erhältlich. Falls du das hierdrauf laufen lassen willst, müsstest du dir die Bausteine für den Hardware-Layer noch selber schreiben (IP_CONTROL und Konsorten).


----------



## MSD (28 März 2011)

Ja, also gut das hab ich vergessen. Ich verwende eine Steuerung von der Firma Sütron, und zwar die TP35AM.

Programmiert wird diese nach IEC61131 mit CoDeSys. Für die Netzwerkkommunikation werden ausschließlich die CoDeSys-eigenen Bibliotheken verwendet (SysLibSocket.lib). Von einem Kollegen wurde aus dieser Lib die oben erwähnten Bausteine erstellt.

Ich hatte mir das mit dem Telnet so vorgestellt:

Ich kann mich auf dem Telnetserver (welchen ich realisieren möchte) z.B. mit dem Microsoft Telnet - Clienten oder Putty einloggen und dort einfache Befehle eingeben, die dann im PLC - Programm als String verarbeitet werden.

z.B Eingabe in Putty <SETDIGOUT 1.0>

Jetzt wird im PLC - Prgramm in einer Case - Anweisung der Befehl ausgewertet und die entsprechende Aktion ausgeführt.

Normalerweise sollte doch das Prinzip wie so eine Telnetverbindung aufgebaut wird unabhänig von der Steuerung sein, oder irre ich mich da ?

Ich hoffe das das jetzt etwas verständlicher ist.

Mfg MSD


----------



## bike (28 März 2011)

MSD schrieb:


> z.B Eingabe in Putty <SETDIGOUT 1.0>
> 
> Jetzt wird im PLC - Prgramm in einer Case - Anweisung der Befehl ausgewertet und die entsprechende Aktion ausgeführt.




Doch ist die PLC nicht so aufgebaut, dass diese so funktioniert.

Deine neuen Zuordnungen  müssen bei dem Aufruf der entsprechenden Funktionen aktualisiert werden.

Gehen tut das, doch in der PLC hast du zu tun, daher ist dein Ansatz etwas zu kurz gegriffen.

Mich würde die Aufgabenstellung interessieren. 
Dann kann man sich ein Bild machen,was das Ziel sein soll.

Über Teleservice die PLC zur Laufzeit umzuprogrammieren ist wenig sinnvoll und auch nicht so ganz einfach möglich.


bike


----------



## winnman (28 März 2011)

Hab folgendes mehrfach im Einsatz:

S7 315 2DP
Bluebox (wurde ursprünglich für Feuerwehreinsatz entwickelt, gibt aber auch eine Version die Analogwerte übertragen kann)
mit DO/DI und in der Analogversion mit AO/AI können die entsprechenden Statuswerte Abgefragt und auch neue DI/AI an die Steuerung übergeben werden.

Was willst du genau übertragen?

Wenn dur Fernwartung über Teleservice machen willst, dann läuft das auf einer komplett anderen Schiene:

Du benötigst die Teleservice Software vone "S", an der Steuerung muss ein Teleserviceadapter hängen, dann kannst du dich über Festnetzmodem oder zb.: GSM Modem dort einwählen.

Wenn die Verbindung aufgebaut ist, dann hast du aus Step7 vollen Zugriff auf die Anlage (ist so als würdest du direkt auf der zb. CPU hängen, aber nur viel langsamer (9600 Baut).


----------



## bike (28 März 2011)

winnman schrieb:


> Hab folgendes mehrfach im Einsatz:
> 
> S7 315 2DP
> Bluebox (wurde ursprünglich für Feuerwehreinsatz entwickelt, gibt aber auch eine Version die Analogwerte übertragen kann)
> ...



Du kannst die Eingänge über Telenet schreiben?
Komisch, wie das denn? Wenn dann doch nur wenn die außerhalb der PAE liegen....
Und wie wird das Paa geschrieben?

bike


----------



## bike (28 März 2011)

winnman schrieb:


> Wenn dur Fernwartung über Teleservice machen willst, dann läuft das auf einer komplett anderen Schiene:




Wer lesen kann ist in Mitteleuropa echt im Vorteil


bike


----------



## MSB (28 März 2011)

Ja, Bike, Lesen sollte man können.

Ich finde das Anliegen des TE durchaus legitim, auf der SPS einen händisch Programmierten Telnet-Server (http://de.wikipedia.org/wiki/Telnet)
zu haben, auf dem man mittels Textzeilen irgendwelche Befehle, also quasi eine Textbasierte Visu, erstellt.
Natürlich wurden diese "Befehle" vorher entsprechend im SPS-Programm mittels der Auswertung des Strings implementiert.

Ich kann zwar zur Fragestellung nichts beitragen, weil ich mich damit noch nicht wirklich auseinander gesetzt habe,
aber deine Einwände, ebenso die von Winman erschließen sich mir nicht so wirklich.

Mfg
Manuel


----------



## bike (28 März 2011)

MSB schrieb:


> Ich kann zwar zur Fragestellung nichts beitragen, weil ich mich damit noch nicht wirklich auseinander gesetzt habe,
> aber deine Einwände, ebenso die von Winman erschließen sich mir nicht so wirklich.
> 
> Mfg
> Manuel




Ich kenne PLC Programme und habe solche öfter geschrieben , die von außen beeinflusst werden können.
Das Problem ist dabei nicht der Zugriff, sondern die Programmierung in der PLC.

Daher der Hinweis, was getan werden soll.
Ich habe und wollte auch nicht schreiben, dass das nicht möglich oder sinnvoll ist. 


bike


----------



## MSB (28 März 2011)

Also was getan werden soll (so wie ich das interpretiere) ...

Die SPS soll über Port X mit Telnet-Protokoll erreichbar sein,
wenn ich hier nun das richtige eintippe soll irgendwas passieren,
was vorher nach bestem Wissen und Gewissen im Programm so festgelegt wurde ...

Im Prinzip sehe ich das so, das der TE hier eine Hilfestellung erwartet, wie er einen Telnet-Server ausprogrammiert,
so das er überhaupt mal einen auswertbaren String o.ä. hat.


----------



## winnman (28 März 2011)

Hallo bike: wo steht was von Telenet?

Ich hab nur beschrieben, dass ich mit DI/DO/AI/AO Lösungen mit der beschriebenen Bluebox(bzw deren Nachfolger) diese Funktionen in Verwendung hab. Damit kann über GSM SMS Einfluss auf Anlagen genommen werden bzw der Anlagenzustand abgefragt werden. nicht mehr und nicht weniger. Ist erprobt, Funzt, nicht gerade günstig, aber mehrfach in Betrieb.

fg Winnman


----------

