Új hozzászólás Aktív témák
-
Szirty
őstag
Hali moseras!
"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"
Ha te végzed az idő bekövetkeztének a figyelését, akkor ezt a problémát elkerülheted, ha az idő összehasonlítását (beállított és az óra) nem egyenlőségre vizsgálod, hanem nagyobb relációra és erre teszel egy él figyelést.
Vagyis ha az RTC-ből olvasott idő nagyobb mint a beállított, akkor bebillentesz egy bitet. Ezt a bitet figyeli a programod, hogy mikor változik 0-ról 1-re.
Ennél csak arra kell figyelni, hogy ha állítják az RTC-t, átállás van téli nyári időszámításra, vagy a beállított időt állítják úgy, hogy az állítás következtében teljesül a feltétel, akkor is "jelezni" fog.Ha az idő figyelését a rendszerre bízod, akkor nyilván rajta múlik hogyan kezeli az ilyen esetet. Mint pl. S7-nél vannak timer interruptok (beállított időpontban meghív egy blokkot).
"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"
Ez nagyon rendszerfüggő.
De szerintem nem kell ezzel as problémával számolni, mivel a több taszk ellenére is csak egy dolgot képes elvégezni egy időben. Tehát amikor éppen ír, akkor biztos hogy nem fog olvasni, és viszont.
Ha az írás/olvasás több adatot érint amely hosszabb idő és elvileg megszakítható, akkor csak onnan kapsz választ a kérdésedre ha megnézed az adott rendszer timing dolgait. S7-hez van ilyen, nem tudom wagohoz van-e. Ebben le van írva hogy minek mekkora a prioritása és mi mit képes félbeszakítani és mit nem.Szerintem két taszk nem egymástól teljesen függetlenül aszinkron módon fut.
Nekem akkor volt ilyen jellegű problémám, amikor operátorpanellel kellett kommunikálni (PLC JOB-ok futtatása a panelen). De ott voltak szemafor jellegű jelzések, amivel lehett koordinálni nikor ki írjon.
Új hozzászólás Aktív témák
- ASUS ROG Flow Z13 2in1 i9 / RTX 3050Ti / 120Hz GAMER TABLET!
- Asztali PC i7 13700K RX 7900 GRE 32GB DDR5 1TB NVME
- Nintendo Switch 2, dobozában, játékkal, ajándék tokkal és kiegészítőkkel, 6 hónap garanciával eladó!
- HP PROBOOK X360 11 G5 N5030 /8GB/256 GB SSD/11.6" Hd Touch laptop+tablet garanciás
- MSI GeForce RTX 4080 SUPER GAMING X SLIM 16G - Alza garancia 2027.01.31 - BESZÁMÍTOK!
- GYÖNYÖRŰ iPhone 12 Pro 256GB Pacific Blue-1 ÉV GARANCIA -Kártyafüggetlen, MS4339, 100% Akksi
- MSI Modern 15 Ryzen 7 7730U 16 GB RAM 512 GB SSD FHD IPS
- IT Megoldások és szolgáltatások
- LG 86QNED86A / MiniLED / 86" - 217 cm / 4K UHD / 144Hz / HDR Dolby Vision / FreeSync Premium / VRR
- 223 - Lenovo LOQ (15IRX10) - Intel Core i5-13450HX, RTX 5060
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
