Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
doc:sertoeth7188ex:main [2013/05/16 13:29] jamis7005 [Индикация] |
doc:sertoeth7188ex:main [2013/07/08 14:11] (текущий) vitaly [Режим Init] |
||
---|---|---|---|
Строка 12: | Строка 12: | ||
==== outcoming requests ==== | ==== outcoming requests ==== | ||
- | &<cmd>[<portparams>][:<data>][<crc>]<cr> | + | &<cmd>[параметры][данные][<cr>] |
+ | | ||
| | ||
**&** - маркер начала посылки | **&** - маркер начала посылки | ||
| | ||
**cmd** - команда | **cmd** - команда | ||
- | * **h<port>** - запись в порт в символьном hex-формате, где port - номер последовательного контроллера. Пример: ''&h1:3132330D<cr>'' отправка в serial последовательности байт ''31 32 33 0D''. | + | * **h<port><data>** - запись в порт в символьном hex-формате, где port - номер последовательного контроллера (от 1 до 9). Пример: ''&h13132330D<cr>'' отправка в serial последовательности байт ''31 32 33 0D''. |
- | * **b<port>** - запись в порт в символьном bin-формате. Кодировка некоторых символов данных: <code> | + | * **b<port><data>** - запись в порт в символьном bin-формате. Кодировка символов данных: <code> |
& --> \a | & --> \a | ||
\ --> \\ | \ --> \\ | ||
- | <cr> --> \r</code> Пример: ''&b1:Ampersand-\a. Backslash-\\.\r<cr>'' отправка в serial строки ''Ampersand-&. Backslash-\.<cr>''. | + | #10 --> \r |
- | * **setport <tcpport>** - установка tcp-порта, пример: ''&setport 3070<cr>'' | + | #13 --> \n |
- | * **setmask <ipmask>** - установка маски, пример: ''&setmask 255.255.255.0<cr>'' | + | </code> остальные символы идут как есть. |
- | * **setip <address>** - установка ip, пример: ''&setip 192.168.0.55<cr>'' | + | Пример: ''&b1:Ampersand-\a. Backslash-\\.\r<cr>'' отправка в serial строки ''Ampersand-&. Backslash-\.<cr>''. |
- | * **crcmode <off|on>** - установка режима crc, пример: ''&crcmode on<cr>'' | + | * **t <tcpport>** - установка tcp-порта в память, пример: ''&t 3070'' |
- | * **setreplsize <port> <n>** - установка переменной MaxReplySize (см.далее). | + | * **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 символа: | ||
+ | - 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 контроллера. | + | * **x** - рестарт, пример: ''&x'' |
- | **data** - данные | + | Команды начинаются от &, далее считываются параметры команды, затем данные, прием данных ограничивается <cr>, концом передачи или 1000 символов (максимально возможный объем буфера) в зависимости от того, что наступит ранее. __Внимание! Параметры команд идут через пробел за именем команды (исключения команды b и h)__. В случае прихода команд на изменение адреса, полученные данные сохраняются в память, но работать не начинают. Для применения новых настроек необходимо перезагрузить ПЛК. |
+ | При первом старте рекомендуется включать режим Init для первоначальной установки параметров в памяти. При работе необходимо режим Init отключать. В случае режима Init из памяти загружаются не сохраненные данные, а параметры по умолчанию. Смена параметров происходит только в момент загрузки, в процессе работы флаг не проверяется. В режиме Init возможно странное поведение TCP части контроллера т.к. в этот момент контроллер работает и по заводскому адресу 192.168.255.1:10000. | ||
- | **crc** - crc16, четыре символа в hex-формате. Считается от маркера начала посылки включительно до последнего байта данных включительно. | + | Все установочные значения сохраняются в eeprom контроллера (см карту памяти). |
- | **<cr>** - маркер конца посылки | + | **data** - данные |
+ | |||
+ | **<cr>** - маркер конца посылки (#10). если его в посылке нет, то концом считается - конец передачи. если есть, то конец посылки считается равным ему, остальное отбрасывается. | ||
==== incoming requests ==== | ==== incoming requests ==== | ||
<code> | <code> | ||
- | &<cmd>:<data>[<crc>]<cr> | + | &<cmd><data>[<crc>]<cr> |
</code> | </code> | ||
| | ||
**cmd** | **cmd** | ||
- | * **h<port>** - принятые данные в символьном hex-формате, где port - номер последовательного контроллера. Пример: ''&h1:3132330D<cr>'' означает, что в serial port 1 контроллера поступила последовательность байт ''31 32 33 0D''. | + | * **h<port>** - принятые данные в символьном hex-формате, где port - номер последовательного контроллера (1-9). Пример: ''&h13132330D'' означает, что в serial port 1 контроллера поступила последовательность байт ''31 32 33 0D''. |
* **b<port>** - принятые данные в bin-формате. Кодировка символов аналогична. | * **b<port>** - принятые данные в bin-формате. Кодировка символов аналогична. | ||
Отправка h и b контроллером происходит при выполнении одного из следующих условий: | Отправка h и b контроллером происходит при выполнении одного из следующих условий: | ||
- | * на вход serial поступали данные после чего в течение времени, равного длительности передачи трех байтов, данные не поступают (состояние idle). | + | * на вход serial поступали данные после чего в течение времени, 20мс, данные не поступают (состояние idle). |
- | * на вход serial поступило MaxReplySize байт, где MaxReplySize по умолчанию равно 255. | + | * на вход serial поступило MaxReplySize байт, где MaxReplySize по умолчанию равно 1000. |
+ | Если к устройству подключено несколько клиентов, то данные, полученные из COM порта передаются всем в базовом режиме и всем, подключенным к определенному порту, в режиме mirror. | ||
- | | + | Способ кодирования данных, полученных из COM в базовом режиме, соответствует последней команде запроса на соответствующий порт. Если последний запрос был выполнен командой &h, то все данные будут в этом формате, пока не придет запрос &b. Если с момента включения запросов не приходило, то считаем, что порт в режиме &h. |
| | ||
==== Режим Init ==== | ==== Режим Init ==== | ||
При включении контроллера в режиме init вступают в силу следующие параметры: | При включении контроллера в режиме init вступают в силу следующие параметры: | ||
- | * mask = 255.255.255.0 | + | * mask = 255.255.0.0 |
- | * ip = 192.168.0.90 | + | * ip = 192.168.255.1 |
- | * port = 3070 | + | * 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) |