Тема / Topic: Отображение отрицательного дробного числа
melandr
Junior Member / Новичок
Участник № / Member № 6451
отправлено / posted
Здравствуйте. Подскажите, пожалуйста, в решении следующей задачи. Необходимо на мнемосхеме Trace Mode отобразить положительные и отрицательные значения температуры с точностью до десятых. Например, в контроллере получаю значение температуры -5,5 град.С. В контроллере умножаю это значение на 10 для сохранения дробной части числа и получаем чило -55. Потом блоком аналогово-цифрового преобразования в контроллере преобразовываем для передачи на верхний уровень. По modbus TCP передается значение 65481. Какой канал и какой аргумент нужно создать в trace mode для отображения на мнемосхеме значения -5,5 град.С? Нашел на форуме для целого числа советуют в свойствах ГЭ "Текст" указать тип Integer и формат %hd. Какие действия нужно делать для дробного значения? PS. Создал канал типа HEX16. Поставил галочку "Вид представления DEC". Отрицательные значения отображаются корректно. Только не знаю, как вытащить дробную часть числа.
Сообщения / Posts 1 | Из / From: Украина
| IP / IP: IP адрес / IP address |
Создайте виртуальные привязки для аргументов к атрибутам канала класса FLOAT
ARG_000 - к атрибуту АППАРАТНОЕ_ЗНАЧЕНИЕ ARG_001 - к атрибуту РЕАЛЬНОЕ_ЗНАЧЕНИЕ
Для этого дважды щелкните в поле "Привязка" аргумента, в открывшемся диалоге выберите вкладку "Тип атрибута", "Тип объекта"="Канал_FLOAT" и далее - нужный атрибут.
Используйте эту программу в качестве процедуры трансляции в канале CH (методом D&D перетащите шаблон программы на этот канал). В реальном времени виртуальные привязки преобразуются в реальные привязки к заданным атрибутам канала.
Далее отображайте и обрабатывайте РЕАЛЬНОЕ значение канала как вещественное число со знаком. Количество знаков после запятой для отображения задавайте в ГЭ "Текст".
Если у Вас несколько подобных переменных, можно использовать 1 шаблон программы и методом D&D организовать использование этой программы во всех каналах.
Если в разных каналах множители различны, можно дополнительно использовать атрибут "Множитель" в настройках каналов.
Сообщения / Posts 17329 | Из / From: Россия
| IP / IP: IP адрес / IP address |