Hotfix release available: 2026-07-14c "Mort".
upgrade now! [57.3] (what's this?)
javalikecalc
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| javalikecalc [2025/06/26 16:33] – walhi | javalikecalc [2026/08/28 12:03] (current) – fix 95.129.139.197 | ||
|---|---|---|---|
| Line 21: | Line 21: | ||
| ---- | ---- | ||
| + | **Разворачивание** стандартного параметра на несколько логических. Развитие скрипта выше. Была у меня задача по модернизации опроса. Был параметр с опросом N штук сигнализаций (биты '' | ||
| + | |||
| + | |||
| + | <code java> | ||
| + | function setConfig(node, | ||
| + | req = SYS.XMLNode(" | ||
| + | SYS.cntrReq(req); | ||
| + | } | ||
| + | |||
| + | |||
| + | src = SYS.DAQ.ModBus.PLC1.prm_Alarm.prm_template; | ||
| + | target = SYS.DAQ.ModBus.PLC1.prm_Alarm; | ||
| + | |||
| + | // Получаем список атрибутов, | ||
| + | list = target.cfg(" | ||
| + | |||
| + | out = ""; | ||
| + | for (var i = 0; i < list.length; | ||
| + | c = list[i].split(":" | ||
| + | // Пропуск комментариев и пустышек | ||
| + | if (c[0].indexOf("#" | ||
| + | if (c.length < 4) continue; | ||
| + | | ||
| + | // " | ||
| + | id = c[3]; | ||
| + | name = (c.length < 5)? | ||
| + | regType = c[0]; | ||
| + | regNum = c[1]; | ||
| + | regPerm = c[2]; | ||
| + | | ||
| + | // Копирование элемента | ||
| + | req = SYS.XMLNode(" | ||
| + | req.setAttr(" | ||
| + | req.setAttr(" | ||
| + | req.setAttr(" | ||
| + | SYS.cntrReq(req); | ||
| + | | ||
| + | // Прописываем конфигурацию в созданный параметр | ||
| + | newParam = target.nodeAt(" | ||
| + | newParam.cfgSet(" | ||
| + | setConfig(newParam, | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | |||
| + | Что это за константа ''/ | ||
javalikecalc.1750955637.txt.gz · Last modified: by walhi · Currently locked by: 216.73.217.14
