工业控制器中的事件生成管理的利记博彩app
【技术领域】
[0001]本文中所公开的主题总体上涉及用于控制机器和工业过程的工业控制网络,并且更具体地涉及处理工业控制器内生成的事件。
【背景技术】
[0002]工业控制器是用于控制工厂自动化等的专用计算机。工业控制器通常执行针对特定控制应用而高度定制的控制程序。专用控制语言例如“继电器梯形逻辑”通常用于帮助对装置的编程。在存储程序的指导下,工业控制器的处理器周期性地检查输入装置的状态并且更新输出装置的状态。为了确保对机器或过程的可预测控制,控制程序必须是高度可靠且确定性的,也就是说,以良好定义的时间段来执行。
[0003]随着工业过程的复杂度增长,越来越多的装置被连接至工业控制器。装置通常分布在机器附近或沿流水线分布。越来越多的装置以及这些装置在机器附近的分布要求更复杂的控制程序。另外,受控过程持续地要求更高的吞吐量或生产率。因此,以更高的速率生成对控制器的输入并且对控制器的输入要求以更高的速率生成从控制器输出的信号。
[0004]要理解的是,增大处理器的执行速度使得能够以更快的速率执行控制程序。然而,增大处理器速度并非没有缺陷。增大时钟速度产生了处理模块中的其他硬件部件之间的定时问题。另外,增大的时钟速度能够从开始用作天线的互联产生不希望的辐射发射。另外,日益增大的系统复杂度通常造成控制程序的附加长度。由于以周期性间隔来执行控制程序,所以即使在处理器速度增大的情况下,控制程序的附加长度也可能使得控制程序在相同时间间隔内、或者也许在更长时间间隔内执行。因此,会希望提供改进的系统用于处理接收输入信号并且必须生成输出信号的增大的速率。
[0005]还要理解的是,并非所有输入需要以增大的频率处理。一种提高处理输入信号的速率的方法是识别输入中需要提高的处理的部分并且在输入信号例如处于某个状态或改变状态时产生中断。中断处理程序(interrupt handler)然后可以执行响应于输入信号来更新一个或更多个输出信号的控制代码的一小部分。在完成控制代码的该小部分时,中断处理程序返回执行一般控制程序。然而,中断处理程序也并非没有缺陷。随着越来越多的输入被识别为需要以增大的频率进行处理,处理中断控制代码所需的时间量增大并且可能增大到这样的点:一般控制代码不能在所需时间间隔内完成以提供工业控制器所需的确定性控制。另外,随着中断的数目增大,在中断控制代码的另一部分正在执行的同时发生附加中断的可能性增大。因此,可能不执行随后的中断控制代码的执行。
[0006]即使执行了所有中断控制代码,中断控制代码也可能基于不准确的数据来执行。中断处理程序必须先接收指示要执行中断控制代码的输入信号。输入信号可能发生在远离控制器的位置处并且可能例如从远程输入模块通过输入扫描器和工业网络而传递至控制器。在控制器接收到指示需要执行中断控制代码的输入时,过程中的一个或更多个输入的状态可能已经改变。因此,当中断控制代码执行时,可能基于不准确的输入信号集合来生成输出信号。因此,会希望提供改进的系统用于处理工业控制系统中针对受控机器或过程的事件。
【发明内容】
[0007]本文中所公开的主题描述了一种用于处理工业控制系统中针对受控机器或过程的事件的改进的系统。工业控制器中的模块被配置成响应于发生预定义的信号或信号的组合来生成事件。事件被传送至事件队列以用于随后的处理。事件队列也可以被配置成存储在生成事件时模块的状态(例如,数字输入模块中的端子中的每个端子是通还是断)的复本。事件队列可以保持多个事件并且可以以先进先出方式或者基于分配给每个事件的优先级来被处理。每个事件被配置成触发一个或更多个事件任务。当从事件队列中检索到事件时,执行事件任务或任务。类似地可以对事件任务分配优先级,并且如果并行发生多个事件或者在另一事件任务正在执行时,则可以基于它们被分配的优先级来执行事件任务。根据本发明的一个方面,单个事件可以触发模块内或模块所连接的控制器内的事件任务的执行。可选地,单个事件可以触发多个控制器中的事件任务的执行。根据本发明的另一方面,多个事件的序列或组合的发生可以触发单个事件任务的执行。
[0008]根据本发明的一个实施方式,公开了一种用于能够进行操作以控制机器或过程的工业控制器的输入/输出(I/O)模块。I/O模块包括多个端子、事件生成器、事件队列以及处理器。每个端子被配置成在I/O模块与用于该机器或过程的受控装置之间传输输入信号或输出信号,并且输入信号和输出信号每个具有至少一个状态。事件生成器能够进行操作以响应于至少一个输入或输出信号的状态来生成事件。事件队列被配置成接收每个所生成的事件以及存储多个事件。处理器从事件队列接收每个事件并且启动对应于该事件的事件任务的执行。事件队列也可以被配置成接收在生成每个事件时多个端子中的每个端子的状态并且将多个端子中的每个端子的状态连同相应事件一起进行存储。
[0009]根据本发明的另一实施方式,公开了一种用于工业控制系统的事件处理系统。事件处理系统包括I/O模块和处理器模块。I/O模块包括多个端子以及事件生成器。每个端子在端子与工业控制系统中的装置之间传输信号,并且事件生成器能够进行操作以响应于多个端子的至少之一的信号来生成事件。处理器模块能够进行操作以响应于每个事件来执行至少一个事件任务。存储器装置被包括在I/O模块或处理器模块中,其中,存储器装置被配置成存储事件队列。当生成事件时每个事件的指示被加载于事件队列中,并且处理器模块从事件队列接收每个事件的指示以启动对应于事件的事件任务的执行。
[0010]根据本发明的又一实施方式,公开了一种处理工业控制系统中的多个事件的方法。在I/O模块中生成第一事件,其中I/O模块包括多个端子,多个端子被配置成在I/O模块与工业控制系统中的装置之间传输信号,并且多个端子中的每个端子处的信号具有至少一个状态。第一事件被发送至处理器模块,并且处理器模块响应于第一事件来启动对第一事件任务的执行。在完成第一事件任务之前在I/o模块中生成至少一个附加事件。每个附加事件对应于针对多个端子的至少之一的信号的当前状态或信号的状态改变。每个附加事件被存储在I/o模块中的存储器装置上的事件队列中。每个附加事件被发送至处理器模块,并且处理器模块响应于每个附加事件来启动对附加事件任务的执行。
[0011]根据详细描述和附图,本发明的这些和其他优点和特征对于本领域技术人员将变得明显。然而,应当理解的是,详细描述和附图在指示本发明的优选实施方式的同时通过示出而给出并且并非限制性的。在不背离本发明的精神的前提下,可以在本发明的范围内做出许多改变和修改,并且本发明包括所有这样的修改。
【附图说明】
[0012]在附图中示出了本文中所公开的主题的各种示例实施方式,在附图中,相同的附图标记贯穿附图表示的相同的部件,在附图中:
[0013]图1是并入了根据本发明的一个实施方式的事件处理系统的示例工业控制网络的不意图;
[0014]图2是图1的示例工业控制网络的一部分的框图表示;
[0015]图3是根据本发明的一个实施方式的输入模块与其他模块之间的对等(peer-to-peer)通信的框图表示;
[0016]图4是在根据本发明的一个实施方式的输入模块上运行的事件生成器的框图表示;
[0017]图5是以继电器梯形逻辑编程的示例事件任务;
[0018]图6是在根据本发明的另一实施方式的输入模块上运行的事件生成器的框图表示;
[0019]图7是在I/O模块和处理器模块上运行的根据本发明的一个实施方式的事件处理系统的框图表示;
[0020]图8是示出针对不同处理器模块的单独的事件队列的根据本发明的另一实施方式的事件处理系统的框图表示;
[0021]图9是示出触发单个事件任务的多个事件的根据本发明的另一实施方式的事件处理系统的框图表示;
[0022]图10是示出在I/O模块上运行的事件任务的根据本发明的另一实施方式的事件处理系统的框图表示;
[0023]图11是示出触发多个事件任务的单个事件的根据本发明的另一实施方式的事件处理系统的框图表示;
[0024]图12是示出触发多个处理器模块上的事件任务的单个事件的根据本发明的另一实施方式的事件处理系统的框图表示;
[0025]图13是示出触发单个事件任务的多个事件的组合的根据本发明的另一实施方式的事件处理系统的框图表示;
[0026]图14是示出触发事件任务的各个I/O模块上发生的多个事件的组合的根据本发明的另一实施方式的事件处理系统的框图表示;
[0027]图15是图示用于启动对事件任务的执行所需的步骤的流程图;
[0028]图16是图示用于将事件写至如图15中所示的队列所需的步骤的流程图;以及
[0029]图17是图示用于处理如图15中所示的队列所需的步骤的流程图。
[0030]在描述附图中示出的本发明的各种实施方式时,为了清楚起见,将采用具体术语。然而,并非意在将本发明限制于如此选择的具体术语,并且要理解的是,每个具体术语包括以相似方式进行操作以实现相似目的的所有技术等同方案。例