Hirdetés

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

  • Szirty

    őstag

    válasz plutokas #4740 üzenetére

    Üdv plutokas!

    Ismét csak tudni kellene, hogy mit hogyan állítottál be. Pl. az screen number areapointert. Ugyanis az nem csak egy word, hanem rögtön öt! Ezért a DB-ben amire ráállítod 5 word (10 byte) helyet kell neki hagyni.
    Ráadásul nem az első word a kép száma, hanem a második. Az elsőben meg azt közli, hogy normal screen van-e a képernyőn vagy system screen. Azt is illik figyelembe venni. Ha nem hagytál neki 5 word helyet, akkor a DB-ben szépen felülfirkálja a megadott cím utána következő 8 byte-ot. Ha éppen oda tettél valamit, netán pont azt az integert amivel át akarod vátani a screen-t, akkor baj van.

    Továbbá: A screen number areapointerben a panel mondja meg melyik kép van kijelezve és nem te neki hogy melyiket jelezze ki.

    "Létreehoztam egy TAG-et amiben ActivateScreenByNumber eseménnyel összepárosítottam és erre az adatbázisra kapcsoltam."

    Az ActivateScreenByNumber nem esemény, hanem egy funkció. A funkciót lehet eseményhez rendelni.
    Milyen eseményhez rendelted tehát ezt a funkciót?
    Ha netán éppen a TAG change value eseményéhez, akkor beállítottad-e a TAG acquistion cycle-jét cyclic on use-ról cyclic continuous-ra? Ha nem, akkor nem fog létrejönni az esemény, ha a TAG-et a panel nem olvassa, a TAG-et a panel márpedig nem olvassa ha nincs az aktív képen olyan in/out aktív elem, amihez ez a TAG hozzá van rendelve stb, stb...

    Megint találgatni kell! Kérdezz pontosabban!

    Ui.:
    Hasznos lenne, ha csinálnál egy olyan screent, amire tennél egy AlarmView objektumot, amit beállítanál a rendszer üzenetek megjelenítésére.(Display: Alarm events, Classes: System).
    Ezt az ablakot a HMI ugyanis szépen telesírja ha valami fáj neki. Ilyenkor igen hasznos erre ránézni. Szerintem neked ott most olyasmi üzenet lenne, hogy "Invalid screen number"...

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