Templates by BIGtheme NET
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
  • Seite:
  • 1
  • 2

THEMA:

OLE zu OPC-Server 30 Sep 2021 13:13 #1

  • Siebald
  • Offline
  • Beiträge: 89
  • Dank erhalten: 26
Hallo,
ich versuche mit dem OLE-Befehl aus einer Speicherprogrammierbaren Steuerung über einen OPC-Sever (OLE for Process Control) Werte zu lesen.
Auf dem Bildschirmfoto im Anhang sind die Befehlszeilen im Cx und ein Testclient zu sehen.
Der Testclient funktioniert  und liefert für die Bool-Adresse "Test" einen gültigen Wert.
Im Cx erhalte ich nichts, weder 0 noch 1.
Ich habe schon alle Permutationen von Möglichkeiten eingetragen.
Hat noch jemand einen Tipp was ich machen kann. Mir ist klar, daß es sich um ein sehr spezielles Thema handelt.

Vielen Dank im Voraus.

Gruß Frank

cX4Web cX4Web Code

Was ist das?

1  *** OPC
2  OLEObjekt ID='SPS' Name='IBHsoftec.IBHOPC.DA'
3  OLEObjekt ID='SPS' Wert/Parameter='Steuerung1.Generic.Test' in [Tag]
4  Aufruf Marke 'Marke' im Hintergrund, Intervall 2
5  
6  Warte Endlos (Warten auf zu behandelnde Ereignisse)
7  
8  :: Marke
9  
10  Setze in [x]: '[x] + 1' , berechnen'
11  Beende Unterprogramm (Zurück)

cX4Web Code: Einfach anklicken zum Kopieren und in click.EXE 5.0 einfügen


 (11 Zeilen, cX 5.0.8.4, Lizenz: Pro)


 
 
Anhänge:
Folgende Benutzer bedankten sich: Soko, daywalker

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Letzte Änderung: von Siebald.

OLE zu OPC-Server 01 Okt 2021 07:55 #2

  • Siebald
  • Offline
  • Beiträge: 89
  • Dank erhalten: 26
Hallo,
in der Beschreibung des OLE-Befehls steht, daß man mit einem Fragezeichen unter Eigenschaft/Methode eine Liste der Eigenschaften geliefert bekommt.
Wie ist das zu verstehen? Bei mir kommt da nichts bzw. wenn ich das Script mit dem Fragezeichen laufen lasse, kommt eine Fehlermeldung, daß das Fragezeichen nicht dem COM-Objekt zugewiesen werden kann.

Vielen Dank im Voraus.

Gruß Frank

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

OLE zu OPC-Server 01 Okt 2021 12:04 #3

  • Stefan
  • Stefans Avatar
  • Offline
  • Administrator
  • Administrator
  • Beiträge: 1228
  • Dank erhalten: 1756
Hallo, Frank!

Bitte versuche erstmal, in Zeile 3 das "Steuerung1.Generic.Test" als "Eigenschaft/Methode" einzutragen, nicht als Parameter - so macht das irgendwie auch keinen Sinn...

Zu dem "?": Das muss natürlich bei "Lesen" als Eigenschaft eingesetzt werden - deine Fehlermeldung besagt ja, dass dies nicht geschrieben werden kann (stimmt auch). Hast du das vielleicht verwechsselt? Also etwa so:
OLEObjekt ID='SPS' Eigenschaft='?' in [Liste]

Liebe Grüße
Stefan
 
Folgende Benutzer bedankten sich: Siebald

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

OLE zu OPC-Server 08 Okt 2021 19:16 #4

  • Siebald
  • Offline
  • Beiträge: 89
  • Dank erhalten: 26
Hallo Stefan,
ich habe alle Möglichkeiten für die Kommunikation zu mehreren OPC-Servern über das OLE-Objekt versucht.
Leider klappt es nicht. Das Ganze scheint doch nicht so einfach zu sein, wie ich dachte. Mit Cx4 konnte ich immer über DDE auf DDE-Server von Steuerungen zugreifen. Dazu gibt es Middleware die OPC auf DDE umsetzt. 
Ich glaube noch nicht einmal, daß es an Cx5 liegt. Man müßte ja demnach mit dem OLE-Objekt einen OPC-Client programmieren.
Vielleicht wäre es eine Überlegung wert, ein extra Plugin für Cx zu  schreiben, da diese OPC-Anbindung in der Industrie  ein sehr häufiges Problem ist. OPC DA bzw. OPC UA sind Industriestandards.
Aber das ist natürlich nur der Wunsch von mir hier im Forum.

Gruß Frank

 

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

OLE zu OPC-Server 09 Okt 2021 14:42 #5

  • Stefan
  • Stefans Avatar
  • Offline
  • Administrator
  • Administrator
  • Beiträge: 1228
  • Dank erhalten: 1756
Hallo, Frank!

Ich denke schon, dass das mit cX5 funktionieren kann.
Welche Probleme/Fehlermeldungen hast du dann dabei genau?
Hast du das mit der Eigenschaftenabfrage mit ? schon versucht und die richtigen Ergebnisse gesehen?

Da mir das OPC bisher noch nicht untergekommen ist (auch wenn das interessant klingt!), kenne ich das Objektmodell nicht. Im Netz lassen sich aber Beispiele dazu in VBA finden, die üblicherweise systematisch in cX5 nachgebaut werden können (habe ich auch schon gemacht).
Wenn du also eine Vorlage dieser Art (z.B. VBA) hast und dich damit schon versucht hast, kannst du mir das und deinen cX5-Versuch dazu samt Problembeschreibung gerne mal zeigen, ggf. auch diesen Server nebst Testclient geben! Ich kann dann gerne mal schauen, ob ich vielleicht grundsätzliche Probleme finde, die du dabei mit dem OLE-Befehl hast - und deren Lösung dann ggf. auch exemplarisch in der Doku beschreiben.

Ein PlugIn dafür ist wohl nicht zielführend bzw. bringt nicht viel, aber man könnte in cX5 selbst ein OPC-Objekt oder gar eine cXtension daraus machen - wäre bestimmt ein interessantes Beispielskript...

Liebe Grüße
Stefan
Folgende Benutzer bedankten sich: Soko, daywalker

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

OLE zu OPC-Server 11 Okt 2021 08:20 #6

  • Siebald
  • Offline
  • Beiträge: 89
  • Dank erhalten: 26
Hallo Stefan,
die Eigenschaftsabfrage mit dem ? habe ich gemacht. Die Variable "Tag" bleibt aber leer.



cX4Web Code: Einfach anklicken zum Kopieren und in click.EXE 5.0 einfügen





Ein Nachvollziehen stelle ich mir aber schwierig vor, da Du den OPC-Server nicht installiert hast.
OPC-Server gibt es wie Sand am Meer. Zu jedem SPS-System und zu jedem Prozeßleitsystem (z.B. Siemens, Rockwell, Honeywell, Emerson, Mitsubishi usw.) gibt es von verschiedenen Herstellern OPC-Server.
Diese stellen die Verbindung zu der eigentlichen Steuerungsplattform her und agieren als Server zu entsprechenden OPC-Clients.
Es gibt 2 Hauptarten von OPC. OPC DA welches auf der DCOM Architektur von Microsoft basiert und die neuere Version OPC UA welche nicht mehr auf dem DCOM Modell aufsetzt. Hiermit wird es möglich systemneutral zu werden. Außerdem können diese OPC UA Server auf kleinen Geräten laufen und die Verbindung zu den Clients aufbauen.
Das Schlagwort hierfür ist Industrie 4.0 .
Ich versuche mit dem Script auf einen OPC DA Server von IBHsoftec zuzugreifen.
Eine Demo-Version welche nach Start immer 30 Minuten läuft kann man hier herunterladen
www.ibhsoftec.com/epages/63444704.sf/de_...444704/Products/1150

Ich nehme aber an, Du besitzt  keine Siemens SIMATIC S7-Steuerung. Diese habe ich nun wieder, komme aber eben mit der Softwareanbindung nicht voran.

Im Anhang würde ich einmal die Beispielprogramme in C# und VB usw. von IBHsoftec einfügen.
Ich habe auch noch eine Spezifikation von OPC der OPC Foundation als PDF-Datei, welche allerdings ca. 9 Mbyte groß ist.
Diese Größe und den Dateityp bekomme ich nicht hochgeladen.
Dort sind alle Methoden und Eigenschaften als internationale Norm beschrieben.
Dazu bin ich aber mit VB und C# nicht gut genug, um das zu verstehen.
Wenn Du mit den Informationen etwas weiter kommen könntest, würde ich darüber freuen. Weitere Informationen vom OPC-Server zur SPS sind für mich kein Problem, wenn Du da Fragen haben solltest.

Vielen Dank im Voraus.

Gruß Frank


  (10 Zeilen, cX 5.0.8.4, Lizenz: Pro)




 
Anhänge:
Folgende Benutzer bedankten sich: Stefan

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • Seite:
  • 1
  • 2

Community

Sie sind noch nicht Mitglied unserer Community? Melden Sie sich jetzt an!

Anmelden