OPC-Helper DLL für PB (Beta)

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
- chris -
Beiträge: 195
Registriert: 24.08.2005 19:52
Wohnort: Stadtallendorf

Beitrag von - chris - »

Auch wenn ich die Items so in einer Schleife lese, erhalte ich quality 32.

Code: Alles auswählen

    For n = 1 To 10
      ; item lesen
      r1 = OpcReadWord(*item1, @value1, @quality)
      If r1
        Debug GetErrorString(*Server, r1)
      Else
        ;Debug "Item 1: " + Str(value1) + " Quality: " + PeekUnicode(OpcGetQualityText(quality))
        SetGadgetText(#String_0, Str(value1) + " : " + Str(quality) + " - " + PeekUnicode(OpcGetQualityText(quality)))
      EndIf
      Delay(100)
    Next n
Das merkwürdige ist ja, wenn ich gleichzeitig den 'Softing OPC Demo Client' starte und die gleichen Items anzeige, werden auch die Werte in meinem Programm richtig angezeigt.
Stoppe ich den 'Softing OPC Demo Client' werden die Werte in meinem Programm nicht mehr aktualisiert.
Benutzeravatar
mk-soft
Beiträge: 3855
Registriert: 24.11.2004 13:12
Wohnort: Germany

Beitrag von mk-soft »

Ist aber kein normales verhalten von den OPC-Server. Oder ist es eine Demo-Sever?
Verwende die Costumer-Schnittstelle mit SyscronIO schon einige Jahre und hatte so ein verhalten noch nicht gehabt.

P.S. fällt mir gerade wieder ein.

Vieleicht läuft der OPC-Server in einer falschen Instance wenn dieser ohne aktiven Fenster (Serverseitig) gestartet wird. Hatten schon mal den fall gehabt. Der Lieferant musste den OPC-Server überarbeiten das dieser eine ungültige abhängigkeit von ein Windowfenster hatte.
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
- chris -
Beiträge: 195
Registriert: 24.08.2005 19:52
Wohnort: Stadtallendorf

Beitrag von - chris - »

Also ein Demo-Server ist es bestimmt nicht.

---------

Den OPC-Server gibt es kostenlos bei ABB:

http://www.robotstudio.com/community/

dann rechts auf 'To download page'

---------

Vieleicht läuft der OPC-Server in einer falschen Instance wenn dieser ohne aktiven Fenster gestartet wird??

Der OPC-Server selber hat kein Fenster und es erscheint auch kein Symbol im Systray.

Im Taskmanager sehe ich nur die 'RobOPC.exe', wenn der OPC-Server gestartet ist.

Mit anderen OPC-Clients funktioniert der OPC-Server.

Gerade eben habe ich den OPC-Server in WinCC eingebunden
und es hat auf Anhieb funktioniert.
Benutzeravatar
mk-soft
Beiträge: 3855
Registriert: 24.11.2004 13:12
Wohnort: Germany

Beitrag von mk-soft »

Lade mir opc-server mal runter.

Ist schon manchmal eigenartig das wie dier server unterschiedlich reagieren. mit Inat, Opc.SimaticNET, Protool, etc hatte ich noch keine probleme gehabt.

P.S.
Der OPC-Server hat leider keine Standards Items zum testen.
Nehme aber an das es mit der SycronIO zu tun hat. Die meisten Testclients arbeiten mit der Asyncron Schnittstelle.

Das eigenartige ist das kein Fehler der Schnittstelle kommt, sondern das der Wert nicht mehr erscheint und die Quality einen unbekannten fehler liefert. (32)

P.S.
Update v2.24
Einstellungen einiger werte beim erstellen der Gruppe angepasst. Die Gruppe wird jetzt sofort aktiviert.

@chris
Vielleicht geht es mit der geänderten Gruppeneinstellung.
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
- chris -
Beiträge: 195
Registriert: 24.08.2005 19:52
Wohnort: Stadtallendorf

Beitrag von - chris - »

Also geändert hat sich erstmal nichts.

Ich hab noch einige Versuche gemacht:

Einige Items funktionieren zb.:

SystemName
InterfaceState

Aber z.b.: bei dem Item 'OperatingMode' wird quality: good angezeigt
und der wert: 0 (falscher Wert, sollte 2 sein)

Wenn ich dann den 'Softing OPC Demo Client' starte und die gleichen Items
anzeigen lasse werden wieder alle Items richtig angezeigt.
Benutzeravatar
mk-soft
Beiträge: 3855
Registriert: 24.11.2004 13:12
Wohnort: Germany

Beitrag von mk-soft »

Hi, chris

habe mich Heute mit ABB in Verbindung und das Problem beschieben. Nach Rücksprache mit den Servicetechniker habe ich E-Mail mit den genauen Ablauf gesendet.
Werde wohl nächste Woche von ABB eine Antwort bekommen.

Das die von mir verwendete Schnittstelle auf allen anderen getesteten OPC-Server funktioniert (INAT, Siemens, und die von Dir) denke ich das es vielleicht eine Problem des Servers ist.
Mal schauen welche antwort von ABB erhalte.
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
- chris -
Beiträge: 195
Registriert: 24.08.2005 19:52
Wohnort: Stadtallendorf

Beitrag von - chris - »

Hier noch mal ein Test:

Schreiben funktioniert, der Wert hier 200 kommt im Roboter an, aber das lesen funktioniert nicht (quality: 32 - UNKNOWN ERROR)

Code: Alles auswählen

    ; Items schreiben
    Debug "Items schreiben"
    r1 = OpcWriteWord(*item1, 200)
    If r1
      Debug GetErrorString(*Server, r1)
    Else
      Debug "Item 1 geschrieben. Variant Type: " + Str(OpcGetItemDataType(*item1))
    EndIf
    Debug "Fertig."
    
    ; item lesen
    r1 = OpcReadWord(*item1, @value1, @quality)
    If r1
      Debug GetErrorString(*Server, r1)
    Else
      ;Debug "Item 1: " + Str(value1) + " Quality: " + PeekUnicode(OpcGetQualityText(quality))
      SetGadgetText(#String_0, Str(value1) + " : " + Str(quality) + " - " + PeekUnicode(OpcGetQualityText(quality)))
    EndIf
Benutzeravatar
mk-soft
Beiträge: 3855
Registriert: 24.11.2004 13:12
Wohnort: Germany

Beitrag von mk-soft »

Habe mir RobotStudio herrunter geladen. In diesen kann man einen Virtuellen Roboter einrichten. Werde es mit diesen auch noch testen. Denke aber das meine Schnitstelle Ok ist und auf eine Antwort von ABB erforderlich ist.
In der Regel bekommt man sehr schnell eine antwort.
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Benutzeravatar
mk-soft
Beiträge: 3855
Registriert: 24.11.2004 13:12
Wohnort: Germany

Beitrag von mk-soft »

Update v2.25

VisualStudio 2005 Express kompatibilität erreicht. VB Test Example im OpcPack enthalten.

FF :wink:
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Benutzeravatar
mk-soft
Beiträge: 3855
Registriert: 24.11.2004 13:12
Wohnort: Germany

Beitrag von mk-soft »

Update v2.26

Bugfix:
- Item anlegen


Danke an Chris für die Fehlersuche und Bereitstellung eines ABB Projekts
Danke an den ABB Support für die Unterstützung und das C++ Beispiel

FF :wink:
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Antworten