Это старая версия документа.
Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in /home/users/p/prom-auto/domains/prom-auto.ru/wiki/inc/parser/handler.php on line 1458
Warning: Declaration of syntax_plugin_tablecalc::handle($match, $state, $pos, &$handler) should be compatible with DokuWiki_Syntax_Plugin::handle($match, $state, $pos, Doku_Handler $handler) in /home/users/p/prom-auto/domains/prom-auto.ru/wiki/lib/plugins/tablecalc/syntax.php on line 41
Warning: Declaration of syntax_plugin_tablecalc::render($mode, &$renderer, $data) should be compatible with DokuWiki_Syntax_Plugin::render($format, Doku_Renderer $renderer, $data) in /home/users/p/prom-auto/domains/prom-auto.ru/wiki/lib/plugins/tablecalc/syntax.php on line 72
Warning: Declaration of syntax_plugin_offline::handle($match, $state, $pos, &$handler) should be compatible with DokuWiki_Syntax_Plugin::handle($match, $state, $pos, Doku_Handler $handler) in /home/users/p/prom-auto/domains/prom-auto.ru/wiki/lib/plugins/offline/syntax.php on line 60
Warning: Declaration of syntax_plugin_offline::render($format, &$renderer, $data) should be compatible with DokuWiki_Syntax_Plugin::render($format, Doku_Renderer $renderer, $data) in /home/users/p/prom-auto/domains/prom-auto.ru/wiki/lib/plugins/offline/syntax.php on line 67
Warning: preg_match(): Compilation failed: invalid range in character class at offset 3416 in /home/users/p/prom-auto/domains/prom-auto.ru/wiki/inc/parser/lexer.php on line 118
====== Конвертер serial-to-ethernet на базе uPAC-7188EX ====== ===== Индикация ===== Контроллер имеет 5 семисегментных индикаторов. Каждый из индикаторов индицирует работу одного последовательного порта, нумерация слева направо. Используются только горизонтальные сегменты: - **верхний** - запись в serial порт - **средний** - прием из serial порта - **нижний** - отправка tcp-клиенту ===== Протокол обмена ===== ==== outcoming requests ==== &<cmd>[<crc>][<cr>] &s3070<cr> **&** - маркер начала посылки **cmd** - команда * **h<port><data>** - запись в порт в символьном hex-формате, где port - номер последовательного контроллера (от 1 до 9). Пример: ''&h13132330D<cr>'' отправка в serial последовательности байт ''31 32 33 0D''. * **b<port><data>** - запись в порт в символьном bin-формате. Кодировка символов данных: <code> & --> \a \ --> \\ #10 --> \r #13 --> \n </code> остальные символы идут как есть. Пример: ''&b1:Ampersand-\a. Backslash-\\.\r<cr>'' отправка в serial строки ''Ampersand-&. Backslash-\.<cr>''. * **p<tcpport>** - установка tcp-порта, пример: ''&setport 3070<cr>'' * **m<ipmask>** - установка маски, пример: ''&setmask 255.255.255.0<cr>'' * **i<address>** - установка ip, пример: ''&setip 192.168.0.55<cr>'' * **c<off|on>** - установка режима crc, пример: ''&crcmode on<cr>'' * **r<port><n>** - установка переменной MaxReplySize (см.далее). * **portparams** - параметры последовательного порта 4 символа: - baud (по умолчанию **C8N1**): <code> 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</code> - data bits: **8** или 7 - parity (по умолчанию **N**):<code> N - NONE E - EVEN O - ODD M - MARK S - SPACE</code> - stop bits: **1** или 2 Все установочные значения сохраняются в eeprom контроллера. **data** - данные **crc** - crc16, четыре символа в hex-формате. Считается от маркера начала посылки включительно до последнего байта данных включительно. Пример: ''&b1:Hello490A<cr>'' **<cr>** - маркер конца посылки (#10). если его в посылке нет, то концом считается - конец передачи. ==== incoming requests ==== <code> &<cmd><data>[<crc>]<cr> </code> **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.255.0 * ip = 192.168.0.90 * port = 3070 ==== Режим Mirror ==== TCP порты 5001..5008 соответствуют портам COM2-COM9, любые данные до 1000 символов прозрачно, без изменений передаются в обоих направлениях. ==== Карта памяти ==== Блоки по 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)