TIA S7-1200 OPC-UA

Powflow

Level-2
Beiträge
5
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen,

ich habe nach Erstellen einer Companian Schnittstelle über Siome 2 ServerInterfaces im UA Expert. Die 1. ist leer wie im Foto die 2. ist gefüllt wie gewünscht.
Das Problem ist der Abgriff durch SAP von extern. SAP greift auf das 1. ServerInterface zu und somit auf leere Dateien. Die Kommunikation funktioniert nicht mehr. Durch hin und her testen zeigte sich das die 1. Schnittstelle durch das reine aktivieren von OPC UA Funktion und Lizenz in der Gerätekonfig der S7 1200er auftaucht aber nicht mehr verschwindet.
S7.1200 FW4.7
Hat da jemand ähnliche Probleme oder Erfahrungen wie das gelöst oder umgangen werden kann?

opcua.PNG
Vielen Dank

Grüße
 
Kannst Du bitte mal im UA Expert für die beiden Knoten "ServerInterfaces" die "rechte Seite" zeigen, also die Attribute des jeweiligen Nodes? Hast Du vielleicht den einen Knoten "ServerInterfaces" explizit in SiOME selbst definiert (in Deinem eigenen Namespace)? Dann wäre es kein Wunder, wenn es zwei gibt. Der eine, automatisch angelegte Knoten "ServerInterfaces" im SIMATIC-Namespace (mit Index 3), dient eigentlich nur als "Heimat" für die "lilanen" Interfaces, die man mit dem in TIA Portal eingebauten Editor erzeugt. Für die "blauen", durch Import eines extern erstellten NodeSets, wird dieser Knoten nicht benötigt. Die "blauen" Interfaces können Knoten an fast beliebiger Stelle in das Modell einbringen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Anbei die Screenshots aus UA Expert und Siome
Die Siome Schnittstelle wurde mit einer ServerSchnittstelle aus TIA per xml exportiert-> in Siome importiert alle "Tags" identifier Type von numeric nach string geändert -> in siome namespace unlocked -> dann namespaceuri geändert das ich wieder einlesen kann als companien Schnittstelle -> namespaces wieder gelocked -> xml export aus siome -> import als companien Schnittstelle in TIA V17.
in TIA wurde sw und hw komplett übersetzt bevor komplett sw und hw geladen wurde

Danke
Gruß
 

Anhänge

  • s1.PNG
    s1.PNG
    42,7 KB · Aufrufe: 25
  • s2.PNG
    s2.PNG
    44,6 KB · Aufrufe: 25
  • s3.PNG
    s3.PNG
    81,2 KB · Aufrufe: 25
OK, ich verstehe jetzt, was Du gemacht hast und wie es zu dem zweiten "ServerInterfaces" Knoten kommt - Du hast den Knoten in Deinen eigenen Namespace dupliziert.
Was ich aber noch nicht verstehe: Was wolltest Du mit dem Export und wieder Import eigentlich erreichen?
Und SAP: Irgendjemand muss dem doch gesagt haben, wohin er zugreifen soll. Der hat doch von sich aus keine Ahnung von einem Siemens-OPC UA Server. Also muss man dem SAP entweder eine NodeId (die enthält einen Namespace-Index) oder einen Browse-Pfad beibringen. Letzterer ist eine Sequenz von BrowseName, und diese sind vom Typ QualifiedName, enthalten also auch einen Namespace-Index. Somit sollte es doch möglich sein, SAP so einzustellen, dass es auf den "richtigen" Knoten zugreift?
 
den Im- und Export habe ich nach einer Siemens Anleitung gemacht um den IdentifierType von numeric zu string zu ändern.
Zu SAP: alle anderen Maschinen im Netz sind 1500er und haben keine 2 Schnittstellen, da funktioniert der Zugriff auf die "eine/erste" Schnittstelle.
Wie kann ich die Änderung im Namespace vornehmen sodass nur eine Schnittstelle da steht?
Habe es versucht in Siome aber dann werden die Knotentypen nach Import im TIA nicht verknüpft.

Wie würdest du die Schnittstelle aufbauen? Hast du mir einen Tipp
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Um ein "blaues" (Companion Spec) Interface zu bekommen, importierst Du ein NodeSet. Importierte NodeSets dürfen den SIMATIC-Namespace nicht enthalten - das dient dazu, zu verhindern, dass jemand beliebige Knoten in diesem Namespace selbst definiert, was dann zu Konflikten mit den vordefinierten / automatisch generierten Knoten führen könnte. Diese Prüfregel führt aber auch dazu, dass Du keinen Knoten aus dem SIMATIC-Namespace in Deinem NodeSet referenzieren kannst. Letztendlich: Du kannst Dein Interface nicht unter den Knoten "ServerInterfaces" im SIMATIC-Namespace hängen. (Ja, man könnte die Prüfung beim Import verbessern, dass der Namespace an sich erlaubt ist, und nur die Definition eigener Knoten in diesem Namespace verboten ist, aber so einfach ist es halt zur Zeit implementiert.)

Löse Dich von dem "ServerInterfaces" Knoten den die Firmware erzeugt. Nenne Dein Interface nach dem Zweck, dem es dienen soll, und hänge es direkt unter den Objects-Knoten. Könnte also "Billing" oder "Recipes" oder "JobControl" oder was auch immer heißen. Und dann sage SAP, wo es hinlangen soll. Das muss doch einstellbar sein.
 
Nach Versuchen gestern stellt sich heraus das die S7-1200 ein StandardInterface IMMER mit rein lädt.
Ich habe über Siome eine neue Schnittstelle benannt und konfiguriert(Anhang), jetzt muss auch SAP seitig ein Kompromiss eingegangen werden um die Daten abzugreifen.

Alles etwas umständlich meiner Meinung nach und das Problem mit der Leeren Schnittstelle gibt es nur bei der 1200er.
Vielen Dank für die Schnelle Hilfe, das hat mir geholfen!
 

Anhänge

  • 1740638269817.png
    1740638269817.png
    34,5 KB · Aufrufe: 9
Das erste ServerInterface wird nur angelegt, wenn man im TIA ein Interface anlegt hat. Dieses hat dann von Haus aus numerische "NodeIDs". Ich denke @Powflow wollte aber für SAP string node IDs habe. Da gibt es eine Anleitung im SIOS als FAQ, die dann einen Export und dann die Modifikation in SiOME beschreibt, inklusive der Umbenennung den Siemens S7 Namespace. Danach soll dann das neue Nodeset wieder importiert werden (Als Companion Spec) und dann bekommt man halt das zweite "ServerInterface" nun mit string "NodeIDs".
Problem sind hier die durch das TIA Portal generierten Datentypen, die im Namespace der Simatic (üblich ns3) liegen und auf die referenziert werden.
Ist nicht schön, aber ist so weil das TIA Portal eben keine Interfaces mit String "NodeIDs" erstellen kann.

Man kann auch das Interface mit SiOME komplett erstellen und hat dann diese Dopplung des "simatic" Namespaces nicht. Auch sollte das erste Interface verschwinden, wenn man das im TIA generierte Interface löscht und keine weiteren verweise auf diese bestehen.

Bezüglich auf welches man wie zugreift, kann man unter "Server" das "Namespace Array" auslesen und ermitteln, welcher Namespaces welche ID haben und dann das korrekte bei der OPC UA Verbindung mitgeben bzw. beim ansprechen der "NodeId" mitgeben (ns4;"Test"."Name").
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Genau nach der Anleitung die du beschreibst habe ich die Numeric in String IDs geändert. Das erstellen des Interface aus Siome ohne IM - und Export habe ich nicht versucht. Gibt es eine Anleitung irgendwo? Siome ist für mich nicht gerade intuitiv.
 
Ist nicht schön, aber ist so weil das TIA Portal eben keine Interfaces mit String "NodeIDs" erstellen kann.

Jein. Es gibt einen UseCase, wo TIA Portal ein Interface erzeugt und dabei optional String-NodeIds erstellt.

Bei diesem UseCase werden OPC UA Typen auf SIMATIC Typen (FBs oder UDTs) gemappt. Beim Übersetzen wird automatisch ein OPC UA Interface erzeugt, worin für alle Instanzen mit SIMATIC-Typen, die gemappt wurden, entsprechende OPC UA Instanzen des gemappten OPC UA Typs erzeugt werden.

Add new server interface > Companion specification, dann bei Type oben "Reference namespace" auswählen. NodeSet angeben, welches OPC UA Typen enthält (DataTypes und/oder ObjectTypes). Haken setzen bei "Generate OPC UA nodes based on the local data mapping". Danach kann man beim soeben erzeugten Reference Namespace in den Eigenschaften unter "Local data mapping" den Haken "Use string node IDs for generated nodes" setzen.
 
Zurück
Oben