ФБ преобразования типов

ФБ №63 «Преобразователь UInt16 -> 2x UInt8»

ФБ нужен, когда необходимо разделить одно 16-битное целое значение на 2 байта: младший и старший, например, при извлечении данных из 16-бит MODBUS-регистров.

Вх/ВыхИмяТипНазначение
ВходInputuint16Разделяемое значение
ВыходLoByteuint8Младший байт
ВыходHiByteuint8Старший байт

ФБ № 73 «Преобразователь UInt32/Float -> 2x UInt16»

ФБ нужен, когда необходимо представить одно 32-битное значение в виде пары 16-битных, например, для разбиения на MODBUS-регистры.

Вх/ВыхИмяТипНазначение
ВходInputuint32/float32Разделяемое значение
ВыходLoWorduint16Младшее слово
ВыходHiWorduint16Старшее слово

ФБ №75 «Преобразователь 2x UInt16 -> UInt32/Float»

ФБ нужен, когда необходимо преобразовать пару 16-битных значений в одно 32-битное, например, чтобы «собрать» из двух MODBUS-регистров значение типа uint32 или float32.

Вх/ВыхИмяТипНазначение
ВходLoWorduint16Младшее слово
ВходHiWorduint16Старшее слово
ВыходOutputuint32/float32Собранное значение

ФБ №74 «Преобразователь Int -> Float32»

ФБ — простой преобразователь типов. Нужен когда необходимо согласовать вход и выход функциональных блоков, преобразовав целое значение в float32.

ФБ №76 «Масштаб величины»

ФБ «Масштаб величины» производит масштабирование по двум ключевым точкам входной величины X в выходную величину Y.

Все входы и выходы ФБ могут быть любого типа данных. ФБ перед вычислением Y приводит все входные величины к типу float32.

Вх/ВыхИмяТипНазначение
ВходX1, Y1любойКлючевая точка 1 (значение входной величины / результата)
ВходX2, Y2любойКлючевая точка 2
ВходXлюбойТекущее значение входной величины
ВыходYлюбойМасштабированное значение

ФБ №9 «Беззнаковое целое -> Набор битов»

Требования к типам входов и выходов и их количеству:

Вх/ВыхИмяТипНазначение
ВходВход (intN)uint8/16/32Исходное значение
ВыходBit 0…Bit N-1bitБиты значения; N = 8/16/32 — по типу входа

ФБ №10 «Набор битов -> Беззнаковое целое»

Требования к типам входов и выходов и их количеству:

Вх/ВыхИмяТипНазначение
ВходBit 0…Bit N-1bitБиты; N = 8/16/32 — по типу выхода
ВыходВыход (intN)uint8/16/32Собранное значение

ФБ №11 «Беззнаковое целое -> Float32»

Требования к типам входов и выходов и их количеству:

ФБ №12 «Беззнаковое целое -> Float32 (с множителем и делителем)»

ФБ приводит значение входа к типу float32, а затем умножает его на множитель и делит на делитель. Если множитель или делитель = 1, соответствующая операция пропускается.

Вх/ВыхИмяТипНазначение
ВходValuebit/uint8/16/32/float32Входное значение
ВходMultiplierbit/uint8/16/32/float32Множитель
ВходDividerbit/uint8/16/32/float32Делитель; «0» трактуется как «1»
ВыходВыходfloat32Value × Multiplier / Divider

ФБ №13 «Float32 -> целое (отброс дробной части)»

Требования к типам входов и выходов и их количеству:

ФБ №92 «Преобразователь 2x Uint16 -> Uint32»

ФБ нужен, когда необходимо преобразовать пару 16-битных значений в одно 32-битное, например, чтобы «собрать» из двух MODBUS-регистров значение типа uint32 или float32.

Вх/ВыхИмяТипНазначение
ВходLoWorduint16Младшее слово
ВходHiWorduint16Старшее слово
ВыходOutputuint32Собранное значение

ФБ №112 «BCD to HEX»

ФБ нужен, когда необходимо преобразовать двоично-десятичный (BCD) код в шестнадцатеричный (HEX) формат.

Вх/ВыхИмяТипНазначение
ВходNuintКоличество элементов
ВходFormatbitВыравнивание байтов: «1» — влево, «0» — по умолчанию
ВходInputмассивДанные в BCD
ВыходOutputмассивДанные в HEX

ФБ №113 «HEX to BCD»

ФБ нужен, когда необходимо преобразовать шестнадцатеричный (HEX) формат в двоично-десятичный (BCD) код.

Вх/ВыхИмяТипНазначение
ВходNuintКоличество элементов
ВходInputмассивДанные в HEX
ВыходOutputмассивДанные в BCD

ФБ №114 «Преобразователь Uint32 -> 4x Uint8»

ФБ нужен, когда необходимо представить одно 32-битное значение в виде четырех 8-битных.

Вх/ВыхИмяТипНазначение
ВходInputuint32Разделяемое значение
ВыходOne, Two, Three, Fouruint8Байты 0…3