Это старая версия документа.



Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in /home/users/p/prom-auto/domains/prom-auto.ru/wiki/inc/parser/handler.php on line 1458

Warning: Declaration of syntax_plugin_tablecalc::handle($match, $state, $pos, &$handler) should be compatible with DokuWiki_Syntax_Plugin::handle($match, $state, $pos, Doku_Handler $handler) in /home/users/p/prom-auto/domains/prom-auto.ru/wiki/lib/plugins/tablecalc/syntax.php on line 41

Warning: Declaration of syntax_plugin_tablecalc::render($mode, &$renderer, $data) should be compatible with DokuWiki_Syntax_Plugin::render($format, Doku_Renderer $renderer, $data) in /home/users/p/prom-auto/domains/prom-auto.ru/wiki/lib/plugins/tablecalc/syntax.php on line 72

Warning: Declaration of syntax_plugin_offline::handle($match, $state, $pos, &$handler) should be compatible with DokuWiki_Syntax_Plugin::handle($match, $state, $pos, Doku_Handler $handler) in /home/users/p/prom-auto/domains/prom-auto.ru/wiki/lib/plugins/offline/syntax.php on line 60

Warning: Declaration of syntax_plugin_offline::render($format, &$renderer, $data) should be compatible with DokuWiki_Syntax_Plugin::render($format, Doku_Renderer $renderer, $data) in /home/users/p/prom-auto/domains/prom-auto.ru/wiki/lib/plugins/offline/syntax.php on line 67

Warning: preg_match(): Compilation failed: invalid range in character class at offset 3416 in /home/users/p/prom-auto/domains/prom-auto.ru/wiki/inc/parser/lexer.php on line 118
A PCRE internal error occured. This might be caused by a faulty plugin

====== wessvr.adapter ====== Модуль-адаптер для для связывания периферийного модуля источника, имеющего счетчики, с устройством ''Standard'' модуля [[doc:jroboplc:modules:wessvr]]. Требует включения в одну задачу с источником (периферийным модулем, имеющим счетчики). Основная задача адаптера транслировать значения тегов источника в свои теги, имена которых понятны устройству ''Standard'' модуля ''wessvr''. Определение (сопоставление) имен тегов задается в карте тегов ''tags'', где обязательно должен быть определен хотя бы один тег счетчиков - ''SumWeight'' и/или ''SumNum''. Остальные теги определяются по необходимости. Если тег не определен, то используется значение 0. <code yaml> plugin.peripherial: wfman: type: wessvr.adapter module: pfman mul: 1 tags: SumWeight: cntWeight SumNum: cntNum # CurWeight: # LastWeight: Неиспользуемые теги определять не обязательно # LastTime: Status1: mode Status2: err0 Status3: err1 Status4: err2 Status5: err3 Output: output pfman: portnum: 1 netaddr: 2 type: modbus tags: - name: mode address: 0x1001 - name: err0 address: 0x1003 - name: err1 address: 0x1004 - name: err2 address: 0x1005 - name: err3 address: 0x1006 - name: output address: 0x1007 - name: cntNum address: 0x101A type: uint32 - name: cntWeight address: 0x101A type: uint32 plugin.task: module.task: period: 1000 modules: - pfman - wfman </code> ===== Параметры ===== ^ Параметр ^ Умолчание ^ Описание ^ |**type**| '''' |''wessvr.adapter'' | |**module**| '''' |Имя модуля источника | |**MaxWeight**| ''0x1_0000_0000'' |Размер счетчика веса (макс.возможное значение + 1). Если 0, то счетчик безразмерный. Безразмерный счетчик используется в случае, если счетчик устройства сбрасываемый. | |**MaxNum**| ''0x1_0000_0000'' |Аналогично ''MaxWeight'' | |**Mul**| ''1'' |Множитель веса | |**useNowForUpdateTime**| ''off'' |Использовать текущее время для тега ''SYSTEM.UpdateTime''. Необходимо в том случае, когда источник не имеет тега ''SYSTEM.UpdateTime'' | |**tags**| '''' |Карта тегов:<html><br><ul> <li>SumWeight</li> <li>SumNum</li> <li>CurWeight</li> <li>LastWeight</li> <li>LastTime</li> <li>Status1</li> <li>Status2</li> <li>Status3</li> <li>Status4</li> <li>Status5</li> <li>Output</li> </ul></html> См. "Определение тегов" | ===== Определение тегов ===== Для определения тега нужно указать в качестве значения имя одного из тегов, который содержится в модуле источнике. Также в значении можно указать тег любого модуля, а не только того, что прописан в качестве модуля источника. Для этого значение имени тега записывается через двоеточие в формате: <имя модуля>:<имя тега> Пример: <code yaml> module.WVZL1: type: wessvr.adapter module: vzl1 MaxWeight: 0 MaxNum: 0 tags: SumWeight: scrpg:pid1.SumVolume Output: scrpg:pid1.FlowInpMh </code> ===== Определение сложных тегов ===== В модуле источнике значение веса, счетчика и т.п. может состоять из двух тегов, каждый из которых есть двухбайтовое слово от 0 до 65535. В таком случае нужно в качестве значения прописать оба тега модуля источника через запятую, причем первым должен быть старший тег. Пример: <code yaml> wfman: type: wessvr.adapter module: pfman tags: SumWeight: SumWeightHihg, SumWeightLow </code> ===== Определение тегов по умолчанию ===== Автоматически в карту тегов добавляются следующие теги: ^ Адаптер ^ Источник ^ |SYSTEM.ErrorFlag |SYSTEM.ErrorFlag | |SYSTEM.UpdateTime |SYSTEM.UpdateTime | Данные теги прописывать не нужно. ===== Тег WesSvrState ===== Тег ''WesSvrState'' обнуляется через 10 секунд, если в него не производить запись. ===== Crc32 ===== Расчет значения выполняется по алгоритму Crc32. Исходный для расчета буфер данных формируется из 8-байтного представления следующих тегов в приведенной последовательности: <code> SumWeight SumNum CurWeight LastWeight LastTime Output Status1 Status2 Status3 Status4 Status5 SYSTEM.ErrorFlag </code> ===== Теги ===== Список всех тегов модуля: <code> Crc32 LONG MaxNum LONG MaxWeight LONG Mul INT WesSvrState INT SumWeight LONG SumNum LONG CurWeight LONG LastWeight LONG LastTime LONG Output INT Status1 INT Status2 INT Status3 INT Status4 INT Status5 INT SYSTEM.ErrorFlag BOOL SYSTEM.UpdateTime INT </code>

doc/jroboplc/modules/peripherial/wessvr_adapter.1606221833.txt.gz · Последние изменения: 2020/11/24 15:43 — denis
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0