Hirdetés
- Apple Watch
- One mobilszolgáltatások
- Tokgyártó leplezi le újból a Galaxy S26 Ultra formáját
- Poco X6 Pro - ötös alá
- Samsung Galaxy A52s 5G - jó S-tehetség
- Xiaomi 13T és 13T Pro - nincs tétlenkedés
- Google Pixel topik
- Google Pixel 9 Pro XL - hét szűk esztendő
- Samsung Galaxy A55 - új év, régi stratégia
- Motorola Edge 50 Ultra - szépen kifaragták
Ú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
- Asus PN50-E1 mini pc /Ryzen 5 4500U(6 mag)/8GB/240GB/WIN11 PRO/
- Lenovo ThinkPad T14 Gen1 Intel i5-10310U Refurbished - Garancia
- Motorola Razr 50 256GB,Újszerű,Adatkabel,12 hónap garanciával
- Azonnali készpénzes AMD Radeon RX 7000 sorozat videokártya felvásárlás személyesen/csomagküldéssel
- Dell Precision 7760 64GB/ 1TB/ 27% Áfás!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: Laptopszaki Kft.
Város: Budapest


