WO2014094605A1 - 可编程逻辑控制器及其事件驱动编程方法 - Google Patents
可编程逻辑控制器及其事件驱动编程方法 Download PDFInfo
- Publication number
- WO2014094605A1 WO2014094605A1 PCT/CN2013/089723 CN2013089723W WO2014094605A1 WO 2014094605 A1 WO2014094605 A1 WO 2014094605A1 CN 2013089723 W CN2013089723 W CN 2013089723W WO 2014094605 A1 WO2014094605 A1 WO 2014094605A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- event
- detected
- events
- user
- programmable logic
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 239000000284 extract Substances 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000013589 supplement Substances 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/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- 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/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/056—Programming the PLC
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- 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/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
Definitions
- the present invention relates to programmable logic controllers and, more particularly, to event driven programmable logic controllers and their event driven programming methods. Background technique
- Programmable Logic Controllers play an important role in industrial control due to user-programmable flexibility.
- the current programming method of the programmable logic controller and the corresponding user application are based on the scan cycle.
- the scan cycle consists of several steps: updating the input value, executing the user application, and refreshing the output value.
- the event response is slow.
- the user needs to detect the input event in the application and wait until the end of the scan cycle to output a response.
- the present invention is directed to the above-described deficiencies of the prior art scan cycle based programmable logic controller and its programming method, and provides an event driven programmable logic controller and an event driven programming method thereof.
- an event-driven programming method of a programmable logic controller including: registering at least one event to be detected; storing at least one event processing program segment respectively corresponding to the at least one event to be detected; detecting the At least one event to be detected occurs; the detected event is placed in the event queue; the event is extracted from the event queue; and the event handler segment corresponding to the extracted event is executed.
- the at least one event to be detected may include the user from at least one The event selected in the predefined event.
- the at least one event to be detected may comprise a user customized event entered by the user.
- the user customization event may comprise a logical combination of predefined events.
- the predefined events may include a transmission/output event, a communication event, a diagnostic event, a system error event, a system idle event.
- the at least one event handler segment may comprise a predefined event handler segment.
- the at least one event handler segment may comprise a user-customized event handler segment entered by the user.
- the method can further include replacing the corresponding predefined event handler segment with a user customized event handler segment.
- the event queue may include a plurality of event queues having different priorities
- registering the at least one event to be detected may further include: registering a priority of the event to be detected, and placing the detected event into the event
- the queue may include: placing the event into a corresponding event queue according to the priority of the detected event, and extracting the event from the event queue may include: preferentially extracting an event from the event queue having a high priority.
- placing the detected event in the event queue may include: discarding the event if the detected event is already in the event queue.
- a programmable logic controller including: an event queue, configured to store a pending event; an event detector, configured to register at least one event to be detected, and detect the at least one event to be detected Occurs, and puts the detected event into an event queue; a program memory, configured to store at least one event handler segment corresponding to the at least one event to be detected; an event dispatcher, configured to extract an event from the event queue; and an event a processor, configured to execute an event handler segment corresponding to the extracted event.
- the at least one event to be detected may comprise an event selected by the user from at least one predefined event.
- the at least one event to be detected may comprise a user customized event entered by the user.
- the user customization event may comprise a logical combination of predefined events.
- the predefined events may include a T/Out event, a communication event, a diagnostic event, a system error event, a system idle event.
- the at least one event handler segment may comprise a predefined event handler segment.
- the at least one event handler segment may comprise a user-customized event handler segment entered by the user.
- a corresponding predefined event handler segment can be replaced with a user-customized event handler block in the program memory.
- the event queue may include a plurality of event queues having different priorities
- the event detector may register a priority of the event to be detected, and place the event according to the priority of the detected event Into the corresponding event queue, the event dispatcher can preferentially extract events from the event queue with high priority.
- the event detector may discard the event if the detected event is already in the event queue.
- an event-driven programming method is used in a programmable logic controller instead of a scan cycle-based programming method, and the user application is divided into a single function event processing block, which reduces the difficulty of writing the user application and the probability of error. And make the user application structured and easy to maintain. At the same time, response speed and system performance are improved by being able to process specific events in a timely manner.
- FIG. 1 is a flow chart showing an event driven programming method of a programmable logic controller in accordance with an embodiment of the present invention
- FIG. 2 is an event driven editor showing a programmable logic controller in accordance with another embodiment of the present invention. Flow chart of the method;
- FIG. 3 is a block diagram of a programmable logic controller in accordance with an embodiment of the present invention.
- FIG. 4 is a block diagram of a programmable logic controller in accordance with another embodiment of the present invention. detailed description
- FIG. 1 is a flow chart showing an event driven programming method of a programmable logic controller in accordance with an embodiment of the present invention.
- At step S101 at least one event to be detected is registered in the programmable logic controller.
- a plurality of predefined events such as input/output events, communication events, diagnostic events, system error events, system idle events, etc.
- predefined events such as input/output events, communication events, diagnostic events, system error events, system idle events, etc.
- the user can also enter a user-customized event as the event to be detected.
- User-customized events can be a logical combination of predefined events.
- the predefined events include: (E1) input channel 1 receives data; (E2) the network port receives the message; and (E3) the system is idle
- the following user-defined events can be defined: E1 AND E3, ie, input Channel 1 receives the data and the system is idle; or E2 OR E3, that is, the network port receives the message or the system is idle.
- the user customization event of the present invention is not limited to a logical combination of predefined events, but may also be defined by the user according to actual needs.
- a corresponding event handler segment is stored in the programmable logic controller for each event to be detected.
- a number of predefined event handler segments may be predefined for use in default processing of events. However, when the event does not have a corresponding predefined event handler segment or special handling is required, a custom event handler segment can be entered. When the user enters a user-customized event handler segment for the event to be detected, if there is a corresponding predefined event handler segment, the predefined event handler segment can be replaced with the input user-customized event handler segment.
- step S105 the occurrence of each event to be detected is detected in the programmable logic controller.
- step S107 the detected event is placed in the event queue of the programmable logic controller.
- the event can be discarded.
- duplicate events can also be recorded in the event queue.
- step S109 an event is extracted from the event queue.
- an event handler segment corresponding to the extracted event stored in the programmable logic controller is executed.
- 2 is a flow chart showing an event driven programming method of a programmable logic controller in accordance with another embodiment of the present invention. The difference between this embodiment and the embodiment of Figure 1 is that the queues are managed using a plurality of event queues having different priorities.
- step 201 at least one event to be detected and its priority are registered in the programmable logic controller.
- step S203 a corresponding event handler segment is stored in the programmable logic controller for each event to be detected.
- step S205 the occurrence of each event to be detected is detected in the programmable logic controller.
- step S207 the detected event is placed in an event queue corresponding to its priority.
- step S209 events are extracted from the event queue according to the priority, and when the higher priority event queue is not empty, the events in the higher priority event queue are preferentially extracted. That is, the event queue of the highest priority is processed first, then the event queue of the next highest priority is processed, and so on.
- step S211 an event processing program segment corresponding to the extracted event stored in the programmable logic controller is executed.
- FIG. 3 is a block diagram of a programmable logic controller 100 in accordance with an embodiment of the present invention.
- programmable logic controller 100 includes an event detector 101, a program memory 103, an event dispatcher 105, an event handler 107, and an event queue for storing pending events.
- the event detector 101 registers at least one event to be detected, detects the occurrence of the event to be detected, and places the detected event in the event queue.
- events already present in the queue may be discarded or repeatedly recorded.
- the event to be detected may include a predefined event and a user customized event entered by the user.
- User-customized events can be logical combinations of predefined events, or they can be defined by users based on actual needs.
- the program memory 103 stores an event handler segment corresponding to the event to be detected, respectively.
- the event handler segment can include a predefined event handler segment and a user-customized event handler segment, and the corresponding predefined event handler segment can be replaced with a user-customized event handler segment.
- the event dispatcher 105 extracts events from the event queue and dispatches them to the event handler 107.
- the event handler 107 receives the event dispatched by the event dispatcher 105 and executes an event handler segment corresponding to the event stored in the program memory 103.
- FIG. 4 is a block diagram of a programmable logic controller 200 in accordance with another embodiment of the present invention.
- the real The difference between the embodiment and the embodiment of FIG. 3 is mainly that the queue is managed by a plurality of event queues having different priorities.
- the programmable logic controller 200 includes an event detector 201, a program memory 203, an event dispatcher 205, an event handler 207, and a plurality of event queues having different priorities for storing events to be processed (eg, Priority 1 event queue, priority 2 event queue, and priority 3 event queue).
- the event detector 201 registers at least one event to be detected and its priority, detects the occurrence of the event to be detected, and places the detected event into an event queue corresponding to its priority.
- the program memory 203 stores event handler segments respectively corresponding to the events to be detected.
- Event dispatcher 205 extracts events from the event queue according to priority and dispatches them to the event handler
- the higher priority event queue is not empty, the events in the higher priority event queue are preferentially extracted. That is, the highest priority event queue is processed first, then the next highest priority event queue is processed, and so on.
- the event handler 207 receives the event dispatched by the event dispatcher 205 and executes an event handler segment corresponding to the event stored in the program memory 203.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Automation & Control Theory (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Programmable Controllers (AREA)
Abstract
Description
Claims
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2015129090A RU2629431C2 (ru) | 2012-12-19 | 2013-12-17 | Программируемый логический контроллер и способ его событийно-управляемого программирования |
US14/439,422 US9665412B2 (en) | 2012-12-19 | 2013-12-17 | Programmable logic controller and event-driven programming method thereof |
EP13866266.3A EP2899633A4 (en) | 2012-12-19 | 2013-12-17 | MEMORY PROGRAMMABLE CONTROL AND EVENT-CONTROLLED PROGRAMMING METHOD THEREFOR |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210554616.4A CN103885376A (zh) | 2012-12-19 | 2012-12-19 | 可编程逻辑控制器及其事件驱动编程方法 |
CN201210554616.4 | 2012-12-19 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2014094605A1 true WO2014094605A1 (zh) | 2014-06-26 |
Family
ID=50954327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2013/089723 WO2014094605A1 (zh) | 2012-12-19 | 2013-12-17 | 可编程逻辑控制器及其事件驱动编程方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9665412B2 (zh) |
EP (1) | EP2899633A4 (zh) |
CN (1) | CN103885376A (zh) |
RU (1) | RU2629431C2 (zh) |
WO (1) | WO2014094605A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9293029B2 (en) * | 2014-05-22 | 2016-03-22 | West Corporation | System and method for monitoring, detecting and reporting emergency conditions using sensors belonging to multiple organizations |
US9521134B2 (en) * | 2015-05-13 | 2016-12-13 | Atto Research Co., Ltd. | Control apparatus in software defined network and method for operating the same |
JP6532610B2 (ja) * | 2016-08-30 | 2019-06-19 | 三菱電機株式会社 | プログラム編集装置、プログラム編集方法及びプログラム編集プログラム |
CN106873474B (zh) * | 2017-04-07 | 2019-07-26 | 深圳怡化电脑股份有限公司 | 一种机电系统控制方法及装置 |
CN111722581B (zh) * | 2020-05-28 | 2021-10-22 | 国电南瑞科技股份有限公司 | 提高plc控制器与上位机通讯传输和数据处理效率的方法 |
CN111680467A (zh) * | 2020-06-08 | 2020-09-18 | 重庆邮电大学 | 一种用于5g终端模拟器pdcch盲检测的fpga设计方法 |
EP4012516A1 (de) * | 2020-12-10 | 2022-06-15 | Schneider Electric Industries SAS | Ausführungsumgebung für eine speicherprogrammierbare steuerung |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101377668A (zh) * | 2007-08-27 | 2009-03-04 | 台达电子工业股份有限公司 | 具有队列功能的可编程逻辑控制器及其操作方法 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02227703A (ja) * | 1989-02-28 | 1990-09-10 | Okuma Mach Works Ltd | プログラマブルコントローラシステム |
ATE167744T1 (de) * | 1994-04-13 | 1998-07-15 | Siemens Ag | Kompakte speicherprogrammierbare steuerung und zentraleinheit einer modularen speicherprogrammierbaren steuerung |
GB2292620B (en) * | 1994-08-16 | 1998-04-22 | Motorola Israel Ltd | Event driven programmer logic controller processor arrangement |
US5802389A (en) * | 1994-12-29 | 1998-09-01 | Siemens Energy & Automation, Inc. | Expansion module address method and apparatus for a programmable logic controller |
JP2001265412A (ja) * | 2000-03-15 | 2001-09-28 | Omron Corp | プログラマブルコントローラ |
US20020165998A1 (en) * | 2001-05-03 | 2002-11-07 | Sun Microsystems, Inc., A Delaware Corporation | Method and apparatus for meta object facility repository event notification |
US7797062B2 (en) * | 2001-08-10 | 2010-09-14 | Rockwell Automation Technologies, Inc. | System and method for dynamic multi-objective optimization of machine selection, integration and utilization |
FR2841013B1 (fr) * | 2002-06-12 | 2004-09-03 | Mbda France | Procede et systeme de gestion des evenements |
US6968292B2 (en) * | 2004-03-02 | 2005-11-22 | Paragon Technical Services, Inc. | Industrial controller event logging |
US7926099B1 (en) * | 2005-07-15 | 2011-04-12 | Novell, Inc. | Computer-implemented method and system for security event transport using a message bus |
US8452663B2 (en) * | 2006-05-04 | 2013-05-28 | Sap Ag | Systems and methods for processing auto-ID data |
RU83146U1 (ru) * | 2009-02-20 | 2009-05-20 | Федеральное Государственное Образовательное Учреждение Высшего Профессионального Образования "Южный Федеральный Университет" | Программируемый логический контроллер (плк) для построения распределенных отказоустойчивых информационно-управляющих систем |
CN101887382B (zh) * | 2010-06-28 | 2016-11-23 | 南京中兴软件有限责任公司 | 动态优先级的仲裁方法及装置 |
RU101551U1 (ru) * | 2010-08-05 | 2011-01-20 | Александр Николаевич Беляев | Контроллер для управления сложным объектом |
CN102566481B (zh) * | 2010-12-16 | 2013-07-24 | 无锡信捷电气有限公司 | 一种基于c语言的plc控制系统及其实现方法 |
CN102540953A (zh) * | 2010-12-24 | 2012-07-04 | 深圳市合信自动化技术有限公司 | 可编程逻辑控制器的数据处理方法及可编程逻辑控制器 |
-
2012
- 2012-12-19 CN CN201210554616.4A patent/CN103885376A/zh active Pending
-
2013
- 2013-12-17 RU RU2015129090A patent/RU2629431C2/ru active
- 2013-12-17 EP EP13866266.3A patent/EP2899633A4/en not_active Ceased
- 2013-12-17 WO PCT/CN2013/089723 patent/WO2014094605A1/zh active Application Filing
- 2013-12-17 US US14/439,422 patent/US9665412B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101377668A (zh) * | 2007-08-27 | 2009-03-04 | 台达电子工业股份有限公司 | 具有队列功能的可编程逻辑控制器及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2899633A4 (en) | 2016-03-09 |
US9665412B2 (en) | 2017-05-30 |
RU2629431C2 (ru) | 2017-08-29 |
EP2899633A1 (en) | 2015-07-29 |
CN103885376A (zh) | 2014-06-25 |
US20150293796A1 (en) | 2015-10-15 |
RU2015129090A (ru) | 2017-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2014094605A1 (zh) | 可编程逻辑控制器及其事件驱动编程方法 | |
US20210133256A1 (en) | Method and apparatus for crowdsourced data gathering, extraction, and compensation | |
US10325219B2 (en) | Parallel retrieval of training data from multiple producers for machine learning systems | |
JP6864746B2 (ja) | 異種イベントキュー | |
JP2011024209A5 (zh) | ||
US9003084B2 (en) | Sorting | |
CN102270156A (zh) | 一种实时嵌入式系统定时器管理方法 | |
JP7069173B2 (ja) | 高速分析のためにネットワーク・トラフィックを準備するシステム | |
WO2014173166A1 (zh) | 一种共享资源的调度方法和系统 | |
CN106886450A (zh) | 任务调度方法和系统 | |
JP2014511526A5 (zh) | ||
US9124448B2 (en) | Method and system for implementing a best efforts resequencer | |
CN110149247B (zh) | 一种网络状态的检测方法及装置 | |
Press et al. | Evolutionary assembly patterns of prokaryotic genomes | |
CN107391283A (zh) | 一种消息处理方法及装置 | |
CN105677487B (zh) | 一种控制资源占用的方法及装置 | |
CN110099006A (zh) | 用于有状态的分组处理的系统和方法 | |
CN103870313A (zh) | 一种虚拟机任务调度方法及系统 | |
TW201631927A (zh) | 用於在網路交換機收集針對封包流的多個並行查找查詢的回應的裝置和方法 | |
Li et al. | An extraction algorithm for a set of elementary siphons based on mixed-integer programming | |
CN109218204A (zh) | 一种解决mac hash冲突的方法和装置 | |
CN106953774A (zh) | 一种基于用户自定义的网络抓包系统 | |
CN112181618A (zh) | 数据传输方法、装置、计算机设备及存储介质 | |
US20140324868A1 (en) | Method for rapid data classification | |
TW201603533A (zh) | 減少彈性解析器中延遲方法及裝置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 13866266 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2013866266 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 14439422 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2015129090 Country of ref document: RU Kind code of ref document: A |