An Overview of RapidCIM Concepts Richard A. Wysk IE551 - Computer Control of Manufacturing Systems System Designer produces Owner ACME generates RapidCIM controls RapidCIM Project X controls System Operators PSU TAMU controls Agenda • Traditional Software Development • Motivation for RapidCIM • RapidCIM Concepts • Equipment Level Models • Message-based Part State Graphs • Conclusions • Resources Introduction Automated Flexible Manufacturing Cells/Shops Hardware Input CAD Models etc. Programming Tools & Software NC Programming Offline Robot Programming etc. System Control Software Tools to assist in development of System Control Software ???? Input ???? Traditional Control Software Development In traditional “PLC-type” control, the control software is developed using the same planning, scheduling, and execution flow diagram. Traditional Control Software Development Planning (determining part routes) and scheduling (sequencing tasks) are built into the control software - Similar to a PLC ladder diagram. Adding new parts or changing the scheduling rules require significant modifications to the control software These changes must be done by the FMS vendor instead of the system operators Motivation For RapidCIM Most current FMS control implementations are customized Lack of generic tools Limitations in flexibility and reconfiguration High cost of reliable software development 2/3 rd of total expenditure is incurred during implementation phase, due to errors in software design approx. 64% of the errors are made at the concept stage and only 36% are programming errors On average, 50% or more of the software costs for flexible automation are related to control Shop-floor control Lack of emphasis on software development Architectures do not provide sufficient detail Software requirements have not been systematically analyzed to separate generic requirements from implementation-specific requirements Functions performed are too tightly coupled Tools to aid in the manufacturing system software development do not exist RapidCIM Project System Designer produces Owner ACME generates RapidCIM controls RapidCIM Project X controls System Operators PSU TAMU controls Specific Tasks Understand the control elements of a FMS Develop theoretical foundations for FMS control, through use of formal models Create generic model of control independent of implementation specifics Automatic generation of control software for various controllers in the cell using the formal models Create a FMS control software development methodology which can be implemented as a set of domain specific CASE tools Control Software Need Software That is generic and hence reuseable Easily customized per installation Modular & modules being “plug compatible” Shop Floor Control Software Generic Implementation Specific Automatically Generated Hand Coded Hierarchical Architecture Shop Resource Manager Wkstn Equip Wkstn Wkstn Equip Equip Equip Equip Equip Control Hierarchy EQUIPMENT WORKSTATION Physical devices (NC machines, robots, AGV, ASRS, programmable fixtures, buffers, etc) Integrated pieces of equipment Robot tending a single machining center, along with requisite fixtures, sensors, etc. Robot tending several machines SHOP Several integrated workstations, coupled by material transport workstations Equipment Level Each controllable equipment is viewed as comprising Physical device controller (supplied with machine) Equipment controller (typically a PC) Generic Classes of Equipment MP - Material Processor (NC machine, CMM) MH - Material Handler (robot) MT - Material Transporter (AGV, conveyor) AS - Automated Storage Device EQUIPMENT LEVEL (Cont) Non Controllable equipment Ports (entry and exit of parts) BS - passive buffer storage devices PD - passive devices PO - ports Equipment level controller incorporates a device driver, that implements the equipment level functions (cycle start, download, etc) This is the implementation specific portion Workstation Level Workstation comprises equipment (MP, MH, PO, BS, MT ....) Types of Workstation Processing workstation Transport Workstation Storage Workstation Planning, Scheduling, and Execution Planning Determining what tasks the system needs to perform System Operation Planning Scheduling Sequencing planned tasks Planned tasks Scheduling Scheduled tasks Execution Performing the scheduled tasks at the appropriate time Execution Tasks Physical System Functional Architecture LEVEL EQUIPMENT WORKSTATION SHOP Tool Selection, Tool path refinement Resource allocations Batching Batch splitting Worlokad Balancing between workstations FUNCTIONS PLANNING Tool assignment to slots, job set up planning Equipment Load Balancing SCHEDULING Operation sequencing -Sequence equipment level at individual subsystems equipment -Deadlock Detection Buffer Management EXECUTION Interface to Monitor equipment states workstation controller and execute part and information flow based on Physical control of states machines Execution of control Synchronization Task allocation to workstations Assignment of due dates to workstations Batch sequencing and management Organizational control of workstaions Interface with MRP Report Generation Shop Floor Controller Structure Production Requirements I/O Channel Controller Task List Planner System Status Scheduler Physical Configuration System Model I/O Channels Executor Physical Model Physical System Part Flow Through the Shop Refixture Enter Shop Deliver to Wkstn Put on Equip Process Pick from Equip Put on Equip Deliver to Wkstn Remove from Wkstn Exit Shop Material Processor System Model Physical Configuration NC Machine Output 3 2 1 Input Equipment Type: MP Name: NC Mill Part Locations: Num Processing Blocked Input Output 1 N N Y N 2 Y Y N N 3 N N N Y Processing mp_put process MP: Physical Model mp_pick Material Handler System Model Physical Configuration Home Equipment Type: MH Name: M1-L Robot Gripper Capacity: 1 Locations: 20 - Home: 0 Num x y z 1 0 0 0 : : : : 20 100 100 100 Physical Model pick MH: put Typical Processing Workstation Horizon V Vertical Mill Material Transport Cart Daewoo Puma Turning Center Fanuc M1-L Buffer Physical Model Processing Workstation MP E mp_put mp_pick port_depart mp_pick port_pick Port MH MP port_put mp_put port_arrive bs_pick bs_put S BS Event Sequence Event Source 1 2 3 4 5 6 7 Workstation Machine Controller workstation robot controller robot controller workstation machine controller 8 9 10 11 12 machine controller workstation robot controller robot controller workstation Message/ Task assign part at location put part put task put done grasp part grasp part task grasp done clear clear task clear done clear OK Destination machine controller workstation robot controller robot workstation machine controller machine workstation robot controller robot workstation machine controller Equipment-level Device Interaction mp_put clear to load part ? clear close fixture execute program to close fixture fixture closed robot clear execute part program execute program to load part execute program to release part and move away Can this be implemented in a generic manner? Custom specifics Protocols Communications Message-based Part State Graph (MPSG) An MPSG is a deterministic finite automaton representing the processing protocol for a part. An MPSG state provides information about the current processing state of the part that is needed to determine the behavior on subsequent events. State transitions are caused by receiving messages about the part and by performing functions specified by the scheduler. Mealy Machine A Mealy machine is essentially a finite automaton with output. Formally, a Mealy machine M is defined as follows: M Q, q0 , , , , where, Q, q0 , , and, are as is in a finite automaton, is an output alphabet , and : Q is an output transition function. So, a Mealy machine is a finite state automaton in which an output (defined by and ) is generated during state transitions. MPSG Definition MP SG = (Q, q0 , F , , , , , ) W here: Q is a finit eset of st at es q0 Q is t heinit ialor st art st at e F Q is a set of final or accept ingst at es ( I O T ) is a finit eset of event s,and I is a set of input messages O is a set of out put messages T is a set of cont rollert asks is a finit eset of cont rolleract ionswhere is an execut ablefunct ion which performssome cont rolleract ion is a finit eset of physicalpreconditons i for cont rolleract ions. is part it ione d so t hatfor each , t hereis a corresponding . Furt hermor e, each is a predicat ewhich ret urnst rue or false. : Q ( I O T ) Q is a st at e t ransit ion funct ion : Q ( O T ) is a cont rolleract ion t ra nsit ionfunct ion. MPSG for Generic MP Equipment mp_put assign_we 0 1 t_assign @loc_ew 2 grasp_we 3 4 t_grasp 5 grasp_ok_ew 6 clear_ok_we 7 @loc_ns_ew t_dnld t_stop process 7 t_start 8 finish_de 9 done_ew 10 t_start t_dnld done_ew mp_pick 10 remove_we 11 t_remove 12 @loc_ew @loc_ns_ew 13 release_we 14 t_release 15 release_ok_ew 16 clear_ok_we 17 MPSG Characteristics Explicitly separate scheduling from execution. Extensible at multiple levels to facilitate software development Generic MPSG can be used unmodified. Extraneous transitions can be removed. Specified messages and tasks can be rearranged. New messages and tasks can be specified. Execution portion of the control software is automatically generated from the MPSG description. Shop Floor Controller Class Storage Class Provides basic database functions for the controller Parts are tracked based on their location in the shop, state, and the workstation and equipment level device to which they are assigned. Objects within the storage class Parts Slots - Corresponding to physical locations Entities - Lower level controllers in the control hierarchy Controller Class Embellishes the storage class with the data structures necessary for control. User Interface Communications MPSG Planner Scheduler Equipment Class Specializes the controller class so that the instantiated objects interact directly with a piece of equipment Not “Equipment Objects” in the system. Rather the equipment class is further partitioned based on the behavior of the individual pieces of equipment. Material Processors (MP) Material Handlers (MH) Automated Storage Devices (AS) Material Transporters (MT) Software Generation Generation software has been developed in C++ for use in DOS, OS/2, ULTRIX, AIX, UNIX and Windows operating system environments. Components of the generation system MPSG Builder Controller Class MPSG Class Communications Class (IOMUX for CIM lab implementation) Generic equipment descriptions and functions MPSG Scheduler Task action functions Communication Controller Controller Controller Controller to to to to device controller database Messaging Communications - continued IOMUX 1995 based system that connected all of the computers Router 1997 based system that uses a single device to route all messages IOMUX (I/O Multiplier) Facilitates the interprocess transfer of data in a consistent manner independent of the hardware/operating systems of the components. System components can be reconfigured without recompilation by modifying an ASCII configuration file representing the route map (default.map). Platform/domain Formerly implemented on the following platforms: DOS OS/2 RS-232 Serial TCP/IP using Watt TCP TCP/IP Shared queues (IPC) UNIX - TCP/IP DEC ULTRIX IBM AIX SGI Current Implementation Windows NT/ Windows 2000 serves as the core for the system. Arena 3 or 4 is used as message generation for the Execution system Router – communication Access - database Shop Level Physical Model AS1 process process process store MP1 MP2 pick put put pick put MH1 move P1 pick pick put pick MH3 move P2 move remove AS1 MP3 MH2 put pick retrieve put pick P3 move introduce Start/ Stop Controller Tasks Physical Model actions/tasks become tasks issued by simulation Simulation - issues a “pick” through a message placed in the task initiation queue Big Executor explodes the “pick” task into various messages that are send to the individual controllers and co-ordinates their actions based on the responses returns a “pick_done” message to the simulation in the task completion queue Conclusions Traditional Control Software generation issues Concept of RapidCIM Separation of Planning and Execution Physical models for equipment classes Workstation and shop level controllers What Next? Manufacturing Architectures RapidCIM Simulation-based Control NEXT! Implementation Issues Resources Joshi, S. B., Mettala, E. G., Smith J. S., and Wysk, R. A., “Formal models for control of flexible manufacturing cells: physical and system model”, IEEE Transactions on Robotics and Automation, v11, n4, Aug, 1995 IEEE, Piscataway, NJ, USA, p 558-570. Joshi, S., J. Smith, R. Wysk, B. Peters, and C. Pegden, "Rapid-CIM: An Approach to Rapid Development of Control Software for FMS Control", 27th CIRP International Seminar on Manufacturing Systems, Ann Arbor, MI, May, 1995. Mettala, E. G., “Automatic generation of control software in computer-integrated manufacturing”, Ph.D. Dissertation, Department of Industrial and Manufacturing Engineering, Pennsylvania State University, University Park, PA 16802, 1989. Resources Qui, R. B., “Modeling and Control of a flexible manufacturing system using deterministic finite capacity automata”, Ph.D. Dissertation, Department of Industrial and Manufacturing Engineering, Pennsylvania State University, University Park, PA 16802, 1996. Qui, R. B. and Joshi, S. B., “Deterministic finite capacity automata: a solution to reduce the complexity of modeling and control of automated manufacturing systems”, Proceedings of the 1996 IEEE International Symposium on ComputerAided Control System Design, Sep 15-18 1996, Dearborn, MI, USA, p 218-223 Qui, R. B. and Joshi, S. B., “A Structured Adaptive Supervisory Control Methodology doe Modeling the Control of Discrete Event Manufacturing” IEEE Transactions on Systems, Man, and Cybernetics, vol. 29, no. 6, 1999, pp. 573586