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

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 25

Thema: OPC - Client programmieren mit Microsoft Visual Studio 2008

  1. #1
    Registriert seit
    27.01.2010
    Beiträge
    17
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich habe follgende Problemstellung:
    Es soll an Siemens SPS Steuerungen über 1x S5-Lan & 1x S7-Lan - Stecker von Process-Informatik, über den OPC - Server (OPC-Manager) von Process-Informatik E/A/M etc. beobachtet werden können.

    Über diesen OPC Manager komme ich bereits an die Steuerungen Online und kann die Variable auch beobachten / schreiben.

    Doch nun brauche ich das Sprungbrett von meinem Visual Studio 2008 C# Projekt raus auf den OPC - Server.

    Ich suche den Quelcode eines Client, damit ich den OPC-Server ansprechen kann.

    Kann mir jemand weiterhelfen?
    Zitieren Zitieren OPC - Client programmieren mit Microsoft Visual Studio 2008  

  2. #2
    Registriert seit
    20.10.2003
    Ort
    Biberach
    Beiträge
    5.068
    Danke
    959
    Erhielt 1.459 Danke für 922 Beiträge

    Standard

    Hallo,

    ich würde mal beim Hersteller fragen, vielleicht haben die
    ja was im Angebot oder sonst einen Vorschlag.

    Sonst:
    http://www.opcconnect.com/freecli.php
    Beste Grüße Gerhard Bäurle
    _________________________________________________________________
    Hardware: the parts of a computer that can be kicked. – Jeff Pesis

  3. #3
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Hier gibt es so etwas auch, allerdings nicht kostenlos und ob mit Quellcode???

    http://www.kassl.de/opc/index.shtml
    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

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

    Lächeln

    Hallo,

    Zitat Zitat von Ralle
    allerdings nicht kostenlos und ob mit Quellcode???
    Nicht kostenlos, aber noch relativ günstig. Jedenfalls wenn man den Arbeitsaufwand zur Erstellung eines zuverlässig funktionierenden OPC-Clients in Relation setzt.

    Und die Quelltexte werden vom Herrn Kassl mitgeliefert ...

    Natürlich nicht bei der Demoversion , aber wer eine Lizenz kauft bekommt auch die Quelltexte. Und einen absolut sauber funktionierenden OPC-Client dazu.

    Gruß

    Question_mark
    ''Ich habe wirklich keine Vorurteile.
    Meine Meinung ist nur die Summe der Erfahrungen" ... (Question_mark)
    Zitieren Zitieren Opc da  

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

    Standard

    Von der OPC Foundation gibt es (auch für Nicht-Mitglieder) verschiedene Komponenten zum Download. Oft werden diese ins Setup des Servers integriert und befinden sich somit schon auf der Maschine.

    Die OPC Schnittstelle ist als sogenanntes "Custom-Interface" definiert. Dabei handelt es sich um eine C++ Schnitstelle, die den Regeln des COM (Component Object Model) von Microsoft unterliegt. Zum "direkten" Zugriff auf Schnittstelle muss auch der Client in C++ geschrieben sein.

    Um aber auch Clients mit anderen Sprachen entwickeln zu können, gibt es das sogenannte "Automation-Interface" eine Schnittstelle für VisualBasic V6 (bzw. VBA von Excel). Dabei handelt es sich um eine DLL, die vom Client geladen wird und dann die Aufrufe an den Server "weiterleitet" (daher auch gerne "Automation-Wrapper" genannt).

    Für die (neuen) .NET Sprachen C# und VB.NET gibt es die RCW (Runtime Callable Wrapper) die zwischen managed und unmanaged Code "vermitteln".

    http://www.opcfoundation.org/Downloa...EY&CI=286&CU=7

    Für Mitglieder der OPC Foundation gibt es weitere Komponenten, Beispiele und auch Source Code. Unter anderem die ".NET API" eine Schnittstelle, die direkt in .NET verwendet werden kann und quasi die COM und die .NET Technologie verbindet.

    http://www.opcfoundation.org/Downloa...Y&CI=281&CU=16

    Darüber hinaus gibt es die schon erwähnten Drittanbieter, die zum Teil die ".NET API" der OPC Foundation weiter vereinfacht haben oder sie als Basis benutzen. Es gibt natürlich auch komplette Neuentwicklungen und sogar Tools, bei denen man nicht mal mehr programmieren muss. (das eignet sich meist nur für einfache Anwendungen)

    http://www.kepware.com/Products/OPC_ClientAce.asp

    Eine recht große Liste an Anbietern gibt es hier:
    http://www.opcconnect.com/dotnet.php

  6. #6
    Registriert seit
    27.01.2010
    Beiträge
    17
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ich habe nun wie im Anhang beigefügt einen Verweis auf den OPC Manager gefunden.

    Hierbei gibt es die Methode Conect mit Übergabeparameter,
    kann mir jemand genau beschreiben, wie ich nun eine Verbindung zu dem OPC Manager aufbaue?

    Übergabe 1(string) = Name des OPC Servers
    Übergabe 2 (object) was ist das?

    ------------------------------------------------------
    Steht die Verbindung zum Server,
    wie spricht man dann die Groups / Items an?
    Angehängte Grafiken Angehängte Grafiken
    • Dateityp: jpg OPC.JPG (169,3 KB, 146x aufgerufen)
    Zitieren Zitieren Verweis auf OPC Manager  

  7. #7
    Registriert seit
    30.06.2007
    Ort
    Minden (Westf.)
    Beiträge
    178
    Danke
    42
    Erhielt 21 Danke für 21 Beiträge

    Standard

    Hi, anbei findest du ein kleines Beispiel aus dem Internet. Dieses benötigt eine Interface-DLL: OPCAutomation.dll.
    Ansonsten hat Dr. OPC, ich denke, alles relevante erwähnt. OPC ist meines erachtens ein recht komplexes Gebilde, was doch einige Einarbeitung benötigt.
    Gruß
    Stefan
    Angehängte Dateien Angehängte Dateien


    Zitieren Zitieren Kleines Beispiel...  

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

    Standard

    Eine Datenkommunikation mit einem OPC Server (DataAccess) sieht prinzipiell immer gleich aus. Es sind (vereinfacht gesagt) nur 4 Schritte erforderlich:

    1) Connect
    hier Name des Servers (ProgID) und optional Name des Rechners (Node) angeben falls er auf einer anderen Maschine läuft als der Client

    2) AddGroup
    die Gruppe ist eine "Organisationseinheit", hier stellt man wichtige Dinge ein wie "UpdateRate" und "Deadband", an diesem Objekt meldet man sich für DataChange-Events an (ähnlich wie ein Button, der feuert einen Event wenn drauf geklickt wird)

    3) <Browse> optional, nur wenn man die ItemIDs nicht kennt
    Wenn man die "Syntax" der ItemsID (Item = Variable = Prozesswert-Repräsentant) nicht genau kennt, kann man den Server durchbrowsen, StefanK hat sich das gespart und die ItemsIDs in einem ini-File hinterlegt.

    4) AddItems
    Die Items die einen interessieren, müssen zu der Gruppe hinzugefügt werden, beim Hinzufügen sollte die Gruppe "passiv" sein, da sonst sofort Events kommen können

    5) Anmelden und Aktivieren der Gruppe
    wird die Gruppe "scharf" geschaltet, holt der Server die Daten vom Prozess (meistens pollend aus der SPS) und prüft ob sie sich, im Vergleich zum letzten mal, (um mehr als "Deadband") geändert haben, falls ja feuert das Gruppen-Objekt beim Erreichen der nächsten "UpdateRate" einen DataChanged-Event, der NUR die geänderten Werte enthält (die anderen kennt man ja schon vom letzten mal). Um rauszufinden zu welchen Items die Werte gehören gibt es die ClientHandles (eine Indexnummer, die man dem Server beim AddItems bekanntgegeben hat) diese Nummer schickt er beim Event mit den geänderten Daten zurück.

    >> warten auf Daten-Änderungs-Meldungen
    Im Eventhandler muss man nun (möglichst schnell) die gemeldeten Daten weg kopieren oder verarbeiten. Kleiner Hinweis: niemals im Eventhandler wieder den OPC Server rufen oder in andere Komponenten (z.B. Datenbank) reinrufen, sonst kann sich das Ganze ineinander verschachteln und klemmt.

    6) <SyncWrite> optional, wenn man es will
    mit den ServerHandles, die man beim AddItems bekommen hat, kann man auf die Items schreiben. Diese Indexnummern dienen dem Server dazu herauszufinden um welches Item es sich handelt, dass ist viel einfacher (und schneller) als jedesmal wieder die Namen (strings) zu prüfen.

    Also im Prinzip ist das ganz einfach. Die ganzen anderen Funktionen von OPC braucht man nur wenn man spezielle Dinge tun will.
    Geändert von Dr. OPC (01.02.2010 um 18:06 Uhr)

  9. #9
    Registriert seit
    27.01.2010
    Beiträge
    17
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Also unterm Strich gesagt:
    Es ist nicht ganz so einfach, einen Client selber zu schreiben,
    das einfachste ist über ein Activ X Element die Variablen / Items an den OPC Server zu kommen oder?

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Obwohl ein funktionierendes Beispiel für die beschriebene Aufgabe mit ca. 1 Din A4 Seite Code programmierbar ist, muss man zugeben, dass mit Fehlerbehandlung und zuverlässiger Handhabung von Verbindungsunterbrechungen, etc. es sicher deutlich aufwendiger wird.

    Mit einer professionellen Bibliothek (oder auch ActiveX) spart man sich sicher viel Arbeit.

    Das einfachste mir bekannte Produkt ist "ClientACE" von Kepware (http://www.kepware.com/Products/OPC_ClientAce.asp). Hier kann man sogar ohne eine Zeile Code zu schreiben einen Client in .NET erstellen, einfach zusammenklickern. Für die "Poweruser" ist aber auch eine schicke .NET API dabei.

    Aber es gibt noch ca. ein Dutzend andere, viele davon aufgelistet bei www.opcconnect.com

Ähnliche Themen

  1. Antworten: 9
    Letzter Beitrag: 08.09.2011, 13:24
  2. Antworten: 18
    Letzter Beitrag: 05.12.2010, 16:27
  3. Microsoft Visual C# 2008 => Active X-Steuerelement
    Von Neger für alles... im Forum Hochsprachen - OPC
    Antworten: 6
    Letzter Beitrag: 30.06.2010, 12:41
  4. Libnodave and Visual Studio 2008
    Von Rick im Forum Hochsprachen - OPC
    Antworten: 5
    Letzter Beitrag: 12.10.2009, 22:47
  5. OPC Client in Visual Studio 2005 Express Anwendung
    Von mike_roh_soft im Forum Hochsprachen - OPC
    Antworten: 2
    Letzter Beitrag: 06.06.2008, 14:48

Lesezeichen

Berechtigungen

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