Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
doc:jroboplc:modules:peripherial:upsnano [2018/07/27 12:44]
denis [Параметры]
— (текущий)
Строка 1: Строка 1:
-====== promauto.upsnano ====== 
-Модуль для работы с контроллером питания [[doc:​jroboplc:​ups_devices:​ups_nano|upsnano]]. Работают по специализированному протоколу. 
-Требует включения в задачу. 
- 
- 
- 
-<code yaml> 
-plugin.peripherial:​ 
-  module.ups: 
-    netaddr: ​ 1 
-    portnum: ​ 1 
-    type:     ​promauto.upsnano 
-    enable: ​  on 
- 
-plugin.system:​ 
-  module.sys: 
-    enable: on 
-    shutdown: 
-      tag:     ​ups:​shutdown 
-      value: ​  1 
-      delay_s: 15 
- 
-plugin.task:​ 
-  module.task_sys:​ 
-    period: ​  1000 
-    modules: 
-      - ups 
-      - sys 
- 
-</​code>​ 
- 
- 
-===== Порядок выполнения запросов ===== 
-  - Запись HLDREG 
-    - множественная запись (команда 16) 
-    - одиночная запись (команда 6) 
-  - Запись COIL 
-    - множественная запись (команда 15) 
-    - одиночная запись (команда 5) 
-  - Чтение HLDREG (команда 3) 
-  - Чтение INPREG (команда 4) 
-  - Чтение COIL (команда 1) 
-  - Чтение DSCINP (команда 2) 
- 
-===== Запись регистров ===== 
-Команды записи посылаются только для тех регистров,​ в теги которых были записаны значения,​ при этом значение может не отличаться от предыдущего. 
- 
-Сначала список регистров просматривается на возможность посылки команды множественной записи - если есть два и более регистра для записи со смежными адресами и у них есть разрешение на множественную запись,​ то данные регистры записываются командой 16 или 15. Если количество регистров для записи превышает установленный лимит, либо имеется несколько смежных адресов,​ между которыми есть разрыв,​ то команда множественной записи посылается необходимое количество раз. 
- 
-Далее командой одиночной записи (6 или 5) записываются регистры,​ имеющие разрешение на одиночную запись и не попавшие в под множественную запись. Для одного тега посылается как минимум одна команда одиночной записи. ​ Две команды для одного тега посылается в случае,​ если тег имеет тип ''​int32''​ или ''​float32'',​ т.е. состоит из двух регистров. ​ 
- 
-===== Чтение регистров ===== 
-Команды чтения выполняются не все, а только необходимые для соответствующих областей регистров. Это значит,​ что имея в списке тегов только HLDREG-теги,​ запросы чтения будут только для HLDREG-регистров (команда 3). 
- 
-Количество запрашиваемых регистров определяется разностью самого старшего и самого младшего адресов. Например,​ имеем два HLDREG-тега в модуле с сетевым адресом 1: 
-<​code>​ 
-  - name:    tag1 
-    type:    uint16 
-    address: 3 
-  - name:    tag2 
-    type:    int32 
-    address: 7 
-</​code>​ 
-В этом случае будет послана команда 3 на чтение шести(а не пяти, т.к. tag2 займет два регистра) регистров начиная с 3-го адреса:​ 
-  01 03 0003 0006 crc16 
- 
-В случае большого разрыва между считываемыми регистрами команда чтения разбивается на несколько при помощи параметра тега ''​readEnd'':​ 
-<​code>​ 
-  - name:    tag1 
-    type:    uint16 
-    address: 3 
-  - name:    tag2 
-    type:    int32 
-    address: 7 
-    readEnd: on 
-  - name:    tag3 
-    type:    int32 
-    address: 255 
-</​code>​ 
-Чтение регистров будет состоять из двух запросов:​ 
-  01 03 0003 0006 crc16 
-  01 03 00FF 0001 crc16 
  
doc/jroboplc/modules/peripherial/upsnano.1532684686.txt.gz · Последние изменения: 2018/07/27 12:44 — denis
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0