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/000941.html

Posted by Wendigo (Участник № / Member № 4518) on :
 
прибор выдает данные в виде signed word. два байта, знаковое число.
Значение -1 представлено в виде 0xFFFF
Создаю канал1 Float, связываю с источником(прибором)
Далее, на экране создаю каналы, привязанные к канал1 с типами int(наиболее подходящий), uint, sint, usint, real, dint, udint. Вывожу в текстовые поля с различным форматированием, вывожу их же в мигающий контур, по условию значение>10.
В итоге значения представлены как FFFF, 65535, 65535.000, 6.554e+004, контур мигает, что неверно.
Почему не работает типизация и как вывести значение -1?

[ 04.12.2012, 13:29: Сообщение отредактировал / Message edited by AdAstra Technical Support ]
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
В ближайшем релизе будет введена возможность отображения значения HEX-канала в виде знакового целого числа.
 
Posted by Wendigo (Участник № / Member № 4518) on :
 
релиз 6.08 Проблема все ещё не решена!
прибор выдает по Modbus Tcp значения в диапазоне -10:100 Signed Word.
канал источника - Rout_Word
-10 представлено как FFF6
канал в RTM типа hex16 привязан к источнику
в экране все каналы разного типа привязаны к каналу RTM типа hex16
эмуляция правильно отображает отрицательные числа, а профайлер нет. почему?
 -
хостинг изображений
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Надо установить каналу HEX16 флажок "Вид представления DEC", привязать его к аргументу экрана с типом данных INT (знаковое!), а в соответствующем ГЭ "Текст" выбрать формат "По умолчанию" или "Integer %hd".
 
Posted by Wendigo (Участник № / Member № 4518) on :
 
Спасибо, флажок DEC изменяет механизм типизации. Однако, логически правильный тип канала Int (знаковое 16 бит) отображает числа неверно(65536) как в текстовом окне, так и в архивном тренде.
Как временное решение - аргумент экрана с типом DINT отображает отрицательные числа в рабочем диапазоне -10:100 верно
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
В Trace Mode 6 канала типа INT, есть каналы типа HEX, основное назначение которых - хранение, обработка, архивирование упакованных бинарных сигналов. На тренде эти каналы отображаются набором отдельных битов.
Для отображения хранимого в канале HEX значения в ГЭ "Текст" в виде целого со знаком предложен описанный выше механизм, который никак не противоречит типизации данных.
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2