Програма призначена для отримання в реальному часі інформації про стан каналів і трактів, які визначені в файлі конфігурації.
Можливості програми:
Загальний вигляд головного вікна програми:
Кожна комірка відображає один ресурс спостерження. Стан ресурсу визначається кольором: синій - дані відсутні, зелений - стан нормальний, червоний - аварійний стан. Кольори можна змінювати у файлі конфігурації (*.INI) для кожного елемента окремо. Крім того для кожного ресурсу можна визначати чи використовувати звукову сигналізацію при його аварії і специфічно налаштувати звукові сигнали для кожного елемента. Це вікно відображає зупинену взаємодію. Колір комірки можна налаштовувати для будь-якого стану (відсутність взаємодії, помилка, нормальний стан). В режимі взаємодії зі станціями вікно набуває приблизно такого вигляду:
Програма може працювати в резидентному режимі, при цьому в SystemTray буде відображатися іконка, колір якої змінюється за принципом: у випадку, коли всі ресурси в нормальному стані (зелені), іконка теж зелена; якщо хоча б один елемент не в нормальному стані (не зелений), тоді іконка стає червоною.
Діалог налаштування викликається за допомогою меню Опції→Налаштування… і виглядає так:
В цьому діалозі налаштовуються тільки кольори, які використовуються по замовчуванню. Спеціальні кольори окремих комірок вказуються у файлі INI.
Крім налаштувань можна визначати, які підписи відображати, а також налаштовувати їхній колір і масштабувати шрифти. Діалог налаштувань підписів викликається за допомогою меню Опції→Підписи… і виглядає так:
Кожен ресурс має налаштування, які можна побачити просто клацнувши лівою кнопкою мишки на відповідну комірку. Ось як виглядають налаштування різних ресурсів:
Програма може відображати елементи спостереження в графічному вигляді на карті району у вигляді окремих кругів, квадратів, ліній, іконок чи інших графічних файлів, накладених поверх головного зображення. Колір кругів, квадратів і ліній налаштовується у файлі *.ini. Файл карти району може мати будь-яку назву, яку можна вказати у файлі налаштувань. За допомогою меню Опції→Карта→Показати викликається карта в режимі перегляду. Карта виглядає приблизно так:
Приклад файлу налаштувань наведено нижче:
[Grafik] Autostart=1 [General] DebugLevel=0 LogLevel=0 SoundVolume = 100 ReloadAskTimer = 15 Interval = 1 Matrix = 2,2 MatrixM11 = 2,6 MatrixM12 = 2,6 MatrixM21 = 2,6 MatrixM22 = 2,6 MatrixM22_26 = 2,1 Cell(1,1) = MatrixM11 Cell(1,2) = MatrixM12 Cell(2,1) = MatrixM21 Cell(2,2) = MatrixM22 Cell(2,6,MatrixM22) = MatrixM22_26 [Group TD8X1Qlm] Marshrut = NET(TD8X1Qlm,local) MapPath = ..\Agent46 DbfFile = C:\TmpDB\%Y%M%D.dbf LogFile = C:\TmpDB\%Y%M%D.txt Cell(1,1,MatrixM11) = C1 Трубка С1 Cell(1,2,MatrixM11) = C2 Трубка С2 Cell(1,3,MatrixM11) = C3 Трубка С3 Cell(1,4,MatrixM11) = C4 Трубка С4 Cell(1,5,MatrixM11) = C5 Трубка С5 Cell(1,6,MatrixM11) = C6 Трубка С6 Cell(2,1,MatrixM11) = C1 Синхро С1 Cell(2,2,MatrixM11) = C2 Синхро С2 Cell(2,3,MatrixM11) = C3 Синхро С3 Cell(2,4,MatrixM11) = C4 Синхро С4 Cell(2,5,MatrixM11) = C5 Синхро С5 Cell(2,6,MatrixM11) = C6 Синхро С6 Cell(1,1,MatrixM12) = G1 Трубка G1 Cell(1,2,MatrixM12) = G2 Трубка G2 Cell(1,3,MatrixM12) = G3 Трубка G3 Cell(1,4,MatrixM12) = G4 Трубка G4 Cell(1,5,MatrixM12) = G5 Трубка G5 Cell(1,6,MatrixM12) = G6 Трубка G6 Cell(2,1,MatrixM12) = G1 Синхро G1 Cell(2,2,MatrixM12) = G2 Синхро G2 Cell(2,3,MatrixM12) = G3 Синхро G3 Cell(2,4,MatrixM12) = G4 Синхро G4 Cell(2,5,MatrixM12) = G5 Синхро G5 Cell(2,6,MatrixM12) = G6 Синхро G6 Cell(1,1,MatrixM21) = A1 IKM1 Cell(1,2,MatrixM21) = A2 IKM2 Cell(1,3,MatrixM21) = A11 IKM1.1 Cell(1,4,MatrixM21) = A12 IKM1.2 Cell(1,5,MatrixM21) = A13 IKM1.3 Cell(1,6,MatrixM21) = A14 IKM1.4 Cell(2,1,MatrixM21) = A15 IKM1.5 Cell(2,2,MatrixM21) = A16 IKM1.6 Cell(2,3,MatrixM21) = A17 IKM1.7 Cell(2,4,MatrixM21) = A18 IKM1.8 Cell(2,5,MatrixM21) = A19 IKM1.9 Cell(2,6,MatrixM21) = A1A IKM1.A Cell(1,1,MatrixM22) = A1 IKM1 Cell(1,2,MatrixM22) = A2 IKM2 Cell(1,3,MatrixM22) = A21 IKM2.1 Cell(1,4,MatrixM22) = A22 IKM2.2 Cell(1,5,MatrixM22) = A23 IKM2.3 Cell(1,6,MatrixM22) = A24 IKM2.4 Cell(2,1,MatrixM22) = A25 IKM2.5 Cell(2,2,MatrixM22) = A26 IKM2.6 Cell(2,3,MatrixM22) = A27 IKM2.7 Cell(2,4,MatrixM22) = A28 IKM2.8 Cell(2,5,MatrixM22) = A29 IKM2.9 Cell(1,1,MatrixM22_26) = C1 Абонент C1 Cell(2,1,MatrixM22_26) = C1 Абонент C1 [MapPoint] BackGroundImage=LvivOblMap.png MapPosition(1,1,MatrixM11, NORMAL) = Icon(ec11GREEN.png,379:455),Square(#22AA22,375:450,385:460) MapPosition(1,1,MatrixM11, ERROR) = Icon(ec11YELLOW.png,379:455),Circle(#AA2222,380:455,10) MapPosition(1,1,MatrixM11, NOSIGNAL) = Icon(ec11BLUE.png,379:455),Diamond(#2222AA,375:450,385:460) MapPosition(2,1,MatrixM11, NORMAL) = Icon(ec11GREEN.png,202:495) MapPosition(2,1,MatrixM11, ERROR) = Icon(ec11RED.png,202:495) MapPosition(2,1,MatrixM11, NOSIGNAL) = Icon(ec11BLUE.png,202:495) MapPosition(1,2,MatrixM11, NORMAL) = Line( 3,0,#22AA22,392:368,412:456), Icon(ec11GREEN.png,360:300) MapPosition(1,2,MatrixM11, ERROR) = Line( 3,0,#AA2222,392:368,412:456), Icon(ec11RED.png,360:300) MapPosition(1,2,MatrixM11, NOSIGNAL) = Line( 3,0,#2222AA,392:368,412:456), Icon(ec11BLUE.png,360:300) MapPosition(2,2,MatrixM11, NORMAL) = Line( 3,0,#22AA22,371:367,269:498) MapPosition(2,2,MatrixM11, ERROR) = Line( 3,0,#AA2222,371:367,269:498) MapPosition(2,2,MatrixM11, NOSIGNAL) = Line( 3,0,#2222AA,371:367,269:498) MapPosition(1,1,MatrixM21, NORMAL) = Line( 3,0,#22AA22,382:368,317:515), Icon(ec11GREEN.png,293:514), Icon(ec11GREEN.png,451:55) MapPosition(1,1,MatrixM21, ERROR) = Line( 3,0,#AA2222,382:368,317:515), Icon(ec11RED.png,293:514) , Icon(ec11YELLOW.png,451:55) MapPosition(1,1,MatrixM21, NOSIGNAL) = Line( 3,0,#2222AA,382:368,317:515), Icon(ec11BLUE.png,293:514) , Icon(ec11BLUE.png,451:55) MapPosition(2,2,MatrixM21, NORMAL) = Line( 3,0,#22AA22,397:300,464:91) MapPosition(2,2,MatrixM21, ERROR) = Line( 3,0,#AA2222,397:300,464:91) MapPosition(2,2,MatrixM21, NOSIGNAL) = Line( 3,0,#2222AA,397:300,464:91) MapPosition(1,3,MatrixM21, NORMAL) = Line( 3,0,#22AA22,427:329,670:256) MapPosition(1,3,MatrixM21, ERROR) = Line( 3,0,#AA2222,427:329,670:256) MapPosition(1,3,MatrixM21, NOSIGNAL) = Line( 3,0,#2222AA,427:329,670:256) MapPosition(1,4,MatrixM21, NORMAL) = Icon(ec11GREEN.png,665:234) MapPosition(1,4,MatrixM21, ERROR) = Icon(ec11YELLOW.png,665:234) MapPosition(1,4,MatrixM21, NOSIGNAL) = Icon(ec11BLUE.png,665:234) MapPosition(1,5,MatrixM21, NORMAL) = Line( 3,0,#22AA22,360:316,232:263) MapPosition(1,5,MatrixM21, ERROR) = Line( 3,0,#AA2222,360:316,232:263) MapPosition(1,5,MatrixM21, NOSIGNAL) = Line( 3,0,#2222AA,360:316,232:263) MapPosition(1,6,MatrixM21, NORMAL) = Icon(ec11GREEN.png,200:248) MapPosition(1,6,MatrixM21, ERROR) = Icon(ec11YELLOW.png,200:248) MapPosition(1,6,MatrixM21, NOSIGNAL) = Icon(ec11BLUE.png,200:248) [CellTuning] CellBitMask(1,1, MatrixM11) = BitMask(0x88:0x00,0x00:0x00,0x00:0x00,0x00:0x00) CellSound(1,1, MatrixM11, ERROR) = PlayFile("Wav\Orchestra.ogg",1) CellBitMask(1,1, MatrixM11) = BitMask(0x08:0x08) CellColor(2,1, MatrixM11, NORMAL) = Color(#888800,#FFFFFF) CellColor(2,1, MatrixM11, ERROR) = Color(#00AADD,#FFFFFF) CellColor(2,1, MatrixM11,NOSIGNAL) = Color(#888888,#FFFFFF) CellSound(2,1, MatrixM11, ERROR) = PlayFile("Wav\StriySign.ogg",-1) CellSound(2,1, MatrixM11, NORMAL) = PlayFile("Wav\BurshDverOpen.wav",-1,10) CellSound(2,1, MatrixM11,NOSIGNAL) = PlayFile("Wav\BurshDverClose.ogg",-1,100) CellColor(2,2, MatrixM11, NORMAL) = Color(#888800,#FFFFFF) CellColor(2,2, MatrixM11, ERROR) = Color(#00AADD,#FFFFFF) CellColor(2,2, MatrixM11,NOSIGNAL) = Color(#888888,#FFFFFF) CellSound(2,2, MatrixM11, ERROR) = PlayFile("Wav\DrogPogega.ogg",4) CellColor(2,3, MatrixM11, NORMAL) = Color(#888800,#FFFFFF) CellColor(2,3, MatrixM11, ERROR) = Color(#00AADD,#FFFFFF) CellColor(2,3, MatrixM11,NOSIGNAL) = Color(#888888,#FFFFFF) CellSound(2,3, MatrixM11, ERROR) = PlayFile("Wav\Avaria.ogg",5) CellColor(2,4, MatrixM11, NORMAL) = Color(#888800,#FFFFFF) CellColor(2,4, MatrixM11, ERROR) = Color(#00AADD,#FFFFFF) CellColor(2,4, MatrixM11,NOSIGNAL) = Color(#888888,#FFFFFF) CellColor(2,5, MatrixM11, NORMAL) = Color(#888800,#FFFFFF) CellColor(2,5, MatrixM11, ERROR) = Color(#00AADD,#FFFFFF) CellColor(2,5, MatrixM11,NOSIGNAL) = Color(#888888,#FFFFFF) CellColor(2,6, MatrixM11, NORMAL) = Color(#888800,#FFFFFF) CellColor(2,6, MatrixM11, ERROR) = Color(#00AADD,#FFFFFF) CellColor(2,6, MatrixM11,NOSIGNAL) = Color(#888888,#FFFFFF)
Він містить такі секції:
В залежності від моменту зміни стану елемента, дані про це можуть бути записані в різні файли, що визначається шаблоном файлу DBF чи LOG. Це дозволяє проводити сортування помилок по днях, місяцях, роках чи назвах станцій в окремі файли. В шаблоні дозволяються такі символи заміни:
Послідовність | Значення |
---|---|
%y | Рік у двозначному форматі |
%Y | Рік у чотиризначному форматі |
%M | Місяць в двозначному форматі |
%D | День в двозначному форматі |
%h | Година в двозначному форматі 00-24 |
%m | Хвилина в двозначному форматі |
%s | Секунда в двозначному форматі |
%N | Назва станції |
Починаючи з версії AgentAlr.exe v.2.16 введено режим накопичення помилок і відповідний додатковий стан комірок таблиці LATCH. Стан LATCH виникає тільки при включеному режимі накопичення помилок і лише у випадку зміни стану комірки. Для стану LATCH можна задавати окремі кольори, звуки і графічні елементи на карті аналогічно до інших станів. Наприклад
CellColor(2,1, MatrixM11, NORMAL) = Color(#888800,#FFFFFF) CellColor(2,1, MatrixM11, ERROR) = Color(#00AADD,#FFFFFF) CellColor(2,1, MatrixM11,NOSIGNAL) = Color(#888888,#FFFFFF) CellColor(2,1, MatrixM11, LATCH) = Color(#AA8888,#FFFFFF)
Крім того дозволяється автоматичне ввімкнення режиму накопичення помилок при старті програми (ключ AutoAccumulationMode), а також автоматичне включення режиму накопичення помилок при ввімкненні ScreenSaver операційною системою (ключ AllowScreenSaverAccumulation). Вимкнення цього режиму відбуватиметься лише вручну. Приклад фрагменту ini:
[General] AutoAccumulationMode = 1 ;;При старті AllowScreenSaverAccumulation = 1 ;;При включенні ScreenSaver
Зняття стану LATCH можливо або відключенням режиму накопичення помилок або поелементним (по комірці чи для цілої матриці) зняттям цього стану за допомогою контекстного меню матриці чи при “Деталізованому перегляді елемента”.