Új hozzászólás Aktív témák

  • atis28

    csendes tag

    Sziasztok!
    Omron CJ1M-CPU11-et kellene programoznom, ehhez szeretnék egy kis segítséget kérni. Van ugyanis egy olyan probléma a feladat során, hogy x elemet sorba kellene rendezni. Ezek ott csücsülnek D memóriaterületen, pl. D20, D21, D22, D23.. Ezeket kellene tehát sorba rendezni. Először is egy MAX(182)-es utasítással szépen megkeresem a maximumot, majd ezt egy új területre másolom, pl. D30-ra. A MAX utasítás vezérlő szavait úgy állítottam be, hogy IR00-ba kimásolja a legnagyobb elem PLC memóriacímét, a végén pedig majd az egészet egy FOR-NEXT utasításba raknám, így elvileg sorba rendezné a "tömbömet". De ahhoz, hogy a memóriaterület sorbarendezhető legyen, minden egyes max keresés után nullázni kellene az adott elem értékét az eredeti adatterületen, hogy a következő max keresésnél az már ne zavarjon. Így a MAX utasítás végig ugyanarra a tömbre lenne elvégezhető. Ehhez ugye IR00-ban ott csücsül az adott elem PLC memória címe, amit nullázni kellene. De szerény tudásommal nem tudom megoldani, hogy egy PLC cím alapján, hogyan tudnám kinullázni az elemet. Pl., ha első keresésnél D20 a legnagyobb, akkor azt kell utána kinulláznom. Compare utasítással valószínűleg össze lehetne gányolni, de gondolom van erre egyszerűbb és szebb megoldás, erre lennék kíváncsi, vagyis hogy IR00-ban levő PLC cím értékén lévő értéket (pl. D20), hogy tudnám kinullázni (0-ra set-elni). Remélem érthető voltam. :) Előre is köszi a segítséget!
    Atis

Új hozzászólás Aktív témák