# OPC Basics



## rgeber (4 Oktober 2004)

Hallo,

ich befasse mich gerade mit den OPC Spezifikationen und habe da eine grundlegende Frage. Ist ein OPC Server an einen Hersteller bzw. an eine bestimmte Serie von Geräten gebunden oder kann ein Server, Treiber von verschiedenen Herstellern verwenden um auf Daten zuzugreifen.

Um das ganze verständlicher zu machen meine zwei Ideen:

1. Ein Hersteller z.B. Siemens oder Beckhoff programmiert seinen OPC Server der in der Lage ist die Daten aus eigenen SPSen auszulesen. Jedoch kann er nicht Daten aus einer SPS eines anderen Herstellers lesen.

2. Ein Hersteller schreiber einen OPC Server der dann "Treiber" von SPS-Herstellern laden kann. So kann der Server auf Daten von Beckhoff, Siemens und GEfanuc (z.B.) gleichermaßen zugreifen und die Daten dann entsprechend der OPC-Standards bereit stellen.

Welche meiner beiden Annahmen ist richtig, bzw. ist überhaupt eine richtig?

rg


----------



## Gerhard Bäurle (4 Oktober 2004)

Mahlzeit,

vom Grundsatz her bieten Hersteller von Komponenten 
für ihre eigenen Komponeten einen OPC-Server an. 
Das macht auch Sinn, weil dazu Protokoll-Internas 
und anderes Detailwissen notwendig sind.

Große Hersteller wie Siemens oder Phoenix oder 
Beckhoff haben naturgemäß weniger Interesse an der 
Unterstützung fremden Komponenten, sie haben selbst 
das volle Programm und wollen den Kunden daran binden.

Im S7-Umfeld z. B. gibt es auch Anbieter wie Inat, Softing, 
wir (Deltalogic) und  noch andere, die mehr Protokolle 
einbauen als ein einzelner Hersteller.

So unterstützt der S7/S5-OPC-Server von uns (bzw. Softing)
mehr Kommunikationsmöglichkeiten als der von Siemens:

 - Ethernet-Profibus-Umsetzer Netlink
 - Profibuskarten von Hilscher
 - Profibuskarten von Softing
 - S5 über AS511 und Ethernet

Auch Inat hat weiter Protokolle eingebaut, z. B. H1.

Viele Grüße

Gerhard Bäurle


----------



## rgeber (4 Oktober 2004)

Hi,

danke für die schnelle Antwort.

Das heißt nun, dass ich pro Steuerungshersteller einen eigenen Server brauche. Jedoch müssen die Server nicht unbedingt vom Hersteller der Steuerung kommen sondern können auch von Dritten,  z.B. von euch.

Und ein Server ist an bestimmte Kommunikations-Hardware im Hostrechner gebunden? Will ich also eine andere Karte einbauen, muss der Server diese auch unterstützen? Oder geht das über andere Kanäle?

cu
rg


----------



## Question_mark (4 Oktober 2004)

*OPC-Basics*

Hallo,


> noch andere, die mehr Protokolle
> einbauen als ein einzelner Hersteller


Nur zur Info, der Simatic.Net OPC-Server bietet folgende Protokolle :

1. S7
2. FDL
3. FMS
4. S/R (vorzugsweise anzuwenden bei S5 Ethernet)
5. PROFInet
6. DP Profibus
7. DP Profibus Master Klasse 2
8. SNMP (Diagnose von Netzwerkkomponenten)
9. DX (XML/SOAP über Internet)

Das hat mir bis jetzt immer ausgereicht. Für AS511 und RK512 empfehle ich http://www.merz-sw.com/
Gruss
Question_mark


----------



## rgeber (4 Oktober 2004)

Hi

Sollte für Siemens alleine ausrichen 

Aber ich will mir hier einen generellen Überblick über die OPC Technik verschaffen, erst mal unabhängig von Steuerungsherstellern. Das kommt dann später.

Weiß jemand ob es OPC Server für Linux, FreeBSD oder MacOS X gibt?

rg


----------



## Question_mark (4 Oktober 2004)

Hallo rgeber,


> Weiß jemand ob es OPC Server für Linux, FreeBSD oder MacOS X gibt


Ist mir nicht bekannt. Ich glaube es auch nicht, da OPC Funktionen des Windows Betriebssystem ab NT 4 nutzt (genauer gesagt COM, weitere Infos dazu unter http://www.computerbase.de/lexikon/Component_Object_Model). Von daher sind andere Betriebssysteme als M$ erst mal nicht in der Lage, mit OPC umzugehen. Es ist vielleicht möglich, dass irgend jemand eine COM Emulation (oder was auch immer) für Linux geschrieben hat, ist mir aber nicht bekannt.
Unter Linux müsste aber zumindest ein OPC-Client nach dem DX Standard möglich sein, meines Wissens kann Linux mit XML-Dokumenten umgehen. Zu Linux kann Zottel aber bestimmt mehr sagen als ich.
Gruss
Question_mark


----------



## rgeber (4 Oktober 2004)

Hm, klingt ernüchternd. Habe mit den Unix Systemen vor allem im Punkto Stabilität sehr gute Erfahrungen. Na ja, hoffe noch auf ne andere Antwort.

rg


----------



## Kurt (4 Oktober 2004)

Es gibt ja auch Softwarefirmen die 'nur' OPC Server haben.
zB.:  www.kepware.com
und dazu viele BusServer (Kommunikationstreiber) anbieten.

Ob man dazu aber für jeden 'Vendor' also 'Protokoll/HW/Kommtreiber Ding' einen eigenen OPC Server hat oder ob einem Client über *einen* Server alle 'Steuerungen' zur Verfügung stehen .... weis nicht.

Kurt


----------



## Zottel (4 Oktober 2004)

Question_mark schrieb:
			
		

> Hallo rgeber,
> 
> 
> > Weiß jemand ob es OPC Server für Linux, FreeBSD oder MacOS X gibt
> ...


Es gibt eine Implementation von DCOM (dem unter OPC liegenden Mechanismus für verteilte Objekte) für LINUX:

[url]http://www2.softwareag.com/at/products/entirex/downloads/download_exxdcom.asp.
[/url]
Soweit ich weiß, gibt es auch Hersteller, die darauf aubauend OPC machen. Aber da ich mich zuletzt vor mehr als 18 Monaten dafür interessiert habe, weiß ich nicht was aktuell ist.
google +OPC +linux.
Es hilft dir bloß nicht wirklich, wenn es die gerätespezifischen Server der Hersteller immer nur für Windows gibt.
Wenn du client und server unter Linux haben willst, sie dir mal ACPLT an.

[url]http://acplt.plt.rwth-aachen.de/ks/ks.html
[/url]
Das ist ein ähnliches System wie OPC, das heißt es gibt Server, die mit der SPS kommunizieren und die Werte netzweit zur Verfügung stellen.
Für S7 gibt es mindestens einen kommerziellen Server.
Windows-Clients gibt´s auch.

Eine geeignet konfigurierte Installation meiner Visualisierungssoftware VISUAL kann prinzipiell die Daten aller unterstützten SPSen als (wenig kofortabler) ACPLT-Server anbieten.

[url]http://visual.sourceforge.net
[/url]
Dazu ist der aktuellste Code aus dem CVS erforderlich.
[/url]


----------



## Question_mark (4 Oktober 2004)

Hallo,
nur zur Klärung der Begriffe :
COM   = Server und Client auf dem gleichen Rechner
DCOM= Server und Client auf unterschiedlichen Rechnern im Netzwerk
Gruss
Question_mark


----------



## rgeber (5 Oktober 2004)

Danke für die Links und Erklärungen, werde das gleich mal durch gehen.

rg


----------



## Rudi (17 Oktober 2004)

Wer kann einen OPC-Server für Siemensprodukte empfehlen der wenig "Programmierkentnisse" benötigt und wo zumindest die Hilfedateien in Deutscher Sprache verfasst sind.


----------



## Question_mark (17 Oktober 2004)

Hallo Rudi,


> der wenig "Programmierkentnisse" benötigt


das ist eigentlich bei allen OPC-Servern gegeben, die werden installiert und evtl. parametiert, fertig iss dat Ding (ausser man will den unbedingt selber programmieren  :? ).


> zumindest die Hilfedateien in Deutscher Sprache


ist eigentlich bei Siemens, Softing und anderen Produkten, die in Deutschland vertrieben werden, meistens der Fall.
Gruss
Question_mark


----------



## Gerhard Bäurle (17 Oktober 2004)

Rudi schrieb:
			
		

> Wer kann einen OPC-Server für Siemensprodukte empfehlen der wenig "Programmierkentnisse"
> benötigt und wo zumindest die Hilfedateien in
> Deutscher Sprache verfasst sind.



Hallo,

bei OPC benötigen Sie keine Programmierkenntnisse, Sie 
parametrieren nur den OPC-server und den OPC-Client.

Für S7- und S5-Steuerungen gibt es von uns einen OPC-Server,
Doku/Hilfe ist deutsch (und englisch), es gibt auch eine 
30-Tage-Vollversion zum Test. 

Weiter Infos dazu:
http://www.deltalogic.de/software/s7-opc-server.htm

Demo-Download:
http://www.deltalogic.de/download/s7-opc-server.htm

Viele Grüße
Gerhard Bäurle


----------



## Question_mark (18 Oktober 2004)

Hallo Rudi,
generell kann ich nur empfehlen, den OPC-Server des Herstellers der jeweiligen Steuerung zu verwenden, also Siemens OPC-Server bei S5, S7 und Simotion oder ABB bei ABB-Steuerung u.s.w.
Die Hersteller der jeweiligen Steuerung kennen halt ihr proprietäres Kommunikationsprotokoll am besten und sind dann natürlich auch wesentlich kompetenter, den zur Steuerung passenden OPC-Server zu liefern und bei evtl. Problemen schnell und kompetent helfen zu können (wenn's denn mal erforderlich sein sollte).
Gruss
Question_mark


----------



## Anonymous (18 Oktober 2004)

Question_mark schrieb:
			
		

> Die Hersteller der jeweiligen Steuerung kennen halt ihr proprietäres Kommunikationsprotokoll am besten und sind dann natürlich auch wesentlich kompetenter, den zur Steuerung passenden OPC-Server zu liefern und bei evtl. Problemen schnell und kompetent helfen zu können



Zumindest bei z. B. Siemens ist unsere Erfahrung eine andere. Wenn ich Siemens einen Fehler melde, dann wird dieser zwar domumentiert, aber sonst passiert erst mal nichts.

Wenn ich z. B. an Inat ein Problem melde, setzt sich der Entwickler auch mal über das Wochenende hin und löst das Problem.

Wo bei ich hier Siemens nicht schlecht machen will - es dauert halt, bis sich neuere Informationen durch die Konzern quälen.


----------



## Question_mark (18 Oktober 2004)

Hallo Gast,


> aber sonst passiert erst mal nichts


man muss natürlich, wenn nötig, das ewig nuschelnde Orakel von Nürnberg bis an seine Grenzen nerven, dann funktioniert das aber ganz gut.     
Gruss
Question_mark
Edit von QM : ich denke, dass 70% der Hotline Anfragen mit dem Spruch RTFM (Read the fucking manual) beantwortet werden könnten, aber man gibt sich dort wirklich viel Mühe.


----------



## Gerhard Bäurle (19 Oktober 2004)

Anonymous schrieb:
			
		

> [Wo bei ich hier Siemens nicht schlecht machen will - es dauert halt, bis sich neuere Informationen durch die Konzern quälen.



Dazu gibt es eine alte 'Weisheit', die ich natürlich nicht im Namen der Firma sondern als Privatperson und ohne weitere Kommentierung wiedergeben möchte:

"Wenn Siemens wüsste, was Siemens alles weis, wäre Siemens unschlagbar."

Viele Grüße

Gerhard Bäurle


----------

