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

Ergebnis 1 bis 5 von 5

Thema: OPC Variablen via C++ lesen und schreiben

  1. #1
    Registriert seit
    10.09.2013
    Beiträge
    3
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute,

    ich bin neu in diesem Forum (bitte seid nachsichtig, wenn ich irgendwie gegen eine Forumsregel verstoße ). Ich arbeite zur Zeit an einem Prüfstand welcher mit einer sehr alten BOSCH Rexroth IndraLogic L40 SPS betrieben wird. Der Hauptteil der Steuerung (also der Prüfablauf) wird momentan noch über LabView abwickelt. Dafür tauscht die SPS den Hauptteil ihrer Variablen mit einem CoDeSys OPC - Server aus. Dieser läuft auf einem Hostrechner direkt am Prüfstand.

    Meine Aufgabe ist es nun den ganzen Prüfablauf auf ein C++ - Programm umzustellen, das auf einem separaten Rechner im gleichen Netzwerk läuft. Dazu muss ich eben auch auf die OPC - Variablen auf dem CoDeSys - Server zugreifen können - also lesen und schreiben. Ich dachte es wäre dafür am sinnvollsten, einen OPC Client in C++ zu realisieren, der sich "einfach" auf den Server hängt.
    Ich habe im Internet auch schon einige Beispielprogramme gefunden, allerdings sind diese alle in Visual Studio programmiert und scheinen auch einige windowsspezifische Libraries zu verwenden.

    Ich hingegen verwende zum Programmieren den QtCreator und die entsprechende QtLibrary. Da ich damit jetzt auch schon einiges für diese Anwendung programmiert habe, möchte ich nur ungern auf ein anderes SDK wechseln.

    Hat jemand eine Idee bzw. einen Samplecode mit dem ich - unter den genannten Voraussetzungen - möglichst simpel auf die OPC - Variablen zugreifen kann? Ich bin auch gerne für andere Lösungsvorschläge offen, allerdings muss ich wohl bei C++ bleiben.

    Meine Idealvorstellung wäre irgendeine Library z.B. für einen bereits existierenden Client, bei der ich dann im Code nur noch
    Code:
    OPCServer.write(variable,"Wert")
    oder sowas in der Art schreiben müsste.

    Vielen Dank schonmal im Voraus!
    Geändert von AkrapovicSPS (10.09.2013 um 15:24 Uhr)
    Zitieren Zitieren OPC Variablen via C++ lesen und schreiben  

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

    Standard

    C++ ist natürlich eine gute Wahl, (ebenso wie QT für deine Oberfläche). Es gibt einige Beispiele im Internet, aber alle basieren auf VisualStudio da es speziell für die COM Technologie von MS nur im Studio entsprechende Unterstützung gab (z.B. ATL, active template library). Die "alten" OPC DA Server sind ja allesamt COM Server (entsprechend der COM Definition von MS). Ein entsprechnder Wizzard im Visual Studio führt durch die Erstellung eines COM Clients (ATL Projekt).

    Eine von vielen Sammlungen von C++ Beispielen, gibt es auf der SimaticNET CD und sie liegt nach der Installation hier: (C:\Program Files\Siemens\SIMATIC.NET\opc2\samples\Custom). Sehr einfaches, leicht verständliches Beispiel, verbinden, lesen, schreiben, einmal sychron und einmal asynchron (für "Fortgeschrittene" mit Callback-Implementierung).

  3. #3
    AkrapovicSPS ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    10.09.2013
    Beiträge
    3
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Dr. OPC,

    vorab vielen Dank für deine schnelle Antwort. Ich habe leider keine SimaticNET CD zur Hand. Könntest Du eventl. die Samples hier posten?

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

    Standard

    support.automation.siemens.com: Beitrags-ID:77378184

    Das ist das Handbuch Band 2 von SimaticNET, da liest du dir am besten mal Kapitel 6.2 durch und danach gleich 6.3 (das sollte reichen, um einen C++ Client zu programmieren). Anstelle CoCreateInstance() musst du natürlich CoCreateInstanceEx() nehmen, denn du willst den Server ja remote aufrufen (aber vielleicht fängst du erstmal "local" an).

    Wie gesagt es gibt auch noch viele andere Beispiele, aber ich kenne keins das besser dokumentiert ist und auch die "OPC Hintergründe" besser erklärt. Wenn du es noch einfacher brauchst (library) dann gibt es einige kommerzielle Toolkits, die viele Funktionen vereinfachen und kapseln und "automatisch" wiederverbinden, nach Netzwerk fehlern, usw., etc.
    Geändert von Dr. OPC (11.09.2013 um 19:10 Uhr)

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ok, dann probiere ich es mal damit. Vielen Dank schonmal!

Ähnliche Themen

  1. OPC Daten schreiben und lesen
    Von kpeter im Forum Hochsprachen - OPC
    Antworten: 12
    Letzter Beitrag: 27.01.2014, 15:42
  2. Variablen schreiben und lesen aus TwinCat3-Projekt
    Von patzer103040 im Forum CODESYS und IEC61131
    Antworten: 5
    Letzter Beitrag: 08.04.2013, 12:11
  3. C#-Variablen in TwinCAT lesen und Schreiben
    Von kcirtap im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 29.11.2010, 10:18
  4. Antworten: 8
    Letzter Beitrag: 25.08.2008, 11:34
  5. Mit OPC Daten Bidirektional lesen und schreiben
    Von captainchaos666 im Forum Hochsprachen - OPC
    Antworten: 1
    Letzter Beitrag: 09.07.2008, 18:54

Lesezeichen

Berechtigungen

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