Управление отоплением. Фишки Advanced Manager.
Наверное, это будет завершающая статья о сборке, настройках и применении таймера-термостата NM8036 и программы Advanced Manager. Задумал я сделать ее, чтобы договорить недоговоренное, в основном, по поводу программы.
Во первых, спрашивают, что означают цветовые изменения на показаниях температурных и АЦП датчиков (сервис Терминал). А означает это динамику изменений, то есть, если температура за определенный последний промежуток повышается, то показания подсвечиваются оранжевым цветом, а при понижении - голубым. И не подсвечивается никаким, если тенденции к изменениям программа не обнаруживает.
Для гурманов есть подсказка, как изменять параметры чувствительности этих измерений. В каталоге программы присутствует файл установок names.ini, в этом файле много чего прописывается. Вот, например, самое начало содержимого этого файла у меня:
[PORT]
Name=COM1
IP=127.0.0.1
PORT=9999
[RELOAD]
VERS= Версия 1.95
LAST_RELOAD=01.01.2001 1:01:01
[LOG]
Dirrectory=C:\Program Files\NM_BM8036\Ot Brokly
Ye=1
STATE_ON=1
CheckLoads0=1
CheckLoads1=1
CheckLoads2=1
CheckLoads3=1
CheckLoads4=0
CheckLoads5=0
...
Строки, обрамленные квадратными скобками - это наименования разделов. Все, что ниже наименований - это наименования переменных и их значения. В показанном примере три раздела: [PORT], [RELOAD] и [LOG]. В разделе [PORT] три переменных: Name, которой присвоено значение COM1, IP со значением 127.0.0.1 и PORT, в котором содержится число 9999.
В дальнейшие подробности вдаваться не будем, перейдем к конкретике. Так вот, чтобы изменить параметры чувствительности для определения цветовых изменений, существует в этом файле раздел [SHOW]. В этом разделе прописаны следующие параметры:
'DCalm' - задержка сброса цветового признака у термометра, по умолчанию : 5;
'DSens' - чувствительность цветового признака у термометра, по умолчанию : 500;
'ACalm' - задержка сброса цветового признака у аналогового входа, по умолчанию : 5;
'ASens' - чувствительность цветового признака у аналогового входа, по умолчанию : 100;
Изменяя эти параметры, можно добиться изменений в цветовых установках датчиков по своему вкусу, как вам кажется наиболее правильным. Но лично я это не менял, меня все устраивает. Кстати, если в твоем, Мастер, ини-файле такого раздела нет, а поиграться хочется, надо его создать. Это просто: в начале или конце файла прописываем так:
[SHOW]
DCalm=5
DSens=500
ACalm=5
ASens=100
и начинаем играть, в смысле, изменять значения переменных после знака равенства. Наблюдаем при этом за цветовыми изменениями датчиков.
Теперь перейдем из сервиса Терминал в сервис Графический анализ. В самом низу здесь предоставляется выбор стиля графика: Усреднение, Максимумы, Минимумы, Диапазон. Что это все означает?
Дело в том, что каждая точка на графике соответствует какому-то определенному промежутку времени, например, 1 минута. За эту минуту программа записала в лог файл 20 значений (запись производится по настройкам каждые 3 секунды). Какое из этих 20 значений взять для показа на графике? Вот это ты и решаешь выбором стиля.
![]() |
![]() Настройки для прорисовки графиков тоже имеются в файле установок names.ini. Для этих настроек имеется раздел [Graph]. Там много чего, остановимся на более интересных. |
![]() |
![]() |
![]() |
![]() |
![]() 'ShowMinMax' - отображение минимумов и максимумов значений в легенде. По умолчанию равен 0 (не показывать). |
![]() Если же проставить 1, то будут показываться минимальные и максимальные значения в пределах времени графика. Кстати, показ или скрытие легенды осуществляется щелчком правой кнопки мыши в любом месте графика. |
В этом же разделе можно задать настройки отображения ординатной разметки графика. Для этого принимаются следующие переменные: 'Ord_XXX' - назначаем линию с определенной температурой; 'OrdLineSize_XXX' - толщина выделенной линии ординат на графике; 'OrdLineStyle_XXX' - стиль выделенной линии ординат на графике; 'OrdLineColor_XXX' - цвет выделенной линии ординат на графике; 'OrdLineName_XXX' - Имя выделенной линии ординат на графике. |
![]() Ord_005=40 (назначил номер 005 для линии 40 градусов); OrdLineSize_005=2 (назначил толщину линии 40 градусов); OrdLineStyle_005=2 (назначил стиль ширина штриха 2 пиксела); OrdLineColor_005=65025 (назначил цвет линии, зеленый); OrdLineName_005=Рег (Назвал линию) В результате для 40 градусов (граничная температура для входа регистров) получил разметку зеленого цвета с именем Рег. |
Цвет формируется так: (синий(0..255) * 65536) + (зеленый(0..255) * 256) + красный(0..255) Например, чистый синий = 255*65536 + 0*256 + 0 = 16711680 серый 128*65536 + 128*256 + 128 = 8421504 |
И еще несколько секретиков. Если выделить правой кнопкой некую область на графике и подождать пересчета, будет показан новый график с периодом времени и границами значений, выбранными мышью. Правда, здесь у меня, видимо, кроется какая-то ошибка в коде программы, потому что выделенный кусок не вполне соответствует заданному.
Если нажать левую кнопку на линии, получим мгновенные значения указанной точки графика. Если щелкнуть правой кнопкой, то можно включить или выключить легенду (хотя, об этом я уже говорил).
Если в наименование лог-файла (сервис Журнал регистраций) включены дополнительные элементы установкой соответствующих галок, то будет образовываться не один файл огромных размеров и с которым работать трудно не только человеку, но и программе, а разные файлы. У меня, согласно проставленным галкам, каждый день образуется новый файл.
Одно только плохо, неудобно: на вкладке Графический анализ предоставляется возможность выбора анализируемых лог-файлов для вывода графика. Если вовремя не снимать вручную галки устаревших файлов, то программа, видимо, все равно их пересчитывает каждые полминуты, а на это уходит время, затрачиваются ресурсы.
Между тем, если установлена галка Зафиксировать диапазон..., было бы хорошо, если бы с ненужных файлов в списке гвлки автоматически снимались.
Однако, это уже мелочь, а в целом мое мнение о программе Advanced Manager сложилось вполне положительное. Молодец, Brokly.
И есть еще одна фишка, которая заложена автором в программу. Правда, это уже для продвинутых пользователей, способных делать макросы в системе. Это поддержка файлов-семафоров. Семафор - файл с расширением SEM, любого размера и содержания, появившийся в рабочей папке программы и несущий в своем имени команду работающей программе.
Каждую секунду программа проверяет наличие таких файлов в своем каталоге. Если семафор в каталоге найден, программа немедленно его удаляет и выполняет команду, назначенную семафором. Мне на сегодня известны только два семафора:
restart.sem - перезапускает программу
recalc.sem - пересчитывает и перересовывает окно графиков.
Обновлено: 22.12.22
Просмотров: 11883
Комментарии.
Правая кнопка по такому же принципу скопирует программу той строчки, на которой будет нажата правая кнопка, в ту строчку, где она будет отпущена.
Линии слева от названий программы увязывают логику в графическое отображение, все строчки объединенные по 'И' и управляющие одной нагрузкой объединяются одной связующей линией.
Если нагрузка не совпадает, программа оказывается логически оторвана и ее линия кончается квадратиком.
Единственное требование, которого нужно придерживаться - программы, управляющие одной нагрузкой и объединенные по 'И' нужно располагать одну за другой. Но это нужно и для правильной прошивки устройства, поскольку в ином случае оно может работать непредсказуемо.
Мне показалось, что эти моменты у вас не описаны. Насчет снятия галочки с файла, не все так просто, но я подумаю как сделать. Вообще очень хорошо, что вы на страницах своего сайта, описываете, как пользоваться этой программой. Я, к сожалению, не могу выкроить время :( Спасибо :)
Это я понимаю: когда человек делает программу, как для себя - тогда получается прекрасный продукт. Спасибо не мне (я лишь статист), спасибо вам за столь чудесную работу и за бескорыстие. Успехов вам в делах и начинаниях.
Егор.
Подскажите, если знаете как настроить работу программы по сети. как это устроено?
Спасибо,Егоров