This is topic Отображение отрицательного дробного числа in forum TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version at Форум TRACE MODE: техническая поддержка.
Здравствуйте. Подскажите, пожалуйста, в решении следующей задачи. Необходимо на мнемосхеме Trace Mode отобразить положительные и отрицательные значения температуры с точностью до десятых. Например, в контроллере получаю значение температуры -5,5 град.С. В контроллере умножаю это значение на 10 для сохранения дробной части числа и получаем чило -55. Потом блоком аналогово-цифрового преобразования в контроллере преобразовываем для передачи на верхний уровень. По modbus TCP передается значение 65481. Какой канал и какой аргумент нужно создать в trace mode для отображения на мнемосхеме значения -5,5 град.С? Нашел на форуме для целого числа советуют в свойствах ГЭ "Текст" указать тип Integer и формат %hd. Какие действия нужно делать для дробного значения? PS. Создал канал типа HEX16. Поставил галочку "Вид представления DEC". Отрицательные значения отображаются корректно. Только не знаю, как вытащить дробную часть числа.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Привяжите соответствующий "Источник" Modbus к каналу CH класса FLOAT. В слое "Шаблоны программ" создайте программу следующего вида
Создайте виртуальные привязки для аргументов к атрибутам канала класса FLOAT
ARG_000 - к атрибуту АППАРАТНОЕ_ЗНАЧЕНИЕ ARG_001 - к атрибуту РЕАЛЬНОЕ_ЗНАЧЕНИЕ
Для этого дважды щелкните в поле "Привязка" аргумента, в открывшемся диалоге выберите вкладку "Тип атрибута", "Тип объекта"="Канал_FLOAT" и далее - нужный атрибут.
Используйте эту программу в качестве процедуры трансляции в канале CH (методом D&D перетащите шаблон программы на этот канал). В реальном времени виртуальные привязки преобразуются в реальные привязки к заданным атрибутам канала.
Далее отображайте и обрабатывайте РЕАЛЬНОЕ значение канала как вещественное число со знаком. Количество знаков после запятой для отображения задавайте в ГЭ "Текст".
Если у Вас несколько подобных переменных, можно использовать 1 шаблон программы и методом D&D организовать использование этой программы во всех каналах.
Если в разных каналах множители различны, можно дополнительно использовать атрибут "Множитель" в настройках каналов.