WO2014094605A1 - 可编程逻辑控制器及其事件驱动编程方法 - Google Patents

可编程逻辑控制器及其事件驱动编程方法 Download PDF

Info

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
Application number
PCT/CN2013/089723
Other languages
English (en)
French (fr)
Inventor
王海峰
Original Assignee
施耐德电器工业公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 施耐德电器工业公司 filed Critical 施耐德电器工业公司
Priority to RU2015129090A priority Critical patent/RU2629431C2/ru
Priority to US14/439,422 priority patent/US9665412B2/en
Priority to EP13866266.3A priority patent/EP2899633A4/en
Publication of WO2014094605A1 publication Critical patent/WO2014094605A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • 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
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message 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

可编程逻辑控制器及其事件驱动编程方法 技术领域
本发明涉及可编程逻辑控制器, 更具体地, 涉及事件驱动的可编程逻辑 控制器及其事件驱动编程方法。 背景技术
可编程逻辑控制器(PLC ) 由于具有用户可编程的灵活性而在工业控制 领域中发挥重要的作用。 当前的可编程逻辑控制器的编程方法以及相应的用 户应用程序都是基于扫描周期。 扫描周期包括几个步骤: 更新输入值、 执行 用户应用程序、 以及刷新输出值。
然而, 基于扫描周期的编程方法具有以下不足:
-事件响应迟緩。 用户需要在应用程序中检测输入事件, 而且等到扫描 周期结束才能输出响应。
-用户应用程序复杂, 难以编写。 对于基于扫描周期的可编程逻辑控制 器, 事件的检测和处理由用户应用程序负责。
-用户应用程序易读性差, 难以维护。 对于基于扫描周期的可编程逻辑 控制器, 用户需要在单个程序中综合诸如输 /输出 (I/O )事件、 诊断事件、 系统事件等各种事件的处理过程, 因而用户应用程序的结构化较差。 发明内容
本发明针对现有的基于扫描周期的可编程逻辑控制器及其编程方法的上 述不足, 提供事件驱动的可编程逻辑控制器及其事件驱动编程方法。
根据本发明的一方面,提供一种可编程逻辑控制器的事件驱动编程方法, 包括: 登记至少一个待检测事件; 存储与该至少一个待检测事件分别对应的 至少一个事件处理程序段; 检测该至少一个待检测事件的发生; 将检测到的 事件放入事件队列; 从事件队列提取事件; 执行与提取的事件对应的事件处 理程序段。
根据本发明的实施例, 该至少一个待检测事件可以包括用户从至少一个 预定义事件中选择的事件。
根据本发明的实施例, 该至少一个待检测事件可以包括用户输入的用户 定制事件。
根据本发明的实施例, 所述用户定制事件可以包括预定义事件的逻辑组 合。
根据本发明的实施例, 所述预定义事件可以包括输 /输出事件、 通信事 件、 诊断事件、 系统错误事件、 系统空闲事件。
根据本发明的实施例, 该至少一个事件处理程序段可以包括预定义事件 处理程序段。
根据本发明的实施例, 该至少一个事件处理程序段可以包括用户输入的 用户定制事件处理程序段。
该方法可以进一步包括以用户定制事件处理程序段替换相应的预定义事 件处理程序段。
根据本发明的实施例, 所述事件队列可以包括具有不同的优先级的多个 事件队列, 登记至少一个待检测事件可以进一步包括: 登记待检测事件的优 先级, 将检测到的事件放入事件队列可以包括: 根据检测到的事件的优先级 将该事件放入相应的事件队列, 从事件队列提取事件可以包括: 优先从具有 高优先级的事件队列提取事件。
根据本发明的实施例, 将检测到的事件放入事件队列可以包括: 如果检 测到的事件已经在事件队列中, 则丟弃该事件。
根据本发明的另一方面,提供一种可编程逻辑控制器, 包括: 事件队列, 用于存储待处理事件; 事件检测器, 用于登记至少一个待检测事件, 检测该 至少一个待检测事件的发生,并将检测到的事件放入事件队列;程序存储器, 用于存储与该至少一个待检测事件分别对应的至少一个事件处理程序段; 事 件分派器, 用于从事件队列提取事件; 以及事件处理器, 用于执行与提取的 事件对应的事件处理程序段。
根据本发明的实施例, 该至少一个待检测事件可以包括用户从至少一个 预定义事件中选择的事件。
根据本发明的实施例, 该至少一个待检测事件可以包括用户输入的用户 定制事件。 根据本发明的实施例, 所述用户定制事件可以包括预定义事件的逻辑组 合。
根据本发明的实施例, 所述预定义事件可以包括输 T /输出事件、 通信事 件、 诊断事件、 系统错误事件、 系统空闲事件。
根据本发明的实施例, 该至少一个事件处理程序段可以包括预定义事件 处理程序段。
根据本发明的实施例, 该至少一个事件处理程序段可以包括用户输入的 用户定制事件处理程序段。
根据本发明的实施例, 可以在该程序存储器中以用户定制事件处理程序 段替换相应的预定义事件处理程序段。
根据本发明的实施例, 所述事件队列可以包括具有不同的优先级的多个 事件队列, 该事件检测器可以登记待检测事件的优先级, 并且根据检测到的 事件的优先级将该事件放入相应的事件队列, 该事件分派器可以优先从具有 高优先级的事件队列提取事件。
根据本发明的实施例, 如果检测到的事件已经在事件队列中, 则该事件 检测器可以丟弃该事件。
根据本发明, 在可编程逻辑控制器中使用事件驱动编程方法代替基于扫 描周期的编程方法, 将用户应用程序分割为功能单一的事件处理程序段, 降 低了用户应用程序编写的难度和出错的几率, 并使得用户应用程序的结构化 良好, 易于维护。 同时, 由于可以及时地针对特定的事件进行处理, 提高了 响应速度和系统性能。 附图说明
通过下面结合附图对示范性实施例的详细描述, 将更好地理解本发明。 应当清楚地理解, 所描述的示范性实施例仅仅是作为说明和示例, 而本发明 不限于此。 本发明的精神和范围由所附权利要求书的具体内容限定。 下面描 述附图的筒要说明, 其中:
图 1是示出根据本发明的实施例的可编程逻辑控制器的事件驱动编程方 法的流程图;
图 2是示出根据本发明的另一实施例的可编程逻辑控制器的事件驱动编 程方法的流程图;
图 3是根据本发明的实施例的可编程逻辑控制器的框图; 以及
图 4是根据本发明的另一实施例的可编程逻辑控制器的框图。 具体实施方式
图 1是示出根据本发明的实施例的可编程逻辑控制器的事件驱动编程方 法的流程图。
参照图 1 , 在步骤 S101 , 在可编程逻辑控制器中登记至少一个待检测事 件。 根据实施例, 可以预先定义若干预定义事件, 诸如输入 /输出事件、 通信 事件、 诊断事件、 系统错误事件、 系统空闲事件等, 从而可以从这些预定义 事件中选择感兴趣的事件作为待检测事件。 另外, 作为预定义事件的补充, 用户也可以输入用户定制事件作为待检测事件。 用户定制事件可以是预定义 事件的逻辑组合。 例如, 假定预定义事件包括: ( E1 )输入通道 1接收到数 据; (E2 ) 网络端口接收到消息; 以及(E3 ) 系统空闲, 则可以定义如下的 用户定制事件: E1 AND E3 , 即, 输入通道 1接收到数据且系统空闲; 或 E2 OR E3 , 即, 网络端口接收到消息或系统空闲。 然而, 本发明的用户定制事 件不限于预定义事件的逻辑组合, 也可以由用户根据实际需要自行定义。
在步骤 S103 ,在可编程逻辑控制器中为每个待检测事件存储相应的事件 处理程序段。 根据实施例, 可以预先定义若干预定义事件处理程序段, 用于 事件的缺省处理。 然而, 当事件没有相应的预定义事件处理程序段或者需要 特殊处理时, 可以输入用户定制事件处理程序段。 当用户为待检测事件输入 用户定制事件处理程序段时, 如果存在对应的预定义事件处理程序段, 则可 以以输入的用户定制事件处理程序段替换该预定义事件处理程序段。
在步骤 S105 , 在可编程逻辑控制器中检测各个待检测事件的发生。
在步骤 S107 , 将检测到的事件放入可编程逻辑控制器的事件队列。根据 实施例, 如果检测到的事件已经在事件队列中, 则可以丟弃该事件。 然而, 本发明不限于此。 替换地, 也可以在事件队列中记录重复的事件。
在步骤 S109, 从事件队列中提取事件。
在步骤 S111 ,执行存储在可编程逻辑控制器中的与提取的事件对应的事 件处理程序段。 图 2是示出根据本发明的另一实施例的可编程逻辑控制器的事件驱动编 程方法的流程图。 该实施例与图 1的实施例的区别主要在于, 利用多个具有 不同优先级的事件队列来管理队列。
参照图 2,在步骤 201 ,在可编程逻辑控制器中登记至少一个待检测事件 以及其优先级。
在步骤 S203 ,在可编程逻辑控制器中为每个待检测事件存储相应的事件 处理程序段。
在步骤 S205 , 在可编程逻辑控制器中检测各个待检测事件的发生。
在步骤 S207 , 将检测到的事件放入与其优先级对应的事件队列。
在步骤 S209,依照优先级从事件队列中提取事件, 当较高优先级的事件 队列非空时, 优先提取较高优先级的事件队列中的事件。 即, 先处理最高优 先级的事件队列, 再处理次高优先级的事件队列, 依此类推。
在步骤 S211 ,执行存储在可编程逻辑控制器中的与提取的事件对应的事 件处理程序段。
图 3是根据本发明的实施例的可编程逻辑控制器 100的框图。
参照图 3 ,可编程逻辑控制器 100包括事件检测器 101、程序存储器 103、 事件分派器 105、 事件处理器 107以及用于存储待处理事件的事件队列。
事件检测器 101登记至少一个待检测事件, 检测待检测事件的发生, 并 将检测到的事件放入事件队列。 根据实施例, 已存在于队列中的事件可以被 丟弃或重复记录。 根据实施例, 待检测事件可以包括预定义事件和用户输入 的用户定制事件。 用户定制事件可以是预定义事件的逻辑组合, 也可以由用 户根据实际需要自行定义。
程序存储器 103存储与待检测事件分别对应的事件处理程序段。 根据实 施例, 事件处理程序段可以包括预定义事件处理程序段和用户定制事件处理 程序段, 并且可以以用户定制事件处理程序段替换相应的预定义事件处理程 序段。
事件分派器 105从事件队列中提取事件并分派给事件处理器 107。
事件处理器 107接收事件分派器 105分派的事件, 并执行存储在程序存 储器 103中的与该事件对应的事件处理程序段。
图 4是根据本发明的另一实施例的可编程逻辑控制器 200的框图。 该实 施例与图 3的实施例的区别主要在于, 利用多个具有不同优先级的事件队列 来管理队列。
参照图 4,可编程逻辑控制器 200包括事件检测器 201、程序存储器 203、 事件分派器 205、事件处理器 207、以及用于存储待处理事件的多个具有不同 优先级的事件队列 (如, 优先级 1事件队列、 优先级 2事件队列、 和优先级 3事件队列 ) 。
事件检测器 201登记至少一个待检测事件及其优先级, 检测待检测事件 的发生, 并将检测到的事件放入与其优先级对应的事件队列。
程序存储器 203存储与待检测事件分别对应的事件处理程序段。
事件分派器 205依照优先级从事件队列中提取事件并分派给事件处理器
207, 当较高优先级的事件队列非空时,优先提取较高优先级的事件队列中的 事件。 即, 先处理最高优先级的事件队列, 再处理次高优先级的事件队列, 依此类推。
事件处理器 207接收事件分派器 205分派的事件, 并执行存储在程序存 储器 203中的与该事件对应的事件处理程序段。
虽然已经图示和描述本发明的示范性实施例, 但是本领域技术人员可以 理解, 随着技术的进步, 可以作出各种变更和修改并可以用等价物替换其元 素而不背离本发明的真实范围。

Claims

权利要求书
1. 一种可编程逻辑控制器的事件驱动编程方法, 包括:
登记至少一个待检测事件;
存储与该至少一个待检测事件分别对应的至少一个事件处理程序段; 检测该至少一个待检测事件的发生;
将检测到的事件放入事件队列;
从事件队列提取事件;
执行与提取的事件对应的事件处理程序段。
2. 如权利要求 1所述的方法, 其中, 该至少一个待检测事件包括用户从 至少一个预定义事件中选择的事件。
3. 如权利要求 2所述的方法, 其中, 该至少一个待检测事件包括用户输 入的用户定制事件。
4. 如权利要求 3所述的方法, 其中, 所述用户定制事件包括预定义事件 的逻辑组合。
5. 如权利要求 2所述的方法, 其中, 所述预定义事件包括输入 /输出事 件、 通信事件、 诊断事件、 系统错误事件、 系统空闲事件。
6. 如权利要求 1所述的方法, 其中, 该至少一个事件处理程序段包括预 定义事件处理程序段。
7. 如权利要求 6所述的方法, 其中, 该至少一个事件处理程序段包括用 户输入的用户定制事件处理程序段。
8. 如权利要求 7所述的方法,进一步包括以用户定制事件处理程序段替 换相应的预定义事件处理程序段。
9. 如权利要求 1所述的方法, 其中, 所述事件队列包括具有不同的优先 级的多个事件队列,
登记至少一个待检测事件进一步包括: 登记待检测事件的优先级, 将检测到的事件放入事件队列包括: 根据检测到的事件的优先级将该事 件放入相应的事件队列,
从事件队列提取事件包括: 优先从具有高优先级的事件队列提取事件。
10. 如权利要求 1所述的方法, 其中, 将检测到的事件放入事件队列包 括:
如果检测到的事件已经在事件队列中, 则丟弃该事件。
11. 一种可编程逻辑控制器, 包括:
事件队列, 用于存储待处理事件;
事件检测器, 用于登记至少一个待检测事件, 检测该至少一个待检测事 件的发生, 并将检测到的事件放入事件队列;
程序存储器, 用于存储与该至少一个待检测事件分别对应的至少一个事 件处理程序段; 以及
事件分派器, 用于从事件队列提取事件; 以及
事件处理器, 用于执行与提取的事件对应的事件处理程序段。
12. 如权利要求 11所述的可编程逻辑控制器, 其中, 该至少一个待检测 事件包括用户从至少一个预定义事件中选择的事件。
13. 如权利要求 12所述的可编程逻辑控制器, 其中, 该至少一个待检测 事件包括用户输入的用户定制事件。
14. 如权利要求 13所述的可编程逻辑控制器, 其中, 所述用户定制事件 包括预定义事件的逻辑组合。
15. 如权利要求 12所述的可编程逻辑控制器, 其中, 所述预定义事件包 括输 /输出事件、 通信事件、 诊断事件、 系统错误事件、 系统空闲事件。
16. 如权利要求 11所述的可编程逻辑控制器, 其中, 该至少一个事件处 理程序段包括预定义事件处理程序段。
17. 如权利要求 16所述的可编程逻辑控制器, 其中, 该至少一个事件处 理程序段包括用户输入的用户定制事件处理程序段。
18. 如权利要求 17所述的可编程逻辑控制器, 其中, 在该程序存储器中 以用户定制事件处理程序段替换相应的预定义事件处理程序段。
19. 如权利要求 11所述的可编程逻辑控制器, 其中, 所述事件队列包括 具有不同的优先级的多个事件队列,
该事件检测器登记待检测事件的优先级, 并且根据检测到的事件的优先 级将该事件 ^相应的事件队列,
该事件分派器优先从具有高优先级的事件队列提取事件。
20. 如权利要求 11所述的可编程逻辑控制器, 其中, 如果检测到的事件 已经在事件队列中, 则该事件检测器丟弃该事件。
PCT/CN2013/089723 2012-12-19 2013-12-17 可编程逻辑控制器及其事件驱动编程方法 WO2014094605A1 (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101377668A (zh) * 2007-08-27 2009-03-04 台达电子工业股份有限公司 具有队列功能的可编程逻辑控制器及其操作方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
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 深圳市合信自动化技术有限公司 可编程逻辑控制器的数据处理方法及可编程逻辑控制器

Patent Citations (1)

* Cited by examiner, † Cited by third party
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