Настройка 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) сигнализация обратная.