This is topic Блок FBD nWRK _возможно_ с багом (произвольно обнуляется) in forum TRACE MODE 5 бесплатная версия / TRACE MODE 5 Free version at Форум TRACE MODE: техническая поддержка.
Есть проект, в котором используется ФБД блок nWRK. nWRK используется в виде таймера, каждую секуду увеличивающего значение выхода на единицу. Значение выхода иногда (не больше суток. один раз через 7 часов) ИЗМЕНЯЕТСЯ. Скорее всего обнуляется. Момент небыл пойман, хотя старались 4 раза его засечь. Подскажите плиз, как бороться с такой проблемой или чем заменить блок, дающий возможность таймера (таймер можно "паузить" и "отпаузивать") и на выходе которого имеется количество секунд.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Сам FBD сбрасывать свое состояние не может, многие пользователи работают с данным блоком, и пока небыло еще обращени по поводу самопроизвольных сбросов. Причины может быть две: 1) Сам алгоритм FBD 2) Если выход блока - аргумент, то это может быть канал, который к нему привязан
Теперь немного подробнее по 2-му пункту: Дело в том, что привязки аргументов FBD к атрибутам каналов мэпированы. Поэтому, посылая значение в атрибут канала, который привязан к аргументу FBD, вы тем самым можете изменить значение аргумета FBD. Поэтому - наиболее вероятная причина - это сброс значения выхода FBD nWRK через атрибут канала.
Posted by Dmitry A. E. (Участник № / Member № 1477) on :
Входы ФБД блока не менялись. Это было отслежено через отчёт тревог и СПАД. Выход ФБД блока привязан к входу другого блока. Поэтому пункт номер 2 я отсекаю, точно так же как и пункт 1. -------- на rst посылается 0x30 - режим работы в секундах а на sts посылается 1. Выход tf увеличивается на 1 каждую секунду. В какой-то момент происходит сброс выхода tf в 0:duno: !
HELP ME NEO
Posted by Dmitry A. E. (Участник № / Member № 1477) on :
Проблема была решена!!! Выход блока TF имел тип hex. Следовательно, его максимальное значение может быть лишь 65536. Это в секундах. Если перевести в нормальное время, то получается 18 часов 12 минут 16 секунд. Именно через такой интервал времени сбрасывался выход TF. Изменение типа на float отчасти решает эту проблему. Если Вам это где-то пригодится, то поимейте в виду эту ситуацию. Спасибо за поддержку!