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

  • moseras

    tag

    Sziasztok

    Újabb kérdéseim lennének PLC-vel kapcsolatban:

    1.Van egy PLC (WAGO), van benne RTC. A gyártó azt javasolja, hogy az RTC-t olvasó részt külön programba tegyük, azt szervezzük külön taszkba, és ezt T#1s0ms időnként alacsony prioritással futtassuk meg. Az RTC értékét pedig ez a taszk tegye le egy GLOBAL DT-be. Ez így jól hangzik, de mi van akkor, ha el kell indítanom valamit 17:40:28-kor, és az RTC-t olvasó taszk mondjuk 17:40:27 legvégén olvasott be értéket, és legközelebb pedig csak 17:40:29 legelején (ez elvileg megtörténhet, hogy mondjuk 1002 msec-enként kerül sorra, hiszen az ütemező több nagyobb prioritással futó taszkot ütemezett be). Szóval ilyenkor kimaradt az én várt másodpercem !? Mi ennek a korrekt megoldása ?

    2. Ha van n darab taszkom, amik egy közös GLOBAL területen lévő változót írnak/olvasnak (mint pl. az előbb), akkor mi a megoldása annak, hogy az olvasó taszk csak akkor nyúljon bele, ha az író taszk már végzett az írással (illetve fordítva, addig ne írjon bele, amíg a másik ki nem olvasta) ? Tehát semaphor(), mutex(). lock() stb-re gondolok...
    Kell e ilyen ide ?

    Köszi.

    Imi.

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