This is topic Отображение отрицательного дробного числа in forum TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/31/t/001349.html

Posted by melandr (Участник № / Member № 6451) on :
 
Здравствуйте. Подскажите, пожалуйста, в решении следующей задачи. Необходимо на мнемосхеме 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.
В слое "Шаблоны программ" создайте программу следующего вида

PROGRAM
VAR_INPUT ARG_000 : INT; END_VAR
VAR_OUTPUT ARG_001 : REAL; END_VAR

ARG_001 = ARG_000*0.1;

END_PROGRAM

Создайте виртуальные привязки для аргументов к атрибутам канала класса FLOAT

ARG_000 - к атрибуту АППАРАТНОЕ_ЗНАЧЕНИЕ
ARG_001 - к атрибуту РЕАЛЬНОЕ_ЗНАЧЕНИЕ

Для этого дважды щелкните в поле "Привязка" аргумента, в открывшемся диалоге выберите вкладку "Тип атрибута", "Тип объекта"="Канал_FLOAT" и далее - нужный атрибут.

Используйте эту программу в качестве процедуры трансляции в канале CH (методом D&D перетащите шаблон программы на этот канал).
В реальном времени виртуальные привязки преобразуются в реальные привязки к заданным атрибутам канала.

Далее отображайте и обрабатывайте РЕАЛЬНОЕ значение канала как вещественное число со знаком.
Количество знаков после запятой для отображения задавайте в ГЭ "Текст".

Если у Вас несколько подобных переменных, можно использовать 1 шаблон программы и методом D&D организовать использование этой программы во всех каналах.

Если в разных каналах множители различны, можно дополнительно использовать атрибут "Множитель" в настройках каналов.
 


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2