Hirdetés

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

  • Szirty

    őstag

    válasz Fire_Vire #5526 üzenetére

    Ha azt akarod, hogy egy időtag ne konstans (állandó) értékű SV (beállított érték - set value) szerint működjön, hanem a program futás közben akarod változtatni ez időtag SV értékét (pl. egy felhasználói beállítás szerint) vagyis váltózóba tennéd, akkor használj S5TIME típusú változót és abba rakd az időt.

    Ha ez operátor panelen a kezelő által beállított érték, akkor ezzel több dolgot nincs.

    L 'S5T#'
    L DB200.DBD 30 // Ezzel az értékkel szeretném változtatni az időzítő értékét.
    L 'm'
    T #Timer_variable

    Ez így azért nem jó, mert minden L (LOAD) az accu1-be tölt, T meg abból.
    Ezért a fenti kód első két sora teljesen hatástalan lesz, a #Timer_variable változóba pedig az "m" betű ASCII kódja kerül (109).

    Egyébként időtaghoz nem kell stringekből összesakkozni egy "S5T#2M" stringet, mert az S5T#2M egy konstans és fordításkor a compiler csinál belőle S5TIME típust. Maga az s5time változó nem ezt tartalmazza, hanem ezt:

    vagyis egy 16 bites szám, ami BCD digiteket és időalap kódokat tartalmaz.
    Inkább azt írd le mit szeretnél megvalósítani ne azt hogy hogyan.

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