logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

WinCC Flexible 2008 – jak poprawnie uruchomić i cyklicznie wykonywać skrypt?

Przemasbmw 22 Lut 2012 17:19 1715 3
REKLAMA
  • #1 10582923
    Przemasbmw
    Poziom 9  
    Posty: 40
    Pomógł: 1
    Ocena: 1
    Witam kolegów mam pytanie z tematu skrypty w WinCC flexible 2008 dopiero zaczynam tworzyć w tym programie no i bardzo ciekawią mnie skrypty próbowałem zrobić taki prosty np jak się jakiś bit włączy to żeby drugi przyjął wartość 1 ale nie działa a zrobiłem to tak



    If SmartTags("Tag_1")=True Then SmartTags("Tag_2")=1 End If


    tagi są interial nie podłączone do sterownika ale na symulacji chyba powinno to działać i jeszcze coś takiego jak zrobić żeby się wykonywało co 100ms oczywiście w tym przypadku tag2 jest zmienną typu INT

    If SmartTags("Tag_1")=True Then SmartTags("Tag_2")= SmartTags("Tag_2")+1 End If


    dodam jeszcze że wywołanie skryptu zrobiłem przyciskiem.
  • REKLAMA
  • #2 10584141
    premorepa
    Poziom 11  
    Posty: 38
    Pomógł: 1
    Ocena: 3
    wygląda jak Pascal, a z tego co mogę podpowiedzieć to deklaracje (:=) powinny wyglądać tak :

    If SmartTags("Tag_1")=True Then SmartTags("Tag_2"):= SmartTags("Tag_2")+1 End If

    ale to Ci powinno wyskoczyć w błędach składni...
  • REKLAMA
  • #3 10588997
    jakubch86
    Poziom 15  
    Posty: 124
    Pomógł: 8
    Ocena: 7
    w opcji Scheduler możesz ustawić wywoływanie co 1 min.. tylko Ustaw bajt zegarowy w CPU wywoływany co 100ms i podczas zmiany jego wartości wywołuj skrypt W ustawieniach zmień również Mode na Cyclic Continuous
  • #4 10589058
    Przemasbmw
    Poziom 9  
    Posty: 40
    Pomógł: 1
    Ocena: 1
    Witam działa mi już ten skrypt problem był w tym że wywoływałem skrypt tym samym przyciskiem co setowałem Tag_1 i dlatego nie działało a jak rozdzieliłem to działa ale teraz mam inny problem:


    For SmartTags("Tag_3") = 0 To 20 Step 1
    If SmartTags("Tag_1")=True Then SmartTags("Tag_2")=SmartTags("Tag_2")+3 End If
    Next


    chciałem zrobić taką pętle ale cały czas wyświetla błąd w miejscu Tagu_3 który jest licznikiem wartości aktualnej jest zadeklarowany jako zmienna typu INT nie wiem gdzie jest błąd?
REKLAMA