Home
NOTICE WARNING CONCERNING COPYRIGHT RESTRICTIONS
Contents
1. eggs TE So PIU 2 BLEST ti a tare ku sus E DA E Wi E RT Rd E Cm E a E T Mis 9 0 etek EI YHIOCXI Uv 112 04 Alo 48 50 for the base coat booth Pctri model of conveyor control logic mom LC ao oes 0140 390 Figure 3 eM LLL E m ee ee E ie DEA H4 RC co Co amv ee wd DBBUILD protects against entering incorrect conditions for identifying a resource state by accepting a sensor pointer only if the sensor has been entered in the data base Similarly an actuator cannot be referenced in an operation record unless it has been entered in the actuator database Additionally DBBUILD will inform the user if a state attached to an operation transition is or is not present In the resource data base These checks help prevent confusion for the user and prevents errors from occurring in the controller code that is generated by PROGGEN More information on DBBUILD is provided in the User s Manual in appendix II 4 PROGGEN 4 1 Description PROGGEN is written in the C programming language and is used to generate Instruction List IL code from a data base constructed using DBBUILD Instruction List programs are executed sequentially and repeatedl
2. 21 OPERATIONS OP1 Drop stop in prep booth and allow van to move into base booth OP2 Put van into base booth painting position by extending base pusher OP3 Retract base pusher OP4 Apply base coat to van OP5 Extend base pusher to push van past painting position OP6 Opbpen base booth doors OP7 Retract base pusher to accept new van arriving in base booth OP8 Stop conveyor to prevent van from hitting base doors OP9 Move van from base doors to clear booth pusher OP10 Close base booth doors OPE1 Manual reset of base pusher and van in paint position OPE2 Manual reset of base pusher and van off grounding bars OPE3 Manually open of base doors and restart conveyor OPE4 Manually close base doors ACTUATORS REQUIRED PBSD BPEXT BPRET NONE BPRET RBDO and LBDO BPRET NONE NONE RBDC and LBDC NONE NONE NONE pp CA 22 II DBBUILD User s Manual ELI Introduction OBBUHID m iatetacthre prog used to obtain and store information concerning a naarfactarag ifsim The structure of DBBUILD emulates Petri net model to 5 aaiJpii of lit q tim lope using existing Petri net theories The purpose of this append familiarise ft awr with DBBUILDS structures and menues DBBUILD prompts the user lafbtrmftlibi thai is required and therefore an experienced programmer would fee wttlbrtmbfe BUBUILD without first reading this manual However DBBUILD wi far ufoivu
3. 5 in the conveyor example move the van into the painting position and move the van out of the painting position The resulting IL code for only remembering those states that are not defined by sensors is as follows Note enabling conditions are now the sensors for those resource states that are defined by sensors OPERATION 2 OPERATION 5 Enabling Enabling LD BLS1 LD CBC AND BPLS1 AND BPLS1 S BPEXT AND BLS2 S BPEXT Res ilti eResult LD BLS2 LD BLS3 AND BPLS2 AND BPLS2 R BPEXT R BBF R BPEXT S BBC S xResul t Reisuit LD BLS1 LD 8152 AND BPLS2 AND BPLS2 R BPEXT R BPEXT s 1 2 We see that when both BLS2 BPLS2 high following completion of operation 2 E2 from operation S will be set which is not what we wanled To prevent this type of sequencing problem all resource states whether defined by sensors or not are used as feedback words This change produces the correct code as shown below 16 OPERATION 2 Enabling LD V1 AND BP1 ST BPEXT Result V1 BP1 BPL52 BLS1 V1 BP1 1 Result V1 BP1 BLS2 BPLS2 Vi V2 BP2 a BEBE The inefficiency of using this method to maintain correct sequencing stems many times feedback words are genera LS1 activated nor will the state V1 exist ted which are not required to mai cample the state V1 van entered base booth is explicitly defined by BLSI A occurs t
4. EQUIRE gt er d E RE f V0 Van at prep booth stop V1 Van arrived in base booth V2 Van in base booth painting position V3 Base coat applied to van V4 Van at base booth doors V5 Van arrived in clear booth VE1 Failed to move into paint position E2 Failed to move off grounding bars BPLS2 3 BPLS2 and BLS1 nd BLS2 20 BASE BOOTH PUSHER RESOURCE CYCLE BP1 pusher retracted and waiting for van to arrive BP2 pusher extended with van in the back dog thus the van is in the painting position BP3 pusher retracted while the van is in the painting position BP4 pusher extended with van in the front dog thus the van is pushed past the painting position BASE BOOTH DOORS RESOURCE CYCLE BDO1 Opened for van to pass through BDO2 Base doors open and van passed BDC1 Base doors closed for painting BDC2 Base doors closed painting complete BDOE Error base door open the doors did not open BDCE Error base doors close the doors did not close BASE BOOTH RESOURCE CYCLE BBF Base booth clear empty and waiting for the next van VEYOR RESOURCE CYCLE CS Conveyor stopped SENSORS REQUIRED BPLS1 BPLS2 BPLS1 BPLS2 SENSORS REQUIRED BLDO and BRDO BLDO BRDO CLS1 BLDC and BRDC BLDC and BRDC BLS3 and NOT BLDO BLS2 and NOT BLDC and NOT BRDC SENSORS REQUIRED NONE
5. TRANS NO OF ACTUATORS POINTER TO ONE OF POINTER TO ASSOCIATED ACTUATORS THE INPUT OR OUTPUT TRANSITION NEXT E TRANSITION STRUCTURE NAME STRUCTURE NAMA DESCRIPTION DESRIPTION 1 NO OF INPUT OR ACTUATOR E A P ul OUTPUT TRANS TYPE OF OUTPUT POINTER TO EACH OF THE RESOURCE STATES pu STRUCTURE NAME DESRIPTION TER E RESOURCE NAME ESTATE NAME NEXT PREVIOUS lt STRUCTURE NAME DESRIPTION RESOURCE i VSTATE NAME t Figure 4 Database structures aad pointers operation records m ss RESOURCES POINTER TO BEGINNING OF RESOURCE LIST NEXT RESOURCE PREVIOUS RESOURCE NAME DESCRIPTION NO OF STATES POINTER TO ONE OF THE STATES NEXT STATE STATE NAME DESCRIPTION NO OF DIFFERENT SETS OF SENSORS USED TO DEFINE THIS STATE PREVIOUS POINTER TO ONE OF THE SETS QF SENSORS STRUCTURE NAME DESCRIPTION NOOF SENSORS IN us UE d K SENSORS STRUCTURE NAME DESCRIPTION SENSOR NAME SENSOR CONDITION 10 SENSORS INTER BEGINNING F SENSOR LIST 7 1 af 11 POINTER TO BEGINNING OF ACTUATOR LIST NEXT ACTUATOR ACTUATOR NAME DESCRIPTION NO OF OPERATIONS IN WHICH IT IS USED TYPE OF OUTPUT WIRE NUMBER PREVIOUS Figure 7 Database stru
6. a given series of a given state Q Quit and look at another data base List all of the commands availabel NOTE AS a resource cycles or is cycled through the systems operations its state will change These states may or may not be defined by sensors and in addition some states may be defined by more than one set of sensors For example some arbitrary state may be defined by sensors 1 and 2 or by sensors 3 and 4 DBBUILD s terms for these sets of sensors is SERIES i e sensors 1 and 2 would be listed in SERIES 1 and sensors 3 and 4 could be listed in SERIES 2 DBBUILD uses the word SERIES to label the structure that contains the pointer to each of the sensors See struct OR type in section 3 of this manual Additionally DBBUILD uses SENSOR as the name of the structure that holds the actual sensor name See struct AND type in section 3 of this manual If the MF option was chosen to find information about a resource the following menu will appear D To see the description of the state S To get info about a particular state I to list all of the states assoc with this resource Q To QUIT looking at this resource to see these commands 30 If at this level S is requested the following menu will appear D To see the description of the state L To list the SERIES of SENSORS assoc with this state O To see info about a particular SERIES Q You are done looking at this state To see these commands If the O o
7. of the timer address 5 The use of the variable TIMER allows the user to specify those output transitions that are dependent on the timer If the operation reaches an acceptable output transition the timer is automatically reset 5 2 COUNTERS Counters are often required to remember how many times an operation has been executed and based on the accumulated value of the counter initiate another operation For example in an automated paint shop the paint gun requires cleaning if the same color has been used N times If a different color is used a purge operation is performed which includes cleaning the gun We therefore want to count the number of consecutive times the same color has been used It is proposed to view the counter as a type of actuator The counter name would act as the label to the counter address within the controller code The state of the counter is then defined by two associated feedback words representing counting and finished states These states can be defined by the counter address bits 16 and 15 respectively 5 To allow the user to use the counter feedback words in other operations we define feedback words label ent and label done as follows for countervails lt M label cnt 1 label done 0 for countervalue M label cnt 0 label done 1 for countervalue gt K reset cou amp tervalu countervalue 1 15 Where label is the counter name as defined by the system designer For example Samecolor cnt wo
8. time so that the majority of the solvents can vaporize before the vans enter an oven for baking The conveyor system is presently controlled by an Allen Bradley PLC 2 30 All sensor signals from limit switches and actuator commands to pushers and mechanical stops are binary The controller coordinates the motion of the vans and the opening and closing of the doors between the booths The doors must be closed during painting and van must not be release ext booth before the booth is availabel d into the is The conveyor chain shown in figure 2 is a roller flight chain which allows a van to be held in place by mechanical stops while the chain and other vans in the system continue to move After entering the base booth the van skid moves up to og on the pusher catches the push plate on the skid see Prior figure 2 The van is then pushed into a secured painting position on the grounding bars S Y IDE 2 etaar Piee m d as eem SRN up ub Pigs F to initiating the base coat painting cycle the booth doors are closed and the pusher is retracted to prevent the buildup of paint on the cylinder shaft Following the completion of the base coat painting cycle the doors are opened and the van skid is pushed off the grounding bars by the front dog of the pusher if the clear coat booth is availabel This sequence of events is repeated in the clear coat b
9. E
10. NOTICE WARNING CONCERNING COPYRIGHT RESTRICTIONS The copyright law of the United States title 17 U S Code governs the making of photocopies or other reproductions of copyrighted material Any copying of this document without permission of its author may be prohibited by law Prototype Software for Automatic Generation of On line Control Programs for Discrete Manufacturing Processes Gregg Ekberg and Bruce H Krogh CMU RI TR 87 3 Flexible Assembly Laboratory The Robotics Institute Carnegie Mellon University Pittsburgh Pennsylvania 15213 February 1987 Copyright 1987 Carnegie Mellon University in part by General Motors Corporation North American Philips This work has been supported poration and the National Science Foundation under reses Table of Contents 1 Introduction 2 Control of an Automatic Conveyor 3 DBBUILD 4 PROGGEN 4 1 Description 4 2 Analysis 5 Additional Utilities 5 1 TIMERS 5 2 COUNTERS 5 3 EXTERNAL FUNCTIONS 6 Conclusion I Sensors Actuators Resources and Operations for Conveyor Example II DBBUILD User s Manual IL 1 Introduction II 2 Structure 2 1 Operation Records II 2 2 Resource Records II 2 3 Actuator Records II 2 4 Sensor Records 3 Menus IL3 1 Operation Menu 3 2 Resource Menu 3 3 Actuator Menu II 3 4 Sensor Menu lt 4 H 1 17 17 17 18 18 19 22 22 22 22 24 25 26 26 27 29 30 31 ra Figure 1 Figure 2 Fig
11. UiM tfctt nay see irrelevant this manual tries to explain the need these EL3 Structure Tit dkfca 15 is eomplissd of four major record types 1 operations containing infon os iipit mi tnuBsiikHis resource states and actuators 2 resources cott Uhnnlim m ttt f Mi ato aad the sensors data required to define each state 3 m ttMiiyiaitg tit aAdras dt the sensor input port and 4 actuators containing the m W fe 18 mtomtom osilwt port Schematics of the records are shown in figures 4 throi rflrt HnptitiTOa f the material is not required to use DBBUIOII Operation WmmmiM Tit b As lop Iml bw m h fit cferation record e AW MHI AJ ilijJ operation name defined by user 1 S 17 1716117 Operation description Jo ti mi Mjs 10115 the number of input transit Lis Mii SSS act feolAt t amp e number of output transl struct operation type bolis number of associated actuatGbH struct operation type tpreir 2 18 op in op ptr pointer to list of input transitiol struct oat 9P pir pointer YO list of output transitie The authore would like to thank W Figurelle developing the C code for DBBUILD 23 struct act list assoc act ptr pointer to list of actuators affected by the operation The following structure contains information on the associated actuators typedef struct act list char nam
12. bel The find option will cause the following menu to appear D To 8ee DESCRIPTION of the sensor L To LIST all of the states that this sensor 48 used to define W To see the WIRE number of this sensor Q When you are done looking at this particular sensor List these commands l LL 32 References l J L Peterson Petri Net Theory and the Modeling of Systems Prentice Hall Inc Englewood Cliffs NJ 1981 C L Beck Modeling and Simulation of Flexible Control Structures for Automated 1 Manufacturing Systems Tech report Robotics Institute Carnegie Mellon University 1985 C L Beck and B H Krogh Models for Simulation and Discrete Control of Manufacturing Systems IEEE International Conference on Robotics and Automation San Francisco April 1986 2 B H Krogh and C L Beck Synthesis of Place Transitions Nets for Simulation and Control of Manufacturing Systems Jth IFAC IFORS Symposium Large Scale Systems International Federation of Automatic Control Zurich August 1986 5 International Electrotechnical Commission Standard Programmable Controllers Part 8 Programming Languages 1982 Technical Committee 65 Industrial Process Measurement and Control a r mm 2 Rap carr pi 55 TEN a rnm i mn ra ws rris un ni riim a MEC MUS Eq vp re Ras aD bm n e d W
13. ct AND type Char name NAME SIZE DBBUILD structure name Char desc DESC SIZE not used Struct AND type next Struct AND type Char sensor name NAME SIZE Sensor name Char sensor _ cond COND _ SIZE The state of the sensor activated not activated Char assoc res name NAME SIZE not used 11 2 3 Actuator Records The actuator record is defined as follows Typedef struct actuator Actuator structure Char name SIZE Name of the actuator Char desc DESC SIZE Actuates description Struct motion struct Indicates different actuator motions Int wire_num Actual wire number Struct actuator next Struct actuator prev Int num assoc_op Number of operation in which actuator is used Struct assoc_op Points to operation The following structure holds information on the operations in which the actuator is used Char desc DESC Char op_name NAME_ SIZE Name of the operation act 1150 SIZE Not used ict assoc op next Struct assoc op prev 11 2 4 Sensor Records The sen r record is as follows vpedef struct sensor type Char name NAME SIZE Int wire num Eon HNAW oe description of the sensor opt ional Int cond TS condition the sensor will be in when actuated gt Struct sensor type next Struct sensor type prev Int num assoc res Number of resources for A which this sensor is used Struct ass
14. ctures aad pointers actuator records it 12 NEXT OPERATION START THE OPERATION ENABLING CONDITIONS WITH THE LD INSTRUCTION FOR THE FIRST ENABLING STATE IN THE FIRST INPUT TRANSITION TATE FROM THIS TRANSITION y it 13 FROM TO PREVIOUS PAGE PREVIOUS PAGE IS THERE ANOTHER NO 1 OUTPUT TRANSITON YES LOAD THE OPERATIONS ENABLING STATES AGAIN LOAD AS AND INSTRUCTIONS THE SENSORS ASSOCIATED WITH THIS TRANSITIONS RESOURCE STATES D SET F LATC CHE ED eii peta Figure FLOW continued ma Sa 14 In IL would be represented as follows LD LS1 ANDN 1 52 OR LS1 AND LS3 ST 51 simply enable the actuator when the input resource state conditions are satisfied is not sufficient Actuators vary in types some are required to remain enabled for the duration of the operation while others are required to remain enabled until another motion of the same actuator 15 needed Enabling the actuator output for the duration of an operation is established by the fact that the input states to the operation remain true until an output transition becomes true as defined by the associated resource state sensors and new states are defined Other types of actuators must remain rigid even after its motion is complete For example the ple must be held open after the door open l
15. cuss its performance in terms of the generated controller code The performance criteria is based on correctness and gains or losses in efficiency compared to code developed manually by a programmer In section 5 we propose methods for incorporating additional utilities such a timers counters and external functions into DBBUILD and PROGGEN The structure of the database built by DBBUILD corresponds to a PN model of the system Thus PN techniques can be applied to determine if deadlocks or inconsistencies exist in the control logic Current research into the application of PN theory for automatic evaluation and diagnosis of programming errors is discussed in the concluding section 2 Control of an Automatic Conveyor In this section we illustrate the Petri net methodology for an automatic conveyor system at the General Motors Truck amp Bus Assembly Plant in Baltimore MD This example is used as an illustration throughout the remainder of the report The conveyor system illustrated in figure 1 indexes vans through a painting module consisting of a preparation booth a base coat booth a clear coat booth and an observation booth The preparation booth is used for final preparation of the vans before painting Coats of pigment and resin are applied in the base coat booth followed by the application of a coat of clear resin in the clear coat booth All painting is performed by robots The purpose of the observation booth is to allow sufficient flash
16. ds T men epe The folfowlag gt the resource record and ite components Tjrptdrf struct resource type Oiwr 12 of the resource chix dMcCDESC siZE Description of the Bere Struct rt ottrce type next n Strmct resource type s lot num state Holds the number of different states the resource Rea 4 z ue Struct State type statejptr Points to tlie structure IHt following stntcfeurs contains information on the resource states Tjrptiff struct state type i The resource state structure Omni MBmtWMiM BIZBI Nare of the state Char 4ssc CDBSCJBZZE Description of the state Char latched Used for generating the IL code Btrwct stat type snext 5 ttrvet ttattjbyp prev 5 lat avm 11 Number of sensors used to T determine the state i struct OR typt 01j gt tr Points to the series of sensors used t gt o define state foUaviag tferttctws coatalna the name of the series of sensors w n a BpmitU4 r o rc state a ffp 4 t struct OR type OUUI mame NAME SIZE DBBUILD struc fcure name Char dese SIZK ttntct R type Iert tract UR type pr T aua ANE Number of sensors in series E gt s 25 Struct AND type AND ptr Pointer to the sensors in the series The following structure contains the sensor names for a specified series Typedef stru
17. e NAME _ SIZE structure name defined by DBBUILD char desc DESC SIZE not used char act name NAME SIZE name of the actuator char assoc op name NAME SIZE not used char act cond COND SIZE the condition of the actuator defined by user struct act list next struct act list prev The following Structure holds information on the input transitions typedef struct in char name NAME SIZE DBBUILD name of the transition char desc DESC SIZE not used int num in op AND number of resource states associated with the transition struct in op next struct in prev struct in op AND in op AND ptr points to list of the resource States associated with the transition The following structure holds information on the output transitions ko d struct out op 4 out op next prev struct out_op AND out op AND ptr The following structure holds the input transition s resource states lasso struct in _ LAN char structure name defined by DB UILD ESC not used char e NAME SIZE the resource name char me NAME SIZE the resource state name struct next struct prev 24 n following truclur holds the output transition Bource tjpedef struct out op AND lt char name NAME SIZE cb A desc DESCJSIZE char res_naine NAME SIZE char statejiame HAMEJSIZE fltruct out op AND next etract out op AND prev H9I2 E nrce Recor
18. e specific sensor actuator realization whereas the design engineer will maintain flexibility to meet changes in the operation of the system e the functional description of the system operation is not clearly reflected in the low level control program hese factors make it diff p Future modifications may be m grammer did not anticipate operation sequencing The manufacturing engineer thinks about how the sequencing of operations may affect future operating conditions The objective for developing the software described in this report is to eliminate the need for manually encoding the discrete control logic for manufacturing systems This task is to specify and modify the control accomplished by the computer allowing the system designer program using a high level functional representation of the system To maintain a systematic approach of generating system control programs the code is generated for one operation at a time using physical states of resources as enabling conditions It is not necessary for the user to specify when to enable and disable the operation actuators this task is performed automatically by PROGGEN Control of a discrete manufacturing system involves the coordination of multiple resources in a sequence of discrete operations The initiation of each operation depends on the states of physical parts and devices resources within the system resource is any com
19. h z Pepe SED record types are shown in figures 4 through 1 E ES DBBUILD consists of procedures to create and modify these records Each record 15 built using doubly linked lists established through pointers to struct res For example and s shown in i figure 4 within the operation structure there are pointets to the next and previous Operations di 7 pointers to a list of input transitions pointers to a list of the output transitions and f pointers to a list of the associated actuators In turn these structures have pointers to structures aa that contain information on the resource states and the Attached to each each input and output transition of an operation are the resource states that required to enable the transition While building an operation the user does not need to de specify the sensors required to define the resource state This information can be added at some other lime as a function of the resource state b El gat Paret A COo Conte Figure 2 Detall of conveyor stops and ciain ag 2555 28 ot pi t RM Netea l Boom Doa M one Ratte t ENT ty P CT a sbi eerie 7 x DU mesa NS a 1 x 3 5 PD d 5 a TAS UT s on P a x M AED AUI iris PH w B s Eee TEC fab gis Gt
20. he set or latched states will remain high rd however PROGGEN removes this problem because it maintains OPERATION 5 Enabling LD CBC AND BP3 AND ST BPEXT Result LD CBC BP3 V3 BPLS2 BLS2 CBC BP3 E2 Result CBC BP3 V3 BPLS2 CBC BP3 B3C V4 BP4 E E E from the fact that if BLS1 is not activated X MR rrors by forgett the states of the 17 5 Additional Utilities The prototype versions of DBBUILD and PROGGEN presented in this report have been developed to support automatic generation of controller code for systems with binary sensors and actuators Further work 15 required to implement the required software to support timers counters external functions add subtract logical comparison etc and non binary inputs and outputs Some ideas for possible implementations of these control structures are presented in this section 5 1 TIMERS Timers are often used to monitor the sequencing of a system A timer can be viewed as a function within an operation that is initiated when the operation is enabled We propose to have operations that can be specified as timed operations for which DBBUILD will prompt the user for the pre set timer duration During controller code compilation PROGGEN will allocate a timer to that operation internally and will attach to the variable state TIMER the address of the timer completed status word bit 15
21. ial marking or placing of the tokens Ultimately to allow generated code to be used in a production environment an interface such as Ladder Diagram needs to be presented to the technician for use in on line debugging of the system One of the purposes of the DEC Language Specification 15 to provide consistency between controller codes This consistency should allow the development of linking programs that can change the controller code from IL to Structured Function Chart 5 to executable code etc and back again 19 I Sensors Actuators Resources and Operations for Conveyor Example The following two lists show the sensors and actuators used in the conveyor example SENSORS PLS1 PREP BOOTH LIMIT SWITCH 1 BLS1 BASE BOOTH LIMIT SWITCH 1 BLS2 BASE BOOTH LIMIT SWITCH 2 BLS3 BASE BOOTH LIMIT SWITCH 3 CLS1 CLEAR BOOTH LIMIT SWITCH 1 BPLS1 BASE PUSHER LIMIT SWITCH 1 BPLS2 BASE PUSHER LIMIT SWITCH 2 BLDO BASE LEFT DOOR OPEN LIMIT SWITCH BRDO BASE RIGHT DOOR OPEN LIMIT SWITCH BLDC BASE LEFT DOOR CLOSED LIMIT SWITCH BRDC BASE RIGHT DOOR CLOSED LIMIT SWITCH ACTUATORS PBSD PREP BOOTH STOP DOWN PBSU PREP BOOTH STOP UP BPEX BASE PUSHER EXTEND BPRET BASE PUSHER RETRACT RB RIGHT BASE DOOR OPEN LEFT BASE DOOR OPEN RIGHT BASE DOOR OPEN LEFT BASE DOOR CLOSE The following lists provide a brief description of the resource states and operations modeled by the PN in figure 3
22. imit doors between the booths in the conveyor exa switch has been activated This prevents the doors from drifting shut and possibly making led or has in its mor contact with the van causing a paint defect The task of maintaining the output to the speci rmed automatically by PROGGEN If an actuat PROGGEN motion Therefore for the the door is be be reset tie and the output to the doo work for actuators with more than one motio is in a given state For example the is not explicitly defined by sensors Therefore when its state is changed it is ruction latched and a location within its memory structure in DB 15 updated with its latched state If an old state is still latched when a new state is to be latched PROGGEN will unlatch the old state and latch the new state This operation follows from the fact that a resource cannot be in more than one state at any given time Creating feedback words only for those states that are not defined by sensors does not provide sufficient Information on the system state to enable the proper outputs In the current version of PROGGEN feedback words are created for all resource states Storing all resource states provides the required information for proper sequencing but leads to inefficient IL code To clarify the need for the storage of all resource state information consider operations 2 and
23. ing systems It is also time consuming and expensive to modify existing control programs This report describes prototype software for reducing the time and cost involved in developing discrete control programs by automatically generating executable computer code from a high level description of the system control logic With this software the manufacturing engineer can specify the control logic in terms of the physical devices and operations from which the computer generates the programs for real time control The prototype software described in this report is comprised of two programs DBBUILD and PROGGEN DBBUILD Data Base BUILDer is an interactive program used to build and modify a data base containing the system control description in terms of its physical devices and operations PROGGEN PROGram GENerator executed from within DBBU ILD generates source code for the on line control computer Normally a skilled progra mmer performs the task of developing the controller program usually in the Ladder Diagram Language from the system designer s description of a discrete manufacturing system Several problems can arise from the transfer of information to the nd the manu programmer 2 l encoding of the system control logic This is due to several factors including e the designer s description of the system can be misinterpreted e the programmer s implementation may be inflexibly structured around th
24. ion name TRANS 1 TRANS 2 etc and then allow you o enter a resource state transitions rather than output transitions perform the same as P and C respectively but are used for input AND used in the menus refer to transitions and resource states they represent associated with that operation respectively OR is used for transitions because AND is used for Tesource states tisfied for that transition i be c sbled 3BUILD to search through the record See struct op OR and struct AND in section 3 of this manual for more information F will cause DBBUILD to prompt the user for an operation name and will then display the next menu containing new options O will list the names of this operations output transistions TRANS 1 TRANS 2 etc will cause DBBUILD to ask for the output transition name and then present the resource states associated with that transition I and G will perform the same tasks as and respectively except they are used for input transitions The following menus are presented when the and options are chosen from the 28 D To see the description of the operation A To list all of the assoc actuators with this operation F To find info about assoc actuators with this operation O T
25. o list all of the out ops assoc with this operation N To get info about the out ops assoc with this operation I To list all of the in ops assoc with this operation G To list all about the in ops assoc with this operation Q To quit looking at this operation To see these commands menu D To see the description of the out op L To list all of the ANDs present R To see the resource name and the state name of an Q You are done looking at this out op D To see the description of the in op L To 11st all of the ANDs present P t 1 ame and the state name of the ing menu is p ww a A OR E ted when the option ed in the previous menu D To see the description of the assoc act C To see the condition the sensor will be in after the 29 L to list all info about the assoc actuator for this op Q You are done lookinga t this assoc act see these commands 3 2 Resource Menu If from the top level you decide to work on the resource record the following menu will be presented I INSERT new resource D DELETE a resource F FIND a resource or some info about a resource L LIST the name and descriptions of the resources present S Insert a STATE to a resource E ELIMINATE a state from a resource O ADD a new SERIES of SENSORS to a given state A ADD a SENSOR to a given series of a given state T TRASH delete a SERIES of SENSORS from a given state W Delete a SENSOR to
26. oc res assoc res ptr Pointer to associated resources The following structure contains information on resour ich the sensor is used Resource name State name use terms used to describe elements of Petri nets Most however those options that are not will have a brief 27 11 3 1 Operation Menu If at the top level you decide to look at operations the following menu will appear I INSERT new operation D DELETE an operation F FIND an operation or some info about an operation A INSERT assoc actuator for this operation P INSERT an out op cond OR header for this operation C INSERT an out op cond AND header for this operation O INSERT an in op cond OR header for this operation H INSERT an in op cond AND header for this operation L LIST all of the names present Q Quit and look at another data base List all of the commands availabel p wil generate the structure for an output transition and name that transition TRANS _ n where n is a number DBBUILD maintains Once the transition has been named DBBUILD will ask if there are any resource states that you want to attach to this transition Upon entering a state DBBUILD will generate a structure to hold the state name DBBUILD will name this structure STATE _ n much in the same way it names the transitions C can be used to add additional resource states to an existing output transition DBBUILD will first ask for th output transit
27. ooth When the van moves into the observation booth mechanical stops hold it in place while the solvents vaporize Using the PN methodology described in the Introduction a PN model of this system was synthesized from single resource activity cycles for the van conveyor chain mechanical stops in the preparation and observation booths doors and pushers in the base coat and clear coat booths The base booth portion of the PN for the conveyor control logic is shown in figure 3 i Descriptions of the resource states and operations for this part of the net are eiven in appendix d I The PN for the clear coat and observation booths are similar E 3 DBBUILD DBBUILD is an interactive program written in the C programming language and is used to enter the system description into a data base The database is comprised of four major record types 1 operations containing information on input and output transitions resource states 1 Nasen MEE puoi o a e ro ro uel SaM ar eT dgio Ye Arion ye yam Aas ea 0 gt Rut QR dua rar and actuators 2 resources containing information on the resource states and the sensor data 3 X a qd required to define each state 3 sensors containing the address label of the sensor input port ieS RET ded and 4 actuators containing the address label for the actuator Port Diagrams of me four d a
28. ponent within the manufacturing system that is involved in the system s operation robots fixtures raw materials controllers etc Following the execution of an operation the states of the resources involved in the operation are changed sensors are used to monitor changes the resource states We use Petri nets PN to model the discrete decision and control of a manufacturing system Previous research has shown that PN models are effective for modeling the evolution of the state tions representing operations or events transitions in discrete systems 1 PNs contai places representing conditions or states in the process and directed arcs connecting the places isitions are represented by vertical 4 and transitions In the graphical representation of PNs tra bars and places are represented by circles itions enabling an operation are the resource sition Upon completion of th resources will associated within the output transition Recently systematic methodology was developed the manufacturing system control logi ches to developing om activity cycles for each resource example of an autoi LETA trate t shop which we use throughout the report to illu conveyor system in an automobile pa the functions of DBBUILD and PROGGEN In section 3 we describe the structure and use of DBBUILD and in section 4 we describe PROGGEN and dis
29. ption is chosen the following menu will appear L To list SENSORS assoc with this SERIES S To list all of the sensor names under this SERIES and their conditions A To see info about a particular associated sensor Q You are done looking at this SERIES TO see these commands If at this level the A option is used DBBUILD will ask for the sensor name SENSOR 1 SENSOR2 etc This version of DBBUILD does not contain additional information on sensors beyond what the S option provides 0 3 3 Actuator Menu If at the top level you requested to enter the actuator record the following menu would appear new actuator an actuator F FIND an actuator or some info about an actuator L LIST all of the names present Q Quit and look at another data base List 211 of the commands availabel and invokes the following menu the description of the actuator S Get info about a particular assoc op M to list all of the motions this actuator has list all of the assoc op with this actuator 4710 QUIT Looking at this actuator to see tl mm V 3l II 3 4 Sensor Menu If at the top level you entered the sensor record the following menu would appear I INSERT new sensor D DELETE 2 Sensor F FIND sensor L LIST all of the sensors present W Change the WIRE number assoc with a sensor Q To quit and look at another data base List all of the commands availa
30. uld be the variable attached to bit 16 of the samecolor counter 5 3 EXTERNAL FUNCTIONS External functions are required to perform a series of operations that do not belong at the level of the system state description For example comparing the value of a sensor to some set point It is proposed to have the user define an external function label in the associated actuator list in an operation and it will remain his responsibility to generate code for that label Simple routines are easy to write in the Structured Text Language 5 and are easily accessible by the Instruction List code using the JMP instruction All variables will be the same names as those used in the system description level 6 Conclusion This report presents some initial work in the area of automatic programming of programmable controllers from high level descriptions The software developed illustrates the ability to interpret a data base that contains the system operation information and from it generate executable controller code Additional work is required in the area of simulation and analysis of the generated control logic The data base generated by DBBUILD is structured identically to the informatioE contained within a PN model of the system This structure allows existing Petri net theories to be used to determine if deadlocks are present The program that performs the net analysis may be a simulation program that can simulate the nets operation given an init
31. ure 3 Figure 4 Figure 5 Figure 6 Figure 7 Figure 8 11 List of Figures Modular paint shop conveyor system Detail of conveyor stops and chain Petri net model of conveyor control logic for the base coat booth Database structures and pointers operation records Database structures and pointers resource records Database structures and pointers sensor records Database structures and pointers actuator records PROGGEN Flow Chart O 12 Abstract This report describes prototype software for automatically generating control programs or discrete manufacturing processes from a high level description of the system control logic The control logic is synthesized from a specification of the physical resource states required for each operation in the process The software described in this report allows the user to specify interactively the operation sequencing logic and the actuators and sensors for each stage of the process This information is then used to automatically generate code for on line control computers The current implementation supports binary sensor and actuator signals The methodology is illustrated for the automatic generation of instruction list IL code to control a conveyor system in an existing robotic assembly plant 1 Introduction The writing and debugging of computer programs for sequential control accounts for a major component of the cost in implementing automated manufactur
32. y by a programmable logic controller to generate and maintain the correct outputs to the system The instructions used in this version of PROGGEN are per the International Electrotechnical Commission SC65A WG6 Standard for Programmable Controllers 5 The current version of PROGGEN supports the generation of a control program for simple discrete process t does not yet support operations requiring timers counters arithmetic functions or logical comparison Possible methods for incorporating these functions are described in section 5 The basic logical flow of PROGGEN is shown in Figure 8 It looks at each operation separately generating code to check the required resource states Then conditional on these states code is generated to enable the desired actuator outputs Setting latching the resultant resource states is based on the sensors associated with the resultant resource states within a transition and is performed to maintain the system state as defined in the Pe to develop conditional branches based on the system state The instructions within IL are use For example 1imit switch 1 151 is activated limit switch 2 LS2 is not limit switch 1 is activated limit switch 3 LS3 is activated N turn on solenoid 1 S1 OPERATIONS POINTER TO BEGINNING OF OPERATION LIST OPERATION NEAT OPERATION DESCRIPTION NO OF INPUT TRANS NO OF OUTPUT
Download Pdf Manuals
Related Search
Related Contents
Quartus Forth 2.0.0 - Quartus Handheld Software download SDR-1000/SDR-Console Troubleshooting Guide OrigoTig 150/200 HF f13 it forno istruzioni per l`uso - Domstore Elettrodomestici da Copyright © All rights reserved.
Failed to retrieve file