SlideShare a Scribd company logo
Engineering the Next Generation
of Process Technologies
Andrew Smith
Lead Innovation Engineer
Connected Support
Bio • Control & Systems Engineer
• Chartered in 2003
• Started in Process Control in 1995
• glass manufacture,
• water & wastewater treatment
• SCADA, PLC control
• Data Mining, Modelling
• 12 years overseas
• Tech Start-up,
• Manufacturing,
• Innovation Consultancy
• Last 3 years in Machine Manufacturing, IIoT and
Process Data
• Now Lead Innovation Engineer for LBBC
• Live in Leeds, UK
Connected Support
• LBBC’s machines & processes
• The value of Connected Support
• Data source
• Typical users
• Typical scenarios
• Requirements
• Architecture
• Data shape as it flows
• InfluxDB role and use
• Troubleshooting
• Data mining & processing
Dewaxing Boilerclave® system
Investment Casting equipment (Global)
Ceramic Core Leaching system
Investment Casting: The process of forming a casting
(e.g. turbine blade) from a wax “pattern”, a ceramic
“core”, and a ceramic “shell”
The value of “Connected Support”
Hear what customers hear, when they hear it:
Taking real-time alerts beyond the foundry fence.
See what customers see: Taking data insights beyond the foundry fence
live and historical for the life of the machine
Advanced data processing: Complex calculations on
combinations of multiple variables at regular intervals
Data driven Condition monitoring: Spotting gradual/ imperceptible
changes and alerting the right people
Where does the data come from ? • Heating
• Top Band %
• Mid Band %
• Bottom Band %
• Fault Codes
• Valves
• V1 Open/Closed
• …
• V7 Open/Closed
• Pumps
• M1 running
• M2 Running
• Cycle
• Cycle No
• State No
• Phase No
• Countdown
• Lid / Lock
• Open / Closed
• Locked / Unlocked
• Shotbolt Engaged
• Pressures
• Process Air
• Vessel
• Temperatures
• Top Band
• Mid Band
• Bottom Band
• Top Vessel
• Mid Vessel
• Bottom Vessel
• Levels
• KOH
• Vessel
LC450
Core
Leacher
Industrial PLC (control)
• Cost efficiency ( ingest, query, storage )
• Use of standard hardware between PLC & Cloud
• Security:
• Encryption of data in transit
• MFA for data in storage
• Reliability:
• Not loosing data (even if cloud systems are down)
• Being able to guarantee that data arrived
• Serverless infrastructure (not even EC2)
• Data recording for lifetime of machine
• Data visualisation & exploration for the inexpert (ideally
without writing any code or using known languages)
• Live dashboards
• Alerts to Mobile App, email, SMS
• Complex data processing
• On data triggers
• On schedule
Needs &
Requirement
Typical Users
Maintenance Engineers
• Electrical / Mechanical background
• No software experience
• Limited PC interest
• Responsible for finding and fixing issues
• Contacted by customer with issues / questions
• Investigate issues using data
Process experts
• Specialist background. Experts in their field
• No software experience
• PC competent
• Obsessed about improving the process
• Called on for challenging process / maintenance issues
Process-Data people
• Data obsessed
• All about performance, KPIs
• Six-Sigma “blackbelt” types
• Excel experts
• Not necessarily programmers
• Create Statistical queries
Database / Software people
• Come from software background
• SQL experience
• Build Visualisations / dashboards
Managers
• Need quick easy to understand visuals for decisions
• Have very little time
• Unlikely to be bothered to point and click, let alone type
Users / Customers
• Observe issues
• Ask questions. Have problems. Want answers
• Don’t understand databases
Typical Scenarios
Maintenance Engineers
• Electrical / Mechanical background
• No software experience
• Limited PC interest
• Responsible for finding and fixing issues
• Contacted by customer with issues / questions
• Investigate issues using data
Process experts
• Specialist background. Experts in their field
• No software experience
• PC competent
• Obsessed about improving the process
• Called on for challenging process / maintenance issues
Database Geeks
• Come from software background
• SQL experience
• Build Visualisations / dashboards
Managers
• Need quick easy to understand visuals for decisions
• Have very little time
• Unlikely to be bothered to point and click, let alone type
Users / Customers
• Observe issues
• Ask questions. Have problems. Want answers
• Don’t understand databases
I’m seeing this.
Something has gone
wrong. It’s not working
Fix it!
Process Data Geeks
• Data obsessed
• All about performance, KPIs
• Six-Sigma “blackbelt” types
• Excel experts
• Not necessarily programmers
• Create Statistical queries
Maintenance Engineers
• Electrical / Mechanical background
• No software experience
• Limited PC interest
• Responsible for finding and fixing issues
• Contacted by customer with issues / questions
• Investigate issues using data
Process experts
• Specialist background. Experts in their field
• No software experience
• PC competent
• Obsessed about improving the process
• Called on for challenging process / maintenance issues
Database Geeks
• Come from software background
• SQL experience
• Build Visualisations / dashboards
Managers
• Need quick easy to understand visuals for decisions
• Have very little time
• Unlikely to be bothered to point and click, let alone type
Users / Customers
• Observe issues
• Ask questions. Have problems. Want answers
• Don’t understand databases
I want to visualise this
data together to
troubleshoot what
happened when
Process Data Geeks
• Data obsessed
• All about performance, KPIs
• Six-Sigma “blackbelt” types
• Excel experts
• Not necessarily programmers
• Create Statistical queries
Typical Scenarios
Maintenance Engineers
• Electrical / Mechanical background
• No software experience
• Limited PC interest
• Responsible for finding and fixing issues
• Contacted by customer with issues / questions
• Investigate issues using data
Process experts
• Specialist background. Experts in their field
• No software experience
• PC competent
• Obsessed about improving the process
• Called on for challenging process / maintenance issues
Database Geeks
• Come from software background
• SQL experience
• Build Visualisations / dashboards
Managers
• Need quick easy to understand visuals for decisions
• Have very little time
• Unlikely to be bothered to point and click, let alone type
Users / Customers
• Observe issues
• Ask questions. Have problems. Want answers
• Don’t understand databases
Here’s what I have
discovered (with notes
and annotations)
Process Data Geeks
• Data obsessed
• All about performance, KPIs
• Six-Sigma “blackbelt” types
• Excel experts
• Not necessarily programmers
• Create Statistical queries
Typical Scenarios
Maintenance Engineers
• Electrical / Mechanical background
• No software experience
• Limited PC interest
• Responsible for finding and fixing issues
• Contacted by customer with issues / questions
• Investigate issues using data
Process experts
• Specialist background. Experts in their field
• No software experience
• PC competent
• Obsessed about improving the process
• Called on for challenging process / maintenance issues
Database Geeks
• Come from software background
• SQL experience
• Build Visualisations / dashboards
Managers
• Need quick easy to understand visuals for decisions
• Have very little time
• Unlikely to be bothered to point and click, let alone type
Users / Customers
• Observe issues
• Ask questions. Have problems. Want answers
• Don’t understand databases
I’m seeing a valve
oscillation when the
vessel pressurises. Is
this a problem? Has it
always happened?
Does it happen on
other machines?
Process Data Geeks
• Data obsessed
• All about performance, KPIs
• Six-Sigma “blackbelt” types
• Excel experts
• Not necessarily programmers
• Create Statistical queries
Typical Scenarios
Maintenance Engineers
• Electrical / Mechanical background
• No software experience
• Limited PC interest
• Responsible for finding and fixing issues
• Contacted by customer with issues / questions
• Investigate issues using data
Process experts
• Specialist background. Experts in their field
• No software experience
• PC competent
• Obsessed about improving the process
• Called on for challenging process / maintenance issues
Database Geeks
• Come from software background
• SQL experience
• Build Visualisations / dashboards
Managers
• Need quick easy to understand visuals for decisions
• Have very little time
• Unlikely to be bothered to point and click, let alone type
Users / Customers
• Observe issues
• Ask questions. Have problems. Want answers
• Don’t understand databases
I need to investigate
this further before I
answer that. I need
data.
Process Data Geeks
• Data obsessed
• All about performance, KPIs
• Six-Sigma “blackbelt” types
• Excel experts
• Not necessarily programmers
• Create Statistical queries
Typical Scenarios
Maintenance Engineers
• Electrical / Mechanical background
• No software experience
• Limited PC interest
• Responsible for finding and fixing issues
• Contacted by customer with issues / questions
• Investigate issues using data
Process experts
• Specialist background. Experts in their field
• No software experience
• PC competent
• Obsessed about improving the process
• Called on for challenging process / maintenance issues
Database Geeks
• Come from software background
• SQL experience
• Build Visualisations / dashboards
Managers
• Need quick easy to understand visuals for decisions
• Have very little time
• Unlikely to be bothered to point and click, let alone type
Users / Customers
• Observe issues
• Ask questions. Have problems. Want answers
• Don’t understand databases
I want to visualise
Overall Equipment
Availability for each
machine in a process /
subprocess
Process Data Geeks
• Data obsessed
• All about performance, KPIs
• Six-Sigma “blackbelt” types
• Excel experts
• Not necessarily programmers
• Create Statistical queries
Typical Scenarios
Maintenance Engineers
• Electrical / Mechanical background
• No software experience
• Limited PC interest
• Responsible for finding and fixing issues
• Contacted by customer with issues / questions
• Investigate issues using data
Process experts
• Specialist background. Experts in their field
• No software experience
• PC competent
• Obsessed about improving the process
• Called on for challenging process / maintenance issues
Process Data Geeks
• Data obsessed
• All about performance, KPIs
• Six-Sigma “blackbelt” types
• Excel experts
• Not necessarily programmers
• Create Statistical queries
Database Geeks
• Come from software background
• SQL experience
• Build Visualisations / dashboards
Managers
• Need quick easy to understand visuals for decisions
• Have very little time
• Unlikely to be bothered to point and click, let alone type
Users / Customers
• Observe issues
• Ask questions. Have problems. Want answers
• Don’t understand databases
• Need access to just their data
I’m discovering some
hidden patterns in
data.
• There is an
opportunity OR
• There is a problem
Typical Scenarios
• Cost efficiency ( ingest, query, storage )
• Use of standard gateways between PLC & Cloud
• Security:
• Encryption of data in transit
• MFA for data in storage
• Reliability:
• Not loosing data (even if cloud systems are down)
• Being able to guarantee that data arrived
• Serverless infrastructure (not even EC2)
• Data recording for lifetime of machine
• Data visualisation & exploration for the inexpert (ideally
without writing any code or using known languages)
• Live dashboards
• Alerts to Mobile App, email, SMS
• Complex data processing
• On data triggers
• On schedule
Needs &
Requirement
Our chosen infrastructure • Gateways speak MQTT & OPC
Our chosen infrastructure • Gateways speak MQTT & OPC
• AWS is MQTT broker
Our chosen infrastructure • Gateways speak MQTT & OPC
• AWS is MQTT broker
• MQTT messages handled by
Lambda functions
• Lambda code
• Updates InfluxDB
• Updates live dashboards
(Servitly)
Our chosen infrastructure • Gateways speak MQTT & OPC
• AWS is MQTT broker
• MQTT messages handled by
Lambda functions
• Lambda code
• Updates InfluxDB
• Updates live dashboards
(Servitly)
• Failed data is queued and
stored in DynamoDB (e.g. if
InfluxDB down)
Our chosen infrastructure • Gateways speak MQTT & OPC
• AWS is MQTT broker
• MQTT messages handled by
Lambda functions
• Lambda code
• Updates InfluxDB
• Updates live dashboards
(Servitly)
• Failed data is queued and
stored in DynamoDB (e.g. if
InfluxDB down)
• Serverless code is watched
and alarms on issues
Our chosen infrastructure • Gateways speak MQTT & OPC
• AWS is MQTT broker
• MQTT messages handled by
Lambda functions
• Lambda code
• Updates InfluxDB
• Updates live dashboards
(Servitly)
• Failed data is queued and
stored in DynamoDB (e.g. if
InfluxDB down)
• Serverless code is watched
and alarms on issues
• 3rd party (Servitly) used for
Alerts / Live dashboarding /
Customer’s own view
Our chosen infrastructure
Data shape [
{
"S7-1200/DB20/Feedwater_Temperature": 79.939598,
"time": "2020-07-28T12:32:07.000Z"
},
{
"S7-1200/MainProgram/HMIBoilerLevel": 16417,
"time": "2020-07-28T12:32:07.000Z"
},
{
"Dewax_Pressure": 9.36146,
"time": "2020-07-28T12:32:07.000Z"
},
{
"Dewax_Temperature": 178.315674,
"time": "2020-07-28T12:32:07.000Z"
},
{
"Boiler_Pressure": 9.394047,
"time": "2020-07-28T12:32:07.000Z"
},
{
"int_PLC_Status": 706507,
"time": "2020-07-28T12:32:07.000Z"
},
{
"Boiler_Temperature": 181.019211,
"time": "2020-07-28T12:32:08.000Z"
},
{
"S7-1200/DB20/Feedwater_Temperature": 79.867264,
"time": "2020-07-28T12:32:08.000Z"
},
{
"S7-1200/MainProgram/HMIBoilerLevel": 33,
"time": "2020-07-28T12:32:08.000Z"
},
{
"Dewax_Temperature": 178.324722,
"time": "2020-07-28T12:32:08.000Z"
},
{
"int_PLC_Status": 706704,
"time": "2020-07-28T12:32:08.000Z"
Data shape {
"clientID": "1701",
"payload": [
{
"S7-1200/DB20/Feedwater_Temperature": 79.939598,
"time": "2020-07-28T12:32:07.000Z"
},
{
"S7-1200/MainProgram/HMIBoilerLevel": 16417,
"time": "2020-07-28T12:32:07.000Z"
},
{
"Dewax_Pressure": 9.36146,
"time": "2020-07-28T12:32:07.000Z"
},
{
"Dewax_Temperature": 178.315674,
"time": "2020-07-28T12:32:07.000Z"
},
...
...
...
...
Data shape {
"clientID": "1701",
"type": "data",
"intermediate": [
{
"ts": 1663666327000,
"data": {
"Feedwater_Temperature": 79.939598,
"HMIBoilerLevel": 16417,
"Dewax_Pressure": 9.36146,
"Dewax_Temperature": 178.315674,
"Boiler_Pressure": 9.394047,
"int_PLC_Status": 706507,
"apparent_data_age_minutes_difference": -0.1
}
},
{
"ts": 1663666328000,
"data": {
"Boiler_Temperature": 181.019211,
"Feedwater_Temperature": 79.867264,
"HMIBoilerLevel": 33,
"Dewax_Temperature": 178.324722,
"int_PLC_Status": 706704,
"Dewax_Pressure": 9.357156,
"Boiler_Pressure": 9.390972
}
},
{
"ts": 1663666329000,
"data": {
"Boiler_Temperature": 181.028244,
"Feedwater_Temperature": 79.776848,
"HMIBoilerLevel": 16417,
"Dewax_Pressure": 9.355311,
"Dewax_Temperature": 178.306625,
"Boiler_Pressure": 9.387898,
"int_PLC_Status": 706831
}
},
{
"ts": 1663666330000,
"data": {
"Boiler_Temperature": 181.028244,
Data shape [
'data,host=1701,method=b1_mqtt_to_influx
Feedwater_Temperature=79.939598,HMIBoilerLevel=
16417,Dewax_Pressure=9.36146,Dewax_Temperature=
178.315674,Boiler_Pressure=9.394047,int_PLC_Status=
706507,apparent_data_age_minutes_difference=-0.1
1663666327000',
'data,host=1701,method=b1_mqtt_to_influx Boiler_Temperature=
181.019211,Feedwater_Temperature=79.867264,HMIBoilerLevel=
33,Dewax_Temperature=178.324722,int_PLC_Status=
706704,Dewax_Pressure=9.357156,Boiler_Pressure=9.390972
1663666328000',
'data,host=1701,method=b1_mqtt_to_influx Boiler_Temperature=
181.028244,Feedwater_Temperature=79.776848,HMIBoilerLevel=
16417,Dewax_Pressure=9.355311,Dewax_Temperature=
178.306625,Boiler_Pressure=9.387898,int_PLC_Status=706831
1663666329000',
'data,host=1701,method=b1_mqtt_to_influx Boiler_Temperature=
181.028244,Feedwater_Temperature=79.731636,HMIBoilerLevel=
33,Dewax_Pressure=9.355926,Dewax_Temperature=
178.27951,Boiler_Pressure=9.387898,int_PLC_Status=706850
1663666330000',
'data,host=1701,method=b1_mqtt_to_influx Tag7=
0,Blowdown_Water_Supply_NRV002_OPEN=False,Tag8=
0,Boiler_Temperature=180.992081,Tag9=0,State_Register=
9,reqBoilerBlowdown=False,string_Client_IP="10.0.0.90",Boiler_Blo
wdown_Drain_OPEN=False,srWaxboothNotClosed=False,Steam_Ex
_COndensate_Drain_MV007_OPEN=False,Heaters_4_To_6
=False,Blowdown_Drain_OPEN=False,Boiler_Blowdown_Isolation_
MV005_OPEN=False,Open_Wtr_Tnk_Fill_Valve=False,Heaters_9
_To_10=False,Boilerclave_Exhaust_OPEN=False,
Feedwater_Temperature=79.98481,HMIBoilerLevel=16417,
Dewax_Pressure=9.355311,Boiler_Blowdown_Isolation_MV006
_OPEN=False,opflagOpenFeedwaterFillValve=False,Dewax_Tempera
ture=178.261429,Wax_Steam_Isolation_MV008
_OPEN=False,lsSteamValve1Open=True,Boiler_Pressure=
9.390972,srDoorClosed=True 1663666331000'
]
Data shape {
"pub_topic": "LBBC_STC/1701/data",
"ClientID": "wyxcvrbeku",
"mid": 1,
"payload": "{'ts': 1663666327000, 'data':
{'Feedwater_Temperature': 79.939598, 'HMIBoilerLevel': 16417,
'Dewax_Pressure': 9.36146, 'Dewax_Temperature': 178.315674,
'Boiler_Pressure': 9.394047, 'int_PLC_Status': 706507,
'apparent_data_age_minutes_difference': -0.1}}",
"unique_id": "wyxcvrbeku_001_1",
"item_id": "623fb913-6fca-45d6-8e89-496c52b5e86b"
}
{
"pub_topic": "LBBC_STC/1701/data",
"ClientID": "wyxcvrbeku",
"mid": 2,
"payload": "{'ts': 1663666328000, 'data': {'Boiler_Temperature':
181.019211, 'Feedwater_Temperature': 79.867264, 'HMIBoilerLevel':
33, 'Dewax_Temperature': 178.324722, 'int_PLC_Status': 706704,
'Dewax_Pressure': 9.357156, 'Boiler_Pressure': 9.390972}}",
"unique_id": "wyxcvrbeku_002_2",
"item_id": "623fb913-6fca-45d6-8e89-496c52b5e86b"
}
{
"pub_topic": "LBBC_STC/1701/data",
"ClientID": "wyxcvrbeku",
"mid": 3,
"payload": "{'ts': 1663666329000, 'data': {'Boiler_Temperature':
181.028244, 'Feedwater_Temperature': 79.776848, 'HMIBoilerLevel':
16417, 'Dewax_Pressure': 9.355311, 'Dewax_Temperature':
178.306625, 'Boiler_Pressure': 9.387898, 'int_PLC_Status':
706831}}",
"unique_id": "wyxcvrbeku_003_3",
"item_id": "623fb913-6fca-45d6-8e89-496c52b5e86b"
}
{
"pub_topic": "LBBC_STC/1701/data",
"ClientID": "wyxcvrbeku",
"mid": 4,
"payload": "{'ts': 1663666330000, 'data': {'Boiler_Temperature':
181.028244, 'Feedwater_Temperature': 79.731636, 'HMIBoilerLevel':
Connected support procedure:
Notification: LBBC
and Customer are
notified of an Alert
Service team attempt
to diagnose using just
the dashboard. InfluxDB is used to
construct any detailed
analysis
Value of InfluxDB to us
Value for IIoT use case
What
InfluxDB
delivers
Low Cost
Performant
ingest, query, process
Visualise data
Value of InfluxDB to us
Process
data
Low Cost
Performant
ingest, query, process
Visualise data
Automate
Value for IIoT use case
What
InfluxDB
delivers
Value of InfluxDB to us
Process
data
Low Cost
Performant
ingest, query, process
Visualise data
Automate Performant UI
Share insights
Explore data
Security
Value for IIoT use case
What
InfluxDB
delivers
What other products did we consider?
Forecast of DATA VOLUMES
Forecast of INGEST + STORE COSTS
Background:
• Our “Core Leaching” product uses Hydroxide
• Hydroxide is a dangerous & costly chemical
• Hydroxide depletes over months to Silicates
• Both are high pH so measuring pH doesn’t work
• Measuring Hydroxide has a customer value
Chemistry & Physics:
• Hydroxide has a very low vapour pressure.
• Low hydroxide à high vapour pressure
Data:
• 1 year’s worth of cycle data
• Pressures, temperatures, valves, pumps etc
• Data includes both fresh and spent Hydroxide
Challenge :
• Estimate Hydroxide strength from process data
• Predict when Hydroxide is going to be exhausted
Data Exploration Example
Estimating Hydroxide Vapour Pressure for cycle 1247
Cycle # 1247
Flux Code
import "math"
from(bucket: "PLC_Router_Data")
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|> filter(fn: (r) => r["host"] =~ /1718/)
|> filter(fn: (r) => r["_field"] == "VslPress1Bar" or r["_field"] == "State" or r["_field"] == "CycleNumber" or
r["_field"] =~ /InletVlvS/ or r["_field"] =~ /SafetyVlvS/)
|> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value")
|> group()
|> fill(column: "SafetyVlvStatus", usePrevious: true)
|> fill(column: "InletVlvStatus", usePrevious: true)
|> fill(column: "VslPress1Bar", usePrevious: true)
|> fill(column: "State", usePrevious: true)
|> fill(column: "CycleNumber", usePrevious: true)
|> map(fn: (r) => ({ r with SafetyValve2: r.SafetyVlvStatus }))
|> increase(columns: ["SafetyVlvStatus"])
|> difference(nonNegative: true, columns: ["SafetyVlvStatus"])
|> cumulativeSum(columns: ["SafetyVlvStatus"])
|> filter(fn: (r) => r.State == 26)
|> filter(fn: (r) => r.SafetyValve2 == 0)
|> group(columns: ["SafetyVlvStatus","CycleNumber"], mode:"by")
|> sort(columns: ["_time"], desc: false)
|> map(fn: (r) => ({ r with _time_delta: int(v: r._time)/1000000000 }))
|> increase(columns: ["_time_delta"])
|> map(fn: (r) => ({ r with time_till_next: r._time_delta }))
|> sort(columns: ["_time_delta"], desc: true)
|> difference(nonNegative: false, columns: ["time_till_next"])
//|> filter(fn: (r) => r._time_delta >= 15)
|> filter(fn: (r) => r._time_delta <= 90)
|> min(column: "time_till_next")
|> sort(columns: ["_time"], desc: false)
|> group(columns: ["CycleNumber"], mode:"by")
|> increase(columns: ["SafetyVlvStatus"])
|> filter(fn: (r) => r.SafetyVlvStatus >= 5)
Select
Pivot + Fill
Computation
of auxiliary
filter variables
Computation
of auxiliary
filter variables
Flux Code
|> rename(columns: {SafetyVlvStatus: "_x", VslPress1Bar: "_y"})
|> map(fn: (r) =>
({r with x_sq: r._x * r._x}))
|> map(fn: (r) =>
({r with x_y: r._x * r._y}))
|> reduce(fn: (r, accumulator) =>
({
sum_x: r._x + accumulator.sum_x,
sum_x_sq: r.x_sq + accumulator.sum_x_sq,
sum_xy: r.x_y + accumulator.sum_xy,
sum_y: r._y + accumulator.sum_y,
sum_n: 1.0 + accumulator.sum_n,
last_time: if r._time > accumulator.last_time then r._time else accumulator.last_time,
}), identity: {
sum_x: 0.0,
sum_x_sq: 0.0,
sum_xy: 0.0,
sum_y: 0.0,
sum_n: 0.0,
last_time: time(v: 0),
})
|> map(fn: (r) =>
({r with _m: r.sum_n * r.sum_xy - (r.sum_x * r.sum_y)}))
|> map(fn: (r) =>
({r with _m: r._m / (r.sum_n * r.sum_x_sq - (r.sum_x * r.sum_x))}))
|> map(fn: (r) =>
({r with _b: r.sum_y - (r._m * r.sum_x)}))
|> map(fn: (r) =>
({r with _b: r._b / r.sum_n}))
|> map(fn: (r) =>
//({r with _value: math.round(x: 100.0 * (r._m * 5.0 + r._b))/100.0}))
({r with _value: math.round(x: 100.0 * (r._b))/100.0}))
|> rename(columns: {last_time: "_time"})
|> group()
|> map(fn: (r) => ({ r with _colour: r._value}))
|> sort(columns: ["_value"], desc: false)
|> keep(columns: ["_time", "CycleNumber", "_value", "_colour"])
|> filter(fn: (r) => r._value > 0 or r._value < 0)
Set up
regression
Calculation
regression
SUM terms
using
“Reduce”
Calculation of
Y = mx + c
Preparing for
display
𝑚 =
𝑛 ∑ 𝑥𝑦 − ∑ 𝑥 ∑ 𝑥𝑦
𝑛 ∑ 𝑥! − (∑ 𝑥)
!
𝑏 =
∑ 𝑦 − 𝑚 ∑ 𝑥
𝑛
We’re going to do that
with a lot of data:
• 12 months data
• 150 cycles
• 1.3 million points
Computed and visualised in < 10 secs by
the cloud database.
Data Processing & Visualisation:
Discovery of hidden process patterns with value to customer!
“your timing is
right on cue. I
thought it was
close to spent.
Our performance
is definitely
decreasing”
Feb 22nd
LBBC notify
customer
that
Hydroxide
needs
changing
New
Hydroxide
Cycle
#
1247
New
Hydroxide
Tips / Learning (opinion only)
Suggest against Telegraph for IIoT. AWS+Lambda+Influx API is a ‘better’ solution:
• Telegraph needs a host. That means hardware or EC2
• AWS is serverless. AWS infrastructure costs £10/month for millions of msgs!
• AWS Lambda scales with data rates. Parallel instances are added as needed.
Suggest against MQTT ingest for IIoT. AWS+Lambda+Influx API is still a ‘better’ solution:
• If InfluxDB is down, you’ll need more advanced store and forward than MQTT offers
• Most IIoT solutions will need data to go to multiple endpoints and verify it got there.
Direct MQTT from the industrial gateway to InfluxDB will not do that
For IIoT, use “measurement” as your hostname or equipment name.
“measurement” as a data type doesn’t make sense for the IIoT use case.
• Equipment name is a more natural IIoT primary key (it’s usually the first filter of data)
• Influx’s Data explorer doesn’t allow the exploration of multiple “measurements”. i.e. you can’t
use it to plot temperatures, pressures and Boolean values on the same chart
We love InfluxDB, BUT …
It took a lot of effort to put together an AW + Lambda + Influx API.
If only Influx gave users a pre-prepared, fully functional cloud integration (AWS, GCP, Azure)
InfluxDB doesn’t allow us to restrict logins to access only a subset of data.
Users are all ‘owners’ and can view (and delete) the entire database.
We love that a link can be shared to a dashboard where time (start;stop) & variables are in the https.
But this doesn’t work for Notebooks (and neither do variables)
The InfluxDB UI delivers most of what the Industrial IoT / Process Control use case demands, with some
notable exceptions that reduce usefulness in process troubleshooting & exploration:
• The display of Boolean values
• Synchronisation of multiple charts (zoom + pan together)
• X-Y plots need Flux code.
Username / Password is basic … But IIoT users probably need to protect their data from view by MFA
• 12 months data
• 150 cycles
• 1.3 million points
Computed and visualised in < 10 secs by
the cloud database.
Data Processing & Visualisation:

More Related Content

What's hot

Alles, was Sie ueber HCL Notes 64-Bit Clients wissen muessen
Alles, was Sie ueber HCL Notes 64-Bit Clients wissen muessenAlles, was Sie ueber HCL Notes 64-Bit Clients wissen muessen
Alles, was Sie ueber HCL Notes 64-Bit Clients wissen muessen
panagenda
 
Maximizing performance via tuning and optimization
Maximizing performance via tuning and optimizationMaximizing performance via tuning and optimization
Maximizing performance via tuning and optimization
MariaDB plc
 
Best Practices: How to Analyze IoT Sensor Data with InfluxDB
Best Practices: How to Analyze IoT Sensor Data with InfluxDBBest Practices: How to Analyze IoT Sensor Data with InfluxDB
Best Practices: How to Analyze IoT Sensor Data with InfluxDB
InfluxData
 
F5 Distributed Cloud.pptx
F5 Distributed Cloud.pptxF5 Distributed Cloud.pptx
F5 Distributed Cloud.pptx
abenyeung1
 
Introduction to Redis
Introduction to RedisIntroduction to Redis
Introduction to Redis
Dvir Volk
 
DDS: The IoT Data Sharing Standard
DDS: The IoT Data Sharing StandardDDS: The IoT Data Sharing Standard
DDS: The IoT Data Sharing Standard
Angelo Corsaro
 
High Performance, High Reliability Data Loading on ClickHouse
High Performance, High Reliability Data Loading on ClickHouseHigh Performance, High Reliability Data Loading on ClickHouse
High Performance, High Reliability Data Loading on ClickHouse
Altinity Ltd
 
InfluxDB & Grafana
InfluxDB & GrafanaInfluxDB & Grafana
InfluxDB & Grafana
Pedro Salgado
 
DCS Hardware Guide
DCS Hardware GuideDCS Hardware Guide
DCS Hardware Guide
Pawan Deep
 
Introduction to Code Composer Studio 4
Introduction to Code Composer Studio 4Introduction to Code Composer Studio 4
Introduction to Code Composer Studio 4
Pantech ProLabs India Pvt Ltd
 
Time Series Data with InfluxDB
Time Series Data with InfluxDBTime Series Data with InfluxDB
Time Series Data with InfluxDB
Turi, Inc.
 
Apache Ignite vs Alluxio: Memory Speed Big Data Analytics
Apache Ignite vs Alluxio: Memory Speed Big Data AnalyticsApache Ignite vs Alluxio: Memory Speed Big Data Analytics
Apache Ignite vs Alluxio: Memory Speed Big Data Analytics
DataWorks Summit
 
Understanding How CQL3 Maps to Cassandra's Internal Data Structure
Understanding How CQL3 Maps to Cassandra's Internal Data StructureUnderstanding How CQL3 Maps to Cassandra's Internal Data Structure
Understanding How CQL3 Maps to Cassandra's Internal Data Structure
DataStax
 
PGConf.ASIA 2019 - PGSpider High Performance Cluster Engine - Shigeo Hirose
PGConf.ASIA 2019 - PGSpider High Performance Cluster Engine - Shigeo HirosePGConf.ASIA 2019 - PGSpider High Performance Cluster Engine - Shigeo Hirose
PGConf.ASIA 2019 - PGSpider High Performance Cluster Engine - Shigeo Hirose
Equnix Business Solutions
 
Understanding domino memory 2017
Understanding domino memory 2017Understanding domino memory 2017
Understanding domino memory 2017
mJOBrr
 
Use case and integration of ClickHouse with Apache Superset & Dremio
Use case and integration of ClickHouse with Apache Superset & DremioUse case and integration of ClickHouse with Apache Superset & Dremio
Use case and integration of ClickHouse with Apache Superset & Dremio
Altinity Ltd
 
MongoDB Backup & Disaster Recovery
MongoDB Backup & Disaster RecoveryMongoDB Backup & Disaster Recovery
MongoDB Backup & Disaster Recovery
Elankumaran Srinivasan
 
Step by step installation domino on docker
Step by step installation domino on dockerStep by step installation domino on docker
Step by step installation domino on docker
Roberto Boccadoro
 
ClickHouse Deep Dive, by Aleksei Milovidov
ClickHouse Deep Dive, by Aleksei MilovidovClickHouse Deep Dive, by Aleksei Milovidov
ClickHouse Deep Dive, by Aleksei Milovidov
Altinity Ltd
 
Deep Dive on ClickHouse Sharding and Replication-2202-09-22.pdf
Deep Dive on ClickHouse Sharding and Replication-2202-09-22.pdfDeep Dive on ClickHouse Sharding and Replication-2202-09-22.pdf
Deep Dive on ClickHouse Sharding and Replication-2202-09-22.pdf
Altinity Ltd
 

What's hot (20)

Alles, was Sie ueber HCL Notes 64-Bit Clients wissen muessen
Alles, was Sie ueber HCL Notes 64-Bit Clients wissen muessenAlles, was Sie ueber HCL Notes 64-Bit Clients wissen muessen
Alles, was Sie ueber HCL Notes 64-Bit Clients wissen muessen
 
Maximizing performance via tuning and optimization
Maximizing performance via tuning and optimizationMaximizing performance via tuning and optimization
Maximizing performance via tuning and optimization
 
Best Practices: How to Analyze IoT Sensor Data with InfluxDB
Best Practices: How to Analyze IoT Sensor Data with InfluxDBBest Practices: How to Analyze IoT Sensor Data with InfluxDB
Best Practices: How to Analyze IoT Sensor Data with InfluxDB
 
F5 Distributed Cloud.pptx
F5 Distributed Cloud.pptxF5 Distributed Cloud.pptx
F5 Distributed Cloud.pptx
 
Introduction to Redis
Introduction to RedisIntroduction to Redis
Introduction to Redis
 
DDS: The IoT Data Sharing Standard
DDS: The IoT Data Sharing StandardDDS: The IoT Data Sharing Standard
DDS: The IoT Data Sharing Standard
 
High Performance, High Reliability Data Loading on ClickHouse
High Performance, High Reliability Data Loading on ClickHouseHigh Performance, High Reliability Data Loading on ClickHouse
High Performance, High Reliability Data Loading on ClickHouse
 
InfluxDB & Grafana
InfluxDB & GrafanaInfluxDB & Grafana
InfluxDB & Grafana
 
DCS Hardware Guide
DCS Hardware GuideDCS Hardware Guide
DCS Hardware Guide
 
Introduction to Code Composer Studio 4
Introduction to Code Composer Studio 4Introduction to Code Composer Studio 4
Introduction to Code Composer Studio 4
 
Time Series Data with InfluxDB
Time Series Data with InfluxDBTime Series Data with InfluxDB
Time Series Data with InfluxDB
 
Apache Ignite vs Alluxio: Memory Speed Big Data Analytics
Apache Ignite vs Alluxio: Memory Speed Big Data AnalyticsApache Ignite vs Alluxio: Memory Speed Big Data Analytics
Apache Ignite vs Alluxio: Memory Speed Big Data Analytics
 
Understanding How CQL3 Maps to Cassandra's Internal Data Structure
Understanding How CQL3 Maps to Cassandra's Internal Data StructureUnderstanding How CQL3 Maps to Cassandra's Internal Data Structure
Understanding How CQL3 Maps to Cassandra's Internal Data Structure
 
PGConf.ASIA 2019 - PGSpider High Performance Cluster Engine - Shigeo Hirose
PGConf.ASIA 2019 - PGSpider High Performance Cluster Engine - Shigeo HirosePGConf.ASIA 2019 - PGSpider High Performance Cluster Engine - Shigeo Hirose
PGConf.ASIA 2019 - PGSpider High Performance Cluster Engine - Shigeo Hirose
 
Understanding domino memory 2017
Understanding domino memory 2017Understanding domino memory 2017
Understanding domino memory 2017
 
Use case and integration of ClickHouse with Apache Superset & Dremio
Use case and integration of ClickHouse with Apache Superset & DremioUse case and integration of ClickHouse with Apache Superset & Dremio
Use case and integration of ClickHouse with Apache Superset & Dremio
 
MongoDB Backup & Disaster Recovery
MongoDB Backup & Disaster RecoveryMongoDB Backup & Disaster Recovery
MongoDB Backup & Disaster Recovery
 
Step by step installation domino on docker
Step by step installation domino on dockerStep by step installation domino on docker
Step by step installation domino on docker
 
ClickHouse Deep Dive, by Aleksei Milovidov
ClickHouse Deep Dive, by Aleksei MilovidovClickHouse Deep Dive, by Aleksei Milovidov
ClickHouse Deep Dive, by Aleksei Milovidov
 
Deep Dive on ClickHouse Sharding and Replication-2202-09-22.pdf
Deep Dive on ClickHouse Sharding and Replication-2202-09-22.pdfDeep Dive on ClickHouse Sharding and Replication-2202-09-22.pdf
Deep Dive on ClickHouse Sharding and Replication-2202-09-22.pdf
 

Similar to Improving Industrial Machine Support Using InfluxDB, Web SCADA, and AWS

ServiceNow + Precisely: Getting Business Value and Visibility from Mainframe ...
ServiceNow + Precisely: Getting Business Value and Visibility from Mainframe ...ServiceNow + Precisely: Getting Business Value and Visibility from Mainframe ...
ServiceNow + Precisely: Getting Business Value and Visibility from Mainframe ...
Precisely
 
Career Paths for Software Professionals
Career Paths for Software ProfessionalsCareer Paths for Software Professionals
Career Paths for Software Professionals
Ahmed Misbah
 
Jobsjobsjobs
JobsjobsjobsJobsjobsjobs
Jobsjobsjobs
shawnf2427
 
Technical Without Code
Technical Without CodeTechnical Without Code
Technical Without Code
Caitlin Cassidy
 
Optimizing Access with SQL Server
Optimizing Access with SQL ServerOptimizing Access with SQL Server
Optimizing Access with SQL Server
PRPASS Chapter
 
Synergis University 2014- 10 Data Management Challenges You Can Solve in 3 weeks
Synergis University 2014- 10 Data Management Challenges You Can Solve in 3 weeksSynergis University 2014- 10 Data Management Challenges You Can Solve in 3 weeks
Synergis University 2014- 10 Data Management Challenges You Can Solve in 3 weeks
Synergis Engineering Design Solutions
 
Better Results. Less Work. Optimize IT with Mainframe Visibility in Splunk
Better Results. Less Work. Optimize IT with Mainframe Visibility in SplunkBetter Results. Less Work. Optimize IT with Mainframe Visibility in Splunk
Better Results. Less Work. Optimize IT with Mainframe Visibility in Splunk
Precisely
 
DNN-Connect 2019: DNN Horror Stories
DNN-Connect 2019: DNN Horror StoriesDNN-Connect 2019: DNN Horror Stories
DNN-Connect 2019: DNN Horror Stories
Will Strohl
 
Engineering Collaboration Webinar One
Engineering Collaboration Webinar OneEngineering Collaboration Webinar One
Engineering Collaboration Webinar One
Stephen Porter
 
Development Lifecycle
Development LifecycleDevelopment Lifecycle
Development Lifecycle
FA20BCS061GHANAKAMAL
 
4 roles on the it project team
4 roles on the it project team4 roles on the it project team
4 roles on the it project team
Daniel Gordon
 
CV MG DU TOIT V0 8.8
CV MG DU TOIT V0 8.8CV MG DU TOIT V0 8.8
CV MG DU TOIT V0 8.8
Margaretha Du Toit
 
SQLSaturday 664 - Troubleshoot SQL Server performance problems like a Microso...
SQLSaturday 664 - Troubleshoot SQL Server performance problems like a Microso...SQLSaturday 664 - Troubleshoot SQL Server performance problems like a Microso...
SQLSaturday 664 - Troubleshoot SQL Server performance problems like a Microso...
Marek Maśko
 
The Death of the Star Schema
The Death of the Star SchemaThe Death of the Star Schema
The Death of the Star Schema
DATAVERSITY
 
Alok.Resume_3.4
Alok.Resume_3.4Alok.Resume_3.4
Alok.Resume_3.4
Alok Rajkumar
 
Learnings from 7 Years of Integrating Mission-Critical IBM Z® and IBM i with ...
Learnings from 7 Years of Integrating Mission-Critical IBM Z® and IBM i with ...Learnings from 7 Years of Integrating Mission-Critical IBM Z® and IBM i with ...
Learnings from 7 Years of Integrating Mission-Critical IBM Z® and IBM i with ...
Precisely
 
1 - Introduction.ppt
1 - Introduction.ppt1 - Introduction.ppt
1 - Introduction.ppt
MuhammadFarhan571648
 
Designing and Implementing Information Systems with Event Modeling, Bobby Cal...
Designing and Implementing Information Systems with Event Modeling, Bobby Cal...Designing and Implementing Information Systems with Event Modeling, Bobby Cal...
Designing and Implementing Information Systems with Event Modeling, Bobby Cal...
confluent
 
Building Information Systems using Event Modeling (Bobby Calderwood, Evident ...
Building Information Systems using Event Modeling (Bobby Calderwood, Evident ...Building Information Systems using Event Modeling (Bobby Calderwood, Evident ...
Building Information Systems using Event Modeling (Bobby Calderwood, Evident ...
confluent
 
Lect3
Lect3Lect3

Similar to Improving Industrial Machine Support Using InfluxDB, Web SCADA, and AWS (20)

ServiceNow + Precisely: Getting Business Value and Visibility from Mainframe ...
ServiceNow + Precisely: Getting Business Value and Visibility from Mainframe ...ServiceNow + Precisely: Getting Business Value and Visibility from Mainframe ...
ServiceNow + Precisely: Getting Business Value and Visibility from Mainframe ...
 
Career Paths for Software Professionals
Career Paths for Software ProfessionalsCareer Paths for Software Professionals
Career Paths for Software Professionals
 
Jobsjobsjobs
JobsjobsjobsJobsjobsjobs
Jobsjobsjobs
 
Technical Without Code
Technical Without CodeTechnical Without Code
Technical Without Code
 
Optimizing Access with SQL Server
Optimizing Access with SQL ServerOptimizing Access with SQL Server
Optimizing Access with SQL Server
 
Synergis University 2014- 10 Data Management Challenges You Can Solve in 3 weeks
Synergis University 2014- 10 Data Management Challenges You Can Solve in 3 weeksSynergis University 2014- 10 Data Management Challenges You Can Solve in 3 weeks
Synergis University 2014- 10 Data Management Challenges You Can Solve in 3 weeks
 
Better Results. Less Work. Optimize IT with Mainframe Visibility in Splunk
Better Results. Less Work. Optimize IT with Mainframe Visibility in SplunkBetter Results. Less Work. Optimize IT with Mainframe Visibility in Splunk
Better Results. Less Work. Optimize IT with Mainframe Visibility in Splunk
 
DNN-Connect 2019: DNN Horror Stories
DNN-Connect 2019: DNN Horror StoriesDNN-Connect 2019: DNN Horror Stories
DNN-Connect 2019: DNN Horror Stories
 
Engineering Collaboration Webinar One
Engineering Collaboration Webinar OneEngineering Collaboration Webinar One
Engineering Collaboration Webinar One
 
Development Lifecycle
Development LifecycleDevelopment Lifecycle
Development Lifecycle
 
4 roles on the it project team
4 roles on the it project team4 roles on the it project team
4 roles on the it project team
 
CV MG DU TOIT V0 8.8
CV MG DU TOIT V0 8.8CV MG DU TOIT V0 8.8
CV MG DU TOIT V0 8.8
 
SQLSaturday 664 - Troubleshoot SQL Server performance problems like a Microso...
SQLSaturday 664 - Troubleshoot SQL Server performance problems like a Microso...SQLSaturday 664 - Troubleshoot SQL Server performance problems like a Microso...
SQLSaturday 664 - Troubleshoot SQL Server performance problems like a Microso...
 
The Death of the Star Schema
The Death of the Star SchemaThe Death of the Star Schema
The Death of the Star Schema
 
Alok.Resume_3.4
Alok.Resume_3.4Alok.Resume_3.4
Alok.Resume_3.4
 
Learnings from 7 Years of Integrating Mission-Critical IBM Z® and IBM i with ...
Learnings from 7 Years of Integrating Mission-Critical IBM Z® and IBM i with ...Learnings from 7 Years of Integrating Mission-Critical IBM Z® and IBM i with ...
Learnings from 7 Years of Integrating Mission-Critical IBM Z® and IBM i with ...
 
1 - Introduction.ppt
1 - Introduction.ppt1 - Introduction.ppt
1 - Introduction.ppt
 
Designing and Implementing Information Systems with Event Modeling, Bobby Cal...
Designing and Implementing Information Systems with Event Modeling, Bobby Cal...Designing and Implementing Information Systems with Event Modeling, Bobby Cal...
Designing and Implementing Information Systems with Event Modeling, Bobby Cal...
 
Building Information Systems using Event Modeling (Bobby Calderwood, Evident ...
Building Information Systems using Event Modeling (Bobby Calderwood, Evident ...Building Information Systems using Event Modeling (Bobby Calderwood, Evident ...
Building Information Systems using Event Modeling (Bobby Calderwood, Evident ...
 
Lect3
Lect3Lect3
Lect3
 

More from InfluxData

Announcing InfluxDB Clustered
Announcing InfluxDB ClusteredAnnouncing InfluxDB Clustered
Announcing InfluxDB Clustered
InfluxData
 
Best Practices for Leveraging the Apache Arrow Ecosystem
Best Practices for Leveraging the Apache Arrow EcosystemBest Practices for Leveraging the Apache Arrow Ecosystem
Best Practices for Leveraging the Apache Arrow Ecosystem
InfluxData
 
How Bevi Uses InfluxDB and Grafana to Improve Predictive Maintenance and Redu...
How Bevi Uses InfluxDB and Grafana to Improve Predictive Maintenance and Redu...How Bevi Uses InfluxDB and Grafana to Improve Predictive Maintenance and Redu...
How Bevi Uses InfluxDB and Grafana to Improve Predictive Maintenance and Redu...
InfluxData
 
Power Your Predictive Analytics with InfluxDB
Power Your Predictive Analytics with InfluxDBPower Your Predictive Analytics with InfluxDB
Power Your Predictive Analytics with InfluxDB
InfluxData
 
How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base
How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base
How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base
InfluxData
 
Build an Edge-to-Cloud Solution with the MING Stack
Build an Edge-to-Cloud Solution with the MING StackBuild an Edge-to-Cloud Solution with the MING Stack
Build an Edge-to-Cloud Solution with the MING Stack
InfluxData
 
Meet the Founders: An Open Discussion About Rewriting Using Rust
Meet the Founders: An Open Discussion About Rewriting Using RustMeet the Founders: An Open Discussion About Rewriting Using Rust
Meet the Founders: An Open Discussion About Rewriting Using Rust
InfluxData
 
Introducing InfluxDB Cloud Dedicated
Introducing InfluxDB Cloud DedicatedIntroducing InfluxDB Cloud Dedicated
Introducing InfluxDB Cloud Dedicated
InfluxData
 
Gain Better Observability with OpenTelemetry and InfluxDB
Gain Better Observability with OpenTelemetry and InfluxDB Gain Better Observability with OpenTelemetry and InfluxDB
Gain Better Observability with OpenTelemetry and InfluxDB
InfluxData
 
How Delft University's Engineering Students Make Their EV Formula-Style Race ...
How Delft University's Engineering Students Make Their EV Formula-Style Race ...How Delft University's Engineering Students Make Their EV Formula-Style Race ...
How Delft University's Engineering Students Make Their EV Formula-Style Race ...
InfluxData
 
Introducing InfluxDB’s New Time Series Database Storage Engine
Introducing InfluxDB’s New Time Series Database Storage EngineIntroducing InfluxDB’s New Time Series Database Storage Engine
Introducing InfluxDB’s New Time Series Database Storage Engine
InfluxData
 
Understanding InfluxDB’s New Storage Engine
Understanding InfluxDB’s New Storage EngineUnderstanding InfluxDB’s New Storage Engine
Understanding InfluxDB’s New Storage Engine
InfluxData
 
Streamline and Scale Out Data Pipelines with Kubernetes, Telegraf, and InfluxDB
Streamline and Scale Out Data Pipelines with Kubernetes, Telegraf, and InfluxDBStreamline and Scale Out Data Pipelines with Kubernetes, Telegraf, and InfluxDB
Streamline and Scale Out Data Pipelines with Kubernetes, Telegraf, and InfluxDB
InfluxData
 
Ward Bowman [PTC] | ThingWorx Long-Term Data Storage with InfluxDB | InfluxDa...
Ward Bowman [PTC] | ThingWorx Long-Term Data Storage with InfluxDB | InfluxDa...Ward Bowman [PTC] | ThingWorx Long-Term Data Storage with InfluxDB | InfluxDa...
Ward Bowman [PTC] | ThingWorx Long-Term Data Storage with InfluxDB | InfluxDa...
InfluxData
 
Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022
Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022
Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022
InfluxData
 
Steinkamp, Clifford [InfluxData] | Closing Thoughts | InfluxDays 2022
Steinkamp, Clifford [InfluxData] | Closing Thoughts | InfluxDays 2022Steinkamp, Clifford [InfluxData] | Closing Thoughts | InfluxDays 2022
Steinkamp, Clifford [InfluxData] | Closing Thoughts | InfluxDays 2022
InfluxData
 
Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...
Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...
Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...
InfluxData
 
Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022
Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022
Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022
InfluxData
 
Paul Dix [InfluxData] The Journey of InfluxDB | InfluxDays 2022
Paul Dix [InfluxData] The Journey of InfluxDB | InfluxDays 2022Paul Dix [InfluxData] The Journey of InfluxDB | InfluxDays 2022
Paul Dix [InfluxData] The Journey of InfluxDB | InfluxDays 2022
InfluxData
 
Jay Clifford [InfluxData] | Tips & Tricks for Analyzing IIoT in Real-Time | I...
Jay Clifford [InfluxData] | Tips & Tricks for Analyzing IIoT in Real-Time | I...Jay Clifford [InfluxData] | Tips & Tricks for Analyzing IIoT in Real-Time | I...
Jay Clifford [InfluxData] | Tips & Tricks for Analyzing IIoT in Real-Time | I...
InfluxData
 

More from InfluxData (20)

Announcing InfluxDB Clustered
Announcing InfluxDB ClusteredAnnouncing InfluxDB Clustered
Announcing InfluxDB Clustered
 
Best Practices for Leveraging the Apache Arrow Ecosystem
Best Practices for Leveraging the Apache Arrow EcosystemBest Practices for Leveraging the Apache Arrow Ecosystem
Best Practices for Leveraging the Apache Arrow Ecosystem
 
How Bevi Uses InfluxDB and Grafana to Improve Predictive Maintenance and Redu...
How Bevi Uses InfluxDB and Grafana to Improve Predictive Maintenance and Redu...How Bevi Uses InfluxDB and Grafana to Improve Predictive Maintenance and Redu...
How Bevi Uses InfluxDB and Grafana to Improve Predictive Maintenance and Redu...
 
Power Your Predictive Analytics with InfluxDB
Power Your Predictive Analytics with InfluxDBPower Your Predictive Analytics with InfluxDB
Power Your Predictive Analytics with InfluxDB
 
How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base
How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base
How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base
 
Build an Edge-to-Cloud Solution with the MING Stack
Build an Edge-to-Cloud Solution with the MING StackBuild an Edge-to-Cloud Solution with the MING Stack
Build an Edge-to-Cloud Solution with the MING Stack
 
Meet the Founders: An Open Discussion About Rewriting Using Rust
Meet the Founders: An Open Discussion About Rewriting Using RustMeet the Founders: An Open Discussion About Rewriting Using Rust
Meet the Founders: An Open Discussion About Rewriting Using Rust
 
Introducing InfluxDB Cloud Dedicated
Introducing InfluxDB Cloud DedicatedIntroducing InfluxDB Cloud Dedicated
Introducing InfluxDB Cloud Dedicated
 
Gain Better Observability with OpenTelemetry and InfluxDB
Gain Better Observability with OpenTelemetry and InfluxDB Gain Better Observability with OpenTelemetry and InfluxDB
Gain Better Observability with OpenTelemetry and InfluxDB
 
How Delft University's Engineering Students Make Their EV Formula-Style Race ...
How Delft University's Engineering Students Make Their EV Formula-Style Race ...How Delft University's Engineering Students Make Their EV Formula-Style Race ...
How Delft University's Engineering Students Make Their EV Formula-Style Race ...
 
Introducing InfluxDB’s New Time Series Database Storage Engine
Introducing InfluxDB’s New Time Series Database Storage EngineIntroducing InfluxDB’s New Time Series Database Storage Engine
Introducing InfluxDB’s New Time Series Database Storage Engine
 
Understanding InfluxDB’s New Storage Engine
Understanding InfluxDB’s New Storage EngineUnderstanding InfluxDB’s New Storage Engine
Understanding InfluxDB’s New Storage Engine
 
Streamline and Scale Out Data Pipelines with Kubernetes, Telegraf, and InfluxDB
Streamline and Scale Out Data Pipelines with Kubernetes, Telegraf, and InfluxDBStreamline and Scale Out Data Pipelines with Kubernetes, Telegraf, and InfluxDB
Streamline and Scale Out Data Pipelines with Kubernetes, Telegraf, and InfluxDB
 
Ward Bowman [PTC] | ThingWorx Long-Term Data Storage with InfluxDB | InfluxDa...
Ward Bowman [PTC] | ThingWorx Long-Term Data Storage with InfluxDB | InfluxDa...Ward Bowman [PTC] | ThingWorx Long-Term Data Storage with InfluxDB | InfluxDa...
Ward Bowman [PTC] | ThingWorx Long-Term Data Storage with InfluxDB | InfluxDa...
 
Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022
Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022
Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022
 
Steinkamp, Clifford [InfluxData] | Closing Thoughts | InfluxDays 2022
Steinkamp, Clifford [InfluxData] | Closing Thoughts | InfluxDays 2022Steinkamp, Clifford [InfluxData] | Closing Thoughts | InfluxDays 2022
Steinkamp, Clifford [InfluxData] | Closing Thoughts | InfluxDays 2022
 
Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...
Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...
Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...
 
Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022
Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022
Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022
 
Paul Dix [InfluxData] The Journey of InfluxDB | InfluxDays 2022
Paul Dix [InfluxData] The Journey of InfluxDB | InfluxDays 2022Paul Dix [InfluxData] The Journey of InfluxDB | InfluxDays 2022
Paul Dix [InfluxData] The Journey of InfluxDB | InfluxDays 2022
 
Jay Clifford [InfluxData] | Tips & Tricks for Analyzing IIoT in Real-Time | I...
Jay Clifford [InfluxData] | Tips & Tricks for Analyzing IIoT in Real-Time | I...Jay Clifford [InfluxData] | Tips & Tricks for Analyzing IIoT in Real-Time | I...
Jay Clifford [InfluxData] | Tips & Tricks for Analyzing IIoT in Real-Time | I...
 

Recently uploaded

HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
Edge AI and Vision Alliance
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
Antonios Katsarakis
 
Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
Ivo Velitchkov
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Precisely
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
AstuteBusiness
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Neo4j
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
Fwdays
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
Ajin Abraham
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
c5vrf27qcz
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
Miro Wengner
 

Recently uploaded (20)

HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
 
Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
 

Improving Industrial Machine Support Using InfluxDB, Web SCADA, and AWS

  • 1. Engineering the Next Generation of Process Technologies Andrew Smith Lead Innovation Engineer Connected Support
  • 2. Bio • Control & Systems Engineer • Chartered in 2003 • Started in Process Control in 1995 • glass manufacture, • water & wastewater treatment • SCADA, PLC control • Data Mining, Modelling • 12 years overseas • Tech Start-up, • Manufacturing, • Innovation Consultancy • Last 3 years in Machine Manufacturing, IIoT and Process Data • Now Lead Innovation Engineer for LBBC • Live in Leeds, UK
  • 3. Connected Support • LBBC’s machines & processes • The value of Connected Support • Data source • Typical users • Typical scenarios • Requirements • Architecture • Data shape as it flows • InfluxDB role and use • Troubleshooting • Data mining & processing
  • 4. Dewaxing Boilerclave® system Investment Casting equipment (Global) Ceramic Core Leaching system Investment Casting: The process of forming a casting (e.g. turbine blade) from a wax “pattern”, a ceramic “core”, and a ceramic “shell”
  • 5. The value of “Connected Support” Hear what customers hear, when they hear it: Taking real-time alerts beyond the foundry fence. See what customers see: Taking data insights beyond the foundry fence live and historical for the life of the machine Advanced data processing: Complex calculations on combinations of multiple variables at regular intervals Data driven Condition monitoring: Spotting gradual/ imperceptible changes and alerting the right people
  • 6. Where does the data come from ? • Heating • Top Band % • Mid Band % • Bottom Band % • Fault Codes • Valves • V1 Open/Closed • … • V7 Open/Closed • Pumps • M1 running • M2 Running • Cycle • Cycle No • State No • Phase No • Countdown • Lid / Lock • Open / Closed • Locked / Unlocked • Shotbolt Engaged • Pressures • Process Air • Vessel • Temperatures • Top Band • Mid Band • Bottom Band • Top Vessel • Mid Vessel • Bottom Vessel • Levels • KOH • Vessel LC450 Core Leacher Industrial PLC (control)
  • 7. • Cost efficiency ( ingest, query, storage ) • Use of standard hardware between PLC & Cloud • Security: • Encryption of data in transit • MFA for data in storage • Reliability: • Not loosing data (even if cloud systems are down) • Being able to guarantee that data arrived • Serverless infrastructure (not even EC2) • Data recording for lifetime of machine • Data visualisation & exploration for the inexpert (ideally without writing any code or using known languages) • Live dashboards • Alerts to Mobile App, email, SMS • Complex data processing • On data triggers • On schedule Needs & Requirement
  • 8. Typical Users Maintenance Engineers • Electrical / Mechanical background • No software experience • Limited PC interest • Responsible for finding and fixing issues • Contacted by customer with issues / questions • Investigate issues using data Process experts • Specialist background. Experts in their field • No software experience • PC competent • Obsessed about improving the process • Called on for challenging process / maintenance issues Process-Data people • Data obsessed • All about performance, KPIs • Six-Sigma “blackbelt” types • Excel experts • Not necessarily programmers • Create Statistical queries Database / Software people • Come from software background • SQL experience • Build Visualisations / dashboards Managers • Need quick easy to understand visuals for decisions • Have very little time • Unlikely to be bothered to point and click, let alone type Users / Customers • Observe issues • Ask questions. Have problems. Want answers • Don’t understand databases
  • 9. Typical Scenarios Maintenance Engineers • Electrical / Mechanical background • No software experience • Limited PC interest • Responsible for finding and fixing issues • Contacted by customer with issues / questions • Investigate issues using data Process experts • Specialist background. Experts in their field • No software experience • PC competent • Obsessed about improving the process • Called on for challenging process / maintenance issues Database Geeks • Come from software background • SQL experience • Build Visualisations / dashboards Managers • Need quick easy to understand visuals for decisions • Have very little time • Unlikely to be bothered to point and click, let alone type Users / Customers • Observe issues • Ask questions. Have problems. Want answers • Don’t understand databases I’m seeing this. Something has gone wrong. It’s not working Fix it! Process Data Geeks • Data obsessed • All about performance, KPIs • Six-Sigma “blackbelt” types • Excel experts • Not necessarily programmers • Create Statistical queries
  • 10. Maintenance Engineers • Electrical / Mechanical background • No software experience • Limited PC interest • Responsible for finding and fixing issues • Contacted by customer with issues / questions • Investigate issues using data Process experts • Specialist background. Experts in their field • No software experience • PC competent • Obsessed about improving the process • Called on for challenging process / maintenance issues Database Geeks • Come from software background • SQL experience • Build Visualisations / dashboards Managers • Need quick easy to understand visuals for decisions • Have very little time • Unlikely to be bothered to point and click, let alone type Users / Customers • Observe issues • Ask questions. Have problems. Want answers • Don’t understand databases I want to visualise this data together to troubleshoot what happened when Process Data Geeks • Data obsessed • All about performance, KPIs • Six-Sigma “blackbelt” types • Excel experts • Not necessarily programmers • Create Statistical queries Typical Scenarios
  • 11. Maintenance Engineers • Electrical / Mechanical background • No software experience • Limited PC interest • Responsible for finding and fixing issues • Contacted by customer with issues / questions • Investigate issues using data Process experts • Specialist background. Experts in their field • No software experience • PC competent • Obsessed about improving the process • Called on for challenging process / maintenance issues Database Geeks • Come from software background • SQL experience • Build Visualisations / dashboards Managers • Need quick easy to understand visuals for decisions • Have very little time • Unlikely to be bothered to point and click, let alone type Users / Customers • Observe issues • Ask questions. Have problems. Want answers • Don’t understand databases Here’s what I have discovered (with notes and annotations) Process Data Geeks • Data obsessed • All about performance, KPIs • Six-Sigma “blackbelt” types • Excel experts • Not necessarily programmers • Create Statistical queries Typical Scenarios
  • 12. Maintenance Engineers • Electrical / Mechanical background • No software experience • Limited PC interest • Responsible for finding and fixing issues • Contacted by customer with issues / questions • Investigate issues using data Process experts • Specialist background. Experts in their field • No software experience • PC competent • Obsessed about improving the process • Called on for challenging process / maintenance issues Database Geeks • Come from software background • SQL experience • Build Visualisations / dashboards Managers • Need quick easy to understand visuals for decisions • Have very little time • Unlikely to be bothered to point and click, let alone type Users / Customers • Observe issues • Ask questions. Have problems. Want answers • Don’t understand databases I’m seeing a valve oscillation when the vessel pressurises. Is this a problem? Has it always happened? Does it happen on other machines? Process Data Geeks • Data obsessed • All about performance, KPIs • Six-Sigma “blackbelt” types • Excel experts • Not necessarily programmers • Create Statistical queries Typical Scenarios
  • 13. Maintenance Engineers • Electrical / Mechanical background • No software experience • Limited PC interest • Responsible for finding and fixing issues • Contacted by customer with issues / questions • Investigate issues using data Process experts • Specialist background. Experts in their field • No software experience • PC competent • Obsessed about improving the process • Called on for challenging process / maintenance issues Database Geeks • Come from software background • SQL experience • Build Visualisations / dashboards Managers • Need quick easy to understand visuals for decisions • Have very little time • Unlikely to be bothered to point and click, let alone type Users / Customers • Observe issues • Ask questions. Have problems. Want answers • Don’t understand databases I need to investigate this further before I answer that. I need data. Process Data Geeks • Data obsessed • All about performance, KPIs • Six-Sigma “blackbelt” types • Excel experts • Not necessarily programmers • Create Statistical queries Typical Scenarios
  • 14. Maintenance Engineers • Electrical / Mechanical background • No software experience • Limited PC interest • Responsible for finding and fixing issues • Contacted by customer with issues / questions • Investigate issues using data Process experts • Specialist background. Experts in their field • No software experience • PC competent • Obsessed about improving the process • Called on for challenging process / maintenance issues Database Geeks • Come from software background • SQL experience • Build Visualisations / dashboards Managers • Need quick easy to understand visuals for decisions • Have very little time • Unlikely to be bothered to point and click, let alone type Users / Customers • Observe issues • Ask questions. Have problems. Want answers • Don’t understand databases I want to visualise Overall Equipment Availability for each machine in a process / subprocess Process Data Geeks • Data obsessed • All about performance, KPIs • Six-Sigma “blackbelt” types • Excel experts • Not necessarily programmers • Create Statistical queries Typical Scenarios
  • 15. Maintenance Engineers • Electrical / Mechanical background • No software experience • Limited PC interest • Responsible for finding and fixing issues • Contacted by customer with issues / questions • Investigate issues using data Process experts • Specialist background. Experts in their field • No software experience • PC competent • Obsessed about improving the process • Called on for challenging process / maintenance issues Process Data Geeks • Data obsessed • All about performance, KPIs • Six-Sigma “blackbelt” types • Excel experts • Not necessarily programmers • Create Statistical queries Database Geeks • Come from software background • SQL experience • Build Visualisations / dashboards Managers • Need quick easy to understand visuals for decisions • Have very little time • Unlikely to be bothered to point and click, let alone type Users / Customers • Observe issues • Ask questions. Have problems. Want answers • Don’t understand databases • Need access to just their data I’m discovering some hidden patterns in data. • There is an opportunity OR • There is a problem Typical Scenarios
  • 16. • Cost efficiency ( ingest, query, storage ) • Use of standard gateways between PLC & Cloud • Security: • Encryption of data in transit • MFA for data in storage • Reliability: • Not loosing data (even if cloud systems are down) • Being able to guarantee that data arrived • Serverless infrastructure (not even EC2) • Data recording for lifetime of machine • Data visualisation & exploration for the inexpert (ideally without writing any code or using known languages) • Live dashboards • Alerts to Mobile App, email, SMS • Complex data processing • On data triggers • On schedule Needs & Requirement
  • 17. Our chosen infrastructure • Gateways speak MQTT & OPC
  • 18. Our chosen infrastructure • Gateways speak MQTT & OPC • AWS is MQTT broker
  • 19. Our chosen infrastructure • Gateways speak MQTT & OPC • AWS is MQTT broker • MQTT messages handled by Lambda functions • Lambda code • Updates InfluxDB • Updates live dashboards (Servitly)
  • 20. Our chosen infrastructure • Gateways speak MQTT & OPC • AWS is MQTT broker • MQTT messages handled by Lambda functions • Lambda code • Updates InfluxDB • Updates live dashboards (Servitly) • Failed data is queued and stored in DynamoDB (e.g. if InfluxDB down)
  • 21. Our chosen infrastructure • Gateways speak MQTT & OPC • AWS is MQTT broker • MQTT messages handled by Lambda functions • Lambda code • Updates InfluxDB • Updates live dashboards (Servitly) • Failed data is queued and stored in DynamoDB (e.g. if InfluxDB down) • Serverless code is watched and alarms on issues
  • 22. Our chosen infrastructure • Gateways speak MQTT & OPC • AWS is MQTT broker • MQTT messages handled by Lambda functions • Lambda code • Updates InfluxDB • Updates live dashboards (Servitly) • Failed data is queued and stored in DynamoDB (e.g. if InfluxDB down) • Serverless code is watched and alarms on issues • 3rd party (Servitly) used for Alerts / Live dashboarding / Customer’s own view
  • 24. Data shape [ { "S7-1200/DB20/Feedwater_Temperature": 79.939598, "time": "2020-07-28T12:32:07.000Z" }, { "S7-1200/MainProgram/HMIBoilerLevel": 16417, "time": "2020-07-28T12:32:07.000Z" }, { "Dewax_Pressure": 9.36146, "time": "2020-07-28T12:32:07.000Z" }, { "Dewax_Temperature": 178.315674, "time": "2020-07-28T12:32:07.000Z" }, { "Boiler_Pressure": 9.394047, "time": "2020-07-28T12:32:07.000Z" }, { "int_PLC_Status": 706507, "time": "2020-07-28T12:32:07.000Z" }, { "Boiler_Temperature": 181.019211, "time": "2020-07-28T12:32:08.000Z" }, { "S7-1200/DB20/Feedwater_Temperature": 79.867264, "time": "2020-07-28T12:32:08.000Z" }, { "S7-1200/MainProgram/HMIBoilerLevel": 33, "time": "2020-07-28T12:32:08.000Z" }, { "Dewax_Temperature": 178.324722, "time": "2020-07-28T12:32:08.000Z" }, { "int_PLC_Status": 706704, "time": "2020-07-28T12:32:08.000Z"
  • 25. Data shape { "clientID": "1701", "payload": [ { "S7-1200/DB20/Feedwater_Temperature": 79.939598, "time": "2020-07-28T12:32:07.000Z" }, { "S7-1200/MainProgram/HMIBoilerLevel": 16417, "time": "2020-07-28T12:32:07.000Z" }, { "Dewax_Pressure": 9.36146, "time": "2020-07-28T12:32:07.000Z" }, { "Dewax_Temperature": 178.315674, "time": "2020-07-28T12:32:07.000Z" }, ... ... ... ...
  • 26. Data shape { "clientID": "1701", "type": "data", "intermediate": [ { "ts": 1663666327000, "data": { "Feedwater_Temperature": 79.939598, "HMIBoilerLevel": 16417, "Dewax_Pressure": 9.36146, "Dewax_Temperature": 178.315674, "Boiler_Pressure": 9.394047, "int_PLC_Status": 706507, "apparent_data_age_minutes_difference": -0.1 } }, { "ts": 1663666328000, "data": { "Boiler_Temperature": 181.019211, "Feedwater_Temperature": 79.867264, "HMIBoilerLevel": 33, "Dewax_Temperature": 178.324722, "int_PLC_Status": 706704, "Dewax_Pressure": 9.357156, "Boiler_Pressure": 9.390972 } }, { "ts": 1663666329000, "data": { "Boiler_Temperature": 181.028244, "Feedwater_Temperature": 79.776848, "HMIBoilerLevel": 16417, "Dewax_Pressure": 9.355311, "Dewax_Temperature": 178.306625, "Boiler_Pressure": 9.387898, "int_PLC_Status": 706831 } }, { "ts": 1663666330000, "data": { "Boiler_Temperature": 181.028244,
  • 27. Data shape [ 'data,host=1701,method=b1_mqtt_to_influx Feedwater_Temperature=79.939598,HMIBoilerLevel= 16417,Dewax_Pressure=9.36146,Dewax_Temperature= 178.315674,Boiler_Pressure=9.394047,int_PLC_Status= 706507,apparent_data_age_minutes_difference=-0.1 1663666327000', 'data,host=1701,method=b1_mqtt_to_influx Boiler_Temperature= 181.019211,Feedwater_Temperature=79.867264,HMIBoilerLevel= 33,Dewax_Temperature=178.324722,int_PLC_Status= 706704,Dewax_Pressure=9.357156,Boiler_Pressure=9.390972 1663666328000', 'data,host=1701,method=b1_mqtt_to_influx Boiler_Temperature= 181.028244,Feedwater_Temperature=79.776848,HMIBoilerLevel= 16417,Dewax_Pressure=9.355311,Dewax_Temperature= 178.306625,Boiler_Pressure=9.387898,int_PLC_Status=706831 1663666329000', 'data,host=1701,method=b1_mqtt_to_influx Boiler_Temperature= 181.028244,Feedwater_Temperature=79.731636,HMIBoilerLevel= 33,Dewax_Pressure=9.355926,Dewax_Temperature= 178.27951,Boiler_Pressure=9.387898,int_PLC_Status=706850 1663666330000', 'data,host=1701,method=b1_mqtt_to_influx Tag7= 0,Blowdown_Water_Supply_NRV002_OPEN=False,Tag8= 0,Boiler_Temperature=180.992081,Tag9=0,State_Register= 9,reqBoilerBlowdown=False,string_Client_IP="10.0.0.90",Boiler_Blo wdown_Drain_OPEN=False,srWaxboothNotClosed=False,Steam_Ex _COndensate_Drain_MV007_OPEN=False,Heaters_4_To_6 =False,Blowdown_Drain_OPEN=False,Boiler_Blowdown_Isolation_ MV005_OPEN=False,Open_Wtr_Tnk_Fill_Valve=False,Heaters_9 _To_10=False,Boilerclave_Exhaust_OPEN=False, Feedwater_Temperature=79.98481,HMIBoilerLevel=16417, Dewax_Pressure=9.355311,Boiler_Blowdown_Isolation_MV006 _OPEN=False,opflagOpenFeedwaterFillValve=False,Dewax_Tempera ture=178.261429,Wax_Steam_Isolation_MV008 _OPEN=False,lsSteamValve1Open=True,Boiler_Pressure= 9.390972,srDoorClosed=True 1663666331000' ]
  • 28. Data shape { "pub_topic": "LBBC_STC/1701/data", "ClientID": "wyxcvrbeku", "mid": 1, "payload": "{'ts': 1663666327000, 'data': {'Feedwater_Temperature': 79.939598, 'HMIBoilerLevel': 16417, 'Dewax_Pressure': 9.36146, 'Dewax_Temperature': 178.315674, 'Boiler_Pressure': 9.394047, 'int_PLC_Status': 706507, 'apparent_data_age_minutes_difference': -0.1}}", "unique_id": "wyxcvrbeku_001_1", "item_id": "623fb913-6fca-45d6-8e89-496c52b5e86b" } { "pub_topic": "LBBC_STC/1701/data", "ClientID": "wyxcvrbeku", "mid": 2, "payload": "{'ts': 1663666328000, 'data': {'Boiler_Temperature': 181.019211, 'Feedwater_Temperature': 79.867264, 'HMIBoilerLevel': 33, 'Dewax_Temperature': 178.324722, 'int_PLC_Status': 706704, 'Dewax_Pressure': 9.357156, 'Boiler_Pressure': 9.390972}}", "unique_id": "wyxcvrbeku_002_2", "item_id": "623fb913-6fca-45d6-8e89-496c52b5e86b" } { "pub_topic": "LBBC_STC/1701/data", "ClientID": "wyxcvrbeku", "mid": 3, "payload": "{'ts': 1663666329000, 'data': {'Boiler_Temperature': 181.028244, 'Feedwater_Temperature': 79.776848, 'HMIBoilerLevel': 16417, 'Dewax_Pressure': 9.355311, 'Dewax_Temperature': 178.306625, 'Boiler_Pressure': 9.387898, 'int_PLC_Status': 706831}}", "unique_id": "wyxcvrbeku_003_3", "item_id": "623fb913-6fca-45d6-8e89-496c52b5e86b" } { "pub_topic": "LBBC_STC/1701/data", "ClientID": "wyxcvrbeku", "mid": 4, "payload": "{'ts': 1663666330000, 'data': {'Boiler_Temperature': 181.028244, 'Feedwater_Temperature': 79.731636, 'HMIBoilerLevel':
  • 29. Connected support procedure: Notification: LBBC and Customer are notified of an Alert Service team attempt to diagnose using just the dashboard. InfluxDB is used to construct any detailed analysis
  • 30. Value of InfluxDB to us Value for IIoT use case What InfluxDB delivers Low Cost Performant ingest, query, process Visualise data
  • 31. Value of InfluxDB to us Process data Low Cost Performant ingest, query, process Visualise data Automate Value for IIoT use case What InfluxDB delivers
  • 32. Value of InfluxDB to us Process data Low Cost Performant ingest, query, process Visualise data Automate Performant UI Share insights Explore data Security Value for IIoT use case What InfluxDB delivers
  • 33. What other products did we consider? Forecast of DATA VOLUMES Forecast of INGEST + STORE COSTS
  • 34. Background: • Our “Core Leaching” product uses Hydroxide • Hydroxide is a dangerous & costly chemical • Hydroxide depletes over months to Silicates • Both are high pH so measuring pH doesn’t work • Measuring Hydroxide has a customer value Chemistry & Physics: • Hydroxide has a very low vapour pressure. • Low hydroxide à high vapour pressure Data: • 1 year’s worth of cycle data • Pressures, temperatures, valves, pumps etc • Data includes both fresh and spent Hydroxide Challenge : • Estimate Hydroxide strength from process data • Predict when Hydroxide is going to be exhausted Data Exploration Example
  • 35. Estimating Hydroxide Vapour Pressure for cycle 1247 Cycle # 1247
  • 36. Flux Code import "math" from(bucket: "PLC_Router_Data") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r["host"] =~ /1718/) |> filter(fn: (r) => r["_field"] == "VslPress1Bar" or r["_field"] == "State" or r["_field"] == "CycleNumber" or r["_field"] =~ /InletVlvS/ or r["_field"] =~ /SafetyVlvS/) |> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value") |> group() |> fill(column: "SafetyVlvStatus", usePrevious: true) |> fill(column: "InletVlvStatus", usePrevious: true) |> fill(column: "VslPress1Bar", usePrevious: true) |> fill(column: "State", usePrevious: true) |> fill(column: "CycleNumber", usePrevious: true) |> map(fn: (r) => ({ r with SafetyValve2: r.SafetyVlvStatus })) |> increase(columns: ["SafetyVlvStatus"]) |> difference(nonNegative: true, columns: ["SafetyVlvStatus"]) |> cumulativeSum(columns: ["SafetyVlvStatus"]) |> filter(fn: (r) => r.State == 26) |> filter(fn: (r) => r.SafetyValve2 == 0) |> group(columns: ["SafetyVlvStatus","CycleNumber"], mode:"by") |> sort(columns: ["_time"], desc: false) |> map(fn: (r) => ({ r with _time_delta: int(v: r._time)/1000000000 })) |> increase(columns: ["_time_delta"]) |> map(fn: (r) => ({ r with time_till_next: r._time_delta })) |> sort(columns: ["_time_delta"], desc: true) |> difference(nonNegative: false, columns: ["time_till_next"]) //|> filter(fn: (r) => r._time_delta >= 15) |> filter(fn: (r) => r._time_delta <= 90) |> min(column: "time_till_next") |> sort(columns: ["_time"], desc: false) |> group(columns: ["CycleNumber"], mode:"by") |> increase(columns: ["SafetyVlvStatus"]) |> filter(fn: (r) => r.SafetyVlvStatus >= 5) Select Pivot + Fill Computation of auxiliary filter variables Computation of auxiliary filter variables
  • 37. Flux Code |> rename(columns: {SafetyVlvStatus: "_x", VslPress1Bar: "_y"}) |> map(fn: (r) => ({r with x_sq: r._x * r._x})) |> map(fn: (r) => ({r with x_y: r._x * r._y})) |> reduce(fn: (r, accumulator) => ({ sum_x: r._x + accumulator.sum_x, sum_x_sq: r.x_sq + accumulator.sum_x_sq, sum_xy: r.x_y + accumulator.sum_xy, sum_y: r._y + accumulator.sum_y, sum_n: 1.0 + accumulator.sum_n, last_time: if r._time > accumulator.last_time then r._time else accumulator.last_time, }), identity: { sum_x: 0.0, sum_x_sq: 0.0, sum_xy: 0.0, sum_y: 0.0, sum_n: 0.0, last_time: time(v: 0), }) |> map(fn: (r) => ({r with _m: r.sum_n * r.sum_xy - (r.sum_x * r.sum_y)})) |> map(fn: (r) => ({r with _m: r._m / (r.sum_n * r.sum_x_sq - (r.sum_x * r.sum_x))})) |> map(fn: (r) => ({r with _b: r.sum_y - (r._m * r.sum_x)})) |> map(fn: (r) => ({r with _b: r._b / r.sum_n})) |> map(fn: (r) => //({r with _value: math.round(x: 100.0 * (r._m * 5.0 + r._b))/100.0})) ({r with _value: math.round(x: 100.0 * (r._b))/100.0})) |> rename(columns: {last_time: "_time"}) |> group() |> map(fn: (r) => ({ r with _colour: r._value})) |> sort(columns: ["_value"], desc: false) |> keep(columns: ["_time", "CycleNumber", "_value", "_colour"]) |> filter(fn: (r) => r._value > 0 or r._value < 0) Set up regression Calculation regression SUM terms using “Reduce” Calculation of Y = mx + c Preparing for display 𝑚 = 𝑛 ∑ 𝑥𝑦 − ∑ 𝑥 ∑ 𝑥𝑦 𝑛 ∑ 𝑥! − (∑ 𝑥) ! 𝑏 = ∑ 𝑦 − 𝑚 ∑ 𝑥 𝑛
  • 38. We’re going to do that with a lot of data: • 12 months data • 150 cycles • 1.3 million points Computed and visualised in < 10 secs by the cloud database. Data Processing & Visualisation:
  • 39. Discovery of hidden process patterns with value to customer! “your timing is right on cue. I thought it was close to spent. Our performance is definitely decreasing” Feb 22nd LBBC notify customer that Hydroxide needs changing New Hydroxide Cycle # 1247 New Hydroxide
  • 40. Tips / Learning (opinion only) Suggest against Telegraph for IIoT. AWS+Lambda+Influx API is a ‘better’ solution: • Telegraph needs a host. That means hardware or EC2 • AWS is serverless. AWS infrastructure costs £10/month for millions of msgs! • AWS Lambda scales with data rates. Parallel instances are added as needed. Suggest against MQTT ingest for IIoT. AWS+Lambda+Influx API is still a ‘better’ solution: • If InfluxDB is down, you’ll need more advanced store and forward than MQTT offers • Most IIoT solutions will need data to go to multiple endpoints and verify it got there. Direct MQTT from the industrial gateway to InfluxDB will not do that For IIoT, use “measurement” as your hostname or equipment name. “measurement” as a data type doesn’t make sense for the IIoT use case. • Equipment name is a more natural IIoT primary key (it’s usually the first filter of data) • Influx’s Data explorer doesn’t allow the exploration of multiple “measurements”. i.e. you can’t use it to plot temperatures, pressures and Boolean values on the same chart
  • 41. We love InfluxDB, BUT … It took a lot of effort to put together an AW + Lambda + Influx API. If only Influx gave users a pre-prepared, fully functional cloud integration (AWS, GCP, Azure) InfluxDB doesn’t allow us to restrict logins to access only a subset of data. Users are all ‘owners’ and can view (and delete) the entire database. We love that a link can be shared to a dashboard where time (start;stop) & variables are in the https. But this doesn’t work for Notebooks (and neither do variables) The InfluxDB UI delivers most of what the Industrial IoT / Process Control use case demands, with some notable exceptions that reduce usefulness in process troubleshooting & exploration: • The display of Boolean values • Synchronisation of multiple charts (zoom + pan together) • X-Y plots need Flux code. Username / Password is basic … But IIoT users probably need to protect their data from view by MFA
  • 42. • 12 months data • 150 cycles • 1.3 million points Computed and visualised in < 10 secs by the cloud database. Data Processing & Visualisation: