Hardware components | ||||||
![]() |
| × | 1 | |||
Software apps and online services | ||||||
![]() |
| |||||
![]() |
| |||||
In steel making plants there are various aspects of KPI and production parameters that are always monitored by the Engineers and managers during the day.
These data is already available on the automation system (PLCs, MMI and configuration data bases) but it is dispersed during these different source.
The idea of the project is to collect all this data in a single dashboard for each area of the plant ,which displays these data in an easy way to be monitored both during work hours and the rest of the day ( by using the plant VPN network).
So a dash board was developed with node-red running on a Raspberry Pi 3 B+ as the server.
The Raspberry Pi is connected to three different network (area 1 automation network, area 2 automation network and business network)
An additional wireless network card was used to connect to area 2 automation network while utilizing the built in Ethernet and wifi to connect the business network and area 1 automation network.
The connections to the area 1 & 2 automation networks were needed to collect data from the different PLCs and databases.
While the connection to the business network was used to enable the connection to the dashboard for any computer or smart phone in the company network as well as through VPN from outside the company premises.
Additional nodes were used in the node-red environment to facilitate connection to the simatic S7 plcs.
Other devices was connected trough a socket connection and the data was parsed using a function node and some JavaScript code.
[
{
"id": "d2a52a6c.de60e8",
"type": "tab",
"label": "EAF",
"disabled": false,
"info": ""
},
{
"id": "60fc6e5c.2fca3",
"type": "tab",
"label": "LF",
"disabled": false,
"info": ""
},
{
"id": "54dd474d.2241c8",
"type": "tab",
"label": "Caster",
"disabled": false,
"info": ""
},
{
"id": "247ab9c7.0d47f6",
"type": "tab",
"label": "Mill",
"disabled": false,
"info": ""
},
{
"id": "2383f192.5ce81e",
"type": "s7 endpoint",
"z": "",
"address": "172.16.2.203",
"port": "102",
"rack": "0",
"slot": "3",
"localtsaphi": "01",
"localtsaplo": "00",
"remotetsaphi": "01",
"remotetsaplo": "00",
"connmode": "rack-slot",
"cycletime": "500",
"timeout": "1500",
"verbose": "default",
"name": "EAF",
"vartable": [
{
"addr": "db311,x5.4",
"name": "ro"
},
{
"addr": "db310,x282.3",
"name": "pon"
},
{
"addr": "db311,x12.7",
"name": "tapping"
},
{
"addr": "db200,x24.1",
"name": "rdy"
},
{
"addr": "db310,int176",
"name": "mw"
},
{
"addr": "DB 310,int256",
"name": "kwh"
},
{
"addr": "DB 311,int42",
"name": "tap"
},
{
"addr": "DB 310,int402",
"name": "temp"
},
{
"addr": "DB 310,int404",
"name": "ppm"
},
{
"addr": "MW114",
"name": "ton"
},
{
"addr": "db310,word408",
"name": "todayheatnumber"
},
{
"addr": "db310,word410",
"name": "heattime"
},
{
"addr": "I8.7",
"name": "lcr"
},
{
"addr": "db310,word174",
"name": "pf"
},
{
"addr": "db310,word98",
"name": "trt"
},
{
"addr": "db3,Dword0",
"name": "hid"
},
{
"addr": "DB311,X56.3",
"name": "pwl2"
},
{
"addr": "db3,dword4",
"name": "sg"
},
{
"addr": "db311,x18.6",
"name": "nah"
},
{
"addr": "db311,x18.7",
"name": "nam"
},
{
"addr": "db311,x19.0",
"name": "nal"
},
{
"addr": "db310,word66",
"name": "naf"
},
{
"addr": "db313,x210.1",
"name": "bp"
}
]
},
{
"id": "6210285b.bfbfd8",
"type": "ui_tab",
"z": "",
"name": "EAF Production Data",
"icon": "dashboard",
"order": 2,
"disabled": false,
"hidden": false
},
{
"id": "9ea7670f.e0cd68",
"type": "ui_base",
"z": "",
"theme": {
"name": "theme-dark",
"lightTheme": {
"default": "#0094CE",
"baseColor": "#00b1f4",
"baseFont": "-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif",
"edited": true,
"reset": false
},
"darkTheme": {
"default": "#097479",
"baseColor": "#00a3f0",
"baseFont": "-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif",
"edited": true,
"reset": false
},
"customTheme": {
"name": "Untitled Theme 1",
"default": "#4B7930",
"baseColor": "#4B7930",
"baseFont": "-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif",
"reset": false
},
"themeState": {
"base-color": {
"default": "#097479",
"value": "#00a3f0",
"edited": true
},
"page-titlebar-backgroundColor": {
"value": "#00a3f0",
"edited": false
},
"page-backgroundColor": {
"value": "#111111",
"edited": false
},
"page-sidebar-backgroundColor": {
"value": "#ffffff",
"edited": false
},
"group-textColor": {
"value": "#3dc1ff",
"edited": false
},
"group-borderColor": {
"value": "#555555",
"edited": false
},
"group-backgroundColor": {
"value": "#333333",
"edited": false
},
"widget-textColor": {
"value": "#eeeeee",
"edited": false
},
"widget-backgroundColor": {
"value": "#00a3f0",
"edited": false
},
"widget-borderColor": {
"value": "#333333",
"edited": false
},
"base-font": {
"value": "-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif"
}
},
"angularTheme": {
"primary": "indigo",
"accents": "blue",
"warn": "red",
"background": "grey"
}
},
"site": {
"name": "FSD Production Data",
"hideToolbar": "false",
"allowSwipe": "true",
"lockMenu": "false",
"allowTempTheme": "true",
"dateFormat": "DD/MM/YYYY",
"sizes": {
"sx": 48,
"sy": 48,
"gx": 5,
"gy": 5,
"cx": 3,
"cy": 3,
"px": 0,
"py": 0
}
}
},
{
"id": "62697986.2b3a78",
"type": "ui_group",
"z": "",
"name": "Active Power (MW)",
"tab": "6210285b.bfbfd8",
"order": 2,
"disp": true,
"width": "7",
"collapse": false
},
{
"id": "8db1a1e0.61c74",
"type": "ui_group",
"z": "",
"name": "Tap Changer Position",
"tab": "6210285b.bfbfd8",
"order": 4,
"disp": true,
"width": "7",
"collapse": false
},
{
"id": "df347c60.54a2a",
"type": "ui_group",
"z": "",
"name": "Previous Heat Data",
"tab": "6210285b.bfbfd8",
"order": 15,
"disp": true,
"width": "7",
"collapse": false
},
{
"id": "82c186fc.10aa68",
"type": "ui_group",
"z": "",
"name": "Energy Consumption (Mwh)",
"tab": "6210285b.bfbfd8",
"order": 8,
"disp": true,
"width": "7",
"collapse": false
},
{
"id": "159a6bb2.9eda54",
"type": "ui_group",
"z": "",
"name": "Produced Heats",
"tab": "6210285b.bfbfd8",
"order": 12,
"disp": true,
"width": "7",
"collapse": false
},
{
"id": "a16a23dd.4d6a3",
"type": "ui_group",
"z": "",
"name": "Furnace Condition",
"tab": "6210285b.bfbfd8",
"order": 5,
"disp": true,
"width": "7",
"collapse": false
},
{
"id": "2e69eefc.7e0b22",
"type": "ui_tab",
"z": "",
"name": "LF Production Data",
"icon": "dashboard",
"order": 3,
"disabled": false,
"hidden": false
},
{
"id": "4356e982.704e78",
"type": "ui_tab",
"z": "",
"name": "Caster Production Data",
"icon": "dashboard",
"order": 4,
"disabled": false,
"hidden": false
},
{
"id": "c7076a97.5369f8",
"type": "ui_group",
"z": "",
"name": "Tap Changer Postion",
"tab": "2e69eefc.7e0b22",
"order": 3,
"disp": true,
"width": "7",
"collapse": false
},
{
"id": "73e25d6e.c72b24",
"type": "ui_group",
"z": "",
"name": "Caster Mode",
"tab": "4356e982.704e78",
"order": 5,
"disp": true,
"width": "7",
"collapse": false
},
{
"id": "8fd3f64d.4ba438",
"type": "s7 endpoint",
"z": "",
"address": "172.16.2.207",
"port": "102",
"rack": "0",
"slot": "3",
"localtsaphi": "01",
"localtsaplo": "00",
"remotetsaphi": "01",
"remotetsaplo": "00",
"connmode": "rack-slot",
"cycletime": "500",
"timeout": "1500",
"verbose": "default",
"name": "DAHS",
"vartable": [
{
"addr": "db390,word62",
"name": "dri"
},
{
"addr": "db390,word16",
"name": "fr"
},
{
"addr": "db391,x27.2",
"name": "dr1"
},
{
"addr": "db391,x27.7",
"name": "dr2"
},
{
"addr": "DB391,X50.0",
"name": "drl2"
}
]
},
{
"id": "78949f54.74619",
"type": "ui_group",
"z": "",
"name": "Power On Time (Min)",
"tab": "2e69eefc.7e0b22",
"order": 4,
"disp": true,
"width": "7",
"collapse": false
},
{
"id": "937f3861.24bf38",
"type": "ui_group",
"z": "",
"name": "DRI Total Feed (Ton)",
"tab": "6210285b.bfbfd8",
"order": 6,
"disp": true,
"width": "7",
"collapse": false
},
{
"id": "628bed49.620df4",
"type": "ui_group",
"z": "",
"name": "Power on time (Min)",
"tab": "6210285b.bfbfd8",
"order": 9,
"disp": true,
"width": "7",
"collapse": false
},
{
"id": "3b663a5.962e5c6",
"type": "ui_group",
"z": "",
"name": "Power Factor",
"tab": "6210285b.bfbfd8",
"order": 3,
"disp": true,
"width": "7",
"collapse": false
},
{
"id": "732a21f3.fb5be",
"type": "ui_group",
"z": "",
"name": "DRI feeding rate (Ton/Hr)",
"tab": "6210285b.bfbfd8",
"order": 7,
"disp": true,
"width": "7",
"collapse": false
},
{
"id": "11c99533.484e2b",
"type": "ui_group",
"z": "",
"name": "Weigh Feeders Status",
"tab": "6210285b.bfbfd8",
"order": 10,
"disp": true,
"width": "7",
"collapse": false
},
{
"id": "d2c5fcc8.1b828",
"type": "ui_group",
"z": "",
"name": "Transformer Temperature (°C)",
"tab": "6210285b.bfbfd8",
"order": 11,
"disp": true,
"width": "7",
"collapse": false
},
{
"id": "435f4f4a.18742",
"type": "ui_group",
"z": "",
"name": "Previous Heat Data",
"tab": "2e69eefc.7e0b22",
"order": 6,
"disp": true,
"width": "7",
"collapse": false
},
{
"id": "22ce6c57.10bde4",
"type": "s7 endpoint",
"z": "",
"address": "172.16.2.212",
"port": "102",
"rack": "0",
"slot": "3",
"localtsaphi": "01",
"localtsaplo": "00",
"remotetsaphi": "01",
"remotetsaplo": "00",
"connmode": "rack-slot",
"cycletime": "500",
"timeout": "1500",
"verbose": "default",
"name": "More",
"vartable": [
{
"addr": "DB220,I350",
"name": "o1"
},
{
"addr": "DB220,I450",
"name": "o2"
},
{
"addr": "DB220,I550",
"name": "o3"
},
{
"addr": "DB220,I650",
"name": "o4"
},
{
"addr": "DB220,I2360",
"name": "c1"
},
{
"addr": "DB220,I2420",
"name": "c2"
},
{
"addr": "DB220,I2480",
"name": "c3"
}
]
},
{
"id": "148ac4ed.76fa6b",
"type": "ui_group",
"z": "",
"name": "Current Heat Data",
"tab": "6210285b.bfbfd8",
"order": 16,
"disp": true,
"width": "7",
"collapse": false
},
{
"id": "c3bc7f0d.7c1aa",
"type": "s7 endpoint",
"z": "",
"address": "172.16.2.205",
"port": "102",
"rack": "0",
"slot": "3",
"localtsaphi": "01",
"localtsaplo": "00",
"remotetsaphi": "01",
"remotetsaplo": "00",
"connmode": "rack-slot",
"cycletime": "500",
"timeout": "1500",
"verbose": "on",
"name": "LF",
"vartable": [
{
"addr": "db356,word42",
"name": "ltc"
},
{
"addr": "db240,r22",
"name": "tert"
},
{
"addr": "db355,r156",
"name": "lpot"
},
{
"addr": "db356,x18.4",
"name": "oah"
},
{
"addr": "db356,x18.5",
"name": "oam"
},
{
"addr": "db356,x18.6",
"name": "oal"
},
{
"addr": "db4,dword0",
"name": "hid"
},
{
"addr": "db4,dword4",
"name": "stg"
},
{
"addr": "db355,dint62",
"name": "oabf"
},
{
"addr": "db355,word256",
"name": "lkwh"
},
{
"addr": "db356,x18.7",
"name": "bp"
},
{
"addr": "db355,word98",
"name": "ltt"
},
{
"addr": "db245,word64",
"name": "ltemp"
},
{
"addr": "db245,word66",
"name": "lppm"
},
{
"addr": "db356,X16.5",
"name": "lc"
},
{
"addr": "db356,x39.0",
"name": "rdy"
},
{
"addr": "db355,X282.3",
"name": "lfo"
},
{
"addr": "db355,word196",
"name": "lmw"
},
{
"addr": "db355,word212",
"name": "lpf"
}
]
},
{
"id": "9b6ce7e8.fc4c48",
"type": "ui_group",
"z": "",
"name": "Active Power Trend (Mw)",
"tab": "6210285b.bfbfd8",
"order": 1,
"disp": true,
"width": "7",
"collapse": false
},
{
"id": "1f64e8f2.588c27",
"type": "ui_group",
"z": "",
"name": "Treatment Time (Min)",
"tab": "2e69eefc.7e0b22",
"order": 10,
"disp": true,
"width": "7",
"collapse": false
},
{
"id": "48abca34.673f24",
"type": "ui_group",
"z": "",
"name": "Old Argon bubbling Status",
"tab": "2e69eefc.7e0b22",
"order": 1,
"disp": true,
"width": "7",
"collapse": false
},
{
"id": "da4fc202.ac1",
"type": "ui_group",
"z": "",
"name": "Current Heat Data",
"tab": "2e69eefc.7e0b22",
"order": 9,
"disp": true,
"width": "7",
"collapse": false
},
{
"id": "63010c9c.712504",
"type": "ui_group",
"z": "",
"name": "New Argon Bubbling Status",
"tab": "2e69eefc.7e0b22",
"order": 2,
"disp": true,
"width": "7",
"collapse": false
},
{
"id": "98e808aa.371758",
"type": "ui_group",
"z": "",
"name": "Energy Consumption (KWH)",
"tab": "2e69eefc.7e0b22",
"order": 7,
"disp": true,
"width": "7",
"collapse": false
},
{
"id": "9c1cb38e.b0fe",
"type": "ui_group",
"z": "",
"name": "Transformer Temperature (°C)",
"tab": "2e69eefc.7e0b22",
"order": 8,
"disp": true,
"width": "7",
"collapse": false
},
{
"id": "8a2d4909.23bae8",
"type": "ui_group",
"z": "",
"name": "Furnace Condition",
"tab": "2e69eefc.7e0b22",
"order": 5,
"disp": true,
"width": "7",
"collapse": false
},
{
"id": "3e6360.8d3d9ca",
"type": "ui_group",
"z": "",
"name": "Active Power (MW)",
"tab": "2e69eefc.7e0b22",
"order": 12,
"disp": true,
"width": "7",
"collapse": false
},
{
"id": "d09e7d07.5396f",
"type": "ui_group",
"z": "",
"name": "Power Factor",
"tab": "2e69eefc.7e0b22",
"order": 13,
"disp": true,
"width": "7",
"collapse": false
},
{
"id": "1705fbf4.eeb1b4",
"type": "ui_group",
"z": "",
"name": "Active Power Trend(MW)",
"tab": "2e69eefc.7e0b22",
"order": 11,
"disp": true,
"width": "7",
"collapse": false
},
{
"id": "93b2d005.ad5bc",
"type": "s7 endpoint",
"z": "",
"address": "172.20.0.42",
"port": "102",
"rack": "0",
"slot": "3",
"localtsaphi": "01",
"localtsaplo": "00",
"remotetsaphi": "01",
"remotetsaplo": "00",
"connmode": "rack-slot",
"cycletime": "500",
"timeout": "1500",
"verbose": "default",
"name": "",
"vartable": [
{
"addr": "db900,x3.0",
"name": "crdy"
},
{
"addr": "db1560,real288",
"name": "cspeed"
},
{
"addr": "db842,x107.0",
"name": "feme"
},
{
"addr": "db842,x107.2",
"name": "ffull"
},
{
"addr": "db842,x107.3",
"name": "fnfull"
},
{
"addr": "db842,x107.7",
"name": "fendo"
},
{
"addr": "db900,x2.1",
"name": "maint"
},
{
"addr": "db900,x2.2",
"name": "pdbi"
},
{
"addr": "db900,x2.3",
"name": "dbi"
},
{
"addr": "db900,x2.4",
"name": "pcast"
},
{
"addr": "db900,x2.5",
"name": "cast"
},
{
"addr": "db900,x2.6",
"name": "tailout"
},
{
"addr": "db903,x2.1",
"name": "sim"
},
{
"addr": "db842,real224",
"name": "fbt"
},
{
"addr": "db1560,real36",
"name": "rcspeed"
},
{
"addr": "db1711,word342",
"name": "tnsc"
}
]
},
{
"id": "93976af0.2de578",
"type": "ui_group",
"z": "",
"name": "Actual Cast Speed",
"tab": "4356e982.704e78",
"order": 2,
"disp": true,
"width": "7",
"collapse": false
},
{
"id": "4094f1f1.d0b2d",
"type": "ui_group",
"z": "",
"name": "Tunnel Furnace Status",
"tab": "4356e982.704e78",
"order": 8,
"disp": true,
"width": "7",
"collapse": false
},
{
"id": "de0091b9.8e753",
"type": "s7 endpoint",
"z": "",
"address": "172.20.0.41",
"port": "102",
"rack": "0",
"slot": "3",
"localtsaphi": "01",
"localtsaplo": "00",
"remotetsaphi": "01",
"remotetsaplo": "00",
"connmode": "rack-slot",
"cycletime": "500",
"timeout": "1500",
"verbose": "default",
"name": "Common PLC",
"vartable": [
{
"addr": "db1351,real430",
"name": "ladw"
},
{
"addr": "db870,x8.2",
"name": "tc1c"
},
{
"addr": "db870,x8.3",
"name": "tc2c"
},
{
"addr": "db870,x8.4",
"name": "lta1c"
},
{
"addr": "db870,x8.5",
"name": "lta2c"
},
{
"addr": "db1351,real752",
"name": "thour"
},
{
"addr": "db1351,Dint470",
"name": "hnseq"
},
{
"addr": "db1351,int480",
"name": "remti"
},
{
"addr": "db1347,s42.10",
"name": "cseqn"
},
{
"addr": "db1347,s54.15",
"name": "csgra"
},
{
"addr": "db1347,s20.20",
"name": "hprod"
},
{
"addr": "db1347,s10.8",
"name": "cahid"
},
{
"addr": "db1347,dint50",
"name": "cstgro"
}
]
},
{
"id": "26532ace.749466",
"type": "ui_group",
"z": "",
"name": "Ladle Weight (ton)",
"tab": "4356e982.704e78",
"order": 3,
"disp": true,
"width": "7",
"collapse": false
},
{
"id": "1625ced9.f64fc1",
"type": "ui_group",
"z": "",
"name": "Tundish temperature(°C)",
"tab": "4356e982.704e78",
"order": 7,
"disp": true,
"width": "7",
"collapse": false
},
{
"id": "ba443944.05ee68",
"type": "ui_group",
"z": "",
"name": "Casting Floor Condition",
"tab": "4356e982.704e78",
"order": 10,
"disp": true,
"width": "7",
"collapse": false
},
{
"id": "d02d7fc4.3386d",
"type": "s7 endpoint",
"z": "",
"address": "172.20.0.44",
"port": "102",
"rack": "0",
"slot": "3",
"localtsaphi": "01",
"localtsaplo": "00",
"remotetsaphi": "01",
"remotetsaplo": "00",
"connmode": "rack-slot",
"cycletime": "500",
"timeout": "1500",
"verbose": "default",
"name": "",
"vartable": [
{
"addr": "db1200,real24",
"name": "mlca"
},
{
"addr": "db1200,real20",
"name": "mlcsp"
},
{
...
This file has been truncated, please download it to see its full contents.











Comments