Различия

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

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

Следующая версия
Предыдущая версия
doc:jroboplc:modules:peripherial:upsnano [2018/07/27 12:43]
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>​ 
- 
-===== Параметры ===== 
-^  Параметр ​ ^  Умолчание ​ ^  Описание ​ ^ 
-|**maxWriteSizeInp**| ​ ''​128'' ​ |Максимальное количество регистров в запросе при множественной записи COIL  | 
-|**maxWriteSizeReg**| ​ ''​16'' ​ |Максимальное количество регистров в запросе при множественной записи HLDREG ​ | 
-|**tags**| ​ -  |Список тегов. Количество тегов может быть любым. ​ | 
-^  **tags** ​ ^^^ 
-|**name**| ​ -  |Имя тега ​ | 
-|**address**| ​ ''​0'' ​ |Адрес регистра ​ | 
-|**region**| ​ ''​hldreg'' ​ |Область регистра: ​ | 
-|:::​|:::​|''​coil''​ - дискретные выходы. Тип тега только ''​bool''​. ​ | 
-|:::​|:::​|''​dscinp''​ - дискретные входы. Тип тега - только ''​bool''​. ​ Доступ - только чтение. | 
-|:::​|:::​|''​hldreg''​ - аналоговые выходы. | 
-|:::​|:::​|''​inpreg''​ - аналоговые входы. Доступ - только чтение. | 
-|**access**| ​ ''​rw'' ​ |Доступ:​ | 
-|:::​|:::​|''​ro''​ - только чтение ​ | 
-|:::​|:::​|''​wo''​ - только запись | 
-|:::​|:::​|''​rw''​ - чтение и запись | 
-|**type**| ​ ''​uint16'' ​ |Тип тега: ​ | 
-|:::​|:::​|''​bool'' ​ | 
-|:::​|:::​|''​int16'' ​ | 
-|:::​|:::​|''​uint16'' ​ | 
-|:::​|:::​|''​int32'' ​ | 
-|:::​|:::​|''​float16'' ​ | 
-|:::​|:::​|''​float32'' ​ | 
-|:::​|:::​|''​string''​ - только чтение | 
-|**inverted**| ​ ''​off'' ​ |Инверсия значения (только для типов тега ''​bool''​). ​ | 
-|**size**| ​ ''​1'' ​ |Количество регистров (только для тегов типа ''​string''​). ​ | 
-|**readEnd**| ​ ''​off'' ​ |Последний регистр в запросе чтения. ​ | 
-|**writeSingle**| ​ ''​on'' ​ |Разрешение одиночной записи регистра. ​ | 
-|**writeMultiple**| ​ ''​on'' ​ |Разрешение множественной записи регистра. ​ | 
-|**enable**| ​ ''​on'' ​ |Разрешение чтения и записи тега. ​ | 
- 
- 
-===== Порядок выполнения запросов ===== 
-  - Запись 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.1532684615.txt.gz · Последние изменения: 2018/07/27 12:43 — denis
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0