490 likes | 666 Views
Supervision of the Manipulator System (BMS). What is Supervision for the Brick Manipulator System ? PLC programming and external interactions: task organisation Task break-up, repartition of control between PLCs and Supervisor Brick loading and extraction schemes
E N D
Supervision ofthe Manipulator System (BMS) • What is Supervision for the Brick Manipulator System ? • PLC programming and external interactions: task organisation • Task break-up, repartition of control between PLCs and Supervisor • Brick loading and extraction schemes • Open questions in Supervisor realisation, perspectives • programming language, packages, etc. Supervision : P. Aygalinc (ESIA Eng. school), R. Gallet, M. Faivre, H. Pessard, F. Moreau in close contact with adjacent BMS activities: Automate Programming development, Manipulation Database development OPERA Main meeting
BMS control: What is supervision? • Brick Manipulation System based on 2 PLCs (industrial automats) • one for each portico+platform on detector side • independent operation on each side • PLCs (embarked PCs) can do complicated sequences: • possibly oriented by sensor/communication events, but... • once instructed to perform an operation, they will do it to the end • Need for a job analyser and PLC task sequencer: simplify programming The BMS Supervisor (BMSS) PLC #1 PLC # 2 wall side corridor side OPERA Main meeting
Ethernet link Profibus link BMS control: Task Organisation relates to outside world + manages Manipulation DB Brick Manipulator Manager (BMM) BMM Organizes tasks + issues PLC commands BMS Supervisor (BMSS) Supervisor PLC #1 PLC #2 Industrial Automats (PLCs) perform ‘basic’ sequences Platform#1 instrumentation: motors, sensors, etc. Platform#2 instrumentation: motors, sensors, etc. simple actions OPERA Main meeting
BMS control: Analysis of problem • Identify orders (informations) received by BMS from outside • list possible jobs / global orders • Study detailed sequence of operations to be performed to accomplish job • break task down to simple actions done by PLCs • choose a sensible repartition of control between PLCs and Supervision • define basic sequences of simple actions = PLC’s controlled actions • Ex.: brick train forming and pushing: jack pushes brick Pusher pushes brick train Carrousel rotates OPERA Main meeting
Application to detector loading phase • Identify orders/info received from outside: “there is a basket full of bricks ready on side k” • Task break down: loop on basket level l : • dock platform to loading basket level l • load 26 bricks onto carrousel • decide which tray to fill next on side k {wall#i, tray#j} in SM (external info from BMM) • dock platform to {wall#i, tray#j} in SM • push the 26 bricks in tray • Repartition of control between PLCs and Supervision • above actions can be ‘basic sequences’ for PLCs OPERA Main meeting
Loading phase specifics • Decision on which tray is to be filled next on a given side k : information from BMM based on 1) filling strategy, for ex.: • Fill SM1, then SM2 • wall 31 to 1 (upstream in current SM) • tray 64 to 1 (fill wall from top to bottom) 2) detector filling current situation: database consultation OPERA Main meeting
n Loading phase specifics • Discovery: baskets should be filled differently for side #1 and side #2 ! Wall side BMS carrousel Wall side basket Top view Corridor side BMS carrousel Corridor side basket OPERA Main meeting
Application to brick exchange phase • Identify orders/info received from outside: “here is the list of target brick cells to be extracted and replaced” • Task break down: • treat side#1 and side#2 separately (2 lists) • treat SM1 and SM2 in sequence (simplify) why? Passage between SM1 and SM2 --> 4 lists, each ~10 bricks/day for each list: • look for brick depth max in list: can embark at most (32-d1max) r-bricks on trip #1 (at least 6 extractions can be done on a trip) • dock loading basket level 6 and retrieve possible r-bricks (possibly do it alternatively for SM1 and SM2) • count additional number n of replacement bricks needed OPERA Main meeting
n Exchange phase simplified strategy • 4 zones: SM1 and SM2 treated sequencially on each side • 1 or trips per zone Top view SM1 w-side SM2 w-side SM1 c-side SM2 c-side OPERA Main meeting
Brick exchange phase (continued) • Task break down (slightly summarised): • decide where to get replacement bricks {wall#i, tray#j, pos#k1-kn} in SM to fill on side k (external info from BMM) • dock platform to {wall#i, tray#j} in SM • retrieve the n bricks from tray • perform trip #1 (see details later) • bring back the n extracted bricks to basket • consider remaining list: compute new brick depth max in list, can embark 32 - d2max= m replacement bricks (assuming no more r-bricks from basket) • decide where to get next m replacement bricks • get them on carrousel • perform trip #2 (see details below) • and so on… (generally not more than 2 trips) OPERA Main meeting
Exchange phase specifics • To decide which bricks on which tray to fetch to get replacement bricks in a given SM given side k : information from BMM based on 1) de-population strategy, for ex. in order: • fetch r-bricks in top-plane, bottom plane, 1st plane • then 2nd top plane, 2nd bottom plane, 2nd plane • then 3rd top plane, 3rd bottom plane, 3rd plane 2) detector depopulation situation: database consultation OPERA Main meeting
n Detector depopulation • Note: 40 bricks/day x200days x5years = 40 000 bricks this is more than 3 layers (top, bottom, upstream planes) 3 layers = 38064 bricks front view Side view • More complicated to depopulate sides: need bricks to push brick rows in place + potential mechanical problems if columns are empty OPERA Main meeting
Exchange phase specifics (continued) • Conventions - basket: upper 4 levels = BMS reentering bricks lower 5 levels = BMS exiting bricks basket positions are defined: 1 to 26 - order of priority for r-bricks: 1/ get from basket 2/ get from detector to complete daily need • Trip strategy (to reduce overall path and moves): 1) simple algorithm (could be more sophisticated if significant gain demonstrated): see illustrations ex.: go to closest neighbour tray to serve 2) carrousel rotations managing: see illustrations Pos #1 OPERA Main meeting
Side view Y Z Starting point OPERA Main meeting
Side view Y Z Starting point OPERA Main meeting
Side view Y Z Starting point OPERA Main meeting
Side view Y Z Starting point OPERA Main meeting
Side view Y Z Starting point OPERA Main meeting
Side view Y Z Starting point OPERA Main meeting
Side view Y Z Starting point OPERA Main meeting
Story of a trip (view from carrousel) Bricks are numbered from side of detector towards center from 1 to 26. Start point :Replacement bricks are on the carrousel. k : loop index Nbex : number of bricks to extract manipulated bricks extracted bricks replacement bricks Exemple of trip: max depth is 24, can embark 8 replacement bricks OPERA Main meeting
Starting point K=1 OPERA Main meeting
K=1. Replace the 12th brick: the 11 first bricks are retrieved from tray Y= 11+8-1=18 turn carrousel by 32-18-1cases clockwise K=1 OPERA Main meeting
Gap is placed in front of the bridge OPERA Main meeting
12th brick is extracted Last brick retrieved before the brick to extract K=1 OPERA Main meeting
Rotate by 1 case clockwise K=1 OPERA Main meeting
Introduce a replacement brick on the bridge Y=11+8-1=18 Rotate by 32-Y cases anti-clockwise to get depth-1 in front of bridge K=1 depth -1 OPERA Main meeting
depth -1 Red bricks are pushed back to place OPERA Main meeting
K=1 finished, we go to another row for next extraction K=2 OPERA Main meeting
K=2, go get the 5th brick: retrieve the first 4 on the carrousel Y=4+8-2=10 Rotate by Y+1 anti-clockwise to have the gap facing the bridge K=2 OPERA Main meeting
Gap is in front of bridge K=2 OPERA Main meeting
The5th brick is extracted depth-1 K=2 OPERA Main meeting
Rotate by 1 case clockwise r2 K=2 OPERA Main meeting
One replacement brick is pushed on the bridge Y=4+8-2=10 Rotate by Y cases clockwise to get depth-1 facing the bridge depth -1 K=2 OPERA Main meeting
Depth-1 in front of bridge depth-1 K=2 Red bricks are then pushed back OPERA Main meeting
Next exchange K=3: to get the 24th brick retrieve the first 23 bricks K=3 OPERA Main meeting
depth-1 Y=23+8-3=28 K=3 Rotate by 32-Y-1 cases clockwise to place gap in front of bridge OPERA Main meeting
Gap is facing the bridge, 24th brick to be extracted depth-1 K=3 OPERA Main meeting
The 24th brick is extracted depth-1 K=3 Then rotate by 1 case clockwise + push replacement brick on bridge OPERA Main meeting
Replacement brick on the bridge Y=23+8-3=28 Rotate by 32-Y cases anti-clockwise toget depth-1 facing bridge depth-1 K=3 OPERA Main meeting
depth-1 K=3 Red bricks are then pushed back in place OPERA Main meeting
K=4 OPERA Main meeting
Now go get the 10th brick in another row etc, etc... K=4 OPERA Main meeting
Global orders + infos procurement from DB BMM Tasks break up + PLC commands chaining Supervisor PLC #1 PLC #2 basic sequences BMS supervision: status of study • Break up done for main tasks (brick loading, brick extraction) • with very simple algorithms till now • Choices in control repartition : • master/slave relationships between BMM and Supervisor, Supervisor and PLCs : OPERA Main meeting
Basic tasks of PLCs: tentative list • Initialise system side k • Move BM to loading station and dock it at level #i • Load n bricks from loading basket onto carrousel • Move BM to target row {SM#, wall#, tray#} and dock it to tray • Push n bricks from carrousel into tray • Push 1 brick out from carrousel to bridge • Rotate carrousel: put case m in front of bridge • Retrieve n bricks from tray to carrousel • Unload n bricks from carrousel onto (un)loading basket places m1 to mn places j1 to jn • and more (?) OPERA Main meeting
BMS Supervisor tasks Supervisor tasks are now clearer: • Receive global order from BMM, acknowledge • Break up task into basic PLC tasks • Interrogate BMM when necessary to complete info: • next free brick row to fill • next repl. bricks to fetch • Start sequence orders to PLCs • For each order to a PLC: • report start of operation • send order to PLC • get report from PLC (operation result) • report end of operation • Report on global order to BMM OPERA Main meeting
Along Supervisor task processing Supervisor will communicate with BMM along the way: • When a brick enters the BM system: passage basket carrousel • read codebars and report “ECC# w. CS# enters the BMS” • When n bricks are placed in target cells (multi-brick train pushed successfully into position): • read CS codebar when CS passes on bridge • report “ECC# w. CS# in target cell {SM#, wall#, tray#, pos.#}” n times when brick train has arrived into position • When n bricks are retrieved from a target tray: • report “ECC# w. CS# out of target cell {SM#, wall#, tray#, pos.#}” n times when extraction operation will start • read CS codebar while CS passes on bridge • report “ECC# w. CS# (re)enters the BMS” OPERA Main meeting
Alongtask processing Supervisor communication with BMM (continued): • When n bricks are unloaded: passage carrousel basket • read codebars and report “ECC# w. CS# exits the BMS” n times The BMM will use these time-stamped informations to: manage the MANIPULATION DATABASE communicate information to external OPERA systems (see Dominique talk) OPERA Main meeting
Perspectives • BMS Supervisor study started March 2003: • significant work done: Task analysis and break up • Technical choices: • communication with PLCs is done via a proprietary OPC Server running on a PC under Windows • code writing in an OPC Client : choices • Vijeo-Look commercial software tested: too limited • develop home-made C++ primitives: under evaluation • other possible option: LabVIEW-DSC (‘BridgeVIEW’) under investigation • Possibility: new version of PLC Ethernet interface (w. integrated WEB services), skipping OPC layer? • Schedule: running version end of 2004 OPERA Main meeting