Ú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
- EIZO FlexScan EV2495 Made in Japan! 1920x1200 IPS USB-c állítható magasság, PIVOT 2024-04 gyártás!
- 10 DB Lenovo ThinkPad Laptop X13 G2 G3, T14 G3 G5, T14s G4 G6, P15 G1 G2
- RAM memória Crucial Pro OC Gaming 16GB DDR5 6400MHz CL32 Black - bontatlan, új
- Dell Latitude 7420, 14" FHD IPS kijelző, i7-1185G7 CPU, 16GB DDR4, 256GB SSD, W11, Számla, 1 év ga
- Corsair 64GB KIT DDR4 3200 MT/s CL16 Vengeance LPX - bonatlan, új
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


