Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
https://www.youtube.com/@%D0%9F%D0%B...BA%D0%BE%D0%B2
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
За "дату и время" - спасибо!
Что касается остальных экранов, то на работающей панели я их не фотографировал. И они не такие "навороченные", как первый.
На экране "Сообщения":
- два элемента "Таблица тревог";
- два элемента "Цифровой дисплей" для отображения времени, оставшегося до очередного ТО;
- две кнопки "Сброс ошибок" с функционалом, который мы обсуждали несколькими постами ранее.
1.png
На экране "Архив сообщений":
- элемент "Историческая таблица";
- кнопка "Подтвердить" с функцией "Подтвердить" для исторической таблицы. Я так и не понял назначения данной операции. Просто, чтобы появилась надпись в колонке "Подтверждено" таблицы? Типа, "оператор видел это сообщение".
2.png
На экране "Графики" - просто два тренда без всяких органов управления ими (не было времени разбираться).
3.png
На главном экране - масса элементов. Уверен, что реализация их функционала сделана мной "криво".
14.png
Например, я хотел, чтобы вот этот элемент:
4.png
"горел постоянно", когда компрессор работает, и "мигал", когда компрессор находится в режиме ожидания.
Я уже писал, что за "статус" компрессора отвечает один регистр, каждый бит которого соответствует определенному состоянию.
Но "режим ожидания", как и "работа" характеризуются несколькими комбинациями этих битов.
Поэтому сделал "бутерброд" аж из семи индикаторов:
5.png
Бит 0 в упомянутом регистре означает "Готов к запуску". При этом индикатор не горит.
Поэтому свойства у самого нижнего индикатора из "бутерброда" такие:
6.png
7.png
8.png
Индикаторы со второго по шестой "снизу" сопоставлены с битами 7, 6, 5, 4, 3 регистра статуса и имеют сходные настройки (должны быть видимы в определенный момент и при этом гореть постоянно):
9.png
10.png
Самый верхний индикатор означает "режим ожидания" и должен мигать (бит 2):
11.png
12.png
13.png
Вот такое вот "изящное" решение.
И это только один из примеров реализации мной "сложного" поведения элемента.
Добавлял Логику в библиотеку.
Теперь буду читать Ваше сообщение.
Сразу по поводу
Столбец "Подтвердить" можно удалить и не заморачиваться с его назначениемНа экране "Архив сообщений":
- элемент "Историческая таблица";
- кнопка "Подтвердить" с функцией "Подтвердить" для исторической таблицы. Я так и не понял назначения данной операции. Просто, чтобы появилась надпись в колонке "Подтверждено" таблицы? Типа, "оператор видел это сообщение".
http://www.owen.ru/forum/showthread....l=1#post138535
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
https://www.youtube.com/@%D0%9F%D0%B...BA%D0%BE%D0%B2
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
А напишите ка условия для индикатора подробно
- горит
- не горит
- мигает
Вместо Вашей "семибоярщины" сделаем один логический элемент, по типу этих http://www.owen.ru/forum/showthread....l=1#post232246
ЗЫ.
Очень желательно указать приоритеты бит.
Последний раз редактировалось petera; 28.12.2016 в 15:40.
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
https://www.youtube.com/@%D0%9F%D0%B...BA%D0%BE%D0%B2
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
Первое, что я сделал при добавлении исторической таблицы - поставил "0" для ширины последнего столбца.
Сейчас уже точно не припомню, но что-то у меня там не получилось с расположением таблицы. То ли она размещалась на реальном экране не в том месте, как указано в настройках. То ли еще что. Пришлось столбец вернуть на место.
Значит так. Биты регистра PSW262:
0 - готов к запуску (включен при остановленном компрессоре, в остальных случаях выключен)
1 - компрессор в работе (выключен при остановленном компрессоре, в остальных случаях включен, но совместно с одним из следующих битов)
2 - режим ожидания
3 - запуск двигателя
4, 7 - холостой ход при разных режимах работы компрессора (продолжительный, автоматический)
5 - полная нагрузка
6 - плавная остановка двигателя
Таким образом, индикатор должен:
не гореть: при 0000 0001
гореть постоянно при: 0000 1010, 0001 0010, 0010 0010, 0100 0010, 1000 0010
мигать: при 0000 0110
Последний раз редактировалось petera; 28.12.2016 в 16:48.
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
https://www.youtube.com/@%D0%9F%D0%B...BA%D0%BE%D0%B2
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
https://www.youtube.com/@%D0%9F%D0%B...BA%D0%BE%D0%B2
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
1.Просто задать "0" для ширины последнего столбца не достаточно, нужно полностью удалить название последнего столбцаПервое, что я сделал при добавлении исторической таблицы - поставил "0" для ширины последнего столбца.
Сейчас уже точно не припомню, но что-то у меня там не получилось с расположением таблицы. То ли она размещалась на реальном экране не в том месте, как указано в настройках. То ли еще что. Пришлось столбец вернуть на место.
2. А для индикатора режима работы вообще достаточно анализировать состояние двух бит
Т.к.
"0 - готов к запуску (включен при остановленном компрессоре, в остальных случаях выключен)
1 - компрессор в работе (выключен при остановленном компрессоре, в остальных случаях включен, но совместно с одним из следующих битов)"
здесь два взаимоисключающих состояния - либо вкл. бит №0, либо вкл. бит №1. Поэтому нужно либо бит №0 оставить, либо бит №1
Скорей всего состояние 0000 0010 в регистре статуса никогда не будет. Если это так, то вместо анализа 0000 1010, 0001 0010, 0010 0010, 0100 0010, 1000 0010 достаточно анализировать только один бит - №1.
ИТОГО остаются только два бита - №1 и №2
не гореть: при хххх х00х
гореть постоянно при: хххх х01х
мигать: при хххх х11х
Я прав?
Последний раз редактировалось petera; 28.12.2016 в 18:57.
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
https://www.youtube.com/@%D0%9F%D0%B...BA%D0%BE%D0%B2
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
Заголовок я, естественно, удалял.
Согласен, затупил. Но все равно нужен еще третий ("негорящий") индикатор. ИТОГО - три индикатора в "бутерброде".2. А для индикатора режима работы вообще достаточно анализировать состояние двух бит
Т.к.
"0 - готов к запуску (включен при остановленном компрессоре, в остальных случаях выключен)
1 - компрессор в работе (выключен при остановленном компрессоре, в остальных случаях включен, но совместно с одним из следующих битов)"
здесь два взаимоисключающих состояния - либо вкл. бит №0, либо вкл. бит №1. Поэтому нужно либо бит №0 оставить, либо бит №1
Скорей всего состояние 0000 0010 в регистре статуса никогда не будет. Если это так, то вместо анализа 0000 1010, 0001 0010, 0010 0010, 0100 0010, 1000 0010 достаточно анализировать только один бит - №1.
ИТОГО остаются только два бита - №1 и №2
не гореть: при хххх х00х
гореть постоянно при: хххх х01х
мигать: при хххх х11х
Я прав?
А вообще - каюсь. Чтобы упростить описание работы я "умолчал" еще о трех битах, входящих в регистр статуса. Вот его "полный состав" (с некоторой корректировкой описания):
0 - готов к запуску;
1 - компрессор в работе (включен может быть только совместно с еще каким-либо битом);
2 - режим ожидания;
3 - запуск двигателя;
4, 7 - холостой ход при разных режимах работы компрессора (продолжительный, автоматический);
5 - полная нагрузка;
6 - плавная остановка двигателя;
8 - авария;
9 - предупреждение;
10 - требуется ТО.
Рядом с зеленым индикатором есть еще и красный, для мигания которого тоже есть ряд условий:
- мигает РЕДКО: имеется предупреждение (бит 9) или требуется ТО (бит 10)
- мигает часто: авария.
Попробую составить таблицу возможных состояний (комбинаций битов):
15.png
16.png
17.png
18.png
Теперь-то понятно, что я явно перемудрил с количеством индикаторов в "бутерброде". Но прошу сделать скидку на дебют.
Но с красным индикатором, думаю, я сделал правильно:
частое мигание - бит 8;
редкое мигание - бит 9 ИЛИ 10;
не горит - любой бит (кроме 8, 9, 10), но изображение для ВКЛ. и ВЫКЛ. одинаково "темное".
ИТОГО - 4 индикатора.
Последний раз редактировалось Borserg; 28.12.2016 в 21:10.