Hirdetés
- Fotók, videók mobillal
- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
- Vivo X300 Ultra - tárcsázz, ha van rá keret!
- Honor Magic 8 Pro Air a neve, január 19-én mutatják be
- Xiaomi 17 Ultra - jó az optikája
- Óra vagy karperec? Egészségügyi mindenes!
- Google Pixel 9 Pro XL - hét szűk esztendő
- Poco X8 Pro Max - nem kell ide sem bank, sem akkubank
- Samsung Galaxy S23 Ultra - non plus ultra
- Telekom mobilszolgáltatások
Új hozzászólás Aktív témák
-
Szirty
őstag
válasz
H.Bencike
#7552
üzenetére
Szia!
Némi infó itt:
Blokk hívás, változók és paraméter átadás
Az S7 PLC programozásaNéhány kérdésedre rövid válasz:
"az FC hívhat FB-t? Vagy fordítva?"
Igen, és fordítva is
"Programfutás szempontjából melyik előnyösebb?"
FB-t akkor érdemes használni ha a blokknak kell saját "nem felejtő" változó terület (ez egy DB blokkban valósul meg).
"A második, amikor lokális változókkal programozok akkor a programban használt számlálók/időzítőknek(C1-T1) lehet lokális változóterületet kijelölni?"
Itt nem tudom pontosan mire gondolsz.
A Timer és Counter utasításnak adhatsz át lokális változóban adatot és hajlandóak is abba adatot belerakni.
De maga a timer és counter mindig globális adatterületen van.
Ugyanakkor nagyon fontos (és sokan elkövetik azt a hibát hogy ezt rosszul értelmezik) a lokális változók (TEMP) minden adatot elfelejtenek ahogy a blokk lefutott.
Ezért ökölszabály, hogy egy blokkon belül ha TEMP változót használsz, akkor MINDIG értéket kell adni mielőtt a tartalmát felhasználod!
Ha tehát mondjuk az FC100-ban a #Value változóba beírsz egy értéket, majd hagyod lefutni a blokkot, akkor legközelebbi ciklusban a #Value változó memóriaszemetet fog tartalmazni.
Illetve meg is maradhat benne az érték, ha a többi blokk nem bántja a saját lokális változó területét (TEMP).
A dolog magyarázata az, hogy az összes blokk ugyanazt a stack memóriaterültet használja a saját TEMP változóinak a tárolására."Illetve a merkerek lokális vagy globális változónak minősülnek?"
Természetesen globális. Ha az egyik blokkban mondjuk bekapcsolod az M10.6-os merker bitet, a többi blokkon belül is azt tapasztalod hogy be van kapcsolva.
Új hozzászólás Aktív témák
- ÁRGARANCIA!Épített KomPhone Ryzen 7 9700X 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- HP EliteBook 845 G7 14" Ryzen 5 pro 4650U, 8-16GB RAM, 256-512GB SSD, jó akku, számla, 6 hó gar
- Apple iPhone 16 Plus Pink 128GB használt karcmentes 94% akku (316 ciklus) 6 hónap garancia
- 11" M1 iPad Pro 3. Gen 128 GB Silver - 27% ÁFA - Garancia (0434BE)
- Lenovo ThinkStation P300 Workstation,i5-4590,16GB DDR3,256GB SSD,2GB VGA,WIN11
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

