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

Posted by AI (Участник № / Member № 3594) on :
 
Добрый день.
У меня такая задача. Для обмена информацией с верхним уровнем на контроллере реализован командный интерфейс. Выделен массив регистров (массив типа WORD) для записи и чтения в качестве буфера. Это удобно, если у вас большое количество настроечных параметров, уставок и т.п., чтобы не выделять отдельный регистр под каждую переменную. В зависимости от кода команды в массив записываются (или читаются) разные данные с разными типами и производится их верификация по контрольной сумме.
ВОПРОС. Как средствами TRACE Mode переменную типа REAL разложить на 2 типа WORD и обратно...
Только начал знакомится со скадой и не пойму как это сделать. По ходу даже с указателями нельзя работать. ((
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
А почему именно REAL. Проще использовать DINT
 
Posted by AI (Участник № / Member № 3594) on :
 
Не понял ответ. А DINT как переведете в REAL?
Например, коэффицент передачи регулятора типа REAL. Надо это вещественное число разложить на 2 числа типа WORD и положить в модбас. На контроллере примерно так...
P_REAL : POINTER TO REAL;

-----------------------
P_REAL := ADR(ARRAY_WORD[0]);
P_REAL^:= RealParam;
Ну и контрольную сумму потом в цикле посчитать.

Ну в общем видимо не получится красиво сделать командный интерфейс. ПОдхожу к тому, что сделать два буфера, один для вещественных переменных, другой для целочисленных.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Напишите на примере какое число у вас есть в формате REAL и какое число Вам нужно получить в формате WORD.

В Trace Mode для Modbus'a есть функция записи Float, но при этом на самом деле записываются два регистра WORD.
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2