changed main template (scetch)
This commit is contained in:
parent
7b85d75900
commit
8bdcea0c91
Binary file not shown.
Binary file not shown.
@ -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",
|
||||
|
||||
Loading…
Reference in New Issue
Block a user