|
<< 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