US5345378A - Method and apparatus for operating a programmable controller for controlling a technical process - Google Patents
Method and apparatus for operating a programmable controller for controlling a technical process Download PDFInfo
- Publication number
- US5345378A US5345378A US07/905,807 US90580792A US5345378A US 5345378 A US5345378 A US 5345378A US 90580792 A US90580792 A US 90580792A US 5345378 A US5345378 A US 5345378A
- Authority
- US
- United States
- Prior art keywords
- input signals
- cycle
- signals
- input
- output
- 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.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 89
- 230000008569 process Effects 0.000 title claims description 46
- 238000012545 processing Methods 0.000 claims abstract description 41
- 238000003860 storage Methods 0.000 claims description 113
- 239000000872 buffer Substances 0.000 claims description 59
- 230000008859 change Effects 0.000 claims description 10
- 238000012360 testing method Methods 0.000 claims description 6
- 238000013461 design Methods 0.000 claims description 5
- 230000011664 signaling Effects 0.000 claims 2
- 239000004576 sand Substances 0.000 claims 1
- 238000012546 transfer Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 3
- 238000004886 process control Methods 0.000 description 3
- 230000014759 maintenance of location Effects 0.000 description 2
- 238000013523 data management Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000035484 reaction time Effects 0.000 description 1
Images
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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
-
- 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/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
Definitions
- the present invention relates to a method for operating a programmable controller for controlling a technical process and, in particular a modular programmable controller having a process interface system linked to it, comprising the following cyclically executed steps:
- the present invention improves the cycle time by processing the input signals of one cycle at, least in part, simultaneously with the outputting of the output signals of the preceding cycle and, at least in part, simultaneously with the reading in of input signals of the subsequent cycle.
- the output signals of the preceding cycle are advantageously copied from a working storage into a buffer storage, and the input signals of the cycle are copied from the buffer storage into the working storage, so that the input signals of the subsequent cycle and the output signals of the preceding cycle are not altered as a result of the processing.
- output signals of the second cycle are copied into the buffer storage after the input signals of said second cycle are processed and the output signals of said first cycle are provided to the output interface from the buffer storage;
- the input signals of a third cycle are read into the buffer storage after the output signals of said first cycle have been output and the input signals of said second cycle have been copied into said working storage;
- each process step is advantageously begun immediately upon reaching its acceptability conditions.
- the cycle time can be shortened still further if the output signals of the first cycle are output to the process interface system, at least in part, while the input signals of the second cycle are copied into the working storage and/or the input signals of the third cycle from the process interface system are read in, at least in part, while the output signals of said second cycle are copied into the buffer storage.
- Another possibility for simultaneously implementing input/output and processing includes steps of:
- a programmable controller for controlling a technical process according to a method as provided by the present invention includes the following elements:
- At least one processor for processing input signals supplied by a process interface system
- At least one input and one output unit preferably a combined input/output unit, for reading in the input signals and for outputting the output signals to the process interface system;
- a working storage for storing the input signals and the output signals
- a buffer storage for temporarily storing the input and the output signals
- an input/output controller for reading in the input signals from the process interface system and for outputting the output signals to the process interface system.
- Providing the buffer storage with a storage area for storing change indicators, and providing the programmable controller with a counter for counting the cycles permits the programmable controller to advantageously minimize data transfer.
- the resources required to copy the output signals into a buffer storage and the input signals into a working storage can be minimized when the working storage and the buffer storage have the same design and when both the processor and the controller can access both the working storage and the buffer storage.
- FIG. 1 is a block diagram illustrating a programmable controller which can execute a method according to an embodiment of the present invention.
- FIG. 2 is a flow chart of a single cycle in accordance with an embodiment of the present invention.
- FIGS. 3 to 6 show examples of typical program execution schemata according to an embodiment the present invention.
- FIG. 7 depicts a principle of data management in the buffer storage.
- FIG. 8 is another block diagram illustrating a second embodiment of a programmable controller which can execute the method of the present invention.
- FIG. 9 is a block diagram depicting the structure of an intelligent input/output module which may be used in an embodiment of the present invention.
- a central processing unit 1 of a programmable controller of a modular design is linked via bus 2 to modules 3 which can be input modules, output modules, or combined input/output modules, both for digital as well as for analog data input/output.
- the modules 3 are connected via lines 4 to process control elements (not shown), for example final controlling elements or sensors.
- the process P is controlled and monitored through the process control elements.
- the central processing unit 1 has an internal bus 5, to which the following components are linked:
- microprocessor 6 which executes a program stored in the program storage 7;
- the input/output controller 9 has a buffer storage 10, a component 11 having internal logic, and a counter 12 for counting cycles.
- the component 11 can be a complete processor, for example, but can also be an application specific integrated circuit (ASIC). Both the working storage 8, as well as the buffer storage 10, can consist of several partial storage units, for example only for the input signals and the output signals.
- the internal bus 5 is essentially completely independent of the external bus 2. As a result, it is possible to use a newly developed central processing unit 1 with an internal bus 5 of, for example, a 32-bit data capacity without developing a completely new backplane bus system even when the external bus 2 has a lower data capacity such as 8 bits.
- input signals are cyclically supplied by the process interface system (not shown), from all types of sensors, and are read into the programmable controller.
- the input signals are then processed.
- the output signals for the process interface system to be supplied to all types of final controlling elements, are determined based on the input signals. Further, status messages and alarm indications may be output to the user.
- the output signals are output to the process interface system. For this purpose, the following steps are carried out.
- the processor 6 calculates the process image PAA' of the outputs from the input signals, as well as possible additional variables while executing the program stored in the storage 7, and then files this process image PAA' in the working storage 8 (this step is designated by the symbol B)
- the component 11 reads process image PAA from the buffer storage and sends it to the modules 3 via the bus 2 (this step is designated by the symbol A);
- the modules 3 output the output signals to the final controlling elements and thereby control the process P in the desired manner.
- FIG. 2 depicts the chronological sequence of steps E, E', B, A' and A of one cycle.
- the present invention utilizes the times when the processor 6 or the controller 9 are idle.
- the controller 9 may carry out step E for the next cycle before step A of the present cycle is performed.
- the processor 6 can continue processing with step E' of the next cycle (transfer of input from buffer storage 10 to working storage 8) immediately after the completion of step A' (transfer of output from working storage 8 to the buffer storage 10). This is indicated by the small box drawn with a dotted line to the right.
- controller 9 can execute step A of the preceding cycle during its idle time between steps E and A for the present cycle, so that also step A' of the preceding cycle can directly adjoin step E', as indicated by the small box drawn with a dotted line to the left.
- steps E, E' as well as A, A' must not be allowed to overlap temporally, otherwise inconsistencies could arise in the data.
- steps E and A' as well as A and E' can overlap temporally. This fact is used advantageously in the following to further shorten the cycle time.
- FIGS. 3 to 5 show various processing examples which are possible depending on the length of the program to be executed and the scope of the data transfer. The same subscripts refer to the same cycle.
- steps E and A are carried out only once per cycle, whereby each of the five process steps begins immediately after reaching its acceptability conditions.
- steps A and E are continuously executed until the process step B is complete.
- the processor 6 then waits until the currently running or, in case step A was just carried out, the next step E is complete, before executing steps A' and E'.
- the controller 9 again begins with steps A and E.
- This procedure is advantageous because the processor 6 always has available "fresh" input signals, while in the procedure referring to FIGS. 3-5 described above, (compare in particular FIG. 3), the last read-in operation can already have taken place some time ago.
- the cycle time of the process according to FIG. 6 is not quite as optimal as the former process.
- step B n+1 begins at the same time as step A n .
- step A n could begin after step A' n is complete, however, it is easier to realize the procedure depicted in FIG. 6.
- the process can be optimized even further when only the read-in operation E n is executed again and again, while the output operation A n is executed only the first time.
- FIG. 7 illustrates the organization of the dataword of the buffer storage 10 of the controller 9.
- Each input or output signal has a definite value, which is stored in the value storage area of a data word.
- each data word also has two bits, exist and change, which serve to further optimize steps E and A timewise.
- a bit corresponding to whether the input or output that correlates with the data word exists at all in or rather is linked to the particular configuration of the programmable controller is stored in the exist bit.
- a bit corresponding to whether the value of the data word has changed since the last input or output is stored in the change bit.
- the controller 9 Before the controller 9 emits the output signals or reads in the input signals, it checks if the signal in question exists at all and whether it has changed since the last output or since the last read-in operation based on the exist bit and the change bit. Only the changes are output by the controller 9 to the modules 3 or read in by the modules 3. As a result, the time required to execute steps E and A can be considerably reduced.
- all existing signals are transmitted after a preselectable number of cycles.
- the number of cycles is typically in the range of from 10 to 1000, preferably around 100.
- the counter 12 signals the component 11, which, as a result, queries all existing input/outputs (not only those whose value has changed) during the next data transfer A, E.
- the counter 12 is then reset.
- monitoring any change in the signals is particularly simple because all necessary information is available within the central processing unit 1 and is automatically transmitted to the controller 9 when the process image PAA' is copied into the buffer storage 10.
- the buffer storage has to exhibit the change bits only for the output values, not on the other hand for the input signals.
- the units 3 To compare the data read at a given moment to the previously read data, the units 3 must possess a minimum storage capacity for intermediately storing the last input signals read in, as well as a logic for comparing the newly reading input signals to the input signals read in last and must be able to actively access the bus 2, at least by emitting an interrupt signal.
- the number of input signals to be transmitted can be reduced still further when the input signals are read into the input units 3 only when a read-in command sent out by the central processing unit 1 is present. Therefore, only the signal values last and currently read into the input units 3 decide if the input signal in question must be transmitted rather than interim fluctuations.
- the read-in command is advantageously transmitted immediately after an output operation A is complete.
- FIG. 8 depicts such a module 3.
- the module 3 exhibits an application specific integrated circuit 13 which, for example, enables the latches 14 and, thus, reads in the input signals applied to the lines 4 based on a "read data" command transmitted via the control line RD.
- the ASIC 13 compares the newly read-in data to the data stored in the storage 15, which had been read in during the preceding read-in operation, and notes which input signals have changed. This comparison preferably takes place in the same manner as the comparison of the output signals, in the controller 9.
- the ASIC 13 can transmit a "read request" via the control line RR to the central processing unit 1 signifying that input signals are to be read from the module 3 into the central processing unit.
- the data are read out of the module 3 by the controller 9. Therefore, except for transmitting the read-out request, the module 3 is purely a passive component, as well as a storage module. In much the same way, the system may be configured so that the module 3 may request the allocation of the bus 2 via the line BR through the command "bus request". Therefore, the module 3 can actively transmit its data via the address bus 16 and the data bus 17 to the controller 9.
- FIG. 9 A further possible development of the design of the central processing unit 1 depicted in FIG. 1 is shown in FIG. 9.
- the buffer storage 10 is not a component of the controller 9, but rather is configured on the central processing unit on a par with the working storage 8. Access to the storage 8, 10 follows from bus 2, is via a switch 18'. Access to the storage 8, 10 follows from bus 5 via a switch 18. Therefore, process images no longer have to be copied from the working storage 8 into the buffer storage 10 and vice versa.
- the processor 6 accesses only the working storage 8 via the switch 18, independent of what happens to the buffer storage 10.
- the controller 9 can only access the buffer storage 10 via the switch 18'.
- the storages 8 and 10 must have the same design. Furthermore, at least the switches 18, 18' should have tri-state buffers, so that, for example, the switches 18 accessing of the storage 8 does not disturb the switches 18' accessing of the storage 10 and vice versa. In the same way, however, designing the storages 8 and 10 as dual-port RAMs is also possible.
- the switching over of the switches 18, 18' can also take place via the processor 6, instead of via the flag F, when this processor receives corresponding status information from the controller 9.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Automation & Control Theory (AREA)
- General Engineering & Computer Science (AREA)
- Programmable Controllers (AREA)
- Advance Control (AREA)
- Vending Machines For Individual Products (AREA)
- Electrical Discharge Machining, Electrochemical Machining, And Combined Machining (AREA)
- Push-Button Switches (AREA)
- Facsimile Heads (AREA)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP91110763.9 | 1991-06-28 | ||
EP91110763A EP0525214B1 (de) | 1991-06-28 | 1991-06-28 | Verfahren zum Betreiben eines Automatisierungsgeräts |
Publications (1)
Publication Number | Publication Date |
---|---|
US5345378A true US5345378A (en) | 1994-09-06 |
Family
ID=8206877
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US07/905,807 Expired - Lifetime US5345378A (en) | 1991-06-28 | 1992-06-29 | Method and apparatus for operating a programmable controller for controlling a technical process |
Country Status (5)
Country | Link |
---|---|
US (1) | US5345378A (ja) |
EP (1) | EP0525214B1 (ja) |
JP (1) | JP2710151B2 (ja) |
AT (1) | ATE121855T1 (ja) |
DE (1) | DE59105332D1 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010034830A1 (en) * | 1999-05-27 | 2001-10-25 | Kenji Seki | Programmable controller |
EP1435548A2 (en) * | 1996-11-29 | 2004-07-07 | Omron Corporation | Controller |
US20110098790A1 (en) * | 2009-10-26 | 2011-04-28 | Albert Daxer | Methods for treating corneal disease |
US9274993B2 (en) | 2012-03-23 | 2016-03-01 | Siemens Aktiengesellschaft | Interface device and method for consistently exchanging data |
US20160077509A1 (en) * | 2013-04-16 | 2016-03-17 | Siemens Aktiengesellschaft | Programmable logic controller having low latency |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10127264A1 (de) * | 2001-06-05 | 2002-12-12 | Siemens Ag | Verfahren zur Unterstützung des unterbrechbaren, geschachtelten konsistenten Datenaustausches |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2033624A (en) * | 1978-10-27 | 1980-05-21 | Fujitsu Ltd | Digital signal processing system |
EP0082722A2 (en) * | 1981-12-21 | 1983-06-29 | General Electric Company | Computer system with auxiliary service computer |
US4658356A (en) * | 1982-11-22 | 1987-04-14 | Hitachi, Ltd. | Control system for updating a change bit |
EP0298396A2 (en) * | 1987-07-08 | 1989-01-11 | Hitachi, Ltd. | Function-distributed control apparatus |
US4858101A (en) * | 1987-08-26 | 1989-08-15 | Allen-Bradley Company, Inc. | Programmable controller with parallel processors |
US4916600A (en) * | 1982-06-04 | 1990-04-10 | Michell Ropelato | Modular device for controlling industrial processes |
US4956785A (en) * | 1987-01-23 | 1990-09-11 | Fanuc Ltd. | Numerical control method with a parallel processing function |
US5042002A (en) * | 1989-03-31 | 1991-08-20 | Allen-Bradley Company, Inc. | Programmable controller with a directed sequencer |
US5068778A (en) * | 1988-11-28 | 1991-11-26 | Reliance Electric Industrial Company | Industrial control system device |
US5164894A (en) * | 1990-04-26 | 1992-11-17 | Elsag International B.V. | Method of data entry into a plant loop |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5746698A (en) * | 1980-09-03 | 1982-03-17 | Hitachi Ltd | Controller for self-excited ac generator |
JPS58201136A (ja) * | 1982-05-20 | 1983-11-22 | Mitsubishi Electric Corp | 通信制御装置 |
JPS59200303A (ja) * | 1983-04-27 | 1984-11-13 | Yokogawa Hokushin Electric Corp | プログラマブル制御装置 |
-
1991
- 1991-06-28 EP EP91110763A patent/EP0525214B1/de not_active Expired - Lifetime
- 1991-06-28 DE DE59105332T patent/DE59105332D1/de not_active Expired - Fee Related
- 1991-06-28 AT AT91110763T patent/ATE121855T1/de not_active IP Right Cessation
-
1992
- 1992-06-24 JP JP4188970A patent/JP2710151B2/ja not_active Expired - Fee Related
- 1992-06-29 US US07/905,807 patent/US5345378A/en not_active Expired - Lifetime
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2033624A (en) * | 1978-10-27 | 1980-05-21 | Fujitsu Ltd | Digital signal processing system |
EP0082722A2 (en) * | 1981-12-21 | 1983-06-29 | General Electric Company | Computer system with auxiliary service computer |
US4916600A (en) * | 1982-06-04 | 1990-04-10 | Michell Ropelato | Modular device for controlling industrial processes |
US4658356A (en) * | 1982-11-22 | 1987-04-14 | Hitachi, Ltd. | Control system for updating a change bit |
US4956785A (en) * | 1987-01-23 | 1990-09-11 | Fanuc Ltd. | Numerical control method with a parallel processing function |
EP0298396A2 (en) * | 1987-07-08 | 1989-01-11 | Hitachi, Ltd. | Function-distributed control apparatus |
US4858101A (en) * | 1987-08-26 | 1989-08-15 | Allen-Bradley Company, Inc. | Programmable controller with parallel processors |
US5068778A (en) * | 1988-11-28 | 1991-11-26 | Reliance Electric Industrial Company | Industrial control system device |
US5042002A (en) * | 1989-03-31 | 1991-08-20 | Allen-Bradley Company, Inc. | Programmable controller with a directed sequencer |
US5164894A (en) * | 1990-04-26 | 1992-11-17 | Elsag International B.V. | Method of data entry into a plant loop |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1435548A2 (en) * | 1996-11-29 | 2004-07-07 | Omron Corporation | Controller |
EP1435548A3 (en) * | 1996-11-29 | 2005-09-07 | Omron Corporation | Controller |
US20010034830A1 (en) * | 1999-05-27 | 2001-10-25 | Kenji Seki | Programmable controller |
US20110098790A1 (en) * | 2009-10-26 | 2011-04-28 | Albert Daxer | Methods for treating corneal disease |
US9274993B2 (en) | 2012-03-23 | 2016-03-01 | Siemens Aktiengesellschaft | Interface device and method for consistently exchanging data |
US20160077509A1 (en) * | 2013-04-16 | 2016-03-17 | Siemens Aktiengesellschaft | Programmable logic controller having low latency |
US10274922B2 (en) * | 2013-04-16 | 2019-04-30 | Siemens Aktiengesellschaft | Programmable logic controller having low latency |
Also Published As
Publication number | Publication date |
---|---|
JP2710151B2 (ja) | 1998-02-10 |
ATE121855T1 (de) | 1995-05-15 |
EP0525214A1 (de) | 1993-02-03 |
EP0525214B1 (de) | 1995-04-26 |
DE59105332D1 (de) | 1995-06-01 |
JPH05189232A (ja) | 1993-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5109333A (en) | Data transfer control method and apparatus for co-processor system | |
DE3854369T2 (de) | Zentralprozessoreinheit für digitale datenverarbeitungsanordnung mit cache-speicherverwaltungsvorrichtung. | |
US4385365A (en) | Data shunting and recovering device | |
US5345378A (en) | Method and apparatus for operating a programmable controller for controlling a technical process | |
US4592010A (en) | Memory-programmable controller | |
JPH02500692A (ja) | マルチプロセッサコンピュータにおける演算要素の統合 | |
JPH0551933B2 (ja) | ||
JPH0115900B2 (ja) | ||
JPS607529A (ja) | バツフアメモリ装置 | |
JP3096382B2 (ja) | Dma回路 | |
JPH09146839A (ja) | キャッシュメモリ制御装置 | |
JP2679440B2 (ja) | 情報処理装置 | |
JP3173807B2 (ja) | 記憶装置の切替制御装置 | |
JPS6218932B2 (ja) | ||
JP2507634B2 (ja) | 情報処理装置 | |
JPH06274415A (ja) | 共有メモリシステム | |
JPS62184560A (ja) | 入出力バツフア制御装置 | |
JPH0644193A (ja) | I/oレジスタアクセス方式 | |
JP2000047706A (ja) | アクチュエ―タの制御システム及び制御方法 | |
JPS6031646A (ja) | デ−タ処理装置 | |
JPH01283635A (ja) | バッファ制御回路 | |
JPS6037062A (ja) | メモリ読出し方法 | |
JPS5920030A (ja) | 入出力命令制御方式 | |
JPH0546460A (ja) | 命令処理方式 | |
JPH01169639A (ja) | 記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: SIEMENS AKTIENGESELLSCHAFT, GERMANY Free format text: ASSIGNMENT OF ASSIGNORS INTEREST.;ASSIGNORS:LANG, GEORG;TRUMMER, GEORG;SIGWART, EDGAR;AND OTHERS;REEL/FRAME:006168/0564 Effective date: 19920624 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
FPAY | Fee payment |
Year of fee payment: 12 |