Функция выполняет отправку данных через последовательный интерфейс (настройка Интерфейс). Для отправки берутся данные из TXD буфера в диапазоне от 0
до send_size - 1
.
Далее функция ожидает ответ в течение времени (настройка Таймаут) или пока в RXD буфер не поступят данные длиной >= require_size
.
Для работы функции, в конфигурации устройства должен быть настроен соответствующий интерфейс:
Конфигурация > RS-232/RS-485 > Устройство X > Сomplex Events (транзакция).
В меню функций | На схеме |
---|---|
![]() |
![]() |
Название | Тип значения | Описание |
---|---|---|
start |
bool | Если True, функция пытается начать транзакцию |
send_size |
int32 | Размер массива данных из TXD буфера, для отправки. |
require_size |
int32 | Размер ожидаемого ответа |
Название | Тип значения | Описание |
---|---|---|
ended |
bool | Сигнал завершения транзакции. Сигнал не устанавливается, если интерфейс не настроен ( state = -1 ). |
state |
int32 | Состояние транзакции: 0 – нет активности; 1 – ожидание доступа к интерфейсу; 2 – доступ к интерфейсу получен; 3 – транзакция в процессе; 4 – транзакция завершена успешно; -1 – интерфейс недоступен (не настроен); -2 – истек таймаут ожидания ответа; -3 – неизвестная ошибка. |
recv_size |
int32 | Размер полученного массива данных. Полученные данные сразу помещаются в RXD буфер. |
Название | Описание |
---|---|
Интерфейс | Цифровой интерфейс, которым управляет функция. Если выбранный интерфейс не настроен, то функция сформирует ошибку state = -1 . |
Таймаут | Время, в течение которого после отправки данных функция ожидает ответ. Если за отведенное время получено количество байт <= require size , то транзакция завершается с ошибкой state = -2 . |