Siemens Top Mistakes

download Siemens Top Mistakes

of 31

Transcript of Siemens Top Mistakes

  • 8/20/2019 Siemens Top Mistakes

    1/80

    Navigating the world of automation

    2011 Automation SummitOrlando, FL

     Navigating the world of automation

  • 8/20/2019 Siemens Top Mistakes

    2/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    !age 2

    2011 Automation Summit

    Title: Top Ten Programming i!ta"e! ade #$

    People New to S%

    Tra&":'()

    Topi&: Learn a#out !ome of the &ommon

    pro#lem! e*perien&ed #$ people learning S%+

    Pre!enter: Tim ager 

    -ompan$: .-

    Top Ten Programming i!ta"e! ade #$ People New to S%

  • 8/20/2019 Siemens Top Mistakes

    3/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    Top Ten Programming i!ta"e! ade #$ People New to S%

    !age "

  • 8/20/2019 Siemens Top Mistakes

    4/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    /0 mplo$ee!

    -ompan$ Profile

    Sin&e 1)

    #ased In

    Chicago$

    $%ut wor&

    'lo%ally

    ()C has the highest num%er of

    S% certified engineers

  • 8/20/2019 Siemens Top Mistakes

    5/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    Our &u!tomer!

  • 8/20/2019 Siemens Top Mistakes

    6/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    anufa&turing and Automation ntelligen&e

    i&ro!oft SharePoint -on!ulting Servi&e!

    Te!t and ea!urement

    -u!tom Software ngineering 3 m#edded S$!tem!

    Area! of *perti!e

  • 8/20/2019 Siemens Top Mistakes

    7/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    .ulle! Airport Tran!it Tunnel 4entilation S$!tem *inCC +edundancy S -00 +edundant !/C -000 I !oints

    5elevant Siemen! Pro6e&t!

  • 8/20/2019 Siemens Top Mistakes

    8/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    7at&h i*ing S$!tem! for -onfe&tionar$ -ompan$

    S"00 Standardi3ed code %ase (eployment at multiple facilities )i4ing%atching control +ecipe management *e%%ased reporting system

    5elevant Siemen! Pro6e&t!

  • 8/20/2019 Siemens Top Mistakes

    9/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    Automotive A!!em#l$ Line! for Tier 1 Supplier 

    S -00 !/C5s *inCC 6le4 )I5s Standardi3ed code %ase 7ser Configura%le 8I9 /ean )anufacturing (eployment at multiple facilities

    5elevant Siemen! Pro6e&t!

  • 8/20/2019 Siemens Top Mistakes

    10/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    8S Nav$ L-S91

    Littoral -om#at Ship

    S -00 +edundant !/C

    )ission Critical /ogic

    5elevant Siemen! Pro6e&t!

  • 8/20/2019 Siemens Top Mistakes

    11/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    Pre!enter nfo

    9im 8ager 

    !ro:ect (irector at ()C

    )echanical ;ngineer >>

  • 8/20/2019 Siemens Top Mistakes

    12/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    Top 10 S% i!ta"e!

    '1

    !age 12

    Simple ardware mista&es

  • 8/20/2019 Siemens Top Mistakes

    13/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    -ommon ardware i!ta"e!

    !age 1"

    $ PL- .oe!n;t

  • 8/20/2019 Siemens Top Mistakes

    14/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    -ommon ardware i!ta"e!

    !age 1-

    It needs a memory card

    $ PL- .oe!n;t

  • 8/20/2019 Siemens Top Mistakes

    15/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    -ommon ardware i!ta"e!

    !age 1?

    It needs a memory card

    It5s in S9! )ode

    $ PL- .oe!n;t

  • 8/20/2019 Siemens Top Mistakes

    16/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    -ommon ardware i!ta"e!

    !age 1@

    wonder what;! on the - -ard=

  • 8/20/2019 Siemens Top Mistakes

    17/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    -ommon ardware i!ta"e!

    !age 1

    wonder what;! on the - -ard=

  • 8/20/2019 Siemens Top Mistakes

    18/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    -ommon ardware i!ta"e!

    !age 1A

    wonder what;! on the - -ard=

  • 8/20/2019 Siemens Top Mistakes

    19/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    -ommon ardware i!ta"e!

    !age 1>

  • 8/20/2019 Siemens Top Mistakes

    20/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    -ommon ardware i!ta"e!

    !age 20

    9his is not an +S2"2 Serial !ortBBB

  • 8/20/2019 Siemens Top Mistakes

    21/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    Top 10 S% i!ta"e!

    '2

    !age 21

    7sing %solute

     ddress !riorityinstead of Sym%olic

  • 8/20/2019 Siemens Top Mistakes

    22/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    Set $our Addre!! Priorit$ to S$m#oli&

    ou 8ust too& the 5ed pill$. ou are on your way down the ra%%it hole that leadsdown the path of true o#6e&t oriented PL- Programming+

    !age 22

  • 8/20/2019 Siemens Top Mistakes

    23/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    A T$pi&al .ata 7lo&"

    .71 >d#?lo#al!@

    !age 2"

  • 8/20/2019 Siemens Top Mistakes

    24/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    A T$pi&al .ata 7lo&"

    .71 >d#?lo#al!@

    !age 2-

     ddressD

    (#1.(#E0+0

    Sym%ol NameD

    Fd%'lo%alsG.%Start

  • 8/20/2019 Siemens Top Mistakes

    25/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    A T$pi&al 5ung Of Ladder 

    !age 2?

  • 8/20/2019 Siemens Top Mistakes

    26/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    A T$pi&al 5ung Of Ladder 

    !age 2@

     ddress /ogic

    Sym%olic /ogic

  • 8/20/2019 Siemens Top Mistakes

    27/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    A T$pi&al 5ung Of Ladder 

    !age 2

     ddress /ogic

    Sym%olic /ogic

  • 8/20/2019 Siemens Top Mistakes

    28/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

  • 8/20/2019 Siemens Top Mistakes

    29/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    A#!olute v!+ S$m#oli& Priorit$

    !age 2>

    In Sym%olic )ode the intended logic is maintained

    9he address logic haschanged from 0.1 to 0.2

    9he sym%olic logic is

    maintained

  • 8/20/2019 Siemens Top Mistakes

    30/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    A#!olute v!+ S$m#oli& Priorit$

    !age "0

    #ut the Sym%olic logic is

    totally wrongB

    9he ddress logic ismaintained

    In %solute )ode the intended logic is N9 maintainedB

  • 8/20/2019 Siemens Top Mistakes

    31/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    A#!olute v!+ S$m#oli& Priorit$

    !age "1

    A#!olute Addre!!

    2222N. ;lston ve

    Chicago, I/ @0@1-

    S$m#oli& Addre!!

    tim.:agerHdmcinfo.com

    4S+

    ou don5t have to &now where the server lives or it5s I! address. ou :ust need thesym%olic name to send an email.

    So start forgetting a%out addresses and start thin&ing a%out sym%olic names.

  • 8/20/2019 Siemens Top Mistakes

    32/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    Top 10 S% i!ta"e!

    '/

    !age "2

    I )apping

  • 8/20/2019 Siemens Top Mistakes

    33/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    B ?ONNA P5O?5A LC TBS 1

    !age ""

    nput D Output apping

  • 8/20/2019 Siemens Top Mistakes

    34/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    Traditional nput D Output apping

    !age "-

    1. t the %eginning of the scan,

    ;ach physical input gets mapped

    to an internal varia%le$

    !hysical Input

    Internal aria%le

  • 8/20/2019 Siemens Top Mistakes

    35/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    Traditional nput D Output apping

    !age "?

    1. t the %eginning of the scan,

    ;ach physical input gets mapped

    to an internal varia%le$

    2. Now run all of the logic

  • 8/20/2019 Siemens Top Mistakes

    36/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    Traditional nput D Output apping

    !age "@

    1. t the %eginning of the scan,

    ;ach physical input gets mapped

    to an internal varia%le$

    2. Now run all of the logic

  • 8/20/2019 Siemens Top Mistakes

    37/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.!age "

    S% DO apping E u!t u!e the S$m#ol Ta#le

    )a&e sure you are inSym%olic !riority )ode

  • 8/20/2019 Siemens Top Mistakes

    38/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    Top 10 S% i!ta"e!

    '

    !age "A

    Improper 7se of #it )emory

     JD #it!

    7it!

  • 8/20/2019 Siemens Top Mistakes

    39/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.!age ">

    0+0

    0+1

    0+2

    0+/

    0+

    0+(0+)

    0+%

    1+0

    1+1

    1+2

    1+/

    1+

    1+(

    1+)

    1+%

    2+0

    2+1

    2+2

    2+/

    2+

    2+(

    2+)2+%

    /+0

    /+1

    /+2

    /+/

    /+

    /+(

    /+)/+%

    )0.0 K )0.

    )1.0 K )1.

    )2.0 K )2.

    )2.0 K )2.

    7it!

    7it! 7$te!

  • 8/20/2019 Siemens Top Mistakes

    40/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.!age -0

    0+0

    0+1

    0+2

    0+/

    0+

    0+(0+)

    0+%

    1+0

    1+1

    1+2

    1+/

    1+

    1+(

    1+)

    1+%

    2+0

    2+1

    2+2

    2+/

    2+

    2+(

    2+)2+%

    /+0

    /+1

    /+2

    /+/

    /+

    /+(

    /+)/+%

    )#0)0.0 K )0.

    )1.0 K )1.

    )2.0 K )2.

    )2.0 K )2.

    )#1

    )#2

    )#"

    $

    7it! 7$te!

  • 8/20/2019 Siemens Top Mistakes

    41/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.!age -1

    0+0

    0+1

    0+2

    0+/

    0+

    0+(0+)

    0+%

    1+0

    1+1

    1+2

    1+/

    1+

    1+(

    1+)

    1+%

    2+0

    2+1

    2+2

    2+/

    2+

    2+(

    2+)2+%

    /+0

    /+1

    /+2

    /+/

    /+

    /+(

    /+)

    /+%

    )#0)0.0 K )0.

    )1.0 K )1.

    )2.0 K )2.

    )2.0 K )2.

    )#1

    )#2

    )#"

    $

    )*0

    )*1

    7it! 7$te!

  • 8/20/2019 Siemens Top Mistakes

    42/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.!age -2

    0+0

    0+1

    0+2

    0+/

    0+

    0+(0+)

    0+%

    1+0

    1+1

    1+2

    1+/

    1+

    1+(

    1+)1+%

    2+0

    2+1

    2+2

    2+/

    2+

    2+(

    2+)2+%

    /+0

    /+1

    /+2

    /+/

    /+

    /+(

    /+)

    /+%

    )#0)0.0 K )0.

    )1.0 K )1.

    )2.0 K )2.

    )2.0 K )2.

    )#1

    )#2

    )#"

    $

    )*0

    )*1

    )(0

  • 8/20/2019 Siemens Top Mistakes

    43/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

  • 8/20/2019 Siemens Top Mistakes

    44/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

  • 8/20/2019 Siemens Top Mistakes

    45/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

  • 8/20/2019 Siemens Top Mistakes

    46/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

  • 8/20/2019 Siemens Top Mistakes

    47/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

  • 8/20/2019 Siemens Top Mistakes

    48/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

  • 8/20/2019 Siemens Top Mistakes

    49/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    Top 10 S% i!ta"e!

    '(

    !age ->

    Not using or

    Improperly using theCloc& #yte

  • 8/20/2019 Siemens Top Mistakes

    50/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

  • 8/20/2019 Siemens Top Mistakes

    51/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    S$m#ol Ta#le ntr$ For -lo&" 7$te

    !age ?1

    +eserve these so no%ody uses )emory overlapping the Cloc& #yte

  • 8/20/2019 Siemens Top Mistakes

    52/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    -lo&" 7$te

    !age ?2

    9he %its within the Cloc& %yte can change at

    any time during the scan.

  • 8/20/2019 Siemens Top Mistakes

    53/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    -lo&" 7$te E S$n&hronou! ?lo#al

    !age ?"

    8.T1 >udt-lo&"7$te@

  • 8/20/2019 Siemens Top Mistakes

    54/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    -lo&" 7$te E S$n&hronou! ?lo#al

    !age ?-

    .71 >d#?lo#al!@

  • 8/20/2019 Siemens Top Mistakes

    55/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    -lo&" 7$te E S$n&hronou! ?lo#al

    !age ??

    .71 >d#?lo#al!@

  • 8/20/2019 Siemens Top Mistakes

    56/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    -lo&" 7$te E S$n&hronou! ?lo#al

    !age ?@

    .71 >d#?lo#al!@

  • 8/20/2019 Siemens Top Mistakes

    57/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    -lo&" 7$te E S$n&hronou! ?lo#al

    !age ?

    )#0 d%'lo%als.Clocyte

  • 8/20/2019 Siemens Top Mistakes

    58/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.!age ?A

    0+0

    0+1

    0+2

    0+/

    0+

    0+(

    0+)

    0+%

    FlwaysP6alseG

    )apped to )0.0

    FlwaysP9rueG

    )apped to )0.1

  • 8/20/2019 Siemens Top Mistakes

    59/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.!age ?>

    0+0

    0+1

    0+2

    0+/

    0+

    0+(

    0+)

    0+%

    Cloc& #yte

    )apped to )#0

    FlwaysP6alseG

    )apped to )0.0

    FlwaysP9rueG

    )apped to )0.1

  • 8/20/2019 Siemens Top Mistakes

    60/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    Overlapping #it! are 7A.

    !age @0

  • 8/20/2019 Siemens Top Mistakes

    61/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    Top 10 S% i!ta"e!

    ')

    !age @1

    7sing 7ninitiali3ed

    9emp )emory

  • 8/20/2019 Siemens Top Mistakes

    62/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

  • 8/20/2019 Siemens Top Mistakes

    63/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    mproper 8!e of Temp emor$

    !age @"

  • 8/20/2019 Siemens Top Mistakes

    64/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    mproper 8!e of Temp emor$

    !age @-

    (on5t read from a 9;)!

    unless you have written to it

    firstB

  • 8/20/2019 Siemens Top Mistakes

    65/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    Top 10 S% i!ta"e!

    '%

    !age @?

    Not 7sing 9imed

    Interrupts.

  • 8/20/2019 Siemens Top Mistakes

    66/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    O71 v!+ O7/0++/I

    !age @@

    O71

    5un! a! fa!t a! it &an+

    O7/0O7/I

    5un at !pe&ifi& time interval!+

  • 8/20/2019 Siemens Top Mistakes

    67/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    Timed nterrupt! O7/0++O7/I

    !age @

    P. -ontrol .ata Sampling

  • 8/20/2019 Siemens Top Mistakes

    68/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    Top 10 S% i!ta"e!

    'I

    !age @A

    Not using reusa%le

    function %loc&s

  • 8/20/2019 Siemens Top Mistakes

    69/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

      6unction #loc& is a piece of reusa%le code that consists ofD

    Code is encapsulated in a ighly reusa%le form

    Increases !rogramming efficiency and reduces errors

  • 8/20/2019 Siemens Top Mistakes

    70/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    ne of the simplest and mostcommonly used function %loc& is a

    Timer .

    TON

    IN

    T#200ms   PT ET 178

    Q

  • 8/20/2019 Siemens Top Mistakes

    71/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    -reation of Fun&tion 7lo&"

    Isolate Common(uplicate Code

    If the same code is used many times in your program, consider

    creating function blocks.

  • 8/20/2019 Siemens Top Mistakes

    72/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    Step 1. locate common code.

    -reation of Fun&tion 7lo&"

    Isolate Common(uplicate Code

  • 8/20/2019 Siemens Top Mistakes

    73/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    Step 1. locate common code.

    -reation of Fun&tion 7lo&"

    Isolate Common(uplicate Code

  • 8/20/2019 Siemens Top Mistakes

    74/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    Step 2. Replace duplicated code with function blocks.

    -reation of Fun&tion 7lo&"

    Isolate Common(uplicate Code

    Custom FB Examples

  • 8/20/2019 Siemens Top Mistakes

    75/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    Custom FB Examples)otor 

    6#

    !ump

    6#

    Cylinder 

    6#

    #arcode

    Scanner 

    6#

    /a%el

    !rinter 

    6#

    alve

    6#

    )achine

    ision

    6#

    +o%ot

    Interface

    6#

  • 8/20/2019 Siemens Top Mistakes

    76/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    Top 10 S% i!ta"e!

    '

    !age @

    Inconsistent #loc&s

  • 8/20/2019 Siemens Top Mistakes

    77/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    -he&" 7lo&" -on!i!ten&$

    !age

    (on5t forget to download the (ata #loc&BB

  • 8/20/2019 Siemens Top Mistakes

    78/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    Top 10 S% i!ta"e!

    !age A

     nd last %ut not least$$..

  • 8/20/2019 Siemens Top Mistakes

    79/80

    Navigating the world of automation

     Copyright © Siemens Industry, Inc. 2011. ll rights reserved.

    Top 10 S% i!ta"e!

    '10

    !age >

    'oing it lone

    Than" Mou

  • 8/20/2019 Siemens Top Mistakes

    80/80

    Than" Mou