Функции преобразования типа

<< Click to Display Table of Contents >>

Navigation:  Программирование в MasterSCADA 4D > Редактор ST >

Функции преобразования типа

В языке программирования ST предусмотрен набор функций для преобразования значений между различными типами данных. Эти функции играют важную роль при обработке сигналов от оборудования, работе с различными форматами данных и обеспечении корректного взаимодействия между компонентами системы.

К таким функциям относятся:

  Функции <TYPE1>_TO_<TYPE2>:

Служат для преобразования типа TYPE1 в тип TYPE2. Например, часто используются преобразования BOOL_TO_INT для перевода логического значения в числовое, REAL_TO_INT для получения целой части вещественного числа, и STRING_TO_TIME для обработки временных интервалов, заданных в виде строк.

Функции <TYPE1>_TO_BOOL(myVar) возвращают TRUE при любом ненулевом, в т.ч. отрицательном, значении myVar типа данных TYPE1.

При работе с вещественными числами и их преобразовании в целочисленные типы следует помнить, что по умолчанию применяется математическое округление. Если требуется просто отбросить дробную часть, необходимо использовать специальную функцию TRUNC, которая выполняет усечение без округления.

  Функции *_BCD_TO_** и **_TO_BCD_*:

Выполняют преобразования между переменными типов BYTE, WORD, DWORD и LWORD и переменными типов USINT, UINT, UDINT и ULINT (обозначены соответственно знаками "*" и "**"), когда соответствующие битовые строки содержат данные в формате BCD.

Примеры:

USINT_TO_BCD_BYTE(25) = 2#0010_0101

WORD_BCD_TO_UINT (2#0011_0110_1001) = 369