Új hozzászólás Aktív témák
-
Dezsi82
tag
válasz Bakareszia #4810 üzenetére
Üdv!
Ha jól sejtem, Siemens S7-300-ról beszélünk. Én ezeknél egy ciklust csinálok indirekt címzéssel. Átmásolom az egyik címet a másikba, és addig folytatom, amíg az elejére érek.
Másrészt mi lenne a konkrét feladat? Mert szerintem nem olyan gyakran szükséges ez. Lehet van egyszerűbb megoldás is, mint a léptetgetés[ Szerkesztve ]
-
Szirty
őstag
válasz Bakareszia #4810 üzenetére
Helló Bakareszia!
Tényleg leírhattad volna milyen PLC-n milyen fejlesztői környezetben. S5, S7, 200? 300? 1200? 1500? Step7? TIA portal? Miért olyan nagyon nehéz pontosan kérdezni?
Mindegy nem találgatok, ha nem arra válaszolok amire szeretnéd, akkor így jártál:
S7-300/400-ra STEP7 5.4-ben pl. így lehet "léptetni" (ha egyáltalán ugyanazt érted léptetés alatt, mint amire én gondoltam, de ha nem, akkor megint egy így járás a kérdésed "javára").A DB szerkezete (a kép nem mutatja az egész blokkot).
Ez az egy sor minden I0.0 felfutó élénél a DB17-ben lévő 40 darab egymást követő integer értéket egyel lejjebb (a magasabb cím felé) lépteti és az elsőbe nullát ír. A léptetés után minden sor tartalma az előző sor korábbi tartalma lesz, az utolsó integer (DB17.DBW78) tartalma elvész.
A módszer a BLKMOV és a #TEMPArray megfelelő módosításával természetesen más méretű vagy más címen lévő adatok léptetésére is használható.
De ha nagyon sok adatot kell léptetni, akkor kimerülhet a data stack (nem fér el a kellő méretű TEMP tömb a memóriában). Abban az esetben más módszert kell alkalmazni.[ Szerkesztve ]
Új hozzászólás Aktív témák
- gban: Ingyen kellene, de tegnapra
- NVIDIA GeForce RTX 3080 / 3090 / Ti (GA102)
- Az USA vizsgálja a RISC-V kínai terjedésének kockázatát
- DIGI kábel TV
- Premier előzetesen a Gray Zone Warfare
- Windows 10
- Poco X6 Pro - ötös alá
- Ukrajnai háború
- Debrecen és környéke adok-veszek-beszélgetek
- XPEnology
- További aktív témák...