STRING_TO

<< Click to Display Table of Contents >>

Navigation:  Программирование в MasterSCADA 4D > Функции и ФБ библиотеки Стандартная > Библиотека Стандартные функции > Функции конвертации >

STRING_TO

Группа категории палитры Функции конвертации содержит функции, предназначенные для конвертации параметров типа STRING в различные типы данных.

Вид категории в палитре:

string_to

Доступны следующие функции:

Название

Особенности работы

STRING_TO_LREAL

Преобразование STRING в LREAL. Числа конвертируются как переменные формата LREAL. При вводе других значений выход равен нулю.

STRING_TO_REAL

Преобразование STRING в REAL. Числа конвертируются как переменные формата LREAL. При вводе других значений выход равен нулю.

STRING_TO_BOOL

Преобразование STRING в BOOL. Если на вход IN подаются числа,кроме 0, то выход Q равен TRUE. Во всех остальных случаях Q равен FALSE.

STRING_TO_BYTE

Преобразование STRING в BYTE. Числа конвертируются как переменные формата LREAL. При вводе других значений выход равен нулю.

STRING_TO_DINT

Преобразование STRING в DINT. Числа конвертируются как переменные формата LREAL. При вводе других значений выход равен нулю.

STRING_TO_INT

Преобразование STRING в INT. Числа конвертируются как переменные формата LREAL. При вводе других значений выход равен нулю.

STRING_TO_SINT

Преобразование STRING в SINT. Числа конвертируются как переменные формата LREAL. При вводе других значений выход равен нулю.

STRING_TO_LINT

Преобразование STRING в LINT. Числа конвертируются как переменные формата LREAL. При вводе других значений выход равен нулю.

STRING_TO_DATE

Преобразование STRING в DATE при вводе даты в формате год * месяц * число, где * - любой символ, являющийся разделителем между годом, месяцем и числом. Минимальное значение для ввода 1601-01-02.

STRING_TO_DT

Преобразование STRING в DT при вводе даты в формате год * месяц * число * часы * минуты, где * - любой символ, являющийся разделителем между годом, месяцем и т.д. Минимальное значение для ввода 1601-01-01-03:00. Функция принимает строку с временем в UTC формате и возвращает время в UTC, далее полученное время для вывода пользователю преобразуется в локальное, т.е. например, для московского региона добавляется +3 часа.

STRING_TO_TIME

Преобразование STRING в количество миллисекунд при вводе числа на вход.

STRING_TO_TOD

Преобразование STRING в TOD при вводе числа на вход.

STRING_TO_UDINT

Преобразование STRING в UDINT. Числа конвертируются как переменные формата LREAL. При вводе других значений выход равен нулю.

STRING_TO_UINT

Преобразование STRING в UINT. Числа конвертируются как переменные формата LREAL. При вводе других значений выход равен нулю.

STRING_TO_USINT

Преобразование STRING в USINT. Числа конвертируются как переменные формата LREAL. При вводе других значений выход равен нулю.

STRING_TO_ULINT

Преобразование STRING в ULINT. Числа конвертируются как переменные формата LREAL. При вводе других значений выход равен нулю.

STRING_TO_DWORD

Преобразование STRING в DWORD. Числа конвертируются как переменные формата LREAL. При вводе других значений выход равен нулю.

STRING_TO_LWORD

Преобразование STRING в LWORD. Числа конвертируются как переменные формата LREAL. При вводе других значений выход равен нулю.

STRING_TO_WORD

Преобразование STRING в WORD. Числа конвертируются как переменные формата LREAL. При вводе других значений выход равен нулю.

STRING_TO_SYSTEM_STRING_PARAM

Преобразование STRING в SYSTEM_STRING_PARAM. К текущему значению добавляется метка времени, равная времени преобразования, и признак признак качества GOOD.

STRING_TO_OBJECT

Преобразование STRING в формате JSON в ANY(массив или структура). В дальнейшем выход функции надо присвоить значению параметра, тип которого соответствует полученному объекту. Правила формирования типов данных для работы с JSON смотрите в разделе Соответствие элементов JSON и MasterSCADA 4D.

Важно! Для возможности использования функции STRING_TO_OBJECT в исполнительную систему должна входить опция MSRT4D-JSON-Connect. Данная опция включена в базовый функционал лицензий Professional и Enterprise.

STRING_TO_BYTE_ARRAY

Преобразование STRING в BYTE_ARRAY. Преобразует строку в массив байт, каждый символ преобразуется в соответствующий код, согласно выбранному указанному на входе Encoding значению. Тип выхода функции ARRAY [*] OF BYTE. Первый символ строки занимает первый элемент массива. Для обратного преобразования нужно использовать BYTE_ARRAY_TO_STRING.

Вид функции в редакторе FBD:

string_to_2

Вход DeleteNull имеет тип BOOL, который определяет обработку нулевых символов в массиве байтов при их преобразовании в строку. Данный вход может принимать значение TRUE (удаление всех символов после первого нуля) или FALSE (сохранение нулевых символов в строке).

Пример: Out := BYTE_ARRAY_TO_STRING(IN := Arr, ENCODING := Encod#ASCII), где Arr - это строка, а Encod это параметр, который имеет тип данных, как и вход функции ENCODING. Тип данных находится в категории библиотеки Стандартная.Типы данных.Системные.Encoding:

string_to_1

STRING_TO_DATE_LOCAL

Преобразование STRING в DATE_LOCAL. Для вывода даты на вход должно подаваться значение формата: год * месяц * число, где * - любые символы, разделяющие год, месяц и число. Минимальная дата, подаваемая на вход - 1601.01.01.

STRING_TO_DT_LOCAL

Преобразование STRING в DT_LOCAL. Для вывода даты на вход должно подаваться значение формата: год * месяц * число * часы * минуты * секунды * миллисекунды, где * - любые символы, разделяющий год, месяц, число и тд. Минимальная дата, подаваемая на вход - 1601.01.01.

ФБ принимает строку с временем в локальном (относительно контроллера) формате, и преобразует его в UTC, в случае для московской часовой зоны отнимает 3 час и возвращает время в UTC, далее полученное время для вывода пользователю в среде разработки, подключенной к среде исполнения преобразуется в локальное, т.е. например, для московского региона добавляется +3 часа

В случае когда на вход STRING_TO_DT_LOCAL подаётся не строка, а DT оно преобразуется в строку через функцию DT_TO_STRING, которое возвращает строку в c временем в UTC формате

Пример:  контроллер находится во Владивостоке  (GMT+10), среда разработки подключена к исполняемому проекту в Москве  (GMT+3), а клиент визуализации работает в Тюмени (GMT+5). Тогда при вызове  функции STRING_TO_DT_LOCAL("2020-01-01-00:00") получим:

В среде разработки будет отображено время 2019-12-31-17:00 ("2020-01-01-00:00" - 10ч + 3ч)

В клиенте визуализации будет отображено время 2019-12-31-19:00 ("2020-01-01-00:00" - 10ч + 5ч

Смотрите также: