COMPortByte

<< Click to Display Table of Contents >>

Navigation:  Проект в MasterSCADA 4D > Дерево библиотек > Библиотека BaseObjects > BaseObjects.ФБ.Системные > Работа с COM >

COMPortByte

Функциональный блок COMPortByte служит для работы с COM-портом устройства (с данными типа ARRAY [*] of BYTE), на котором установлена среда исполнения. Данный ФБ обеспечивает отправку сообщения и ожидание получения ответа.

Важно! Для возможности работы c ФБ COMPortByte в исполнительную систему должна входить опция MSRT4D-COMCreate. Данная опция включена в базовый функционал лицензий Standard, Professional и Enterprise.

Этот функциональный блок может использоваться как самостоятельно, вне программ, так и в составе любой программы.

Важно! Для корректной работы функционального блока необходимо добавить протокол Универсальный протокол COM порта. На вход функционального блока нужно подать номер COM-порта, который настроен в протоколе. При работе функциональный блок будет использовать настройки (скорость, четность и др), указанные в протоколе.

Находится в библиотеке BaseObjects.

Вид в дереве

Вид в редакторе FBD

COMPortByte

COMPortByte_1

Входы и выходы ФБ:

Название

Тип

Назначение

Входы

Port

DINT

Задается номер COM-порта протокола, в задаче  которого должен работать данный блок.

Timeout

DINT

Задаётся время ожидания ответа. По умолчанию установлено значение 1000. Если пользователю не нужен ответ, то необходимо установить значение 0.

Например, если ожидается получить ответ, состоящий из 10 байт, то значение входа MaxResponseCount также должно быть установлено на 10. Если установить значение входа MaxResponseCount больше, чем ожидаемый размер ответа, то в противном случае система будет продолжать ожидать получения дополнительных символов до завершения времени ожидания, заданного на входе Timeout.

Count

INT

Задается количество байт, которое необходимо передать.

Send

BOOL

Отправляет запрос по переднему фронту изменения значения на этом входе.

Message

ARRAY [*] of BYTE

Задается запрос.

MaxResponseCount

INT

Задается максимальное количество байт в ответе. По умолчанию установлено значение 0.

Выходы

Response

ARRAY [*] of BYTE

Выдается ответ.

ResponseCount

INT

Показывается фактическое количество полученных байт.

StatusCode

DINT

Выдается код ответа:

-5 — ответ получен по истечению Timeout;

0 — ответ получен по достижению количества символов в ответе, заданном в MaxResponseCount.

State

DINT

Показывает состояние ФБ.

0 — ожидание регистрации порта;

1 — ожидание отправки запроса;

2 — отправка запроса.

Важно! Если нет протокола с таким же номером COM-порта, как указан на входе Port, то всегда будет выдаваться значение State - 0.

Смотрите также

Универсальный протокол COM порта