Visu (selbst) erstellen

Larry Laffer

Super-Moderator , User des Jahres 2008-2009
Teammitglied
Beiträge
14.474
Reaktionspunkte
3.309
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich weiß, dass es dieses Thema so ähnlich schon mal gab ... nichts desto weniger ...

In meinen Visu's (i.d.R. PC-Runtime's) ist es so, dass der Anteil an Scripten mehr und mehr zunimmt und die Visu mir u.A. die Möglichkeit, einzelne Objekte zu erstellen, nicht gibt (ob es das je einmal geben wird ?). Hinzu kommt, dass ich viele Features (u.A. im Bereich der Daten-Übergabe PC - SPS aber auch Kurvendarstellung) absolut vermisse.
So kommt man dann so langsam dahin, sich intensiver mit dem Gedanken zu beschäftigen, eine eigene Visu zu erstellen (z.B. Visual Studio). Das ist natürlich nicht etwas, das bei mir auf Punkt 1 der Tagesordnung steht - es rückt als Gedanke / Idee aber immer weiter nach vorne ...

Nun meine Frage dazu (da ich weiß, dass sich hier schon einige Leute intensiv mit der Thematik beschäftigt haben) :
Wie gestaltet ihr den Datenaustausch SPS - Visu - also welches Programm / Bibliothek kommt da so zum Einsatz ? Oder ist es ein OPC-Server ? Wo liegen die Vor- und Nachteile ? Wie synchronisiert ihr die PC-Varaiblen und die SPS-Variablen ?
Hier zum Verständnis : Für mich wäre etwas sehr geeignet, dass einen festen Datenbereich aus der SPS abholen (oder dahin übertragen) kann und mir hinterher sagt : "Das habe ich gemacht !".

Gruß
LL
 
Visu selbst erstellen oder von der Stange ...

Hallo,

Larry Laffer schrieb:
In meinen Visu's (i.d.R. PC-Runtime's) ist es so, dass der Anteil an Scripten mehr und mehr zunimmt und die Visu mir u.A. die Möglichkeit, einzelne Objekte zu erstellen, nicht gibt (ob es das je einmal geben wird ?). Hinzu kommt, dass ich viele Features (u.A. im Bereich der Daten-Übergabe PC - SPS aber auch Kurvendarstellung) absolut vermisse.
So kommt man dann so langsam dahin, sich intensiver mit dem Gedanken zu beschäftigen, eine eigene Visu zu erstellen (z.B. Visual Studio). Das ist natürlich nicht etwas, das bei mir auf Punkt 1 der Tagesordnung steht - es rückt als Gedanke / Idee aber immer weiter nach vorne ...

Das Problem der o.a. Unzulänglichkeiten und mangelnder Flexibilität in Visus wie WinCC, WinCCFlex und anderen Herstellern habe ich hier im Forum oft bemängelt. Das soll nicht heissen, dass ich diese Visus nicht einsetze. Solange es sich nur um Standardfunktionen (Daten E/A, Störmeldungen, Kurvendarstellung etc.) handelt, verwende ich meist WinCC o.ä. Diese fertigen Visus haben den Vorteil der einfachen Anbindung an die Prozeßdaten (da schon in der Visu enthalten). Nachteil ist eben die Unflexibilität, sobald die Grenzen der Möglichkeiten einer Standard-Visu erreicht werden. Man muss dann auf die Krücke der Scripte zurückgreifen. Und da stösst man ab einer bestimmten Anzahl laufender Scripte ganz schnell an die Grenzen der Visu ...

Werden die Anforderungen komplexer, weiche ich auf eine selbsterstellte Visu in einer Hochsprache aus. Die Standardelemente wie Kurvendarstellung, Datenbankanbindung, Kurvenarchive, Kurvendarstellung habe ich in den meisten Fällen sowieso schon aus vorigen Projekten fertig und getestet in einer Bibliothek und kann diese wiederverwenden.
Allerdings muss ich mir die Anbindung an die Prozeßdaten der SPS selber programmieren. Aber auch da hat man sich im Laufe der Zeit schon einige Standards gebastelt, ist dann meist eher eine Fleißaufgabe. Und ausser den Lizenzkosten für einen fertigen Kommunikationstreiber brauche ich keine WinCCLizenz (für das Geld kann ich schon einige Tage lang in die Tasten hauen). Aber dafür habe ich alle Beschränkungen der Standard-Visus über Bord geworfen, es gibt (fast :ROFLMAO:) nichts was ich in der eigenen Visu nicht anstellen kann.

Die Sache mit den Lizenzkosten zahlt sich besonders aus, wenn man Serienmaschinen herstellt und die eigene Visu somit mehrfach verwenden kann.

Larry Laffer schrieb:
Für mich wäre etwas sehr geeignet, dass einen festen Datenbereich aus der SPS abholen (oder dahin übertragen) kann und mir hinterher sagt : "Das habe ich gemacht !".

Ich verwende eigentlich nur zwei Kommunikationsstreiber :
1) OPC-Server
2) Deltalogic AGLink

Beide erfüllen Deine Anforderungen vollends und zuverlässig. Und das für eine Vielzahl der gängigen Kommunikationsprotokolle zu S5 und S7.

Vielleicht hilft Dir mein kurzer Beitrag zur Entscheidungsfindung.

Gruß

Question_mark
 
Hallo QM,
meine Entscheidung ist / war eigentlich schon gefunden - zumindestens, was die Art der Vorgehensweise angeht. Ich danke dir auf jeden Fall für deinen Beitrag (ich hatte auch ein bißchen auf eine Antwort von dir gehofft ... :D ).
Mit dem AGLink habe ich vor längerer Zeit schon einmal "herumgemacht". Das wäre auf jeden Fall ein Kandidat für mich.

Was mich sehr interessieren würde :
Wie handelst du den Austausch von Nicht-Datenblöcken ? Hast du irgendwo eine Prozedur "Austausch_SPS", wo du die bekannten Datenbereiche der SPS ausliest und diese dann auf Vis-interne (globale) Variablen zuweist ? Oder ganz anders ?

Gruß
LL
 
Hab da mal gehört dass OPC nur alle 500ms Daten liefert. Hab da grad so ne HMI-RFID Geschichte da steht das drin? Ist da was dran?
Gibt's für C# dann so ne Art Smbolbrowser a la WinCcFlexible. Das ist ja das einzige was in diesem System halbwegs funktioniert...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Rainer,

ich beschäftige mich momentan auch etwas intensiver mit diesem Thema.
Gibt es von euch auch Testversionen für den AG-Link und die Symbolanbindung?
Die Symbolanbindung ist schon sehr interessant.

Gruß Thorsten
 
Visu selber machen

Hallo,

Larry Laffer schrieb:
Wie handelst du den Austausch von Nicht-Datenblöcken ?

Nicht-Datenblöcke (also meinst Du wahrscheinlich E/A's, Merker etc.) werden da genau wie DB's behandelt, es werden lediglich an den Datenbereich angepasste Funktionsaufrufe verwendet. Als z.B. Read_MW anstelle von Read_DB.

Larry Laffer schrieb:
Hast du irgendwo eine Prozedur "Austausch_SPS", wo du die bekannten Datenbereiche der SPS ausliest und diese dann auf Vis-interne (globale) Variablen zuweist ?

Grob und stark vereinfacht gesagt : ja.
Aber nicht immer brauche ich überhaupt interne Variable, sondern kann die Werte auch direkt den Objekten der Visualisierung zuweisen.

Der OPC-Server hat den Vorteil, dass bei Wertänderungen in der SPS der OPC-Client einen Event in meine Applikation schiessen kann. Und ich brauche ja letztendlich nur reagieren, wenn sich Werte ändern. Ansonsten legt sich meine Applikation schlafen und wartet auf Events vom OPC-Client (oder auf Aktionen des Benutzers).

Gruß

Question_mark
 
Schlechte Erfahrungen mit Lucca

Hallo,

BlockMove schrieb:
Wir verwenden die Lucca-Tools von Langner zur Kommunikation mit der SPS seit Jahren.

Funktionieren auch, aber absolut zu teuer und Ihren Preis deshalb auch nicht wert. Zumal jeglicher Support entweder verweigert wird (trotz erworbener 5k € teuren Lizenz) oder Fragen zum Produkt überhaupt nur angehört werden, wenn man sich als Fragesteller zum Produkt umgehend zur Kostenübernahme erklärt. Völlig unakzeptabel, aber habe ich selber erlebt :sb9:

Deltalogic ist immer bemüht, mit dem AGLink ein perfektes Produkt zu bieten und dieses und auch den Anwender mit einem kostenlosen Support zu unterstützen. Und liegt eben bei guter Funktionalität und bestem (und auch kostenlosem) Support doch weit unter dem Preisniveau von Lucca, in der Funktionalität aber mindestens ebenbürtig.

Gruß

Question_mark
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wä brucht dä Driss ?

Hallo,

pvBrowser schrieb:

Danke für Deinen 200.sten Beitrag mit dem selbem Link auf ein System, das (ich will es mal vorsichtig ausdrücken) die Welt nicht braucht. Und hier wohl auch meilenweit an den Anforderungen und Bedürfnissen des Fragestellers vorbeischiesst. Aber ich will Dich nicht entmutigen, mach einfach weiter ...

Gruß

Question_mark
 
Danke für Deinen 200.sten Beitrag mit dem selbem Link auf ein System, das (ich will es mal vorsichtig ausdrücken) die Welt nicht braucht. Und hier wohl auch meilenweit an den Anforderungen und Bedürfnissen des Fragestellers vorbeischiesst. Aber ich will Dich nicht entmutigen, mach einfach weiter ...

Danke für Deinen kompetenten Kommentar.
 
Nun meine Frage dazu (da ich weiß, dass sich hier schon einige Leute intensiv mit der Thematik beschäftigt haben) :
Wie gestaltet ihr den Datenaustausch SPS - Visu - also welches Programm / Bibliothek kommt da so zum Einsatz ? Oder ist es ein OPC-Server ? Wo liegen die Vor- und Nachteile ? Wie synchronisiert ihr die PC-Varaiblen und die SPS-Variablen ?
Hier zum Verständnis : Für mich wäre etwas sehr geeignet, dass einen festen Datenbereich aus der SPS abholen (oder dahin übertragen) kann und mir hinterher sagt : "Das habe ich gemacht !".

Wir trennen Datenerfassung und Visu.
Die Daten werden von einem Daemon (Hintergrundprogramm) zyklisch gelesen und in einem Shared Memory abgelegt und die ausgehenden Daten werden über eine Mailbox an den Daemon geschickt.
Siehe:
http://pvbrowser.de/pvbrowser/pic/prinzip.png

Für unterschiedliche Protokolle gibt es unterschiedliche Daemons.
So kann eine Siemens SPS mit libnodave angebunden werden oder wenn es euch lieber ist mit
http://www.industry.siemens.com/ind...ts/industrial_communication/softbus_linux.htm
http://www.industry.siemens.com/ind...industrial_communication/softnet_s7_linux.htm

Bei der Geschwindigkeit ist man immer an die Grenzen des Systems gebunden, es gilt bei der Auswertung der Messwerte also immer das Abtasttheorem. http://de.wikipedia.org/wiki/Abtasttheorem

Wenn möglich bevorzugen wir offene Protokolle wie eine der Modbus Varianten.

Die Visu braucht dann nur noch das Shared Memory lesen bzw.
eine Botschaft an die Mailbox schicken.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,



Das entstammt, mit Verlaub gesagt, aus dem Bereich der "Scheisshausparolen".

Gruß

Question_mark

Oh - wusste ich nicht!
Ich hab hier ein Schreiben SIMATIC HMI-RFI v1.0 Ausgabestand 09/2008 da steht

Es wird ein Erfassungszyklus von 500ms empfohlen. Kleinere Werte werden von OPC Servern nicht unterstützt
 
Hallo,
ich denke, ich bin nun mit meinen Puzzle-Teilen ein gutes Stück weiter. Nach aktuellem Stand werde ich mich hier wohl für Deltalogic entscheiden - schon allein wegen bereits gemachter guter Erfahrungen mit "dem Haufen" in der Vergangenheit.
Wie ich die Daten-Kommunikation im Detail gestalte ist noch offen. Es gibt sowohl für den OPC-Server wie auch für die direkte Abfrage von Bereichen so seinen Einsatz. Möglicherweise geht ja auch eine Kombi aus Beidem ...

Also denn ...
Gruß
LL
 
Zurück
Oben