Hirdetés
- Bemutatkozott a Poco F2 Pro (már megint)
- EarFun Air Pro 4 - a cél a csúcs
- Samsung Galaxy A54 - türelemjáték
- iPhone topik
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Cseresznyepiros és mokka barna Redmi Note 15-ök az újévre
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Visszatérnek a Samsung tervezte CPU-magok és GPU az Exynos 2800-ban?
- Eddigi legjobb DxOMark helyezésével zárta 2025-öt a Vivo
Ú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
- Új, Aktiválatlan iPhone 17 Pro (256 GB) (rendelhető)
- Apple iPhone 15 Pro 256GB, Kártyafüggetlen, 1 Év Garanciával
- BESZÁMÍTÁS! MSI ThinA15 B7VF-449XHU Gamer notebook - R7 7735HS 16GB DDR5 1TB SSD nVidia RTX 4060 8GB
- HIBÁTLAN iPhone 14 Pro Max 128GB Gold -1 ÉV GARANCIA - Kártyafüggetlen, MS3910
- ÚJ Razer Kraken V4 Pro gamer fejhallgató
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopszaki Kft.
Város: Budapest



