Настройка Flow Control (FC)

Описание

(см. формат описания настроек здесь)

Назначение:Включает или выключает аппаратное управление потоком (RTS/CTS) для последовательного порта DS (в режиме маршрутизации данных)
Формат команды Set (S):SFCx, где x: 0 (выключено), 1 (включено)
Формат команды Get (G):GFC
Действие команды Init (I):Инициализируется безусловно: через сетевую команду, последовательную команду или быструю инициализацию
Значение после инициализации:1 (включено)
Изменение вступает в силу:После перезагрузки или выхода из режима последовательного программирования
Перекрывающий параметр:Параметр Flow Control (FC)
Условия применимости:текущая Serial Interface (SI) = 0 (полный дуплекс)
Впервые появился:Раньше «baseline» V3.14/V3.51

Подробности

Настройка Flow Control задаёт поведение линий RTS и CTS DS, если только оно не перекрыто параметром Flow Control (FC).

Когда Flow Control равна 0 (выключено), состояние входа CTS игнорируется, а линия RTS находится в состоянии HIGH*, если удалённый узел не изменит её. Удалённый узел может управлять линией RTS через инструкции Set I/O Pin Status (Sx) или сообщения Notification (J).

Когда Flow Control равна 1 (включено), линии RTS (выход) и CTS (вход) используются для регулирования потока данных по кабелю между DS и подключённым последовательным устройством.

RTS регулирует поток данных от последовательного устройства к DS. Когда буфер последовательный-в-Ethernet DS имеет свободное место, RTS находится в состоянии HIGH*, и последовательное устройство может передавать данные. Когда буфер заполнен (почти полностью), DS переводит RTS в состояние LOW*, сообщая устройству, что передавать данные нельзя. RTS переводится в LOW*, когда в буфере последовательный-в-Ethernet остаётся менее 20 свободных байт. Кроме того, линия RTS всегда переводится в LOW*, когда последовательный порт закрыт.

CTS регулирует поток данных от DS к последовательному устройству. Пока DS видит HIGH* на входе CTS, он может отправлять данные подключённому последовательному устройству. Чтобы остановить отправку, последовательное устройство должно перевести линию CTS в LOW*. Пока DS видит LOW* на входе CTS, он не отправляет данные.

Когда Flow Control равна 1 (включено), удалённый узел не может управлять состоянием линии RTS. Инструкции Set I/O Pin Status, адресованные выводу RTS, игнорируются DS (при этом код состояния OK (A) всё равно возвращается), а входящие сообщения Notification (J) также не влияют на состояние линии RTS.

Удалённый узел может в любой момент получить текущее состояние линий RTS и CTS инструкцией Get I/O Pin Status (Gx), независимо от того, равна ли Flow Control 0 (выключено) или 1 (включено). Мониторинг изменения состояния линий RTS и CTS также можно включить, и сообщения Notification (J) формируются независимо от значения настройки Flow Control.

Flow Control не имеет значения, когда текущий последовательный интерфейс полудуплексный.

* Состояния HIGH и LOW указаны относительно последовательных портов DS100R, DS100B, DS203. Для EM100, EM120, EM200, EM203(A) сигнализация обратная.