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

Ergebnis 1 bis 5 von 5

Thema: WinCC-flexible Handling von Arrays in Scripten

  1. #1
    Registriert seit
    15.02.2006
    Beiträge
    11
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Unglücklich


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    ich habe folgendes Problem:
    Ich habe Fünf Variablen vom Typ Byte mit 8 Arrayelementen konfiguriert.
    Diese sind mit einer S7 414 verbunden und auf einen DB-Bereich adressiert.
    Die Werte in den Bytes bezeichnen den Betriebszustand einer Maschine.
    In einem Bild, das nur eine von 5 Maschinen zeigt möchte ich zyklisch einen Teil des Arrays der anzuzeigenden Anlage in die Interne Byt- Variable kopieren, welche an Steuerelemente auf einem Bild gekoppelt ist.
    Alle Versuche scheitern an einem Typenkonflikt.
    Z.B:

    If SmartTags("bol_Modulbild_Aktiv") = False Then
    Exit Sub
    End If

    Select Case SmartTags("int_Modulnummer")
    Case 1
    SmartTags("byt_MEV_Modul_Upstacker_SSh") = SmartTags("byt_Arr_M1_Upstacker_SSh[1]")
    Case 2
    SmartTags("byt_MEV_Modul_Upstacker_SSh") = SmartTags("byt_Arr_M2_Upstacker_SSh[1]")
    Case 3
    SmartTags("byt_MEV_Modul_Upstacker_SSh") = SmartTags("byt_Arr_M3_Upstacker_SSh[1]")
    Case 4
    SmartTags("byt_MEV_Modul_Upstacker_SSh") = SmartTags("byt_Arr_M4_Upstacker_SSh[1]")
    Case 5
    SmartTags("byt_MEV_Modul_Upstacker_SSh") = SmartTags("byt_Arr_M5_Upstacker_SSh[1]")
    End Select

    Call Refresh_Time()


    Ein weiterer bizarrer Fefler ist, dass bie der Case-Abfrage die "1" rot unterschlängelt ist (hat Siemens heimlich die 1 aus der Menge der Integerzahen entfernt???).

    Auch dies funktioniert nicht:

    Dim Testarray(7)

    Testarray = SmartTags("byt_Arr_M1_Upstacker_SSh") 'Testarray ist rot unterschlängelt. Grund ?????


    Dim Testarray

    Testarray = SmartTags("byt_Arr_M1_Upstacker_SSh[1]")'Hier ist der andere Teil unterschlängelt: Grund ??????

    So langsam verzweifle ich an WinCC-flexible.

    Danke schon mal für eure Mühe.
    Gruß,
    Norbert
    Zitieren Zitieren WinCC-flexible Handling von Arrays in Scripten  

  2. #2
    Registriert seit
    09.09.2004
    Beiträge
    71
    Danke
    0
    Erhielt 17 Danke für 13 Beiträge

    Standard

    Hallo,

    wie das mit dem Skript funktioniert, weiß ich im Moment auch nicht,
    aber für dein Bild gibt es auch eine andere Möglichkeit.

    Es gibt in WinCC flexible die Möglichkeit Multiplexvariablen zu parametrieren
    dazu legst du eine neue Interne Variable an, gehst bei den Eigenschaften
    dieser Variable auf Multiplexen und setzt den Hacken.
    Dann kannst du dein Array auf der rechten Seite eintragen und zusätzlich
    noch eine Indexvariable eingeben.
    Jetzt kannst du in deinem Bild die jeweilige Multiplexvariable verwenden
    und über den Index greifst du dann auf das jeweilige Arrayelement zu.

    Wenn man die Multiplexvariable projektiert sieht man schon wie es
    funktionieren soll.

    Gruß
    Nico

  3. #3
    Registriert seit
    14.09.2005
    Beiträge
    21
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo,

    In Wincc/Flex muss man die Array tags in Scripte so schreiben :
    z.B
    SmartTags("byt_MEV_Modul_Upstacker_SSh")(1) = SmartTags("byt_Arr_M1_Upstacker_SSh")(1)

    oder wenn byt_MEV_Modul_Upstacker_SSh nicht array ist

    SmartTags("byt_MEV_Modul_Upstacker_SSh") = SmartTags("byt_Arr_M1_Upstacker_SSh")(1)

    Gruess

    Bashier W-G

  4. #4
    Registriert seit
    14.09.2005
    Beiträge
    21
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Und

    wenn
    Dim Testarray(7)

    nicht
    Testarray = SmartTags("byt_Arr_M1_Upstacker_SSh") 'Testarray ist rot unterschlängelt. Grund ?????

    sondern

    Testarray(INDEX) = SmartTags("byt_Arr_M1_Upstacker_SSh")

    INDEX = 0-7

  5. #5
    Norbert.N ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    15.02.2006
    Beiträge
    11
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Daumen hoch


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Mein Dank kommt zwar etwas spät.
    Ich war etwas länger im Urlaub.

    Und auch einen besonderen Dank an Siemens, die dafür Sorge tragen, dass solche Fragen nicht mit der Hilfedatei zu lösen sind.

    Gruss Norbert
    Zitieren Zitieren Danke für eure Hilfe!!!!!!!!  

Ähnliche Themen

  1. Handling Störmeldungen WinCC flexibel
    Von Markus im Forum HMI
    Antworten: 29
    Letzter Beitrag: 13.09.2011, 18:51
  2. Antworten: 4
    Letzter Beitrag: 08.03.2011, 12:29
  3. Bug WinCC Flexible Arrays?!
    Von ahaenle im Forum HMI
    Antworten: 7
    Letzter Beitrag: 12.02.2010, 08:14
  4. Auflistung eines Arrays unter WinCC
    Von Maggro im Forum HMI
    Antworten: 0
    Letzter Beitrag: 20.10.2008, 14:44
  5. umverdrahten von ext. Variablen die in Scripten vorkommen
    Von dellamorte-dellamore im Forum HMI
    Antworten: 2
    Letzter Beitrag: 08.02.2006, 12:33

Lesezeichen

Berechtigungen

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