Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 22

Thema: Siemens SIMATIC NET Opc Ua Server

  1. #11
    Registriert seit
    27.10.2009
    Beiträge
    317
    Danke
    0
    Erhielt 64 Danke für 54 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    OK, alles klar, es geht also "nur" noch im die Knoten und du hast keine "echte" S7 hinter deinem OPC Server sitzen.

    Dann nimmst du einfach die "@LOCALSERVER" Verbindung und verwendest Nodes direkt:
    "S7:[@LOCALSERVER]DB1.0,b"
    "S7:[@LOCALSERVER]DB1.2,dw"
    Notation für weiter Datentypen steht im Band 2 der PDF Doku.

    Wenn Du diese Nodes "browsen" können willst, musst du sie im Symbolkonfigurator anlegen und ihnen schicke symbolische Namen geben.

  2. #12
    Registriert seit
    27.10.2009
    Beiträge
    317
    Danke
    0
    Erhielt 64 Danke für 54 Beiträge

    Standard

    Das macht Siemens aber nicht. Oder möchtest du die kleinen Beispielprogrämmchen als "API" bezeichnen?
    Ich meine, das ist doch nicht sonderlich professionell, dass man sich die "API" _ausschließlich_ aus den Beispielprogrammen zusammenreimen muss. Oder ist das die Regel unter den Herstellern.
    Siemens ist ja auch kein Hersteller von Toolkits und SDKs (obwohl sie für C# ein (kleines) OPC Toolkit (kostenlos) mit ausliefern). Richtige OPC Toolkits und SDKs gibt es von den bekannten Herstellern: Unified Automation, Softing, Terxasoft, ... und vielen anderen --> google hilft.

  3. #13
    trialanderror ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    02.10.2012
    Beiträge
    15
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Beitrag

    Das ist jetzt glaube ich genau die Antwort die ich so verzweifelt gesucht habe.

    Es ist also so, das auch Knoten existieren, die nicht im Namensraum beim browsen auftauchen?
    Ich konnte die bisherigen Knoten, mit denen ich getestet habe bisher über zwei Möglichkeiten ansprechen:
    1. Numerische ID
    Beispiel: 2255 für den Namespacearray
    2. Namespace ID + String ID
    Beispiel: Namespace ID = 3 (S7) + String ID = DEMO.i.0,b
    getrennt voneinander in das Struct eingefügt und der API-Funktion übergeben

    Warum macht das Sinn nicht alle Knoten über einen identifiziertyp anzusprechen? Zum Beispiel alle über eine numerische ID?

    Deine Variante kann ich jetzt nicht testen, da mein Wrapper sich im Umbau befindet und ich nicht Compilieren kann

    Ich dachte, da Siemens Hersteller der irgendwann vorhandenen SPS und auch des OPC-Servers(?) ist, meintest du genau das mit "Hersteller".

  4. #14
    trialanderror ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    02.10.2012
    Beiträge
    15
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Die Hersteller der SDKs kenne ich.

  5. #15
    Registriert seit
    27.10.2009
    Beiträge
    317
    Danke
    0
    Erhielt 64 Danke für 54 Beiträge

    Standard

    Es ist also so, das auch Knoten existieren, die nicht im Namensraum beim browsen auftauchen?
    das hast du genau richtig erkannt. Browsen kann man "Symbole" (und Alias Namen, ein Relikt aus früheren Tagen, gibt es bei UA nicht mehr). Wenn man die NodeID kennt braucht man nicht browsen. Es kann NodeIDs geben, die nicht browsbar sind bzw. die nicht im Adressraum auftauchen.

    Ich konnte die bisherigen Knoten, mit denen ich getestet habe bisher über zwei Möglichkeiten ansprechen
    das ist nicht ganz richtig, es gibt nur EINE Möglichkeit eine Node anzusprechen sie besteht immer aus "NameSpace + Typ + ID", die ID ist im Namespace eindeutig, der Typ kann "String" ODER "Numeric" sein (oder GUID oder Opaque, allerdings nicht bei Siemens).

    Also es gibt einen durch OPC Foundation definierten Namensraum (namespace index 0) in dem sind numeric IDs eindeutig durch die OPCF spezifiziert, alle UA Server dieser Welt MÜSSEN diesen namespace 0 haben, die ID darin sind FEST und können nicht verändert werden:
    ns=0; i(numeric)=2212

    und dann gibt es von Siemens definierte/konfigurierte NodeIDs, die sind vom Typ "String" und folgen einer Syntax, die vom Namespace abhängt in dem sie existieren.
    ns=3(S7); s(string)="S7:[Verb1]DB1.0,b"
    ns=4(S7Com); s(string)="S7:[Verb1]DB1,b0,1"
    ns=5(SYM); s(string)="MeinSymbol"
    Wobei "SYM" die Symbolik ist und (relativ) frei gestaltbar in ihrer Syntax (einige Soderzeichen sind nicht erlaubt). SYM wird "normalerweise" automatisch von Step7 erzeugt und enthält die symbolischen Namen, die bei der Programmierung der SPS in Step7 verwendet wurden.

    Nur DU musst die Symbole nun händisch anlegen, weil du keine SPS hast, sondern einen "internen" DB verwendetst.

    Warum macht das Sinn nicht alle Knoten über einen identifiziertyp anzusprechen? Zum Beispiel alle über eine numerische ID?
    NEIN, das macht überhaupt keinen Sinn, das Konzept mit Namespaces ist das EINZIGE das Sinn macht (flexibel und erweiterbar), und deshalb wurde es auch so umgesetzt.

  6. #16
    trialanderror ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    02.10.2012
    Beiträge
    15
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke erstmal für die Zeit die du in mich investiert hast
    Du hast mein Verständnis hierfür deutlich verbessert. (Scheint nicht viele zu geben, die sich damit richtig auskennen)

    Das heißt in dem Beispiel:
    ...Beispiel: Namespace ID = 3 (S7) + String ID = DEMO.i.0,b...
    ist "DEMO.i.0,b" ein Symbol für irgendeine Adresse die sich nach der von dir benannten Synthax richtet?

  7. #17
    Registriert seit
    27.10.2009
    Beiträge
    317
    Danke
    0
    Erhielt 64 Danke für 54 Beiträge

    Standard

    ist "DEMO.i.0,b" ein Symbol für irgendeine Adresse die sich nach der von dir benannten Synthax richtet?
    Also das ist kein Symbol sondern eine "direkte Addresse" in der ns=3 (S7) Syntax:
    DEMO = Name der Verbindung zur SPS (es kann 8 - 64 Verbindungen zu "echten" SPSen geben)
    i = Datenbereich INPUT
    0 = Offest Byteadresse innerhalb des Datenbereichs
    b = Datentyp Byte (8Bit)
    Es wird also das Eingangsbyte 0 der SPS Steuerung addressiert, die sich an der Verbindung "Demo" befindet.

    "S7_Verbindung_1.DB1.10,dw"
    Es wird ein DWord im Datenbaustein 1 ab der Byteoffsetadresse 10 addressiert, das sich in der SPS befindet, die über die Verbindung "S7-Verbindung_1" configuriert ist.

    Weitere Beispiele und Datentypen findest du im Band 2 Handbuch Kapitel "Syntax der S7 Variablen"

    Um das auch browsen zu können, musst du eine Symboldatei anlegen und der Adresse einen "symbolischen" Namen geben:
    "MeineTemperatur" = "S7_Verbindung_1.DB1.10,dw" (// falls in der SPS an de Stelle der Messwert abgelegt ist)
    "MeinEingangsByte" = "DEMO.i.0,b"
    Die Symboldatei kannst du zusammenbauen wie du willst (Ordnerhierarchie und Variablennamen), oder aber sie wird automatisch erzeugt von Step7 (was der "Normalfall" ist), denn Step7 weiss was an welchen Datenbereich der SPS angeschlossen ist und kann somit auch die Symboldatei einfach (und konsistent zum Programmcode in der SPS) erzeugen.

  8. #18
    trialanderror ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    02.10.2012
    Beiträge
    15
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Also das ist kein Symbol sondern eine "direkte Addresse" in der ns=3 (S7) Syntax:
    Achso. Ich dachte weil sich das nicht direkt an die Synthax hält, mit den eckigen Klammern.

    Ich werd mal schauen, was ich mit dem Symboleditor hinbekommen.

  9. #19
    Registriert seit
    27.10.2009
    Beiträge
    317
    Danke
    0
    Erhielt 64 Danke für 54 Beiträge

    Standard

    Die eckige Klammer ist in der "S7Com" Syntax im anderen nameSpace ns4=S7COM. Es handelt sich hierbei um die (alte) "kompatible" Syntax von früher (aus den Zeiten des OPC DA Servers).

    Dort war die direkte Adresse "S7:[S7Verbindung_1]DB1,B0,1" also etwas anders. Der Unterschied ist das die neue Syntax "schneller" ist, die alte wird nur noch aus Gründen der Kompatibilität "mitgeschleppt".

  10. #20
    Registriert seit
    09.06.2017
    Beiträge
    10
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hello,
    Thanks a lot for the help,
    Can you also provide me the link from where i can download the Simatic Net OPC UA Server.
    With Best regards
    Saurabh Samber

Ähnliche Themen

  1. Simatic Net V7.1.1 - OPC Server - Syntax
    Von Rosenberger im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 03.10.2012, 15:33
  2. Simatic Net V7.1.1 - OPC Server
    Von Rosenberger im Forum Hochsprachen - OPC
    Antworten: 0
    Letzter Beitrag: 11.09.2012, 15:06
  3. Simatic NET OPC Server
    Von The-Cook im Forum Hochsprachen - OPC
    Antworten: 0
    Letzter Beitrag: 07.07.2009, 11:49
  4. Simatic NET OPC-Server - Schreiben von OPC-Items ist zu langsam
    Von christian_a im Forum Hochsprachen - OPC
    Antworten: 3
    Letzter Beitrag: 28.02.2009, 11:13
  5. Delphi Zugriff auf Simatic Net OPC Server
    Von marco195 im Forum Simatic
    Antworten: 32
    Letzter Beitrag: 29.08.2006, 11:58

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •