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