- Karácsonyfaként világíthat a Thermaltake új CPU-hűtője
- Az USA vizsgálja a RISC-V kínai terjedésének kockázatát
- Kicsit extrémre sikerült a Hyte belépője a készre szerelt vízhűtések világába
- Egészen nagy teljesítményspektrumon fedné le a mobil piacot az AMD
- Kihívás a középkategóriában: teszten a Radeon RX 7600 XT
- Gaming notebook topik
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
- Milyen TV-t vegyek?
- Projektor topic
- Milyen alaplapot vegyek?
- Házi hangfal építés
- Kicsit extrémre sikerült a Hyte belépője a készre szerelt vízhűtések világába
- 3D nyomtatás
- LG 34GS95QE-B: OLED paneles, ívelt gamer monitor
- Gamepad
Hirdetés
-
Az Apple iPadOS-t is megrendszabályozza az EU
it Az EB közölte: az Apple iPad táblagépekre írt iPadOS rendszere is kapuőrnek számít, az üzleti felhasználókra gyakorolt fontossága miatt.
-
Megjelenési dátumot kapott a Star Wars: Hunters
gp A tervek szerint június elején végre befut a teljes kiadás mobilokra/tabletekre és Nintendo Switch-re.
-
Az USA vizsgálja a RISC-V kínai terjedésének kockázatát
ph A Kereskedelmi Minisztérium egyelőre csak felméri a helyzetet, egyelőre nem látni, hogy tudnak-e bármit is tenni.
Ú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.