node-red-contrib-modbus
Version:
The all in one Modbus TCP and Serial contribution long term supported package for Node-RED.
2,277 lines • 56 kB
JSON
[
{
"id": "c88a71c9.688818",
"type": "tab",
"label": "Modbus Simple Servers",
"disabled": false,
"info": "simple flows to show what you \ncan do with the package\n\nthink about organization of reads and \nwrites and try to simplify these flows"
},
{
"id": "5b26a23d.a8a06c",
"type": "tab",
"label": "Modbus Server Reading",
"disabled": false,
"info": ""
},
{
"id": "7d09e02b.55be3",
"type": "tab",
"label": "Modbus Server Writing",
"disabled": false,
"info": ""
},
{
"id": "f819cc75.23b27",
"type": "tab",
"label": "Modbus Flex Server Reading",
"disabled": false,
"info": ""
},
{
"id": "3f96c5b3.72cd02",
"type": "tab",
"label": "Modbus Flex Server Writing",
"disabled": false,
"info": ""
},
{
"id": "f0cfd0c1.8a4f48",
"type": "tab",
"label": "Modbus Sequencer",
"disabled": false,
"info": ""
},
{
"id": "a9050e37.a6f618",
"type": "modbus-client",
"name": "Modbus Flex Server",
"clienttype": "tcp",
"bufferCommands": true,
"stateLogEnabled": false,
"queueLogEnabled": false,
"tcpHost": "127.0.0.1",
"tcpPort": "15502",
"tcpType": "DEFAULT",
"serialPort": "/dev/ttyUSB",
"serialType": "RTU-BUFFERD",
"serialBaudrate": "9600",
"serialDatabits": "8",
"serialStopbits": "1",
"serialParity": "none",
"serialConnectionDelay": "100",
"unit_id": 1,
"commandDelay": 1,
"clientTimeout": 1000,
"reconnectOnTimeout": true,
"reconnectTimeout": 2000,
"parallelUnitIdsAllowed": true
},
{
"id": "352955bb.be6e6a",
"type": "modbus-client",
"name": "Modbus Server",
"clienttype": "tcp",
"bufferCommands": true,
"stateLogEnabled": false,
"queueLogEnabled": false,
"tcpHost": "127.0.0.1",
"tcpPort": "14502",
"tcpType": "DEFAULT",
"serialPort": "/dev/ttyUSB",
"serialType": "RTU-BUFFERD",
"serialBaudrate": "9600",
"serialDatabits": "8",
"serialStopbits": "1",
"serialParity": "none",
"serialConnectionDelay": "100",
"unit_id": "1",
"commandDelay": "1",
"clientTimeout": "1000",
"reconnectOnTimeout": true,
"reconnectTimeout": "2000",
"parallelUnitIdsAllowed": true
},
{
"id": "7dd49c19.29e75c",
"type": "modbus-server",
"z": "c88a71c9.688818",
"name": "",
"logEnabled": false,
"hostname": "",
"serverPort": "14502",
"responseDelay": "50",
"delayUnit": "ms",
"coilsBufferSize": 1024,
"holdingBufferSize": 1024,
"inputBufferSize": 1024,
"discreteBufferSize": "1024",
"showErrors": true,
"x": 360,
"y": 80,
"wires": [
[
"e4beac85.1d4d78"
],
[
"e4beac85.1d4d78"
],
[
"e4beac85.1d4d78"
],
[
"e4beac85.1d4d78"
],
[
"2534b73c.f4a13"
]
]
},
{
"id": "699046ec.3e1b78",
"type": "inject",
"z": "c88a71c9.688818",
"name": "",
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": "",
"topic": "",
"payload": "",
"payloadType": "date",
"x": 180,
"y": 80,
"wires": [
[
"7dd49c19.29e75c"
]
]
},
{
"id": "e4beac85.1d4d78",
"type": "debug",
"z": "c88a71c9.688818",
"name": "",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"x": 590,
"y": 80,
"wires": []
},
{
"id": "8ffaec31.e2a02",
"type": "debug",
"z": "c88a71c9.688818",
"name": "",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"x": 570,
"y": 180,
"wires": []
},
{
"id": "62981a95.cd186c",
"type": "inject",
"z": "c88a71c9.688818",
"name": "",
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": "",
"topic": "",
"payload": "",
"payloadType": "date",
"x": 180,
"y": 180,
"wires": [
[
"3c15c87e7ed51fdb"
]
]
},
{
"id": "2bc1708e.a8539",
"type": "comment",
"z": "c88a71c9.688818",
"name": "Information",
"info": "The Modbus Server and Modbus Flex Server \nworking with all reading and writing nodes.\n\nThese are two different servers \nfrom different libraries.\n\nThe simple examples hold \nthe same functions for both servers.\n",
"x": 810,
"y": 200,
"wires": []
},
{
"id": "afb69812.fc4d68",
"type": "debug",
"z": "c88a71c9.688818",
"name": "",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"x": 570,
"y": 220,
"wires": []
},
{
"id": "2534b73c.f4a13",
"type": "debug",
"z": "c88a71c9.688818",
"name": "",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"x": 590,
"y": 120,
"wires": []
},
{
"id": "3c15c87e7ed51fdb",
"type": "modbus-server",
"z": "c88a71c9.688818",
"name": "",
"logEnabled": false,
"hostname": "0.0.0.0",
"serverPort": 10502,
"responseDelay": 100,
"delayUnit": "ms",
"coilsBufferSize": 10000,
"holdingBufferSize": 10000,
"inputBufferSize": 10000,
"discreteBufferSize": 10000,
"showErrors": false,
"x": 360,
"y": 180,
"wires": [
[
"8ffaec31.e2a02"
],
[],
[],
[
"afb69812.fc4d68"
],
[]
]
},
{
"id": "f25bd8a6.734138",
"type": "debug",
"z": "5b26a23d.a8a06c",
"name": "",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"x": 610,
"y": 440,
"wires": []
},
{
"id": "c0e162d2.6db27",
"type": "debug",
"z": "5b26a23d.a8a06c",
"name": "",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"x": 710,
"y": 320,
"wires": []
},
{
"id": "f9c3ebf8.f2e6b8",
"type": "modbus-response",
"z": "5b26a23d.a8a06c",
"name": "",
"registerShowMax": "10",
"x": 730,
"y": 360,
"wires": []
},
{
"id": "e0e8e21c.f917b",
"type": "modbus-read",
"z": "5b26a23d.a8a06c",
"name": "Automatic Read FC3",
"topic": "",
"showStatusActivities": false,
"logIOActivities": false,
"showErrors": false,
"showWarnings": true,
"unitid": "",
"dataType": "HoldingRegister",
"adr": "0",
"quantity": "10",
"rate": "8",
"rateUnit": "s",
"delayOnStart": true,
"startDelayTime": "2",
"server": "352955bb.be6e6a",
"useIOFile": false,
"ioFile": "",
"useIOForPayload": false,
"emptyMsgOnFail": false,
"x": 150,
"y": 100,
"wires": [
[
"1d537db5.0353fa"
],
[
"eba31f91.af43a",
"4118dde8.6df054"
]
]
},
{
"id": "eba31f91.af43a",
"type": "modbus-response",
"z": "5b26a23d.a8a06c",
"name": "",
"registerShowMax": "20",
"x": 470,
"y": 140,
"wires": []
},
{
"id": "1d537db5.0353fa",
"type": "debug",
"z": "5b26a23d.a8a06c",
"name": "",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"x": 450,
"y": 60,
"wires": []
},
{
"id": "a7fbe888.fdf11",
"type": "modbus-response",
"z": "5b26a23d.a8a06c",
"name": "",
"registerShowMax": "20",
"x": 630,
"y": 480,
"wires": []
},
{
"id": "e1a56f7c.98a5c8",
"type": "inject",
"z": "5b26a23d.a8a06c",
"name": "Get!",
"repeat": "2",
"crontab": "",
"once": true,
"onceDelay": "2",
"topic": "",
"payload": "",
"payloadType": "date",
"x": 130,
"y": 460,
"wires": [
[
"a765793e.a9ac"
]
]
},
{
"id": "7123d832.8f5228",
"type": "inject",
"z": "5b26a23d.a8a06c",
"name": "Get every second",
"repeat": "2",
"crontab": "",
"once": true,
"onceDelay": "2",
"topic": "",
"payload": "",
"payloadType": "date",
"x": 170,
"y": 340,
"wires": [
[
"2ccc10d7.f00728"
]
]
},
{
"id": "cda168cc.b7a57",
"type": "modbus-response",
"z": "5b26a23d.a8a06c",
"name": "",
"registerShowMax": "5",
"x": 1010,
"y": 300,
"wires": []
},
{
"id": "6293ed5b.e22d6c",
"type": "inject",
"z": "5b26a23d.a8a06c",
"name": "Get flexible!",
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": "",
"topic": "",
"payload": "",
"payloadType": "date",
"x": 150,
"y": 220,
"wires": [
[
"391d65b9.85b07a"
]
]
},
{
"id": "391d65b9.85b07a",
"type": "function",
"z": "5b26a23d.a8a06c",
"name": "Read 0-9 on Unit 1 FC3",
"func": "msg.payload = { input: msg.payload, 'fc': 3, 'unitid': 1, 'address': 0 , 'quantity': 10 }\nreturn msg;",
"outputs": 1,
"noerr": 0,
"x": 450,
"y": 220,
"wires": [
[
"823b8c53.ee14b8"
]
]
},
{
"id": "21d10a41.4a5d56",
"type": "function",
"z": "5b26a23d.a8a06c",
"name": "Read 10-18 on Unit 1 FC3",
"func": "msg.payload = { input: msg.payload, 'fc': 3, 'unitid': 1, 'address': 10 , 'quantity': 8 }\nreturn msg;",
"outputs": 1,
"noerr": 0,
"x": 460,
"y": 260,
"wires": [
[
"823b8c53.ee14b8"
]
]
},
{
"id": "c4a87f77.06804",
"type": "inject",
"z": "5b26a23d.a8a06c",
"name": "Get flexible!",
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": "",
"topic": "",
"payload": "",
"payloadType": "date",
"x": 150,
"y": 260,
"wires": [
[
"21d10a41.4a5d56"
]
]
},
{
"id": "823b8c53.ee14b8",
"type": "modbus-flex-getter",
"z": "5b26a23d.a8a06c",
"name": "",
"showStatusActivities": false,
"showErrors": false,
"showWarnings": true,
"logIOActivities": false,
"server": "352955bb.be6e6a",
"useIOFile": false,
"ioFile": "",
"useIOForPayload": false,
"emptyMsgOnFail": true,
"keepMsgProperties": false,
"delayOnStart": false,
"startDelayTime": "",
"x": 740,
"y": 240,
"wires": [
[
"399af77.a109088"
],
[
"cda168cc.b7a57",
"f12542b3.505cf"
]
]
},
{
"id": "ffc9d28b.806998",
"type": "debug",
"z": "5b26a23d.a8a06c",
"name": "",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"x": 610,
"y": 560,
"wires": []
},
{
"id": "52ff3397.1902ac",
"type": "modbus-response",
"z": "5b26a23d.a8a06c",
"name": "",
"registerShowMax": "20",
"x": 630,
"y": 600,
"wires": []
},
{
"id": "5d569041.3b246",
"type": "inject",
"z": "5b26a23d.a8a06c",
"name": "Get!",
"repeat": "1",
"crontab": "",
"once": true,
"onceDelay": "2",
"topic": "",
"payload": "",
"payloadType": "date",
"x": 130,
"y": 600,
"wires": [
[
"60c1ec4c.275374"
]
]
},
{
"id": "759e0070.059d38",
"type": "debug",
"z": "5b26a23d.a8a06c",
"name": "",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"x": 610,
"y": 690,
"wires": []
},
{
"id": "f89ba70c.f95b2",
"type": "modbus-response",
"z": "5b26a23d.a8a06c",
"name": "",
"registerShowMax": "20",
"x": 630,
"y": 730,
"wires": []
},
{
"id": "3c12b070.610f98",
"type": "inject",
"z": "5b26a23d.a8a06c",
"name": "Get!",
"repeat": "2",
"crontab": "",
"once": true,
"onceDelay": "2",
"topic": "",
"payload": "",
"payloadType": "date",
"x": 130,
"y": 720,
"wires": [
[
"54e29432.0aa5cc"
]
]
},
{
"id": "2ccc10d7.f00728",
"type": "modbus-getter",
"z": "5b26a23d.a8a06c",
"name": "Half-Automatic Getter FC4",
"showStatusActivities": true,
"showErrors": false,
"showWarnings": true,
"logIOActivities": false,
"unitid": "",
"dataType": "InputRegister",
"adr": "0",
"quantity": "10",
"server": "352955bb.be6e6a",
"useIOFile": false,
"ioFile": "",
"useIOForPayload": false,
"emptyMsgOnFail": true,
"keepMsgProperties": false,
"x": 440,
"y": 340,
"wires": [
[
"c0e162d2.6db27"
],
[
"f9c3ebf8.f2e6b8"
]
]
},
{
"id": "a765793e.a9ac",
"type": "modbus-getter",
"z": "5b26a23d.a8a06c",
"name": "Manual Getter FC3",
"showStatusActivities": false,
"showErrors": false,
"showWarnings": true,
"logIOActivities": false,
"unitid": "",
"dataType": "HoldingRegister",
"adr": "0",
"quantity": "10",
"server": "352955bb.be6e6a",
"useIOFile": false,
"ioFile": "",
"useIOForPayload": false,
"emptyMsgOnFail": true,
"keepMsgProperties": false,
"x": 330,
"y": 460,
"wires": [
[
"f25bd8a6.734138"
],
[
"a7fbe888.fdf11"
]
]
},
{
"id": "60c1ec4c.275374",
"type": "modbus-getter",
"z": "5b26a23d.a8a06c",
"name": "Manual Getter FC1",
"showStatusActivities": false,
"showErrors": false,
"showWarnings": true,
"logIOActivities": false,
"unitid": "",
"dataType": "Coil",
"adr": "10",
"quantity": "1",
"server": "352955bb.be6e6a",
"useIOFile": false,
"ioFile": "",
"useIOForPayload": false,
"emptyMsgOnFail": true,
"keepMsgProperties": false,
"x": 330,
"y": 600,
"wires": [
[
"ffc9d28b.806998"
],
[
"52ff3397.1902ac"
]
]
},
{
"id": "54e29432.0aa5cc",
"type": "modbus-getter",
"z": "5b26a23d.a8a06c",
"name": "Manual Getter FC2",
"showStatusActivities": false,
"showErrors": false,
"showWarnings": true,
"logIOActivities": false,
"unitid": "",
"dataType": "Input",
"adr": "0",
"quantity": "10",
"server": "352955bb.be6e6a",
"useIOFile": false,
"ioFile": "",
"useIOForPayload": false,
"emptyMsgOnFail": true,
"keepMsgProperties": false,
"x": 330,
"y": 720,
"wires": [
[
"759e0070.059d38"
],
[
"f89ba70c.f95b2"
]
]
},
{
"id": "399af77.a109088",
"type": "debug",
"z": "5b26a23d.a8a06c",
"name": "",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"x": 990,
"y": 220,
"wires": []
},
{
"id": "f12542b3.505cf",
"type": "debug",
"z": "5b26a23d.a8a06c",
"name": "",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"x": 970,
"y": 260,
"wires": []
},
{
"id": "4118dde8.6df054",
"type": "debug",
"z": "5b26a23d.a8a06c",
"name": "",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"x": 430,
"y": 100,
"wires": []
},
{
"id": "a865fbaf.367808",
"type": "comment",
"z": "5b26a23d.a8a06c",
"name": "Modbus Server",
"info": "These nodes are to write to the Modbus Server.",
"x": 160,
"y": 40,
"wires": []
},
{
"id": "cfad602f.fa69c8",
"type": "catch",
"z": "5b26a23d.a8a06c",
"name": "",
"scope": null,
"uncaught": false,
"x": 720,
"y": 80,
"wires": [
[
"e0901843.1a8d4",
"9bd0a01b.f370a8"
]
]
},
{
"id": "e0901843.1a8d4",
"type": "debug",
"z": "5b26a23d.a8a06c",
"name": "",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"x": 910,
"y": 140,
"wires": []
},
{
"id": "387fc05e.ba7838",
"type": "modbus-queue-info",
"z": "5b26a23d.a8a06c",
"name": "Server Client Queue",
"topic": "",
"unitid": "1",
"queueReadIntervalTime": "1000",
"lowLowLevel": 25,
"lowLevel": 75,
"highLevel": 150,
"highHighLevel": 300,
"server": "352955bb.be6e6a",
"errorOnHighLevel": false,
"showStatusActivities": true,
"updateOnAllQueueChanges": false,
"updateOnAllUnitQueues": false,
"x": 1400,
"y": 80,
"wires": [
[
"6e288031.0f3bb"
]
]
},
{
"id": "c3fc62a4.0522f8",
"type": "function",
"z": "5b26a23d.a8a06c",
"name": "reset on High",
"func": "if(\"high level reached\" === msg.state) {\n msg.resetQueue = true;\n}\nreturn msg;",
"outputs": 1,
"noerr": 0,
"x": 1150,
"y": 60,
"wires": [
[
"387fc05e.ba7838"
]
]
},
{
"id": "dd790617.d9a738",
"type": "function",
"z": "5b26a23d.a8a06c",
"name": "reset on HighHigh",
"func": "if(\"high high level reached\" === msg.state) {\n msg.resetQueue = true;\n}\nreturn msg;",
"outputs": 1,
"noerr": 0,
"x": 1170,
"y": 100,
"wires": [
[
"387fc05e.ba7838"
]
]
},
{
"id": "6e288031.0f3bb",
"type": "debug",
"z": "5b26a23d.a8a06c",
"name": "",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"x": 1590,
"y": 80,
"wires": []
},
{
"id": "9bd0a01b.f370a8",
"type": "switch",
"z": "5b26a23d.a8a06c",
"name": "Modbus Server",
"property": "modbusClientName",
"propertyType": "msg",
"rules": [
{
"t": "eq",
"v": "Modbus Server",
"vt": "str"
}
],
"checkall": "true",
"outputs": 1,
"x": 920,
"y": 80,
"wires": [
[
"c3fc62a4.0522f8",
"dd790617.d9a738"
]
]
},
{
"id": "101179f2.207b46",
"type": "modbus-flex-write",
"z": "7d09e02b.55be3",
"name": "",
"showStatusActivities": false,
"showErrors": false,
"showWarnings": true,
"server": "352955bb.be6e6a",
"emptyMsgOnFail": true,
"keepMsgProperties": false,
"x": 730,
"y": 300,
"wires": [
[
"d5f6943c.f31168"
],
[
"22682227.4cff5e",
"74137990.5ced8"
]
]
},
{
"id": "c33ab024.fd8f38",
"type": "modbus-flex-write",
"z": "7d09e02b.55be3",
"name": "",
"showStatusActivities": false,
"showErrors": true,
"showWarnings": false,
"server": "352955bb.be6e6a",
"emptyMsgOnFail": true,
"keepMsgProperties": false,
"x": 730,
"y": 140,
"wires": [
[
"4f4487c.d2af0f8"
],
[
"b94da021.2eef68",
"c5a256e9.8a997"
]
]
},
{
"id": "b94da021.2eef68",
"type": "modbus-response",
"z": "7d09e02b.55be3",
"name": "",
"registerShowMax": 20,
"x": 990,
"y": 160,
"wires": []
},
{
"id": "e2ef7b30.196b5",
"type": "inject",
"z": "7d09e02b.55be3",
"name": "Write multiple!",
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": "",
"topic": "",
"payload": "[1,2,3,4,5,6,7,8,9,10]",
"payloadType": "json",
"x": 150,
"y": 80,
"wires": [
[
"40f5364e.ac0c2"
]
]
},
{
"id": "40f5364e.ac0c2",
"type": "function",
"z": "7d09e02b.55be3",
"name": "Write 0-9 on Unit 1 FC15",
"func": "msg.payload = { value: msg.payload, 'fc': 15, 'unitid': 1, 'address': 0 , 'quantity': 10 };\nreturn msg;",
"outputs": 1,
"noerr": 0,
"x": 450,
"y": 100,
"wires": [
[
"c33ab024.fd8f38"
]
]
},
{
"id": "c60dd8e2.d29288",
"type": "function",
"z": "7d09e02b.55be3",
"name": "Write 10-18 on Unit 1 FC15",
"func": "msg.payload = { value: msg.payload, 'fc': 15, 'unitid': 1, 'address': 10 , 'quantity': 9 };\nreturn msg;",
"outputs": 1,
"noerr": 0,
"x": 460,
"y": 140,
"wires": [
[
"c33ab024.fd8f38"
]
]
},
{
"id": "58b094c3.988e74",
"type": "inject",
"z": "7d09e02b.55be3",
"name": "Write wrong multiple!",
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": "",
"topic": "",
"payload": "[1,2,3,4,5,6,7,8,9,10]",
"payloadType": "json",
"x": 180,
"y": 120,
"wires": [
[
"c60dd8e2.d29288"
]
]
},
{
"id": "22682227.4cff5e",
"type": "modbus-response",
"z": "7d09e02b.55be3",
"name": "",
"registerShowMax": 20,
"x": 990,
"y": 320,
"wires": []
},
{
"id": "2bd17c1b.842a4c",
"type": "inject",
"z": "7d09e02b.55be3",
"name": "Write wrong multiple!",
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": "",
"topic": "",
"payload": "[1,0,1,0,1,0,1,1]",
"payloadType": "json",
"x": 180,
"y": 260,
"wires": [
[
"1a6a17c2.18d91"
]
]
},
{
"id": "1a6a17c2.18d91",
"type": "function",
"z": "7d09e02b.55be3",
"name": "Write 0-9 on Unit 1 FC16",
"func": "msg.payload = { value: msg.payload, 'fc': 16, 'unitid': 1, 'address': 0 , 'quantity': 10 };\nreturn msg;",
"outputs": 1,
"noerr": 0,
"x": 450,
"y": 280,
"wires": [
[
"101179f2.207b46"
]
]
},
{
"id": "f22c680d.2cd4e",
"type": "function",
"z": "7d09e02b.55be3",
"name": "Write 10 on Unit 1 FC6",
"func": "msg.payload = { value: msg.payload, 'fc': 6, 'unitid': 1, 'address': 10 , 'quantity': 1 };\nreturn msg;",
"outputs": 1,
"noerr": 0,
"x": 440,
"y": 320,
"wires": [
[
"101179f2.207b46"
]
]
},
{
"id": "ba0b6d46.9d8168",
"type": "inject",
"z": "7d09e02b.55be3",
"name": "Write single!",
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": "",
"topic": "",
"payload": "2345",
"payloadType": "num",
"x": 150,
"y": 340,
"wires": [
[
"f22c680d.2cd4e"
]
]
},
{
"id": "d5f6943c.f31168",
"type": "debug",
"z": "7d09e02b.55be3",
"name": "",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"x": 950,
"y": 240,
"wires": []
},
{
"id": "bb6d29e7.8f04c",
"type": "inject",
"z": "7d09e02b.55be3",
"name": "Write single!",
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": "",
"topic": "",
"payload": "true",
"payloadType": "bool",
"x": 150,
"y": 200,
"wires": [
[
"c2e47ce8.03bc48"
]
]
},
{
"id": "c2e47ce8.03bc48",
"type": "function",
"z": "7d09e02b.55be3",
"name": "Write 10 on Unit 1 FC5",
"func": "msg.payload = { value: msg.payload, 'fc': 5, 'unitid': 1, 'address': 10 , 'quantity': 1 };\nreturn msg;",
"outputs": 1,
"noerr": 0,
"x": 440,
"y": 180,
"wires": [
[
"c33ab024.fd8f38"
]
]
},
{
"id": "9c966449.aa6798",
"type": "inject",
"z": "7d09e02b.55be3",
"name": "Write multiple!",
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": "",
"topic": "",
"payload": "[1,2,3,4,5,6,7,8,9]",
"payloadType": "json",
"x": 150,
"y": 160,
"wires": [
[
"c60dd8e2.d29288"
]
]
},
{
"id": "2a2eb89a.eac0b",
"type": "inject",
"z": "7d09e02b.55be3",
"name": "Write multiple!",
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": "",
"topic": "",
"payload": "[1,0,1,0,1,0,1,1,1,1]",
"payloadType": "json",
"x": 150,
"y": 300,
"wires": [
[
"1a6a17c2.18d91"
]
]
},
{
"id": "74137990.5ced8",
"type": "debug",
"z": "7d09e02b.55be3",
"name": "",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"x": 950,
"y": 280,
"wires": []
},
{
"id": "4f4487c.d2af0f8",
"type": "debug",
"z": "7d09e02b.55be3",
"name": "",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"x": 950,
"y": 80,
"wires": []
},
{
"id": "c5a256e9.8a997",
"type": "debug",
"z": "7d09e02b.55be3",
"name": "",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"x": 950,
"y": 120,
"wires": []
},
{
"id": "eb74a645.8cc998",
"type": "comment",
"z": "7d09e02b.55be3",
"name": "Modbus Server",
"info": "These nodes are to write to the Modbus Server.",
"x": 160,
"y": 40,
"wires": []
},
{
"id": "3532c602.c961ba",
"type": "modbus-write",
"z": "7d09e02b.55be3",
"name": "Write Reset FC5",
"showStatusActivities": false,
"showErrors": false,
"showWarnings": true,
"unitid": "",
"dataType": "Coil",
"adr": "64",
"quantity": "1",
"server": "352955bb.be6e6a",
"emptyMsgOnFail": true,
"keepMsgProperties": false,
"x": 720,
"y": 420,
"wires": [
[
"8fc3a875.c9f84"
],
[
"e3c3726.265e89"
]
]
},
{
"id": "f9f646cd.d28fb8",
"type": "inject",
"z": "7d09e02b.55be3",
"name": "",
"repeat": "1",
"crontab": "",
"once": true,
"onceDelay": "2",
"topic": "",
"payload": "true",
"payloadType": "bool",
"x": 131,
"y": 390,
"wires": [
[
"3532c602.c961ba"
]
]
},
{
"id": "8fc3a875.c9f84",
"type": "debug",
"z": "7d09e02b.55be3",
"name": "",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"x": 950,
"y": 380,
"wires": []
},
{
"id": "e3c3726.265e89",
"type": "modbus-response",
"z": "7d09e02b.55be3",
"name": "",
"registerShowMax": 20,
"x": 990,
"y": 420,
"wires": []
},
{
"id": "43c92684.cce2f",
"type": "inject",
"z": "7d09e02b.55be3",
"name": "",
"repeat": "1",
"crontab": "",
"once": true,
"onceDelay": "2",
"topic": "",
"payload": "false",
"payloadType": "bool",
"x": 131,
"y": 430,
"wires": [
[
"3532c602.c961ba"
]
]
},
{
"id": "a4b0567c.c9ca18",
"type": "debug",
"z": "f819cc75.23b27",
"name": "",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"x": 630,
"y": 460,
"wires": []
},
{
"id": "df7e5ef2.38f65",
"type": "debug",
"z": "f819cc75.23b27",
"name": "",
"active": false,
"console": "false",
"complete": "false",
"x": 730,
"y": 340,
"wires": []
},
{
"id": "fd17a154.42454",
"type": "modbus-response",
"z": "f819cc75.23b27",
"name": "",
"registerShowMax": "10",
"x": 750,
"y": 380,
"wires": []
},
{
"id": "a62ceb23.ca5f",
"type": "modbus-read",
"z": "f819cc75.23b27",
"name": "Automatic Read Flex FC3",
"topic": "",
"showStatusActivities": true,
"logIOActivities": false,
"showErrors": true,
"showWarnings": true,
"unitid": "",
"dataType": "HoldingRegister",
"adr": "0",
"quantity": "10",
"rate": "10",
"rateUnit": "s",
"delayOnStart": true,
"startDelayTime": "2",
"server": "a9050e37.a6f618",
"useIOFile": false,
"ioFile": "",
"useIOForPayload": false,
"emptyMsgOnFail": false,
"x": 190,
"y": 120,
"wires": [
[
"b5b49663.94d3e"
],
[
"ce347a0d.6f9618",
"b2085c61.0f8218"
]
]
},
{
"id": "ce347a0d.6f9618",
"type": "modbus-response",
"z": "f819cc75.23b27",
"name": "",
"registerShowMax": "20",
"x": 490,
"y": 160,
"wires": []
},
{
"id": "b5b49663.94d3e",
"type": "debug",
"z": "f819cc75.23b27",
"name": "",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"x": 470,
"y": 80,
"wires": []
},
{
"id": "f16ef99a.d686b8",
"type": "modbus-response",
"z": "f819cc75.23b27",
"name": "",
"registerShowMax": "20",
"x": 650,
"y": 500,
"wires": []
},
{
"id": "6c19f11.23bfb1",
"type": "inject",
"z": "f819cc75.23b27",
"name": "Get!",
"repeat": "2",
"crontab": "",
"once": true,
"onceDelay": "2",
"topic": "",
"payload": "",
"payloadType": "date",
"x": 150,
"y": 480,
"wires": [
[
"1674f8e1.fdfe8f"
]
]
},
{
"id": "4505efaa.4c38a",
"type": "inject",
"z": "f819cc75.23b27",
"name": "Get every second",
"repeat": "1",
"crontab": "",
"once": true,
"onceDelay": "2",
"topic": "",
"payload": "",
"payloadType": "date",
"x": 190,
"y": 360,
"wires": [
[
"f4193204.e18"
]
]
},
{
"id": "b8b9aa5f.a152f",
"type": "modbus-response",
"z": "f819cc75.23b27",
"name": "",
"registerShowMax": "5",
"x": 1030,
"y": 320,
"wires": []
},
{
"id": "3153c927.8496de",
"type": "inject",
"z": "f819cc75.23b27",
"name": "Get flexible!",
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": "",
"topic": "",
"payload": "",
"payloadType": "date",
"x": 170,
"y": 240,
"wires": [
[
"677eb47b.294d54"
]
]
},
{
"id": "677eb47b.294d54",
"type": "function",
"z": "f819cc75.23b27",
"name": "Read 0-9 on Unit 1 FC3",
"func": "msg.payload = { input: msg.payload, 'fc': 3, 'unitid': 1, 'address': 0 , 'quantity': 10 }\nreturn msg;",
"outputs": 1,
"noerr": 0,
"x": 470,
"y": 240,
"wires": [
[
"352074dc.bbbb44"
]
]
},
{
"id": "a1aca335.01abe8",
"type": "function",
"z": "f819cc75.23b27",
"name": "Read 10-18 on Unit 1 FC3",
"func": "msg.payload = { input: msg.payload, 'fc': 3, 'unitid': 1, 'address': 10 , 'quantity': 8 }\nreturn msg;",
"outputs": 1,
"noerr": 0,
"x": 480,
"y": 280,
"wires": [
[
"352074dc.bbbb44"
]
]
},
{
"id": "7cc2fa48.db70cc",
"type": "inject",
"z": "f819cc75.23b27",
"name": "Get flexible!",
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": "",
"topic": "",
"payload": "",
"payloadType": "date",
"x": 170,
"y": 280,
"wires": [
[
"a1aca335.01abe8"
]
]
},
{
"id": "352074dc.bbbb44",
"type": "modbus-flex-getter",
"z": "f819cc75.23b27",
"name": "",
"showStatusActivities": false,
"showErrors": false,
"showWarnings": true,
"logIOActivities": false,
"server": "a9050e37.a6f618",
"useIOFile": false,
"ioFile": "",
"useIOForPayload": false,
"emptyMsgOnFail": true,
"keepMsgProperties": false,
"delayOnStart": false,
"startDelayTime": "",
"x": 760,
"y": 260,
"wires": [
[
"88c7e9bb.184e28"
],
[
"b8b9aa5f.a152f",
"d841a49e.2529c8"
]
]
},
{
"id": "9c71ba37.9be1b",
"type": "debug",
"z": "f819cc75.23b27",
"name": "",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"x": 630,
"y": 580,
"wires": []
},
{
"id": "f5aea6f3.3fb8b",
"type": "modbus-response",
"z": "f819cc75.23b27",
"name": "",
"registerShowMax": "20",
"x": 650,
"y": 620,
"wires": []
},
{
"id": "f42e134e.8b7c78",
"type": "inject",
"z": "f819cc75.23b27",
"name": "Get!",
"repeat": "1",
"crontab": "",
"once": true,
"onceDelay": "2",
"topic": "",
"payload": "",
"payloadType": "date",
"x": 150,
"y": 620,
"wires": [
[
"202ae9e5.0aa426"
]
]
},
{
"id": "7c02de95.ae17c",
"type": "debug",
"z": "f819cc75.23b27",
"name": "",
"active": false,
"console": "false",
"complete": "false",
"x": 630,
"y": 710,
"wires": []
},
{
"id": "e0c9d009.3c206",
"type": "modbus-response",
"z": "f819cc75.23b27",
"name": "",
"registerShowMax": "20",
"x": 650,
"y": 750,
"wires": []
},
{
"id": "da2c72f8.030828",
"type": "inject",
"z": "f819cc75.23b27",
"name": "Get!",
"repeat": "2",
"crontab": "",
"once": true,
"onceDelay": "2",
"topic": "",
"payload": "",
"payloadType": "date",
"x": 150,
"y": 740,
"wires": [
[
"971115d3.09e608"
]
]
},
{
"id": "f4193204.e18",
"type": "modbus-getter",
"z": "f819cc75.23b27",
"name": "Half-Automatic Getter FC4",
"showStatusActivities": false,
"showErrors": false,
"showWarnings": true,
"logIOActivities": false,
"unitid": "",
"dataType": "InputRegister",
"adr": "0",
"quantity": "10",
"server": "a9050e37.a6f618",
"useIOFile": false,
"ioFile": "",
"useIOForPayload": false,
"emptyMsgOnFail": false,
"keepMsgProperties": false,
"x": 480,
"y": 360,
"wires": [
[
"df7e5ef2.38f65"
],
[
"fd17a154.42454"
]
]
},
{
"id": "1674f8e1.fdfe8f",
"type": "modbus-getter",
"z": "f819cc75.23b27",
"name": "Manual Getter FC3",
"showStatusActivities": false,
"showErrors": false,
"showWarnings": true,
"logIOActivities": false,
"unitid": "",
"dataType": "HoldingRegister",
"adr": "0",
"quantity": "10",
"server": "a9050e37.a6f618",
"useIOFile": false,
"ioFile": "",
"useIOForPayload": false,
"emptyMsgOnFail": true,
"keepMsgProperties": false,
"x": 350,
"y": 480,
"wires": [
[
"a4b0567c.c9ca18"
],
[
"f16ef99a.d686b8"
]
]
},
{
"id": "202ae9e5.0aa426",
"type": "modbus-getter",
"z": "f819cc75.23b27",
"name": "Manual Getter FC1",
"showStatusActivities": false,
"showErrors": false,
"showWarnings": true,
"logIOActivities": false,
"unitid": "",
"dataType": "Coil",
"adr": "10",
"quantity": "1",
"server": "a9050e37.a6f618",
"useIOFile": false,
"ioFile": "",
"useIOForPayload": false,
"emptyMsgOnFail": true,
"keepMsgProperties": false,
"x": 350,
"y": 620,
"wires": [
[
"9c71ba37.9be1b"
],
[
"f5aea6f3.3fb8b"
]
]
},
{
"id": "971115d3.09e608",
"type": "modbus-getter",
"z": "f819cc75.23b27",
"name": "Manual Getter FC2",
"showStatusActivities": false,
"showErrors": false,
"showWarnings": true,
"logIOActivities": false,
"unitid": "",
"dataType": "Input",
"adr": "0",
"quantity": "10",
"server": "a9050e37.a6f618",
"useIOFile": false,
"ioFile": "",
"useIOForPayload": false,
"emptyMsgOnFail": true,
"keepMsgProperties": false,
"x": 350,
"y": 740,
"wires": [
[
"7c02de95.ae17c"
],
[
"e0c9d009.3c206"
]
]
},
{
"id": "88c7e9bb.184e28",
"type": "debug",
"z": "f819cc75.23b27",
"name": "",
"active": false,
"console": "false",
"complete": "payload",
"x": 1010,
"y": 240,
"wires": []
},
{
"id": "d841a49e.2529c8",
"type": "debug",
"z": "f819cc75.23b27",
"name": "",
"active": false,
"console": "false",
"complete": "true",
"x": 990,
"y": 280,
"wires": []
},
{
"id": "b2085c61.0f8218",
"type": "debug",
"z": "f819cc75.23b27",
"name": "",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"x": 450,
"y": 120,
"wires": []
},
{
"id": "262f08f6.a82fb8",
"type": "comment",
"z": "f819cc75.23b27",
"name": "Modbus Flex Server",
"info": "These nodes are to write to the Modbus Flex Server.",
"x": 190,
"y": 60,
"wires": []
},
{
"id": "7c7d3fc.7ad87c",
"type": "catch",
"z": "f819cc75.23b27",
"name": "",
"scope": null,
"x": 780,
"y": 100,
"wires": [
[
"5e2abeb6.a4fe7",
"8391d6ea.0f47f8"
]
]
},
{
"id": "5e2abeb6.a4fe7",
"type": "debug",
"z": "f819cc75.23b27",
"name": "",
"active": true,
"console": "false",
"complete": "true",
"x": 990,
"y": 60,
"wires": []
},
{
"id": "5691f88a.317158",
"type": "modbus-queue-info",
"z": "f819cc75.23b27",
"name": "Flex Server Client Queue",
"topic": "",
"unitid": "1",
"queueReadIntervalTime": "1000",
"lowLowLevel": 25,
"lowLevel": 75,
"highLevel": 150,
"highHighLevel": 300,
"server": "a9050e37.a6f618",
"errorOnHighLevel": false,
"showStatusActivities": false,
"updateOnAllQueueChanges": false,
"updateOnAllUnitQueues": false,
"x": 1490,
"y": 120,
"wires": [
[
"60d284e5.b74a04"
]
]
},
{
"id": "53ad109f.dbb948",
"type": "function",
"z": "f819cc75.23b27",
"name": "reset on High",
"func": "if(\"high level reached\" === msg.state) {\n msg.resetQueue = true;\n}\nreturn msg;",
"outputs": 1,
"noerr": 0,
"x": 1230,
"y": 100,
"wires": [
[
"5691f88a.317158"
]
]
},
{
"id": "62c07aee.525b04",
"type": "function",
"z": "f819cc75.23b27",
"name": "reset on HighHigh",
"func": "if(\"high high level reached\" === msg.state) {\n msg.resetQueue = true;\n}\nreturn msg;",
"outputs": 1,
"noerr": 0,
"x": 1250,
"y": 140,
"wires": [
[
"5691f88a.317158"
]
]
},
{
"id": "60d284e5.b74a04",
"type": "debug",
"z": "f819cc75.23b27",
"name": "",
"active": false,
"console": "false",
"complete": "true",
"x": 1670,
"y": 120,
"wires": []
},
{
"id": "8391d6ea.0f47f8",
"type": "switch",
"z": "f819cc75.23b27",
"name": "Modbus Flex Server",
"property": "modbusClientName",
"propertyType": "msg",
"rules": [
{
"t": "eq",
"v": "Modbus Flex Server",
"vt": "str"
}
],
"checkall": "true",
"outputs": 1,
"x": 1020,
"y": 120,
"wires": [
[
"62c07aee.525b04",
"53ad109f.dbb948"
]
]
},
{
"id": "2c0aa5f.9ef9d5a",
"type": "modbus-flex-write",
"z": "3f96c5b3.72cd02",
"name": "",
"showStatusActivities": false,
"showErrors": false,
"showWarnings": true,
"server": "a9050e37.a6f618",
"emptyMsgOnFail": true,
"keepMsgProperties": false,
"x": 770,
"y": 300,
"wires": [
[
"450c068a.c5bd88"
],
[
"265b6a2c.a2c256",
"bc150c1e.72946"
]
]
},
{
"id": "79cfb326.6f93a4",
"type": "modbus-flex-write",
"z": "3f96c5b3.72cd02",
"name": "",
"showStatusActivities": false,
"showErrors": true,
"showWarnings": true,
"server": "a9050e37.a6f618",
"emptyMsgOnFail": true,
"keepMsgProperties": false,
"x": 770,
"y": 140,
"wires": [
[
"254f54b4.237a9c"
],
[
"65130716.4ebcc",
"7887793e.221e5"
]
]
},
{
"id": "65130716.4ebcc",
"type": "modbus-response",
"z": "3f96c5b3.72cd02",
"name": "",
"registerShowMax": 20,
"x": 1030,
"y": 160,
"wires": []
},
{
"id": "8f31cedb.2ef6e",
"type": "inject",
"z": "3f96c5b3.72cd02",
"name": "Write multiple!",
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": "",
"topic": "",
"payload": "[1,2,3,4,5,6,7,8,9,10]",
"payloadType": "json",
"x": 190,
"y": 80,
"wires": [
[
"7e52fe0a.b0d808"
]
]
},
{
"id": "7e52fe0a.b0d808",
"type": "function",
"z": "3f96c5b3.72cd02",
"name": "Write 0-9 on Unit 1 FC15",
"func": "msg.payload = { value: msg.payload, 'fc': 15, 'unitid': 1, 'address': 0 , 'quantity': 10 };\nreturn msg;",
"outputs": 1,
"noerr": 0,
"x": 490,
"y": 100,
"wires": [
[
"79cfb326.6f93a4"
]
]
},
{
"id": "84718058.fd93d",
"type": "function",
"z": "3f96c5b3.72cd02",
"name": "Write 10-18 on Unit 1 FC15",
"func": "msg.payload = { value: msg.payload, 'fc': 15, 'unitid': 1, 'address': 10 , 'quantity': 9 };\nreturn msg;",
"outputs": 1,
"noerr": 0,
"x": 500,
"y": 140,
"wires": [
[
"79cfb326.6f93a4"
]
]
},
{
"id": "f8a40860.a906e",
"type": "inject",
"z": "3f96c5b3.72cd02",
"name": "Write wrong multiple!",
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": "",
"topic": "",
"payload": "[1,2,3,4,5,6,7,8,9,10]",
"payloadType": "json",
"x": 220,
"y": 120,
"wires": [
[
"84718058.fd93d"
]
]
},
{
"id": "265b6a2c.a2c256",
"type": "modbus-response",
"z": "3f96c5b3.72cd02",
"name": "",
"registerShowMax": 20,
"x": 1030,
"y": 320,
"wires": []
},
{
"id": "7ed5896e.c51ff",
"type": "inject",
"z": "3f96c5b3.72cd02",
"name": "Write wrong multiple!",
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": "",
"topic": "",
"payload": "[1,0,1,0,1,0,1,1]",
"payloadType": "json",
"x": 220,
"y": 260,
"wires": [
[
"3eefe4d0.f45544"
]
]
},
{
"id": "3eefe4d0.f45544",
"type": "function",
"z": "3f96c5b3.72cd02",
"name": "Write 0-9 on Unit 1 FC16",
"func": "msg.payload = { value: msg.payload, 'fc': 16, 'unitid': 1, 'address': 0 , 'quantity': 10 };\nreturn msg;",
"outputs": 1,
"noerr": 0,
"x": 490,
"y": 280,
"wires": [
[
"2c0aa5f.9ef9d5a"
]
]
},
{
"id": "88c32a01.71c17",
"type": "function",
"z": "3f96c5b3.72cd02",
"name": "Write 10 on Unit 1 FC6",
"func": "msg.payload = { value: msg.payload, 'fc': 6, 'unitid': 1, 'address': 10 , 'quantity': 1 };\nreturn msg;",
"outputs": 1,
"noerr": 0,
"x": 480,
"y": 320,
"wires": [
[
"2c0aa5f.9ef9d5a"
]
]
},
{
"id": "cf2c6eae.078bd8",
"type": "inject",
"z": "3f96c5b3.72cd02",
"name": "Write single!",
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": "",
"topic": "",
"payload": "2345",
"payloadType": "num",
"x": 190,
"y": 340,
"wires": [
[
"88c32a01.71c17"
]
]
},
{
"id": "450c068a.c5bd88",
"type": "debug",
"z": "3f96c5b3.72cd02",
"name": "",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"x": 990,
"y": 240,
"wires": []
},
{
"id": "ceff98ed.ceb478",
"type": "inject",
"z": "3f96c5b3.72cd02",
"name": "Write single!",
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": "",
"topic": "",
"payload": "true",
"payloadType": "bool",
"x": 190,
"y": 200,
"wires": [
[
"bf1652af.654dc"
]
]
},
{
"id": "bf1652af.654dc",
"type": "function",
"z": "3f96c5b3.72cd02",
"name": "Write 10 on Unit 1 FC5",
"func": "msg.payload = { value: msg.payload, 'fc': 5, 'unitid': 1, 'address': 10 , 'quantity': 1 };\nreturn msg;",
"outputs": 1,
"noerr": 0,
"x": 480,
"y": 180,
"wires": [
[
"79cfb326.6f93a4"
]
]
},
{
"id": "759e3ebb.1b4b68",
"type": "inject",
"z": "3f96c5b3.72cd02",
"name": "Write multiple!",
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": "",
"topic": "",
"payload": "[1,2,3,4,5,6,7,8,9]",
"payloadType": "json",
"x": 190