Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 10 von 10

Thema: OPC welche Lib

  1. #1
    Registriert seit
    07.05.2010
    Beiträge
    5
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo!

    Ich habe die Aufgabe Daten aus einem OPC Server auszulesen und soll
    dazu einen Client programmieren. Ich habe schon einiges gegoogelt und informationen gefunden, aber das was ich suche war noch nicht dabei.

    Welche Information ich nicht gefunden habe, welche Library man am besten benutzt und wo ich diese dann her bekomme.

    Die Programmiersprache ist mir erst mal egal, ob VisualBasic, C++, C# oder Delphi ist erst mal zweitrangig.

    Vielen dank schon mal im vorraus für eure Hilfe.
    Zitieren Zitieren OPC welche Lib  

  2. #2
    Registriert seit
    02.01.2006
    Ort
    Leverkusen
    Beiträge
    51
    Danke
    0
    Erhielt 6 Danke für 6 Beiträge

    Standard

    Hi,

    für den Client brauchst du die OPCDAAUTO.DLL.
    Das Interface ist gut dokumentiert und du findest eine Menge Beispiele dazu im Netz.
    Es gab schon Beitäge hier im Forum.
    http://sps-forum.de/showthread.php?t=22512

    Gruß Nitro
    Die Fähigkeit sprechen zu können macht nicht unbedingt intelligent. (Qui-Gon Jinn)

  3. #3
    citybreaker ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    07.05.2010
    Beiträge
    5
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ok dankeschön. Die Lib konnt ich nun herunterladen. Beim einbinden
    in C# kommts allerdings zu ner Fehlermeldung das es sich Dabei um keine gültige Assembly oder Com Komponente handelt.

    Für welche Programmiersprachen ist die Lib geeignet? Hab da leider auch
    durch googlen und in der Forensuche keine Informationen zu finden können.

  4. #4
    Registriert seit
    27.10.2009
    Beiträge
    317
    Danke
    0
    Erhielt 64 Danke für 54 Beiträge

    Standard

    Die Automation Dll wird für das Automation Interface benötigt. Der OPC Server ist nichts anderes als eine COM Komponente (nach der Definition von MS) mit einem sogenanten Dual Interface. Es kann damit direkt mit C++ verwendet werden (unmanaged Code) das ist auch der effektivste Weg und liefert die größte Performance.

    Um mit Visual Basic oder Delfi gegen die COM Komponenten zu programmieren benötigt man die Automation DLL, diese setzt das Custom Interface in das Automation Interface um. Es handelt sich hierbei also um einen Wrapper, den Automation-Wrapper.

    Für C# ist das alles noch einmal schwieriger, denn hier wird von managed gegen unmanaged Code programmiert. Dafür wird eine COM-Interop Komponente benötigt. Diese RCW und eine .NET API gibt es von der OPC Foundation.

    Mein Tip: Programmiere in C++ dann a) lernst du was dabei und b) das Ergebnis ist performanter und c) du kannst auch knifflige Probleme lösen, Speicher, Verbindungsabbrüche, Timeouts,... wenn du die ATL verwendest ist es nicht mal schwierig und das Studio hat verschiedene Wizzards die dir helfen (obwohl du dann wieder nicht so viel lernt als wenn du es selber machst

  5. #5
    citybreaker ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    07.05.2010
    Beiträge
    5
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ok danke dir. Dann werd ich das ganze mit C++ machen.

  6. #6
    Registriert seit
    07.07.2004
    Beiträge
    3.285
    Danke
    38
    Erhielt 584 Danke für 382 Beiträge

    Beitrag

    Hallo,

    Zitat Zitat von Dr. OPC
    Es [das Automation Interface] kann damit direkt mit C++ verwendet werden
    Doktorchen darf ich da mal etwas korrigieren. Das Automation Interface ist für die Programmierung mit Visual Basic bestimmt, da VB nicht mit COM Interfaces umgehen kann und daher diese Performance fressende Krücke als Wrapper braucht.

    Zitat Zitat von Dr. OPC
    Um mit Visual Basic oder Delfi gegen die COM Komponenten zu programmieren benötigt man die Automation DLL, diese setzt das Custom Interface in das Automation Interface um.
    Auch das ist nicht richtig. In Delphi kann ich direkt (also wie auch in C++) gegen das Custom Interface programmieren, irgendwie hast Du da die Programmiersprachen durcheinandergewürfelt.

    Gruß

    Question_mark
    Zitieren Zitieren Dokterchen, darf ich mal korrigieren  

  7. #7
    Registriert seit
    27.10.2009
    Beiträge
    317
    Danke
    0
    Erhielt 64 Danke für 54 Beiträge

    Standard

    Sorry, das ist tatsächlich etwas misverständlich rüber gekommen.

    Es [gemeint ist das DualInterface] ist zunächst mal eine Kombination aus Custom und Dispatch Interface. Das IDual wird direkt verwendet von sagen wir mal Sprachen, die Pointer beherrschen (vtable Zugriff auf Methoden), also C++ und Delfi (da hast du recht) und einige andere. Das DualInterface ist schneller (early binding), unterstützt im Unterschied zum "echten" Custom aber nur Automationtypen (von Dispatch "geerbt"). Es [immer noch das DualInterface] enthält zusätzlich das IDispatch Interface, dieses wird von allen Sprachen mit sagen wir mal einem Interpreteransatz verwendet z.B. VisualBasic, Scripting und anderen. Hier gibt es nur die Automation Datentypen. Zum Zugriff wird dabei ein Wrapper verwendet, der üblicherweise eine DLL ist und den Zugriff kapselt, der Zugriff ist langsamer (late binding). OPC Server sind COM Server und haben fast alle (zumindest die, die ich kenne) das Dual Interface.

    Ich hoffe nun ist es klarer. Vermutlich nicht. Ich versuche es nochmal einfach.

    1) "classic" OPC Server sind COM Server (also COM Objekte)
    2) Sie haben ein DualInterface (ein Dispatch und ein auf Automationtypen reduziertes Custom Interface)
    3) Direkter Zugriff über COM map, vtable nur mit Sprachen die diese Pointer beherrschen (Toolsupport schlecht ausser mit ATL, schnell)
    4) Indirekter Zugriff über Wrapper DLL für Interpretersprachen (guter Toolsupport, langsam)

  8. #8
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.218
    Danke
    533
    Erhielt 2.696 Danke für 1.948 Beiträge

    Standard

    Ich würde Folgendes empfehlen, wenn ihr ein wenig Geld erübrigen könnt: http://www.kassl.de/opc/index.shtml

    Kostet wirklich nicht die Welt, funktioniert aber sehr gut!
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  9. #9
    Registriert seit
    07.09.2005
    Ort
    MOS
    Beiträge
    156
    Danke
    22
    Erhielt 26 Danke für 17 Beiträge

    Standard

    Hallo,

    ich benutze diese Bibliothek.
    http://www.codeproject.com/KB/COM/opcdotnet.aspx

    Einige Projekte laufen schon seit Jahren fehlerfrei damit.
    Programmiersprache: C#

    Grüße
    David

  10. #10
    citybreaker ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    07.05.2010
    Beiträge
    5
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Danke schonmal. Werde mir die verschiedenen Sachen die ihr gepostet habt
    in nächster Zeit mal genauer angucken und gucken was für mich am besten
    geeignet ist.

    Mit Rückfragen sind zu rechnen.

Ähnliche Themen

  1. Welche SPS?
    Von maximb im Forum Sonstige Steuerungen
    Antworten: 29
    Letzter Beitrag: 21.11.2009, 12:11
  2. Welche SPS?
    Von ElekTric im Forum Sonstige Steuerungen
    Antworten: 11
    Letzter Beitrag: 29.05.2009, 12:46
  3. Welche CPU
    Von Boris im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 27.05.2009, 18:41
  4. Welche SPS und welche Software
    Von allroundpeter im Forum Sonstige Steuerungen
    Antworten: 16
    Letzter Beitrag: 11.07.2008, 10:30
  5. Welche OB's?
    Von PeterPan im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 10.05.2006, 09:17

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •