PDA

Просмотр полной версии : Что происходит с ТРМ202?



dan75
28.01.2020, 18:55
Здравствуйте, уважаемые форумчане!
Есть ТРМ202, в котором нужно менять уставку с ПР200. Меню изменения уставки я сделал по принципу, как на некоторых горелках Weishaupt: там на экран БУИ выводится так называемое "актуальное" значение, считываемое из менеджера горения, а в следующей строке -- "новое" значение. Новое мы можем редактировать, и при нажатии ENTER БУИ отправляет его в менеджер. Когда новое значение записывается в менеджер, соответственно, меняется значение и в строке "актуальное".
Написанная мной программа работает, но я заметил, что иногда при изменении уставки с ПР, в строке "актуальное" отображается "999". Посмотрел, что происходит в режиме онлайн-отладки и выяснил, что в первый момент после записи нового значения в ТРМ, из него считывается значение, в 10 раз большее, чем нужно. Например, как на гифке, меняем уставку 303 на 302, в первый момент из ТРМ считывается 3020, потом всё приходит в норму. Причём, происходит это не всегда; иногда правильное значение считывается сразу. Регистры, отвечающие за положение десятичной точки в программе не задействованы.
Что происходит с ТРМ, и как с этим бороться?
Внешний вид экрана, схему и гиф с проблемой прилагаю.
46906 46904 46905

capzap
28.01.2020, 19:03
в трм202 уставка всегда должна записываться с одним знаком после запятой, у вас так?

dan75
28.01.2020, 19:38
В смысле с одним знаком? Уставка передаётся и считывается в формате int. В ТРМ параметр dpt=1, т.е. в самом ТРМ 303 превращается в 30,3.
Ноль после запятой на экране -- это вообще нередактируемый текст. Задел на будущее.

capzap
28.01.2020, 21:23
В ТРМ параметр dpt=1, т.е. в самом ТРМ 303 превращается в 30,3

именно это я и хотел узнать. С каким периодом Вы опращиваете прибор

dan75
28.01.2020, 22:39
9600-8N2. Период 1000 мс, тайм-аут 100 мс, попыток 3.

capzap
29.01.2020, 07:35
лог можете снять общения между мастером и слейвом, чтоб зафиксировать кто увеличивает на порядок, трм или логика пр-ки?

dan75
29.01.2020, 09:31
До этого у меня не возникало необходимости снимать логи обмена. Какую из свободно распространяемых программ можете порекомендовать?

Ревака Юрий
29.01.2020, 10:17
Здравствуйте, уважаемые форумчане!
Есть ТРМ202, в котором нужно менять уставку с ПР200. Меню изменения уставки я сделал по принципу, как на некоторых горелках Weishaupt: там на экран БУИ выводится так называемое "актуальное" значение, считываемое из менеджера горения, а в следующей строке -- "новое" значение. Новое мы можем редактировать, и при нажатии ENTER БУИ отправляет его в менеджер. Когда новое значение записывается в менеджер, соответственно, меняется значение и в строке "актуальное".
Написанная мной программа работает, но я заметил, что иногда при изменении уставки с ПР, в строке "актуальное" отображается "999". Посмотрел, что происходит в режиме онлайн-отладки и выяснил, что в первый момент после записи нового значения в ТРМ, из него считывается значение, в 10 раз большее, чем нужно. Например, как на гифке, меняем уставку 303 на 302, в первый момент из ТРМ считывается 3020, потом всё приходит в норму. Причём, происходит это не всегда; иногда правильное значение считывается сразу. Регистры, отвечающие за положение десятичной точки в программе не задействованы.
Что происходит с ТРМ, и как с этим бороться?
Внешний вид экрана, схему и гиф с проблемой прилагаю.
46906 46904 46905

Для ТРМ2xx делал шаблоны сетевых устройств с примерами, https://owen.ru/forum/showthread.php?t=25978&p=313825&viewfull=1#post313825 с float из-за настроек dp много заморочек, задача усложняется и из-за отсутствия в ПР формата int16. Попробуйте взять блоки из примеров, в принципе если Вы работаете с конкретными настройками, логику можно сильно упростить, я делал под все возможные варианты.