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

  • Gusi

    csendes tag

    válasz Szirty #5844 üzenetére

    A képváltásnál valószínűleg a tia v13 sp nélküli verziója lesz a ludas, még nem próbáltam ki újjal, nem volt lehetőségem. A problémát kikerültem:
    - változó megváltozási eseményébe tettem, hogy tegye screen-értékké
    - minden screen-megjelenítési scriptjébe egy másik változóba írok, a saját sorszámát
    - a plc-ben figyelem a két változót, hogy egyyforma-e időn belül, ha nem
    váltok egy üres lapra (tettem bele), majd újrapróba (addig temp változóban a lap száma)
    - így a képernyő gombjain nem lapot váltok, hanem azt a változót írom, és automatice megoldja
    Tehát két változó van, az egyiket csak plc-ből, a másikat csak hmi-ből írom.

    A kapcsolat fennállását a köviképp figyelem:
    - clock bit a plc-ből olvasva, majd változó onchange-be egy bit inversion egy másik változóba
    (mint fent az írási hozzáférés)
    Ennek változását (fel és lefutó detektálás paralell vagy-ban) figyelem timerrel.
    Ha "nincs jelen" a plc-ben az összes hmi-gomb memóriát törlöm, nehogy úgymaradjon.

    Ennyi.

    Konkrétan 3 db FB van benne.
    Az egyik (nem tudom megnézni most sajna) tartalmaz egy darab közvetlen BLKMOV hívást.
    Ennek a fejléce kap forrás és célterület leírót, és másolandó darabszámot.
    Ebből létrehozza a két any pointert, és gyí.

    A másik kettő hivogatja ezt az FB-t.
    Az egyikben sztringtábla (tp177a-ban nincs görgethető lista, csináltam :) ) kezelése, a másikban recept mentés-betöltés van. Meg néhány értékhatár ellenőrzés. (igen, van recept kezelés a hmi-ben, de azt utálom :) )

    Szóval a nagyobbik FB-ben van a hiba.
    Ha minden fc-t kitörölsz akkor is tud működni.
    Két bitre indul: a load és not loaded, a másik save és not saved-re indul.
    Itt, a végén az if-ek, amik érdekesek.

    Lehet valami olyasmi lesz, hogy a hozzá tartozó db-k nem retentívek, vagy ilyesmi. Ne úgy is kellene mennie, szal passz. Köszönöm, hogy foglalkozol vele!

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