Тема / Topic: Некорректно вычитывает данные при активации «смена типа» [51] в канале типа OUTPUT
ViktorMaleika
Junior Member / Новичок
Участник № / Member № 9669
отправлено / posted
Создал OUTPUT канал через который пишу значения в ModBus. Для задания значения использую «Обработка»- множитель [33] = 10, т.е. я на экране в элемент «физическая величина» задаю, к примеру 34 (и на экране в элементе «физическая величина» отображается 34), контроллер принимает значение 340. Всё работает как надо. У меня активирован атрибут смена типа [51]. При старте РТМ из контроллера вычитываются данные, но в элементе «физическая величина» отображается не 34, а 340. Как это исправить?
Сообщения / Posts 9 | Из / From: Беларусь
| IP / IP: IP адрес / IP address |
отправлено / posted
Здравствуйте. Значения рассчитываются корректно.
Атрибут 51 (смена типа) однократно при запуске проекта меняет "направление" канала с Output (Запись) на Input (Чтение).
При этом, как описано в Справочной Системе для канала класса Analog, меняется порядок обработки канала. Упрощенно, для Input: ...->In->Масштабирование->A->...->R Упрощенно, для Output: ...->In->R->Трансляция->A->Q
quote:Отправитель / Originally posted by ViktorMaleika: ...При старте РТМ из контроллера вычитываются данные, но в элементе «физическая величина» отображается не 34, а 340. Как это исправить?
Скорее всего, у Вас к аргументу экрана привязан аргумент (0,R). Для канала записи (output), с учетом активного масштабирования, значение аргумента R может отличаться от значение аргумента Q.
В Справке это описано. Что бы при запуске в любой ГЭ, отображающей значение, было то, что в контроллере, привяжите атрибут Q.
Дополнительно. Так как Оператор задает значение X, а передается отмасштабированное значение m*X, то, во избежание путаницы, рекомендуется рассмотреть вопрос необходимости привести все "к общему виду". Т.е., или задавать то значение, которое будет передано в контроллер (надо передать 340? передаем 340) или в окне ввода ("ввести и передать") дополнительно сделать предупреждение (настройка "Подтверждение") вида "Будет передано отредактированное значение".
ViktorMaleika
Junior Member / Новичок
Участник № / Member № 9669
отправлено / posted
quote:Отправитель / Originally posted by АдАстра. Техподдержка:
Скорее всего, у Вас к аргументу экрана привязан аргумент (0,R). Для канала записи (output), с учетом активного масштабирования, значение аргумента R может отличаться от значение аргумента Q.
Да, у меня привязан аргумент R. Но какой бы я аргумент не привязал, при старте канал output показывает не отмасштабированное значение, вычитанное из контроллера, т.е. в контроллере сейчас указано значение 445 (что соответствует заданной температур 44.5 градусов), при старте МРВ канал output вычитает и отобразит 445 (в атрибуте Q вычитается 4450), хотя надо чтобы отобразилось 44.5. Далее когда я введу к примеру 46.7 в контроллер запишется 467 (так и должно быть), и на аргументе экрана будет отображаться 46.7 (что тоже правильно). Получается проблема возникает только при старте, когда на аргументе экрана отображается не отмасштабированное значение
Сообщения / Posts 9 | Из / From: Беларусь
| IP / IP: IP адрес / IP address |
quote:Отправитель / Originally posted by ViktorMaleika: ... при старте канал output показывает не отмасштабированное значение, вычитанное из контроллера, ...