-> Hier kostenlos registrieren
Hallo, ich hab ein Problem und weiß nicht wie ich es lösen soll. Evtl. gibt es ja eine einfache Lösung da ich noch nicht so viel mit Scripten in der HMI gearbeitet hab.
Hier das Problem.
Ich haben ein OP 277 mit WinCC flexible Advanced Projekt (nicht von mir geschrieben und auch schon über 10 Jahre alt), dieses soll auf eine KP 700 Comfort Panel mit TIA WinCC Advanced hochgerüstet werden. Soweit funktioniert auch alles bis darauf das im alten Projekt ein Script läuft das nach dem hochrüsten einen Fehler bring da es den Befehl anscheinend nicht mehr bei TIA gibt. Im alten Projekt wird der Befehl:
SetValue SmartTags("Schw_Rez\Rez_Array_DB101"), SmartTags("Schw_Rez\Rez_Array_Edit")
verwendet. Soweit ich das verstehe wird hier das Array von einem DB in den anderen kopiert. Da es den Befehl ja nicht mehr gibt hab ich es mit einer Schleife versucht.
Dim i
For i=0 To i=419
SmartTags("Schw_Rez\Rez_Array_DB101")(i)= SmartTags("Schw_Rez\Rez_Array_Edit")(i)
Next
Hat jedoch nicht geklappt da "i" dann einen Overflow hat. Kann anscheinend nur 100 Werte annehmen. Wie gesagt hab nicht viel mit Scripten zu tun.
Danach hab ich das noch probiert. Wobei ich hier eine interne Variable angelegt hab die hochzählen soll.
SmartTags("Schw_Rez\Hilfszähler")=0
Do Until SmartTags("Schw_Rez\Hilfszähler")>419
SmartTags("Schw_Rez\Rez_Array_DB101")("Schw_Rez\Hilfszähler")= SmartTags("Schw_Rez\Rez_Array_Edit")("Schw_Rez\Hilfszähler")
SmartTags("Schw_Rez\Hilfszähler")=SmartTags("Schw_Rez\Hilfszähler")+1
Loop
Hat aber auch nicht funktioniert da hier der Fehler "typ mismatch" kommt. Vermutlich kann ich den Index des Arrays nicht mit der internen Variable belegen.
Kann mir hier evtl. einer weiter helfen. Stelle jetzt noch Bilder von dem alten Projekt wie auch vom hochgerüsteten Projekte rein



Hier das Problem.
Ich haben ein OP 277 mit WinCC flexible Advanced Projekt (nicht von mir geschrieben und auch schon über 10 Jahre alt), dieses soll auf eine KP 700 Comfort Panel mit TIA WinCC Advanced hochgerüstet werden. Soweit funktioniert auch alles bis darauf das im alten Projekt ein Script läuft das nach dem hochrüsten einen Fehler bring da es den Befehl anscheinend nicht mehr bei TIA gibt. Im alten Projekt wird der Befehl:
SetValue SmartTags("Schw_Rez\Rez_Array_DB101"), SmartTags("Schw_Rez\Rez_Array_Edit")
verwendet. Soweit ich das verstehe wird hier das Array von einem DB in den anderen kopiert. Da es den Befehl ja nicht mehr gibt hab ich es mit einer Schleife versucht.
Dim i
For i=0 To i=419
SmartTags("Schw_Rez\Rez_Array_DB101")(i)= SmartTags("Schw_Rez\Rez_Array_Edit")(i)
Next
Hat jedoch nicht geklappt da "i" dann einen Overflow hat. Kann anscheinend nur 100 Werte annehmen. Wie gesagt hab nicht viel mit Scripten zu tun.
Danach hab ich das noch probiert. Wobei ich hier eine interne Variable angelegt hab die hochzählen soll.
SmartTags("Schw_Rez\Hilfszähler")=0
Do Until SmartTags("Schw_Rez\Hilfszähler")>419
SmartTags("Schw_Rez\Rez_Array_DB101")("Schw_Rez\Hilfszähler")= SmartTags("Schw_Rez\Rez_Array_Edit")("Schw_Rez\Hilfszähler")
SmartTags("Schw_Rez\Hilfszähler")=SmartTags("Schw_Rez\Hilfszähler")+1
Loop
Hat aber auch nicht funktioniert da hier der Fehler "typ mismatch" kommt. Vermutlich kann ich den Index des Arrays nicht mit der internen Variable belegen.
Kann mir hier evtl. einer weiter helfen. Stelle jetzt noch Bilder von dem alten Projekt wie auch vom hochgerüsteten Projekte rein



