Supervision of the Manipulator System BMS Supervision P
Supervision of the Manipulator System (BMS) 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 u What is Supervision for the Brick Manipulator System ? n PLC programming and external interactions: task organisation u Task break-up, repartition of control between PLCs and Supervisor n Brick loading and extraction schemes u Open questions in Supervisor realisation, perspectives n programming language, packages, etc. Gran Sasso, 20/05/2003 OPERA Main meeting 1
BMS control: What is supervision? u Brick Manipulation System based on 2 PLCs (industrial automats) one for each portico+platform on detector side n independent operation on each side n PLC #1 PLC # 2 wall side u PLCs (embarked PCs) can do complicated sequences: corridor side possibly oriented by sensor/communication events, but. . . n once instructed to perform an operation, they will do it to the end n u Need for a job analyser and PLC task sequencer: simplify programming The BMS Supervisor (BMSS) Gran Sasso, 20/05/2003 OPERA Main meeting 2
BMS control: Task Organisation Brick Manipulator Manager (BMM) BMS Supervisor (BMSS) BMM relates to outside world + manages Manipulation DB Supervisor Organizes tasks + issues PLC commands PLC #1 Industrial Automats (PLCs) Ethernet link Profibus link Gran Sasso, 20/05/2003 PLC #2 perform ‘basic’ sequences Platform#1 instrumentation: motors, sensors, etc. OPERA Main meeting Platform#2 instrumentation: motors, sensors, etc. simple actions 3
BMS control: Analysis of problem u Identify orders (informations) received by BMS from outside n list possible jobs / global orders u Study detailed sequence of operations to be performed to accomplish job n break task down to simple actions done by PLCs u choose a sensible repartition of control between PLCs and Supervision define basic sequences of simple actions = PLC’s controlled actions n Ex. : brick train forming and pushing: n Carrousel rotates Gran Sasso, 20/05/2003 jack pushes brick OPERA Main meeting Pusher pushes brick train 4
Application to detector loading phase u Identify orders/info received from outside: “there is a basket full of bricks ready on side k” u Task break down: loop on basket level l : dock platform to loading basket level l n load 26 bricks onto carrousel n n decide which tray to fill next on side k {wall#i, tray#j} in SM (external info from BMM) n dock platform to {wall#i, tray#j} in SM n push the 26 bricks in tray u Repartition of control between PLCs and Supervision n above actions can be ‘basic sequences’ for PLCs Gran Sasso, 20/05/2003 OPERA Main meeting 5
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 SM 1, then SM 2 Ý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 n Gran Sasso, 20/05/2003 OPERA Main meeting 6
Loading phase specifics Discovery: baskets should be filled differently for side #1 and side #2 ! n Wall side BMS carrousel Wall side basket Top view n Corridor side BMS carrousel Corridor side basket Gran Sasso, 20/05/2003 OPERA Main meeting 7
Application to brick exchange phase u Identify orders/info received from outside: “here is the list of target brick cells to be extracted and replaced” u Task break down: n n treat side#1 and side#2 separately (2 lists) treat SM 1 and SM 2 in sequence (simplify) why? Passage between SM 1 and SM 2 --> 4 lists, each ~10 bricks/day for each list: n look for brick depth max in list: can embark at most (32 -d 1 max) r-bricks on trip #1 (at least 6 extractions can be done on a trip) n dock loading basket level 6 and retrieve possible r-bricks (possibly do it alternatively for SM 1 and SM 2) n count additional number n of replacement bricks needed Gran Sasso, 20/05/2003 OPERA Main meeting 8
Exchange phase simplified strategy n 4 zones: SM 1 and SM 2 treated sequencially on each side n 1 or trips per zone Top view n SM 1 w-side SM 2 w-side SM 1 c-side SM 2 c-side Gran Sasso, 20/05/2003 OPERA Main meeting 9
Brick exchange phase (continued) u Task break down (slightly summarised): n decide where to get replacement bricks {wall#i, tray#j, pos#k 1 kn} in SM to fill on side k (external info from BMM) dock platform to {wall#i, tray#j} in SM n retrieve the n bricks from tray n n perform trip #1 (see details later) bring back the n extracted bricks to basket n consider remaining list: compute new brick depth max in list, can embark 32 - d 2 max= m replacement bricks (assuming no more r-bricks from basket) n decide where to get next m replacement bricks n get them on carrousel n n perform trip #2 (see details below) n and so on… (generally not more than 2 trips) Gran Sasso, 20/05/2003 OPERA Main meeting 10
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, 1 st plane Ýthen 2 nd top plane, 2 nd bottom plane, 2 nd plane Ýthen 3 rd top plane, 3 rd bottom plane, 3 rd plane 2) detector depopulation situation: database consultation n Gran Sasso, 20/05/2003 OPERA Main meeting 11
Detector depopulation Note: 40 bricks/day x 200 days x 5 years = 40 000 bricks this is more than 3 layers (top, bottom, upstream planes) 3 layers = 38064 bricks n front view Side view n More complicated to depopulate sides: need bricks to push brick rows in place + potential mechanical problems if columns are empty n Gran Sasso, 20/05/2003 OPERA Main meeting 12
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. Pos #1 2/ get from detector to complete daily need n 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 n Gran Sasso, 20/05/2003 OPERA Main meeting 13
Side view Y Starting point Gran Sasso, 20/05/2003 Z OPERA Main meeting 14
Side view Y Starting point Gran Sasso, 20/05/2003 Z OPERA Main meeting 15
Side view Y Starting point Gran Sasso, 20/05/2003 Z OPERA Main meeting 16
Side view Y Starting point Gran Sasso, 20/05/2003 Z OPERA Main meeting 17
Side view Y Starting point Gran Sasso, 20/05/2003 Z OPERA Main meeting 18
Side view Y Starting point Gran Sasso, 20/05/2003 Z OPERA Main meeting 19
Side view Y Starting point Gran Sasso, 20/05/2003 Z OPERA Main meeting 20
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 Gran Sasso, 20/05/2003 OPERA Main meeting 21
Starting point K=1 Gran Sasso, 20/05/2003 OPERA Main meeting 22
K=1. Replace the 12 th brick: the 11 first bricks are retrieved from tray Y= 11+8 -1=18 turn carrousel by 32 -18 -1 cases clockwise K=1 Gran Sasso, 20/05/2003 OPERA Main meeting 23
Gap is placed in front of the bridge Gran Sasso, 20/05/2003 OPERA Main meeting 24
12 th brick is extracted Last brick retrieved before the brick to extract K=1 Gran Sasso, 20/05/2003 OPERA Main meeting 25
Rotate by 1 case clockwise K=1 Gran Sasso, 20/05/2003 OPERA Main meeting 26
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 Gran Sasso, 20/05/2003 OPERA Main meeting 27
depth -1 Red bricks are pushed back to place Gran Sasso, 20/05/2003 OPERA Main meeting 28
K=1 finished, we go to another row for next extraction K=2 Gran Sasso, 20/05/2003 OPERA Main meeting 29
K=2, go get the 5 th 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 Gran Sasso, 20/05/2003 OPERA Main meeting 30
Gap is in front of bridge K=2 Gran Sasso, 20/05/2003 OPERA Main meeting 31
The 5 th brick is extracted K=2 depth-1 Gran Sasso, 20/05/2003 OPERA Main meeting 32
Rotate by 1 case clockwise r 2 K=2 Gran Sasso, 20/05/2003 OPERA Main meeting 33
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 Gran Sasso, 20/05/2003 OPERA Main meeting 34
Depth-1 in front of bridge depth-1 K=2 Red bricks are then pushed back Gran Sasso, 20/05/2003 OPERA Main meeting 35
Next exchange K=3: to get the 24 th brick retrieve the first 23 bricks K=3 Gran Sasso, 20/05/2003 OPERA Main meeting 36
depth-1 Y=23+8 -3=28 K=3 Gran Sasso, 20/05/2003 Rotate by 32 -Y-1 cases clockwise to place gap in front of bridge OPERA Main meeting 37
Gap is facing the bridge, 24 th brick to be extracted depth-1 K=3 Gran Sasso, 20/05/2003 OPERA Main meeting 38
The 24 th brick is extracted depth-1 K=3 Then rotate by 1 case clockwise + push replacement brick on bridge Gran Sasso, 20/05/2003 OPERA Main meeting 39
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 Gran Sasso, 20/05/2003 OPERA Main meeting 40
depth-1 K=3 Red bricks are then pushed back in place Gran Sasso, 20/05/2003 OPERA Main meeting 41
K=4 Gran Sasso, 20/05/2003 OPERA Main meeting 42
Now go get the 10 th brick in another row etc, etc. . . K=4 Gran Sasso, 20/05/2003 OPERA Main meeting 43
BMS supervision: status of study u Break up done for main tasks (brick loading, brick extraction) n with very simple algorithms till now u Choices in control repartition : n master/slave relationships between BMM and Supervisor, Supervisor and PLCs : PLC #1 BMM Global orders + infos procurement from DB Supervisor Tasks break up + PLC commands chaining PLC #2 basic sequences Gran Sasso, 20/05/2003 OPERA Main meeting 44
Basic tasks of PLCs: tentative list u u u u u 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 m 1 to mn places j 1 to jn u and more (? ) Gran Sasso, 20/05/2003 OPERA Main meeting 45
BMS Supervisor tasks are now clearer: u Receive global order from BMM, acknowledge u Break up task into basic PLC tasks u Interrogate BMM when necessary to complete info: next free brick row to fill n next repl. bricks to fetch n u Start sequence orders to PLCs u For each order to a PLC: report start of operation n send order to PLC n get report from PLC (operation result) n report end of operation n u Report on global order to BMM Gran Sasso, 20/05/2003 OPERA Main meeting 46
Along Supervisor task processing Supervisor will communicate with BMM along the way: u When a brick enters the BM system: passage basket n carrousel read codebars and report “ECC# w. CS# enters the BMS” u When n bricks are placed in target cells (multi-brick train pushed successfully into position): read CS codebar when CS passes on bridge n report “ECC# w. CS# in target cell {SM#, wall#, tray#, pos. #}” n times when brick train has arrived into position n u 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 n read CS codebar while CS passes on bridge n report “ECC# w. CS# (re)enters the BMS” n Gran Sasso, 20/05/2003 OPERA Main meeting 47
Along task processing Supervisor communication with BMM (continued): u When n bricks are unloaded: passage carrousel n 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) Gran Sasso, 20/05/2003 OPERA Main meeting 48
Perspectives u BMS Supervisor study started March 2003: n significant work done: Task analysis and break up u Technical choices: n n 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: Lab. VIEW-DSC (‘Bridge. VIEW’) under investigation ÝPossibility: new version of PLC Ethernet interface (w. integrated WEB services), skipping OPC layer? u Schedule: running version end of 2004 Gran Sasso, 20/05/2003 OPERA Main meeting 49
- Slides: 49