Keresés

Hirdetés

Új hozzászólás Aktív témák

  • Szirty

    őstag

    válasz bodnarg #5272 üzenetére

    Helló BG!

    Ha egy tag limit eventre akarsz valamit (pl. scriptet indítani) annak három feltétele van:

    1. A változónak meg kell haladnia a limitet
    2. Be kell állítani a limitet (tag Propeties/Limits). Ha nincs beállítva limit, akkor fogalma sem lesz mit kell meghaladni az eseményhez (alapesetben nincs tag limit beállítva)
    3. Az esemény lefutásának további feltétele hogy a runtime észrevegye a limit átlépését amire csak akkor van lehetősége ha a TAG-et olvassa.

    Azt írtad hogy neked folyamatos olvasásra van állítva, tehát a 3. feltétel teljesül.
    Mivel a proba nevű változód boolean, a második feltételnek már nem tudsz eleget tenni, mert logikai változóhoz nem lehet limitet hozzárendelni.
    Ennek az az oka, hogy mivel az esemény a limit meghaladása (átlépése) esetén futna le, de felső limitnek csak 1-et adhatsz meg, a logikai változó meg nem lehet 1-nél nagyobb így a limitet nem tudja meghaladni ami miatt ez esemény nem jöhet létre. Így a boolean esetén a limit beállítás is tiltott.

    Azt javaslom hogy:
    Ne egy változóval indítsd a recept betöltését a PLC-ből, hanem a HMI-ből indítsd. Pl. a screen
    Vagy használ integer változót a Screen Loaded nevű eseményével azon a screenen amelyikre a kezelő lapoz amikor a receptekkel akar foglalkozni. Így a screen megjelenítésekor lefut a töltögetés, nem kell külön gombot nyomkodnia.

    Vagy:
    Használd a proba tag High limit eseménye helyett a Change value eseményt, a script elejére meg tegyél egy feltételt hogy csak akkor hajtódjon végre amikor proba = TRUE

    Vagy:
    boolean helyett használj pl. integer tag-et. Akkor használhatod a limit eseményét, de be kell állítanod neki 1-es felső limitet. Amikor a PLC 1-nél nagyobb értéket ír bele amikor egynél kisebb volt, le fog futni az esemény.
    Persze gondoskodnod kell arról, hogy az esemény lefutása után visszaírjon bele "valaki" 1-nél kisebb értéket.

    Az első módszer javaslom legjobban az utolsót legkevésbé.

Új hozzászólás Aktív témák