GB2263796A - Handling events in multiple processes. - Google Patents
Handling events in multiple processes. Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 131
- 238000003672 processing method Methods 0.000 claims description 5
- 238000012544 monitoring process Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 4
- 238000012545 processing Methods 0.000 abstract description 12
- 230000001934 delay Effects 0.000 abstract 1
- 238000012360 testing method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4825—Interrupt from clock, e.g. time of day
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total 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/41835—Total 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
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total 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.
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)
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 |
-
1992
- 1992-01-22 GB GB9201389A patent/GB2263796B/en not_active Expired - Lifetime
- 1992-01-30 BE BE9200092A patent/BE1003802A6/en not_active IP Right Cessation
Patent Citations (2)
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 |