基于硬件的具有内置定时器的连接状态机的制作方法

文档序号:6353107阅读:279来源:国知局
专利名称:基于硬件的具有内置定时器的连接状态机的制作方法
技术领域
本文公开的主题内容总体涉及用于控制工业处理或机械的工业控制器。更具体而 言,公开了基于硬件的用于管理与到工业控制器的连接相关联的定时器的系统。
背景技术
工业控制器是用于控制工厂自动化等的专用计算机。由工业控制器执行的控制程 序通常针对特定控制应用而被高度地定制化。通常使用特殊的控制语言,比如“继电器梯 形逻辑图”(“relay ladder logic”)来便于对器件编程。所存储的控制程序可以在一系 列执行周期中连续地执行、周期性地重复或者基于事件来执行。由于与工业处理(比如组 装线)的停机时间相关联的可能高成本,所以工业控制器必须确保指令的可预计的高速执 行,用于可靠的实时控制。在所存储的程序的指引下,工业控制器周期性地检查反映所控制的处理的状态的 一系列输入,并改变影响对该处理的控制的输出。输入和输出可以是二进制的(即“开”或 “关”),或者还可以使用取值范围连续的模拟输入和输出。二进制输入和输出可由单个数据 比特表示;模拟输入和输出可由多个比特数据字表示。为了确保对处理的可预计的控制,控制器与输入和输出之间的通信必须高度可靠 并在明确限定的时间段进行。控制器还必须检验连接到控制器的输入和输出(I/O)装置持 续正确工作。通常而言,控制器包含周期性地监测I/O装置的工作的任务。该监测任务可 例如检查I/O装置最近与控制器通信。如果I/O装置停止与控制器通信,则控制器可选地 可试图恢复与I/O装置的通信或者设置指示I/O装置停止工作的错误消息。然而,随着工业处理变得复杂,数目越来越多的装置连接到工业控制器。数量越 来越多的装置使监测任务执行越来越长的时间,从而导致可供控制程序使用的处理时间减 少。如果有过多装置连接到工业控制器,则控制器可能不再能够确保对控制程序的可预计 的高速执行。目前,在监测I/O装置的任务请求过多处理时间和带宽之前,工业控制器能够 监测大约250个以下的I/O装置。因此,期望提供独立于处理器地执行检验连接到工业控制器的I/O装置持续正确 工作的监测系统。还期望显著地增加能够被监测的I/O装置的数量,以适应更复杂的工业 控制器所需的越来越多的连接数量。

发明内容
本发明提供一种硬件实施的连接监测系统。定时器阵列为处理器与I/O装置之间 的每个连接建立输入和输出连接定时器,其中所述I/O装置可以是任何能够向处理器提供 输入或输出信号的装置。状态机周期性地访问定时器阵列,以更新定时器的累加值,并监测 是否有任一定时器达到了预设的定时器到期值(timer done value)。如果连接定时器达到 定时器到期值,则状态机将该连接定时器的状态加载到事件缓冲器中,并生成用于处理器 的中断。处理器读取事件缓冲器,识别到期的定时器是输入定时器还是输出定时器,并相应地采取行动。在本发明的一实施例中,一种用于工业控制器的连接监测系统包括处理器,处理 器执行程序以周期性地与连接到所述处理器的多个输入/输出(I/O)装置进行通信。硬件 定时器阵列包括与所述I/O装置中的每一个相关联的至少一个连接定时器。状态机独立于 处理器地执行以监测每个连接定时器,以响应于定时器的状态变化向处理器提供信号。因此,本发明的特征在于,一种独立于处理器运行的系统,该系统使处理器上可用 的处理时间增加并监测I/O装置与处理器之间的连接。根据本发明的另一方面,定时器阵列可将输入定时器和输出定时器分配给连接到 处理器的I/O装置中的每一个。因此,本发明的另一特征在于,该定时器阵列支持任一 I/O 装置的双向通信。根据本发明的又一方面,该连接监测系统包括在硬件定时器阵列与状态机之间的 专用接口。该专用接口提供状态机对定时器阵列的快速访问,并减少用于对控制器中的存 储器进行存取的带宽需求。根据本发明的另一方面,该连接监测系统包括用于在处理器与状态机之间传输消 息的命令缓冲器,以及用于根据连接定时器的状态变化在状态机与处理器之间传输信号的 事件缓冲器。连接监测系统还可包括至少一个附加的事件缓冲器,并且状态机可选择性地 将来自每个定时器的信号加载至事件缓冲器中的一个。多个事件缓冲器可例如允许状态机 在将定时器的状态传输给处理器之前区分出状态变化事件(比如输入或输出时间到期事 件),或者事件缓冲器可由单独的处理器处理或由在单个处理器上运行的单独的处理内核 处理。该连接监测系统还可包括至少一个额外的状态机,其中每个状态机监测定时器阵 列的一部分。可选地,多个状态机允许更频繁地扫描定时器,或者允许减慢时钟速度。在本发明的另一实施例中,一种用于工业控制器的连接监测系统包括第一处理器 和第二处理器。这些处理器中的至少一个执行程序,以周期性地与多个输入/输出(I/O)装 置中的至少一个进行通信。硬件定时器阵列包括与所述多个I/O装置中的每一个相关联的 至少一个定时器。第一状态机独立于每个处理器地监测每个定时器,以根据定时器的到期 来向处理器中的至少一个提供信号。该连接监测系统还包括在硬件定时器阵列与第一状态 机之间的专用通信信道。命令缓冲器在处理器中的至少一个与第一状态机之间传输消息, 第一事件缓冲器根据定时器的到期在第一状态机与至少一个处理器之间传输信号。根据本发明的另一方面,该连接监测系统可包括至少一个额外状态机,这些状态 机中的每一个监测定时器阵列的一部分的状态。该连接监测系统还可包括第二事件缓冲 器。每个定时器的状态可被选择性地加载至事件缓冲器中的一个中。处理器可以不同的配 置与状态机相接。例如,第一处理器可从第一事件缓冲器读取,而第二处理器可从第二事件 缓冲器读取。可选地,第一处理器可与命令缓冲器相接,而第二处理器可与事件缓冲器相 接。因此,本发明的另一特征在于,状态机可与多处理器控制器相接。可灵活地将该系 统配置成使得每个处理器与状态机的命令缓冲器或事件缓冲器相接,或者,可选地,状态机 可包括多个命令缓冲器或事件缓冲器,使得每个处理器与每个缓冲器执行部分连接。基于详细说明和附图,本领域技术人员应当理解本发明的这些和其它优点和特
5征。然而应理解,上述详细说明和附图,尽管表明本发明的优选实施例,但是作为示例给出 的,而绝非限定。在不偏离本发明的精神的情况下,在本发明的范围内可做出许多变化和修 改,并且本发明包括所有这样的修改。


在附图中图示出本文中所公开的主题内容的不同的示例性的实施例,其中,始终 相同的附图标记表示相同的部件,在附图中图1是结合了根据本发明的基于硬件的连接状态机的工业控制器的框图;图2是图1中的处理器模块的框图,图示出根据本发明的基于硬件的连接状态机 的一种实施例;图3是图1中的处理器模块的框图,图示出根据本发明的基于硬件的连接状态机 的另一实施例;图4是图示出根据本发明一种实施例的状态机的状态的流程图;图5是图示出根据图4中示出的状态机的处理定时器阵列的步骤的流程图;图6是根据图5中示出的处理的读取定时器阵列的步骤的流程图;图7是根据图5中示出的处理的更新定时器的累加值的步骤的流程图;图8是根据图4中示出的状态机的处理事件缓冲器的步骤的流程图;以及图9是根据图4中示出的状态机的处理命令缓冲器的步骤的流程图。在描述附图中图示的本发明的不同实施例时,为清楚起见将采用特定术语。然而, 这并非旨在使本发明限制于如此选择的这些特定术语,应理解,每个特定术语包括以相似 方式工作以实现类似目的的所有的技术上的等同表述。例如,常常使用词语“连接”、“附连” 或与其类似的术语。它们并不限于直接连接,而是包括那些被本领域技术人员认为等同的、 通过其它部件的连接。
具体实施例方式参照附图1,结合了本发明的工业控制器10通常包括电源12、处理器模块14以及 多个I/O模块16。I/O模块16通过I/O信号线18连接到受控处理22中的I/O装置20。 在本领域中已知,模块14或16中的每个模块可被插入机架15中并通过背板17进行通信 (参见图2和图幻。另外,可以包括远程I/O机架25。基本机架15可通过连接模块13和 19连接到远程架25,连接模块13和19被插入每个机架15和25中并通过通信线缆21连 接。连接模块13或19可以是以太网交换机、I/O扫描仪或者任何其它适合于在两个机架 15与25之间进行通信的装置。远程I/O机架25可类似地包括通过I/O信号线18连接到 受控处理22中的I/O装置20的I/O模块16。下面参照图2,图示出本发明的单个处理器的实施例。处理器模块14包括被配置 为执行程序并与主存储器32进行通信的处理器30。处理器模块14包括连接器34以将模 块14连接到背板17。处理器30可跨背板17发送或接收信号36,包括来自I/O模块16的 或发送给I/O模块16的信号36。处理器模块14还包括与处理器30通信的连接监测系统40。连接监测系统40包 括与第二存储器44通信的状态机42。优选地,在状态机42和第二存储器44之间存在专用接口 43,比如数据总线。状态机42还通过事件缓冲器46和命令缓冲器48与处理器30 通信。连接监测系统40可另外生成指示数据已被写入事件缓冲器46的中断信号50给处 理器。优选地,处理器30和连接监测系统40被实施为单个专用集成电路(ASIC)上的单独 块。可选地,可使用任意数量的ASIC或者单个处理器、存储器和缓冲器件,来实施如图2中 所示的处理器30和连接监测系统40。参照图3,图示出本发明的双处理器的实施例。处理器模块14可包括第一处理器 30和第二处理器31。处理器30和31中的每个处理器都与主存储器32进行通信。处理器 模块14包括连接器34以将模块14连接到背板17。如图3中所示,第一处理器30可跨背 板发送或接收信号36,包括来自I/O模块16或发送给I/O模块16的信号36。可选地,处 理器模块14可被配置为使得第二处理器31或者两个处理器30、31都可与I/O模块16进 行通信。处理器模块14还包括连接监测系统40。连接监测系统40包括与第二存储器44 通信的状态机42。优选地,在状态机42和第二存储器44之间存在专用通信路径43,从而 允许状态机42对存储在第二存储器44中的数据进行快速存取。如图3所示,连接监测系 统40与处理器30、31中的至少一个通信,优选地与这两个处理器都通信。状态机42可通过 事件缓冲器46与第一处理器30通信,通过命令缓冲器48与第二处理器31通信。数据已 被写入事件缓冲器46使得生成中断信号50给第一处理器30。可选地,处理器模块14可被 配置为使得处理器30、31中的每个处理器都可通过事件缓冲器46和命令缓冲器48之一或 者通过这两者与状态机42进行通信。优选地,处理器30、31中的每个处理器和连接监测系 统40都被实施为单个专用集成电路(ASIC)上的单独块。可选地,可使用任意数量的ASIC 或者单个处理器、存储器和缓冲器件,来实施如图3中所示的多个处理器30、31和连接监测 系统40。在工作中,连接监测系统40使用状态机42来管理硬件定时器阵列128,用于监测 处理器30与I/O装置20中的每个I/O装置之间的每个连接的状态。定时器阵列1 被存 储在第二存储器44中,使得状态机42具有通过接口 43的对定时器阵列128的专用存取。 参照图4,状态机42通常如下执行在步骤102处理定时器阵列128,在步骤104处理事件 缓冲器46,在步骤106处理命令缓冲器48。图4中示出的步骤是状态机42的示例性步骤, 应理解,在不背离本发明的范围的情况下,这些步骤可以以任意顺序来执行,并且在状态机 42中可以包括额外的状态。在步骤102,状态机42处理定时器阵列1 中的连接定时器130中的每个连接定 时器。参照图6,每个定时器130都包括用于存储至少一个累加值132、预设值134和状态 136的寄存器。累加值132识别定时器130的当前执行时间,并优选地是从预设值134到0 递减或者从0到预设值134递增的整数。预设值134是通过将要运行的定时器的时间长度 除以定时器递增或递减的周期速率来确定的。状态寄存器136包括一个或更多状态标识, 这些状态标识例如指示定时器到期、定时器在等待被加载到事件缓冲器或者定时器达到了 最小设置点。硬件定时器阵列1 包括与处理器30和I/O装置20中的一个I/O装置之间的每 个连接相关联的至少一个(一对)连接定时器130。连接定时器130可被分配给到处理器 30的任何连接,包括但不限于,来自I/O装置20、额外的控制器10、网络接口模块或者用户接口的模拟或数字输入或输出。每个I/O装置20将分别提供输入值给处理器30或者从处 理器30接收输出值。因为工业控制器10要求高度可靠、并以明确限定的间隔重复地执行程 序,所以,优选地,处理器14以预定的请求数据包间隔(Requested Packet Interval,RPI) 从I/O装置20中的每个接收I/O信号18或者传输I/O信号18给I/O装置20中的每个。 另外,控制器10可被配置成在处理器30与每个I/O装置20之间建立“心跳”通信。心跳 是以比数据通信之间的间隔更长的时间间隔传输的通信,并被用于检验I/O装置20正确运 行。例如,处理器30可周期性地发送消息给输入装置,以检验其是否起作用和/或其是否 能够改变状态。输出装置还可被配置成周期性地发送消息给处理器30,以表明其正在接收 输出信号18和其当前正确运行。数据信号与心跳信号的组合导致许多I/O装置20需要处理器30与I/O装置20 之间的双向通信。通过将一对连接定时器130与每个I/O装置20相关联,状态机42能够 监测传送给处理器30和从处理器30传送来的通信。每个定时器130的预设寄存器134可 被设置成不同的值,使得可以不同的速率(例如针对I/O数据的或者针对心跳信号的速率) 监测到I/O装置20和来自每个I/O装置20的通信。尽管工业控制器10要求处理器30与I/O装置20之间的可靠的通信,但预计会发 生一些通信错误,并且这也是可接受的。如果处理器30或者I/O装置20未能在RPI内接 收通信,则可以重发原始通信或者可以发送新的通信。控制器10可被配置成识别在采取行 动之前可能发生的处理器30与I/O装置20之间的成功通信之间所允许的最大时间长度。 例如,处理器30可被配置成使得成功数据通信之间的最大时间长度是RPI的四倍,或者成 功心跳通信之间的最大时间长度是RPI的二十倍。参照图5,在步骤108通过从阵列1 读取定时器数据来开始处理定时器阵列 128。图6中图示出从阵列1 读取定时器数据的一个示例性实施例。状态机42可被配置 成通过步骤102每个周期读取“X”个定时器130。例如,每次状态机执行从定时器阵列1 的读取时,可读取定时器130中的一个或全部。优选地,在从定时器阵列1 的每次读取中 读取10个定时器130。在步骤122,状态机42提取当前索引值“i”,以识别下一次读取要 在定时器阵列128内发生的位置。根据步骤124,状态机42随后从定时器阵列1 读取索 引“i”处的“X”个定时器130。在状态机42完成对定时器130的读取之后,根据步骤1 可使索引“i”递增或递减,使得索引指向相邻组的定时器130以准备下一读取周期。重复 该序列直至读取了全部定时器130。读取全部定时器所需的周期数量取决于每个周期读取 的定时器130的数量“X”、阵列1 中的定时器130的总数“η”以及执行读取的时钟频率。 定时器阵列1 可被配置为存储至少500个、优选2000个以下的定时器130。状态机42被 配置为足够快地执行,使得每10 μ s (优选地每2 μ s至4 μ S)至少读取一次整个定时器阵 列。再次参照图5,当从定时器阵列1 提取了定时器数据时,在步骤110检查每个定 时器130的状态。对每个定时器130的状态的检查包括比较累加值132,以确定定时器是否 已经到期。如果定时器130已到期,则状态机42设置状态寄存器136中的到期标识,并重 置累加值132,使得定时器能够在下一周期开始计数。如果定时器130尚未到期,则状态机 42将根据步骤112更新累加值。参照图7,根据针对该定时器130选择的分辨率来更新每个累加值132。为了针对每个定时器130减少所需的存储器分配,一系列分辨率定时器可执行,使得仅当所指定的 分辨率定时器到期时才基于扫描来更新累加值。例如,可给分辨率定时器分配10或100的 预设值。分辨率定时器连续地执行,使得每1/10或1/100个周期就设置分辨率定时器到期 标识。每个定时器130可被配置为每次扫描时更新,或者可选地只在设置适当的分辨率定 时器到期标识时才更新。因此,当根据步骤112更新定时器时,通过步骤140读取该定时器 的分辨率指示器,以确定定时器130的累加值132更新的频繁程度。在步骤142,检查适当 的分辨率定时器到期标识。在步骤144状态机42确定是否设置正确的分辨率定时器的到 期标识,以确定累加值132是否需要更新。在需要的情况下在步骤146更新累加值132。可 想到可实施任何适当组分辨率定时器。优选地,存在允许将针对定时器130的RPI值的范 围设置为从大约10 μ s到至少IOs的分辨率定时器。再次参照图5,在更新累加值132之后,状态机142检查在周期中读取到的针对定 时器130中的任一个的到期标识是否设置了。如果设置了到期标识且事件缓冲器46具有 可用的存储空间,则状态机42将到期的定时器130的状态记入事件缓冲器46。如果在该周 期中没有定时器到期,则状态机42转为处理缓冲器。事件缓冲器46被用来将事件或者定时器130状态上的变化(比如定时器130的 到期)从状态机42传输到处理器30。因为事件缓冲器130中的事件可被用来强制从处理 器30到I/O装置20的写入,所以缓冲器46中的事件还可包括从处理器30发送给状态机 42的立即输出命令,从而在定时器130到期之前触发通信。如步骤104所表示,处理事件缓冲器46包括监测状态机中的定时器事件和从处理 器30输出命令以由处理器30触发动作。下面参照图8,在步骤150,状态机42将每个定时 器130的状态寄存器136评估为在之前的扫描期间所读取到的。如果针对任意的定时器 130设置了定时器到期标识,则在步骤152状态机42将定时器信息放入事件缓冲器46的队 列中。被写入队列的定时器信息可包括例如识别数、状态寄存器136或者累加寄存器132。 在步骤154,状态机42确定处理器30是否已向状态机42发送立即输出给I/O装置20的命 令。如果处理器30已命令立即输出,则状态机42将提取与该I/O装置20相关联的输出定 时器130的定时器信息。在步骤155,状态机42检验从向指定的I/O装置20的先前输出起 是否过了足够时间,如果过了足够时间,则在步骤156状态机42将定时器的状态放入事件 缓冲器46的队列。事件缓冲器46优选是由状态机42管理的“先进先出,,(FIFO)缓冲器。事件缓冲 器46具有有限的深度并以周期性间隔传输数量有限的事件给处理器30。在步骤158,状态 机42检查队列中是否有事件要被传输给处理器30。如果队列中没有事件,则针对该间隔对 事件缓冲器的处理结束。如果队列中有事件要被传输,则在步骤160状态机42检查事件缓 冲器46中是否有空间来添加另一事件。如果事件缓冲器46中有空间,则在步骤162状态 机42将该队列中的下一事件移至事件缓冲器46中。在步骤164,状态机确定队列中是否还 剩有额外事件。如果队列中剩有事件,则状态机返回步骤160以检查事件缓冲器46中是否 有任何剩余空间。如果队列中的所有事件都已被转移至事件缓冲器46,则状态机42生成中 断信号50,以通知处理器30在事件缓冲器46中有事件需要处理。在一实施例中,事件缓冲 器46具有要在每个间隔期间传输的16个事件的深度。可选地,事件缓冲器46可具有任何 合适的深度,或者连接监测系统40可包括多个事件缓冲器46。
处理器30处理来自连接监测系统40的中断信号50以及来自I/O装置20或发送 给I/O装置20的信号36。在正常工作期间,例如输入模块将周期性地传送输入信号36给 处理器30,而处理器30将发送输出信号36给输出模块。在处理器30与I/O装置20之间 完成正常通信时,处理器30可发送重置定时器命令给状态机42,从而重置与针对各个I/O 装置20的输入或输出通信相关联的定时器130的累加寄存器。如果来自连接监测系统40的中断信号50被设定了,则处理器从事件缓冲器46读 取事件并采取适当的动作。该事件可表明在预定的时限内尚未发生正常通信或者处理器30 要处理心跳通信。如果在预定时间内输入模块未与处理器30通信,则处理器可宣布故障状 态。取决于发生故障的输入装置对受控的处理有多关键,处理器30可被预先配置成采取不 同等级的动作。处理器30例如可允许受控的处理继续进行而仅仅发出故障消息,或者处理 器30可要求立即关断受控的处理。如果处理器30在预定时间内尚未成功地与输出模块通 信,则处理器30可立即发送消息给输出模块。优选地,还预先根据特定的输出模块来预先 配置由处理器30响应于输出模块超时而采取的动作。在处理器30上执行的程序也可要求立即而不是周期性地更新I/O装置20中的一 些I/O装置20。处理器30可向状态机42发送识别期望向哪个I/O装置立即输出的命令。 状态机42将定时器信息放入事件缓冲器46中并设置中断信号50。处理器30处理中断信 号50并发送消息给所识别的I/O装置20。尽管使用状态机42来处理立即输出命令使该特征结合由状态机42执行的通信监 测,但可能存在以过频的时间间隔来来命令立即输出给一个或更多I/O装置20的程序,使 得状态机42不能正确地管理定时器阵列128。因此,当状态机42收到立即输出请求时,状 态机42比较定时器130的与目标I/O装置20相关联的预设寄存器134的值和累加器寄存 器132的值。状态机42阻止产生立即输出请求,直至从先前的输出请求起经过了最小时间。 优选地,在允许后续输出请求被处理之前要经过在预设寄存器中设置的时间的至少25%。命令缓冲器48允许处理器30与定时器阵列1 连接。参照图4和9,在步骤106 状态机42处理来自命令缓冲器48的命令。在步骤170,状态机42周期性地读取命令缓冲 器48,以确定处理器30是否已传送命令给状态机42。处理器30例如可根据连接到哪个I/ 0装置20来使定时器阵列128中的定时器130工作或者不工作。可选地,处理器30还可检 查定时器130的状态、将偏置值写入定时器130、或者命令立即输出给I/O装置20中的一 个。在步骤172,状态机42读取命令,在步骤174,状态机响应于该命令来采取适当的动作。 如果该命令要求答复,例如处理器30请求定时器130的状态,则在步骤176状态机42将返 回数据写入命令缓冲器48。因为大量定时器130可以具有相同的RPI,因此处理器30可将定时器130配置得 彼此偏移。例如,控制器10可包括许多相同类型的I/O装置20。这些I/O装置20中的每 一个可在同一 RPI被写入或者具有接收到的心跳信号。因此,与这些I/O装置20的通信相 关联并被配置为监测与这些I/O装置20的通信的定时器130中的每一个会初始地具有相 同的预设值并且会在同时到期。为了防止事件缓冲器46的队列的可能的过载,在定时器 130中可初始设置偏移或可变的偏离,以将定时器130的到期错开。在一实施例中,处理器 30可将不同的初始值加载到具有相同的默认预设值的每个定时器130的累加器寄存器132 中,以使得这些定时器的初始到期以不同的时间间隔发生。定时器130的后续到期将从初始到期起以预设间隔发生,从而使定时器130在彼此偏移的时间持续到期。再次参照图3,可想到多个处理器30可存在于处理器模块14上并与连接监测系统 40相接。如另一实施例,单个处理器30可具有利用平行处理技术以与具有多个处理器30 的模块14相似的方式工作的多个核。可想到,多个处理器30或者多核处理器使得本发明 能够有许多配置。例如图3示出与命令缓冲器48接口相接的第一处理器30。该第一处理 器30可被例如用来初始配置定时器阵列128,或者用来处理要从处理器30上执行的程序发 送给状态机42的命令。第二处理器31可与事件缓冲器46相接。第二处理器31可被配置 为监测事件缓冲器46和处理由状态机42生成的中断,该中断表明事件缓冲器46中存在事 件。在另一实施例中,连接监测系统40可包括多个命令缓冲器48和多个事件缓冲器 46,每个缓冲器都基本上如上所述地配置。每个缓冲器可被配置为与定时器阵列128的一 部分相接,或者与多个处理器30或31之一相接,或者与单个处理器中的多核相接。还可想 到,可包括多个状态机42以管理定时器阵列1 的多个部分,并且这多个状态机42可类似 地与多个处理器30或31之一相接、或者与单个处理器中的多核相接。又一实施例可使用 处理器30或31、事件缓冲器46、命令缓冲器48和状态机42可变的数量和互连,以实现对 定时器事件的响应和处理的可变效率。应该理解,本发明不限于此处陈述的部件的布置和构造的细节的应用。本发明能 够有其它实施例,并能够以多种方式实践或实施。前述方案的变化和修改均在本发明的范 围之内。还应该理解,此处公开和限定的本发明扩展至基于说明书和/或附图提到的或显 见的各个特征中的两个或更多特征的所有替选组合。所有这些不同的组合构成本发明的各 种替选方面。此处描述的实施例解释了实践本发明的已知最佳方式,并使得本领域的其他 技术人员能够利用本发明。部件列表10 工业控制器12 电源13 连接模块14 处理器模块15 机架16 输入/输出模块17 背板18 输入/输出信号19 连接模块20 输入/输出装置22 受控处理25 远程机架30 第一处理器31 第二处理器32 主存储器34 连接器
11
36信号
40连接监测系统
42状态机
43专用接口
44第二存储器
46事件缓冲器
48命令缓冲器
50中断信号
102步骤处理定时器阵列
104步骤处理事件缓冲器
106步骤处理命令缓冲器
108步骤从定时器阵列读取
110步骤检查定时器状态
112步骤更新累加器
114步骤检查定时器是否过期
116步骤设置定时器过期
120步骤获取要读取的定时器的数目
122步骤获取定时器阵列的索引
124步骤读取定时器
126步骤使定时器的索引增加
128定时器阵列
130连接定时器
132累加器寄存器
134预设寄存器
136状态寄存器
140步骤读取分辨率指示器
142步骤检查分辨率定时器
144步骤检查累加器是否要被更新
146步骤更新累加器
150步骤检查定时器是否过期
152步骤将定时器放在队列中
154步骤检查命令缓冲器
155步骤检查事件之间的最小时间
156步骤将命令放在队列中
158步骤检查队列是否为空
160步骤检查事件缓冲器是否有空间
162步骤加载事件缓冲器
164步骤检查队列是否为空
166步骤设置中断
170步骤
172步骤
174步骤
176步骤
权利要求
1.一种用于工业控制器的连接监测系统,包括处理器,执行程序以周期性地与连接到所述处理器的多个输入/输出装置进行通信;硬件定时器阵列,包括与所述多个输入/输出装置中的每一个相关联的至少一个连接 定时器;状态机,独立于所述处理器运行,以监测每个连接定时器并响应于所述连接定时器的 状态变化来向所述处理器提供信号。
2.根据权利要求1所述的连接监测系统,还包括在所述硬件定时器阵列与所述状态机 之间的专用接口。
3.根据权利要求1所述的连接监测系统,其中,每个连接定时器包括累加器寄存器,以 及所述状态机控制所述累加器寄存器。
4.根据权利要求1所述的连接监测系统,还包括命令缓冲器,在所述处理器与所述状态机之间传送消息;以及事件缓冲器,响应于所述连接定时器的状态变化在所述状态机和所述处理器之间传送 每个信号。
5.根据权利要求4所述的连接监测系统,还包括由所述状态机生成的给所述处理器的 中断信号,所述状态机将该信号加载到所述事件缓冲器中。
6.一种用于工业控制器的连接监测系统,包括第一处理器;第二处理器,其中,所述第一处理器和第二处理器中的至少一个执行程序以周期性地 与多个输入/输出装置中的至少一个进行通信;硬件定时器阵列,包括与所述多个输入/输出装置中的每一个相关联的至少一个连接 定时器;第一状态机,独立于所述处理器中的每一个运行,以监测每个连接定时器,以响应于所 述连接定时器的状态变化向所述处理器中的至少一个提供信号。
7.根据权利要求6所述的连接监测系统,还包括至少一个额外的状态机,其中,所述状 态机中的每一个监测所述定时器阵列的一部分。
8.根据权利要求6所述的连接监测系统,还包括命令缓冲器,在所述处理器中的至少一个与所述第一状态机之间传送消息;以及第一事件缓冲器,响应于所述连接定时器的状态变化在所述第一状态机和所述至少一 个处理器之间传送信号。
9.根据权利要求8所述的连接监测系统,还包括第二事件缓冲器,其中,所述第一状态机选择性地将每个信号加载至所述事件缓冲器 中的一个。
10.一种在工业控制系统中使用状态机和硬件定时器阵列来监测处理器与多个输入/ 输出装置之间的通信的方法,所述硬件定时器阵列包括与所述多个输入/输出装置中的每 一个相关联的至少一个连接定时器,所述方法包括以下步骤以周期性间隔使用所述状态机扫描所述硬件定时器阵列,其中,每个连接定时器的持 续时间是所述处理器与所述输入/输出装置中的一个之间的输入和输出中的一个的时长 的倍数;以及响应于所述连接定时器中的一个的状态变化从所述状态机向所述处理器提供信号。
全文摘要
公开了基于硬件的具有内置定时器的连接状态机。本发明提供一种用于工业控制器的硬件实施的连接监测系统40。连接监测系统40包括独立于处理器30运行的状态机42来监测连接到控制器的输入/输出装置的状态。在可由状态机42存取的部分存储器44中建立定时器阵列。时间缓冲器46和命令缓冲器48被用来在处理器30和状态机42之间进行通信。
文档编号G06F13/22GK102122273SQ201110006580
公开日2011年7月13日 申请日期2011年1月10日 优先权日2010年1月8日
发明者罗纳德·E·舒尔茨, 肯伍德·H·霍尔, 赖恩·M·库比亚克 申请人:洛克威尔自动控制技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1