Отображение нескольких ошибок на дисплее по очереди

Ответить
Hardwarest
Рядовой
Сообщения: 43
Зарегистрирован: 25 дек 2019, 19:40
Имя: Кирилл
Контактная информация:

Отображение нескольких ошибок на дисплее по очереди

Сообщение Hardwarest »

Доброго времени.
Ломаю голову. В проекте есть дисплей, там меню и цикличное по кругу отображение информации. (Время, температуры итд)
Главное вопрос, иногда в системе могут происходить ошибки, к примеру таймаут по модбас. Как сделать выброс одной ошибки это не проблема, при помощи одного инвертированного входа логического "и" мы легко тушим что отображается на дисплее и ошибка светится пока будет активная... А если ошибок будет 2 или 3, вот ломаю голову как сделать некий массив и с него по 5 сек чтобы отображать. Вышла первая, спустя 5 сек вторая. Потушили вторую исправив оборудование или отключив опрос, отображается только первая...
Аватара пользователя
Dryundel
Полковник
Сообщения: 2431
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Благодарил (а): 3 раза
Поблагодарили: 30 раз

Отображение нескольких ошибок на дисплее по очереди

Сообщение Dryundel »

[ref]Hardwarest[/ref], Это не подойдет?
Буфер FIFO
Hardwarest
Рядовой
Сообщения: 43
Зарегистрирован: 25 дек 2019, 19:40
Имя: Кирилл
Контактная информация:

Отображение нескольких ошибок на дисплее по очереди

Сообщение Hardwarest »

Очень похоже! Спасибо, буду пробовать
Аватара пользователя
Dryundel
Полковник
Сообщения: 2431
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Благодарил (а): 3 раза
Поблагодарили: 30 раз

Отображение нескольких ошибок на дисплее по очереди

Сообщение Dryundel »

Hardwarest писал(а): 30 ноя 2020, 18:54 Очень похоже! Спасибо, буду пробовать
Там и количество ошибок в очереди есть.
Hardwarest
Рядовой
Сообщения: 43
Зарегистрирован: 25 дек 2019, 19:40
Имя: Кирилл
Контактная информация:

Отображение нескольких ошибок на дисплее по очереди

Сообщение Hardwarest »

И снова приветствую...
Извините что морочу голову, но что то не могу сообразить...
Крутил буфер FIFO и запутался...
К примеру Версия 1.1 имеет один вход и один выход, а у меня несколько источников ошибок которые при ошибке выдают Булеан.
Как их стыковать? Как программе объяснить что к примеру из 3-х ошибок пропала одна? При этом она должна сообщить что ошибка пропала и циклично показывать остальные две.
Пробовал FIFO массив, там завис. Мало того что там входы и выходы интежер, так еще выходов то столько сколько и входов... А мне надо что бы выход был один, и входы по одному приходили на выход. Вроде сформулировал вопрос
Все я сделал но с одним источником ошибок, Ошибка вылезла, ее выкинуло на экран, как только она прошла меняется текст и таймер ждет пару секунд и тушит страницу....как только их несколько... Котовасия.
Аватара пользователя
Fuji1604
Сержант
Сообщения: 282
Зарегистрирован: 19 янв 2016, 06:09
Откуда: Березники
Имя: Сергей

Отображение нескольких ошибок на дисплее по очереди

Сообщение Fuji1604 »

Прочитав сообщение viewtopic.php?p=96495#p96495 пртшла мысль, можно все ошибки собирать в одну сроку и выводить бегущей строкой
когда мастерю обычно подсматриваю,
не рыли ли окоп в том же направлении,
не изобретали ли велосипед с такими-же квадратными как у меня колёсами,
а уже потом - не торопясь, торю свою лыжню
Hardwarest
Рядовой
Сообщения: 43
Зарегистрирован: 25 дек 2019, 19:40
Имя: Кирилл
Контактная информация:

Отображение нескольких ошибок на дисплее по очереди

Сообщение Hardwarest »

Fuji1604 писал(а): 02 дек 2020, 21:01 Прочитав сообщение viewtopic.php?p=96495#p96495 пртшла мысль, можно все ошибки собирать в одну сроку и выводить бегущей строкой
Можно) Но этот дисплей и бегущая строка еще тот секс...
Делема в том как быть с потушенной ошибкой, на данный момент она оставляет после себя просто пустое место, а вторая делема производная из первой, что этой ошибке это место надо готовить...

Пробовал При помощи свича делать интежер, интежен сумировать блоком математики и получать количество ошибок... Их задавал константой счетчику, а мультивибратором листал... Но что то пошло не так. Все равно пустое окно
Аватара пользователя
Dryundel
Полковник
Сообщения: 2431
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Благодарил (а): 3 раза
Поблагодарили: 30 раз

Отображение нескольких ошибок на дисплее по очереди

Сообщение Dryundel »

Hardwarest писал(а): 02 дек 2020, 21:15 Делема в том как быть с потушенной ошибкой, на данный момент она оставляет после себя просто пустое место, а вторая делема производная из первой, что этой ошибке это место надо готовить...
Мда. Проблема понятна. И думаю решаема.
Но тут надо либо блок писать, либо как то имеющимися стандартными изголяться.
Смысл в следующем:
Ошибок я так понимаю конечное количество и все они определены.
Создаем массив булевых переменных где каждая ячейка (переменная) отвечает за свою ошибку.
Пришла ошибка записали в конкретную ячейку 1, ушла - записали 0.
Теперь все просто. Опрашиваем по таймеру, по очереди ячейки. Если 1 выводим на дисплей, если 0 пропускаем. И так по кругу.
Если ошибок нет, то и на дисплей ничего не выводится.
Ну как то так.
Hardwarest
Рядовой
Сообщения: 43
Зарегистрирован: 25 дек 2019, 19:40
Имя: Кирилл
Контактная информация:

Отображение нескольких ошибок на дисплее по очереди

Сообщение Hardwarest »

Dryundel писал(а): 02 дек 2020, 23:58 Ошибок я так понимаю конечное количество и все они определены
Не совсем. К примеру: 6 модбас устройств... Все норм работают. Может (к примеру) на двух выбить связь... Выбьет ошибку. Вот одну не проблема. В массив писал, там можно булеан писать. Но делема в том что там где 0 выбивало просто пустое окно.

Отправлено спустя 12 минут 25 секунд:
Dryundel писал(а): 02 дек 2020, 23:58 Но тут надо либо блок писать
Готов продонатить и добавить в общую копилку FLProg. Главное сделать как надо.
Ответить

Вернуться в «Помогите, а то я "нимагу"»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 6 гостей