я просто до конца не разобрался с работой рамп-бита. еще не совсем понимаю, как можно сбросить в варианте №8 все аварии не по очереди через отдельный вход и как увеличить количество аварий до 64? это в принципе возможно?
я просто до конца не разобрался с работой рамп-бита. еще не совсем понимаю, как можно сбросить в варианте №8 все аварии не по очереди через отдельный вход и как увеличить количество аварий до 64? это в принципе возможно?
Макрос "RAMP_BIT" изменяет на выходе в переменной не более одного бита за цикл программы, если на входе сразу изменилось в переменной более одного бита, начиная с самого старшего, далее по мере уменьшения старшинства(номера или весового коэффициента). Макрос "RAMP_BIT_M" в данном случае запоминает аварии, аналогично RS-триггерам в проекте Юрия Реваки. Если у вас аварии одновременно не срабатывают и запоминать их не надо, всё это можно убрать!
В 8 версии всё аналогично как в 7 версии, также можно сбросить все аварии сразу!
Можно сделать всё, но проще ограничится 32 авариями на одном экране! Можно как-то аварии сгруппировать по 32 и на разные экраны вывести, если Вы их по сети передаёте, они уже и так сгруппированными приходят по 16 аварий! Короче на двух экранах поместятся ваши 64 аварии практически без переделок!
Последний раз редактировалось Сергей0308; 17.06.2019 в 12:26.
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
понял! спасибо большое за разъяснения!
Я их(эти макросы) уже описывал чуть ранее в посте #28: https://www.owen.ru/forum/showthread.php?t=31113&page=3
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
я просто не сразу вкурил и отложил в долгий ящик. сейчас, когда приперло уже более внимательно в них всмотрелся. и вроде стало более понятно.
Вывод аварий делаю всегда. Если аварий мало то, вывожу их в одной строчке, бегущей строкой, аварии если их несколько отображаются в порядке их появления.
Самое большое, что делал это вывод 256 аварий, текущая авария отображалась в одной бегущей строке плюс возможность пролистывать список n-го количества предидущих аварий. Самое сложное было вносить текст для этих 256 аварий![]()
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
Каждая аврия в одной строке, через динамический текст бегущей строкой. Длину делал в 30 символов, аварии писал сокращениями, поначалу было больше символов, но текст воспринимается хуже. Хотя 30 символов не так уж и мало, вот например авария от туда-"Фильтр высокой подачи насос 2" , вполне нормально.
Листаем стрелками экраны и видим предидущие аварии.
Время возникновения аварий выводил уже на скаду по modbus, к сожелению у пр экран очень маленький и если туда выводить еще время для каждой аварий получается ужас какой то.
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
Бегущую строку делал через макрос ticker, что в библиотеке лежит. Правда переписать его под себя пришлось, в том виде как он есть у меня ничего не заработало, а через динамический текст выводил 1 из 256 аварий возникшая в данный момент времени.