Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL...

45
Managing the AUDI Corrosion Center with PostgreSQL Roland Sonnenschein Hesotech GmbH automatisieren – visualisieren http://www.hesotech.de In Collaboration with Johnson Controls Mannheim / Germany

Transcript of Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL...

Page 1: Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL Roland Sonnenschein Hesotech GmbH automatisieren – visualisieren In Collaboration

Managing the AUDI Corrosion Center

with PostgreSQL

Roland SonnenscheinHesotech GmbH

automatisieren – visualisieren http://www.hesotech.de

In Collaboration with Johnson ControlsMannheim / Germany

Page 2: Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL Roland Sonnenschein Hesotech GmbH automatisieren – visualisieren In Collaboration

2014-04-04 © Hesotech GmbH / R. Sonnenschein 2

Plea

Using

PostgreSQL

In Technical Software

For Industrial Automation

Page 3: Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL Roland Sonnenschein Hesotech GmbH automatisieren – visualisieren In Collaboration

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

Page 4: Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL Roland Sonnenschein Hesotech GmbH automatisieren – visualisieren In Collaboration

2014-04-04 © Hesotech GmbH / R. Sonnenschein 4

Why? → Corrosion Prevention!

Page 5: Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL Roland Sonnenschein Hesotech GmbH automatisieren – visualisieren In Collaboration

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

Page 6: Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL Roland Sonnenschein Hesotech GmbH automatisieren – visualisieren In Collaboration

2014-04-04 © Hesotech GmbH / R. Sonnenschein 6

AUDI Test Centerfrom Google Earth

CorrosionFacilities

Page 7: Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL Roland Sonnenschein Hesotech GmbH automatisieren – visualisieren In Collaboration

2014-04-04 © Hesotech GmbH / R. Sonnenschein 7

Inside the Corrosion Center

Page 8: Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL Roland Sonnenschein Hesotech GmbH automatisieren – visualisieren In Collaboration

2014-04-04 © Hesotech GmbH / R. Sonnenschein 8

Sun (Vis + UV)

Page 9: Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL Roland Sonnenschein Hesotech GmbH automatisieren – visualisieren In Collaboration

2014-04-04 © Hesotech GmbH / R. Sonnenschein 9

Heat and Humidity

Page 10: Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL Roland Sonnenschein Hesotech GmbH automatisieren – visualisieren In Collaboration

2014-04-04 © Hesotech GmbH / R. Sonnenschein 10

Salt, Rain and Wind

Page 11: Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL Roland Sonnenschein Hesotech GmbH automatisieren – visualisieren In Collaboration

2014-04-04 © Hesotech GmbH / R. Sonnenschein 11

Frost and Hydro-Pulse

Page 12: Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL Roland Sonnenschein Hesotech GmbH automatisieren – visualisieren In Collaboration

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

Page 13: Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL Roland Sonnenschein Hesotech GmbH automatisieren – visualisieren In Collaboration

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

Page 14: Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL Roland Sonnenschein Hesotech GmbH automatisieren – visualisieren In Collaboration

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

Page 15: Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL Roland Sonnenschein Hesotech GmbH automatisieren – visualisieren In Collaboration

2014-04-04 © Hesotech GmbH / R. Sonnenschein 15

Definition of Job /Boundary Conditions

Page 16: Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL Roland Sonnenschein Hesotech GmbH automatisieren – visualisieren In Collaboration

2014-04-04 © Hesotech GmbH / R. Sonnenschein 16

Software for ...

How to do it

? Do it

!

Well done

? !

Schedule Operate Check

Page 17: Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL Roland Sonnenschein Hesotech GmbH automatisieren – visualisieren In Collaboration

2014-04-04 © Hesotech GmbH / R. Sonnenschein 17

Scheduling

Setting up schedules for all hats

Page 18: Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL Roland Sonnenschein Hesotech GmbH automatisieren – visualisieren In Collaboration

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

Page 19: Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL Roland Sonnenschein Hesotech GmbH automatisieren – visualisieren In Collaboration

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

Page 20: Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL Roland Sonnenschein Hesotech GmbH automatisieren – visualisieren In Collaboration

2014-04-04 © Hesotech GmbH / R. Sonnenschein 20

Edit Profiles for Simulation

Day TypesHat ListHat ListStess PhasesFacilities

Salt

Weekend

Working Day

Simulation

Page 21: Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL Roland Sonnenschein Hesotech GmbH automatisieren – visualisieren In Collaboration

2014-04-04 © Hesotech GmbH / R. Sonnenschein 21

Edit Changeovers for Simulation

Changeover-Left

Pos. Time.

Configurable DB-Editor (Java SE)

xml

Page 22: Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL Roland Sonnenschein Hesotech GmbH automatisieren – visualisieren In Collaboration

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

Page 23: Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL Roland Sonnenschein Hesotech GmbH automatisieren – visualisieren In Collaboration

2014-04-04 © Hesotech GmbH / R. Sonnenschein 23

Simulation: Stiched Chartof Scheduled Treatments

Simulation

Page 24: Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL Roland Sonnenschein Hesotech GmbH automatisieren – visualisieren In Collaboration

2014-04-04 © Hesotech GmbH / R. Sonnenschein 24

Simulation: Statistical AnalysisCrosstab of Scheduled Treatments

Simulation

Page 25: Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL Roland Sonnenschein Hesotech GmbH automatisieren – visualisieren In Collaboration

2014-04-04 © Hesotech GmbH / R. Sonnenschein 25

How to do it ?

Page 26: Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL Roland Sonnenschein Hesotech GmbH automatisieren – visualisieren In Collaboration

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

Page 27: Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL Roland Sonnenschein Hesotech GmbH automatisieren – visualisieren In Collaboration

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

Page 28: Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL Roland Sonnenschein Hesotech GmbH automatisieren – visualisieren In Collaboration

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>

Page 29: Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL Roland Sonnenschein Hesotech GmbH automatisieren – visualisieren In Collaboration

2014-04-04 © Hesotech GmbH / R. Sonnenschein 29

Do it !

Page 30: Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL Roland Sonnenschein Hesotech GmbH automatisieren – visualisieren In Collaboration

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

Page 31: Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL Roland Sonnenschein Hesotech GmbH automatisieren – visualisieren In Collaboration

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

Page 32: Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL Roland Sonnenschein Hesotech GmbH automatisieren – visualisieren In Collaboration

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

Page 33: Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL Roland Sonnenschein Hesotech GmbH automatisieren – visualisieren In Collaboration

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 !

Page 34: Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL Roland Sonnenschein Hesotech GmbH automatisieren – visualisieren In Collaboration

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

Page 35: Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL Roland Sonnenschein Hesotech GmbH automatisieren – visualisieren In Collaboration

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

Page 36: Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL Roland Sonnenschein Hesotech GmbH automatisieren – visualisieren In Collaboration

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

Page 37: Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL Roland Sonnenschein Hesotech GmbH automatisieren – visualisieren In Collaboration

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

Page 38: Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL Roland Sonnenschein Hesotech GmbH automatisieren – visualisieren In Collaboration

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

Page 39: Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL Roland Sonnenschein Hesotech GmbH automatisieren – visualisieren In Collaboration

2014-04-04 © Hesotech GmbH / R. Sonnenschein 39

Stitched Chart of a Car

Page 40: Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL Roland Sonnenschein Hesotech GmbH automatisieren – visualisieren In Collaboration

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 ...

Page 41: Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL Roland Sonnenschein Hesotech GmbH automatisieren – visualisieren In Collaboration

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

Page 42: Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL Roland Sonnenschein Hesotech GmbH automatisieren – visualisieren In Collaboration

2014-04-04 © Hesotech GmbH / R. Sonnenschein 42

Car under Test: Statistics

Page 43: Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL Roland Sonnenschein Hesotech GmbH automatisieren – visualisieren In Collaboration

2014-04-04 © Hesotech GmbH / R. Sonnenschein 43

Well Done ? !

Page 44: Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL Roland Sonnenschein Hesotech GmbH automatisieren – visualisieren In Collaboration

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

Page 45: Managing the AUDI Corrosion Center with PostgreSQLManaging the AUDI Corrosion Center with PostgreSQL Roland Sonnenschein Hesotech GmbH automatisieren – visualisieren In Collaboration

2014-04-04 © Hesotech GmbH / R. Sonnenschein 45

Sharing Technologies and Experiences

Large Benefit