OPC UA auf Raspberry PI

Foucault
2016-09-13
2016-10-26
  • Foucault - 2016-09-13

    Hallo,
    im Webinar von Roland Wagner habe ich verfolgt wie einfach die Aktivierung des UA-Servers in der RasPI-runtime ist. Ich bekomme es in meiner Umgebung jedoch nicht zum Laufen. Mit dem UA-Expert-Client kann ich den PI sehen und mich mit ihm verbinden. Alles OK. Unterhalb des Application-Pfades bekomme ich jedoch keine Datenstruktur. Ich benutze Codesys V3.5 SP8, UA-Expert 1.4.1 und zusätzlich läuft auf dem Touch des PI eine Webvisu. Der Client liefert beim Verbinden eine einzelne Fehlermeldung
    (Register for ModelChangeEvents failed:...)(siehe Bilder). Ich hoffe, es kann mir jemand helfen...

    Viele Grüße

    Ich habe heute ein Update der aktuellen Runtime des Raspberry PI (Version 3.5.9.20) und das CoDeSys V.3.5 SP9 P2 vorgenommen. Jetzt funktioniert alles so wie erwartet.

    IMG: OPC_UA_Server.png

    IMG: OPC_UA_Client.png

     
  • eschwellinger

    eschwellinger - 2016-10-15

    Hi,
    Ein bekanntes Problem... die sps/opcua server startet schon zu dem Zeitpunkt hat der Pi noch keine IP Adresse.
    Der Workaround ist den /etc/init.d/codesyscontrol bei do_start einen sleep 10 einfügen.... dann gehts immer.
    Gruesse
    Edwin

     
  • matthas1 - 2016-10-25

    Hi,

    Ich bin hier am Verzweifeln und hoffe, dass mir hier geholfen wird

    Ganz kurz zum Hintergrund:
    Raspberry Pi2B als OPC UA Server mit Control für Raspberry Pi
    Ein Gerät (Swagelok ICM), das ich mit einem HMI ansteuern will
    Ein PEAK CAN-USB Adapter zur Kommunikation mit dem Gerät (ICM)
    Als HMI/Scada habe ich myScada, ist aber zweitrangig, da via OPC UA

    Ich habe mich durch diverse Foren gekämpft, den Peak-CAN-USB zum laufen bekommen, die Kommunikation mit dem Gerät (ICM) hinbekommen (ich kann die Ausgänge im Konfigurationsmodus schalten) und inzwischen zwitweise die Kommunikation mit dem HMI via OPC UA hinbekommen.
    Dort hängt es jetzt aber gewaltig (mal geht's, mal nicht)...

    Was ich machen möchte: Nichts weiter, als die I/Os des Gerätes schalten und ein paar Werte vom Gerät zurückbekommen.
    Theoretisch als die "E/A direkt steuern". Das ganze über den OPC UA Server.

    Um das HMI mal heraus zu nehmen, habe ich noch UaExpert installiert, um zu testen, ob der OPC-Server die Werte weitergibt (im HMI habe ich die einfach nicht reinbekommen).

    Nun zu meinen Fragen:
    1. Ist es möglich, einfach nur die Variablen des CAN-Gerätes (via Mapping) via OPC UA Server weiterzugeben (sowohl lesen, als auch schreiben)?
    2. Was muss ich dafür für Einstellungen setzen? (Selbst wenn ich es hinbekomme, dass UaExpert die Variablen findet, dann sind da nur die GVL und die Programmvariablen und ein Haufen anderes Zeug da, nicht aber die Variablen aus der Mapping-Tabelle)
    3. Wie lade ich Änderungen auf das Raspberry richtig drauf und muss ich es danach jedes mal neu starten? (ich habe ursprünglich immer nur "Update Raspberry" genutzt, und irgendwann festgestellt, dass deshalb nichts da ist, weil die Applikation gar nicht aufs Raspberry geladen wurde)

    Vielen Dank für die Unterstützung!

     
  • eschwellinger

    eschwellinger - 2016-10-25

    Hi,
    hm.. also CAN IO's gehen und zwar zuverlässig vom PI aus?
    Wenn das der Fall ist das ist OPCUA denke ich auch kein Problem.
    Ich habe das ausprobiert... mit einer Variable die in einem CANslave gemappt ist... das geht bei mir..
    ich scheibe im OPCUA die Variabe auf 10 und die kommt im PI auf die CAN gemappte Variable an... (klar mein CAN geht nicht aber... wenn du sagt deiner geht dann wärs da ja)

    Grüße
    Edwin

    IMG: OPCUA_MappingVariable10.jpg

     
  • matthas1 - 2016-10-26

    Guten Morgen,

    Danke für die schnelle Antwort!
    Wie hast du die Mapping-Variablen unter GVL bekommen?
    Kannst du einen Printscreen von deiner Symbolkonfiguration posten?

    Danke!

     
  • matthas1 - 2016-10-26

    Da es ja nicht viel ist, habe ich einfach schnell ein neues Projekt erstellt und das Schritt für Schritt dokumentiert.
    Anbei kurz die Schritte:

    => Irgendwo habe ich was essentielles vergessen / übersehen, sonst müsste es ja funktionieren?

    Danke für die Unterstützung!

    IMG: Step1.jpg

    IMG: Step2.jpg

    IMG: Step3.jpg

    IMG: Step4.jpg

    IMG: Step5.jpg

    IMG: Step6.jpg

     
  • eschwellinger

    eschwellinger - 2016-10-26

    Hi,
    anbei deer Screenshot.

    Grüße
    Edwin

    IMG: ControlW.jpg

     
  • matthas1 - 2016-10-26

    Hi,

    Sieht eigentlich auch nicht anders aus, als bei mir.
    Bin nach wie vor ratlos...

     
  • eschwellinger

    eschwellinger - 2016-10-26

    wie gesagt nach meiner Erfahrung ist meist die CAN Seite das Problem,
    aber wenn du sicher bist, das diese funktioniert muss der Rest auch gehen.

    Grüße
    Edwin

     

Log in to post a comment.