Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
doc:sertoeth7188ex:main [2013/05/21 17:03]
jamis7005 [outcoming requests]
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>''​ +  * **<​tcpport>​** - установка tcp-порта ​в память, пример:​ ''&​3070''​ 
-  * **setreplsize ​<port> <n>** - установка переменной MaxReplySize (см.далее). +  * **<address>** - установка ​ip в память, пример:​ ''&​i 192.168.0.55<​cr>''​ 
- +  * **<ipmask>** - установка ​маски в память, пример:​ ''&​m 255.255.255.0<​cr>''​ 
-Все установочные значения сохраняются в eeprom контроллера. +  * **<шлюз>** - установка ​шлюза в память, пример:​ ''&​g 192.168.255.10<​cr>''​ 
- +  * **<параметры>** - параметры последовательного порта ​= 4 символа:​  
-**portparams** - параметры последовательного порта, четыре ​символа:​  +  - baud (по умолчанию **C8N1**): 
-  - baud (по умолчанию **C**):<​code>​+<​code>​
 0 - 50 0 - 50
 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 контроллера (см карту памяти).
  
 **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)
doc/sertoeth7188ex/main.1369141401.txt.gz · Последние изменения: 2013/05/21 17:03 (внешнее изменение)
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0