Блок Преобразование данных

_images/fbd_block_TO.png

Описание: Приводит тип данных входа к типу, указанному в настройках. Вход принимает тип данных связанного с ним выхода. Если выбран логический тип данных – значение выхода равно 1 при ненулевом значении входа. Если множество значений типа данных входа не является подмножеством выходного типа данных, блок выполняет обработку переполнения в соответствии с выбранной опцией. Обработка переполнения выполняется путем сравнения входного значения с диапазоном значений выбранного типа данных, аналогично блоку «Сложение».

Свойства блока: (ПКМ по блоку - Свойства ( Alt + P ))

Общие свойства: см. Редактирование свойств блока.

Тип данных: допускаются любые типы данных из предложенных.

Показывать выход переполнения: управляет наличием выхода of, который выдает логический признак возникновения переполнения. Это свойство не влияет на выполнение операций устройством. Выход of рекомендуется использовать для выполнения специально запрограммированных действий при переполнении.

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

Существуют следующие способы обработки переполнения:

  1. «Игнорировать» - выход получает только младшие биты данных от полученного результата. Не рекомендуется использовать, за исключением реализации циклических счетчиков, когда переход счетчика через максимальное значение в 0 специально нужен, или когда старшие биты значения не нужны, достаточно младших битов.
  2. «Установить 0» - выход устанавливается в 0. Рекомендуется использовать при использовании значения 0 как признак аварии;
  3. «Выставить граничное значение» - выход получает значение, ближайшее к истинному значению, на границе диапазона значений выбранного типа данных. Это наиболее логически правильный и рекомендуемый способ, особенно для значений, суммируемых за некоторое время работы устройства;
  4. «Настройки проекта» - ссылка на один из первых трех способов, указанный в настройках проекта. Эта опция позволяет централизованно управлять этим свойством.

Пример выполнения блока для 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