changed main template (scetch)

This commit is contained in:
pavel 2026-07-28 15:52:17 +03:00
parent 7b85d75900
commit 8bdcea0c91
3 changed files with 28 additions and 10 deletions

Binary file not shown.

Binary file not shown.

View File

@ -72,7 +72,8 @@
"56c8dc122932bed2",
"3a020fc62ad49e57",
"074962eb71d9e17b",
"d6138c7ab7ea1ab2"
"d6138c7ab7ea1ab2",
"b26409848ae18772"
]
]
},
@ -303,7 +304,7 @@
"type": "function",
"z": "e970d5dc70d18347",
"name": "increment register",
"func": "// Получаем текущее значение из хранилища или задаём начальное значение 10\nlet v = flow.get('WS_L') || 50;\n\n// Увеличиваем значение на единицу и применяем циклическое изменение в диапазоне от 10 до 30\nv = ((v + 1) > 50 ? 40 : v + 1);\n\n// Сохраняем обновленное значение в поток\nflow.set('WS_L', v);\n\n// Формируем сообщение для передачи данных\nmsg.payload = {\n value: v,\n register: 0\n};\n\n// Устанавливаем дополнительные параметры сообщения\nmsg.fc = 6; // Тип операции Modbus (запись одиночного регистра)\nmsg.unitid = 1; // Идентификатор устройства\nmsg.address = 1115; // Адрес регистра\nmsg.quantity = 1; // Количество регистров\nmsg.payload = [v];// Значение, которое будет записано\n\n// Возвращаем сформированное сообщение\nreturn msg;",
"func": "// Получаем текущее значение из хранилища или задаём начальное значение 10\nlet v = flow.get('WS_L') || 40;\n\n// Увеличиваем значение на единицу и применяем циклическое изменение в диапазоне от 10 до 30\nv = ((v + 1) > 40 ? 20 : v + 1);\n\n// Сохраняем обновленное значение в поток\nflow.set('WS_L', v);\n\n// Формируем сообщение для передачи данных\nmsg.payload = {\n value: v,\n register: 0\n};\n\n// Устанавливаем дополнительные параметры сообщения\nmsg.fc = 6; // Тип операции Modbus (запись одиночного регистра)\nmsg.unitid = 1; // Идентификатор устройства\nmsg.address = 1115; // Адрес регистра\nmsg.quantity = 1; // Количество регистров\nmsg.payload = [v];// Значение, которое будет записано\n\n// Возвращаем сформированное сообщение\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
@ -334,8 +335,8 @@
"keepMsgProperties": false,
"delayOnStart": false,
"startDelayTime": "",
"x": 660,
"y": 800,
"x": 680,
"y": 840,
"wires": [
[],
[]
@ -359,7 +360,7 @@
"delayOnStart": false,
"startDelayTime": "",
"x": 660,
"y": 880,
"y": 960,
"wires": [
[],
[]
@ -370,7 +371,7 @@
"type": "function",
"z": "e970d5dc70d18347",
"name": "increment register",
"func": "// Получаем текущее состояние, по умолчанию 0\nlet state = flow.get('WS_DSC1') || 0;\n\n// Гарантируем, что state — это строго 0 или 1 (на случай мусора в контексте)\nstate = (state === 1) ? 1 : 0;\n\n// Переключаем 0 <-> 1\nstate = (state === 0) ? 1 : 0;\n\n// Сохраняем новое состояние\nflow.set('WS_DSC1', state);\n\n// Жёстко привязываем payload к state (только 0 или 1)\n// Жёсткое условие через if/else\nif (state === 0) {\n msg.payload = 0;\n} else {\n msg.payload = 1;\n}\n\nreturn msg;\n\n",
"func": "// Получаем текущее состояние, по умолчанию 0\nlet state = flow.get('WS_RESERVE2') || 0;\n\n// Гарантируем, что state — это строго 0 или 1 (на случай мусора в контексте)\nstate = (state === 1) ? 1 : 0;\n\n// Переключаем 0 <-> 1\nstate = (state === 0) ? 1 : 0;\n\n// Сохраняем новое состояние\nflow.set('WS_RESERVE2', state);\n\n// Жёстко привязываем payload к state (только 0 или 1)\n// Жёсткое условие через if/else\nif (state === 0) {\n msg.payload = 1;\n} else {\n msg.payload = 0;\n}\n\nreturn msg;\n\n",
"outputs": 1,
"noerr": 0,
"initialize": "",
@ -380,9 +381,7 @@
"y": 960,
"wires": [
[
"402b15cf9cc8430d",
"2382660d4ddd0147",
"a35cf32802b244bd",
"3271b1ce681c99a9"
]
]
@ -569,13 +568,32 @@
"keepMsgProperties": false,
"delayOnStart": false,
"startDelayTime": "",
"x": 740,
"y": 960,
"x": 720,
"y": 1080,
"wires": [
[],
[]
]
},
{
"id": "b26409848ae18772",
"type": "function",
"z": "e970d5dc70d18347",
"name": "increment register",
"func": "// Получаем текущее состояние, по умолчанию 0\nlet state = flow.get('WS_RESERVE1') || 0;\n\n// Гарантируем, что state — это строго 0 или 1 (на случай мусора в контексте)\nstate = (state === 1) ? 1 : 0;\n\n// Переключаем 0 <-> 1\nstate = (state === 0) ? 1 : 0;\n\n// Сохраняем новое состояние\nflow.set('WS_RESERVE1', state);\n\n// Жёстко привязываем payload к state (только 0 или 1)\n// Жёсткое условие через if/else\nif (state === 0) {\n msg.payload = 0;\n} else {\n msg.payload = 1;\n}\n\nreturn msg;\n\n",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 390,
"y": 820,
"wires": [
[
"a35cf32802b244bd"
]
]
},
{
"id": "dca8f54c186084c0",
"type": "modbus-client",