Delphi Zugriff auf Simatic Net OPC Server

marco195

Level-1
Beiträge
12
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!

Ich bin auf der Suche nach Informationen wie ich aus einem Delphi Projekt heraus auf die Variablen eines Siemens OPC Servers zugreigen kann (Simatic Net / Softnet mit S7-300).
Hat Jemand schonmal darin Erfahrungen gemacht?
Vielleicht kann mir Jemand weiterhelfen. Danke.

Marco
 
marco195 schrieb:
Ich bin auf der Suche nach Informationen wie ich aus einem Delphi Projekt heraus auf die Variablen eines Siemens OPC Servers zugreigen kann (Simatic Net / Softnet mit S7-300).
Hat Jemand schonmal darin Erfahrungen gemacht?
Vielleicht kann mir Jemand weiterhelfen. Danke.
Marco

Hallo,

zum Zugriff auf den OPC Server wird ein OPC Client
benötigt, eine Möglichkeit dazu hier:

http://www.sps-forum.de/showpost.php?p=18363&postcount=1

--- Achtung Werbung ---
Wenn der "Umweg" über OPC nicht zwingend
erforderlich ist, können Sie mit unserer SPS-
Kommunikationsbibliothek ACCON-AGLink auch
direkt auf die S7 zugreifen. Beispiele, auch mit
Delphi, finden Sie im Download-Bereich.
--------- Ende ---------

Viele Grüße

Gerhard Bäurle
 
Zuviel Werbung?
-> Hier kostenlos registrieren
OPC-Server

Hallo,
marco195 schrieb:
wie ich aus einem Delphi Projekt heraus auf die Variablen eines Siemens OPC Servers zugreigen kann
Eigentlich hat Herr Bäuerle die optimale Lösung zum Zugriff auf den Simatic-Net OPC-Server schon genannt : dOPC-Client von Kassl GmbH, wirkich empfehlenswert und industriellen Ansprüchen gewachsen, Kompliment an Herrn Kassl...
Herr Bäuerle hat als Alternative den ACCON-AGLink genannt, der macht den OPC-Server überflüssig und ausserdem ist im Gegensatz zum OPC-Server bei der S7 keine Verbindungsprojektierung mit Net-Pro erforderlich. In vielen Fällen eine durchaus überlegenswerte Alternative zum OPC-Server. Mit beiden Varianten habe ich mittlerweile ausreichende Erfahrungen sammeln können. Beide Varianten kann ich nur empfehlen, sind absolut industrietauglich. Bei ACCON-AGLink sind auch entsprechende Beispiele in Delphi vorhanden. Die Anwendung ist eigentlich m.E. mit ACCON-Link einfacher zu erstellen, da die ganze Prozedur mit den OPC-Gruppen und OPC-Items entfällt. Zumal die OPC-Items in Delphi nochmal separat deklariert werden müssen.

Gruss
Question_mark
 
Vielen Dank für die schnellen Antworten. Das Problem ist, das die OPC-Geschichte vorgegeben ist, es handelt sich um ein Projekt für 'ne Technikerschule. S7-300 mit entsprechender Anbindung über's Ethernet an einen Rechner im Netz ist vorgegeben, dort läuft der Siemens Eigene OPC-Server aus Softnet. Meine Aufgabenstellung ist es nun, eine Delphi Anwendnung zu schreiben, welche auf einem weiteren Rechner im Netz läuft, und auf Daten des OPC-Servers zugreift. Die eigentliche Programmierung der Delphi Anwenung ist soweit kein Problem. Nur die Verbindung zum OPC Server steckt noch in den Kinderschuhen. Derzeitz läuft das Projekt gerade an, und wir suchen erstmal Möglichkeiten. Den dopc Client von Kassl habe ich mir schon genauer angesehen, wäre sicherleich eine Möglichkeit, aber halt erst wenn nichts anderes geht. Schulprojekt=möglichst billig bzw. ohne Zusatzkosten... wie das halt so ist. Ich bin jetzt gerade mit den Sachen von www.opcconnect.com am probieren. Trotzdem schonmal bis hierher vielen Dank für die Tipps...
 
In der Siemens-Doku für den OPC-Server von Simatic-Net ist der Zugriff auf den OPC-Server aus VB heraus ganz gut beschrieben, und das Umsetzen auf Delphi stellt eigentlich kein Problem dar, hab ich selbst schon gemacht. Das ist dann die billigste Lösung, und wenn Du die Arbeitszeit dabei nicht berücksichtigst, sogar völlig kostenlos, was bei Schulprojekten ja eigentlich immer erwünscht ist.

Beim Zugriff auf einen OPC-Server von einem anderen PC aus mußt Du übrigens aufpassen, daß dabei keine Domänengrenze überschritten wird (ein PC innerhalb der Domäne, der andere PC außerhalb oder in einer anderen Domäne), sonst hast Du mit massiven Problemen beim Zugriff auf den OPC-Server zu kämpfen.


Gruß Axel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke Axel,

das war genau der Tip der mir bisher gefehlt hatte, das mit VB in der Doku hatte ich noch nicht mitbekommen, werde ich mir mal reinziehen. Ich denke auch das eine Umsetzung in Delphi dann nicht mehr so wild ist.
Danke auch für den Hinweis mit den Domänen, das hatte ich noch gar nicht berücksichtigt. Ich melde mich wieder wie's so aussieht...

Marco
 
Delphi OPC Client

Hallo,

afk schrieb:
Zugriff auf den OPC-Server aus VB heraus ganz gut beschrieben, und das Umsetzen auf Delphi stellt eigentlich kein Problem dar

Naja, der Zugriff von VB auf den OPC-Server kann wohl nur über das Automation-Interface erfolgen. Für die Anwendung in Delphi würde ich doch mal das Custom-Interface verwenden, oder ???

Gruss

Question_mark
 
Naja, der Zugriff von VB auf den OPC-Server kann wohl nur über das Automation-Interface erfolgen. Für die Anwendung in Delphi würde ich doch mal das Custom-Interface verwenden, oder ???
Delphi kann beides, ich hab meine ersten Tests mit dem Automation-Interface durchgeführt, bin dann für meine eigene OPC-Client-Komponente auf das Custom-Interface umgestiegen. Letzteres ist zwar die bessere Wahl, da stimme ich Dir zu, aber auch ein wenig komplizierter in der Handhabung.

Das Custom-Interface ist übrigens auch in der Siemens-Doku beschrieben (mit C++), hatte ich nur vergessen zu erwähnen.


Gruß Axel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
OPC-Server und Delphi

Hallo,

afk schrieb:
aber auch ein wenig komplizierter in der Handhabung
Vielleicht komplizierter, aber eben auch mit wesentlich besserer Performance.
Daran beisst die Maus keinen Faden ab...
Aber nur für ein paar Variablen reicht auch das Automation-Interface aus. Marco195 hat eben nicht geschrieben, welche Anforderungen an Geschwindigkeit und Mengengerüst gestellt werden. Solange das nicht geklärt ist ---> Custom-Interface.

Gruss

Question_mark
 
Hallo,

und nebenbei bemerkt : Microsoft hat das Automation-Interface nur eingeführt, damit die Krücke von Entwicklungsumgebung (namens Visual Basic) doch irgendwie und mit vielen Verrenkungen auf COM-Objekte zugreifen kann und nicht völlig obsolete wird...

Und jetzt wegducken und wechhhhhh :sm18: :sm18:

Gruss

Question_mark
 
So, wir´haben dann jetzt mal probiert, also die Beschreibung im Siemens Handbuch habe ich gefunden (hätte ich auch selber drauf kommen können). Ich will jetzt erstmal mi VB probieren, denn dafür stehen ja auch ein paar ganz nette Beispiele drin. Einziges Problem was nun heute Aufgetreten ist: Die ganze Siemens Software ist auf Rechner x installiert, Siemens beschreibt dann wie man die Komponenten in VB einbindet. VB läuft nur auf Rechner y, wo die Sachen nicht installiert sind. Weiß Jemand welche Dateien das sind? Bzw. gibt es eine Möglichkeit mit den ActiveX Controls von Siemens auch auf einem Rechner zu entwickeln, woe SImatic Net nicht installiert ist?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
marco195 schrieb:
gibt es eine Möglichkeit mit den ActiveX Controls von Siemens auch auf einem Rechner zu entwickeln, woe SImatic Net nicht installiert ist?
Da würde ich doch mal vorschlagen, die Active-X Objekte auf den Entwicklungsrechner zu kopieren ???
Und sich in Deinem Fall schon mal vorsorglich mit DCOM zu beschäftigen, wenn Du später von einem anderen Rechner auf den OPC-Server zugreifen möchtest. Das wird sicher noch ganz interessant ;)

Gruss
Question_mark
 
Weiß Jemand welche Dateien das sind? Bzw. gibt es eine Möglichkeit mit den ActiveX Controls von Siemens auch auf einem Rechner zu entwickeln, woe SImatic Net nicht installiert ist?
In welchen Dateien die Schnittstellen stecken kann man über die Registry herausfinden, wenn die Dateien dann aber wieder weitere Dateien (z.B. dlls) benötigen, was wohl der Fall sein dürfte, dann wird es schnell ziemlich komplex. Ich würde an Deiner Stelle SimaticNET auf dem Entwicklungsrechner installieren. Lizensieren dürfte eigentlich nicht notwendig sein, wenn Du nur die Schnittstellen importieren willst. Falls Du allerdings auf dem Rechner auch noch debuggen willst, dann mußt Du entweder des öfteren mal den Hinweis auf die fehlende Lizenz wegklicken, oder aber doch lizensieren. Auf jeden Fall geht debuggen nur bei installiertem SimaticNET.
[Edit:]Zum letzten Satz: Debuggen geht auch bei einem DCOM-Zugriff auf einen anderen Rechner, aber am Anfang würde ich es erst mal lokal testen, das macht es erheblich einfacher.[/Edit]


Gruß Axel
 
Zuletzt bearbeitet:
Mmm, der Vorschlag von question mark klingt einfach, ich denke das werde ich zuerst mal probieren, wobei der Hinweis von afk ebenfalls einleuchtend klingt. Wenn's mit dem Exportieren auf den Entwicklungsrechner nicht auf Anhieb klappt werde ich den Vorschlag von afk probieren... bevor da zu viel Zeit drauf geht.
Bisher haben mir eure Tips wirklich gut weitergholfen, ich melde mich wieder :rolleyes:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn es ein Projekt für die Technikerschule ist, kann man auch mal bei der Kassl GmbH anrufen. Vielleicht haben die ja ein Einsehen und geben eine Lizence so an Euch.
 
Wenn es ein Projekt für die Technikerschule ist, kann man auch mal bei der Kassl GmbH anrufen. Vielleicht haben die ja ein Einsehen und geben eine Lizence so an Euch.


Das wäre sicherlich eine optimale Lösung, aber die Projekte laufen immer in Zusammenarbeit mit Schule und einem Unternehmen. Das Unternehmen stellt die Aufgabe, sorgt für die Hardware und u.s.w, dafür dürfen sie das "Produkt" danach dann auch verwenden. Da dies alles soweit ganz klar geregelt ist, denke wird es die Option mit der kostenlosen Lizenz nicht geben. Gut, nun könnte man sagen "dann können die ja eine Kaufen", geht aber auch nicht, da a) das Budged nicht so groß ist, und b) wir sollen ja auch was eigenes Nachweisen.
Ich bin aber ganz optimistisch das es klappen wird.
 
Hallo,

marco195 schrieb:
wir sollen ja auch was eigenes Nachweisen.

Was eigenes Nachweisen wäre ja z.B. der Einsatz des Simatic.Net OPC-Servers von Siemens und des OPC-Clients von Kassl in einer Delphi-Applikation. Du kannst aber alternativ auch Deinen eigenen OPC-Client mit Custom-Interface in Delphi schreiben, auch eine sehr interessante Aufgabe.

Gruss

Question_mark
 
Na dann soll doch die Schule (ach so, keine Uni) sich um eine kostengünstige Lizenz bemühen, oder sehe ich das jetzt zu einfach ???

Leider leider... ja, das siehst du jetzt zu einfach :???:
Wenn das ganze hinterher in der Schule verbleiben würde: Kein Problem, aber: Das "Projekterzeugnis" verbleibt komplett beim unterstützendem Unternehmen, die werden (wenn es denn ihren Vorstellungen entspricht) das ganze später auch einsetzen bzw. wollen sich natürlich die Option offen lassen auch weiter auszubauen. Lange Rede, kurzer Sinn: Alle Rechte liegen beim Unternehmen = Keine Schullizenzen möglich.

Aber ich bleibe dabei... die Tips bisher haben mich schon 'ne Ecker weitergebracht, und es wäre doch gelacht wenn das nicht irgendwie klappt...

Vielleicht nochmal kurz zur Erklärung: 2 Leute arbeiten am Projekt: Einer macht die Siemens Seite, kennt sich damit ganz gut aus, einer, in diesem Fall ich, macht den Part Anwendersoftware schreiben, und kennt sich in Delphi etc. ganz gut aus. OPC und das komplette drum und dran: Für beide ganz neu. Aber ein wenig Herausforderung muss ja auch sein ;)
 
Zurück
Oben