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

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 16 von 16

Thema: TIA-Portal WinCC V11: Problem mit GetDataRecordName in Skript

  1. #11
    Registriert seit
    15.10.2014
    Beiträge
    91
    Danke
    15
    Erhielt 18 Danke für 15 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Harald,

    OK ich verstehe das mit den Globalen Variablen.
    Man kann ich TIA aber keine "String" Variablen anlegen, es gibt nur noch "WString" Variablen. Deshalb meine Vermutung mit der Umstellung auf "WString" Variablen.

    String Variablen kann das Panel nur verarbeiten wenn Sie von einer SPS-Verbindung kommen.

    Siehe Bild:
    GetDataRecordName.jpg

  2. Folgender Benutzer sagt Danke zu Stefan592 für den nützlichen Beitrag:

    PN/DP (18.09.2015)

  3. #12
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.192
    Danke
    925
    Erhielt 3.292 Danke für 2.661 Beiträge

    Standard

    Zitat Zitat von Stefan592 Beitrag anzeigen
    Man kann ich TIA aber keine "String" Variablen anlegen, es gibt nur noch "WString" Variablen.
    Zitat Zitat von Stefan592 Beitrag anzeigen
    Die Funktion verlangt "String" das Panel alleine kann aber nur "WString".
    Ich habe den Siemens Support kontaktiert und warte nun auf die Antwort.
    Ahh, jetzt verstehe ich das Problem mit TIA: für interne Variablen gibt es den Datentyp STRING gar nicht. Jedenfalls laut TIA Dokumentation schon mindestens seit V11. Da sollte es nach sooo langer Zeit doch eine Lösung geben - also berichte uns bitte, was der Siemens Support antwortet.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  4. #13
    Registriert seit
    15.10.2014
    Beiträge
    91
    Danke
    15
    Erhielt 18 Danke für 15 Beiträge

    Standard

    Der Siemens Support hat geschrieben.

    1. Die Funktion mit den SmartTags von Harald wird vermutlich funktionieren.
    Der Support hat folgenden Syntax empfohlen:

    Code:
    GetDataRecordName SmartTags("Script_RezeptNr"), SmartTags("Script_DatensatzNr"), "Script_Rezeptname", "Script_Datensatzname", "Script_Status"
    2. Warum funktionierte dies bei mir nicht?

    Ich habe in ein Bild eine Schaltfläche und ein E/A Feld zum Testen erstellt. Die Schaltfläche hat das Script gestartet, das E/A Feld den Datensatznamen ausgegeben.
    Zum Testen des Scriptes habe ich die Simulation immer aus diesem Testbild gestartet. -> Script ging nicht.
    Wenn ich die Simulation aus dem Script-Editor starte -> Simulation startet mit Startbild. Ich navigiere zum Testbild -> Script geht

    Es ist also wohl ein Bug in der TIA Portal Simulation. Ich werde jetzt grundsätzlich sie Simulation so Starten das sie vom Startbild aus startet.


    Stefan
    Geändert von Stefan592 (21.09.2015 um 14:47 Uhr) Grund: Fehler im Code

  5. #14
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.192
    Danke
    925
    Erhielt 3.292 Danke für 2.661 Beiträge

    Standard

    Ich habe dieses TIA nicht, möchte aber gerne die undokumentierten Fallstricke kennen, falls ich mal muß...

    Zitat Zitat von Stefan592 Beitrag anzeigen
    Zum Testen des Scriptes habe ich die Simulation immer aus diesem Testbild gestartet. -> Script ging nicht.
    Wenn ich die Simulation aus dem Script-Editor starte -> Simulation startet mit Startbild. Ich navigiere zum Testbild -> Script geht
    Verstehe ich das richtig, daß das TIA die Panel-Simulation unterschiedlich ausführt, je nachdem aus welchem Bearbeitungsfenster man die startet??! Versucht TIA, nur ein einzelnes Bild zu "simulieren"???
    Oder hattest Du die falsche Simulation gestartet? Wie heißt der Menüpunkt bzw. Button genau?



    Zitat Zitat von Stefan592 Beitrag anzeigen
    Der Support hat folgenden Syntax empfohlen:

    Code:
    GetDataRecordName SmartTags("Script_RezeptNr"), SmartTags("Script_DatensatzNr"), "Script_Rezeptname", "Script_Datensatzname", "Script_Status"
    Die Variablen "Script_Rezeptname", "Script_Datensatzname", "Script_Status" - sind das SmartTags oder Variablen, welche im Skript mit Dim deklariert sind?

    Bei diesem Code werden nicht Variablen übergeben, sondern Variablennamen in String-Konstanten. Wenn man unsinnige/nicht vorhandene Variablennamen angibt ("Script_Variable_xxx"), erkennt der Compiler das oder crasht es erst zur Laufzeit?

    Hat der Support etwas gesagt, wann die fehlerhafte bzw. unvollständige Dokumentation korrigiert wird und dieser Trick in die offizielle Dokumentation eingepflegt wird?


    Übrigens hatte schon Fred (faust) in #7 diese Schreibweise angegeben:
    Zitat Zitat von faust Beitrag anzeigen
    folgende Syntax ist richtig (gerade getestet auf TIA V13 SP1 UPD4):


    GetDataRecordName 1, 1, "act_Recipe_Name", "act_dataset_name", function_state


    Diese Form der Parameterübergabe habe ich bis jetzt nur bei Siemens gesehen, scheint eine Übergabe des Variablennamens zu sein und nicht der Variable selbst.
    @Fred: Weißt du noch, WO Du das bei Siemens gesehen hast? Gibt es eine offizielle/öffentliche Quelle?

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  6. #15
    Registriert seit
    17.10.2007
    Beiträge
    263
    Danke
    5
    Erhielt 52 Danke für 48 Beiträge

    Standard

    Zitat Zitat von PN/DP Beitrag anzeigen
    ...
    @Fred: Weißt du noch, WO Du das bei Siemens gesehen hast? Gibt es eine offizielle/öffentliche Quelle?

    Harald
    Das kann ich nicht sagen, ich hatte/habe das damals (WinCC flex.) bzw. vor meinem Posting (WinCC Adv.) selbst herausgefunden.

    Siemens nutzt diese Art der Parameterübergabe bei einigen Systemfunktionen, weiß gerade nicht bei welchen noch.


    Gruß, Fred

  7. #16
    Registriert seit
    15.10.2014
    Beiträge
    91
    Danke
    15
    Erhielt 18 Danke für 15 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    @Harald
    Ja es scheint so als ob TIA die Simulation unterschiedlich ausführt. Gestartet habe ich sie immer über das PC Symbol in der Symbolleiste (sprich die "Standard-Simulation" = Online -> Simulation -> Starten ).
    Jedenfalls ist es für die sonstige Bedienung der Simulation egal wie sie gestartet wird. Es fallen keine unterschiede auf.
    Dieses Verhalten habe ich auch den Support geschildert allerdings noch keine Antwort erhalten.

    Die Variablen in "Script_Rezeptname", "Script_Datensatzname", "Script_Status" sind interne HMI Variablen. Ebenfalls sind allerdings auch die Variablen mit "SmartTag" interne HMI Variablen.
    Wenn man "SmartTag" schreibt sind es richtige Variablen, wenn man sie nur mit "" schreibt werden sie als Konstanten interpretiert.

    Über die Dokumentation wurde nichts gesagt.

    Nochmal das vollständige lauffähige Script:
    Code:
    Dim i
    
    For i = 1 To 8
     SmartTags("Script_DatensatzNr") = i
     GetDataRecordName 1, SmartTags("Script_DatensatzNr"), "Script_Rezeptname", "Script_Datensatzname", "Script_Status"
     Do
      If Script_Status = 12 Then
       SmartTags("Anzahl_Datensätze") = i - 1
       Exit For
      End If
     Loop Until Script_Status = 4
     Select Case i
      Case 1
       SmartTags("Datensatz_1") = Script_Datensatzname
      Case 2
       SmartTags("Datensatz_2") = Script_Datensatzname
      Case 3
       SmartTags("Datensatz_3") = Script_Datensatzname
      Case 4
       SmartTags("Datensatz_4") = Script_Datensatzname
      Case 5
       SmartTags("Datensatz_5") = Script_Datensatzname
      Case 6
       SmartTags("Datensatz_6") = Script_Datensatzname
      Case 7
       SmartTags("Datensatz_7") = Script_Datensatzname
      Case 8
       SmartTags("Datensatz_8") = Script_Datensatzname  
     End Select
     Script_Status = 0
    Next
    Var_TIA.PNG

    Welche TIA Version hast du denn Harald?

    Stefan

Ähnliche Themen

  1. Antworten: 6
    Letzter Beitrag: 24.10.2012, 08:40
  2. Antworten: 29
    Letzter Beitrag: 06.07.2012, 10:02
  3. Antworten: 0
    Letzter Beitrag: 06.04.2012, 08:37
  4. Antworten: 0
    Letzter Beitrag: 22.01.2012, 18:59
  5. Portal TIA WinCC V11
    Von TMaroni im Forum HMI
    Antworten: 4
    Letzter Beitrag: 15.11.2011, 07:57

Lesezeichen

Berechtigungen

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