Форум TRACE MODE: техническая поддержка Послать новую тему / Post New Topic  Послать ответ / Post A Reply
мой профиль / my profile авторизация / login | регистрация / register | поиск / search | часто задаваемые вопросы / faq | начало / forum home

  Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
» Форум TRACE MODE: техническая поддержка » ТЕХНИЧЕСКАЯ ПОДДЕРЖКА / TECHNICAL SUPPORT TRACE MODE 6 » TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version » Отображение отрицательного дробного числа

   
Автор / Author Тема / Topic: Отображение отрицательного дробного числа
melandr
Junior Member / Новичок
Участник № / Member № 6451


Icon 1 отправлено / posted      Профиль для / Profile for melandr           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Здравствуйте. Подскажите, пожалуйста, в решении следующей задачи. Необходимо на мнемосхеме 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 | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Привяжите соответствующий "Источник" 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 организовать использование этой программы во всех каналах.

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

Сообщения / Posts 17315 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
   

Quick Reply
Сообщение / Message:

HTML код не разрешен. / HTML is not enabled.
UBB код разрешен. / UBB Code is enabled.

Значки Graemlins / Instant Graemlins
   


Послать новую тему / Post New Topic  Послать ответ / Post A Reply Закрыть тему / Close Topic   Feature Topic   Переместить топик / Move Topic   Удалить топик / Delete Topic Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
 - Printer-friendly view of this topic
Перейти к / Hop To


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2