Сетевое программирование
В отличие от последовательного программирования, которое требует, чтобы последовательный порт DS находился в режиме последовательного программирования и в этом режиме не мог обмениваться данными с узлом сети, сетевое программирование может выполняться одновременно с маршрутизацией данных между узлом сети и подключённым последовательным устройством. Поэтому сетевое программирование не является «режимом» Ethernet-порта.
Существует три способа сетевого программирования:
Внеполосное UDP-программирование *** выполняется отправкой команд программирования в виде UDP-датаграмм на один из двух UDP-портов команд - 65535 или 32767. Этот способ программирования называется внеполосным, потому что команды отправляются вне (отдельно от) соединения данных. Программирование через UDP-порты команд не зависит от предварительной настройки, всегда доступно и не может быть отключено.
Внутриполосное TCP-программирование выполняется отправкой команд программирования внутри самого TCP-соединения данных: команды и ответы перемешиваются прямо с потоком маршрутизируемых данных (отсюда термин «внутриполосное»). Внутриполосное программирование возможно только когда текущий Transport Protocol (TP) [настройка /параметр ] равен 1 (TCP), а настройка Inband (IB) равна 1 (включено). Поэтому для работы этого способа программирования нужна определённая предварительная настройка.
TCP-программирование в командной фазе тоже выполняется отправкой команд программирования внутри TCP-соединения данных. Отличие от внутриполосного программирования в том, что данные маршрутизации и команды не перемешиваются. Вместо этого TCP-соединение делится на две фазы: командную фазу, в которой можно выполнять программирование (отсюда и название этого способа), и фазу данных, в которой данные маршрутизируются. TCP-программирование в командной фазе возможно только когда текущий Transport Protocol (TP) [настройка /параметр ] равен 1 (TCP), а настройка Data Login (DL) равна 1 (включено). Поэтому для работы этого способа программирования нужна определённая предварительная настройка.
TCP-программирование через «Telnet» (поддерживается прошивкой V3.50 и выше) выполняется установлением TCP-соединения с портом «telnet» (порт 23) DS. Такое соединение можно установить независимо от того, равен ли текущий Transport Protocol (TP) [настройка /параметр ] 0 (UDP) или 1 (TCP). К порту 23 можно установить несколько TCP-соединений одновременно, но в состоянии «вход выполнен» в каждый момент времени будет только одно из них. С этой новой возможностью порт 23 не может использоваться в качестве порта данных DS.
* Наличие двух одинаковых портов команд исторически обусловлено. Изначально для программирования был выделен только один UDP-порт 65535. Позже выяснилось, что некоторые маршрутизаторы могут пересылать трафик только на номера портов 0-32767. Поэтому был введён ещё один порт команд на 32767.