Upload
others
View
8
Download
0
Embed Size (px)
Citation preview
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