Új hozzászólás Aktív témák
-
Szirty
őstag
válasz
cooldmann
#754
üzenetére
Helló cooldmann!
"De ez azt jelenti, hogy ezt a VB100 at valahol paraméterezni kellene?
mármint akkor hogy és hol határozom meg a VB100-101-102 stb-t?"Amikor az órát beállítani akarod, akkor természetesen a programodban a SET_RTC meghívása előtt fel kell töltened a beállítani kívánt idő adatokkal azt a 8 byte-ot (értéket kell adni neki), aminek az első címét megadod a hívás paramétereként, hiszen a valós idejű órát ennek a 8 byte-nak a tartalma alapján próbálja meg átállítani.
Amikor az órát olvasni akarod, akkor meghívod a READ_RTC-t és utána a 8 byte-ban rendelkezésedre áll az idő.
Azt hogy melyik VB címeket használd, azt te határozod meg, teljes egészében rajtad múlik. van egy címtartomány VB0-tól valameddig, ami a rendelkezésedre áll, mint szabad felhasználású változó terület. Neked kell tudnod hogy melyiket mire használtad már fel a programban, melyikben mit tárolsz.
Természetesen h pl. a VB102-VB109-et az óra lekérdezésére használod, akkor azt máshol másra már ne használd fel (persze megoldható az is ha nagyon kifogy az ember a változókból, de itt nem erről van szó).
Ha a jelenlegi programodban egyáltalán nem használsz VB-ket, akkor teljesen hasraütésszerű címeket is megadhatsz, de érdemes inkább valamilyen koncepció szerint használni őket. Pl. az elejéről."Azt sem értem, hogy így minden induláskor az eredeti órával indul? megadom valami csoda folytán a mai dátumot , holnap kikapcsolom, holnapután meg be, és a mai dátummal indul megint?"
Nem, az RTC lényege, ahogy a nevében is benne van (Real Time Clock) az, hogy PLC programtól függetlenül telik. Még akkor is, amikor a PLC nincs bekapcsolva. De az adott CPU típustól is függ kicsit a dolog, mert van amikor háttértelep táplálja az órát, hogy az kikapcsolva is ketyegjen, de újabban csak egy pufferkondi van, ami pár napig látja el energiával az órát, így a CPU kikapcsolt állapotában csak addig ketyeg benne az óra, amíg a kondi ki nem sül (erre mindig megadnak a specifikációban egy időt).
Tehát ha ma kikapcsolod, majd holnap be, akkor holnap is a pontos időt fogja mutatni nem azt az időpontot, amikor ma kikapcsoltad.
"Sőt minden ciklusban visszafrissíti magát? Vagy most mi van?"
Arra azért vigyázni kell, hogy amikor állítod az órát a SET_RTC-vel, akkor a SET_RTC funkciót csak EGYSZER hívja meg a programod. Tehát valamilyen impulzusfeltételt kell tenned a hívás elé. Ha úgy hívod ahogy a mellékelt képen van, akkor nincs feltétele a hívásnak, így minden PLC ciklusban lefut, így minden PLC ciklusban beállítja a pontos időt.
Így persze az óra nem fog ketyegni az óra, ha másodpercenként 100x beleírod mindig ugyanazt az időpontot
Az óra olvasását már hívhatod minden ciklusban, de az is fölösleges. Bőven elég másodpercenként egyszer vagy még ritkábban hívni.
Új hozzászólás Aktív témák
- Szomjan halunk, míg az AI dolgozik
- Chieftec-Prohardver nyereményjáték
- Arc Raiders
- Nvidia GPU-k jövője - amit tudni vélünk
- Hosszú premier előzetest kapott az Arknights: Endfield
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- Fotók, videók mobillal
- E-roller topik
- Nothing Phone 2a - semmi nem drága
- További aktív témák...
- Szép! HP EliteBook 855 G7 Fémházas Strapabíró Laptop 15,6" -65% AMD Ryzen 3 PRO 4450U 16/256 FHD
- HP 250RG10 3-100U 15 8GB/512 PC (B9YG6ET) Bontatlan (2db)
- Radiomaster TX16S MAX Mark II ELRS táv
- thrustmaster ts pc racer ferrari 488 challenge edition
- HP EliteBook 655 G10 15" Ryzen 5 PRO 7530U 32GB RAM Garancia 2028.02.27.
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

