Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL...
Transcript of Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL...
Managing the AUDI Corrosion Center
with PostgreSQL
Roland SonnenscheinHesotech GmbH
automatisieren – visualisieren http://www.hesotech.de
In Collaboration with Johnson ControlsMannheim / Germany
2014-04-04 © Hesotech GmbH / R. Sonnenschein 2
Plea
Using
PostgreSQL
In Technical Software
For Industrial Automation
2014-04-04 © Hesotech GmbH / R. Sonnenschein 3
Agenda
● Definition of Job / Boundary Conditions● Showing my way to develop
– A Database centered
– Technical application
– For industrial Automation
– With PostgreSQL
– In the center
● Standard-IT ↔ Technical Software– IT meets Physics
2014-04-04 © Hesotech GmbH / R. Sonnenschein 4
Why? → Corrosion Prevention!
2014-04-04 © Hesotech GmbH / R. Sonnenschein 5
AUDI → INKA Test SpecificationIngolstadt Corrosion and Ageing Test
Sun (Vis + UV) Frost
Road Holes
Stone Chips
Salt
Hunidity / Rain
Youtube Video about INKA-test: 19 weeks of test = 12 years in cars lifeYoutube Video about INKA-test: 19 weeks of test = 12 years in cars life
km
2014-04-04 © Hesotech GmbH / R. Sonnenschein 6
AUDI Test Centerfrom Google Earth
CorrosionFacilities
2014-04-04 © Hesotech GmbH / R. Sonnenschein 7
Inside the Corrosion Center
2014-04-04 © Hesotech GmbH / R. Sonnenschein 8
Sun (Vis + UV)
2014-04-04 © Hesotech GmbH / R. Sonnenschein 9
Heat and Humidity
2014-04-04 © Hesotech GmbH / R. Sonnenschein 10
Salt, Rain and Wind
2014-04-04 © Hesotech GmbH / R. Sonnenschein 11
Frost and Hydro-Pulse
2014-04-04 © Hesotech GmbH / R. Sonnenschein 12
Constraint: Limited Test Facilities for Environmental Simulation
Frost andHydropulse
Garage
Sun
Heat and Humidity
Heat and Humidity
Salt / Rain Airstream
Salt / Rain Airstream
2 cars / facility
Heat and Humidity
Outdoor
2014-04-04 © Hesotech GmbH / R. Sonnenschein 13
Cars under Test
Schedule Operate Check
Going in, when thereis a free place
19 weeks later“Normally” going out
2014-04-04 © Hesotech GmbH / R. Sonnenschein 14
Constraint: Working times
Mo – Fr7:00 – 16:00
No Weekend
Keep It Simple!Heuristic approach
● 24 h cyclic processesIn test chambers➔Working day➔Weekend
● Fixed times➔Car exchange➔Outdoor test track
2014-04-04 © Hesotech GmbH / R. Sonnenschein 15
Definition of Job /Boundary Conditions
2014-04-04 © Hesotech GmbH / R. Sonnenschein 16
Software for ...
How to do it
? Do it
!
Well done
? !
Schedule Operate Check
2014-04-04 © Hesotech GmbH / R. Sonnenschein 17
Scheduling
Setting up schedules for all hats
2014-04-04 © Hesotech GmbH / R. Sonnenschein 18
Goal of DevelopmentCalender for daily Operation
Hum
idity
+H
eat
Sal
t
Fro
st +
Hyd
ropu
ls
Sun
Gar
age
Test
trac
k
Hum
idity
+H
eat
Sal
t
Sal
t
Mon
Tue
Wed
Thu
Fri
Weekend
Intentionally blurred
2014-04-04 © Hesotech GmbH / R. Sonnenschein 19
Car_ChangeOver
BetrNrProgNam ePosi tionOrd inalT im eOfDay
int4textint4int4tim e
<pk,fk><pk,fk><pk><pk>HatList
HatNam eColorOrdinal
textint4int4
<pk>
Hat_Calendar
DayBetrNrPosi tionOrdina lT im eOfDayHatNam e
dateint4int4int4tim etext
<pk,fk1><pk,fk1><pk><pk>
<fk2>
Program List
BetrNrProgNam eColorProgCode
int4textint4xm l
<pk,fk><pk>
Program _Calendar
DayBetrNrProgNam e
dateint4text
<pk><pk,fk><fk>
Program _Sim ul_Profi l
BetrNrProgNam eOrdinalT im eOfDayT em peratureHunidi tySal t_OnSun_OnHydroPuls_On
int4textint4tim efloat8float8float8float8float8
<pk,fk><pk,fk><pk>
DayT ypeList
DayT ypeDayT ypNam eColor
int4textint4
<pk>
Program OfDayT ype
BetrNrDayT ypeProgNam e
int4int4text
<pk,fk1><pk,fk2><fk1>
InkaStessT ypeList
StressIdNam eWherePartPercentage
int4texttextfloat8
<pk>
Faci l i tyList
BetrNrNam e
int4text
<pk>
Schedule
Constrains
Parameter
DB-Structure for Hat-Scheduling
1
12
2
3
3
24 h
Initial Placement
C D-2
A B- 2
M N
2014-04-04 © Hesotech GmbH / R. Sonnenschein 20
Edit Profiles for Simulation
Day TypesHat ListHat ListStess PhasesFacilities
Salt
Weekend
Working Day
Simulation
2014-04-04 © Hesotech GmbH / R. Sonnenschein 21
Edit Changeovers for Simulation
Changeover-Left
Pos. Time.
Configurable DB-Editor (Java SE)
xml
2014-04-04 © Hesotech GmbH / R. Sonnenschein 22
ScheduleStitching Profiles of Stress per Car
t
ConstantSubstitution Values
Simulation
ScheduledProfiles S
ched
uled
Cha
ngeo
vers
2014-04-04 © Hesotech GmbH / R. Sonnenschein 23
Simulation: Stiched Chartof Scheduled Treatments
Simulation
2014-04-04 © Hesotech GmbH / R. Sonnenschein 24
Simulation: Statistical AnalysisCrosstab of Scheduled Treatments
Simulation
2014-04-04 © Hesotech GmbH / R. Sonnenschein 25
How to do it ?
2014-04-04 © Hesotech GmbH / R. Sonnenschein 26
MeasurementsFlow of Data
Salt / Rain Airstream
Buffer
Sun
Buffer
...
Facility PLC SCADA
Driver
Intranet OfficeJava SE
CentralPC
2014-04-04 © Hesotech GmbH / R. Sonnenschein 27
SCADA System for each ChamberSupervisory Control and Data Aquisition
Each facility / chamberis equipped with a SCADA System for control and monitoring the plant
SCADA
2014-04-04 © Hesotech GmbH / R. Sonnenschein 28
ProgrammerDriving Profiles in Real World
Programmer
“Macro-Generator and Macro-Executer to control a facility”
Program List
BetrNrProgNam eColorProgCode
int4textint4xm l
<pk,fk><pk>
2014-04-04 © Hesotech GmbH / R. Sonnenschein 29
Do it !
2014-04-04 © Hesotech GmbH / R. Sonnenschein 30
Well Done ? !Stitch Measurements per Car
t
ConstantSubstitute Values
3rd: RealMeasurements 1st
: Rea
l Car
s
2nd: R
eal
Cro
ssov
ers
2014-04-04 © Hesotech GmbH / R. Sonnenschein 31
Administration of carsHat Assignments
TypeSerial Order From To
Hat_Assignm ent
IdCarSeria lHatNam eFromT o
bigseria ltexttexttim estam p wi th tim e zonetim estam p wi th tim e zone
<pk>
fkfk
2014-04-04 © Hesotech GmbH / R. Sonnenschein 32
Administration of carsChangeovers → Treatments
T reatm ents
BetrNrNam eStartT im eEndT im eStatusM em o
int4texttim estam p wi th tim e zonetim estam p wi th tim e zoneint4text
<pk><pk>
From To StatusChamber Treatment
2014-04-04 © Hesotech GmbH / R. Sonnenschein 33
Measurements
Lots of edges and data to stitch14 cars under test● ~ 40 cars per year● 300 changeovers / car● > 10 measurements per facility● Each aprox. Every 5 sec●
→ Fast Access to measurements !
2014-04-04 © Hesotech GmbH / R. Sonnenschein 34
Storing Measurements(Simplest Way)
Channel 1 Channel 2 Channel n
Channel 1
DateT im eValue
tim estam pfloat4
<pk>Channel 2
DateT im eValue
tim estam pfloat4
<pk>
Channel n
DateT im eValue
tim estam pfloat4
<pk>
Slow Retrieval3 SQL-Selects
Costly Storage<~ 1000 Entries/sIndicesLots of Tables
???SummertimeTimezones
Only float4:● Resolution > 16 bit● Int2 no Problem● 16 Single Bits
2014-04-04 © Hesotech GmbH / R. Sonnenschein 35
ChannelSet_2
DateT im eValue_2_1Value_2_2___Value_2_m
tim estam p wi th tim e zonefloat4float4float4float4
<pk>
ChannelSet_1
DateT im eValue_1_1Value_1_2___Value_1_n
tim estam p wi th tim e zonefloat4float4float4float4
<pk>
Storing Measurements(Channel-Sets)
Chn 1.1 Chn 1.2 Chn 1.n Chn 2.1 Chn 2.2 Chn 2.m
UTC !
Faster Retrieval1 SQL-Selectsper ChannelSet
DynamicTable-Structure
SychronizedMeasurements
2014-04-04 © Hesotech GmbH / R. Sonnenschein 36
Storage: Packaging
DateTime Float 1 Float 2 Float 3 Float n
. . . . .
. . . . .......
. . . . .
. . . . .......
. . . . .
. . . . .......
. . . . .
. . . . .......
. . . . .
. . . . .......
. . . . .
. . . . .......
. . . . .
. . . . .......
. . . . .
. . . . .......
● DateTime of Package ●
● Count Of Measurements in Package● [min( Float 1), min( Float 2), …, min(Float n) ]● [max(Float 1), max(Float 2), …, max(Float n) ]● [avg( Float 1), avg( Float 2), …, avg( Float n) ]● [cur( Float 1) cur( Float 2), …, cur( Float n) ]● List of DateTimes in Package● Matrix of Measurements in Package
ba
dc
efgh
hischnset
entrystatuschnsetiddt_packagedwel lcnt_m vm in_m vm ax_m vavg_m vcur_m vdt_l istm v_array
bigseria lINT 4INT 4T IM EST AM P WIT H T IM E ZONEINT ERVALINT 4FLOAT 4[]FLOAT 4[]FLOAT 4[]FLOAT 4[]byteabytea
<pk>
M
L M
L
b
d
c
e
f
g
h
t
dwell=t n−t(n−1 )t n
t(n−1)
t n b
ML
2014-04-04 © Hesotech GmbH / R. Sonnenschein 37
Storing MeasurementsCascaded Storage
Chn 1.1 Chn 1.2 Chn 1.n
hischnset
entrystatuschnsetiddt_packagedwel lcnt_m vm in_m vm ax_m vavg_m vdt_l istm v_array
bigseria lINT 4INT 4T IM EST AM P WIT H T IM E ZONEINT ERVALINT 4FLOAT 4[]FLOAT 4[]FLOAT 4[]byteabytea
<pk>
Primary Key: Autoincrement
Valid / NotValid
Reference to Corresponding xml-ChannelSet-Configuration
DateTime of Storage of this Package
Statistics of Package
Measurements in Package}
}Enables fast
Statistical Analysis
2014-04-04 © Hesotech GmbH / R. Sonnenschein 38
Stitching the Measurements
● All Chambers have the same channelset● If channel is not available, value is set to null
→ Data can be all appended into a temp-table
● Stitching is done by a stored procedure
2014-04-04 © Hesotech GmbH / R. Sonnenschein 39
Stitched Chart of a Car
2014-04-04 © Hesotech GmbH / R. Sonnenschein 40
Statistical Analysis
● dwell Column is essential for fast statistical analysis
● Stress conditions are defined by a where-clause of comparisons of meas-values
● Time within a certain stress condition
– Select sum(dwell) where avg_mv[3] between 45 and 50and ...
2014-04-04 © Hesotech GmbH / R. Sonnenschein 41
Car under Test: Statistics
Statistics of one measurement
Ranges definedin a table
Duration/hName of Stess Condition
2014-04-04 © Hesotech GmbH / R. Sonnenschein 42
Car under Test: Statistics
2014-04-04 © Hesotech GmbH / R. Sonnenschein 43
Well Done ? !
2014-04-04 © Hesotech GmbH / R. Sonnenschein 44
Story: Kick-Off MeetingStandard-IT ↔ Technical Software
● Client-Server Architecture
● Database● Operation
via network● Java SE● No installation
on office PC
IT- Department Developer Operator / User
● Detailed regulations● Internet / Website● High Traffic● Thousands of users● Dedicated Server HW● Administration● Security
● Limited budget● 5-10 users● Network-Application● Effective● User-optimized● Non-bureaucratic● Operated by user
2014-04-04 © Hesotech GmbH / R. Sonnenschein 45
Sharing Technologies and Experiences
Large Benefit