GB2175112A - Sequence control method and apparatus - Google Patents

Sequence control method and apparatus Download PDF

Info

Publication number
GB2175112A
GB2175112A GB08616325A GB8616325A GB2175112A GB 2175112 A GB2175112 A GB 2175112A GB 08616325 A GB08616325 A GB 08616325A GB 8616325 A GB8616325 A GB 8616325A GB 2175112 A GB2175112 A GB 2175112A
Authority
GB
United Kingdom
Prior art keywords
sequence
program
execution
processing stage
stage
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
GB08616325A
Other versions
GB2175112B (en
GB8616325D0 (en
Inventor
Masaoki Takaki
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.)
Hitachi Ltd
Hitachi Information and Control Systems Inc
Original Assignee
Hitachi Ltd
Hitachi Control Systems Inc
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
Priority claimed from JP58079895A external-priority patent/JPS59205605A/en
Application filed by Hitachi Ltd, Hitachi Control Systems Inc filed Critical Hitachi Ltd
Priority to GB08616325A priority Critical patent/GB2175112B/en
Publication of GB8616325D0 publication Critical patent/GB8616325D0/en
Publication of GB2175112A publication Critical patent/GB2175112A/en
Application granted granted Critical
Publication of GB2175112B publication Critical patent/GB2175112B/en
Expired legal-status Critical Current

Links

Classifications

    • 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/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13083Jumps

Abstract

A sequence-control program for a system is divided into a plurality of divisional programs corresponding to respective processing stages (71, 74). In each of these programs necessary information is read out from the system under control and a decision is made (73, 75) regarding the execution or non- execution of the next divisional program. If such execution is required an interrupt signal is generated: if not, then a self-hold instruction (72, 76) ensures that the current divisional program is executed as a loop. Loops allow short sequence cycle times. Divisional programs without jump destination address information allow easy program modification. <IMAGE>

Description

SPECIFICATION Sequence control method and apparatus The present invention relates to sequence control method and apparatus, and more particularly to an operation processing system of a programmable controller (PC) which uses a semiconductor digital logic circuit.
The feature of the present invention will be apparent from the description and the accompanying drawings, in which: Fig. 1 shows a conventional sequence control system, Figs. 2a and 2b illustrate problems encountered in the sequence control system shown in Fig. 1, Fig. 3 shows another conventional sequence control system, Fig. 4 illustrates problems encountered in the sequence control system shown in Fig. 3, Fig. 5 is a flow chart showing an embodiment of a sequence control method of the present invention, Fig. 6 is a flow chart showing another embodiment of the sequence control method of the present invention, Fig. 7 shows a top address table in an initial condition and a memory area storing a sequence program divided into divisional sequence processing stage programs in the sequence control method of the present invention, Fig. 8 shows divisional sequence processing stage programs and a main program prepared and registered in a common memory area in the sequence control method of Fig. 6, Fig. 9 shows a configuration of a sequence controller for carrying out the sequence control method of Fig. 6 in accordance with the present invention, Fig. 10 shows a ladder sequence chart which is an example of the sequence processing program, Fig. 11 is a block diagram showing a configuration of a sequence control processor, Fig. 12 show a content of a register of a process intput/output controller in Fig. 11, Fig. 13 shows an embodiment of a program input keyboard of the sequence controller of the present invention, Figs. 14a, 14b and 14c show a step block diagram and a ladder sequence chart for monitoring the execution of the sequence processing stages, Fig. 15 shows a time chart of sequence processing stages execution status displayed on a CRT screen, and Fig. 16 shows another embodiment of the sequence controller which carries out the sequence control method in accordance with the present invention.
As shown in Fig. 1, in a programmable controller (PC) which uses a semiconductor digital logic circuit, a sequence control processor sequentially executes a sequence program 10 stored in a sequence program memory 20 of the PC starting from a top address of the sequence program until a sequence program termination instruction 14 is issued. The address of the memory 20 is sequentially updated, that is, a content of a program counter 13 is updated and a sequence control instruction 15 stored in the designated address is executed. Since each sequence control instruction comprises one word, the content of the program counter 13 is incremented by one per instruction during the execution of the sequence program. When the sequence program termination instruction 14 is issued, the top address 11 of the sequence program is set to the program counter 13.
In the conventional PC, the sequence program instructions are sequentially executed starting from the top address of the sequence program until the sequence program termination instruction is issued, and then the sequence returns to the top of the sequence program so that the sequence operation is cyclically and endlessly carried out.
In the prior art system, since all the instruction words from the top address to the end instruction are executed, a sequence cycle time equal to (execution time for one sequence instruction) X (the number of instructions in the sequence program) is required.
When the sequence instructions are executed in the PC, an actual sequence processing response time varies.
This will be explained with reference to Figs. 2a and 2b. When a sequence ladder chart as shown in Fig. 2a is to be executed in the sequence program 10, an ON/OFF state of a contact A in Fig. 2a is read in by a sequence instruction 21 of Fig. 2b and a sequence relay ladder operation is carried out, and a result is outputted to a relay output coil B of Fig. 2a by the next sequence instruction 22.
Assuming that a signal indicating a change of the state of the contact A from ON to OFF is read in when the content of the instruction execution program counter 13 points to the sequence instruction 21, the relay output coil B is turned OFF by the sequence instruction 22. However, if the relay contact A changes from ON to OFF when the instruction execution program counter 13 points to the sequence instruction 22, the relay output coil B remains ON because the contact A has been set to ON when the sequence instruction 21 was executed. The relay output coil B is turned OFF after the sequence program 10 has been cycled and the OFF state of the relay contact A by the sequence instruction 21 is detected. In this case, a sequence processing response delay time is equal to the sequence operation cycle time.
Thus, depending on a timing of the sequence instruction for the relay contact A, the sequences response time varies with a maximum delay time being one sequence operation cycle time. This is a phenomenon inherent to the PC which cyclically repeats the execution of the unbranched sequence program. Accordingly, a sequence controller having as short sequence cycle time as possible is required.
To this end, in a prior art sequence controller, a jump instruction as shown in Fig. 3 is used to skip a program which is no longer necessary in the current sequence processing. In the sequence program 10 shown in Fig. 3, a sequence processing stage 41 is always scanned but sequence processing stages 42 and 43 may be skipped in accordance with a.
status of the system under control by skip decision instruction blocks 44 and 45.
However, this jump instruction system has the following defect. The sequence program is usually modified frequently. It is not too much to say that 30~40% of the sequence programs prepared in a design center are modified during system adjustment in the fields.
Since the control logic of the PC is implemented by a software, it can be readily changed to a different processing function by merely changing the program. An important factor required to the PC is the easiness of modification. However, the jump instruction must have a jump destination address information. If an additional program 46 is added to the sequence program 10 of Fig. 3 as shown in Fig. 4, the destination address of the# skip must be changed in a skip decision instruction block 45. Whether the address is described in a relative address or in an absolute address, it is very difficult even with a computer software technique to check the contents of all programs, pick up only those jump instructions to be changed and modify the addresses, if the program is partially deleted or added.Thus, when the jump destination address information is included in the sequence program 10, it is difficult to modify the sequence program 10 and the advantage of the PC is not utilized.
On the other hand, many of the PC program are prepared while the programmers assume that the sequence comprises a plurality of sequence processing stages. The programmer usually draws in his mind or on a paper a sequence time chart and then block flow charts of stages of the sequence. However, in an actual sequence program structure, the process is not exactly proceeded stage by stage (hereinafter called stage increment) but a control program for the stages and a stage increment program which describes a transition condition between sequence processing stages are mixed into one program. This is due to the fact that the prior art PC has no concept of substantial sequence processing stages because of the endless loop processing of the single program as shown in Fig. 1.
It is therefore an object of the present in vention to provide sequence control method and apparatus which allow a fast processing response in each processing stage.
It is another object of the present invention to provide sequence control method and apparatus which allow easy modification of a sequence program.
It is still another object of the present invention to provide sequence control method and apparatus which allow a programmer to use a program format which allows easy grasp of a content of a sequence program.
It is still another object of the present invention to provide sequence control method and apparatus which are suitable to detect a fault location in a trouble shooting when a trouble has occurred in a sequence control.
According to a feature of the present invention, the stage increment main program and the sequence processing stage programs for each processing stage, which have not been clearly separated but mixed in the prior art PC program are clearly separated, and jump destination address information to the sequence stage programs is not included in the stage increment main program.
Preferred embodiments of the present invention are now explained with reference to the drawings.
Fig. 5 shows a first embodiment of the sequence control method of the present invention. In the present embodiment, a sequence program is divided into a plurality of divisional programs of desired processing stage units.
As shown in Fig. 5, a first sequence processing stage execution program 71 which is constructed by a plurality of instructions is executed. The sequence processing stage execution program 71 is prepared such that once it is started, it is self-held by a sequence processing stage self-holding instruction 72 so that it is continuously executed. Thus, once the first sequence processing stage execution program 71 is started, the sequence is circulated in the first sequence processing stage execution program 71.When a next sequence processing stage is to be executed, an execution decision instruction block 73 which includes an instruction for deciding whether or not the next sequence processing stage is executed based on information inputted by other instructions from the system under control, and if the decision is made to proceed to the next stage, the sequence control processor issues an interrupt signal and simultaneously the self-hold of the first sequence processing stage execution program executed by the current sequence processing stage execution instruction 72 is released. In response to the interrupt signal produced by the instruction 73 of the first sequence processing stage execution program 71, a second sequence processing stage execution program 74 is started, and the second sequence processing stage execution program is self-held by an instruction 76, and if a decision in a next stage execution decision instruction block 75 is made to is proceed to the next processing stage, an interrupt signal produced. In the same manner, the sequence is executed.
In the sequence control method of Fig. 5, once a divisional sequence processing stage program is executed, the loop is formed within the sequence processing stage execution program. Accordingly, the sequence cycle time is shortened and a sequence response in each processing stage is fastened. The interrupt signal is used to shift from one sequence processing stage execution program to the next sequence processing stage execution program, and no jump destination address information is included in the sequences processing stage execution program, the modification such as addition or deletion of the sequence processing stage execution program is facilitated.
Fig. 6 shows a second embodiment of the sequence control method of the present invention. In the present exbodiment, a stage increment main program 10 is cyclically executed by a timer start. Each instruction block of the main program 10 may include an instruction for receiving desired information from the system under control, and an instruction, if a decision is made to execute the corresponding divisional sequence processing stage execution program, for issuing an interrupt signal to execute the sequence processing stage execution program. For example, if the interrupt signal is issued in an n-th processing stage execution decision instruction block 70 of the main program 10, an n-th sequence processing stage execution program 78 is started.At the end of the n-th sequence processing stage execution program 78, the sequence returns to the main program 10 and an (n+ 1)-th processing stage execution decision instruction block 79 is executed. Similarly, an instruction block 78n to decide whether one (170) of a plurality of sub-programs including subdivided processing stages is to be executed or not may be provided in the n-th sequence processing stage execution program 78, and if a decision to execute is made in an instruction of the instruction block 78-n, the corresponding subprogram 78-n may be executed.
A manner in which the plurality of sequence processing stage execution programs of the present invention are prepared is now considered.
In the present system, sequence processing stage execution program termination instructions 141 ..., 14N which are slightly larger in number than the number of execution processing stage units of the sequence program are set when the system is initialized. This is illustrated in Fig. 7. Under this condition, no sequence processing stage execution program has been registered. Top addresses of the respective sequence processing stage execution programs are set in a program top address table 90 as addresses 91-9n.
If a programmer wants to write an l-th sequence processing stage execution program, a start address 9i of the designated sequence processing stage execution program is retrieved from the program top address table 90 and an end instruction address 14i of the designated sequence processing stage execution program is retrieved from a sequence processing stage program memory 10', and a memory space corresponding to a capacity of the new sequence processing stage execution program is formed there and the new sequence processing stage execution program is registered there. The instructions in the memory 10' are shifted backward by the number of words of the new program for the programs subsequent to l-th program, and the top addresses in the program top address table 90 for the programs subsequent to I-th program are incremented by the number of words of the new program.Such incrementation is a simple operation and only the top address of the address table 90 is changed in accordance with the change of the address by the registration of the new sequence processing stage execution program.
The registration of the sequence processing stage execution program is also a very simple operation in the present invention. The programmer first designates the processing stage number of the sequence processing stage execution program to be registered, and then inputs the sequence processing stage execution program (Fig. 8). In the prior art jump instruction system, all jump instructions must be retrieved, checked and corrected. In the present invention, the modifications due to the increase or decrease of the instructions by the correction need be mode only to the top address table 90 having the larger program numbers than the corrected one. If the sub-program 170 shown by the broken line in Fig. 6 is included, the correspondence between a plurality of sub-programs and addresses is stored in the address table 90.
The preparation of the stage increment main program 10 which controls the processing stage incrementation of the sequence is now considered. The main program 10 is also prepared by a relay circuit diagram image displayed on a CRT screen. The main program 10 to be registered comprises a plurality of instruction blocks as shown in Fig. 6. In the present embodiment, it is stored at the top of the sequence program stage execution program 10' in the sequence program memory 100 as shown in Fig. 8. When the sub-program 170 as shown in Fig. 6 is included, it is also stored in the sequence program stage execution program 10'.
The contents of processing and the operations of the respective items have been described. Fig. 9 shows an overall configuration of the sequence control in accordance with an embodiment of the present invention, which use the functions of those items.
In the present embodiment, the programs stored in a sequence program memory 100 includes divisional programs 10' divided into processing stage units (sequence processing stage execution programs) and the stage increment main program 10 which starts only necessary ones of the sequence processing stage execution programs 10' and controls the overall program. The stage increment main program 10 periodically scans all main program instructions 10 as the conventional PC does by a cyclic timer signal 216 generated by a cyclic start timer 213 and determines the sequence processing stage execution program to be started in each instruction block. A cyclic start timer count is preset to the cyclic start timer 213 by a sequence operation processor (S-P) 130. The S-P 130 is constructed by a digital logic circuit because of simple configuration.If a decision result to a sequence processing stage execution decision instruction block in the stage increment main program 10 is true, the content of the program counter is set in a waiting program information register 215 and an interrupt signal 230 is issued from the sequence operation processor 130 to a sequence control processor (CPU) 200 which is constructed by a semiconductor integrated circuit (LSI).As a result, the CPU 200 starts a program OS 214 and determines the sequence processing stage execution program to which the start was requested, based on an identification information signal issued together with the interrupt signal, determines a top address of the stored sequence processing stage execution program to be started based on a sequence processing stages execution program top address table 90, sets the content thereof to the program counter 13 of the sequence processor, and starts the sequence operation processor 130 to execute the sequence processing stage execution program.
As the started sequence processing stage execution program is executed and the sequence termination instruction is executed, an interrupt signal 218 is issued from the sequence operation processor 130 to the CPU 200, and the address next to the interruption address of the interrupted stage increment main program 10 is set to the program counter 13 to resume the sequence.
In a relay circuit diagram shown in Fig. 10, a decision condition 120 to start the sequence processing stage execution program of a first processing stage is described by an external input/output contact and a timer, a counter or other internal processing function contact, and a result thereof is represented by a sequence processing stage execution instruction output coil 121 of the first processing stage. In actual, a major hardware of the PC is constructed as shown in Fig. 11. The ON/OFF states of all contacts and outputs such as external inputs/outputs, auxiliary relays, latch relays and internal auxiliary functions (including bits of the stage increment instruction) in the process input/output controller 131 are reflected to a sequence instruction input/output buffer memory 140 of Fig. 12, one address per bit.The ON/OFF state of the external input signal and the ON/OFF states of the external output processed by the sequence instruction stored in the sequence program memory 100 by the sequence instruction processor 130 of Fig. 11 are outputted by the process input/output device 131 of Fig. 11 as ON/OFF signals by writing the ON/OFF states to the corresponding address 141 of the external input of the buffer memory 140 and the corresponding address 142 of the external output of the buffer memory 140, respectively. The ON/OFF state of the sequence processing stage execution instruction, that is, the execution status is also stored at the corresponding address 144 or bit of the sequence processing stage execution instruction, of the input/output buffer memory 140, in accordance with the sequence operation result.
For a sake of simplicity of the explanation, the sequence step instruction is of a type of a latch type set/reset element image in a relay circuit. (It is not necessarily limited to the latch type but a conventional auxiliary relay contact or coil may be used provided that it is self-held). Once a first sequence processing stage execution set coil is excited, a first stage execution coil or a sequence stage execution (1) 1441 remains the current state until a first sequence processing stage execution reset coil is excited, and the main program is scanned and each time when the ON state of the first sequence processing stage execution instruction is detected, the CPU 200 is interrupted and the first sequence processing stage execution program top address 91 is set as a program count by the OS 214 by referring the program top address table 90, and the sequence of the first processing stage is executed. At the end of the sequence of the first stage, the CPU 200 is again interrupted by the sequence termination instruction, and the sequence returns to the stage increment main program by the priority decision of the OS 214 and the sequence is resumed from the next instruction word to the first sequence processing stage execution instruction coil.
In the present system, the number of instruction blocks executed in one scan of the stage increment main program 10 (Fig. 8) is not limited and one or more processing stages may be simultaneously executed as required.
When the execution of the current stage is no longer necessary and the next stage is to be started, the sequence processing stage execution reset instruction coil for the stage to be stopped, in the stage increment main program 10 is excited to stop the scan of that stage, and the sequence processing stage execution set instruction coil for the stage to be started is excited.
An advantage attained in the present system is a short sequence program execution time. In the prior art, all programs including those other than the related stages are scanned. In the present system, only the limited processing stage programs are scanned and hence the sequence cycle time is shortened. Usually, one plant includes 60~120 processing stages. Assuming that three stages are always executed in parallel, the processing time is reduced to 1 /20~ 1/40 (neglecting a scan time of the stage increment main program 10).Taking the overhead of the OS and the execution time of the stage increment main program, the processing time is reduced to 1/10#1/20. As a result, the sequence cycle is shortened, and a positioning stage which could not be executed in the prior art PC and executed by a hardware incorporating a microprocessor or a counter as an optional function, can be executed by the PC.
As a second advantage, the stage increment program and the program for each stage are completely separated and hence the sequence program can be divided in a manner that a programmer wants. For example, it is said that approximately 60% of a machine tool control program can be repeatedly used. In this case, the functions of the present invention can be registered, editted and operated not only as the program for each processing stage bit also as a standard sequence program package. Thus the number of work steps in the design work and the application in a field can be reduced to 1/2--2/3.
The execution of the sequence stage reset instruction is described. In the stage increment execution, when the sequence is to be moved from one stage to the next stage, it is frequently desirable to reset all control outputs in the current stage. In the present invention, when the sequence processing stage execution reset instruction is issued, not only the contact signal of the corresponding sequence processing stage execution instruction is turned off but also the program of that stage is scanned again without applying a voltage to a common line in a relay ladder chart image.
(In a normal operation, a signal is turned on by a + common line, that is, "1" is set to an accumulator (ACC). For the sequence processing stage execution reset instruction, however; "O" is set to the ACC so that all outputs related to that stage can be turned off.) Usually, the sequence logic is designed in a form of a stage increment block diagram. In the present invention, the sequence program can be designed in the same manner as the prior art design in age. Fig. 13 shows a key entry unit 150 of a programming device. The keyboard 150 has a number of input keys 1500, 1501, --- so that 160 items can be entered.
By turning a page (151, 152, 153 ---), another set of 160 items can be selected. Twentyfour pages are provided.
What first comes up in a mind of a designer are a stage increment diagram and names of the processing stages. They are not function symbols or processing stage numbers. Thus, the designer assigns an item name to each sequence processing stage execution instruction. In the illustrated example, "P" of the sequence processing stage execution instruction represents a function, and the following three digits represent a processing stage number. For example, for "P018", a processing stage 18 is executed if the output coil of the stage No. 18 is ON, and the execution of the processing stage 18 is interrupted when a reset coil of "P018" is excited. If a mode to turn off all outputs of the program related to the processing stage 18 when the stage 18 is reset is designated, all outputs can be turned off in a first run after the excitation of the reset output coil.
The name "P018" has a close connection to the hardware of the PC and may be convenient to use, but from a standpoint of the designer, it is an insignificant code and it is not associated with the processing stage name representing the content of the process.
In the present invention, the programming device handles the function symbol "P" and the three digits "018" but the designer assigns easily understandable names using alphanumerics, KANA characters or KANJI characters, to the sequence processing stage execution instructions P000, P001, ---which have serial numbers, by opening an appropriate page (151, 152, ---) of the keyboard 150. For example, "P018" is defined as "Sterilization Heating Process". For the designer, the name "P018" means the "Sterilization Heating Process" and he/she need only recognize this processing stage name in designing the sequence. Specifically, the processing stage execution instructions are assigned to the serial numbers starting from "P000" as shown in Fig. 13. The numbers shown in "( )" in Fig.
13 are not marked on the page sheets (151, 152, ---) of the keyboard 150 and the designer marks the processing stage name of "Sterilization Heating Process" on the keys (1500, 1501, ---) of the keyboard 150 by a pencil or other writing tool. The name marked on the keyboard 150 must correspond to the processing stage name assigned to the sequence processing stage execution instruction.
The flow of the stage increment main program is drawn by the processing stage names. As shown in Fig. 14a, a stage increment flow chart is prepared on a CRT viewer 170 by operating the keyboard 150. For example, the keyboard 150 includes a branch key 1510 which designates a contact state between blocks. In the block diagram of Fig.
14a, a block A 1701 is executed as a first processing, and after the block A 1701 has been executed, processings B, C and D 1702, 1703 and 1704 are parallelly executed as separate processings. When all of those processings have been executed, a processing E 1705 is executed.
As shown in Fig. 14b, a detail of the processing block A 1701 can be hirerachically shown as a detailed processing block diagram.
Finally, the sequence control program for the respective processings is expressed by a wellknown relay ladder image sequence program 181 as shown in Fig. 14c. A feature of the present invention resides in that the sequence programs can be separately and independently described for each processing. Accordingly, the designer need not take care of other processings and can program the sequence relay ladder chart image as a single closed program.
Since the sequence program of the present invention is constructed by the stage increment main program, the processing stage execution programs divided from the sequence program, and the sub-divided stage execution sub-programs as required, it well matches to a process of thinking of the program designer.
A method for monitoring the operation when the facilities to be controlled by the sequence program is now described. As a method for monitoring the operation of the sequence control by the PC, it is common to display the relay ladder circuit diagram on the CRT screen by designating the name of the output coil and display the ON/OFF states of the contacts and the outputs in the circuit by thick lines or thin lines. In the present invention, it is further developed. That is, the stage increment flow block diagram is displayed on the CRT screen, and only the blocks of the stage currently executed are shown by thick lines to facilitate clear grasp of the operation status. In the sequence logic operation, the processing stage currently executed can be displayed by checking the ON/OFF state of the sequence instruction buffer memory (Fig.
12) which controls the ON/OFF states of the contacts of the sequence stage execution instructions (POOO, ----). An example of the display is shown in Fig. 15. It is seen that processings 1702, 1703 and 1704 have been started parallelly and the processing 1703 has been executed but the processings 1702 and 1704 are being executed.
In the present invention, the ON/OFF states of the sequence processing stage execution instruction is intermittently checked and displayed on the CRT screen in a form of a time chart. The sampling interval may be arbitrarily set by the operation By designating the items to be monitored by the keyboard 150 used to enter the processing stage name, the designated processing stage names are displayed and the in-process state or the interrupt state of the stage is displayed by a white line or blanking on the CRT character display at the predetermined sampling interval. As the time chart display starts from the left end and reaches the right end, the screen is scrolled to the left one character position for each sampling time.
For a periodically and cyclically operating object under control, the time chart being displayed is cleared in response to a cycle end signal, and when a cycle start signal is received, the time chart is again displayed starting from the left end.
The processing for fault diagnostic in accordance with the present invention is now described. In the sequence interlock control, if a fault or an error occurs in the equipment under control, the sequence control is stopped in most cases because a condition for the processing increment from the current processing to the next processing is not met.
Accordingly, each processing has a processing delay check timer having a set time which is slightly longer than a normal processing execution time. If the fault occurs, the processing delay check timer is actuated to allow the check of the processing at which the fault occurred. The fault processing may be determined by using this processing delay check timer, but, in the present invention, when a timeout error occurs, the processing stage in which the contact state of the sequence processing stage execution instruction which is a work area of the sequence operation is on, that, the processing stage which is still under execution is checked.The name of that processing stage is displayed and the sequence relay ladder chart of the stage increment output name of that stage, that is, the stage increment condition of the processing 1704 is retrieved from the stage increment main program and displayed on the CRT display, and the ON/OFF states of the contacts of the relay ladder and the range of alive + common line in the relay ladder chart are also displayed on the CRT display so that a particular processing stage and a particular processing stage increment condition which caused the delay in the stage and a particular part of the control circuit which caused the delay can be identified.
While the program started by the stage increment main program represents the sequence processing stage execution program, it may be a computer mode program for handling analog data if the sequence operation processor 130 is a computer sequencer which can handle both a sequence mode instruction and a computer mode instruction. In this case, the CPU 200 may be omitted.
Fig. 16 shows an embodiment which adds a fault diagnostic function to the present apparatus. In Fig. 16, the like numerals to those in Fig. 9 designate the like functions. Fig. 16 shows only a major portion of the sequence controller.
Let us assume that a field equipment 227 fails and does not produce a signal while the sequence operation processor 130 executes the sequence program stored in the program memory 100. A "0" signal, in this case, is written into a sequence instruction input/output buffer memory 131 through a process input/output device 226, in accordance with the ON/OFF state of the field equipment 227.
Since this signal is not read out, the processing delay check timer contained in the program memory 100 is timed out and a timeout signal is sent to a fault detector 220 from the sequence operation processor 130. The fault detector 220 detects the sequence processing stage which is not turned off after the time-out because of the stop of the execution, from the sequence processing stage execution signal 144 stored in the sequence instruction input/output buffer memory 131, and informs the fault processing stage number 228 to a fault stage increment detector 222.The fault stage increment detector 222 retrieves in structions for one circuit of the sequence logic circuit block which relates to the sequence processing stage execution reset output instruction which prevents the shift to the next processing stage because of the processing stage delay, from the stage increment main program, and sends those instructions to a relay circuit diagram converter 223, which converts the instructions to a relay circuit diagram. ON/OFF signals 229 for all contacts and outputs in the circuit are read into a block 224 which edits the ON/OFF states of contacts and the outputs and the alive circuit lines and sends them to the CRT display so that the ON/OFF states of the signals and the alive circuit lines are displayed on the CRT screen 225 which also displays the wirings and the circuit components by thick lines and thin lines.
Since it displays a transition condition to the next processing stage relating to the fault area, a particular transition condition which causes the processing delay can be instantly determined.

Claims (1)

1. A sequence control method comprising the steps of: (a) dividing a sequence program for a system under control, so as to construct a plural ity of divisional programs, each thereof corresponding to each of desired processing stage units for a sequence processing for the system, and storing the divisional programs in a memory; (b) executing, by a processor, a divisional program; (c) self-holding the execution of said divisional program so as to be executed cyclically; (d) determining whether or not a next divisional program is to be executed during the execution of said divisional program; (e) producing an interrupt signal when it is determined that the next divisional program is to be executed; and (f) executing the next divisional program and releasing the self-holding for the firstly-executed interrupt signal.
GB08616325A 1983-05-07 1986-07-04 Sequence control method and apparatus Expired GB2175112B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB08616325A GB2175112B (en) 1983-05-07 1986-07-04 Sequence control method and apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP58079895A JPS59205605A (en) 1983-05-07 1983-05-07 Sequence controller
GB08616325A GB2175112B (en) 1983-05-07 1986-07-04 Sequence control method and apparatus

Publications (3)

Publication Number Publication Date
GB8616325D0 GB8616325D0 (en) 1986-08-13
GB2175112A true GB2175112A (en) 1986-11-19
GB2175112B GB2175112B (en) 1987-06-10

Family

ID=26290999

Family Applications (1)

Application Number Title Priority Date Filing Date
GB08616325A Expired GB2175112B (en) 1983-05-07 1986-07-04 Sequence control method and apparatus

Country Status (1)

Country Link
GB (1) GB2175112B (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0270359A2 (en) * 1986-12-03 1988-06-08 Finnigan Corporation Instrument control method and apparatus
GB2294140A (en) * 1992-05-29 1996-04-17 Toshiba Kk Processing module with function selection
US5740251A (en) * 1992-05-29 1998-04-14 Kabushiki Kaisha Toshiba Data processing apparatus
EP1251426A1 (en) * 2001-04-19 2002-10-23 1PlusON Informationstechnologien GmbH Application integrator for information processing systems

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0059018A1 (en) * 1981-02-25 1982-09-01 S.A. Philips Industrielle Et Commerciale Multiprocessor with dynamic task assignment in multiprogramming mode and its use

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0059018A1 (en) * 1981-02-25 1982-09-01 S.A. Philips Industrielle Et Commerciale Multiprocessor with dynamic task assignment in multiprogramming mode and its use

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
COMPUTER SOFTWARE, IVAN FLORES, PRENTICE-HALL, 1965, PP 37-46 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0270359A2 (en) * 1986-12-03 1988-06-08 Finnigan Corporation Instrument control method and apparatus
EP0270359A3 (en) * 1986-12-03 1990-10-10 Finnigan Corporation Instrument control method and apparatus
GB2294140A (en) * 1992-05-29 1996-04-17 Toshiba Kk Processing module with function selection
GB2294140B (en) * 1992-05-29 1996-11-27 Toshiba Kk Data processing apparatus
US5740251A (en) * 1992-05-29 1998-04-14 Kabushiki Kaisha Toshiba Data processing apparatus
US5793940A (en) * 1992-05-29 1998-08-11 Kabushiki Kaisha Toshiba Data processing apparatus
EP1251426A1 (en) * 2001-04-19 2002-10-23 1PlusON Informationstechnologien GmbH Application integrator for information processing systems

Also Published As

Publication number Publication date
GB2175112B (en) 1987-06-10
GB8616325D0 (en) 1986-08-13

Similar Documents

Publication Publication Date Title
US4683549A (en) Sequence control method and apparatus
US4455619A (en) Interactive equipment for computer programming by linkage of labeled block representations of arithmetic/logical subprograms
JPS60262204A (en) Programmable controller
EP0266144A2 (en) A calculator having a user-accessible object stack for the uniform application of mathematical functions and logical operations to a multiplicity of object types
JPH08221107A (en) Sequence control program generating device
JPH08179817A (en) Display manipulator for machine tool
GB2175112A (en) Sequence control method and apparatus
JPH0728509A (en) Programmable controller
US5299114A (en) Sequence program search method
US5565895A (en) Programmable controller with independent display
JPH06342360A (en) Display control method
EP0256149B1 (en) Computer system
JPH0366700B2 (en)
JPH0119170B2 (en)
JP3167245B2 (en) Programmable controller operating state monitoring device
US5170339A (en) Control system for programmable control device
JPH04188356A (en) Menu control system
JPH0887406A (en) Program display device
EP0386260A1 (en) Sequence program editing system
JPH09160611A (en) Programmable controller
JP3413860B2 (en) Debug method
JPH06175798A (en) Variable picture display control system
JP3164680B2 (en) Screen display data change device
JPH0750480B2 (en) Text data editing device
JP3254402B2 (en) Data merge transfer device

Legal Events

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

Effective date: 20040503