Forum: Haus & Smart Home OPC Server


von komikaa (Gast)


Lesenswert?

Hallo,
ich habe eine Frage zu OPC Server:
Kann man mehrere Automationssysteme auf EINEM gemeinsamen OPC Server
mit mehreren Instanzen bündeln?

von Ulrich (Gast)


Lesenswert?

Kann sein kann nicht sein ;-)

Welcher Server, welche anbindung usw. mit ein bissele mehr Infos kann
ich dir gescheite und praxiserprobte Hinweise liefern...

So just4fun: Du arbeitest aber nicht bei Kuka und sollst was nach
stuttgart liefern ;-)

von komikaa (Gast)


Lesenswert?

nein ich arbeite nicht für kuka (?) ;)

welcher server ist schlecht zu sagen, da es mir nur darum geht, ob
sowas - egal mit welchem server (eventuell auch neu geschrieben)-
überhaupt möglich ist.

von Jan (Gast)


Lesenswert?

So weit ich weiß stellt ein OPC server ja nur Raum für Variablen zur
verfügung. Auf diese kann dann von div Programmen zu gegriffen werden.

Des halb sollte es mit einem OPC server gehen

von komikaa (Gast)


Lesenswert?

ja ein opc server stellt variablen für diverse programme zur verfügung -
daher kann ich mit mehreren programmen auf den server zugreifen.

meine frage ist aber eine andere: kann ich mehrere instanzen
initialisieren, die jeweils die gleichen variablenname aber
unterschiedliche werte haben?

von Joline (Gast)


Lesenswert?

Nein, geht nicht.

Ein OPC-Server ist - wie der Name schon sagt - ein Server. Er besitzt
"nach unten" ein maschinenspezifisches Interface, über das mit der
oder den Maschinen Daten ausgetauscht werden können. Wie viele
Maschinen das sein können, hängt von der Implementierung des Servers
ab. "Nach oben" hat ein OPC-Server ein DCOM-Interface. Dieses
Interface ist eine genormte Schnittstelle, so dass darüber OPC-Clients
auf die Daten des Servers zugreifen können, ohne die Eigenheiten des
Datenaustausches mit den eigentlichen Maschinen zu kennen. Hierbei
können auch mehrere Clients auf den gleichen OPC-Server zugreifen.

Zu Deiner Frage:
Ein OPC-Server wird über einen Namen und einen zugehörigen GUID-Eintrag
in der Registry verewigt. Will nun ein Client auf diesen Server
zugreifen, so wird über den im Client angegebenen Namen die zugehörige
GUID gesucht und dann darüber das entsprechende Programm (sprich der
OPC-Server) gestartet. Das bedeutet, dass der nächste Client wieder das
gleiche Programm startet, das ja aber schon läuft. Das Programm 2x zu
starten würde nicht funktionieren, dann dann keine eindeutige Zuordnung
mehr gegeben ist.
Was allerdings geht, wenn man ein 2. Programm erstellt und diesem eine
eigene GUID verpasst. Aber dann hätte man ja schon einen weiteren
OPC-Server und nicht nur einen weitere Instanz.

Eine recht gute Einführung findet man unter:
http://tww.fh-duesseldorf.de/et/langmann/seminarprojekte/siham/einf%FChrung_in_die_opc.htm

von Peter Ullrich (Gast)


Lesenswert?

Hallo zusammen,

doch, geht wohl!

Natürlich kann man mehrere Geräte über einen OPC-Server anbinden.
Es gibt sogar mehrere Möglichkeiten!

Falls du einen eigenen OPC-Server hast kannst du natürlich
alles anstellen!
Falls der OPC-Server ist von einem Fremdherstelller:
Software proggen die die Daten, von welcher Schnittstelle auch immer,
annimmt und als OPC-Client, an den eigentlichen OPC-Server,
weiterleitet.
Das mit der 2.ten GUID ist Quatsch!! Das würde ja fast den Sinn von
OPC-Servern eliminieren!


Zu deiner eigentlichen Frage:
meine frage ist aber eine andere: kann ich mehrere instanzen
initialisieren, die jeweils die gleichen variablenname aber
unterschiedliche werte haben?

Das funktioniert nicht!
Du hast einen OPC-Server, wie soll der wissen zu welcher
Maschine die Variable 'v1' gehört?
Auf dem OPC-Server müssen die Variablen eindeutig sein.
Auf dem Clent sieht das natürlich anders aus.
Da kannst du dir ja einfach einen Präfix an die Variable anhängen.

MASCHINE1_v1

Hab ich die Frage nicht verstanden oder hilft dir das ein bisschen?

P.S:
Entwickle Visualisierungssysteme.
Hab nen eigenen OPC-Server entwickelt der über ActiveX Server
mit allen Geräten (Quelle) kommunizieren kann.
Protokoll und Telgramm müssen natürlich an die Hardware angepasst
werden!

Diese Aussage stimmt so auch nicht!!
Das bedeutet, dass der nächste Client wieder das
gleiche Programm startet, das ja aber schon läuft.

Das regelt DCOM. Das ganze läuft so ähnlihc wie Dienste ab.
In der MSDN gibt es etliche Artikel über das Thema.


Sorry, hab grad keine Zeit um das ausführlicher zu beschreiben!

Gruß
Peter

von Tiger (Gast)


Lesenswert?

hallo
ich habe ein OPC Server/Client Demo von der Firma heruntergeladen,Ich
habe die ganze Zeit versucht, nur einen wert von dem Server einzulesen,
aber es klappt einfach nicht.
Ich möchte gerne einen Wert von einem Steuergerät einlesen, dafür habe
ich schon im konfigurator alles eingegeben das heisst ich habe die
IP-Adresse des Modbus/TCP Gerärt eingegeben die Items habe ich auch
hinzugefügt, dann wollte ich einfach von OPC Client den wert lesen aber
ich bekomme jedesmal den gleich Fehlermeldung und zwar:
Errortext: The read I/O operation failed
Resulttext:der Server kann den wert nicht zwichen dem geforderten und
dem gespeicherten Datentyp konvertieren

kann jemmand mir sagen woran das liegt!ich habe alle Datentypen die ein
Modbus/TCP kennt ausprobiert und klappt immer noch nicht

für jede Hilfe bin ich sehr dankbar

MfG

T.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.