193901. lajstromszámú szabadalom • Kapcsolási elrendezés több csatorna villamos fogyasztásának összegzésére
193901 A 15. ábra szerinti mérésadatgyűjtő programblokk leírása: Az előzőekben beláthatóan a program ebbe a szekvenciában pontosan előkészített és kijelölt paraméterekkel kerül. Meghatározott a csatornaösszeg címpointer, valamint a megfelelő „i“, „j“, „m“ paraméterek, illetve a teljes összeg képzésben a tarifaösszeg cím is. (A mérés során egyrészt csatornánként külön-külön történik a halmozás, másrészt tarifális bontásban a csatornaenergiák összege is képződik.) IX/1 : Csatorna „I“ érték PUFF4 mezőbe kerül, „m“ periódus számláló növelés. IX/2: „m“-edik periódus? Ha igen, akkor IX/3, ha nem IX/4 szekvencia. IX/3: PUFF4=PUFF4-P„j“ „m“ szerinti periódus számláló újra állítás. IX/4: csatorna összeg = Csatorna összeg -p + RUFF4 Csatorna összeg lementése háttérmemóriában (CWR) 1X/5: Tarifa összeg lehívás operatív memóriából Tarifa összeg = Tarifa öszeg-fPUFF4 Tarifa összeg lementése háttérmemóriába. IX/6: Teljesítménymérés megengedett? (PUFF1 vizsgálat) Ha nem kiugrás a blokkból, egyébként IX/7-ben folytatás. IX/7: Teljesítményszámláló tömb halmozás (MXADL) 1X/8: MXADL értékének összehasonlítása a tarifális időszakban eddig mért legnagyobb teljesítmény értékkel. Ezt a tömböt az V-ös jelzésű blokk állítja be TSVAD-hoz hasonlóan. Ha nagyobb MSADL értéke, akkor folytasd IX/9-ben ha kisebb vagy egyenlő, akkor kiugrás a blokkból. 1X/9: MXADL értékének átírása a kijelölt legnagyobb teljesítménytömb lementése háttérmemóriába. X. blokk ismertetése: Ebben a blokkban vizsgálja a program, hogy a külső vagy a belső programciklusba térjen vissza (B, C pontok). A feltétel alapja egy időzítőszámláló, amelyet XI.blokk csökkenti ciklusonként eggyel. Ha értéke zérus, akkor X-es blokk újra állítja a számlálót és „B“ pontra ugrik. Egyébként „C“ pontra (01. sz. blokkvázlat szerint) A XI programblokk ismertetése a 16. ábra alapján: A blokk az időzítő egység megszakításkérésére hajtódik végre. A program REGI —REGI 1 egy-egy byte-os eseményszámlálókat használ a csatornáknak megfelelően. Továbbá FLGMA flag-et az 1—6. csatorna számára, emellett 17 FLGMF flag-et a 7—12. csatorna számára. A FLGMA (FLGMF) flag egy-egy bitje egy csatornára utal, tartalmi jelentése: megkezdődött egy csatornán az impulzus felismerési folyamat. Annak megjegyzésére, hogy az impulzus pozitív, illetve negatív ágának analizálása folyik a program az FLGSA (FLGSF) flag bitjeit használja az 1 —12. csatornának megfelelően. FLGMA, FLGSA 0-adik bitje az 1. csatornára vonatkozik. FLGMF, FLGSF 5-ödik bitje a 12. csatornára vonatkozik. Mindkét típusú flag-nál a 0—5 biteket használja a program. A felismert impulzust a program FLGBA, FLGBF flag-okba állítja be. A bitek felosztása csatornák szerint FLGMA, FLGMF szerint történik. XI/L: Főprogram folytatásához szükséges regiszteradatok mentése a STACK-ba. XI/2.: Főprogram időzítő számlálók csökkentése 1—6. csatorna bemenet párhuzamos beolvasása (mintavételezés) XI/3.: FLGMA vizsgálat. Folyamatban van-e impulzusfelismerés valamelyik csatornán? Ha igen, ugrás XI/5-re, egyébként XI/4. XI/4.: A beolvasott minta hordoz „l“-es értéket? Ha nem ugrás a felső hat csatorna vizsgálatára XI/11. Egyébként XI/5 XI/5.: X/5. blokk felépítését tekintve azonos XI/10-ig. A különbség annyi, hogy XI/5-ben az 1. csatornát analizálja a program, XI/-ban a 2. csatornát, XI/10-ben a 6. csatornát. Ezt a blokkot az „M“ jelzésű algoritmus részletesen tárgyalja (lásd később). XI/11.: A program mintát vesz párhuzamosan 7—12-ig, csatorna bemenetekről. XI/12: FLGMF vizsgálat. Folyamatban van-e impulzusfelismerés valamelyik csatornán. Ha van, akkor ugrás XI/14-re, ha nincs, folytasd XI/13-on. XI/13.: A beolvasott minta hordoz „l“-est? Ha nem, akkor XI/20, ha igen, XI/14- -ben folytatás. XI/14—XI/19. felépítésüket tekintve megegyeznek XI/5—XI/10 blokkokkal. A különbség, hogy itt a 7—12. csatornák analizálása történik. Xl/20.: Főprogram folytatásához az elmentett regiszter adatok visszaállítása STACK -ból. REII - visszatérés a főprogramba. XI/5—XI/10, valamint XI/14—XI/19 program blokkok részletes ismertetése a 17. ábra alapján. (M jelzésű algoritmus) A programben FLGM, FLGS, FLGB jelölések értelemszerűen FLGMA, illetve FLGMF, FLGSA, FLGSF, valamint FL-GBA, FLGBF, flag-ekkel azonosak. Egy blokkban az előzőek szerint egyszerre vagy „F“, vagy „A“ kiterjesztés érvényes. 18 5 10 15 20 25 30 35 40 45 50 55 60 65 10