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

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

Thema: WinCC flex Variableninhalte summieren skript

  1. #11
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.850
    Danke
    78
    Erhielt 800 Danke für 543 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    so wie du jetzt möchtest nicht.
    du kannst die variable aber als array definieren.

    Code:
    dim i, ergebnis
    ergebnis = 0
      for i = 0 to 5
        ergebnis = ergebnis + var_array(i)
      next
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  2. #12
    Registriert seit
    02.12.2008
    Beiträge
    58
    Danke
    35
    Erhielt 4 Danke für 3 Beiträge

    Standard

    Ich hab eine Lösung Gefunden.

    Code:
    Dim stueck_tag
    Dim NS_22_23, NS_23_0, NS_0_1, NS_1_2, NS_2_3, NS_3_4, NS_4_5, NS_5_6
    Dim FS_6_7, FS_7_8, FS_8_9, FS_9_10, FS_10_11, FS_11_12, FS_12_13, FS_13_14
    Dim SS_14_15, SS_15_16, SS_16_17, SS_17_18, SS_18_19, SS_19_20, SS_20_21, SS_21_22
     
    ' Tagauswahl
    Select Case SmartTags("Intern\stueck_Tag_aus")
     Case "0"
      stueck_tag = "stueck_tag1"
     Case "1"
      stueck_tag = "stueck_tag2" 
     Case "2"
      stueck_tag = "stueck_tag3"
     Case "3"
      stueck_tag = "stueck_tag4"
     Case "4"
      stueck_tag = "stueck_tag5"
     Case "5"
      stueck_tag = "stueck_tag6"
     Case "6"
       stueck_tag = "stueck_tag7"
    End Select
     
     
    NS_22_23 = SmartTags("stueck_tage\"&stueck_tag&"\22-23")
    NS_23_0 =  SmartTags("stueck_tage\"&stueck_tag&"\23-0")
    NS_0_1 = SmartTags("stueck_tage\"&stueck_tag&"\0-1")
    NS_1_2 = SmartTags("stueck_tage\"&stueck_tag&"\1-2")
    NS_2_3 = SmartTags("stueck_tage\"&stueck_tag&"\2-3")
    NS_3_4 = SmartTags("stueck_tage\"&stueck_tag&"\3-4")
    NS_4_5 = SmartTags("stueck_tage\"&stueck_tag&"\4-5")
    NS_5_6 = SmartTags("stueck_tage\"&stueck_tag&"\5-6")
     
    FS_6_7 = SmartTags("stueck_tage\"&stueck_tag&"\6-7")
    FS_7_8 = SmartTags("stueck_tage\"&stueck_tag&"\7-8")
    FS_8_9 = SmartTags("stueck_tage\"&stueck_tag&"\8-9")
    FS_9_10 = SmartTags("stueck_tage\"&stueck_tag&"\9-10")
    FS_10_11 = SmartTags("stueck_tage\"&stueck_tag&"\10-11")
    FS_11_12 = SmartTags("stueck_tage\"&stueck_tag&"\11-12")
    FS_12_13 = SmartTags("stueck_tage\"&stueck_tag&"\12-13")
    FS_13_14 = SmartTags("stueck_tage\"&stueck_tag&"\13-14")
     
    SS_14_15 = SmartTags("stueck_tage\"&stueck_tag&"\14-15")
    SS_15_16 = SmartTags("stueck_tage\"&stueck_tag&"\15-16")
    SS_16_17 = SmartTags("stueck_tage\"&stueck_tag&"\16-17")
    SS_17_18 = SmartTags("stueck_tage\"&stueck_tag&"\17-18")
    SS_18_19 = SmartTags("stueck_tage\"&stueck_tag&"\18-19")
    SS_19_20 = SmartTags("stueck_tage\"&stueck_tag&"\19-20")
    SS_20_21 = SmartTags("stueck_tage\"&stueck_tag&"\20-21")
    SS_21_22 = SmartTags("stueck_tage\"&stueck_tag&"\21-22")
     
    SmartTags("Intern\stueck_ges_NS")= NS_22_23 + NS_23_0 + NS_0_1 + NS_1_2 + NS_2_3 + NS_3_4 + NS_4_5 + NS_5_6
    SmartTags("Intern\stueck_ges_FS")= FS_6_7 + FS_7_8 + FS_8_9 + FS_9_10 + FS_10_11 + FS_11_12 + FS_12_13 + FS_13_14
    SmartTags("Intern\stueck_ges_SS")= SS_14_15 + SS_15_16 + SS_16_17 + SS_17_18 + SS_18_19 + SS_19_20 + SS_20_21 + SS_21_22

  3. #13
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.170
    Danke
    922
    Erhielt 3.287 Danke für 2.656 Beiträge

    Standard

    Im Script kann man den Tagname aus Strings zusammensetzen, allerdings mag SmartTags() das manchmal nicht innerhalb der Klammer
    (da hatte ich jedenfalls schon mal Probleme).

    Wenn Du Glück hast, funktioniert das hier (habe ich jetzt nicht getestet):
    Code:
    Dim tag
    Select Case SmartTags("Intern\stueck_Tag_aus")
     Case "0"
      tag = "Stueck_Tag1"
     Case "1"
      tag = "Stueck_Tag2"
     Case "2"
      tag = "Stueck_Tag3"
     Case "3"
      tag = "Stueck_Tag4"
     Case "4"
      tag = "Stueck_Tag5"
     Case "5"
      tag = "Stueck_Tag6"
     Case "6"
      tag = "Stueck_Tag7"
    End Select
    
    SmartTags("Intern\stueck_ges_NS") = SmartTags("Stueck_Tage\" & tag & "\22-23") _
                                      + SmartTags("Stueck_Tage\" & tag & "\23-0") _
                                      + SmartTags("Stueck_Tage\" & tag & "\0-1") _
                                      + SmartTags("Stueck_Tage\" & tag & "\1-2") _
                                      + SmartTags("Stueck_Tage\" & tag & "\2-3") _
                                      + SmartTags("Stueck_Tage\" & tag & "\3-4") _
                                      + SmartTags("Stueck_Tage\" & tag & "\4-5") _
                                      + SmartTags("Stueck_Tage\" & tag & "\5-6")
    Wenn obiges nicht funktioniert, dann wird es aufwendiger.
    Weil Deine Tagnamen 2 veränderliche Teile haben und der letzte Teilname Schleifen-ungünstig gewählt ist, müsstest Du vor dem
    Summieren 8 Tagnamen zusammenbauen. Aber ob das den Aufwand gerechtfertigt?
    Code:
    Dim tag, tag1, tag2, tag3, tag4, tag5, tag6, tag7, tag8
    Select Case SmartTags("Intern\stueck_Tag_aus")
     Case "0"
      tag = "Stueck_Tag1"
     Case "1"
      tag = "Stueck_Tag2"
     Case "2"
      tag = "Stueck_Tag3"
     Case "3"
      tag = "Stueck_Tag4"
     Case "4"
      tag = "Stueck_Tag5"
     Case "5"
      tag = "Stueck_Tag6"
     Case "6"
      tag = "Stueck_Tag7"
    End Select
    
    tag1 = "Stueck_Tage\" & tag & "\22-23"
    tag2 = "Stueck_Tage\" & tag & "\23-0"
    tag3 = "Stueck_Tage\" & tag & "\0-1"
    tag4 = "Stueck_Tage\" & tag & "\1-2"
    tag5 = "Stueck_Tage\" & tag & "\2-3"
    tag6 = "Stueck_Tage\" & tag & "\3-4"
    tag7 = "Stueck_Tage\" & tag & "\4-5"
    tag8 = "Stueck_Tage\" & tag & "\5-6"
    
    SmartTags("Intern\stueck_ges_NS") = SmartTags(tag1) _
                                      + SmartTags(tag2) _
                                      + SmartTags(tag3) _
                                      + SmartTags(tag4) _
                                      + SmartTags(tag5) _
                                      + SmartTags(tag6) _
                                      + SmartTags(tag7) _
                                      + SmartTags(tag8)
    [EDIT]
    Ich sehe gerade, daß Du auch was gefunden hast - ich stelle meinen Vorschlag trotzdem mal rein.
    [/EDIT]

    Gruß
    Harald

  4. Folgender Benutzer sagt Danke zu PN/DP für den nützlichen Beitrag:

    roadrunner (22.03.2010)

  5. #14
    Registriert seit
    02.12.2008
    Beiträge
    58
    Danke
    35
    Erhielt 4 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    danke für deine Antwort.

    Ich habe es jetzt so gelöst wie du im unteren Beispiel, und habe es erfolgreich getestet.

    Gruß
    roadrunner

Ähnliche Themen

  1. WinCC flex skript lange codezeile ...
    Von erzteufele im Forum HMI
    Antworten: 2
    Letzter Beitrag: 21.07.2011, 08:02
  2. skript test mit Runtimesimu Wincc flex
    Von andy0909 im Forum HMI
    Antworten: 4
    Letzter Beitrag: 19.11.2010, 09:31
  3. WinCC Flex 2005 - Skript
    Von eYe im Forum HMI
    Antworten: 1
    Letzter Beitrag: 05.03.2009, 17:50
  4. Antworten: 2
    Letzter Beitrag: 25.02.2009, 22:07
  5. WinCC flex VB Skript aus SPS starten
    Von figo80 im Forum HMI
    Antworten: 5
    Letzter Beitrag: 16.01.2008, 11:39

Lesezeichen

Berechtigungen

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