Pos

Comment

Operand

HP

WP

 

Pos

Comment

1

Motor transport belt

A2.0

 

 

 

30

Direction  of belt conveyor road

2

VC300 Stop limit, module 3

 

 

E30.1

 

31

Empty bearing pallet

3

VC300 Pre-stop limit, module 3

 

 

E30.0

 

32

Y-axis bar

4

VC301 Stopper, module 3

 

 

A30.1

 

33

Positive rotation CW, x-axis

5

ID reading head, module 3

EA39

 

 

 

34

Negative rotation CCW, x-axis

6

VC300 Pre-stopper, module 3

 

 

A30.0

 

35

Positive rotation CW, y-axis

7

VC201 Stop limit, module 2

 

 

E20.1

 

36

Negative rotation CCW, y-axis

8

VC200 Pre-stop limit, module 2

 

 

E20.0

 

37

Work piece carrier

9

VC201 Stopper, module 2

 

 

A20.1

 

38

Pump bearing

10

ID reading head, module 2

EA29

 

 

 

39

Partly loaded pallet

11

VC202 Bearing gripper, module 2

 

A20.2

A20.3

 

40

Pallet gripper, right side

12

HC204 Bearing gripper fingers, module 2

 

A20.4

A20.5

 

41

Pallet gripper, left side

13

HC204 Bearing gripper fingers limits, module 2

 

E20.4

E20.5

 

42

Pump impeller

14

VC214 Pallet lifter, module 2

 

A21.4

A21.5

 

43

Pallet bearing bore

15

VC214 Pallet lifter limits, module 2

 

E21.4

E21.5

 

44

Transport belt shaft

16

HC210 Mobile pallet gripper right, module 2

 

A21.0

A21.1

 

45

Transport belt impeller

17

VC200 Pre-stopper, module 2

 

 

A20.0

 

46

Y-axis bar

18

VC101 Stop limit, module 1

 

 

E10.1

 

47

Mobile bearing gripper

19

VC100 Pre-stop limit, module 1

 

 

E10.0

 

48

Servo drive, x-axis

20

VC101 Stopper, module 1

 

 

A10.1

 

49

Encoder reference point, x-axis

21

ID reading head, module 1

EA19

 

 

 

50

Fixing mechanism pump bearing

22

VC100 Pre-stopper, module 1

 

 

A10.0

 

51

Servo drive, y-axis

23

HC210 Mobile pallet gripper limit 1 right, module 2

 

E21.0

 

 

52

Encoder reference point, y-axis

24

HC210 Mobile pallet gripper limit 2 right, module 2

 

 

E21.1

 

53

Pump case

25

HC212 Mobile pallet gripper limit 1 left, module 2

 

 

E21.3

 

54

XY-Axis access position; dist.=367676 / 3768686 (10000=1mm)

26

HC212 Mobile pallet gripper limit 2 left, module 2

 

E21.2

 

 

55

Y-Axis safety position; dist.=6066666 (10000=1mm)

27

HC212 Mobile pallet gripper left, module 2

 

A21.2

A21.3

 

56

X-Axis empty pallet position; dist.=7169696 (10000=1mm)

28

VC202 Bearing gripper limits, module 2

 

E20.2

E20.3

 

57

Y-Axis assembly position; dist.=8952929 (10000=1mm)

Technological illustration of station 2 a Multistage Assembly Module

The layout drawing shows a plant of three assembled modules that belong to station 2. The purpose of this station is to assemble a circulation pump.

 

Principle definition

The first task of each assembly module is to read the ID-Number of the work piece carrier. The data packet that belongs to this ID-Number is stored in a Master PLC. Depending on the request of the assembly module the Master PLC sends the necessary information for the correct assembly process. Amongst other information the data sent includes three major cases:

Case 1: If the target is correct and the previous module handling ended with ok, the work piece will then be ready to be processed in the module.

Case 2: If the target is wrong or the previous module handling ended with not ok, the work piece carrier will then be released to its next stop destination.

Case 3: The ID-Number must be registered in the master PLC. If it is unregistered, the work piece will not be processed and will then be released until the next stop. 

 

Remark to S7-Code

The S7-Code focuses particularly on Assembly Module 2 which has to load the pump bearing onto the workpiece carrier. This is done via two servo drives (pos. 48/51), pallet lift cylinder (pos.14), and the bearing gripper (pos. 11/12).

FB15 :  Main  structure of  station 2 assembly module 2 (ST22 = station 2 assembly  module 2)

 

In network 1 the initialization of the assembly module is realized. This is coordinated by a superior sequencer of the station. A specific step order ensures that no collisions will take place. Each module has its own setting bit <M22 Initial> which is set for only one PLC cycle. The home position mode can be started when <M22 SetMod> is set to 1.

 

Netzwerk 1: ST22 ST02 ST22 Enable setting

      U     "M22 Initial"                  Assembly module initialization

      ON    "M00 PLC FrstCycl"             PLC first Cycle done       

      SPBN  m000

      LAR1  P##STEP

      L     0

      T     W [AR1,P#0.0]                  Array of STEP

      UN   "M22 Initial"                  Assembly module initialization

      BEB

      T     "MD22 MD20"                    Reserve control flags

      T     "MD22 MD24"

      S     "M22 SetMod"

      BEA                                  Assembly module setting mode

 

Network 2 realizes via function #SET the basic position of the assembly module. At the end of the operating sequence the function #SET resets the bit <M22 SetMod>.

 

Netzwerk 2: ST22 Start and hold sequencer setting

m000: U     "M22 SetMod"                   Assembly module setting mode

      U     "M20 NoFlrMaStp"               1= no failure for machine stop

      U     #SET.S.S0                      Skip to next step

      S     #SET.S.steps                   Start sequencer go to access position

      ON    "M22 SetMod"                   Assembly module setting mode

      R     #SET.S.steps

 

      UN    "M20 NoFlrMaStp"               1= no failure for machine hold

      =     #SET.S.steph                   Hold in sequencer step

 

  —>  CALL  #SET

       ADR  :=0

       FC_NR:=15

 

Network 3 calls the sequencer #SEQ1 for the bearing Pick-And-Place handling. The sequencer stops at the end of a step when the signal <M22 Enable>, or the signal <M22 NoFlrMach> is reset, plus when the signal <M20 InchingMod> is set to 1. The operator can decide how the assembling should proceed. The sequencer #SET jumps to step 0 when the setting mode <M22 SetMod> is active. At the end of the assembly procedure the sequencer #SEQ1 sets the bit <M22 Seq1 finish> to 1. Furthermore, during the commissioning of the assembly module the operator can decide whether the sequencer should be switched on via inching mode.

 

Netzwerk 3: ST22 Step control, start, and hold sequencer 1

      U     "M20 InchingMod"

      =     #tmp_InchingMod

 

      O     "HMI".SEQ1.F1_StepPls          HMI step +1

      O     "HMI".SEQ1.F2_StepMns          HMI step -1

      O     "HMI".SEQ1.F3_GoToStep         HMI jump to step

      FP    "M22 Seq1JumpFP"

      SPBN  m001

      S     #SEQ1.S.stepon                 Jump to step

      R     #tmp_InchingMod                Inching mode complete machine

      U     "HMI".SEQ1.F1_StepPls

      SPB   m001

      L     "HMI".SEQ1.JumpToStep          HMI jump to step parameter

      U     "HMI".SEQ1.F3_GoToStep         HMI jump to step

      SPBN  m302

      DEC   1

      SPA   m303

m302: L     #SEQ1.S.stepact                Current step

      DEC   2

      L     254

      ==I  

      BEB  

      POP  

m303: T     #SEQ1.S.stepint                Current step intern

 

m001: ON    "M22 Enable"                   Enabling Assembly module

      O     #tmp_InchingMod

      =     #SEQ1.S.steph

 

      UN    "M22 SetMod"                   Assembly module setting mode

      U     "M22 Seq1 start"               Sequencer 1 start

      =     #SEQ1.S.steps                  Start/Reset sequencer 1

 

  ->  CALL  #SEQ1

       ADR  :=30

       FC_NR:=16

 

Here are all the faults that occur during the process, for example runtime failure of cylinders. The signal <M22 FlrMach> is then set to 1 until it is acknowledged. Internally a failure number <FLR.FlrNumber> is generated which is transmitted at the end with other PDA to the master PLC.

 

Netzwerk 4: ST22 Call failure monitoring

  ->  CALL  #FLR                           Failure assembly module 2

       FLR_ACK     :="M20 AckImp"          Acknowledge impulse

       M100MS      :="M Imp 10Hz"          Pulse 10Hz

       GRP_FLR_MODL:="M22 ST FlrBCD"      

       GRP_FLR_MACH:="M22 NoFlrMaStp"      1= no failure machine stop

      L     "ST22".FLR.FLR_NR_HMI          Evaluated failure number

      T     "RdMaPLC".ST22.CrntModuleFlr   Current assembly module failure

 

The ID number is read in network 5. Once the WPC has been recognized by the reading head it sets the signal <M22 ID Read strob> to 1 and reading the ID number by the PLC can be started. At the end of the reading operation the function sets bit <M22 ID Read done> to 1. This remains TRUE until the WPC leaves the assembly module.

 

Netzwerk 5: ST22 ID Call Reading Head (10)

  ->  CALL  #READ_ID

       READ_BYTE:="E22 ID Read IB"         x.7 x.6 x.5 x.4 x.3 x.2 x.1 x.0 (x.3=strobe x.4..x.7=BCD-Code)

       DONE     :="M22 ID Read done"

       POWER    :="A22 ID Read power"

       SKIP     :="A22 ID Read skip"

       ERROR    :="M22 ID Read flr"

 

In network 6 the initiator 7 <VC201 Stp limit> and the initiator 8 <VC200 PreStp limit> are scanned. If the WPC recognize upon arrival that ini 7 is not occupied, the cylinder 17 is then actuated <VC200 PreStpr opn> and the WPC continues through until it comes to ini.7. If the ini.7 is occupied, the cylinder 17 blocks the throughput of the assembly module.

 

Netzwerk 6: ST22 open pre-stopper (17)

      O     "M00 ST TranBeltCmpltMa"       1 Impulse transport belt complete machine

      O     "VC200 PreStpr Opn"            17 Open pre-stopper

      S     "VC200 PreStpr Opn"            17 Open pre-stopper

      O     "VC200 PreStp limit"           8 Pre-stop limit

      O     "VC201 Stp limit"              7 Stop in assembly position

      R     "VC200 PreStpr Opn"            17 Open pre-stopper

 

The initiator 8 <V201 Stp limit> is monitored here. If there is no WPC in the assembly module, the cylinder 9 <VC201 Stpr opn> is not activated  and it blocks the way out of the assembly module. The blocking of 9 is terminated when the sequencer signal <M22 Seq1 finish> is sets to 1. If the signal <M22 ThouPutIndx> is set to 1, it was identified that the WPC is not intended for processing. The cylinder 9 is activated and it opens the way for the WPC out of the assembly module.

 

Netzwerk 7: ST22 open stopper (9)

      O     "M22 Seq1 finish"              Sequencer 1 finished

      O     "M22 ThrouPutIndx"             Throughput indexing signal

      S     "VC201 Stpr Opn"               9 Open stopper

      UN    "VC201 Stp limit"              7 Stop in assembly position

      R     "VC201 Stpr Opn"               9 Open stopper

      R     "M22 ThrouPutIndx"             Throughput indexing signal

 

The local sequencer <STEP> in this network starts when the signal <M22 ID Read donw> is set to 1

 

Netzwerk 8: ST22 Start of main structure

      O     "M20 Enbl Manu"                Enable manual mode total machine

      O     "M22 ID Read done"             Reading head done

      U     "M22 Enable"                   Assembly module enabling

      FP    "M22 StartPuls FP"

      S     #STEP.read

 

Here is the data request that belongs to the WPC. The signal <M22 Rd TCP/IP start> is set to 1. As soon as the data form the master PLC has arrived the signal <M22 Rd TCP/IP finish> will be set to 1 by the master PLC and the local sequencer will begin.

 

Netzwerk 9: ST22 Receive data from master PLC

      U     #STEP.read

      SPBN  S000

      S     "M22 Rd TCP/IP start"

 

      L     #READ_ID.BCD_WT_NR             ID-Number BCD

      BTI  

      T     "RdMaPLC".ST21.STS.Res         ID-Number INT

 

      U     "M22 Rd TCP/IP finish"

      R     "M22 Rd TCP/IP start"

      R     "M22 Rd TCP/IP finish"

      R     #STEP.read

      S     #STEP.start

//    R     "mST22 ThrouPutIndx"           no rotary-table-stop in system

      SPA   COMM

 

In this network will be decided whether the workpiece is to be processed or not. The workpiece will not be processed when:

1. The sender is incorrect

2. Module in manual mode

3. The workpiece carrier is unknown to the master PLC

4. The previous processing ended nOK

 

If one of the cases is TRUE, the signal <M22 ThrouPutIndx> is then set to 1 and the WPC leaves the assembly module without being machined. When the signal <M22 Seq1 START> is set to 1 the pick-and-place handling of the pump bearing can then begin.

 

Netzwerk 10: ST02 Start condition of assembly module

S000: U     #STEP.start

      SPBN  S001

      L     "RdMaPLC".ST22.PrvsModule

      L     21                             Previous assembly module number

      ==I  

      O     "M20 InchingMod"               Inching mode complete machine

      =     #process_workpiece

 

      U     "E20 ManMod"                   Manual mode

      R     "RdMaPLC".ST22.STS.WPcarr_ok

 

      U     "RdMaPLC".ST22.STS.WPcarr_ok       WPC in assembly ID ok

      U     "RdMaPLC".ST22.STS.PrvsWP_ok       WPC in previous assembly ok

      O     "M20 InchingMod"               Inching mode complete machine

      U     #process_workpiece

      =     "M22 ProcWP1"                  Process workiece Nr1

      NOT  

      =     "M22 Seq1 finish"              Sequencer 1 finished

 

      U     #process_workpiece

      SPB   m002

      R     #STEP.start

      S     "M22 ThrouPutIndx"             Throughput indexing signal

      SPA   COMM

m002: U     "M22 ProcWP1"

      S     "M22 Seq1 start"               Sequencer 1 start

 

      O     "M22 Seq1 run"

      O     "M22 Seq1 finish"              Sequencer 1 finished

      R     #STEP.start

      S     #STEP.running

      SPA   COMM

 

This network is waiting for the signal <M22 Seq1 finish>. At this moment the WPC can leave the assembly module and the process runtime will be saved

 

Netzwerk 11: ST22 Waiting for the end signal from sequencer

S001: U     #STEP.running

      SPBN  S002

      U     "M22 Seq1 finish"              Sequencer 1 finished

      R     #STEP.running

      S     #STEP.finish

 

      L     #RunTimeConter

      T     "RdMaPLC".ST22.STS.RunTime

      SPA   COMM

 

Read PDA data. In this network the ID number of the assembly module 2 will be registered. Further it checks whether the processing of the work piece has been completed with or without error. OK is when the signal <M22 SEQ1 ok> is set to 1, 0 is not OK. This is combined with the previous processing and assigned to the bit <RdMaPLC.ST22.STS.CrntWP_ok>

 

Netzwerk 12: ST22 Production Data Acquisition (PDA) and copy read to write

S002: U     #STEP.finish

      R     "M22 Seq1 finish"              Sequencer 1 finished

//    S     "mST22 ThrouPutIndx"           no rotary-table-start in system

      R     "M22 Wrt TCP/IP start"

      R     #STEP.finish

      S     #STEP.write

 

      UN    "M22 ID Read flr"              Reading head failure

      =     "RdMaPLC".ST22.STS.ReadHeadInit_ok

      L     22                             Current assembly module number

      T     "RdMaPLC".ST22.CrntModule

 

      L     #FLR.FlrNumber

      T     "RdMaPLC".ST22.CrntModuleFlr

 

      U     "M22 ProcWP1"

      =     "WtMaPLC".ST22.STS.WPcarr_ok

 

      U     "M22 SEQ1 ok"

      U     "RdMaPLC".ST22.STS.PrvsWP_ok

      =     "RdMaPLC".ST22.STS.CrntWP_ok

 

      CALL  "BLOCMUVE_32BIT"               Block move read to write

       SBLK :="RdMaPLC".ST22.WPcarr_IDnr

       TBLK :="WtMaPLC".ST22.WPcarr_IDnr

       LNG32:=4                            4 double words

 

The data that belongs to the WPC is reported to the master PLC. The signal <M22 Wrt TCP/IP start> is set to 1. When the data to the master PLC has arrived the signal <M22 Wrt TCP/IP finish> is set to 1 and the local sequencer <STEP> comes to an end.

 

Netzwerk 13: ST22 Send data packet to Master PLC

S004: U     #STEP.write

      SPBN  COMM

      R     "M22 SEQ1 ok"

      S     "M22 Wrt TCP/IP start"

      U     "M22 Wrt TCP/IP finish"

      R     #STEP.write

 

Here is the runtime meter of the process. This is monitored in the failure block #FLR. If the run-time is too long, the failure block will provoke a failure which leads to hold the process.

 

Netzwerk 14: ST22 Evaluate process run-time

COMM: U     "M22 Run"                      Assembly module running

      SPB   m003

      L     0

      T     #RunTimeConter

      SPA   m004

m003: U     "M Imp 10Hz"

      SPBN  m004

      L     #RunTimeConter

      +     1

      T     #RunTimeConter

 

With the signal <M22 run> network 15 determines how long the assembly module was occupied by the WPC.

 

Netzwerk 15: ST22 Evaluate run-time of workpiece carrier

m004: O     #STEP.read

      O     #STEP.start

      O     #STEP.running

      O     #STEP.finish

      =     "M22 Run"                      Assembly module running

 

Function <FC_OUT> controls and activates all the module devices.

 

Netzwerk 16: Call all present drives

  ->  CALL  "FC_OUT x/y-axis"              Servo drive, x/y-axis

 

Technological illustration

Multistage Assembly Module.

FB15 <FB_ST22> Main structure of station

FB5 <Safety for Human and Machine>

E-Stop, safety doors and solutions in case of failures.

FB5 <Operating modes>

Logical solution for operating mode

FC15 <SET>

Sequencer: Go to Setting position

FC16 <SEQ1>

Sequencer: Pick-And-Place-Handling

FB19 <FLR>

Failure evaluation and failure number

FB4 <READ_ID>

Reading ID-Number of work piece carrier

FC40 <FC_OUT>

Call XY-AXIS and all other devices

FC28 <XY-AXIS>

Evaluate a XY-coordinate for two drivers

FC10 <Hand-Held-Scanner>

Handheld scanner procedure

Legend

ST22 = Station 2, Module 2

WPC = Work-Piece-Carrier

HP    = Home position (retracted)

WP   = Work position (extended)

PAD  = Production Data Acquisition

HMI  = Human Machine Interface

SI     = Serial Interface

OM   = Operation Mode

 

Home

 

Erfahrung

 

Referenzen

 

Sondermaschinen

 

MSR-Maschinen

 

SPS-Programmierung

 

Visualisierung HMI

 

Elektro CAD

 

Leistungsprofil

 

Personalia

 

SW-Development

 

Dokumentation

 

 

 

Impressum & DSGVO