TIA S7-1500 OPC UA XML Date interpretieren

Mephisto

Level-1
Beiträge
242
Reaktionspunkte
12
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!

Ich hab ein Problem mit dem OPC UA Server der S7-1500 und hoffe, ihr könnt mir helfen:
Ich möchte mit einer Fremdsteuerung (Sigmatek) als OPC UA-Client auf einen OPC UA-Server auf einer S7-1500 zugreifen. Leider bekomme ich hier keine Kommunikation zustande.

Wenn ich als OPC UA-Client UaExpert von Unified Automation nutze, dann bekomme ich Zugriff auf die S7-1500 --> OPC UA-Server funktioniert
Wenn ich mit meinem Sigmatek OPC UA-Client auf einen Sigmatek OPC UA-Server zugreife, dann bekomme ich Zugriff auf den Server --> OPC UA-Client funktioniert, zumindest sortenrein
Wenn ich mit meinem Sigmatek OPC UA-Client auf einen Testserver UaAnsiCServer von Unified Automation zugreife, bekomme ich Zugriff auf den Server --> OPC UA-Client funktioniert

Ich vermute daher, dass ich einfach eine falsche Node-ID, genauer gesagt einen falschen Identifier, abfrage.

Der Sigmatek Client benötigt die Angabe von Server-URL, also opc.tcp://... und von NameSpaceIndex, IdentifierType (String oder Numeric) und Identifier.
Dadurch, dass ich das von TIA (V14 SP1) erzeugte XML nicht interpretieren kann, habe ich hier die Werte eingetragen, die mir der UaExpert angezeigt hat.

Ich versuche, dass mal als code darzustellen:
Variablendefinition in Sigmatek:
Code:
<Config Version="1.0">
    <DataSet>
         <DataElement Hostname="TF_OPC_VAR_VAL_DINT_01" Type="DINT"  Writeprotected="false" Physic="" Unit="" Folder=""  Label="TF_OPC_VAR.VAL_DINT_01"/>
    </DataSet>
</Config>
Dazu erklärt mir UaExpert:
IdentifierType: String
Identifier: TF_OPC_VAR.VAL_DINT_01
Zu Erklärung: Ich greife hierbei auf die Variable VAL_DINT_01 des Bausteins TF_OPC_VAR zu.

Variablendefinition Siemens:
Code:
<UAVariable NodeId="ns=3;s="OPCUA_Data"."VarDInt"" BrowseName="3:VarDInt" ParentNodeId="ns=3;s="OPCUA_Data"" DataType="DINT" AccessLevel="3">
    <DisplayName>VarDInt</DisplayName>
    <References>
        <Reference ReferenceType="HasTypeDefinition">i=63</Reference>
        <Reference ReferenceType="HasComponent" IsForward="false">ns=3;s="OPCUA_Data"</Reference>
    </References>
</UAVariable>
Dazu erklärt mir UaExpert:
IdentifierType: Strin
Identifier: "OPCUA_Data"."VarDInt"
zur Erklärung: Ich greife hierbei auf die Variable VarDInt des Datenbausteins OPCUA_Data zu.

Man sieht schon:
  • Die beiden XML Einträge sind komplett unterschiedlich aufgebaut.
  • Der Identifier bei Siemens wird von UaExpert mit "" erkannt, der Identifier bei Sigmatek wird ohne "" erkannt. Ich kann die Variable aber so nicht angeben, da ich mit einem 2ten " den String beende. Deshalb hat Siemens wahrscheinlich die Platzhalter " eingefügt. Versuche ich jedoch diese Platzhalter ebenfalls zu benutzen, dann funktioniert es auch nicht,

Hat schon jemand von euch dieses Problem gehabt und/oder gelöst?

Wie schon gesagt: Meine Vermutung ist, dass ich den Identifier falsch angebe..
Ich hoffe, ihr könnt mir helfen, ich komm hier echt nicht weiter...
 
Der Identifier ist bei der 1500er wie du schon herausgefunden hast immer in "" angegeben. Hintergrund ist, dass Variablen in Tia '.' und Leerzeichen enthalten dürfen. Somit sind die "" zwingend erforderlich.
Die komplette NodeID ist also z.B. ns=3;s="Test"."test".
Wenn du die Variable so nicht angeben kannst sehe ich keine Chance..
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Der Identifier ist bei der 1500er wie du schon herausgefunden hast immer in "" angegeben. Hintergrund ist, dass Variablen in Tia '.' und Leerzeichen enthalten dürfen. Somit sind die "" zwingend erforderlich.
Die komplette NodeID ist also z.B. ns=3;s="Test"."test".
Wenn du die Variable so nicht angeben kannst sehe ich keine Chance..
Das hat mir der Siemens-Support auch gesagt. Schade. Bin aktuell mit dem Sigmatek-Support in Kontakt, ob die da eine Lösung parat haben.
Mir war nur zunächst unklar, ob der Fehler an meiner Projektierung liegt oder ob (mal wieder) ein Hersteller die Spezifiktation nicht richtig gelesen hat.
Anscheinend ist Siemens diesmal konform unterwegs - das kennen wir ja auch anders von BigS.

Ich halte euch auf dem Laufendem!
 
Hallo,

wie kann ich ein Sigmatek S-DIAS System ( DI, DO, AI, AO, Servo-Achsmodule...) am besten mit einer S7 ansteuern ( lesend und schreibend) ?

sg manfred
 
Zurück
Oben