- Google Pixel topik
- Okosóra és okoskiegészítő topik
- Vedd szemügyre a Poco X8-akat!
- Redmi Note 13 Pro 5G - nem százas, kétszázas!
- Samsung Galaxy Watch8 és Watch8 Classic – lelkes hiperaktivitás
- Apple iPhone 13 Pro Max - őnagysága
- Garmin topik
- iPhone topik
- Yettel topik
- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
Új hozzászólás Aktív témák
-
Szirty
őstag
válasz
horvathcsaba
#252
üzenetére
Helló Csaba!
A kódhoz lenne hozzáfűzni valóm ha nem gond. Kizárólag építő jelleggel, nehogy cseszegetésnek vagy okoskodásnak vedd!
- A ciklusmagon belül, vagy a blokkon belül használt átmeneti értékeket szerintem lokális változókban tárold, de globálisban. (A merkerek és a shared DB minden eleme globálisak). Ennek töb előnye van:
1. Másik blokk, a program egyéb részei nem tudnak véletlenül se belenyúlni, nehezebben rontod el a programot (pl. nem emlékszel, hogy az MW10-et már felhasználtad az egyik blokkban ciklusváltozó ként és egy másik blokkban is fel akarod használni).
2. Miután a blokk lefut, a változóra nincs szükség.
Az ilyen változókat tehát lokálisként érdemes deklarálni (TEMP).És az az érdekes dolog állt elő, hogy csak az utolsó megcímzett elem utáni elem tartalmazott értéket. Na de rájöttem!
Hát igen, ha alacsony (2 byte-on is ábrázolható) értékeket duplaszavakba pakolsz és azokat 2 byte-os átfedéssel rakod le, akkor a következő dupla szó felső 2 byte-ján lévő 00 mindig felülírja az előzőleg lerakott duplaszó alsó két byte-jén lévő nem nulla értéket.
VAn-e arra lehetőség, hogy dinamikusan foglaljak le memóriaterültet? Pl 'x' elemű tömb kellene, de az 'x' a program betöltésekor még nem ismert. Vmilyen felhasználói interakció lévén derül ki.
Tanulmányozd a "STEP 7 - System and Standard Functions for S7-300 and S7-400" címűPDF-et (a Step7 alapból feltelepíti).
Abban is a következő rendszerhívásokat:
- Creating a Data Block with SFC 22 "CREAT_DB"
- Deleting a Data Block with SFC 23 "DEL_DB"
- Generating Data Blocks in Load Memory with SFC 82 "CREA_DBL"
- Reading from a Data Block In Load Memory with SFC 83 "READ_DBL"
- Writing a Data Block in Load Memory with SFC 84 "WRIT_DBL".
- Creating a Data Block with SFC 85 "CREA_DB"Szerintem ezekkel meg tudod oldani. De arra számítani kell, hogy egy csomó folyománya lesz az ügynek. Pl. ellenőrizni kell, hogy a létrehozandó adatblokk egyáltalán elfér-e a szabad memóriában, stb.
vagy ezt úgy érdemes csinálni, hogy jó nagy területet foglalok le és csak bizonyos részét használom?
Igen, sokszor ez az egyszerűbb, és nem utolsó sorban biztonságosabb.
Azonban ez pazarlásnak tűnik.
Bizonyos értelemben igen. De gondolj arra, hogy a PLC memóriája adott. Ha ennek a memóriaterületnek egy részét takarékosságból szabadon hagyod, az ugyanolyan pazarlás, mint az, hogy lefoglalod az egészet, de értelmes adatot valószínűleg nem töltesz bele.

Új hozzászólás Aktív témák
- Foxpost
- Horgász topik
- TCL LCD és LED TV-k
- The Division 2 (PC, XO, PS4)
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- A Razer új klaviatúra-zászlóshajóját meglátva biztos félrenyeled a teát
- Xbox Series X|S
- Samsung kuponkunyeráló
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- További aktív témák...
- BESZÁMÍTÁS! Gigabyte B450M R5 2600X 16GB DDR4 512GB SSD GTX 1650 4GB ZALMAN T3 Plus Deepcool 400W
- BESZÁMÍTÁS! ASRock A520M R5 3600 16GB DDR4 512GB SSD GTX 1060 6GB ZALMAN T3 Plus Deepcool 400W
- BESZÁMÍTÁS! Gigabyte X570 R7 5700X 32GB DDR4 512GB SSD RX 6750 XT 12GB LIAN LI LANCOOL 216RX 750W
- BESZÁMÍTÁS! Gigabyte Z390 i7 9700K 16GB DDR4 512GB SSD RX 6600 8GB Rampage SHIVA FSP 550W
- BESZÁMÍTÁS! ASRock A520M R5 3600 16GB DDR4 512GB SSD RX 6600 8GB Rampage SHIVA Cooler Master 600W
- BESZÁMÍTÁS! MSI B760M i7 12700 16GB DDR5 512GB SSD RTX 3080 10GB Lian LI LANCOOL 207 GIGABYTE 750W
- BESZÁMÍTÁS! Gigabyte Z790 I9 13900K 32GB DDR5 1TB SSD RTX 4080 Super 16GB Lian LI LANCOOL 207 750W
- iPhone 12 Pro Max 128GB Pacific Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS4328, 100% AKKSI
- GYÖNYÖRŰ iPhone 14 Pro 128GB Space Black -1 ÉV GARANCIA - Kártyafüggetlen, MS4022
- AKCIÓ! Lenovo Legion Go 512GB SSD kézikonzol garanciával, hibátlan működéssel
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


