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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
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
Hallo Jan
Dann ist die Anwendung nicht mehr in Betrieb oder gar nie in Betrieb gegangen?
Lollipop
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
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
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?
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
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.
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
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
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
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
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