Ethernet/IP Feldknoten testen

HMIman

Well-known member
Beiträge
101
Punkte Reaktionen
4
Zuviel Werbung?
->Hier kostenlos registrieren
Hallo Gemeinde !

Ich möchte einen Feldbusknoten testen. Protokoll: Ethernet/IP.
Ich kenne zwar einige Feldbussysteme, bin aber absoluter Ethernet/IP-Neuling!

Nun suche ich einen möglichst günstigen und einfachen Ethernet/IP Master um den Knoten zu testen.
Am liebsten wäre mir eine reine PC-Lösung (Software). Dann müsste ich nicht wieder eine zusätzliche Hardware kaufen.

Hat jemand einen Vorschlag für mich ? Vielen Dank !

Gruß
HMIman
 

Oberchefe

Well-known member
Beiträge
2.277
Punkte Reaktionen
365
Günstig oder einfach? Am einfachsten ist es ein Standard-Teil von Rockwell zu nehmen (z.B. eine CompactLogix), die meisten Dokus wirst Du dafür finden. Wenn's günstiger werden soll, der PVBrowser hat wohl ein "pvaddon", welche Ethernet/IP kann.
http://pvbrowser.de/pvbrowser/index.php?lang=en&menu=6&left=9
Im Ordner "pvbaddon/foreign/tuxeip/" soll was drin sein. Stammt ursprünglich vom Projekt TuxEip.
 
OP
HMIman

HMIman

Well-known member
Beiträge
101
Punkte Reaktionen
4
Zuviel Werbung?
->Hier kostenlos registrieren
Hallo Oberchefe !

Vielen Dank für die schnelle Antwort. Ich möchte es natürlich günstig und einfach !!! :)

Der Tipp mit dem Browser ist gut. Mir ist zwar noch nicht so ganz klar wie ich mit einem Browser Daten mit meinem Ethernet/IP-Knoten austauschen kann, aber das werden wir sehen ...
Erst mal vielen Dank so weit ! Ich melde mich nach meinem Test wieder.
 
OP
HMIman

HMIman

Well-known member
Beiträge
101
Punkte Reaktionen
4
PVBrowser Download

Hi,
würde den PVBrowser gerne mal testen, aber ich kann ihn nicht downloaden.
Beim ersten Klick auf den Button [Download] fängt die Seite an zu laden. Dann wird die Seite einmal neu dargestellt. Wenn man dann nochmal auf den Button [Download] klickt kommt:
ERROR: You are only allowed to download install-pvbrowser-4.7.2-client.exe once every 3 hours.
Your last download was on Thursday, 31-01-2013 10:39
This has been done because of abuse of our server from some countries.

Das habe ich auf verschiedenen Rechnern und mit verschiedenen Browsern probiert. Leider ohne Erfolg.

Kann mir jemand die Zauberformel verraten, die ich bei diesem Download sprechen muss ?
Vielen Dank !

P.S. Eigentlich bin ich nicht zu blöd für einen Download - dachte ich bis heute.
 

pvbrowser

Well-known member
Beiträge
464
Punkte Reaktionen
44
Hallo HMIman.

Du hattest mich ja mit privater mail kontaktiert.
Wenn noch Fragen auftauchen, können wir hier weitermachen.
 

pvbrowser

Well-known member
Beiträge
464
Punkte Reaktionen
44
das ist ja auch kein "richtiger" Browser sondern eher eine HMI-Software.

Es ist ein "richtiger" Browser in dem Sinne, dass die Visualisierung komplett in einem pvserver hinterlegt wird.
Der pvbrowser client kann diese pvserver dann "ansurfen" und man kann Hyperlinks verwenden.

Der pvbrowser basiert aber eben nicht auf http/html sondern auf verbindungsorientierter TCP Kommunikation und Qt Widgets.

Hier das Prinzip:
http://pvbrowser.org/pvbrowser/images/principle.png

Und da sehen wir auch, wo Ethernet/IP bei uns angesiedelt ist.
Im Daemon !
Der Daemon spricht Ethernet/IP und schreibt die gelesenen Daten zyklisch in ein shared memory und wartet gleichzeitig auf Ausgabe-Befehle auf einer Mailbox.
Die Visu hat es dann nur noch mit dem shared memory und der mailbox zu tun.
Es gibt Daemonen für verschiedene Protokolle (Modbus, EIB/KNX, Siemens SPS, Hilscher CIF Karten, Ethernet/IP ...)
Die könnte man sogar mischen.

PS: Der pvbrowser kann tatsächlich auch als normaler html webbrowser verwendet werden, wenn man http:// am Anfang der URL schreibt. In Qt ist ja schliesslich WebKit integriert.
 
OP
HMIman

HMIman

Well-known member
Beiträge
101
Punkte Reaktionen
4
Zuviel Werbung?
->Hier kostenlos registrieren
PVBrowser

Hallo pvbrowser !

Habe mir den PVBrowser mal angesehen. Konzept ist mir nun klar, und scheint ja auch echt eine schönes Ding zu sein ! Ist wohl auch sehr flexibel und kann soagr auf verschiedenen Plattformen laufen. Allerdings bin ich kein C/C++-Programmierer und daher muss ich sagen, ist das ganze nicht so einfach für mich. Ich habe es trotz Anleitung nicht geschafft einen einfachen Modbus-Server aufzusetzen. Dazu waren in der Anleitung einfach zu viele Fachbegriffe und spezielle Anweisungen, die mir nicht genau genug erklärt wurden. Für eine C/C++-Programmierer sicher ein kleineres Problem.
Gibt es nicht eine Anleitung, die quasi Schritt für Schritt, kochrezeptmäßig durch die Erstellung eines einfachen Servers führt und die einzelnen Schritte die dazu notwendig sind erläutert ? Eigentlich scheint das ja nicht so aufwendig zu sein !? Man muss nur wissen, wo man was deklarieren und programmieren muss.

HMIman
 

pvbrowser

Well-known member
Beiträge
464
Punkte Reaktionen
44
> Allerdings bin ich kein C/C++-Programmierer ...
Man kann den Server auch in Lua programmieren.
Also einer Scriptsprache.

Hier eine Einleitung zur Erstellung eines pvserver.
http://pvbrowser.de/pvbrowser/index.php?lang=de&menu=4&left=2
Click auch mal auf das 1 Bildchen unter "Steps" und geh die Schritte dann durch.

Hier die Schritte, die man in Lua machen würde.
http://pvbrowser.de/pvbrowser/index.php?lang=de&menu=4&left=4
Click auch mal auf das 1 Bildchen unter "Steps" und geh die Schritte dann durch.

Hier die Schritte, die man in C/C++ machen würde.
http://pvbrowser.de/pvbrowser/index.php?lang=de&menu=4&left=3
Click auch mal auf das 1 Bildchen unter "Steps" und geh die Schritte dann durch.

> Ich habe es trotz Anleitung nicht geschafft einen einfachen
> Modbus-Server aufzusetzen.
Eventuell hast Du die obigen Einführungen auch nicht gefunden.
Zum Lernen der eigentlichen Programmiersprachen gibt es ja genug Quellen.

Vielleicht meinst Du aber auch die Anbindung der Daten an einen pvserver.

Hier wird das nach obigen Schema für Modbus gezeigt.
http://pvbrowser.de/pvbrowser/index.php?lang=de&menu=4&left=9

Der Daemon wird also nur über eine INI Datei parametriert.
Im Daemon wird natürlich eine C++ KLasse verwendet,
wie im Falle von Modbus
http://pvbrowser.org/pvbrowser/sf/manual/rllib/html/classrlModbus.html
aber damit braucht man sich ja hier nicht zu beschäftigen.
Es reicht ja dem Daemon für Modbus oder eben auch Ethernet/IP zu verwenden.

In pvbaddon.tar.gz sind auch Beispiele zu finden.

> Gibt es nicht eine Anleitung, die quasi Schritt für Schritt,
> kochrezeptmäßig durch die Erstellung eines einfachen Servers
> führt und die einzelnen Schritte die dazu notwendig sind erläutert ?
> Eigentlich scheint das ja nicht so aufwendig zu sein !?
> Man muss nur wissen, wo man was deklarieren und programmieren muss.
Die Bildergallerien sollten eigentlich so etwas wie ein Kochrezept bringen.
Vielleicht hast Du die nicht gefunden ?

Nach meiner Erfahrung muss man schnell in der Lage sein ein "Hallo Welt" zu erstellen.
Der Rest ergibt sich dann meistens recht einfach.

An welcher Stelle genau vermisst Du etwas ?

PS: Es gibt ja auch noch ein Manual unter
http://pvbrowser.de/pvbrowser/index.php?lang=de&menu=4&left=5
 
OP
HMIman

HMIman

Well-known member
Beiträge
101
Punkte Reaktionen
4
Probleme bei der Installation von Qt bzw. MinGW

Hallo pvbrowser !

Erst mal vielen Dank für die umfangreiche Erklärung und Hilfe!

Ich arbeite auf einem Windows System. Der PVBrowser benötigt ja die Qt Libraries für Windows und den MinGW C++ Compiler auf meinem System. Ich habe bei meinen ersten Versuchen einen Fehler gemacht und zunächst Qt 5.0.1 (MinGW 4.7) installiert. Dann habe ich in der Doku gelesen, dass PVBrowser Qt 4.x.y und MinGW benötigt !?
Also habe ich Qt 5.0 und den PVBrowser wieder deinstalliert und habe mir Qt libraries 4.8.4 for Windows (minGW 4.4, 317 MB) von http://qt-project.org/downloads heruntergeladen. Ich gehe davon aus, dass dieses Programmpaket sowohl Qt 4.8.4 als auch minGW enthält!? Ist das richtig ?

Bei der Installation von Qt 4.8.4 tritt nun allerdings folgender Fehler auf:

Qt Setup problem.jpg

Die Androhung ist richtig. Die Installation hat nicht gearbeitet. Das Verzeichnis C:\MinGW\... gibt es garnicht bei mir auf der Platte.
An diesem Punkt hänge ich nun. Vielleicht hast Du noch eine Idee ?

Gruß
HMIman
 

pvbrowser

Well-known member
Beiträge
464
Punkte Reaktionen
44
Zuviel Werbung?
->Hier kostenlos registrieren
Hallo HMIman,

der pvbrowser bringt die Qt Bibliotheken auch schon selber mit.
Um mit pvbrowser in C/C++ eigene Visualisierungen erstellen zu können,
braucht man eigentlich nur den C++ Compiler.
Von Qt wird aber noch qmake verwendet, das ist ein Werkzeug,
um aus Projektdateien (*.pro) Makefile zu erzeugen.

Also im Prinzip hätte Qt5 auch funktioniert.

Wenn man direkt mit Qt programmiert, muss man aber genau aufpassen,
ob man Qt4.x oder Qt5.y verwendet. Die sind nämlich nicht ganz
Quellcode-Kompatibel. Die noch nicht veröffentlichten Quellen von
pvbrowser unterstützen aber inzwischen beise Versionen (#ifdef)

Aber nun zur Frage:
Du brauchst nur noch den MinGW C++ Compiler inclusive Make Tool installieren.
Der Pfad c:\MinGW ist der Standardpfad, in dem er immer versucht den Compiler zu finden.

Hier bekommst Du MinGW:
http://www.heise.de/download/mingw.html
oder
http://www.mingw.org/wiki/Getting_Started

Viele Grüße:
pvbrowser
 
OP
HMIman

HMIman

Well-known member
Beiträge
101
Punkte Reaktionen
4
Teilerfolg !

Hallo pvbrowser !

Habe Erfolg zu vermelden. Mein PVServer läuft ! :)))
Kann auch mit dem PVBrowser darauf zugreifen.

Puuhh, hat jetzt echt ein bisschen gedauert. Und während der Installation von Qt ist wieder ein Problem aufgetaucht:

Qt Setup problem no valid w32api.h.jpg

Diesmal ist die Androhung aber nicht eingetroffen. Ich habe die Installation fortgesetzt und konnte anschließend den Server compilieren. Aber der Reihe nach und für die, die den PVBrowser ebenfalls installieren wollen.
Folgende Software muss downgeloadet und am besten in der angegeben Reihenfolge installiert werden:
1. mingw-get-inst-20120426.exe von z.B. http://www.heise.de/download/mingw.html
2. qt-win-opensource-4.8.4-mingw.exe von http://qt-project.org/downloads
3. install-pvbrowser.exe von http://pvbrowser.de/pvbrowser/index.php?lang=en&menu=6&left=3
Dann kann man mit Start/pvbrowser/start_pvdevelop die Entwicklungsumgebung aufrufen. Aber nicht vergessen die Umgebungsvariablen %qtdir% und %mingwdir% in der Batch-Datei (oder Registry) zu setzen !
Damit läuft meine IDE jetzt und ich kann mich endlich meinem eigentlichen Problem widmen. Ich habe aber beschlossen zunächst einen Versuch mit dem Modbus TCP Daemon zu machen bevor ich mich dann an Ethernet/IP ran wage.

Gruß
HMIman
 

pvbrowser

Well-known member
Beiträge
464
Punkte Reaktionen
44
Hallo HMIman,

Ja, das sind genau die richtigen Schritte, die man machen muss.

Leider ist das für viele Leute eine zu große Hürde,
um erst mal schnell ein "Hallo Welt" hinzubekommen.
Vielleicht sollten wir etwas mehr propagieren mit Lua anzufangen,
denn dann braucht man weder Qt noch MinGW und die Environment Variablen
müssen auch nicht gesetzt werden.
Auf der anderen Seite finde ich C/C++ aber wieder besser und
in pvbrowser werden auch nicht alle Register von C oder C++ gezogen.
Inzwischen geht es unter Linux sogar einfacher als unter Windows,
weil man sich Qt und MinGW nicht erst suchen muss,
sondern einfach über das Online Repository der Distribution
installieren kann. Und unter Linux braucht man die Environment Variablen nicht.
Also wenn das mal jemand aus Deinem Bekanntenkreis mal schnell probieren
möchte, soll er ruhig zu Linux greifen.

Zu der Warnung mit MinGW:
Der MinGW auf Heise (MinGW 20120426) scheint doch wohl von 2012 zu sein.
Das müsste dann doch die neuste Version sein ?
Sonst müsste man evtl.von hier aus installieren.
http://sourceforge.net/projects/mingw/

Viele Grüße:
pvbrowser

PS: Es ist meines Erachtens garnicht schlecht, erst mal mit Modbus weiterzumachen.
 
OP
HMIman

HMIman

Well-known member
Beiträge
101
Punkte Reaktionen
4
Zuviel Werbung?
->Hier kostenlos registrieren
Modbus TCP Server läuft nicht

Hallo !

Bin jetzt gerade böse an meine Grenzen gestoßen. Wollte den Modbus TCP Daemon aktivieren, um mal real ein Register aus meinem Modbus-Client auszulesen.
ann leider keinen Zusammenhang zwischen psvlib, rllib, modbusclient und modbusdaemon herstellen !?!?? Durch folgende Schritte wollte ich den Modbus-Daemon aktivieren:
Ich habe im Main-Programm die auskommentierte Zeile
rlModbusClient modbus(modbusdaemon_MAILBOX,modbusdaemon_SHARED_MEMORY,modbusdaemon_SHARED_MEMORY_SIZE);
rein genommen. Im Header habe ich die beiden Zeilen
#include "rlmodbusclient.h" #include "modbusdaemon.h" // this is generated
rein genommen. Außerdem habe ich in Slots die Zeile
extern rlModbusClient modbus;
rein genommen.

Dann habe ich noch im Menu "Daemon/Modbus" unter tcpadr eine gültige IP-Adr. eingetragen und unter cycle1 die Parameter für ein Modbus Register vom Slave definiert.
Wenn ich dann den PVServer starte, kommt folgende Fehlermeldung:
make Modbus PVServer.jpg

Nach betätigen einer beliebigen Taste läuft der zwar Sever, aber ich glaube nicht, dass irgendwelche Daten akquiriert werden !

Ich möchte eigentlich einfach nur ein Modbus-Register auslesen und in einem LCD-Number Widget anzeigen.

Gruß
HMIman
 

Mobi

Well-known member
Beiträge
1.364
Punkte Reaktionen
135
Ich frage mich, warum du dir das überhaupt so umständlich machst. Es gibt so viele freie Programmiersprachen womit du dir selber Tools schreiben kannst. Ich selber hab auch schonmal nen Modbus-Client geschrieben. Das ist garnicht so schwer.
 

pvbrowser

Well-known member
Beiträge
464
Punkte Reaktionen
44
Ich möchte eigentlich einfach nur ein Modbus-Register auslesen und in einem LCD-Number Widget anzeigen.

Da scheint ja einiges schief gelaufen zu sein.
Warum nimmst Du nicht erst mal das Beipiel aus pvbaddon.tar.gz ?
Den daemon:
pvbaddon/daemons/modbus/client
und den pvserver:
pvbaddon/daemons/modbus/pvs

Du solltest auch erst überprüfen, ob der daemon die Modbus Variablen richtig liest und in das Shared Memory schreibt.
Dazu DEBUG=1 in der INI Datei setzen.
Und dann die Ausgaben beobachten, die der daemon macht.

PS: Die Verzeichnisse für das Shared Memory und die Mailbox hast Du doch vorher auch manuell angelegt ?
Und Du hast auch die Windows Syntax für Dateien verwendet.
Also:
c:\automation\shm\modbus1.shm
anstatt
/srv/automation/shm/modbus1.shm
 

pvbrowser

Well-known member
Beiträge
464
Punkte Reaktionen
44
Zuviel Werbung?
->Hier kostenlos registrieren
Noch ein Nachtrag zu meiner Antwort von gestern.

Wenn ich dann den PVServer starte, kommt folgende Fehlermeldung:
Diese Fehlermeldung kommt vom Compiler und besagt, dass er den Header nicht finden konnte.
Du musst in pvdevelop erst noch sagen, dass Du die rllib benutzen möchtest.
Am einfachsten geht das über das Menu "RLlib->uncomment rllib".
Manuell könntest Du das auch in der Projektdatei machen.

Aber generell solltet Du erst den daemon mit DEBUG=1 laufen lassen
und überprüfen, ob das zyklische lesen korrekt funktioniert.
Evtl. war das bei Dir ja schon so, aber sicher ist sicher.

Das Beispiel, auf das ich Dich gestern hingewiesen habe sollte auch hilfreich sein.
 

pvbrowser

Well-known member
Beiträge
464
Punkte Reaktionen
44
Oben