Hirdetés

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

  • Szirty

    őstag

    válasz 01101010111 #2952 üzenetére

    Szevasz 01101010111!

    Gondolm WinCC helyett WinCC Flexible-ről van szó.

    Tehát azt akarod, hogy a PLC tudja melyik screen van a HMI-n megjelenítve.
    A dolog többféleképpen is kivitelezhető, leírom ln hogy szoktam.
    A dolog mechanizmusa az, hogy a HMI-ben felvejető egy areapointer, ami 5 integert tartalmaz. Ezekben minden képernyőváltáskor közli, hogy hanyas kép van kiválasztva és az user kép vagy rendszer kép, továbbá megadja azt is, hogy az adott képernyőn melyik mező van kiválasztva (ha van kiválasztható mező a képernyőn, pl. input field).

    A megvalósításhoz a következő lépéseket kell követned:

    1.
    A PLC-ben valamelyik DB blokkban kijelölsz 5 szó (10 byte) hosszúságú helyet. Célszerő az operátorpanellel való foglalkozáshoz egy külön DB-t használni,de egyébként mindegy mi van még a DB blokkban. 5 integer típusú bejegyzésre lesz szükség:

    A példában én a DB10-et használtam erre, a kép tehát a DB 10 egy részletét mutatja.

    2.
    A WinCC Flexben Communications / Connections képen átváltasz az Areapointer fülre és For all connections sorban megadod a létrehozott 5 integer kezdőcímét (DB10.DBW10)

    TIA portál esetén ugyanez a beállítás szükséges (de arról nem csinálok külön screenshotot).

    3.
    A PLC-ben ezután a DB10.DBW12-ben megkapod hányas számú kép van kijelezve. De ez csak akkor igaz, ha a DB10.DBW10 tartalma =1 (ebből derül ki, hogy nem rendszer képernyőről, hanem felhasználóiról van szó).
    Ha biteket akarsz bekapcsolni amikor egyes képernyők vannak kijelezve, akkor egyszerű összehasonlításokkal könnyen megteheted.
    Pl.:

    Ha sok képernyőhöz kell külön-külön ilyen biteket kapcsolgatni, akkor érdemes csinálni egy program blokkot ami ezzel foglalkozik.

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