Настройка Soft Entry (SE)
Описание
(см. формат описания настроек здесь)
| Назначение: | Отключает или включает вход в режим последовательного программирования через управляющую последовательность и выбирает тип управляющей последовательности |
| Формат команды Set (S): | SSEx, где x: 0 (выключено), 1 (тип 1), 2 (тип 2) |
| Формат команды Get (G): | GSE |
| Действие команды Init (I): | Инициализируется безусловно: через сетевую команду, последовательную команду или быструю инициализацию |
| Значение после инициализации: | 0 (выключено) |
| Изменение вступает в силу: | После перезагрузки или выхода из режима последовательного программирования |
| Перекрывающий параметр: | --- |
| Условия применимости: | --- |
| Впервые появился: | Раньше «baseline» V3.14/V3.51 |
Подробности
Soft Entry управляет входом в режим последовательного программирования через управляющую последовательность:
| 0 (выключено) | Вход в режим последовательного программирования через управляющую последовательность отключён. |
| 1 (тип 1) | Управляющая последовательность типа 1 состоит из трёх подряд идущих управляющих символов (ASCII-код управляющего символа задаётся настройкой Escape Character (EC)). Чтобы последовательность распозналась, перед каждым управляющим символом должна быть пауза не менее 100 мс: |
| ...предыдущие данные | <--100ms--> | E.C. | <--100ms--> | E.C. | <--100ms--> | E.C. |
Если пауза перед определённым управляющим символом превышает 100 мс, то этот символ считается частью управляющей последовательности и не записывается в буфер последовательный-в-Ethernet. Если пауза перед управляющим символом меньше 100 мс, то символ считается обычным символом данных и сохраняется в буфер. Кроме того, счётчик управляющих символов сбрасывается, и последовательность нужно начинать заново. Следующий пример иллюстрирует этот момент (управляющие символы показаны как <). Допустим, подключённое последовательное устройство отправляет такую строку:
ABC<--100ms--> <<--100ms--> << DE
First two escape characters is this example had correct time gap before them, so they were counted as a part of the escape sequence and not saved into the buffer. The third escape character did not have a correct time gap so it was interpreted as a data character and saved into the buffer. The following was routed to the network host:
ABC < DE
Побочный эффект, который иллюстрирует этот пример, состоит в том, что первые два управляющих символа потеряны: они не стали частью успешной управляющей последовательности (поскольку она не была завершена) и не были сохранены в буфер.
| 2 (тип 2) | Управляющая последовательность типа 2 не основана на времени. Она состоит из управляющего символа (заданного настройкой Escape Character (EC)), за которым следует любой символ, кроме управляющего. Чтобы отправить символ данных, ASCII-код которого совпадает с кодом управляющего символа, последовательное устройство должно отправить этот символ дважды. В результате в буфер маршрутизации последовательный-в-Ethernet записывается один символ. Последовательное устройство само отвечает за то, чтобы разобрать данные, которые оно отправляет DS, и удвоить все символы, код которых совпадает с кодом управляющего символа. |
Пример: следующая последовательность переведёт DS в режим последовательного программирования (при условии, что текущий управляющий символ не 'D'):
ABC < D
In the sequence below two consequtive escape characters will be interpreted as data \(data routed to the network host will contain only one such character- the DS will automatically eliminate the second one\):
ABC <<
Следует учитывать, что подключённое последовательное устройство должно разбирать данные и удваивать определённые символы только в данных, которые оно отправляет DS. Обратная операция не нужна для данных, которые последовательное устройство получает от DS. Символы с ASCII-кодом, совпадающим с кодом управляющего символа, поступают от DS обычным образом, то есть их не нужно «удваивать».
Особенности состояния линии RTS
Обратите внимание: управляющая последовательность работает, даже когда последовательный порт DS закрыт (то есть когда Current Routing Mode (RM) [настройка / параметр ] равен 0 (Slave) и соединение с данными не установлено). «Закрыт» означает лишь, что последовательный порт не принимает данные в буфер последовательный-в-сеть. Порт при этом по-прежнему прослушивает управляющие последовательности.
Когда DS работает с настройкой Flow Control (FC), *установленной в 1 (Local), и его последовательный порт закрыт, линия RTS DS находится в отключённом состоянии (сообщая подключённому последовательному устройству, что передача не разрешена). Поэтому, если последовательному устройству нужно передать управляющую последовательность, оно должно *игнорировать состояние сигнала RTS в этот момент.
Дальнейшее поведение линии RTS в режиме последовательного программирования описано в разделе Serial Programming.