工业控制设备及其操作方法技术

技术编号:17614792 阅读:28 留言:0更新日期:2018-04-04 06:14
公开了一种工业控制设备及其操作方法。本发明专利技术人已经认识到,通过实时地监测程序的执行可以在工业控制系统中进一步实现高度可靠的操作。这样的监测可以包括:检测可能由执行错误的序列、在错误的时间执行序列和/或有故障的时钟引起的缺陷程序序列。在一个方面,可以将控制程序划分成可执行模块。然后,可以执行第一码流以使用存储在第一组中的可执行模块来控制工业过程或机器。此外,可以执行第二码流以使用存储在第二组中的可执行模块来验证第一码流。可以基于第一码流和第二码流的执行来生成第一执行序列值和第二执行序列值。将第一执行序列值和第二执行序列值进行比较可以检测程序中可能已经发生的错误。

Industrial control equipment and its operating methods

An industrial control device and its operation method are disclosed. The inventor has realized that the implementation of the real-time monitoring program can further achieve highly reliable operations in the industrial control system. Such monitoring can include detecting a sequence of defective programs that may be caused by executing erroneous sequences, executing sequences and / or faulty clock at the wrong time. In one aspect, the control program can be divided into executable modules. Then, the first stream may be executed to use an executable module stored in the first group to control the industrial process or machine. In addition, second bitstreams can be executed to verify the first stream using an executable module stored in the second group. The first execution sequence value and the second execution sequence value can be generated based on the execution of the first stream and the second stream. A comparison of the first execution sequence values and the second execution sequence values can be used to detect errors that may have occurred in the program.

【技术实现步骤摘要】
工业控制设备及其操作方法相关申请的交叉引用本申请要求于2016年09月22日提交的题为“IndustrialControlProgramSequenceMonitoring”的第62/398,056号美国临时专利申请以及于2016年10月13日提交的第15/292,348号美国专利申请的优先权,其内容通过引用并入本文。
本专利技术总体上涉及工业控制程序,更具体地涉及用于验证工业控制系统中的工业控制程序的可靠操作的系统。
技术介绍
工业控制器是用于例如在工厂环境下控制工业过程或机器的专用计算机系统。通常,工业控制器执行存储的控制程序,该控制程序从与受控过程或机器相关联并且感测过程或机器的状况的各种传感器读取输入,并且基于这些输入和存储的控制程序来计算用于控制对过程或机器进行控制的致动器的一组输出。工业控制器在许多方面不同于常规的计算机。在物理上,工业控制器被构造成明显地比常规计算机更加鲁棒地抵抗冲击和损坏以及更好地抵抗外部污染物和极端环境条件。处理器和操作系统针对实时控制进行了优化,并且使用为了能够快速开发为不断变化的一组机器控制应用或过程控制应用定制的控制程序而设计的语言来编程。通常,工业控制器具有高度模块化的架构,例如,其允许使用不同数量和类型的输入和输出模块来将控制器连接至要控制的过程或机器。通过使用适合于高度可靠且可用的实时通信的特殊“控制网络”有利于模块化。这种控制网络(例如,以太网/IP、设备网和控制网)与标准通信网络(例如以太网)的不同之处在于这种控制网络通过预调度网络的通信容量和/或为了高可用性而提供冗余的通信能力来保证最大通信延时。作为工业控制器的增强模块化的一部分,工业控制器可以采用专用于特定类型的电信号和功能、例如检测输入的AC信号或DC信号或者控制输出的AC信号或DC信号的I/O模块或设备。这些I/O模块或设备中的每一个可以具有连接器系统,连接器系统使这些I/O模块或设备能够以不同的组合与其他所选I/O模块或设备一起安装在壳体或机架中,以匹配特定应用的需求。多个或单独的I/O模块或设备可以位于受控过程或机器附近的方便的控制点,以经由控制网络与中央工业控制器进行通信。确保工业控制系统的高度可靠操作很重要。这样的高度可靠操作对确保系统持续地按预期来操作而言可能很重要,例如为了使功能安全性最大化、使昂贵的停机时间最小化等。因此,存在对确保工业控制器和工业控制系统以能达到的最高可靠性持续地操作的持续需求。
技术实现思路
本专利技术人已经认识到,通过实时地监测程序的执行可以在工业控制系统中进一步实现高度可靠的操作。在一个方面,可以将控制程序划分成可执行模块。然后,可以执行第一码流以使用存储在第一组中的可执行模块来控制工业过程或机器。此外,可以执行第二码流以使用存储在第二组中的可执行模块来验证第一码流。可以基于第一码流和第二码流的执行来生成第一执行序列值和第二执行序列值。将第一执行序列值和第二执行序列值进行比较可以检测程序中可能已经发生的错误。因此,可以通过检测缺陷程序序列的发生来提供控制器的功能安全。如果程序的个别元件(例如软件模块、子程序或命令)以错误的序列执行或在错误的时间段执行或者如果处理器的时钟有故障,则可能存在缺陷程序序列。在一个方面,可以将用户子例程转换成由基础块之间的连接构成的控制流向图。系统可以基于该控制流向图,以正式建立的序列来处理这些块以形成可执行模块。当存在控制路径分叉(divergence)、例如跳转(“JMP”)指令或自终止回路时,序列可以在运行时基于程序状态而改变。第一码流和第二码流均可以分别执行具有第一组和第二组中的相同的可执行模块的相同程序。此外,第一码流和第二码流可以串行或并行地执行。每个可执行模块可以记录其执行,并且可以在每个扫描结束时,分析记录以确保以大体相同的方式实施每个执行。检查用于重复录入的记录可以有助于确保已建立时间序列监测和逻辑序列监测。因此,可以提供用于对工业控制系统中的程序的正确执行进行验证的系统。这对于检测关于高可靠性系统中的程序的故障而言可能是需要的。例如,用户子例程可以是例如以继电器梯形逻辑编写的用于工业控制程序的源代码,可以将用户子例程转换成由基础块之间的连接构成的控制流向图。基础块可以是被确定成一起执行而没有分叉的代码段(例如跳转之间和/或跳转目标之间的代码段)。根据基础块,可以在进行或不进行进一步处理的情况下提供第一组分立的(discrete)相应代码段和第二组分立的相应代码段。第一组代码段和第二组代码段可以是相同的,或者可以包括本领域已知的可能需要的某些变化。然后可以将第一组代码段和第二组代码段转换成相应的第一组分立的可重定位目标文件和第二组分立的可重定位目标文件,继而可以将第一组分立的可重定位目标文件和第二组分立的可重定位目标文件传输至工业控制器并且进行链接,以形成相应的第一组分立可执行体(executable)和第二组分立可执行体。然后可以在第一码流和第二码流中独立地执行第一组可执行体和第二组可执行体。在一个方面,第一码流的执行可以操作用于控制工业过程,而第二码流的执行可以操作用于验证第一码流的完整性。执行第一码流中的第一组可执行体和第二码流中的第二组可执行体可以分别生成第一执行序列值和第二执行序列值,这样的执行序列值指示:(1)在相应的码流中已经执行的分立可执行体,以及(2)已经执行的分立可执行体的执行顺序。在执行每个可执行体之后,可以例如使用分配给代码段且继而分配给相应的目标文件和可执行体的预定标识符,并且通过连续地更新错误检测或完整性码(例如,循环冗余校验(CRC)计算),来计算执行序列值。当第一码流和第二码流的执行完成时,可以将第一执行序列值和第二执行序列值进行比较,从而可以检测出可指示不期望的故障的任何不匹配,并且可以采取适当的行动,例如发送消息警报和/或停止工业控制过程的一个或更多个方面。然后,具体地,本专利技术的一个方面可以提供一种工业控制器,该工业控制器包括:处理器,该处理器执行存储在非暂态介质中的程序并且可以操作用于:(a)存储第一组可执行模块和第二组可执行模块;(b)分别执行包括第一组可执行模块中的可执行模块的第一码流和包括第二组可执行模块中的可执行模块的第二码流,其中,第一码流可以操作用于控制工业过程或机器;(c)分别确定与第一码流相对应的第一执行序列值以及与第二码流相对应的第二执行序列值,其中,第一执行序列值和第二执行序列值中的每一个指示:(i)在码流中执行的可执行模块的标识;以及(ii)在码流中执行的可执行模块的执行顺序;以及(d)当确定第一执行序列值与第二执行序列值之间不匹配时,生成指示不匹配的输出。本专利技术的另一方面可以提供一种用于操作工业控制器的方法,该工业控制器具有执行存储在非暂态介质中的程序的处理器,该方法包括:(a)存储第一组可执行模块和第二组可执行模块;(b)分别执行包括第一组可执行模块中的可执行模块的第一码流和包括第二组可执行模块中的可执行模块的第二码流,其中,第一码流控制工业过程或机器;(c)分别确定与第一码流相对应的第一执行序列值以及与第二码流相对应的第二执行序列值,其中,第一执行序列值和第二执行序列值中的每一个指示:(i)在码流中执行的可执行模块的标识;以及(ii)在码流中执行本文档来自技高网
...
工业控制设备及其操作方法

【技术保护点】
一种工业控制设备,包括:处理器,所述处理器执行存储在非暂态介质中的程序,所述处理器能够操作用于:(a)存储第一组可执行模块和第二组可执行模块;(b)分别执行包括所述第一组可执行模块中的可执行模块的第一码流和包括所述第二组可执行模块中的可执行模块的第二码流,其中,所述第一码流能够操作用于控制工业过程或机器;(c)分别确定与所述第一码流相对应的第一执行序列值以及与所述第二码流相对应的第二执行序列值,其中,所述第一执行序列值和所述第二执行序列值中的每一个指示:(i)在码流中执行的可执行模块的标识;以及(ii)在码流中执行的可执行模块的执行顺序;以及(d)当确定所述第一执行序列值与所述第二执行序列值之间不匹配时,生成指示不匹配的输出。

【技术特征摘要】
2016.09.22 US 62/398,056;2016.10.13 US 15/292,3481.一种工业控制设备,包括:处理器,所述处理器执行存储在非暂态介质中的程序,所述处理器能够操作用于:(a)存储第一组可执行模块和第二组可执行模块;(b)分别执行包括所述第一组可执行模块中的可执行模块的第一码流和包括所述第二组可执行模块中的可执行模块的第二码流,其中,所述第一码流能够操作用于控制工业过程或机器;(c)分别确定与所述第一码流相对应的第一执行序列值以及与所述第二码流相对应的第二执行序列值,其中,所述第一执行序列值和所述第二执行序列值中的每一个指示:(i)在码流中执行的可执行模块的标识;以及(ii)在码流中执行的可执行模块的执行顺序;以及(d)当确定所述第一执行序列值与所述第二执行序列值之间不匹配时,生成指示不匹配的输出。2.根据权利要求1所述的控制设备,其中,根据分支来划分所述可执行模块。3.根据权利要求1所述的控制设备,其中,所述可执行模块提供标识符。4.根据权利要求3所述的控制设备,其中,通过使用所述标识符分别计算第一错误检测码和第二错误检测码来确定所述第一执行序列值和所述第二执行序列值。5.根据权利要求4所述的控制设备,其中,在执行每个可执行模块时,持续地更新所述第一错误检测码和所述第二错误检测码。6.根据权利要求1所述的控制设备,其中,当所述第一码流和所述第二码流完成时,将所述第一执行序列值和所述第二执行序列值进行比较,以确定不匹配。7.根据权利要求1所述的控制设备,还包括:所述第一组可执行模块和所述第二组可执行模块相同。8.根据权利要求7所述的控制设备,其中,所述第一组可执行模块和所述第二组可执行模块分别被单独地存储在第一集成电路中和第二集成电路中。9.根据权利要求1所述的控制设备,其中,所述输出能够操作用于修改工业过程或机器的操作。10.根据权利要求1...

【专利技术属性】
技术研发人员:迈克尔·J·维斯特约瑟夫·P·伊佐
申请(专利权)人:罗克韦尔自动化技术公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1