Hirdetés
Új hozzászólás Aktív témák
-
Szirty
őstag
Hali norcee!
Példaképp írtam egy rövid kódot, ami hasonlót művel. Próbálj meg ebből kiindulni ha amegfelel:
L #Kezdet // A a kért elem száma (ha ez 0, akkor az első elemet adja vissza)
L 4
*I // A kezdőcím előállítása (*4, mivel REAL duplaszó, ami 4 byte)
L 50
+I // 50 hozzádása (50-es címen van az első real típusú elem, amit ki kell olvasni)
SLD 3 // Léptetés a bit címek miatt, a pointer előállításához
T #Ptr // #Ptr a kért elem címére mutat az instance DB-n belül
L DID [#Ptr] // A kért elem betöltése
T #Eredmeny // A kért elem másolása a kimeneti duplaszóbaEz egy FB-ben van, ahol az interface rész így fest:
FUNCTION_BLOCK FB 2
TITLE =
VERSION : 0.1
VAR_INPUT
Kezdet : INT ;
Hossz : INT ;
END_VAR
VAR_OUTPUT
Eredmeny : REAL ;
END_VAR
VAR
Dummy1 : ARRAY [1 .. 42 ] OF BYTE ;
Real_1 : ARRAY [1 .. 100 ] OF REAL ;
END_VAR
VAR_TEMP
Ptr : DWORD ; //Pointer
END_VARA #Hossz-nak itt nincs szerepe, a #Dummy1 tömb pedig csak azért van, hogy az 50-es címen kezdődjön az a 100 valós típusú változó.
A blokk #Eredmény kimeneten visszaadja a #Kezdet-ben megadott számú elemet Real_1 tömbből.
Ha egyszerre több elemet kell másolni, akkor a célnál annyi elem fog landolni ahányat másolsz, ez gondolom nem vitás. Emiatt (a változó adathossz miatt) ez vagy ANY típus lehet (mármint a cél paramétere) vagy egy DB, amiben előre el van készítve annyi elem, amennyinél többet soha nem másolsz.
Ez a része nem volt világos annak hogy hogyan akarod. De az BLKMOV-val megoldható, ha összeállítasz neki egy (vagy ha a célnak is kell, akkor kettő ANY pointert, éppen úgy, ahogy w3dzz-nek szóló üzenetben is szó van róla.
Új hozzászólás Aktív témák
- PlayStation 5
- Viccrovat
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Elmentünk fotózni a Xiaomi 17 Ultrával
- Vezetékes FEJhallgatók
- Kertészet, mezőgazdaság topik
- Luck Dragon: Asszociációs játék. :)
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Vicces képek
- További aktív témák...
- Mid tower gèp ház
- 2024-es Lenovo ThinkPad T14 Gen4 laptop, gyári garanciával, eredeti magyar billentyűzettel eladó!
- Makulátlan Iphone 13 Midnigth Black 128 GB 88% 2024.12.23-án vásárolt
- TESTRESZABHATÓ/GARIS/ Ryzen 5 5600/16GB DDR4/RX 6700 XT 12 GB/ 1 TB M.2 SSD/2 TB HDD
- ASUS ROG STRIX G16 Gamer laptop 16" -40% Raptor i9-14900HX 24Mag 16/1TB 240Hz RTX 4070 8GB QHD
- 227 - Lenovo LOQ (15IRX10) - Intel Core i7-13650HX, RTX 5060
- Dobozos ÚJ ASUS TUF Ryzen 9 7940HS 16 GB DDR5 512 SSD RTX 4070 (8 GB) 2.5K 240Hz Garancia
- LG 32GS94UX - 32" OLED / UHD 4K / 240Hz - 480Hz & 0.03ms / 1300 Nits / NVIDIA G-Sync / AMD FreeSync
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5700X 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Lenovo Thinkpad X230,12.5",HD,i5-3320M,4GB DDR3,500GB HDD,WIN10
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

