Описание функциональных блоков библиотеки ИСР BEREMIZ для ПЛК BRIC
Внимание
Для использования стандартных и дополнительных функциональных блоков в языке ST необходимо перетащить необходимый из библиотеки в зону перечисления переменных и дать наименование.
BRIC Library
Блок UTON
Данный ФБ представляет собой таймер с задержкой включения.
![]()
![]()
Вход
Тип
Описание
IN
BOOL
Подача импульса
PT
ULINT
Время задержки в формате ULINT
Выход
Тип
Описание
Q
BOOL
Если ET = PV и IN = 1, то Q = 1, иначе Q = 0
ET
ULINT
Счетчик времени считает пока ET < PV и IN = 1
TT
BOOL
TRUE, пока ET < PV
Форма записи на языке ST:
FB( IN := (*BOOL*), PT := (*ULINT*), ET => (*ULINT*), Q => (*BOOL*), TT => (*BOOL*));
Блок UTOF
Данный ФБ представляет таймер, реализующий задержку выключения. Когда вход изменяется с TRUE на FALSE (задний фронт) проходит определенное время, пока выход не станет FALSE.
![]()
![]()
Вход
Тип
Описание
IN
BOOL
Подача импульса
PT
ULINT
Время задержки в формате ULINT
Выход
Тип
Описание
Q
BOOL
Если IN = TRUE => Q = TRUE. При переходе IN в FALSE, если ET = PV, то Q = 0, иначе Q = 1
ET
ULINT
Счетчик времени считает пока ET < PV и был переход IN из TRUE в FALSE
TT
BOOL
TRUE, пока ET < PV
Форма записи на языке ST:
FB( IN := (*BOOL*), PT := (*ULINT*), ET => (*ULINT*), Q => (*BOOL*), TT => (*BOOL*));
Блок WORD_ON_BOOL
ФБ WORD_ON_BOOL выводит значение входной переменной WORD в битах.
![]()
Вход
Тип
Описание
WORD_IN
WORD
Входная переменная
Выход
Тип
Описание
B_OUT0
BOOL
Вывод значения нулевого бита
B_OUT1
BOOL
Вывод значения первого бита
B_OUT2
BOOL
Вывод значения второго бита
B_OUT3
BOOL
Вывод значения третьего бита
B_OUT4
BOOL
Вывод значения четвертого бита
B_OUT5
BOOL
Вывод значения пятого бита
B_OUT6
BOOL
Вывод значения шестого бита
B_OUT7
BOOL
Вывод значения седьмого бита
B_OUT8
BOOL
Вывод значения восьмого бита
B_OUT9
BOOL
Вывод значения девятого бита
B_OUT10
BOOL
Вывод значения десятого бита
B_OUT11
BOOL
Вывод значения одиннацатого бита
B_OUT12
BOOL
Вывод значения двенадцатого бита
B_OUT13
BOOL
Вывод значения тринадцатого бита
B_OUT14
BOOL
Вывод значения четырнадцатого бита
B_OUT15
BOOL
Вывод значения пятнадцатого бита
Форма записи на языке ST:
FB( WORD_IN := (*WORD*), B_OUT0 => (*BOOL*), B_OUT1 => (*BOOL*), B_OUT2 => (*BOOL*), B_OUT3 => (*BOOL*), B_OUT4 => (*BOOL*), B_OUT5 => (*BOOL*), B_OUT6 => (*BOOL*), B_OUT7 => (*BOOL*), B_OUT8 => (*BOOL*), B_OUT9 => (*BOOL*), B_OUT10 => (*BOOL*), B_OUT11 => (*BOOL*), B_OUT12 => (*BOOL*), B_OUT13 => (*BOOL*), B_OUT14 => (*BOOL*), B_OUT15 => (*BOOL*));
Блок BOOL_ON_WORD
ФБ BOOL_ON_WORD выводит значение в формате WORD входных булевых переменных.
![]()
Вход
Тип
Описание
B_IN0
BOOL
Ввод значения нулевого бита
B_IN1
BOOL
Ввод значения первого бита
B_IN2
BOOL
Ввод значения второго бита
B_IN3
BOOL
Ввод значения третьего бита
B_IN4
BOOL
Ввод значения четвертого бита
B_IN5
BOOL
Ввод значения пятого бита
B_IN6
BOOL
Ввод значения шестого бита
B_IN7
BOOL
Ввод значения седьмого бита
B_IN8
BOOL
Ввод значения восьмого бита
B_IN9
BOOL
Ввод значения девятого бита
B_IN10
BOOL
Ввод значения десятого бита
B_IN11
BOOL
Ввод значения одиннацатого бита
B_IN12
BOOL
Ввод значения двенадцатого бита
B_IN13
BOOL
Ввод значения тринадцатого бита
B_IN14
BOOL
Ввод значения четырнадцатого бита
B_IN15
BOOL
Ввод значения пятнадцатого бита
Выход
Тип
Описание
WORD_OUT
WORD
Выходная переменная
Форма записи на языке ST:
FB( B_IN0 := (*BOOL*), B_IN1 := (*BOOL*), B_IN2 := (*BOOL*), B_IN3 := (*BOOL*), B_IN4 := (*BOOL*), B_IN5 := (*BOOL*), B_IN6 := (*BOOL*), B_IN7 := (*BOOL*), B_IN8 := (*BOOL*), B_IN9 := (*BOOL*), B_IN10 := (*BOOL*), B_IN11 := (*BOOL*), B_IN12 := (*BOOL*), B_IN13 := (*BOOL*), B_IN14 := (*BOOL*), B_IN15 := (*BOOL*), WORD_OUT => (*WORD*));
Блок SETBIT
Данный ФБ записывает значение BIT_VALUE в любом из битов в входной переменной IN (DWORD).
![]()
Вход
Тип
Описание
IN
DWORD
Входная переменная
BIT_N
USINT
Выбор необходимого номера бита
BIT_VALUE
BOOL
Значение бита
Выход
Тип
Описание
OUT
DWORD
Выходная переменная
Форма записи на языке ST:
FB( IN := (*DWORD*), BIT_N := (*USINT*), BIT_VALUE := (*BOOL*), OUT => (*DWORD*));
Блок GETBIT
Данный ФБ прочитывает значение булевой переменной в определенном из битов IN (DWORD).
![]()
Вход
Тип
Описание
IN
DWORD
Входная переменная
BIT_N
USINT
Выбор необходимого номера бита
Выход
Тип
Описание
OUT
BOOL
Выходное значение бита
Форма записи на языке ST:
FB( IN := (*DWORD*), BIT_N := (*USINT*), OUT => (*BOOL*));
DO Functional blocks
Блок READ_DO_SC
ФБ READ_DO_SC предоставляет информацию о состоянии короткого замыкания на дискретных выходах.
![]()
Выход
Тип
Описание
DO_SC_FLAG
USINT
Флаг обнаруживания короткого замыкания по каналу. Если КЗ обнаружено, то управление каналом блокируется
DO_SC_EN
USINT
Флаг выставленной программной защиты от короткого замыкания
Форма записи на языке ST:
FB( DO_SC_FLAG => (*USINT*), DO_SC_EN => (*USINT*));
Примечание
Логическое состояние КЗ на дискретных каналах определяется как значение младшего полубайта
Блок READ_DO
ФБ READ_DO предоставляет информацию о состоянии дискретных выходов.
![]()
Выход
Тип
Описание
DO_OUT
USINT
Чтение значения состояния дискретных выходов
Форма записи на языке ST:
FB( DO_OUT => (*USINT*));
Примечание
Логическое состояние каналов определяется как значение младшего полубайта
Блок WRITE_DO
ФБ WRITE_DO согласно маске DO_MASK и подаче напряжений на соответствующие дискретные выхода DO_VALUE (выходы прописываются побитово).
![]()
Вход
Тип
Описание
DO_VALUE
UINT
Запись значения состояния дискретных выходов
DO_MASK
UINT
Запись маски, разрешающей изменять состояние дискретных выходов
Форма записи на языке ST:
FB( DO_VALUE := (*UINT*), DO_MASK := (*UINT*));
Примечание
Логическое состояние каналов определяется как значение младшего полубайта
Блок WRITE_DO_SC
ФБ WRITE_DO_SC устанавливает номера дискретных выходов, на которых включить программную защиту от КЗ и дискретные выхода на которых сработала программная защита от КЗ.
![]()
Вход
Тип
Описание
DO_SC_FLAG
UINT
Запись перечисления дискретных выходов, на которых сработала аппаратная защита от короткого замыкания (использовать только возможность сброса)
DO_SC_EN
UINT
Запись перечисления дискретных выходов, на которых сработала программная защита от короткого замыкания (использовать только возможность сброса)
Форма записи на языке ST:
FB( DO_SC_FLAG := (*UINT*), DO_SC_EN := (*UINT*));
Примечание
Логическое состояние КЗ на дискретных каналах определяется как значение младшего полубайта
Блок WRITE_DO_PWM_FREQ
ФБ WRITE_DO_PWM устанавливает ШИМ дискретных выходов в диапазоне от 0 до 10000 Гц.
![]()
Вход
Тип
Описание
DO_PWM_FREQ
UINT
Частота ШИМ подаваемая на каналы дискретных выходов, Гц
Форма записи на языке ST:
FB( DO_PWM_FREQ := (*UINT*));
Примечание
Значение PWM Frequency задается одно для всех каналов
Блок WRITE_DO_PWM_CTRL
ФБ WRITE_DO_PWM_CTRL устанавливает для выбранного дискретного выхода скважность сигнала. Указывается диапазон от 10 до 90%.
![]()
Вход
Тип
Описание
DO_NUMBER
USINT
Номер канала дискретного выхода ПЛК BRIC
DO_PWM_DUTY
UINT
Указание скважности канала
DO_PWM_RUN
BOOL
Включение ШИМ
Форма записи на языке ST:
FB( DO_NUMBER := (*USINT*), DO_PWM_DUTY := (*UINT*), DO_PWM_RUN := (*BOOL*));
SOFI Function blocks
Блок DWORD_TO_FLOAT
Данный ФБ преобразовывает значение типа данных DWORD в тип данных с плавающей точкой (float).
![]()
Вход
Тип
Описание
IN_VAL
DWORD
Входная переменная
Выход
Тип
Описание
OUT_VAL
REAL
Выходная переменная
Форма записи на языке ST:
FB( IN_VAL := (*DWORD*), OUT_VAL => (*REAL*));
Блок WORDS_TO_FLOAT
Данный ФБ преобразовывает значение двух типов данных WORD в тип данных с плавающей точкой (float).
![]()
Вход
Тип
Описание
WORDH
WORD
Входная переменная (старший байт)
WORDL
WORD
Входная переменная (младший байт)
Выход
Тип
Описание
OUT_VAL
REAL
Выходная переменная
Форма записи на языке ST:
FB( WORDH := (*WORD*), WORDL := (*WORD*), OUT_VAL => (*REAL*));
Блок PARSING_UINT
ФБ PARSING_UINT выводит значение входной переменной UINT в битах.
![]()
Вход
Тип
Описание
IN_VAL
UINT
Обрабатываемая переменная
Выход
Тип
Описание
BIT_1
BOOL
Вывод значения первого бита
BIT_2
BOOL
Вывод значения второго бита
BIT_3
BOOL
Вывод значения третьего бита
BIT_4
BOOL
Вывод значения четвертого бита
BIT_5
BOOL
Вывод значения пятого бита
BIT_6
BOOL
Вывод значения шестого бита
BIT_7
BOOL
Вывод значения седьмого бита
BIT_8
BOOL
Вывод значения восьмого бита
BIT_9
BOOL
Вывод значения девятого бита
BIT_10
BOOL
Вывод значения десятого бита
BIT_11
BOOL
Вывод значения одиннацатого бита
BIT_12
BOOL
Вывод значения двенадцатого бита
BIT_13
BOOL
Вывод значения тринадцатого бита
BIT_14
BOOL
Вывод значения четырнадцатого бита
BIT_15
BOOL
Вывод значения пятнадцатого бита
BIT_16
BOOL
Вывод значения шестнадцатого бита
Форма записи на языке ST:
FB( IN_VAL := (*UINT*), BIT_1 => (*BOOL*), BIT_2 => (*BOOL*), BIT_3 => (*BOOL*), BIT_4 => (*BOOL*), BIT_5 => (*BOOL*), BIT_6 => (*BOOL*), BIT_7 => (*BOOL*), BIT_8 => (*BOOL*), BIT_9 => (*BOOL*), BIT_10 => (*BOOL*), BIT_11 => (*BOOL*), BIT_12 => (*BOOL*), BIT_13 => (*BOOL*), BIT_14 => (*BOOL*), BIT_15 => (*BOOL*), BIT_16 => (*BOOL*));
Блок PARSING_USINT
ФБ PARSING_USINT выводит значение входной переменной USINT в битах.
![]()
Вход
Тип
Описание
IN_VAL
USINT
Обрабатываемая переменная
Выход
Тип
Описание
BIT_1
BOOL
Вывод значения первого бита
BIT_2
BOOL
Вывод значения второго бита
BIT_3
BOOL
Вывод значения третьего бита
BIT_4
BOOL
Вывод значения четвертого бита
BIT_5
BOOL
Вывод значения пятого бита
BIT_6
BOOL
Вывод значения шестого бита
BIT_7
BOOL
Вывод значения седьмого бита
BIT_8
BOOL
Вывод значения восьмого бита
Форма записи на языке ST:
FB( IN_VAL := (*USINT*), BIT_1 => (*BOOL*), BIT_2 => (*BOOL*), BIT_3 => (*BOOL*), BIT_4 => (*BOOL*), BIT_5 => (*BOOL*), BIT_6 => (*BOOL*), BIT_7 => (*BOOL*), BIT_8 => (*BOOL*));
Блок RES_TEMP_SENSOR
Данный ФБ выдает значение сопротивления и температуры датчиков ТСП.
![]()
Вход
Тип
Описание
VLT_V
REAL
Входное напряжение, В
CUR_MA
REAL
Входной ток, mA
SENSOR_TYPE
UINT
Тип сенсора, 0 - Pt, alpha = 0.00385; 1 - Pt, alpha = 0.00391; 2 - Cu, alpha = 0.00426
R_0
REAL
Номинальное сопротивление при 0°С, ОМ
R_WIRE
REAL
Cопротивление проводов, Ом
Выход
Тип
Описание
R_SENSE
REAL
Значение сопротивления датчика, Ом
T_SENSE
REAL
Значение сопротивления датчика, °С
Форма записи на языке ST:
FB( VLT_V := (*REAL*), CUR_MA := (*REAL*), SENSOR_TYPE := (*UINT*), R_0 := (*REAL*), R_WIRE := (*REAL*), R_SENSE => (*REAL*), T_SENSE => (*REAL*));
Блок ROUND_REAL
ФБ ROUND_REAL округляет значения входной переменной IN_REAL до DECIMAL_POINT знаков после запятой.
![]()
Вход
Тип
Описание
IN_REAL
REAL
Входное значение
DECIMAL_POINT
USINT
Количество знаков после запятой (0-4). По умолчанию - 0
Выход
Тип
Описание
OUT_REAL
REAL
Выходное значение
Форма записи на языке ST:
FB( IN_REAL := (*REAL*), DECIMAL_POINT := (*USINT*), OUT_REAL => (*REAL*));
Блок READ_PWR
ФБ READ_PWR предоставляет информацию о входном напряжении питания и напряжение батареи ПЛК.
![]()
Выход
Тип
Описание
V_PWR
REAL
Входное напряжение ПЛК
V_BAT
REAL
Напряжение батареи ПЛК
Форма записи на языке ST:
FB( V_PWR => (*REAL*), V_BAT => (*REAL*));
Блок READ_INTERNAL_TEMP
ФБ READ_INTERNAL_TEMP предоставляет информацию температуре микропроцессора ПЛК BRIC.
![]()
Выход
Тип
Описание
INTERNAL_TEMP_OUT
REAL
Показание температуры микропроцессора в ПЛК
Форма записи на языке ST:
FB( INTERNAL_TEMP_OUT => (*REAL*));
Блок READ_RESET
ФБ READ_RESET предоставляет информацию о количестве перезагрузок с момента обновления ОС ПЛК и причине последней перезагрузки.
![]()
Выход
Тип
Описание
RESET_NUM
UINT
Количество перезагрузок с момента обновления ОС ПЛК
LAST_RESET
UINT
Код причины последней перезагрузки
Форма записи на языке ST:
FB( RESET_NUM => (*UINT*), LAST_RESET => (*UINT*));
Блок READ_PARAM_UDINT/UINT/USINT
ФБ READ_PARAM_UDINT/UINT/USINT предоставляет информацию о регистре в зависимости от типа данных.
![]()
Вход
Тип
Описание
ENABLE
BOOL
Включение функционального блока
ADRESS
UDINT/UINT/USINT
Адрес необходимого регистра Guid в формате UDINT/UINT/USINT (U32/U16/U8)
Выход
Тип
Описание
CHECK
BOOL
Статус выхода
VALUE
UDINT/UINT/USINT
Значение регистра
Форма записи на языке ST:
FB( ENABLE := (*BOOL*), ADDRESS := (*UDINT*), CHECK => (*BOOL*), VALUE => (*UDINT*));
Блок READ_SYS_TICK_COUNTER
ФБ READ_SYS_TICK_COUNTER предоставляет информацию о времени работы ПЛК с момента последней перезагрузки указанной в мс.
![]()
Вход
Тип
Описание
SYS_TICK_COUNTER_VALUE
ULINT
Чтение времени выполнения с момента последнего сброса в мс.
Форма записи на языке ST:
FB( SYS_TICK_COUNTER_VALUE => (*ULINT*));
Блок READ_AREA_LOCATION
ФБ READ_AREA_LOCATION предоставляет информацию о регистре, определенным Modbus MemoryArea.
![]()
Выход
Тип
Описание
LOCATIONO
UINT
Номер нулевого элемента выборки MemoryArea
LOCATION1
UINT
Номер первого элемента выборки MemoryArea
LOCATION2
UINT
Номер второго элемента выборки MemoryArea
Выход
Тип
Описание
VALUE
WORD
Вывод регистра
LOCTION_READED
BOOL
Контрольный бит-статус
Форма записи на языке ST:
FB( LOCATION0 := (*UINT*), LOCATION1 := (*UINT*), LOCATION2 := (*UINT*), VALUE => (*WORD*), LOCATION_READED => (*BOOL*));
Блок READ_REQUEST_LOCATION
ФБ READ_REQUEST_LOCATION предоставляет информацию о регистре, определенным ModbusRequest.
![]()
Выход
Тип
Описание
LOCATIONO
UINT
Номер нулевого элемента выборки ModbusRequest
LOCATION1
UINT
Номер первого элемента выборки ModbusRequest
LOCATION2
UINT
Номер второго элемента выборки ModbusRequest
LOCATION3
UINT
Номер третьего элемента выборки ModbusRequest
Выход
Тип
Описание
VALUE
WORD
Вывод регистра
LOCTION_READED
BOOL
Контрольный бит-статус
Форма записи на языке ST:
FB( LOCATION0 := (*UINT*), LOCATION1 := (*UINT*), LOCATION2 := (*UINT*), LOCATION3 := (*UINT*), VALUE => (*WORD*), LOCATION_READED => (*BOOL*));
Блок SET_PARAM_UDINT/UINT/USINT
ФБ SET_PARAM_UDINT/UINT/USINT записывает данные в регистр в зависимости от типа данных.
![]()
Вход
Тип
Описание
ENABLE
BOOL
Включение функционального блока
ADRESS
UDINT/UINT/USINT
Адрес необходимого регистра Guid в формате UDINT/UINT/USINT (U32/U16/U8)
VALUE
UDINT/UINT/USINT
Значение регистра
Выход
Тип
Описание
CHECK
BOOL
Статус выхода
Форма записи на языке ST:
FB( ENABLE := (*BOOL*), ADDRESS := (*UDINT*), VALUE := (*UDINT*), CHECK => (*BOOL*));
Блок STRUCT_REAL_TIME
ФБ STRUCT_REAL_TIME позволяет считать время с ПЛК.
![]()
Выход
Тип
Описание
HOUR_TIME
USINT
Текущий час реального времени внутреннего определения
MINUTE_TIME
USINT
Текущая минута
SEC_TIME
USINT
Текущая секунда
SUB_SEC_TIME
USINT
Текущая миллисекунда
WEEK_DAY_TIME
USINT
Текущий день недели
MONTH_TIME
USINT
Текущий месяц
DATE_TIME
USINT
Текущий день месяца
YEAR_TIME
USINT
Текущий год
YEAR_DAY_TIME
UINT
Текущий день года
Форма записи на языке ST:
FB( HOUR_TIME => (*USINT*), MINUTE_TIME => (*USINT*), SEC_TIME => (*USINT*), SUB_SEC_TIME => (*USINT*), WEEK_DAY_TIME => (*USINT*), MONTH_TIME => (*USINT*), DATE_TIME => (*USINT*), YEAR_TIME => (*USINT*), YEAR_DAY_TIME => (*UINT*));
Блок WRITE_MDB_ADRESS
ФБ WRITE_MDB_ADRESS позволяет установить Modbus адрес ПЛК (от 1 до 247).
![]()
Вход
Тип
Описание
MDB_ADDR
UINT
Установление адреса по протоколу Modbus в ПЛК
Форма записи на языке ST:
FB( MDB_ADDR := (*UINT*));
Блок WRITE_UART_SETS
ФБ WRITE_UART_SETS предоставляtn возможность изменять параметры UART каналов записанных в формате U16.
![]()
Вход
Тип
Описание
MESO_UART
UINT
Запись параметров настройки интерфейса на канале Mesonin (доступ к порту только при вскрытии крышки ПЛК)
SET_RS_485_2
UINT
Запись параметров настройки интерфейса на канале RS–485–1
SET_RS_232
UINT
Запись параметров настройки интерфейса на канале RS–232
SET_RS_485_1
UINT
Запись параметров настройки интерфейса на канале RS–485–1
SET_RS_485_IMMO
UINT
Запись параметров настройки интерфейса на межмодульной шине
SET_HART
UINT
Запись параметров HART интерфейса на каналах AI
Форма записи на языке ST:
FB( MESO_UART := (*UINT*), SET_RS_485_2 := (*UINT*), SET_RS_232 := (*UINT*), SET_RS_485_1 := (*UINT*), SET_RS_485_IMMO := (*UINT*), SET_HART := (*UINT*));![]()
Структура изменения параметров UART каналов
Блок WRITE_CH_TIMEOUT
ФБ WRITE_CH_TIMEOUT изменяет время задержки UART каналов.
![]()
Вход
Тип
Описание
CH_NUMBER
USINT
Номер канала
CHANNEL_TIMEOUT
UDINT
Задержка
Форма записи на языке ST:
FB( CH_NUMBER := (*USINT*), CHANNEL_TIMEOUT := (*UDINT*));Примечание
Номер канала
Наименование UART канала
0
MESO_UART_UART
1
RS_485_2_UART
2
RS_232_UART
4
RS_485_1_UART
5
RS_485_IMMO_UART
6
HART_UART
Блок WRITE_STRUCT_TIME
ФБ WRITE_STRUCT_TIME устанавливает время на ПЛК, выхода функционального блока используются для проверки записанного времени.
![]()
Вход
Тип
Описание
SEC_IN_MIN
USINT
Ввод секунд
MINUTE_IN_HOUR
USINT
Ввод минут
HOUR_IN_DAY
USINT
Ввод часов
DATE_IN_MONTH
USINT
Ввод дня месяца
MONTH_IN_YEAR
USINT
Ввод месяца года
YEAR_SINCE_2000
USINT
Ввод года
Выход
Тип
Описание
SEC_IN_MIN_WRITED
USINT
Вывод присвоенного значения
MINUTE_IN_HOUR_WRITED
USINT
Вывод присвоенного значения
HOUR_IN_DAY_WRITED
USINT
Вывод присвоенного значения
DATE_IN_MONTH_WRITED
USINT
Вывод присвоенного значения
MONTH_IN_YEAR_WRITED
USINT
Вывод присвоенного значения
YEAR_SINCE_2000_WRITED
USINT
Вывод присвоенного значения
Форма записи на языке ST:
FB( SEC_IN_MIN := (*USINT*), MINUTE_IN_HOUR := (*USINT*), HOUR_IN_DAY := (*USINT*), DATE_IN_MONTH := (*USINT*), MONTH_IN_YEAR := (*USINT*), YEAR_SINCE_2000 := (*USINT*), SEC_IN_MIN_WRITED => (*USINT*), MINUTE_IN_HOUR_WRITED => (*USINT*), HOUR_IN_DAY_WRITED => (*USINT*), DATE_IN_MONTH_WRITED => (*USINT*), MONTH_IN_YEAR_WRITED => (*USINT*), YEAR_SINCE_2000_WRITED => (*USINT*));
Блок WRITE_AREA_LOCATION
ФБ WRITE_AREA_LOCATION изменяет значения регистров, определенных Modbus MemoryArea.
![]()
Выход
Тип
Описание
VALUE
WORD
Значение регистра
LOCATIONO
UINT
Номер нулевого элемента выборки MemoryArea
LOCATION1
UINT
Номер первого элемента выборки MemoryArea
LOCATION2
UINT
Номер второго элемента выборки MemoryArea
Выход
Тип
Описание
LOCTION_WRITED
BOOL
Контрольный бит-статус
Форма записи на языке ST:
FB( VALUE := (*WORD*), LOCATION0 := (*UINT*), LOCATION1 := (*UINT*), LOCATION2 := (*UINT*), LOCATION_WRITED => (*BOOL*));
Блок WRITE_REQUEST_LOCATION
ФБ WRITE_REQUEST_LOCATION изменяет значения регистров, определенных ModbusRequest.
![]()
Выход
Тип
Описание
VALUE
WORD
Значение регистра
LOCATIONO
UINT
Номер нулевого элемента выборки ModbusRequest
LOCATION1
UINT
Номер первого элемента выборки ModbusRequest
LOCATION2
UINT
Номер второго элемента выборки ModbusRequest
LOCATION3
UINT
Номер третьего элемента выборки ModbusRequest
Выход
Тип
Описание
LOCTION_WRITED
BOOL
Контрольный бит-статус
Форма записи на языке ST:
FB( VALUE := (*WORD*), LOCATION0 := (*UINT*), LOCATION1 := (*UINT*), LOCATION2 := (*UINT*), LOCATION3 := (*UINT*), LOCATION_WRITED => (*BOOL*));
Блок UNIX_TIME
ФБ UNIX_TIME устанавливает время на ПЛК (время указывается в мс.).
![]()
Вход
Тип
Описание
UNIX_TIME_WRITE
UDINT
Запись Unix time на ПЛК
Выход
Тип
Описание
UNIX_TIME_READ
UDINT
Unix time
UNIX_TIME_WRITED
UDINT
Последние записанное значени UNIX_TIME_WRITE
Примечание
Время задается в контроллер только по изменению UNIX_TIME_WRITE, начальное значение для сравнения 0. ФБ можно использовать для чтения UNIX time в нескольких местах программы, для этого UNIX_TIME_WRITE оставляем нулевым.
Форма записи на языке ST:
FB( UNIX_TIME_WRITE := (*UDINT*), UNIX_TIME_READ => (*UDINT*), UNIX_TIME_WRITED => (*UDINT*));
DI Functional blocks
Блок READ_DI
ФБ READ_DI предоставляет данные с дискретных входных каналов ПЛК записанного в одну переменную типа (UDINT) при этом 0 бит соответствует DI_0, а 15 бит DI_15.
![]()
Выход
Тип
Описание
DI_OUT
UDINT
Состояние дискретных входов ПЛК BRIC
Форма записи на языке ST:
FB( DI_OUT => (*UDINT*));
Блок READ_DI_CNT
ФБ READ_DI_CNT предоставляет значение счетчика дискретного входного канала ПЛК номер, которого прописан на входе блока.
![]()
Вход
Тип
Описание
DI_NUMBER
UINT
Номер исследуемого дискретного входа
Выход
Тип
Описание
DI_CNT_VALUE
ULINT
Значение счетчика дискретного входа
Форма записи на языке ST:
FB( DI_NUMBER := (*UINT*), DI_CNT_VALUE => (*ULINT*));
Блок READ_DI_FREQ
ФБ READ_DI_FREQ предоставляет значение частоты дискретного входного канала ПЛК, номер которого прописан на входе блока.
![]()
Вход
Тип
Описание
DI_NUMBER
UINT
Номер исследуемого дискретного входа
Выход
Тип
Описание
DI_FREQ_VALUE
ULINT
Значение частоты переключения дискретного входа
Форма записи на языке ST:
FB( DI_NUMBER := (*UINT*), DI_FREQ_VALUE => (*REAL*));
Блок WRITE_DI_NOISE_FLTR_10US
ФБ WRITE_DI_NOISE_FLTR_10US для указанного дискретного входа задается период нечувствительности импульса в диапазоне от 0 до 65512, при этом считается в десятках мс.
![]()
Вход
Тип
Описание
DI_NUMBER
UINT
Номер канала дискретного входа ПЛК BRIC
DI_NOISE_FLTR_VALUE_10US
UINT
Период, за который счетчик обнаруживает не более 1 импульса
Форма записи на языке ST:
FB( DI_NUMBER := (*UINT*), DI_NOISE_FLTR_VALUE_10US := (*UINT*));
Блок WRITE_DI_PULSELESS
ФБ WRITE_DI_PULSELESS для указанного дискретного входа задает период, за который ведется подсчет импульсов для расчета частоты
![]()
Вход
Тип
Описание
DI_NUMBER
UINT
Номер канала дискретного входа ПЛК BRIC
DI_PULSELESS_VALUE
UINT
Период, относительно которого рассчитывается частота канала
Форма записи на языке ST:
FB( DI_NUMBER := (*UINT*), DI_PULSELESS_VALUE := (*UDINT*));
Блок WRITE_DI_MODE
ФБ WRITE_DI_MODE для указанного дискретного входа обозначает подключенные опции (0– не подключены, 1– подключен счетчик импульсов, 2– подключен расчет частоты дискретного входа, 3– подключен счетчик импульсов и расчет частоты дискретного входа).
![]()
Вход
Тип
Описание
DI_NUMBER
UINT
Номер канала дискретного входа ПЛК BRIC
DI_MODE_VALUE
UINT
Код подключенных функций данного канала
Форма записи на языке ST:
FB( DI_NUMBER := (*UINT*), DI_MODE_VALUE := (*UINT*));
Standart function blocks
Блок SR
Данный ФБ представляет собой бистабильный SR–триггер, с доминирующим входом S (Set).
![]()
![]()
Вход
Тип
Описание
S1
BOOL
Вход (доминирующий)
R
BOOL
Сброс
Выход
Тип
Описание
Q1
BOOL
Выход становится «1», когда на вход S1 приходит «1». При переходе S1 в «0» сохраняется состояние. Выход Q1 возвращается в «0», когда вход R становится «1»
Форма записи на языке ST:
FB( S1 := (*BOOL*), R := (*BOOL*), Q1 => (*BOOL*));
Блок RS
Данный ФБ представляет собой бистабильный RS–триггер, с доминирующим входом R (Reset).
![]()
![]()
Вход
Тип
Описание
S
BOOL
Вход
R1
BOOL
Сброс (доминирующий)
Выход
Тип
Описание
Q1
BOOL
Выход становится «1», когда вход R1 становится «0». При переходе R1 в «0» сохраняется состояние. Выход Q1 возвращается в «1», когда вход S становится «1»
Форма записи на языке ST:
FB( S := (*BOOL*), R1 := (*BOOL*), Q1 => (*BOOL*));
Блок SEMA
Данный ФБ представляет собой семафор, определяющий механизм, позволяющий элементам программы иметь взаимоисключающий доступ к определенным ресурсам.
![]()
Вход
Тип
Описание
CLAIM
BOOL
Вход (доминирующий)
RELEASE
BOOL
Сброс
Выход
Тип
Описание
BUSY
BOOL
Выход активируетс при CLAIM = 1 и деактивируется при RELEASE = 1
Форма записи на языке ST:
FB( CLAIM := (*BOOL*), RELEASE := (*BOOL*), BUSY => (*BOOL*));Блок-схема SEMA
![]()
Блок R–TRIG
Данный ФБ представляет собой индикатор нарастания фронта, который генерирует на выходе одиночный импульс при нарастании фронта сигнала.
![]()
Вход
Тип
Описание
CLK
BOOL
Вход
Выход
Тип
Описание
Q
BOOL
Выход генерирует единичный импульс, если на входе передний фронт
Форма записи на языке ST:
FB( CLK := (*BOOL*), Q => (*BOOL*));Блок-схема R-TRIG
![]()
Блок F–TRIG
Данный ФБ представляет собой индикатор спада фронта, который генерирует на выходе одиночный импульс при спаде фронта сигнала.
![]()
Вход
Тип
Описание
CLK
BOOL
Вход
Выход
Тип
Описание
Q
BOOL
Выход генерирует единичный импульс, если на входе задний фронт
Форма записи на языке ST:
FB( CLK := (*BOOL*), Q => (*BOOL*));Блок-схема F-TRIG
![]()
Блок CTU/CTU_DINT…
Данный ФБ представляет собой инкрементный счётчик.
![]()
Вход
Тип
Описание
CU
BOOL
Подача импульса
R
BOOL
Сброс
PV
ANY_INT
Предел счета
Выход
Тип
Описание
Q
BOOL
Принимает значение „TRUE“ когда CV >= PV
CV
ANY_INT
Считает количество импульсов (CV = CV + 1) пока Q = 0
Примечание
Счетчик работает только до достижения максимального значения используемого типа данных. Переполнения не происходит.
Форма записи на языке ST:
FB( CU := (*BOOL*), R := (*BOOL*), PV := (*DINT*), Q => (*BOOL*), CV => (*DINT*));Блок-схема CTU
![]()
Примечание
PV не включает тип данных USINT, SINT.
Блок CTD/CTD_DINT…
Данный ФБ представляет собой декрементный счётчик.
![]()
Вход
Тип
Описание
CD
BOOL
Подача импульса
LD
BOOL
Сброс
PV
ANY_INT
Предел импульсов
Выход
Тип
Описание
Q
BOOL
Принимает значение „TRUE“ когда CV = 0
CV
ANY_INT
Считает количество импульсов (CV = CV – 1) пока Q = 0
Примечание
Счетчик работает только до достижения минимального значения используемого типа данных. Переполнения не происходит.
Форма записи на языке ST:
FB( CD := (*BOOL*), LD := (*BOOL*), PV := (*INT*), Q => (*BOOL*), CV => (*INT*));Блок-схема CTD
![]()
Блок CTUD/CTUD_DINT…
Данный ФБ представляет собой реверсивный счётчик.
![]()
Вход
Тип
Описание
CU
BOOL
Подача импульса
CD
BOOL
Подача импульса
R
BOOL
Сброс до 0
LD
BOOL
Сброс до PV
PV
ANY_INT
Верхний предел импульсов
Выход
Тип
Описание
QU
BOOL
Принимает значение „TRUE“ когда CV >= PV
QD
BOOL
Принимает значение „TRUE“ когда CV = 0
CD_T
R_TRIG
(в существующей версии не применяется)
CU_T
R_TRIG
(в существующей версии не применяется)
Примечание
Вычитающий счетчик работает только до достижения минимального значения используемого типа данных, суммирующий счетчик работает только до достижения максимального значения используемого типа данных. Переполнения не происходит.
Форма записи на языке ST:
FB( CU := (*BOOL*), CD := (*BOOL*), R := (*BOOL*), LD := (*BOOL*), PV := (*INT*), QU => (*BOOL*), QD => (*BOOL*), CV => (*INT*), CD_T => (*R_TRIG*), CU_T => (*R_TRIG*));Блок-схема CTUD
![]()
Блок TP
Данный ФБ представляет собой повторитель импульсов и используется для генерирования импульса с заданной продолжительностью.
![]()
Вход
Тип
Описание
IN
BOOL
Подача импульса
PT
TIME
Время одного импульса
Выход
Тип
Описание
Q
BOOL
Выход (пока ET < PT, Q = „TRUE“)
ET
TIME
Пока IN = 1 и ET < PT идет счет времени ET
Форма записи на языке ST:
FB( IN := (*BOOL*), PT := (*TIME*), Q => (*BOOL*), ET => (*TIME*));Блок-схема TP
![]()
Блок TON
Данный ФБ представляет собой таймер с задержкой включения.
![]()
Вход
Тип
Описание
IN
BOOL
Подача импульса
PT
TIME
Время задержки
Выход
Тип
Описание
Q
BOOL
Если ET = PV и IN = 1, то Q = 1, иначе Q = 0
ET
TIME
Счетчик времени считает пока ET < PV и IN = 1
Форма записи на языке ST:
FB( IN := (*BOOL*), PT := (*TIME*), Q => (*BOOL*), ET => (*TIME*));Блок-схема TON
![]()
Блок TOF
Данный ФБ представляет собой таймер с задержкой отключения.
![]()
Вход
Тип
Описание
IN
BOOL
Подача импульса
PT
TIME
Время задержки
Выход
Тип
Описание
Q
BOOL
Если ET = PV и IN = 1, то Q = 1, иначе Q = 0
ET
TIME
Счетчик времени считает пока ET < PV и IN = 1
Форма записи на языке ST:
FB( IN := (*BOOL*), PT := (*TIME*), Q => (*BOOL*), ET => (*TIME*));Блок-схема TOF
![]()
Additional Functional blocks
Блок RTC
Данный ФБ представляет собой часы реального времени и имеет много вариантов использования, включая добавление временных отметок, для установки даты и времени в формируемых отчетах, в аварийных сообщениях и т.д.
![]()
Вход
Тип
Описание
IN
BOOL
Переключение режима
PDT
TIME
Время начала работы
Выход
Тип
Описание
Q
BOOL
Индикация режима
CDT
DT
Вывод времени
Форма записи на языке ST:
FB( IN := (*BOOL*), PDT := (*DT*), Q => (*BOOL*), CDT => (*DT*));Блок-схема RTC
![]()
Блок INTEGRAL
ФБ интегрирует входное значение XIN по времени.
![]()
Вход
Тип
Описание
RUN
BOOL
Включение блока
R1
BOOL
Сброс (XOUT = X0)
XIN
REAL
Интегрируемое значение
X0
REAL
Начальное значение XOUT
CYCLE
TIME
Время интегрирования
Выход
Тип
Описание
Q
BOOL
Q = 1, если R1 = 0
XOUT
REAL
Выход (интегрирует входное значение XIN во времени) (XOUT = X0 * CYCLE (количество тактов при RUN = 1))
Форма записи на языке ST:
FB( RUN := (*BOOL*), R1 := (*BOOL*), XIN := (*REAL*), X0 := (*REAL*), CYCLE := (*TIME*), Q => (*BOOL*), XOUT => (*REAL*));Блок-схема INTEGRAL
![]()
Блок DERIVATIVE
ФБ выдаёт значение XOUT пропорционально скорости изменения входного параметра XIN.
![]()
Вход
Тип
Описание
RUN
BOOL
Включение блока
XIN
REAL
Вход
CYCLE
TIME
Время дифференцирования
Выход
Тип
Описание
XOUT
REAL
Формирование сигнала пропорционально частоте изменения входа XIN
Форма записи на языке ST:
FB( RUN := (*BOOL*), XIN := (*REAL*), CYCLE := (*TIME*), XOUT => (*REAL*));Блок-схема DERIVATIVE
![]()
Блок PID
Данный ФБ представляет собой устройство в цепи обратной связи, используемое в системах автоматического управления для формирования управляющего сигнала
![]()
Вход
Тип
Описание
AUTO
BOOL
Включение режима ПИД-регулятора (0 - ручное регулирование, 1 - автоматическое)
DIR
BOOL
Направление регулирования ( 0 - обратное регулирование, 1 - прямое. По умолчанию стоит прямое регулирование)
PV
REAL
Входной сигнал (автоматический режим)
SP
REAL
Заданное значение (уставка в автоматическом режиме)
X0
REAL
Заданное значение (уставка в ручном режиме)
KP
REAL
Пропорциональный коэффициент
TR
REAL
Интегральный коэффициент
TD
REAL
Дифференциальный коэффициент
CYCLE
TIME
Время цикла
Выход
Тип
Описание
XOUT
REAL
Выход ПИД-регулятора
Форма записи на языке ST:
FB( AUTO := (*BOOL*), DIR := (*BOOL*), PV := (*REAL*), SP := (*REAL*), X0 := (*REAL*), KP := (*REAL*), TR := (*REAL*), TD := (*REAL*), CYCLE := (*TIME*), XOUT => (*REAL*));Блок-схема PID
![]()
Блок RAMP
![]()
Вход
Тип
Описание
RUN
BOOL
Включение блока
X0
REAL
Начало отсчета
X1
REAL
Конечное значение
TR
TIME
Время перехода
CYCLE
TIME
Время интегрирования
Выход
Тип
Описание
BUSY
BOOL
BUSY = 1, если значения XOUT меняются
XOUT
REAL
Если RUN = 1, то пока XOUT < X1 XOUT = X1*CYCLE*t/TR + X0 иначе XOUT = X0
Форма записи на языке ST:
FB( RUN := (*BOOL*), X0 := (*REAL*), X1 := (*REAL*), TR := (*TIME*), CYCLE := (*TIME*), BUSY => (*BOOL*), XOUT => (*REAL*));Блок-схема RAMP
![]()
AI Functional blocks
Блок READ_AI_STATE
ФБ READ_AI_STATE показывает информацию о состоянии аналогового входа.
![]()
Выход
Тип
Описание
AI_STATE_VALUE
UINT
Состояние канала. Логическая 1 – измеренное значение тока лежит в диапазоне 4 - 20 мА, логический 0 – измеренное значение ниже 4 мА либо выше 20 мА.
Форма записи на языке ST:
FB( AI_STATE_VALUE => (*UINT*));
Блок READ_AI
ФБ READ_AI выводит значение аналогового входного канала ПЛК, номер которого прописан на входе блока.
![]()
Вход
Тип
Описание
AI_NUMBER
UINT
Номер канала
Выход
Тип
Описание
AI_VALUE
UINT
Показание аналогового канала по шкале 0 – 16383, которая соответствует шкале принимаемого унифицированного сигнала
Форма записи на языке ST:
FB( AI_NUMBER := (*UINT*), AI_VALUE => (*UINT*));
Блок READ_AI_REAL
ФБ READ_AI_REAL выводит значение аналогового входного канала ПЛК в мА, номер которого прописан на входе блока.
![]()
Вход
Тип
Описание
AI_NUMBER
UINT
Номер канала
Выход
Тип
Описание
AI_VALUE
REAL
Показание аналогового канала в мА
Форма записи на языке ST:
FB( AI_NUMBER := (*UINT*), AI_VALUE => (*REAL*));
Type conversion
Блок *_TO_*
Данный ФБ предназначен для всех возможных и корректных, согласно стандарту IEC 61131–3, преобразований между типами данных.
![]()
Вход
Тип
Описание
IN
…
Преобразуемая информация
Выход
Тип
Описание
OUT
…
Преобразованная информация
Форма записи на языке ST:
ANY_TO_ANY( IN := (*ANY*), OUT => (*ANY*));
Перечисление блоков преобразования типов Тип
Описание
REAL_TO_*
Преобразование REAL в остальные типы данных
SINT_TO_*
Преобразование SINT в остальные типы данных
LINT_TO_*
Преобразование LINT в остальные типы данных
DINT_TO_*
Преобразование DINT в остальные типы данных
DATE_TO_*
Преобразование DATE в остальные типы данных
DWORD_TO_*
Преобразование DWORD в остальные типы данных
DT_TO_*
Преобразование DT в остальные типы данных
TOD_TO_*
Преобразование TOD в остальные типы данных
UDINT_TO_*
Преобразование UDINT в остальные типы данных
WORD_TO_*
Преобразование WORD в остальные типы данных
STRING_TO_*
Преобразование STRING в остальные типы данных
LWORD_TO_*
Преобразование LWORD в остальные типы данных
UINT_TO_*
Преобразование UINT в остальные типы данных
LREAL_TO_*
Преобразование LREAL в остальные типы данных
BYTE_TO_*
Преобразование BYTE в остальные типы данных
USINT_TO_*
Преобразование USINT в остальные типы данных
ULINT_TO_*
Преобразование ULINT в остальные типы данных
BOOL_TO_*
Преобразование BOOL в остальные типы данных
TIME_TO_*
Преобразование TIME в остальные типы данных
INT_TO_*
Преобразование INT в остальные типы данных
Numerical
Блок ABS
Данный ФБ возвращает в OUT модуль входного числа IN.
![]()
Вход
Тип
Описание
IN
ANY_NUM
Вход
Выход
Тип
Описание
OUT
ANY_NUM
Выход (модуль числа)
Форма записи на языке ST:
ABS( IN := (*ANY_NUM*), OUT => (*ANY_NUM*));
Блок SQRT
Данный ФБ возвращает в OUT квадратный корень входного числа IN.
![]()
Вход
Тип
Описание
IN
ANY_REAL
Вход
Выход
Тип
Описание
OUT
ANY_REAL
Выход (корень числа)
Форма записи на языке ST:
SQRT( IN := (*ANY_REAL*), OUT => (*ANY_REAL*));
Блок LN
Данный ФБ возвращает в OUT значение натурального логарифма от IN.
![]()
Вход
Тип
Описание
IN
ANY_REAL
Вход
Выход
Тип
Описание
OUT
ANY_REAL
Выход (натуральный логарифм числа)
Форма записи на языке ST:
LN( IN := (*ANY_REAL*), OUT => (*ANY_REAL*));
Блок LOG
Данный ФБ возвращает в OUT значение логарифма по основанию 10 от IN.
![]()
Вход
Тип
Описание
IN
ANY_REAL
Вход
Выход
Тип
Описание
OUT
ANY_REAL
Выход (логарифм числа)
Форма записи на языке ST:
LOG( IN := (*ANY_REAL*), OUT => (*ANY_REAL*));
Блок EXP
Данный ФБ возвращает в OUT значение экспоненты, возведённой в степень IN.
![]()
Вход
Тип
Описание
IN
ANY_REAL
Вход
Выход
Тип
Описание
OUT
ANY_REAL
Выход (экспонента числа)
Форма записи на языке ST:
EXP( IN := (*ANY_REAL*), OUT => (*ANY_REAL*));
Блок SIN
Данный ФБ возвращает в OUT значение синуса IN.
![]()
Вход
Тип
Описание
IN
ANY_REAL
Вход
Выход
Тип
Описание
OUT
ANY_REAL
Выход (синус числа)
Форма записи на языке ST:
SIN( IN := (*ANY_REAL*), OUT => (*ANY_REAL*));
Блок COS
Данный ФБ возвращает в OUT значение косинуса IN.
![]()
Вход
Тип
Описание
IN
ANY_REAL
Вход
Выход
Тип
Описание
OUT
ANY_REAL
Выход (косинус числа)
Форма записи на языке ST:
COS( IN := (*ANY_REAL*), OUT => (*ANY_REAL*));
Блок TAN
Данный ФБ возвращает в OUT значение тангенса IN.
![]()
Вход
Тип
Описание
IN
ANY_REAL
Вход
Выход
Тип
Описание
OUT
ANY_REAL
Выход (тангенс числа)
Форма записи на языке ST:
TAN( IN := (*ANY_REAL*), OUT => (*ANY_REAL*));
Блок ASIN
Данный ФБ возвращает в OUT значение арксинуса IN.
![]()
Вход
Тип
Описание
IN
ANY_REAL
Вход
Выход
Тип
Описание
OUT
ANY_REAL
Выход (арксинус числа)
Форма записи на языке ST:
ASIN( IN := (*ANY_REAL*), OUT => (*ANY_REAL*));
Блок ACOS
Данный ФБ возвращает в OUT значение арккосинуса IN.
![]()
Вход
Тип
Описание
IN
ANY_REAL
Вход
Выход
Тип
Описание
OUT
ANY_REAL
Выход (арккосинус числа)
Форма записи на языке ST:
ACOS( IN := (*ANY_REAL*), OUT => (*ANY_REAL*));Блок-схема ACOS
Блок ATAN
Данный ФБ возвращает в OUT значение арктангенса IN.
![]()
Вход
Тип
Описание
IN
ANY_REAL
Вход
Выход
Тип
Описание
OUT
ANY_REAL
Выход (арктангенс числа)
Форма записи на языке ST:
ATAN( IN := (*ANY_REAL*), OUT => (*ANY_REAL*));
Arithmetic
Блок ADD
Данный ФБ возвращает в OUT результат сложения IN1 и IN2.
![]()
Вход
Тип
Описание
IN1
ANY_NUM
Вход
IN2
ANY_NUM
Вход
Выход
Тип
Описание
OUT
ANY_NUM
Выход (сложение)
Форма записи на языке ST:
ADD( IN1 := (*ANY_NUM*), IN2 := (*ANY_NUM*), OUT => (*ANY_NUM*));
Блок MUL
Данный ФБ возвращает в OUT результат умножения IN1 и IN2.
![]()
Вход
Тип
Описание
IN1
ANY_NUM
Вход
IN2
ANY_NUM
Вход
Выход
Тип
Описание
OUT
ANY_NUM
Выход (умножение)
Форма записи на языке ST:
MUL( IN1 := (*ANY_NUM*), IN2 := (*ANY_NUM*), OUT => (*ANY_NUM*));
Блок SUB
Данный ФБ возвращает в OUT результат вычитания из IN1 значения IN2.
![]()
Вход
Тип
Описание
IN1
ANY_NUM
Вход
IN2
ANY_NUM
Вход
Выход
Тип
Описание
OUT
ANY_NUM
Выход (разность)
Форма записи на языке ST:
SUB( IN1 := (*ANY_NUM*), IN2 := (*ANY_NUM*), OUT => (*ANY_NUM*));
Блок DIV
Данный ФБ возвращает в OUT результат деления IN1 на IN2.
![]()
Вход
Тип
Описание
IN1
ANY_NUM
Вход (делитель)
IN2
ANY_NUM
Вход (делитель)
Выход
Тип
Описание
OUT
ANY_NUM
Выход (деление)
Форма записи на языке ST:
DIV( IN1 := (*ANY_NUM*), IN2 := (*ANY_NUM*), OUT => (*ANY_NUM*));
Блок MOD
Данный ФБ возвращает в OUT остаток от деления IN1 на IN2.
![]()
Вход
Тип
Описание
IN1
ANY_INT
Вход (делимое)
IN2
ANY_INT
Вход (делитель)
Выход
Тип
Описание
OUT
ANY_INT
Выход (остаток от деления)
Форма записи на языке ST:
MOD( IN1 := (*ANY_INT*), IN2 := (*ANY_INT*), OUT => (*ANY_INT*));
Блок EXPT
Данный ФБ возвращает в OUT значение IN1 возведённое в степень IN2.
![]()
Вход
Тип
Описание
IN1
ANY_REAL
Вход
IN2
ANY_NUM
Вход (степень)
Выход
Тип
Описание
OUT
ANY_REAL
Выход (число в степени)
Форма записи на языке ST:
EXPT( IN1 := (*ANY_REAL*), IN2 := (*ANY_NUM*), OUT => (*ANY_REAL*));
Блок MOVE
Данный ФБ возвращает в OUT значение IN.
![]()
Вход
Тип
Описание
IN
ANY
Вход
Выход
Тип
Описание
OUT
ANY
Выход (присваивание)
Форма записи на языке ST:
MOVE( IN := (*ANY*), OUT => (*ANY*));
Bit-shift
Блок SHL
Данный ФБ возвращает в OUT арифметический сдвиг аргумента IN на N бит влево с заполнением битов справа нулями.
![]()
Вход
Тип
Описание
IN1
ANY_BIT
Вход
IN2
ANY_INT
Количество сдвигов влево
Выход
Тип
Описание
OUT
ANY_BIT
Выход
Форма записи на языке ST:
SHL( IN := (*ANY_BIT*), N := (*ANY_INT*), OUT => (*ANY_BIT*));Блок-схема SHL 3
![]()
- 3
IN1 Тип переменной выхода должен соответствовать типу переменной входа. У OUT нет возможности использования переменных типа BOOL.
Блок SHR
Данный ФБ возвращает в OUT арифметический сдвиг аргумента IN на N бит вправо с заполнением битов слева нулями.
![]()
Вход
Тип
Описание
IN1
ANY_BIT
Вход
IN2
ANY_INT
Количество сдвигов вправо
Выход
Тип
Описание
OUT
ANY_BIT
Выход
Форма записи на языке ST:
SHR( IN := (*ANY_BIT*), N := (*ANY_INT*), OUT => (*ANY_BIT*));Блок-схема SHR 4
![]()
- 4
IN1 Тип переменной выхода должен соответствовать типу переменной входа. У OUT нет возможности использования переменных типа BOOL.
Блок ROR
Данный ФБ возвращает в OUT циклический сдвиг аргумента IN на N бит влево.
![]()
Вход
Тип
Описание
IN1
ANY_BIT
Вход
IN2
ANY_INT
Количество сдвигов вправо
Выход
Тип
Описание
OUT
ANY_BIT
Выход
Форма записи на языке ST:
ROR( IN := (*ANY_NBIT*), N := (*ANY_INT*), OUT => (*ANY_NBIT*));Блок-схема ROR 5
![]()
- 5
IN1 Тип переменной выхода должен соответствовать типу переменной входа. У OUT нет возможности использования переменных типа BOOL.
Блок ROL
Данный ФБ возвращает в OUT циклический сдвиг аргумента IN на N бит вправо.
![]()
Вход
Тип
Описание
IN1
ANY_BIT
Вход
IN2
ANY_INT
Количество сдвигов влево
Выход
Тип
Описание
OUT
ANY_BIT
Выход
Форма записи на языке ST:
ROL( IN := (*ANY_NBIT*), N := (*ANY_INT*), OUT => (*ANY_NBIT*));Блок-схема ROL 6
![]()
- 6
IN1 Тип переменной выхода должен соответствовать типу переменной входа. У OUT нет возможности использования переменных типа BOOL.
Bitwise
Блок AND
Блок OR
Блок XOR
Данный ФБ представляет собой организацию «логического исключающего ИЛИ» для всех входных аргументов IN1…INn.
![]()
Вход
Тип
Описание
IN1
ANY_BIT
Вход
IN2
ANY_BIT
Вход
Выход
Тип
Описание
OUT
ANY_BIT
Выход
Форма записи на языке ST:
XOR( IN1 := (*ANY_BIT*), IN2 := (*ANY_BIT*), OUT => (*ANY_BIT*));Блок-схема XOR
![]()
Блок NOT
Данный ФБ представляет собой организацию «логической инверсии» для входного аргумента IN.
![]()
Вход
Тип
Описание
IN
ANY_BIT
Вход
Выход
Тип
Описание
OUT
ANY_BIT
Выход (инверсия)
Форма записи на языке ST:
NOT( IN := (*ANY_BIT*), OUT => (*ANY_BIT*));
Selection
Блок SEL
Данный ФБ возвращает в OUT один из двух аргументов IN1 или IN2 в зависимости от значения аргумента G.
![]()
Вход
Тип
Описание
G
BOOL
Номер входа
IN0
ANY
Вход 1
IN1
ANY
Вход 2
Выход
Тип
Описание
OUT
ANY
Выход
Форма записи на языке ST:
SEL( G := (*BOOL*), IN0 := (*ANY*), IN1 := (*ANY*), OUT => (*ANY*));Блок-схема SEL
![]()
Блок MAX
Блок MIN
Блок LIMIT
Данный ФБ возвращает в OUT значение входного аргумента IN, в случае превышения им значения MX – в OUT возвращается MX, в случае если IN меньше MN – в OUT возвращается MN.
![]()
Вход
Тип
Описание
MN
ANY
Вход (нижний предел)
IN
ANY
Вход
MX
ANY
Вход (верхний предел)
Выход
Тип
Описание
OUT
ANY
Выход
Форма записи на языке ST:
LIMIT( MN := (*ANY*), IN := (*ANY*), MX := (*ANY*), OUT => (*ANY*));Блок-схема LIMIT
![]()
Блок MUX
Данный ФБ возвращает в OUT значение на входе IN(K), в зависимости от входного K. Количество входов IN(n) изменяемое – от 2 до 20. По умолчанию 2.
![]()
Вход
Тип
Описание
K
ANY_INT
Переключатель
IN0
ANY
Вход 1
IN1
ANY
Вход 2
…
ANY
Вход …
Выход
Тип
Описание
OUT
ANY
Выход
Форма записи на языке ST:
MUX( K := (*ANY_INT*), IN0 := (*ANY*), IN1 := (*ANY*), OUT => (*ANY*));Блок-схема MUX
![]()
Comparsion
Блок GT
Данный ФБ сравнивает все входные аргументы и выдаёт на выходе OUT значение True, если выполнится следующее условие: (IN1 > IN2) & (IN2 > IN3) & … (INn–1 > INn), в противном случае в OUT выдаётся False. Количество входов IN(n) изменяемое – от 2 до 20. По умолчанию 2.
![]()
Вход
Тип
Описание
IN1
ANY
Вход 1
IN2
ANY
Вход 2
…
ANY
Вход …
Выход
Тип
Описание
OUT
BOOL
Выход
Форма записи на языке ST:
GT( IN1 := (*ANY*), IN2 := (*ANY*), OUT => (*BOOL*));Блок-схема GT
![]()
Блок GE
Данный ФБ сравнивает все входные аргументы и выдаёт на выходе OUT значение True, если выполнится следующее условие: (IN1 >= IN2) & (IN2 >= IN3) &… (INn–1 >= INn), в противном случае в OUT выдаётся False. Количество входов IN(n) изменяемое – от 2 до 20. По умолчанию 2.
![]()
Вход
Тип
Описание
IN1
ANY
Вход 1
IN2
ANY
Вход 2
…
ANY
Вход …
Выход
Тип
Описание
OUT
BOOL
Выход
Форма записи на языке ST:
GE( IN1 := (*ANY*), IN2 := (*ANY*), OUT => (*BOOL*));Блок-схема GE
![]()
Блок EQ
Данный ФБ сравнивает все входные аргументы и выдаёт на выходе OUT значение True, если выполнится следующее условие: (IN1 = IN2) & (IN2 = IN3) & … (INn–1 = INn), в противном случае в OUT выдаётся False. Количество входов IN(n) изменяемое – от 2 до 20. По умолчанию 2.
![]()
Вход
Тип
Описание
IN1
ANY
Вход 1
IN2
ANY
Вход 2
…
ANY
Вход …
Выход
Тип
Описание
OUT
BOOL
Выход
Форма записи на языке ST:
EQ( IN1 := (*ANY*), IN2 := (*ANY*), OUT => (*BOOL*));Блок-схема EQ
![]()
Блок LT
Данный ФБ сравнивает все входные аргументы и выдаёт на выходе OUT значение True, если выполнится следующее условие: (IN1 < IN2) & (IN2 < IN3) & … (INn–1 < INn), в противном случае в OUT выдаётся False. Количество входов IN(n) изменяемое – от 2 до 20. По умолчанию 2.
![]()
Вход
Тип
Описание
IN1
ANY
Вход 1
IN2
ANY
Вход 2
…
ANY
Вход …
Выход
Тип
Описание
OUT
BOOL
Выход
Форма записи на языке ST:
LT( IN1 := (*ANY*), IN2 := (*ANY*), OUT => (*BOOL*));Блок-схема LT
![]()
Блок LE
Данный ФБ сравнивает все входные аргументы и выдаёт на выходе OUT значение True, если выполнится следующее условие: (IN1 <= IN2) & (IN2 <= IN3) & … (INn–1 <= INn), в противном случае в OUT выдаётся False. Количество входов IN(n) изменяемое – от 2 до 20. По умолчанию 2.
![]()
Вход
Тип
Описание
IN1
ANY
Вход 1
IN2
ANY
Вход 2
…
ANY
Вход …
Выход
Тип
Описание
OUT
BOOL
Выход
Форма записи на языке ST:
LE( IN1 := (*ANY*), IN2 := (*ANY*), OUT => (*BOOL*));Блок-схема LE
![]()
Блок NE
Данный ФБ сравнивает все входные аргументы и выдаёт на выходе OUT значение True, если выполнится следующее условие: (IN1 <> IN2) & (IN2 <> IN3) &… (INn–1 <> INn), в противном случае в OUT выдаётся False. Количество входов IN(n) изменяемое – от 2 до 20. По умолчанию 2.
![]()
Вход
Тип
Описание
IN1
ANY
Вход 1
IN2
ANY
Вход 2
…
ANY
Вход …
Выход
Тип
Описание
OUT
BOOL
Выход
Форма записи на языке ST:
NE( IN1 := (*ANY*), IN2 := (*ANY*), OUT => (*BOOL*));Блок-схема NE
![]()
BRIC FB
Функция TASK_PERIOD
Данная фунцкия выводит информацию о цикле программы в миллисекундах.
![]()
Вход
Тип
Описание
IN
STRING
Выбор цикла из ресурсов
Выход
Тип
Описание
OUT
UDINT
Вывод цикла в мс
Примечание
Наименование для IN должно совпадать с наименованием цикла в ресурсах, а также должен быть объявлен локально.
Форма записи на языке ST:
TASK_PERIOD( IN := (*STRING*), OUT => (*UDINT*));






































