В правой части, Битовые функции, после PutBit и ExtractВложение 81720
Вид для печати
В правой части, Битовые функции, после PutBit и ExtractВложение 81720
Да, я чуть позже увидел. Подскажите а в режиме симуляции, без ИПП не увидеть что на экране будет отображаться?
А только меня смущает, что в журнале мы для даты/время используем две 32-разрядные энергонезависимые переменные? Почему дату/время не хранить в одной переменной в формате UTC, а для вывода на экран уже как угодно преобразовывать?
Я думаю, для меня это сложно. Но я понял, о чём вы. Спасибо
Я сильно извиняюсь, такое впечатление что маньяк орудует, в смысле, максимальное количество экранов и элементов на холсте программы, лично моё мнение!
Вот мой вариант, все аварии просматриваются на одном экране при срабатывании аварий отображается общее их количество(верхняя строка, справа), слева в верхней строке выбирается номер аварии, если аварий больше нуля, чтобы перейти и просмотреть параметры аварии. Параметры аварии отображаются в верхней строке, в центре, это дата-время в формате: месяц, день, час, минута, по два разряда на каждый пункт!
В нижней строке расшифровывается тип аварии(по коду аварии), например авария ГЦН, применил динамический текст, вкратце, всё!
Вложение 81728
Вложение 81726
Вложение 81730
Короче, я примерно так это вижу!
В архиве сохраниться 31 последняя авария. Счётчик до 100 аварий. После просмотра аварий при возврате к нулевому событию(текущему состоянию) счётчик количества аварий сбрасывается.
Смотрите в симуляции, в проекте переход на экран аварии не делал, в смысле использовал вашу заготовку проекта и оставил как было!
Если что, сами переход добавите, вроде, уже делали!
А я тут не понял #_АВ и его назначение.
Если была авария с битом 8, а потом прилетела с битом 6, однако видел мы будем только с битом 8, нет?
Если Вам интересно как работает алгоритм могу пояснить: переменная "№_АВ"(номер, код аварии) при возникновении аварии появляется соответствующее значение номера бита, у товарища будет диапазон 1-12 на один цикл программы, при этом также на один цикл программы переменная "Событие" принимает значение логической "1" и код аварии с временем его возникновения пишется в стек!
Для просмотра аварий у нас имеется переменная "Номер события" При его значении "0" на экране аварий будет отображаться текущая дата-время(про формат уже писал) в центре верхней строки экрана аварий. При возникновении аварий, например кратковременный переход бита 8 в состояние "1", затем кратковременный переход бита "6" в состояние логической "1" - счётчик аварий(верхняя строка справа на экране аварий насчитает общее количество аварий равным 2. Можно сделать сигнализацию при количестве аварий больше "0" чтобы знать что были аварии или(и) сразу переход на экран аварий.
Короче, для просмотра последней аварии редактируем переменную номер события и задаём ей значение "1" - на экране аварий появятся дата-время аварии и её расшифровка(как подпишите), например " Авария ГЦК"!
Для просмотра второй аварии(более давней) редактируете переменную "Номер события" и задаёте ей значение "2", при этом на экране аварий появятся дата-время этой аварии и её расшифровка(как подпишите)!
При возврате переменной "Номер события", после просмотра всех интересующих аварий, значения "0" - счётчик событий(аварий) сбрасывается! Вот добавил сигнализацию наличия аварий и автоматический переход на экран аварий при возникновении аварий:
Вложение 81737
Вложение 81738
Как бы дальнейший алгоритм пофигу. По шагам выполните. Если это битовая маска аварий? ахинея там.
я вводил 4, 8, 4, 8, 12