GB2263796A - Handling events in multiple processes. - Google Patents

Handling events in multiple processes. Download PDF

Info

Publication number
GB2263796A
GB2263796A GB9201389A GB9201389A GB2263796A GB 2263796 A GB2263796 A GB 2263796A GB 9201389 A GB9201389 A GB 9201389A GB 9201389 A GB9201389 A GB 9201389A GB 2263796 A GB2263796 A GB 2263796A
Authority
GB
United Kingdom
Prior art keywords
event
record
succeeding
processes
output device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
GB9201389A
Other versions
GB9201389D0 (en
GB2263796B (en
Inventor
Peter Van Belle
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MARBEA Ltd
Original Assignee
MARBEA Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MARBEA Ltd filed Critical MARBEA Ltd
Priority to GB9201389A priority Critical patent/GB2263796B/en
Priority to BE9200092A priority patent/BE1003802A6/en
Publication of GB9201389D0 publication Critical patent/GB9201389D0/en
Publication of GB2263796A publication Critical patent/GB2263796A/en
Application granted granted Critical
Publication of GB2263796B publication Critical patent/GB2263796B/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4825Interrupt from clock, e.g. time of day
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41835Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by programme execution
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Automation & Control Theory (AREA)
  • Debugging And Monitoring (AREA)

Abstract

A method is disclosed for carrying out a large number of processes, each of which may be quite complex. Initially, a record is created for each process, and a record is created for each event which may possibly be implemented for the processes. Data received at an input device is automatically written to the relevant process record and data inputting takes place for a pre-set time period. Each process is carried out by the output device implementing a pre-set initial event for the process, 22, and then, after a delay defined in the event record, 23, selecting the next event 27, depending on recorded conditions. The next event may, therefore, be a an override succeeding event, a logical succeeding event, or an alternative event, depending on both user requirements and on progress of the process as indicated by received values for variable parameters. Thus, complex processes may be dealt with without the need for the large processing delays associated with hierarchial processing. <IMAGE>

Description

"A processing method" The invention relates to a processing method, and more particularly to the carrying out of a large number of processes for which data is received at an input device and process events are implemented by an output device, the processes being controlled by an electronic control unit. An example of such processes would be in a system having a large number of robotic machines in a production plant and each process would relate to movement of a machine for carrying out a particular action such as moving a piece of inventory from one position to another. In this case, position data would be received and would be monitored and processed by an electronic control unit which would transmit signals to direct operation of the moving part of the robot, which is the output device.
In another example, each process may relate to a particular law suit, in which case the'received data would relate to progress of the law suit such as decisions which have been made, and the electronic control unit would generate instructions for a printer to print a particular document to implement an event to process the law suit.
British Patent Specification No. GB 2194655B (Rolls-Royce) discloses a processing apparatus which may be used for processing data from an engine test machine in which the output device is a printer for recordal of the test results.
The processing involved is quite complex and is carried out in real time, however, this specification does not disclose a method by which many different complex processes may be carried out at the same time. United States Patent Specification No. 4975842 (Darrow) discloses a process for logging patient data in real-time and monitoring the data to generate messages for a user at a display output device.
Again, while the process may be complex there is-no disclosure of a method for carrying out - a plurality of different processes at the one time. European Patent Specification No.
52757B (IBM) discloses a method for monitoring events at an input or output device and generating messages for a display output device indicating the events. There is little versatility in the manner in which the processes are carried out and a method for dealing with a large number of processes is not disclosed.
The invention is directed towards providing a processing method which may be used for carrying out a large number of processes in response to data received at an input device.
It is an object that the processes may be carried out in a versatile manner so that they may be changed interactively if required and that the processes be carried out efficiently and with little risk of incorrect events being implemented for a process.
According to the invention, there is provided a processing method carried out by an apparatus comprising an input device, an electronic control unit, an output device for implementing events of processes, a storage device and a memory circuit, the method comprising the steps of: storing in a storage device a set of process records, each record including values for fixed parameters of the associated process, these values including a unique process identifier; storing in a storage device a set of event records, each record including: instructions for an output device to implement the associated event; a unique event identifier; the identifier of an event pre-set to logically succeed the associated event; a required time delay after the event; and any entry conditions governing selection of the associated event or of alternative events; storing for each process record the identifier of an event to be initially implemented by the output device for the associated process; receiving at the input device values for variable parameter#s of processes and automatically recording them in the associated process records; writing data from the record of the initial event to the relevant process record; continuously monitoring real time; carrying out the processes by automatically loading each process record in turn into the memory circuit, and for each process record:-~ directing the output device to implement the initial event according to the instructions written from the initial event record to the process record; repeatedly comparing the time delay after the initial event with the real time, and when the time delay has elapsed: writing the record of a succeeding event into the memory circuit; comparing the variable process parameter values with any entry conditions of the succeeding event record and in response, selecting that event or an alternative event; writing data from the record of the selected event into the process record; directing the output device to implement the selected event; and comparing the time delay retrieved from the record of the selected event with real time and repeating the steps involved in directing the output device to implement the selected event for each subsequent event of the process when the time delay has expired.
Preferably, the carrying out of each process is initiated at pre-set regular intervals of time, other periods being used exclusively for receiving variable parameter values.
In one embodiment, the method comprises the additional steps of : storing for a process record an identifier for an override succeeding event; when the time delay after an event has elapsed checking if there is an override succeeding event for the process; writing the record of the override succeeding event, if one exists, into the memory circuit; and writing the record of the logical-succeeding event, if an override succeeding event does not exist, into the memory circuit.
The invention will be more clearly understood from the following description of some preferred embodiments thereof, given by way of example only with reference to the accompanying drawings in which: Fig. 1 is a flow chart showing setting up of a processing apparatus and the inputting of data into the apparatus for the carrying out of processes; Fig. 2 is a flow chart illustrating a method of carrying out the processes; and Fig. 3 illustrates in detail how a process event is selected for implementation.
Referring to the drawings, and initially to Fig. 1, there is illustrated a method 1 for setting up of an apparatus for carrying out a large number of processes. The apparatus comprises an input device which may be a data logger, a keyboard, or a position sensor, depending on the nature of the processes to be carried out. The apparatus also includes an electronic control unit which is microprocessor-based and in most cases would be the CPU of a minicomputer. The output device may be a video screen and/or a printer, a trace recorder or any other output device such as the moving part of a robotic machine or CNC machine, again depending on the nature of the processes to be carried out. The following description describes the manner in which the processes are carried out in which activities of a process are referred to as "events" and these are implemented by the output device.
The nature of these events (whether they be printing of a document, movement of a robotic arm, movement of a CNC.machine tool, for example) is not important to the invention.
The method 1 involves in step 2 creating a record for each process to be carried out by the apparatus. As each record is created, values for fixed parameters are initially inputted to it. These must include a unique process identifier so that the process may be identified. In the example in which the process is for a law suit, the fixed parameter values would include the names and addresses of the parties, location of the Courts and other data relating to the case. In step 3 of the method 1, a record is created for each event which could possibly be required to be implemented by the output device of the apparatus. Data which is automatically written into the record when it is created include: (a) An identifier for an event which would in "normal" circumstances logically succeed that event, i.e. be carried out subsequent to the event.For example, if the event is for movement of a can to a filling machine, the logical ~succeeding event would be filling of the can.
(b) Identifiers for- events which may alternatively succeed the event, according to the entry conditions. In this example, an alternative event would be to-re-attempt to move the can to the filling ppsition.
(c) A delay time between implementation of the event associated with the record and the next event. In the above example, there may be a time delay before filling takes place.
(d) Entry conditions for the event which are used during the process to determine whether or not that event should be selected. In the above example, entry conditions would be used to prevent the event of can filling taking place if the can is not at the filling position.
(e) Instructions which may be used by the control unit of the apparatus to direct operation of the output device to implement the event associated with a record. In this example, the instructions would be for control of motors for a robotic arm to move a can to the filling position or for solenoids controlling filling of the can. In another example, printing instructions may be included for generation of a particular document for a legal matter.
Still referring to Fig. 1, in step 11 a user inputs to the apparatus the identifier of an initial event to be implemented by the output device of the apparatus for each process. The identifier is inputted to each relevant process record or to portion of the storage device associated with the record. By doing this, the apparatus is instructed where to begin each process. It is also possible that this data be inputted while the process record is being created.
Steps 12 to 14 describe the method of receiving or logging of data at the input device in real time. In step 12, a value for a variable parameter of a process is received. This may be position data for a CNC machine tool or alternatively data relating to progress of a law suit. The apparatus automatically transmits this data to the relevant process record in step 13. On an on-going basis, the processor monitors real time to see if a pre-set allowed time for inputting data has expired. This pre-set time may vary enormously depending on the nature of the processes being carried out. If the process is for control of a machine tool, then the time would be very short as it is important#that the apparatus reacts quickly. However, if the processes relate to a law suit, the time may be between 8a.m. and 6p.m.As indicated by the decision step 14, values for variable parameters are received on an on-going basis during the allowed time. When this elapses, in step 15 the processes are initiated. Any data received after this is stored in a buffer memory for downloading later. Referring now to Fig. 2,- there is illustrated a portion of the overall method 1, for carrying out the processes. In step 21, a process record is loaded into the memory circuit of the apparatus. In step 22 the control unit retrieves data from the initial event record, writes this into the process record, and uses the instructions included in that data to direct the output device to implement the event. In step 23, the control unit continuously monitors real time and compares this with the time delay of the initial event record.If the time delay has not elapsed, then the next process record is retrieved and steps 21, 22 and 23 are repeated. For example, in a law suit if the initial event involves writing a letter to a party which states that legal proceedings will ensue unless there is a response within 7 days, the time delay would be 7 days and no action would be taken in the meantime. When the time delay has elapsed, in step 24 the control unit retrieves the record for the succeeding event into the memory circuit. As described in more detail below, this may be the logical succeeding event (the identifier of which has been written to the process record) or an override succeeding event, the identifier of which may be stored in the process record or creation or elsewhere where it may be associated with the process record.
In step 25 the control unit checks if there are entry conditions for the succeeding event, and if so compares the parameter values which have been received for the process with the entry conditions for the succeeding event (the record of which has been loaded into the memory circuit) in step 26.
Depending on these conditions, the control unit in step 27 selects the event to be implemented subsequently. This event may be the logical succeeding event or it may be an alternative event which is implemented contingent on the conditions arising. For example, if the can is not at the filling position, the event of filling the can is not implemented and an alternative event of re-attempting to move the can to the filling position is implemented. For the selected event, steps 26 to 30 are repeated as described above.
In step 28 the control unit writes the data from the selected event into the process record and in step 29 directs the output device to implement the event using the instructions of the event record. In step 30 the control unit checks the data written into the process record for presence of another succeeding event and if so, returns to step 24. If there are no further events, the control unit checks the storage device in step 31 to see if there is another process record, and if so the next process record is loaded in step 21. When there are no further process records, all processes are ended in step 32.
Referring now to Fig. 3, the manner in which an event is selected is illustrated-in more detail in the form of possible routes taken by the control unit in carrying out steps 24, 25, 26 and 27. In Fig. 3, events 40, 41, and 42 are shown, in which event 40 is nominated in this example as the logical succeeding event for the event which has next previously been implemented. The event 40 has two entry conditions 43 and 44, the event 41 has one entry condition 45 and the event 42 has no entry conditions. The path of the control unit for the events when loaded in the memory circuit are identified as 40(a), 41(a), and 42(a) respectively.
Following the decision step 23 of Fig. 2, if the delay has elapsed, the control unit checks in step 46 for presence of a stored override succeeding event identifier. This may be in the process record itself, or in a portion of the storage device associated with the process. In the latter case, there may for example be an override succeeding event identifier stored in a master record for a group of related processes.
If there is an override succeeding event, the record for this is written into the memory circuit in step 24, and if not, that for the logical succeeding event is written into the memory circuit. The routes 40(a), 41(a), and 42(a) indicate this step. If there is an override succeeding event, and this is event 42, then there are no entry conditions and this is selected. If the override succeeding event is even 41, the entry condition 42 must be satisfied before the event is selected. If not satisfied, event 42 is selected. If there is no override succeeding event, the entry condition 43 if the legal succeeding event 40 is compared with parameter values, and if satisfied, the control unit checks if entry condition 44 is satisfied. If this is in turn satisfied, the event 40 is selected.If the entry conditions 43 and 44 are not satisfied, alternative routes to 42(a) or 41(a) respectively, are followed.
The example illustrated in Fig. 3 is quite simple and in practice the selection of events would include a much wider choice of events. However, irrespective of the number of possible events the basic control unit method is quite straightforward and includes relatively little processing power.
It will also be appreciated that the invention provides for the carrying out of a large number of processes in an extremely versatile manner. Depending on the setting of the time period for inputting of data, the processes may be carried out interleaved with receiving of data, or may be carried out in a batch processing mode overnight, depending entirely on the nature of the processes. Further, the manner in which each process is carried out may be either pre-set in a fixed manner by, say, a user or may be carried out conditional on the values for process parameters.The manner in which the logical succeeding event record is automatically loaded into the memory circuit results in very efficient processing of the apparatus because in most cases this event is the one which will be selected and there is relatively little time required for writing of the data in the event record from the memory circuit into the process record. It has been found that the combination of features of the invention which involve creating of process and event records, automatic loading of a succeeding event record into the memory circuit, and using entry conditions stored in the event records, leads to extremely efficient and reliable processing with little chance of errors occurring. Heretofore, the approach to carrying out such complex processing where there is a large number of processes would have involved using hierarchial decision-making processes which generally require a large amount of processing time.
The invention is not limited to the embodiments hereinbefore described, but may be varied in both construction and detail.

Claims (4)

1. A processing method carried out by an apparatus comprising an input device, an electronic control unit, an output device for implementing events of processes, a storage device and a memory circuit, the method comprising the steps of: storing in a storage device a set of process records, each record including values for #fixed parameters of the associated process, these values including a unique process identifier; storing in a storage device a set of event records, each record including: instructions for an output device to implement the associated event; a unique event identifier; the identifier of an event pre-set to logically succeed the associated event; a required time delay after the event; and any entry conditions governing selection of the associated event or of alternative events; storing for each process record the identifier of an event to be initially implemented by the output device for the associated process; receiving at the input device values for variable parameters of processes and automatically recording them in the associated process records; writing data from the record of the initial event to the relevant process record; continuously monitoring real time; carrying out the processes by automatically loading each process record in turn into the memory circuit, and for each process record: directing the output device to implement the initial event according to the instructions written from the initial event record to the process record; repeatedly comparing the time delay after the initial event with the real time, and when the time delay has elapsed: writing the record of a succeeding event into the memory circuit; comparing the variable process parameter values with any entry conditions of the succeeding event record and in response, selecting that event or an alternative event; writing data from the record of the selected event into the process record; directing the output device to implement the selected event; and comparing the time delay retrieved from the record of the selected event with real time and repeating the steps involved in directing the output device to implement the selected event for each subsequent event of the process when the time delay has expired
2. A method as claimed in claim 1, wherein the carrying out of each process is initiated at pre-set regular intervals of time, other periods being used exclusively for receiving variable parameter values.
3. A method as claimed in claims 1 or 2, comprising the additional steps of: storing for a process record an identifier for an override succeeding event; when the time delay after an event has elapsed checking if there is an override succeeding event for the process; writing the record of the override succeeding event, if one exists, into the memory circuit; and writing the record of the logical succeeding event, if an override succeeding event does not exist, into the memory circuit.
4. A method substantially as hereinbefore described with reference to and as illustrated in the accompanying drawings.
GB9201389A 1992-01-22 1992-01-22 A method of carrying out multiple processes Expired - Lifetime GB2263796B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
GB9201389A GB2263796B (en) 1992-01-22 1992-01-22 A method of carrying out multiple processes
BE9200092A BE1003802A6 (en) 1992-01-22 1992-01-30 TREATMENT PROCESS.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB9201389A GB2263796B (en) 1992-01-22 1992-01-22 A method of carrying out multiple processes

Publications (3)

Publication Number Publication Date
GB9201389D0 GB9201389D0 (en) 1992-03-11
GB2263796A true GB2263796A (en) 1993-08-04
GB2263796B GB2263796B (en) 1995-04-12

Family

ID=10709068

Family Applications (1)

Application Number Title Priority Date Filing Date
GB9201389A Expired - Lifetime GB2263796B (en) 1992-01-22 1992-01-22 A method of carrying out multiple processes

Country Status (2)

Country Link
BE (1) BE1003802A6 (en)
GB (1) GB2263796B (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1273339A (en) * 1969-09-24 1972-05-10 Philips Electronic Associated Data processing arrangement for processing waiting time commands
GB1356270A (en) * 1971-09-25 1974-06-12 Ibm Digital data handling system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1273339A (en) * 1969-09-24 1972-05-10 Philips Electronic Associated Data processing arrangement for processing waiting time commands
GB1356270A (en) * 1971-09-25 1974-06-12 Ibm Digital data handling system

Also Published As

Publication number Publication date
BE1003802A6 (en) 1992-06-16
GB9201389D0 (en) 1992-03-11
GB2263796B (en) 1995-04-12

Similar Documents

Publication Publication Date Title
EP0362386B1 (en) Expert system for a machine tool equipped with an nc apparatus
US6173208B1 (en) Method for generating control codes for use in a process control system
CA1305238C (en) Control system with diagnostic logic
CA2036382A1 (en) Method of displaying an operation history of a machine
US4661899A (en) Numerical control system
US4670788A (en) Gray scale transformation circuit
JPH0342430B2 (en)
GB2156112A (en) Data processing system and method
US5291590A (en) Method of detecting and processing abnormal message output from computer system and detecting and processing apparatus therefor
GB2263796A (en) Handling events in multiple processes.
EP0297398A2 (en) A processing pulse control circuit
IE920109A1 (en) A method of carrying out multiple processes
EP0080376B1 (en) Method and apparatus for diagnosing a servomotor control circuit
US5028923A (en) ISO/EIA code converting method
EP0425674A1 (en) Automatic tool selecting system
EP0172797B1 (en) Transitional programmable controller
JPH05177503A (en) Parameter setting confirmation device in nc machine tool
JPS61161507A (en) Direct input/output system of programmable controller
JP2587473B2 (en) Control method of laser beam machine
EP0353307B1 (en) System for controlling pc apparatus
GB2126385A (en) Data storage
JPH07152410A (en) Data recording device
JP3072918B2 (en) Schedule operation method
GB2207777A (en) Numerical control apparatus for machining a closed area
JPH04178842A (en) Program running locus acquiring system

Legal Events

Date Code Title Description
PE20 Patent expired after termination of 20 years

Expiry date: 20120121