Конвертер serial-to-ethernet на базе uPAC-7188EX

Индикация

Контроллер имеет 5 семисегментных индикаторов. Каждый из индикаторов индицирует работу одного последовательного порта, нумерация слева направо. Используются только горизонтальные сегменты:

  1. верхний - запись в serial порт
  2. средний - прием из serial порта
  3. нижний - отправка tcp-клиенту

Протокол обмена

outcoming requests

&<cmd>[параметры][данные][<cr>]

& - маркер начала посылки

cmd - команда

  • h<port><data> - запись в порт в символьном hex-формате, где port - номер последовательного контроллера (от 1 до 9). Пример: &h13132330D<cr> отправка в serial последовательности байт 31 32 33 0D.
  • b<port><data> - запись в порт в символьном bin-формате. Кодировка символов данных:
        &     -->  \a
        \     -->  \\
       #10   -->  \r
       #13   -->  \n
       

    остальные символы идут как есть.

Пример: &b1:Ampersand-\a. Backslash-\\.\r<cr> отправка в serial строки Ampersand-&. Backslash-\.<cr>.

  • t <tcpport> - установка tcp-порта в память, пример: &t 3070
  • i <address> - установка ip в память, пример: &i 192.168.0.55<cr>
  • m <ipmask> - установка маски в память, пример: &m 255.255.255.0<cr>
  • g <шлюз> - установка шлюза в память, пример: &g 192.168.255.10<cr>
  • p <параметры> - параметры последовательного порта = 4 символа:
  1. baud (по умолчанию C8N1):
0 - 50
1 - 75
2 - 110
3 - 134
4 - 150
5 - 300
6 - 600
7 - 1200
8 - 1800
9 - 2400
A - 4800
B - 7200
C - 9600
D - 19200
E - 38400
F - 57600
G - 115200
H - 230400
I - 460800
J - 921600
  1. data bits: 8 или 7
  2. parity (по умолчанию N):
    N - NONE 
    E - EVEN 
    O - ODD  
    M - MARK 
    S - SPACE
  3. stop bits: 1 или 2
  • x - рестарт, пример: &x

Команды начинаются от &, далее считываются параметры команды, затем данные, прием данных ограничивается <cr>, концом передачи или 1000 символов (максимально возможный объем буфера) в зависимости от того, что наступит ранее. Внимание! Параметры команд идут через пробел за именем команды (исключения команды b и h). В случае прихода команд на изменение адреса, полученные данные сохраняются в память, но работать не начинают. Для применения новых настроек необходимо перезагрузить ПЛК. При первом старте рекомендуется включать режим Init для первоначальной установки параметров в памяти. При работе необходимо режим Init отключать. В случае режима Init из памяти загружаются не сохраненные данные, а параметры по умолчанию. Смена параметров происходит только в момент загрузки, в процессе работы флаг не проверяется. В режиме Init возможно странное поведение TCP части контроллера т.к. в этот момент контроллер работает и по заводскому адресу 192.168.255.1:10000.

Все установочные значения сохраняются в eeprom контроллера (см карту памяти).

data - данные

<cr> - маркер конца посылки (#10). если его в посылке нет, то концом считается - конец передачи. если есть, то конец посылки считается равным ему, остальное отбрасывается.

incoming requests

  &<cmd><data>[<crc>]<cr>

cmd

  • h<port> - принятые данные в символьном hex-формате, где port - номер последовательного контроллера (1-9). Пример: &h13132330D означает, что в serial port 1 контроллера поступила последовательность байт 31 32 33 0D.
  • b<port> - принятые данные в bin-формате. Кодировка символов аналогична.

Отправка h и b контроллером происходит при выполнении одного из следующих условий:

  • на вход serial поступали данные после чего в течение времени, 20мс, данные не поступают (состояние idle).
  • на вход serial поступило MaxReplySize байт, где MaxReplySize по умолчанию равно 1000.

Если к устройству подключено несколько клиентов, то данные, полученные из COM порта передаются всем в базовом режиме и всем, подключенным к определенному порту, в режиме mirror.

Способ кодирования данных, полученных из COM в базовом режиме, соответствует последней команде запроса на соответствующий порт. Если последний запрос был выполнен командой &h, то все данные будут в этом формате, пока не придет запрос &b. Если с момента включения запросов не приходило, то считаем, что порт в режиме &h.

Режим Init

При включении контроллера в режиме init вступают в силу следующие параметры:

  • mask = 255.255.0.0
  • ip = 192.168.255.1
  • port = 4000

Режим Mirror

TCP порты 5001..5008 соответствуют портам COM2-COM9, любые данные до 1000 символов прозрачно, без изменений передаются в обоих направлениях.

Порт COM1 используется для программирования.

Карта памяти

Блоки по 5 байт 1.IP (4 из 5) 2.Mask (4 из 5) 3.Gate (4 из 5) 4.Port (5 из 5) 5.CRC (1 из 5) 6.MaxReply (2 из 5) 7.COM1 (4 из 5) 8.COM2 (4 из 5) 9.COM3 (4 из 5) 10.COM4 (4 из 5) 11.COM5 (4 из 5) 12.COM6 (4 из 5) 13.COM7 (4 из 5) 14.COM8 (4 из 5) 15.COM9 (4 из 5)

doc/sertoeth7188ex/main.txt · Последние изменения: 2013/07/08 14:11 — vitaly
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0