193901. lajstromszámú szabadalom • Kapcsolási elrendezés több csatorna villamos fogyasztásának összegzésére

193901 CWR/8: Amennyiben CREG értéke nem zérus, a program visszaugrik CWR/A pont­ra, egyébként folytatódik CWR/9-ben, CWR/9: „C“ port P5 „0“. Háttérmemória ve­zérlő vonalai letíltódnak. RET: Szubrutinból általános visszatérítő parancs a főprogramba. CRD/1: „A“ port bemenet, „B“ port kime­net, egyébként ugyanaz, mint CWR./l. CRD/2: ugyanaz, mint CWR/2. CRD/3: ugyanaz, mint CWR/3. CRD/A: ugyanaz, mint CWR/A. CRD/4: ugyanaz, mint CWR/4. CRD/5: „C“ port/P6 „0“ Háttérmemória a kiválasztott byte tartalmát az olva­sás engedélyező jel hatására kiteszi az „A“ port pontcsoportra. CRD/6: A program beolvassa az „A“ port­ra helyezett byte tartalmát és el­helyezi az operatív memóriában a HL által címzett helyre. CRD/7: „C“ port/P6 „ 1“ olvasás engedélye­zés letíltódik. CRD/8: ugyanaz, mint CWR/7. CRD/9: ugyanaz, mint CWR/8. CRD/10:ugyanaz, mint CWR/9. A 9. ábra szerinti programrészlet leírása: III/1. Csatornaszám beállítás. A program fo­lyamatosan kijelzi a beprogramozott numerikus értéket és figyeli, hogy a megadott érték belül van-e a meg­engedett értékhatárokon. Addig nem lép tovább, amíg ez a feltétel nem teljesül. A feltétel teljesülése után beállítja a program a ciklus számlátót 0 0 ér­tékre (jelölése CSZ) és CWR szubrutin­nal elmenti a csatorna szám értékét a háttérmemóriába. IH/2. Csatornaszám megegyezik már a CSZ- el? Ha nem, akkor folytasd III/3-nál, ha igen, ugorj ki az impulzus egyenér­­ték megadás szekvenciából, mert min­den csatorna érvényes egyenértékkel van ellátva. A program 111/C-ben foly­tatódik. III/3. Impulzus egyenérték számláló részének megadása a ciklusszámláló által meg­határozott csatornához. A program ka­rakter érkezésre vár a tasztatúráról. Ha numerikus karakter érkezett a prog­ram balról beshifteli a kijelölt adatme­zőbe és kijelzi a kijelzőmezőn. Termi­náló parancs karakter (T.K.) esetén zérus vizsgálat következik az emlí­tett adatmezőn, ha nem nulla a tarta­lom, a program tovább lép III/4 blokkra. Zérus tartalom esetén a program nem lép tovább, újra karakterre vár. Ellenőrzés parancs karakter érkezése­kor (E.K.) a program II1/A pontra ug­rik. Ezzel mód nyílik a már beprogramo­zott paraméterek ellenőrzésére, hiba esetén a szükséges paraméterek módosí­tása megtörténhet. 11 III/4 Az impulzus egyenérték nevező részének megadása a blokk feladata, egyébként működése azonos a 111/3.blokk működé­sével. IH/5. Ciklusszám növelés és III/3. és 111/4- -ben megadott paraméterek mentése (CWR szubrutin) a blokk feladata. 111/-ból feltétel nélküli ugrás III/B pontra. III/6. A II1/6. blokktól a III/ll blokkig a program a beintegrált valósidejű óra beprogramozását, valamint a tarifá- 1 is idő értékek megadását várja. A 1II/6-0S blokkban történik a CSZ. újra állítása, valamint az operatív memóriá­ban a kezdő címek beállítása. ÍII/7. A program karakter érkezésére vár. Ebben a szekvenciában a termináló pa­rancs után nincs zérus vizsgálat, (megengedett időérték) Numerikus ka­rakter esetén a program eljárás ha­sonló a III/3-ban ismertetettekkel. T.K. és E.K. parancs érkezés esetén a program tovább iép. III/8. Amennyiben III/7. szekvenciából E.K.-val lépett ki a program, akkor ugrás III.C. pontra ellenőrzési, vagy javítási célból. Egyébként a program III/9-ben folytatódik. III/9. Beprogramozott paraméterek mentése háttérmemóriába (CWR), valamint a STATUS SZÓ felírása itt történik a programmemóriából. Ezután, ha RE­SET parancs érkezik a tasztatúráról, melynek hatására a program mindig fel­tétel nélkül elugrik a 01. sz. blokkvázlat „A“pontjára, a II. blokk után a program nem a III. blokkban, hanem a IV. blokk­ban folytatódik. 1II/10.CSZ. növelés: CSZ = CSZ + 1 III/ll. A program megvizsgálja, hogy CSZ. értéke megegyezik-e a program által ismert határértékkel. Ha még nem érte el, akkor III/D. pontra ugrik és foly­tatódik a kapcsolási időértékek meg­adása, egyébként felugrik III.A. pont­ra. A Ill-as szekvenciából csak RESET paranccsal lehet kijönni. A 10. ábra szerinti programrészlet ismertetése: IV /1 - : Ciklusszám kezdőérték megadás (0) IV/2.: Nagyobb a ciklusszám a csatorna­­számnál? Ha nagyobb, akkor szekven­cia vége, kiugrás a 01.sz. blokkváz­lat B jelű pontjára. Ha kisebb, a prog­ram IV/3-ban folytatódik. IV/3.: Ciklus szám alapján az aktuális csa­torna bemeneti egyenérték tömbcímé­nek kiszámítása. IV/4.: A csatorna egyenérték számláló és ne­vező legnagyobb közös osztója kiszá­mításának előkészítése. A csatorna be­meneti egyenértéktömb számláló részét egy osztó szubrutin osztandó mező­jébe tölti a program, a nevező részét pedig az osztó mezőbe. 12 5 10 15 20 25 30 35 40 45 50 55 60 65 7

Next

/
Thumbnails
Contents