Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
doc:sertoeth7188ex:main [2013/05/30 15:15] vitaly |
doc:sertoeth7188ex:main [2013/07/08 14:11] (текущий) vitaly [Режим Init] |
||
---|---|---|---|
Строка 12: | Строка 12: | ||
==== outcoming requests ==== | ==== outcoming requests ==== | ||
- | &<cmd>[<crc>]<cr> | + | &<cmd>[параметры][данные][<cr>] |
| | ||
- | &s3070<cr> | ||
| | ||
**&** - маркер начала посылки | **&** - маркер начала посылки | ||
| | ||
**cmd** - команда | **cmd** - команда | ||
- | * **h<port><data>** - запись в порт в символьном 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><data>** - запись в порт в символьном bin-формате. Кодировка некоторых символов данных: <code> | + | * **b<port><data>** - запись в порт в символьном bin-формате. Кодировка символов данных: <code> |
& --> \a | & --> \a | ||
\ --> \\ | \ --> \\ | ||
- | <cr> --> \r</code> Пример: ''&b1:Ampersand-\a. Backslash-\\.\r<cr>'' отправка в serial строки ''Ampersand-&. Backslash-\.<cr>''. | + | #10 --> \r |
- | * **p<tcpport>** - установка tcp-порта, пример: ''&setport 3070<cr>'' | + | #13 --> \n |
- | * **m<ipmask>** - установка маски, пример: ''&setmask 255.255.255.0<cr>'' | + | </code> остальные символы идут как есть. |
- | * **i<address>** - установка ip, пример: ''&setip 192.168.0.55<cr>'' | + | Пример: ''&b1:Ampersand-\a. Backslash-\\.\r<cr>'' отправка в serial строки ''Ampersand-&. Backslash-\.<cr>''. |
- | * **c<off|on>** - установка режима crc, пример: ''&crcmode on<cr>'' | + | * **t <tcpport>** - установка tcp-порта в память, пример: ''&t 3070'' |
- | * **r<port><n>** - установка переменной MaxReplySize (см.далее). | + | * **i <address>** - установка ip в память, пример: ''&i 192.168.0.55<cr>'' |
- | * **portparams** - параметры последовательного порта 4 символа: | + | * **m <ipmask>** - установка маски в память, пример: ''&m 255.255.255.0<cr>'' |
+ | * **g <шлюз>** - установка шлюза в память, пример: ''&g 192.168.255.10<cr>'' | ||
+ | * **p <параметры>** - параметры последовательного порта = 4 символа: | ||
- baud (по умолчанию **C8N1**): | - baud (по умолчанию **C8N1**): | ||
<code> | <code> | ||
Строка 35: | Строка 36: | ||
1 - 75 | 1 - 75 | ||
2 - 110 | 2 - 110 | ||
- | 3 - 134.5 | + | 3 - 134 |
4 - 150 | 4 - 150 | ||
5 - 300 | 5 - 300 | ||
Строка 61: | Строка 62: | ||
- stop bits: **1** или 2 | - stop bits: **1** или 2 | ||
+ | * **x** - рестарт, пример: ''&x'' | ||
+ | Команды начинаются от &, далее считываются параметры команды, затем данные, прием данных ограничивается <cr>, концом передачи или 1000 символов (максимально возможный объем буфера) в зависимости от того, что наступит ранее. __Внимание! Параметры команд идут через пробел за именем команды (исключения команды b и h)__. В случае прихода команд на изменение адреса, полученные данные сохраняются в память, но работать не начинают. Для применения новых настроек необходимо перезагрузить ПЛК. | ||
+ | При первом старте рекомендуется включать режим Init для первоначальной установки параметров в памяти. При работе необходимо режим Init отключать. В случае режима Init из памяти загружаются не сохраненные данные, а параметры по умолчанию. Смена параметров происходит только в момент загрузки, в процессе работы флаг не проверяется. В режиме Init возможно странное поведение TCP части контроллера т.к. в этот момент контроллер работает и по заводскому адресу 192.168.255.1:10000. | ||
- | Все установочные значения сохраняются в eeprom контроллера. | + | Все установочные значения сохраняются в eeprom контроллера (см карту памяти). |
- | + | ||
- | + | ||
**data** - данные | **data** - данные | ||
- | **crc** - crc16, четыре символа в hex-формате. Считается от маркера начала посылки включительно до последнего байта данных включительно. Пример: ''&b1:Hello490A<cr>'' | + | **<cr>** - маркер конца посылки (#10). если его в посылке нет, то концом считается - конец передачи. если есть, то конец посылки считается равным ему, остальное отбрасывается. |
- | **<cr>** - маркер конца посылки | ||
==== 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) |