This is topic Применение компонента Канал HEX16 in forum TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version at Форум TRACE MODE: техническая поддержка.
Добрый день, уважаемая служба поддержки! Подскажите как при использовании компонента "Канал HEX16" для отображения показаний регистра с знаком "-", выводить значение в виде "+/-32,5 С", а не "-32 С", то есть добавить значение после запятой. Например без привязки к "Каналу HEX16" это можно сделать в "Обработке" добавив коэффициент "Множитель", предварительно умножив в программе ПЛК значение записываемое в регистр на 10, если хотим получить один знак после запятой. А как быть в случае применения "Канал HEX16"? И почему при переименовывании созданного компонента "Rout_Word(3)" для отображения, например в "TEMPERATURA" и после перетаскивания его в группу "Каналы" он автоматически интерпретируется как "Канал HEX16" и не имеет возможности ввода коэффициента "Множитель"?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Создание канала HEX16 от "Источника" Rout_Word(3) методом автопостроения учитывает, что в настройках "Источника" по умолчанию указано "Дискрет" (целочисленное). Чтобы в процедуре автопостроения создавался канал FLOAT, надо в настройках "Источника" указать "Аналог". Однако при этом число, считанное из WORD-регистра, будет интепретироваться как беззнаковое.
Чтобы сделать его знаковым, вещественным и дробным, надо встраивать в канал FLOAT программу трасляции, например, такую: PROGRAM VAR_INPUT Аппаратное_значение : INT; END_VAR VAR_OUTPUT Реальное_значение : REAL; END_VAR VAR_INPUT Kx : REAL; END_VAR
Реальное_значение = Kx*Аппаратное_значение;
END_PROGRAM
Здесь множитель Kx может быть заменен на заведомо известную константу. Если подобная программа будет использоваться в нескольких каналах, то значения множителя для разных каналов можно задать значением соответствующего аргумента программы.
Для организации вызова программы трансляции достаточно перетащить (D&D) шаблон программы на канал FLOAT и затем привязать появившиеся аргументы канала к его атрибутам и задать значение множителя для конкретного параметра.
См. раздел "Каналы и системные переменные/Числовые каналы".