Siemens OPC Client ActiveX schneller als opcdaauto.dll

Beiträge
195
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute,

hab zwei kleine VB6 anwendung geschrieben welche einen sich inkrementieren WErt auf der sps (itnervall 100ms) anzeigen.

OPC Server Simatic

Eine anwendung benutzt das OPC client ActiveX von Siemens, das andere die opcdaauto.dll. Die Anwendung mit dem ActiveX ist VIEL schneller, d.h. der Wert wird vie öfters aktualisiert wie in der anwendung in der ich es über die Dll mache. Woran kann das liegen. Hab die Updaterate etc. bei bei den gleich.

lg
 
Hallo Boris,
ich habe vor ungefähr einem Jahr mal Geschwindigkeitsvergleiche zwischen dem Softing OPC-Server (mit ActiveX) und dem alten OPC-Server Computing (von Siemens, vermutlich Vorläufer von Simatic Net) angestellt.
Ich habe jeweils 1000 Integerwerte aus einem Datenbaustein gelesen und in ein Array von VB6.0 geschrieben. Als Übertragungshardware habe ich ein MPI/Lan-Kabel von der Prozessinformatik eingesetzt.
Das Ding verband die Rechner-Netzwerkkarte mit der MPI-Schnittstelle einer S7-300-CPU.
Der Vergleich ergab, der Softing OPC-Server ist mehr als 10mal so schnell wie der alte OPC-Server von Siemens.
Mit Simatic Net habe ich noch nicht experimentiert.

Gruß
Earny
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Anno Tobak ...

Hallo,

Earny schrieb:
Mit Simatic Net habe ich noch nicht experimentiert.

Dann hole das doch bitte nach. Der Vergleich ist nicht mehr zeitgemäss, wen interessieren Produkte,

Earny schrieb:
alten OPC-Server Computing
die aus dem vorigen Jahrtausend stammen ? Und VB6 als Maßstab, also ich weiss nicht so recht :ROFLMAO:

Gruß

Question_mark
 
Hallo Leute,

ich denke mit VB6 hat das nichts zu tun.. VB6 ist schnell genug um das rel. träge OPC Bandbreite zu testen. Ob ich nun ne opc schnittestelle (automatisch wrapper 2.0) in C/C++ oder VB6 verwende macht kaum unterschiede.

Ich habe nun auch den OPC Softing vs. simiems NET Server verglichen. Clientseitig hab ich beides mal die opcdaauto.dll verwenden, und sehe das die Update intervall bei Softing um den Faktor ca. 8-10 mal schneller ist als mit siemens. Verwende ich allerding den Siemens NET server + das Siemens Client OPC Active X ist der unterschied nur noch gering. Ich frage mich deshalb welche schnittstelle diese ActiveX benutzt ??

grüße
 
Es gibt da schon Unterschiede ...

Hallo,

BorisDieKlinge80 schrieb:
in C/C++ oder VB6 verwende macht kaum unterschiede.

Das sehe ich jetzt anders. Ein OPC-Server hat 2 Interfaces, über die man mit dem OPC-Server kommunizieren kann.

1) das Automation-Interface
2) das Custom-Interface

Das Custom-Interface ist für die Verwendung aus richtigen Programmiersprachen wie C, C++ und Delphi gedacht. Hier kann ich direkt mit Bordmitteln des Betriebssystems (Windows) mittels COM-Interface direkt auf den Server zugreifen.
VB6 (und natürlich auch VBA) weist allerdings erhebliche Einschränkungen und Mängel bei Zeigeroperationen auf (also ohne unsaubere Tricks geht es nicht) b.z.w. die Benutzung von Windows COM Interfaces ist gar nicht möglich. Und genau dafür hat man das Automation-Interface in Form der opcdaauto.dll geschaffen. Durch diesen Overhead der dadurch entsteht ist das Automation-Interface entsprechend langsamer im Vergleich zum Custom-Interface. Das könnte den von Dir erwähnten Unterschied in der Geschwindigkeit erklären.
Mit anderen Worten, bei VB6 und VBA musst Du das Automation-Interface verwenden (weil es gar nicht anders geht).
Bei C++ oder Delphi solltest Du das Custom-Interface verwenden, alles andere wäre schlicht Unsinn.

Und dann noch etwas zum Unterschied VB6 und C++ : Der C++ Compiler ist ein echter Compiler, VB6 Ist ein Zwitter zwischen Interpreter und Compiler da immer noch Laufzeitmodule (z.B. MSVBVMx0.DLL) zum Ausführen der .EXE erforderlich sind. Daher also auch zur Laufzeit entsprechen langsamer. Aber das nur nebenbei zur Erklärung, bevor das hier ein Glaubenskrieg über Programmiersprachen wird.

BorisDieKlinge schrieb:
und sehe das die Update intervall bei Softing um den Faktor ca. 8-10 mal schneller ist als mit siemens.

Das Update intervall kann am OPC-Server eingestellt werden. War das bei beiden Servern gleich eingestellt ?

Gruß

Question_mark
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Question_M.,
hallo Boris,
ich habe vor ca. 4 bis 5 Jahren mal einige Gehversuche mit dem Simatic Net OPC-Server unternommen. Ich habe damals aber nur mit Hilfe des OPC-Scouts einige Tests durchgeführt. Vorher musste der Rechner aber noch in den sogenannte "Produktivbetrieb" versetzt werden.
Das ist mir besonders unangenehm in Erinnerung.
Ich selbst bin in der beruflichen Weiterbildung tätig und hatte natürlich vor, Simatic Net auf den Schulrechnern zu installieren. Nachdem unser Administrator erfuhr, dass für Simatic Net eine Umkonfiguration der Rechner erforderlich ist, hat er die Sache stillgelegt. Auf den Rechnern müssen auch andere Softwarepakete problemlos laufen, ohne dass jedesmal eine Umkonfiguration erforderlich ist.
Ich habe mich deshalb seit ca. 4 Jahre nicht mehr mit Simatic Net beschäftigt.
Ist der Simatic Net OPC-Server auch über ein ActiveX ansprechbar und gibt es eine gute Beschreibung (mit Beispielen). An den sogenannten "Referenzhandbüchern" bin ich weniger interessiert.

Zu Computing, der Software aus dem vorigen Jahrtausend, hatte Siemens damals eine ca. 300-seitige Beschreibung geliefert, in der z.B. die Objektmethoden tatsächlich anhand von Beispielen erläutert waren. Eine Beschreibung dieser Güte habe ich zu Simatic Net nicht gefunden.
Bin deshalb vor ca. einem Jahr auf Softing gestoßen. Der OPC-Server ist ebenfalls über ein ActiveX einfach ansprechbar und ich dachte, dass wäre ein schöner Ersatz für Computing. Der erste Eindruck war i.O.

Das Problem beim Softing-OPC-Server war aber ---> Accontrol von Deltalogic. Die beiden hängen irgendwie zusammen.

Die große Stärke von Computing war/ist, es ermöglich nicht nur eine Verbindung zur S7-CPU, sondern auch zu PLCSim von Step7. Daher ist es möglich, nicht nur das STEP7-Programm, sondern auch gleich die zugehörige VB-Visualisierung mitzutesten.
Das klappt bei Softing nicht. Die sind leider nicht in der Lage, PLCSim von Siemens anzusprechen. Sie empfehlen Accontrol von Deltalogic und da beginnt das Problem:

Accontrol hat ein paar Probleme mit S7 (Stand ca. Frühjahr08, Accontrol V1.2.20.0, Control Center 1.2.18.0):
1.) Es kollidiert mit irgendeinem S7-Dienst. Den muss man erst abschalten, kann aber über die Folgen nur Vermutungen anstellen.
2.) Es unterstützt keine PEW-/PAW-Adressen oberhalb eines bestimmten Wertes. Wir haben eine CPU314C-2DP. Sämtliche PEW-/PAW-Adressen waren nicht ansprechbar. Man kann das zwar umparametrieren, aber das ist im rauhen Schulalltag problematisch.
3.) Gelegentlich musste erst STEP7 beendet werden, bevor Accontrol mit dem Softing-OPC-Server kommunizieren konnte.
4.) Accontrol kam nicht mit Lokalvariablen von STEP7 zurecht. S7-Programme, die Lokalvariablen enthielten, liefen in Accontrol nicht ab.
5.) Hinzu kam auch noch das recht umständliche Handling bei der Visualisierung (S7 - VB2005 - Softing - Accontrol)

Accontrol war dann also der Grund, weshalb unsere Softing-Versuche eingestellt wurden. Könnte Softing mit PLCSim kommunizieren, würde ich den Softing-OPC bevorzugen. So bleibt es vorerst beim alten: Computing funktioniert unter Step7V5.4SP3 problemlos. Es lässt sich im Schulbetrieb eine einfache Umschaltung von PC --- S7 auf PC --- PLCSim erreichen. Außerdem lässt sich das ActiveX von Computing auch in VB2005 einsetzen. Die Tatsache, dass das nicht die allerschnellste Datenübertragungen ermöglicht, spielt im praktischen Schulalltag keine Rolle.

Gruß
Earny
 
Watt iss dat denn ???

Hallo,

Earny schrieb:
Vorher musste der Rechner aber noch in den sogenannte "Produktivbetrieb" versetzt werden.

Kannst Du auch definieren, was ein sogennanter "Produktivbetrieb" an einem Windows-Rechner bedeutet ???

Gruß
Question_mark
 
Bei mir gibt es kein Active-X

Hallo,

Earny schrieb:
Ist der Simatic Net OPC-Server auch über ein ActiveX ansprechbar und gibt es eine gute Beschreibung

Im Prinzip ja, aber generell kann ein Active-X Control eine Mal-Software enthalten und hat deshalb auf meinen Rechnern keinen Platz, sowas wird sofort gekickt :ROFLMAO:

Gruß

Question_mark
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ausbilder Schmitz ..

Hallo,

Earny schrieb:
Die Tatsache, dass das nicht die allerschnellste Datenübertragungen ermöglicht, spielt im praktischen Schulalltag keine Rolle.

Und die Erkenntnisse aus dem praktischen Schulalltag sollten schon für den Azubi zu einem fundiertem Wissen über die verwendete Technologie mit entsprechendem Hintergrundwissen als Endziel führen. Also auch über die OPC-Interfaces und deren Vor- und Nachteile in Bezug auf Geschwindigkeit etc. Oder warum stochert "BorisDieKlinge80" hier mit bald 50 Fragen zum Thema OPC hier im Forum herum :confused:

Gruß

Question_mark
 
Und die Erkenntnisse aus dem praktischen Schulalltag sollten schon für den Azubi zu einem fundiertem Wissen über die verwendete Technologie mit entsprechendem Hintergrundwissen als Endziel führen. Also auch über die OPC-Interfaces und deren Vor- und Nachteile in Bezug auf Geschwindigkeit etc. Oder warum stochert "BorisDieKlinge80" hier mit bald 50 Fragen zum Thema OPC hier im Forum herum :confused:
War das jetzt kritik an mir? naja ich will halt gang genau wissen wie und warum , weshalb es so und so funktioniert... einfach nur zu funktionieren ohne den hintergrund zu wissen is nix:)
Es kann natülich sein, das der Automatisch wrapper, wie der name schon sagt "wrapper" langsamer ist als das direkte interface. Das der C/C++ compiler gegenüber dem rel. primitven VB6 interpreter/Compilter schneller ist ,is mir klar.. aber der Flaschenhalt ist ehr die Übertragung zwischen Server und Client... faktor 8-10 ist schon extrem:) C und c++ würde ich später schon etvtl. verwenden, aber mit VB6 geht halt schneller was zusammenzubauen... aber ich kann mich ja mal das custem interface mit c testen.

Test:
Auf der SPS wird eine Integer auf 200 gezählt ineinem intervall von 100ms. Die Updaterate der OPC Clients hab ich auf 100ms liegen. Iich habe die Zeitabstände der DataUpdate Events der iterierenden Zahl gemessen.

Softing OPC Server -> Automatisch Wrapper ca. 120ms
Softing OPC Server -> Siemens client OCX ca. 110ms
Siemens OPC Server -> Automatisch Wrapper ca. 900ms <- Hier die Alomalie (das kann ich mir nich erklären)
Siemens OPC Server -> Siemens client OCX ca. 110ms

Wert aber das ganze mal mit dem custom interface testen.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Question mark,
das mit dem Produktivbetrieb kann ich Dir leider nicht mehr genau definieren. Da ist jetzt zu lange her.

Im Prinzip ja, aber generell kann ein Active-X Control eine Mal-Software enthalten und hat deshalb auf meinen Rechnern keinen Platz, sowas wird sofort gekickt

Das ist wirklich sehr konsequent. Auf meinem Rechner und auf den Schulrechnern befinden sich zahlreiche ActiveXe. Bisher habe ich noch keinen Schaden festgestellt. Deshalb sehe ich keine Veranlassung das bewährte System zu ändern.

Und die Erkenntnisse aus dem praktischen Schulalltag sollten schon für den Azubi zu einem fundiertem Wissen über die verwendete Technologie mit entsprechendem Hintergrundwissen als Endziel führen. Also auch über die OPC-Interfaces und deren Vor- und Nachteile in Bezug auf Geschwindigkeit etc. Oder warum stochert "BorisDieKlinge80" hier mit bald 50 Fragen zum Thema OPC hier im Forum herum

Den Azubi mit fundiertem Hintergrundwissen über die Vor- und Nachteile verschiedener OPC-Interfaces in Bezug auf Übertragungsgeschwindigkeit möchte ich sehen. Ich glaube, da wird es nicht besonders viele in Deutschland geben.
Außerdem dürfen wir den FHs nicht die ganze Arbeit wegnehmen.

Gruß
Earny
 
Unser Bildungssystem ...

Hallo,

Earny schrieb:
Ich selbst bin in der beruflichen Weiterbildung tätig und hatte natürlich vor, Simatic Net auf den Schulrechnern zu installieren. Nachdem unser Administrator erfuhr, dass für Simatic Net eine Umkonfiguration der Rechner erforderlich ist, hat er die Sache stillgelegt. Auf den Rechnern müssen auch andere Softwarepakete problemlos laufen, ohne dass jedesmal eine Umkonfiguration erforderlich ist.

Also irgendwie kann ich mich nicht erinnern, dass ich jemals einen Rechner für den Betrieb mit OPC-Servern "umkonfigurieren" (was immer das bedeuten mag) musste. Ausser die leidige Geschichte mit der DCOM-Security (aber das ist im internen LAN eher sch..egal). Also entweder eigene Unkenntnis oder ein Administrator a la "Bastard Operator from hell". ???

Earny schrieb:
Außerdem dürfen wir den FHs nicht die ganze Arbeit wegnehmen.

Ok, dann verstehe ich jetzt Deine Einstellung. Lieber alle Azubis auf gleichem niedrigen Niveau aus der Ausbildung in die Arbeitswelt schicken, anstatt besondere Begabungen und Fähigkeiten zu fördern. Aber diese Tendenz wird ja schon im schulischen Bereich (also vor der Berufsausbildung) durch die Gesamtschulen gefördert.

Gruß

Question_mark
 
Hallo Question mark

Question mark schrieb:
Ok, dann verstehe ich jetzt Deine Einstellung. Lieber alle Azubis auf gleichem niedrigen Niveau aus der Ausbildung in die Arbeitswelt schicken, anstatt besondere Begabungen und Fähigkeiten zu fördern. Aber diese Tendenz wird ja schon im schulischen Bereich (also vor der Berufsausbildung) durch die Gesamtschulen gefördert.

Ich muss Dir leider mitteilen, dass ich nicht bereit bin, auf der Basis solcher Pauschalanschuldigungen weiterzudiskutieren.
Auch habe ich nicht vor, das deutsche Berufsbildungssystem zu verteidigen.
Ich bin in dieses Forum eingetreten, weil ich fachlich hinzulernen und dieses Wissen natürlich auch an meine Schüler weitergeben will. Dazu bietet das Forum hervorragende Möglichkeiten.
Für mich ist dieser Thread vermutlich beendet.

Gruß
Earny
 
Zuviel Werbung?
-> Hier kostenlos registrieren
...
Die große Stärke von Computing war/ist, es ermöglich nicht nur eine Verbindung zur S7-CPU, sondern auch zu PLCSim von Step7. Daher ist es möglich, nicht nur das STEP7-Programm, sondern auch gleich die zugehörige VB-Visualisierung mitzutesten.
Das klappt bei Softing nicht. Die sind leider nicht in der Lage, PLCSim von Siemens anzusprechen. Sie empfehlen Accontrol ...

Hallo,

das Problem liegt daran, dass S7-PLCSIM nicht von außen erreichbar
ist bzw. nur sehr eingeschränkt über ein OCX S7ProSim, siehe diese
Diskussion. Man hat sonst keinen Zugang zu den Signalen der PLCSIM.
Deswegen empfiehlt Softing eine Lösung, die ähnlich einer SPS
kommuniziert.
 
... Ich muss Dir leider mitteilen, dass ich nicht bereit bin, auf der Basis solcher Pauschalanschuldigungen weiterzudiskutieren. ...

Das würde ich mal nicht so eng sehen. Hier um Forum wird öfter
mal Klartext geschrieben ohne die Diplomatie zu bemühen. Das
sollte man nicht persönlich nehmen.

Entscheidend sind doch die guten fachlichen Tipps - und bei
Question_mark sowieso, wollten wir für ihn nicht mal den
Benutzerstatus OPC-Papst :cool: einführen ... oder war es doch
Foren-Grufti ... :ROFLMAO:
 
Der Nachwuchs

Hallo,

Gerhard Bäuerle schrieb:
Das würde ich mal nicht so eng sehen. Hier um Forum wird öfter mal Klartext geschrieben ohne die Diplomatie zu bemühen. Das sollte man nicht persönlich nehmen.

Erstmal danke an Gerhard, für das Öl auf die Wogen. Du hast schon richtig erkannt, dass ich mich eigentlich mehr über das Bildungssystem aufrege als über die Ausbilder. Die vermitteln schließlich nur vorgegebene Lehrinhalte, die Möglichkeiten sind begrenzt. Und natürlich kann man wahrscheinlich das Thema OPC im Rahmen der Ausbildung nur kurz für ein paar Stunden abhandeln (wenn es denn überhaupt im Lehrplan steht...). Ich habe den Beitrag da oben bewusst etwas provokativ geschrieben. Ich weiss eben, wie man Ausbilder auf die Palme bringt, sie sehen die Unzulänglichkeiten der Ausbildung mit Sicherheit selber, können jedoch trotz besserer Einsicht nicht dagegen anstinken. Und das liegt m.E. daran, was den Ausbildern von der Schule als Rohmaterial angeliefert wird :rolleyes:

Gruß

Question_mark
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja das Forum is ganz in ordnung, und das man Klartext redet ist normal das kenn ich aus anderen Foren. Troz all dem, verzichte ich auf dem Stimatic NET server vorerst , und nehme den softign opc server. Da kann ich wenigsten mehr als 8193 tags anlagen^^
 
Accontrol hat ein paar Probleme mit S7 (Stand ca. Frühjahr08, Accontrol V1.2.20.0, Control Center 1.2.18.0):
1.) Es kollidiert mit irgendeinem S7-Dienst. Den muss man erst abschalten, kann aber über die Folgen nur Vermutungen anstellen.
2.) Es unterstützt keine PEW-/PAW-Adressen oberhalb eines bestimmten Wertes. Wir haben eine CPU314C-2DP. Sämtliche PEW-/PAW-Adressen waren nicht ansprechbar. Man kann das zwar umparametrieren, aber das ist im rauhen Schulalltag problematisch.
3.) Gelegentlich musste erst STEP7 beendet werden, bevor Accontrol mit dem Softing-OPC-Server kommunizieren konnte.
4.) Accontrol kam nicht mit Lokalvariablen von STEP7 zurecht. S7-Programme, die Lokalvariablen enthielten, liefen in Accontrol nicht ab.
5.) Hinzu kam auch noch das recht umständliche Handling bei der Visualisierung (S7 - VB2005 - Softing - Accontrol)

Accontrol war dann also der Grund, weshalb unsere Softing-Versuche eingestellt wurden.

Merkwürdige Aussagen:
Accontrol kann nichts dafür das der "SIMATIC IEPG Help Service" den Port 102 belegt, den man nunmal zwingend braucht für die Verbindung.
Hiermit hat dann aber auch jede andere Software Probleme !
Bei mir ist dieser Dienst immer deaktiviert und ich hatte mit Step7 oder sonstwas nie ein Problem, also braucht man keine Vermutungen über die Folgen anstellen, sondern generell mit Fakten arbeiten.

Ich benutze Accontrol bereit schon lange und wüsste nicht viel zum rummeckern. Zumal bei Deltalogic auch Probleme aufgenommen werden und sobald möglich auch bereinigt.

Ich habe das Gefühl, das bei euch an der Schule lieber mal ein Projekt eingestellt wird, bevor man in eurem "Rauhen Schulalltag" *ROFL*
die Probleme sauber analysiert und im Anschluss löst...

Sorry, aber ich musste das grad mal schreiben ...
 
Zurück
Oben