Verbindung SPS 750-841 zu PC mit ethernet.lib und VB

lollipop
2006-06-27
2006-07-05
  • lollipop - 2006-06-27

    Hallo

    gerne würde ich Daten austauschen zwischen einem PC und einer Wago 750-841, aber ohne ModBus Protokoll, sondern mit der vorhandenen ethernet.lib.

    Es gibt ja auch ein Beispiel für einen Server und einen Slave, aber ist das auch dazu gedacht?

    (Beispiel WAGO)

    http://www.wago.com/wagoweb/documentati ... 000d_f.htm

    Grüsse

    Lollipop

     
  • Jan Homann - 2006-06-29

    Vor einigen Monaten hab ich ein Protokol für den Datenaustausch zwischen PC und 750-841 über TCP gebastelt. Grundlage war die WagoLibEthernet. Frag mich nicht warum ich die genommen hab aber irgendwelche Vorteile wird sie wohl gehabt haben. Ich glaub, da war was mit der grösse der Lese-/Schreibpuffer. Ist schon so lange her

    Gruß

    Jan

     
  • lollipop - 2006-06-29

    Hallo Jan

    Dann ist die Anwendung nicht mehr in Betrieb oder gar nie in Betrieb gegangen?

    Lollipop

     
  • Jan Homann - 2006-06-29

    Hi Lollipop,

    die Anwendung hat es nie wirklich bis zu einem komplett lauffähigen Prototypen geschafft. Die TCP Kommunikation als ein Teil der Anwendung hat jedoch wunderbar funktioniert. Durch Änderungen an der Hardware haben wir uns allerdings für eine kleinere SPS entschieden die mit der WagoLibEthernet Bibliothek nichts anfangen kann.

    Gruß

    Jan

     
  • lollipop - 2006-06-30

    Hallo Jan

    Welche Daten wurden denn übertragen? Waren dies grosse Datenpakete?

    Mit welcher VB Version wurde es realisiert? Gibt es den Code noch in Codesys und VB?

    Konnten beide Seiten als Server aufgerufen werden?

    Ich habe echtes Interesse daran.

    Lollipop

     
  • Jan Homann - 2006-06-30

    Hi Lollipop,

    ich habe damals Sensordaten übertragen. Die Daten der Sensoren wurden pro Sensor in der SPS gesammelt und ca einmal pro Sekunde als ein 2 bis 3 kb Datenpaket an den Client übertragen. Die SPS hat dabei als Server fungiert und pro Sensor eine TCP Verbindung zur Verfügung gestellt. Der Client konnte sich über die Portangabe gezielt einen Sensor ansprechen und über das Protokoll den Datentransfer starten, stoppen oder die Vorauswertung der Sensordaten in der SPS konfigurieren.

    Mit VB habe ich bisher noch nichts gemacht. Mein Client ist eine Java Applikation aber es ist dem Server ja auch egal, wer auf ihn zugreift solange er die richtigen Befehle sendet.

    Was möchtest du denn damit an Daten übertragen?

     
  • lollipop - 2006-06-30

    Hallo Jan

    Das ist ja interessant ..

    eigentlich möchte ich Zustände auf SPS bei einer Aenderung auf einer HTML-Site anzeigen lassen. Dies in Verbindung mit einem ActiveX oder viel lieber mit einem JavaApplet.

    Weiter soll es auch möglich sein, gewisse Ausgänge über die HTML-Site zu steueren.

    Da der WebServer von WAGO (und den meisten SPS) nicht leistungsfähig ist, möchte ich die WebSite von einem dedizierten Server (oder auf dem ClientPC lokal) generieren und die WebSite dynamisch anzeigen.

    Die Verbindung zur SPS muss aber vom Client direkt über das angesprochene Applet oder ActiveX geschehen.

    Ist das verständlich?

    Lollipop

    Da ich bisher allerdings

     
  • Jan Homann - 2006-07-03

    Hi,

    das hört sich ja fast genau nach dem Problem an, welches ich damals zu lösen hatte. Also den Code für den TCP Server kann ich dir wohl geben. Ich hoffe, der funktioniert noch. Damals habe ich da noch etwas dran rumgebastelt und nu hab ich keine 842 mehr um den Code nochmal richtig zu testen.

    Die Webserver der Geräte fallen wirklich etwas mager aus. Zumindest solang man im reinen SPS Bereich bleibt. Vielleicht ist ja die Beckhoff CX9000 Reihe auch etwas für dich. Die hatte ich auch mal kurz ins Auge gefasst aber da ich leider erst zuspät drauf gekommen bin ist sie wieder aus der Auswahl gefallen.

     
  • lollipop - 2006-07-03

    Hallo Jan

    An die Hardware bin ich gebunden.

    Ich werde Dir über eine PM meine EMail-Adresse senden. Wäre schon interessiert am Programm.

    Hattest Du denn auf der Java-Seite Problem mit der Kommunikation oder war es das weitere Verwenden der Daten, welches Dich zum Stoppen gebracht hat?

    Lollipop

     
  • Jan Homann - 2006-07-03

    Ich wurde durch fehlerhaft bzw. ungenau beschriebene Eigenschaften einer Busklemme zum Stoppen gebracht. Dadurch sind gleich sechs von sieben Busklemmen weggefallen.

    Die Kommunikation bereitet keinerlei Probleme. Zumindest nicht, solang man die SPS nur senden lässt wenn auch wirklich ein Client verbunden ist.

    Jan

     
  • Armin - 2006-07-05

    lollipop hat geschrieben:
    Hallo
    gerne würde ich Daten austauschen zwischen einem PC und einer Wago 750-841, aber ohne ModBus Protokoll, sondern mit der vorhandenen .

    Mache das hier, um Stückzahlen von den Maschinen an eine VB Applikation als Datagramm zu schicken und von der VB Applikation Konfigurationsdaten an die 841 zu schicken. Klappt ganz gut.

    Wenn du noch Tipps brauchst.....

    Gruß

    Armin

     
  • lollipop - 2006-07-05

    Hallo Armin

    Ich habe zwar von Jan einiges bekommen, konnte aber wegen Zeitmangel noch nichts studieren.

    Aber auch Deine Lösung würde mich natürlich sehr interessieren.

    Lollipop

     
  • Armin - 2006-07-05

    Hallo,

    wenn das Programm auf der 841 startet mache ich mit ETHERNET_SERVER_OPEN erst mal einen Port zu lauschen auf. Dann wartet das Programm bis über diesen Port (ETHERNET_READ) die IP des Systems kommt, an die die Daten geschickt werden sollen. Danach wird mit ETHERNET_CLIENT_OPEN ein Port Richtung VB Programm aufgemacht und die Daten als Datagramme geschickt (ETHERNET_WRITE). Verwende Datagramme, da ich mich im selben Netz bewege und Prüfsummen in den Telegrammen habe.

    Schicke alle 2 Sekunden mit Hilfe von TON.

    Auf der VB-Seite verwende ich den winsock.

    Was mir aufgefallen ist (die Doku ist sehr minimal). Man sollte sparsam mit dem CLOSE der Verbindungen sein. Wollte am Anfang die immer wieder zu machen und neu öffnen. Dabei ist das System aber sehr instabil geworden.

    Gruß

    Armin

     

Log in to post a comment.