Network Variable Example

Example flow showing how to create and split the message arrays to communicate using the netvar sender & receiver nodes.
Uses node-red-contrib-netvar.

[{"id":"66bf0a07.26e344","type":"udp in","z":"d4a2e2c6.d8d2c","name":"","iface":"","port":"1202","ipv":"udp4","multicast":"false","group":"","datatype":"buffer","x":109,"y":164,"wires":[["896037cf.2f9e38"]]},{"id":"81812dc6.5c607","type":"udp out","z":"d4a2e2c6.d8d2c","name":"","addr":"192.168.4.17","iface":"","port":"1202","ipv":"udp4","outport":"","base64":false,"multicast":"false","x":1022,"y":379,"wires":[]},{"id":"896037cf.2f9e38","type":"netvar-receiver","z":"d4a2e2c6.d8d2c","index":"1","vars":"xVal1:BOOL;bVal1:BYTE;wVal1:WORD;iVal1:INT;dwVal1:DWORD;rVal1:REAL;sVal1:STRING;","x":300,"y":164,"wires":[["3ac7038b.c782ec"]]},{"id":"a18fe183.deb1c","type":"function","z":"d4a2e2c6.d8d2c","name":"Format Array","func":"var msg_o = {};\n\n// Global Variables\nvar xVal2 = global.get('xVal2')||0;\nvar bVal2 = global.get('bVal2')||0;\nvar wVal2 = global.get('wVal2')||0;\nvar iVal2 = global.get('iVal2')||0;\nvar dwVal2 = global.get('dwVal2')||0;\nvar rVal2 = global.get('rVal2')||0;\nvar sVal2 = global.get('sVal2')||0;\n\n//xVal2 = 1;\n//bVal2 = 123;\n//wVal2 = 3424;\n//iVal2 = -350;\n//dwVal2 = 50000;\n//rVal2 = 43.23;\n//sVal2 = \"Hi\";\n\n//global.set('xVal2',xVal2);\n//global.set('bVal2',bVal2);\n//global.set('wVal2',wVal2);\n//global.set('iVal2',iVal2);\n//global.set('dwVal2',dwVal2);\n//global.set('rVal2',rVal2);\n//global.set('sVal2',sVal2);\n\n// increment byte number each send\nbVal2 = bVal2 + 1;\nif(bVal2>254){\n    bVal2 = 0;\n}\nglobal.set('bVal2',bVal2);\n\n\nvar arr =  [[\"xVal2\", \"BOOL\", xVal2],\n            [\"bVal2\", \"BYTE\", bVal2],\n            [\"wVal2\", \"WORD\", wVal2],\n            [\"iVal2\", \"INT\", iVal2],\n            [\"dwVal2\", \"DWORD\", dwVal2],\n            [\"rVal2\", \"REAL\", rVal2],\n            [\"sVal2\", \"STRING\", sVal2]];\nmsg_o.payload = arr;\nreturn msg_o;","outputs":1,"noerr":0,"x":570,"y":381,"wires":[["5f0dc8ff.cf2f88"]]},{"id":"556a6301.16d01c","type":"inject","z":"d4a2e2c6.d8d2c","name":"","topic":"","payload":"","payloadType":"date","repeat":"1","crontab":"","once":true,"onceDelay":0.1,"x":140,"y":382,"wires":[["15b1b33.3814c4d"]]},{"id":"5f0dc8ff.cf2f88","type":"netvar-sender","z":"d4a2e2c6.d8d2c","index":"3","idnum":"2970419","x":778,"y":380,"wires":[["81812dc6.5c607"]]},{"id":"15b1b33.3814c4d","type":"trigger","z":"d4a2e2c6.d8d2c","op1":"1","op2":"0","op1type":"str","op2type":"str","duration":"-50","extend":false,"units":"ms","reset":"","bytopic":"all","name":"","x":351,"y":382,"wires":[["a18fe183.deb1c"]]},{"id":"c5d6a676.278eb8","type":"debug","z":"d4a2e2c6.d8d2c","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":1048,"y":255,"wires":[]},{"id":"df58357.f532cc8","type":"inject","z":"d4a2e2c6.d8d2c","name":"","topic":"","payload":"-42","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":128,"y":473,"wires":[["c5f8fcea.8925f"]]},{"id":"c5f8fcea.8925f","type":"change","z":"d4a2e2c6.d8d2c","name":"","rules":[{"t":"set","p":"iVal2","pt":"global","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":322,"y":486,"wires":[[]]},{"id":"dd007cd3.a399c","type":"inject","z":"d4a2e2c6.d8d2c","name":"","topic":"","payload":"451","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":129,"y":510,"wires":[["c5f8fcea.8925f"]]},{"id":"9456859c.dcd188","type":"inject","z":"d4a2e2c6.d8d2c","name":"","topic":"","payload":"65500","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":125,"y":554,"wires":[["c7b61bd9.296878"]]},{"id":"c7b61bd9.296878","type":"change","z":"d4a2e2c6.d8d2c","name":"","rules":[{"t":"set","p":"wVal2","pt":"global","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":321,"y":565,"wires":[[]]},{"id":"28160ef8.c55cd2","type":"inject","z":"d4a2e2c6.d8d2c","name":"","topic":"","payload":"0","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":127,"y":589,"wires":[["c7b61bd9.296878"]]},{"id":"c226e85b.4aee68","type":"inject","z":"d4a2e2c6.d8d2c","name":"","topic":"","payload":"1","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":127,"y":632,"wires":[["c7ecdc5b.f0b2d"]]},{"id":"c7ecdc5b.f0b2d","type":"change","z":"d4a2e2c6.d8d2c","name":"","rules":[{"t":"set","p":"xVal2","pt":"global","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":321,"y":641,"wires":[[]]},{"id":"983f1d3c.5218b","type":"inject","z":"d4a2e2c6.d8d2c","name":"","topic":"","payload":"0","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":127,"y":666,"wires":[["c7ecdc5b.f0b2d"]]},{"id":"36e0c2d3.2f782e","type":"inject","z":"d4a2e2c6.d8d2c","name":"","topic":"","payload":"Hello","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":123,"y":753,"wires":[["713775c0.60c2ec"]]},{"id":"713775c0.60c2ec","type":"change","z":"d4a2e2c6.d8d2c","name":"","rules":[{"t":"set","p":"sVal2","pt":"global","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":318,"y":770,"wires":[[]]},{"id":"b3c20de8.7770d","type":"inject","z":"d4a2e2c6.d8d2c","name":"","topic":"","payload":"World","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":123,"y":787,"wires":[["713775c0.60c2ec"]]},{"id":"3a4cedd7.2a2112","type":"change","z":"d4a2e2c6.d8d2c","name":"bVal1","rules":[{"t":"set","p":"payload","pt":"msg","to":"bVal1","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":718,"y":101,"wires":[[]]},{"id":"3ac7038b.c782ec","type":"function","z":"d4a2e2c6.d8d2c","name":"Split Array","func":"var msg_o = {};\nmsg_o = {[msg.payload[0][0]] : msg.payload[0][2], \n         [msg.payload[1][0]] : msg.payload[1][2], \n         [msg.payload[2][0]] : msg.payload[2][2], \n         [msg.payload[3][0]] : msg.payload[3][2], \n         [msg.payload[4][0]] : msg.payload[4][2], \n         [msg.payload[5][0]] : msg.payload[5][2], \n         [msg.payload[6][0]] : msg.payload[6][2],};\nreturn [msg_o];","outputs":1,"noerr":0,"x":494,"y":163,"wires":[["3a4cedd7.2a2112","5be6fd59.1c3ea4","a7ee8a0e.6be748","c5ed5692.27e138","b9125bf0.c5f538","b0666342.8f60c","a86fef1f.78159"]]},{"id":"5be6fd59.1c3ea4","type":"change","z":"d4a2e2c6.d8d2c","name":"rVal1","rules":[{"t":"set","p":"payload","pt":"msg","to":"rVal1","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":719,"y":255,"wires":[["c5d6a676.278eb8"]]},{"id":"a7ee8a0e.6be748","type":"change","z":"d4a2e2c6.d8d2c","name":"sVal1","rules":[{"t":"set","p":"payload","pt":"msg","to":"sVal1","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":720,"y":294,"wires":[[]]},{"id":"c5ed5692.27e138","type":"change","z":"d4a2e2c6.d8d2c","name":"iVal1","rules":[{"t":"set","p":"payload","pt":"msg","to":"iVal1","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":718,"y":139,"wires":[[]]},{"id":"b9125bf0.c5f538","type":"change","z":"d4a2e2c6.d8d2c","name":"wVal1","rules":[{"t":"set","p":"payload","pt":"msg","to":"iVal1","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":719,"y":178,"wires":[[]]},{"id":"b0666342.8f60c","type":"change","z":"d4a2e2c6.d8d2c","name":"dwVal1","rules":[{"t":"set","p":"payload","pt":"msg","to":"iVal1","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":730,"y":216,"wires":[[]]},{"id":"a86fef1f.78159","type":"change","z":"d4a2e2c6.d8d2c","name":"xVal1","rules":[{"t":"set","p":"payload","pt":"msg","to":"iVal1","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":720,"y":65,"wires":[[]]}]

Flow Info

Created 6 years, 9 months ago
Rating: not yet rated

Owner

Actions

Rate:

Node Types

Core
  • change (x11)
  • debug (x1)
  • function (x2)
  • inject (x9)
  • trigger (x1)
  • udp in (x1)
  • udp out (x1)
Other

Tags

  • netvar
  • network
  • variables
  • IEC61131
Copy this flow JSON to your clipboard and then import into Node-RED using the Import From > Clipboard (Ctrl-I) menu option