Блок Преобразование данных
Описание: Приводит тип данных входа к типу, указанному в настройках. Вход принимает тип данных связанного с ним выхода. Если выбран логический тип данных – значение выхода равно 1 при ненулевом значении входа. Если множество значений типа данных входа не является подмножеством выходного типа данных, блок выполняет обработку переполнения в соответствии с выбранной опцией. Обработка переполнения выполняется путем сравнения входного значения с диапазоном значений выбранного типа данных, аналогично блоку «Сложение».
Свойства блока: (ПКМ по блоку - Свойства ( Alt + P ))
Общие свойства: см. Редактирование свойств блока.
Тип данных: допускаются любые типы данных из предложенных.
Показывать выход переполнения: управляет наличием выхода of
, который выдает логический признак возникновения переполнения. Это свойство не влияет на выполнение операций устройством. Выход of
рекомендуется использовать для выполнения специально запрограммированных действий при переполнении.
Обработка переполнения: при выполнении операции выполняется проверка на переполнение выхода, т.е. результирующего значения за диапазон значений выбранного типа данных. В такой ситуации рассчитанное значение не может быть верным математически.
Существуют следующие способы обработки переполнения:
«Игнорировать» - выход получает только младшие биты данных от полученного результата. Не рекомендуется использовать, за исключением реализации циклических счетчиков, когда переход счетчика через максимальное значение в 0 специально нужен, или когда старшие биты значения не нужны, достаточно младших битов.
«Установить 0» - выход устанавливается в 0. Рекомендуется использовать при использовании значения 0 как признак аварии;
«Выставить граничное значение» - выход получает значение, ближайшее к истинному значению, на границе диапазона значений выбранного типа данных. Это наиболее логически правильный и рекомендуемый способ, особенно для значений, суммируемых за некоторое время работы устройства;
«Настройки проекта» - ссылка на один из первых трех способов, указанный в настройках проекта. Эта опция позволяет централизованно управлять этим свойством.
Пример выполнения блока для 1-байтового беззнакового типа данных, значения ограничены диапазоном от 0 до 255:
Способ обработки переполнения |
Значение входа |
Выход |
Выход of |
Игнорировать |
257 |
1 |
1 |
Игнорировать |
120 |
120 |
0 |
Игнорировать |
-128 |
-128 |
0 |
Игнорировать |
0 |
0 |
0 |
Установить 0 |
257 |
0 |
1 |
Установить 0 |
120 |
120 |
0 |
Установить 0 |
-128 |
-128 |
0 |
Установить 0 |
0 |
0 |
0 |
Граничное значение |
257 |
255 |
1 |
Граничное значение |
120 |
120 |
0 |
Граничное значение |
-128 |
-128 |
0 |
Граничное значение |
0 |
0 |
0 |