[elektro] Újra MENU kezelés
hg12345
hg12345 at freemail.hu
Tue Sep 16 21:26:15 CEST 2014
Hi,
Kéretem ebben a témában már segítséget, de ez mindig előjön esetemben.
Most ez egy kicsit kiélezettebb.
Adott egy univerzális szabályozó készülék, ebben várhatóan kb. ~6000 menü elemet kell állítani és 30000 másik menü tagot. Mivel ilyen mennyiségű állításban a felhasználó joggal eltéved, a felesleges elemeket nem szabad megjeleníteni, ez nagyban csökkenti a beállításhoz szükséges menü tagok számát. A menü tagok állítások kommunikációs porton keresztül is elérhetőek, vagyis sorszámozottan is létezni e kell. Szerencsére a nagy mennyiségű elem azonos funkciókat takar, így egyszerűen többszörözhetők.
A minden menü elem egyedi leírása nem megoldható, mert program nélkül is 100Kbyte lenne a kiegészítőkkel, (egy elem 12..16 byte), ezt szeretném elkerülni!
A menü és hozzáférés felépíthető 16 bites index-vel (mátrix). Ebben a szerkezetben ahol az index bit slice határozza meg a menü szintjét, 3 szintre szétosztva viszonylag kis helyen felépíthető a menü kezelés index linkek (<600 bejegyzéssel), és minden olyan függvény és status beállítás ami ehhez szükséges, a 16 bites index egyben meghatározza kommunikációhoz szükséges azonosítót, regiszter címet. Ennek egy komoly problémája van hogy a fix index pontok miatt a nagyon szellős a azonosító szám tartomány, ami nagyban csökkenti a soros vonali effektív sebességet blokkos átvitel esetén. De mivel minden eem hozzáférési joga könnyen kiolvasható, így hasonló védelem építhető fel a mint a manuális (MMI) kezelés során.
(( COM <-> MENUindex <-> MEMÓRIA ))
A kommunikációs felület felől egy címfordítóval az indexek tömöríthető, tudom, de ez a megoldás ellen szól az is kényelmesebb lenne több mint 3 menü szint használata, az ismétlődő elemek számok miatt nem tudom több részre osztani a 16 bitet, ha több bitből állítom elő az index területet, akkor még szellősebb lesz....
Nem ilyen megoldásban, de szintén elég tömören megoldható, stackelt menü megadással, ekkor "korlátlan" mélységi szintet tudok meghatározni, ha kihasználom az ismétléseket (azonos almenük, de más memória hivatkozás) szintén nagyon tömören megvalósítható, de nem tudom előállítani a menü elem indexet. csak egy sorszámozott értékem a menü elemhez tartozó memória. Ez folyamatos és egyedi címeket tartalmaz, és viszonylag tömör elhelyezkedésű, ez nem lassítaná a kommunikációs effektív sebességet blokkos átvitel esetén. A közvetlen memória elérésnek is van hátránya nem áll rendelkezésre a hozzáférési jogok ami az adott menü ponthoz tartozik, globálisan tudom védeni egyes memória területet, de olyan részletesen nem mint a menü alapján meghatározott hozzáférési jogokkal.
(( COM <-> MEMORIA <-> MENU ))
Minkét ismertetett megoldást már különböző szabályozókban implementáltam, de jó lenne olyan ami mindkét modell előnyét ötvözi. (erre most ötletem sincs)
üdv
More information about the Elektro
mailing list