CN110506241A - 用于在工业过程控制和自动化系统中使用最小公倍数来同步消息的系统和方法 - Google Patents
用于在工业过程控制和自动化系统中使用最小公倍数来同步消息的系统和方法 Download PDFInfo
- Publication number
- CN110506241A CN110506241A CN201880023681.XA CN201880023681A CN110506241A CN 110506241 A CN110506241 A CN 110506241A CN 201880023681 A CN201880023681 A CN 201880023681A CN 110506241 A CN110506241 A CN 110506241A
- Authority
- CN
- China
- Prior art keywords
- module
- value
- alignment
- sweep speed
- read requests
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Classifications
-
- 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/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- 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/054—Input/output
-
- 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
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25474—Synchronize microprocessor with process or I-O
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
Abstract
本发明提供了一种方法,该方法包括确定(505)与多个输入/输出(I/O)模块(104,216)中的每一个相关联的扫描速率。该方法还包括将读取请求消息传输(511)到控制多个I/O模块的至少一个扩展控制器(214),读取请求消息具有对齐指数字段。该方法还包括从至少一个扩展控制器接收(517)针对I/O模块中的每一个的回复消息,对于该模块,读取请求消息的对齐指数字段的值为相关联的扫描速率的偶数倍。该方法还包括使对齐指数字段的值递增(519)。此外,该方法还包括重复传输、接收和递增,直到对齐指数字段的值大于阈值,其中阈值为多个I/O模块的扫描速率的最小公倍数。
Description
技术领域
本公开整体涉及工业过程控制和自动化系统。更具体地讲,本公开涉及用于在工业过程控制和自动化系统中使用最小公倍数来同步消息的系统和方法。
背景技术
工业过程控制和自动化系统常常用于使大型且复杂的工业过程自动化。这些类型的系统通常包括各种部件,包括传感器、致动器和控制器。控制器中的一些可以从传感器接收测量结果并且生成用于致动器的控制信号。在一些系统中,可在不同时间将控制器、传感器和致动器从系统中添加和移除。当在不同时间添加部件并且其系统时钟不同步时,部件之间的通信(诸如,从多个传感器到控制器的测量结果消息)可能变得不同步。
发明内容
本公开提供了用于在工业过程控制和自动化系统中使用最小公倍数来同步消息的系统和方法。
在第一实施方案中,方法包括确定与多个输入/输出(I/O)模块中的每一个相关联的扫描速率。该方法还包括将读取请求消息传输到控制多个I/O模块的至少一个扩展控制器,读取请求消息具有对齐指数字段。该方法还包括从至少一个扩展控制器接收针对I/O模块中的每一个的回复消息,针对I/O模块,读取请求消息的对齐指数字段的值为相关联的扫描速率的偶数倍。该方法还包括使对齐指数字段的值递增。此外,该方法还包括重复传输、接收和递增,直到对齐指数字段的值大于阈值,其中阈值为多个I/O模块的扫描速率的最小公倍数。
在第二实施方案中,装置包括至少一个网络接口和至少一个处理设备。至少一个网络接口被配置为通信地连接到控制多个I/O模块的至少一个扩展控制器。至少一个处理设备被配置为确定与I/O模块中的每一个相关联的扫描速率。至少一个处理设备被进一步配置为将读取请求消息传输到少一个扩展控制器,读取请求消息具有对齐指数字段。至少一个处理设备被进一步配置为从至少一个扩展控制器接收针对I/O模块中的每一个的回复消息,针对模块,读取请求消息的对齐指数字段的值为相关联的扫描速率的偶数倍。至少一个处理设备还被配置为使对齐指数字段的值递增。此外,至少一个处理设备被配置为重复传输、接收和递增,直到对齐指数字段的值大于阈值,其中阈值为多个I/O模块的扫描速率的最小公倍数。
在第三实施方案中,非暂态计算机可读介质包含指令,该指令当由至少一个处理设备执行时使得至少一个处理设备确定与多个I/O模块中的每一个相关联的扫描速率。介质还包含指令,该指令当由至少一个处理设备执行时,使得至少一个处理设备将读取请求消息传输至控制多个I/O模块的至少一个扩展控制器,读取请求消息具有对齐指数字段。介质还包含指令,该指令当由至少一个处理设备执行时,使得至少一个处理设备从至少一个扩展控制器接收针对I/O模块中的每一个的回复消息,对于模块,读取请求消息的对齐指数字段的值为相关联的扫描速率的偶数倍。介质还包含指令,指令当由至少一个处理设备执行时,使得至少一个处理设备使对齐指数字段的值递增。此外,介质还包含指令,该指令当由所述至少一个处理设备执行时,使得至少一个处理设备重复传输、接收和递增,直到对齐指数字段的值大于阈值,其中阈值是多个I/O模块的扫描速率的最小公倍数。
从以下附图、描述和权利要求书中,本领域的技术人员可容易地清楚其他技术特征。
附图说明
为了更完整地理解本公开,现在参考以下结合附图来进行的描述,在附图中:
图1示出了根据本公开的示例性工业过程控制和自动化系统的一部分;
图2示出了根据本公开的示例性工业过程和自动化系统的一部分的附加细节;
图3示出了根据本公开的在过程控制和自动化系统中使用最小公倍数来同步消息的技术的示例;
图4示出了根据本公开的用于在过程控制和自动化系统中使用最小公倍数来同步消息的示例性设备;并且
图5示出了根据本公开的用于在过程控制和自动化系统中使用最小公倍数来同步消息的示例性方法。
具体实施方式
图1至图5(下文所讨论)以及用于描述本发明在该专利文献中的原理的各种实施方案仅以例证的方式进行,并且不应理解为以任何方式限制本发明的范围。本领域的技术人员将理解,本发明的原理可在任何类型的适当布置的设备或系统中实现。
图1示出了根据本公开的示例性工业过程控制和自动化系统100的一部分。如图1所示,系统100包括有利于生产或加工至少一种产品或其他材料的各种部件。例如,系统100可用于促进对一个或多个工业工厂中的部件的控制或监视。每个工厂表示一个或多个加工设施(或其一个或多个部分),诸如用于生产至少一种产品或其它材料的一个或多个制造设施。一般来说,每个工厂可实现一个或多个工业过程并且可单独地或共同地称为过程系统。过程系统通常表示被配置为以某种方式以不同形式加工一种或多种产品或其它材料或能量的任何系统或部分系统。
在图1所示的示例中,系统100包括一个或多个传感器102a和一个或多个致动器102b。传感器102a和致动器102b表示过程系统中可执行各种各样的功能中的任一种功能的部件。例如,传感器102a可以测量过程系统中的各种各样的特性,诸如温度、压力或流量。另外,致动器102b可以改变过程系统中的各种各样的特性。传感器102a中的每个传感器包括用于测量过程系统中的一个或多个特性的任何合适的结构。致动器102b中的每个致动器包括用于在过程系统中对一个或多个条件进行操作或影响的任何合适的结构。
至少一个输入/输出(I/O)模块104耦接到传感器102a和致动器102b。I/O模块104有利于与传感器102a、致动器102b或其他现场设备的相互作用。例如,I/O模块104可用于接收一个或多个模拟输入(AI)、数字输入(DI)、数字输入事件序列(DISOE)或脉冲累加器输入(PI)或者提供一个或多个模拟输出(AO)或数字输出(DO)。每个I/O模块104包括用于从一个或多个现场设备接收一个或多个输入信号或向一个或多个现场设备提供一个或多个输出信号的任何合适的结构。
系统100还包括各种控制器106。控制器106可在系统100中使用以执行各种功能以便控制一个或多个工业过程。例如,第一组控制器106可使用来自一个或多个传感器102a的测量结果来控制对一个或多个致动器102b的操作。这些控制器106可以经由I/O模块104与传感器102a、致动器102b和其他现场设备进行相互作用。第二组控制器106可用于优化由第一组控制器执行的控制逻辑或其它操作。第三组控制器106可用于执行附加的功能。
控制器106通常分层布置在系统中。例如,不同的控制器106可用于控制各个致动器、形成机器的致动器的集合、形成单元的机器的集合、形成工厂的单元的集合,以及形成企业的工厂的集合。控制器106的分层布置的特定示例被定义为过程控制的“普渡”模型。不同分层水平中的控制器106可以经由一个或多个网络108和相关联的开关、防火墙和其它部件进行通信。
每个控制器106包括用于控制工业过程的一个或多个方面的任何合适的结构。例如,控制器106中的至少一些控制器可表示比例积分微分(PID)控制器或多变量控制器,诸如鲁棒多变量预测控制技术(RMPCT)控制器或实现模型预测控制(MPC)或其它高级预测控制的其它类型的控制器。作为特定示例,每个控制器106可表示运行实时操作系统、WINDOWS操作系统或其它操作系统的计算设备。
操作员对系统100的控制器106和其它部件的访问和相互作用可经由各种操作员站110进行。每个操作员站110可用于向操作员提供信息以及从操作员接收信息。例如,每个操作员站110可向操作员提供识别工业过程的当前状态的信息,诸如各种过程变量的值以及警告、报警或与工业过程相关联的其它状态。每个操作员站110可也接收影响如何控制工业过程的信息,诸如通过接收由控制器106控制的过程变量的设定值或接收改变或影响控制器106如何控制工业过程的其它信息。每个操作员站110包括用于向操作员显示信息以及与操作员进行相互作用的任何合适的结构。多个操作站110通常被收集到一个或多个控制室中。
这表示可用于制造或加工一种或多种材料的一种类型的工业过程控制和自动化系统的简要描述。关于工业过程控制和自动化系统的附加的细节在本领域中是众所周知的,并且对于理解本公开来说是不需要的。另外,工业过程控制和自动化系统是高度可配置的,并且可根据特定需要以任何合适的方式来配置。
在特定实施方案中,图1中的各种控制器和操作员站可以表示计算设备。例如,控制器和操作员站中的每一者可以包括一个或多个处理设备和一个或多个存储器,该一个或多个存储器用于存储由处理设备使用、生成或收集的指令和数据。控制器和操作员站中的每一者可还包括至少一个网络接口,诸如一个或多个以太网接口或无线收发器。
在过程控制和自动化系统(诸如系统100)中,I/O模块使用内部时钟或计数器来保持读取/报告调度。因此,每个I/O模块可根据其自身的内部时钟独立地操作。如果当其他I/O模块已在使用中时向系统添加新I/O模块,那么新I/O模块的内部时钟可能不会与其他I/O模块的内部时钟同步。当不同的I/O模块以未同步的方式向控制器报告数据时,可能导致中央控制器上发生数据同步问题。
一些现有系统试图通过尝试同步每个I/O模块的内部时钟或同步部件之间的通信来解决数据同步问题。然而,对于一些系统而言,具有足够精度的同步可能难以实现。因为I/O模块可能无法精确地使其时钟与中央控制器同步,所以该解决方案可能不足以保持数据同步。
为了解决这些和其他问题,系统100中的各种部件被设计或修改为支持使用最小公倍数来同步消息的技术。例如,I/O模块104、控制器106或操作员站110中的一者或多者可被配置为执行使用最小公倍数来同步消息的一种或多种算法或与其一起操作。下文提供了关于该功能的附加细节。
虽然图1示出了工业过程控制和自动化系统100的一个示例,但是可以对图1作出各种改变。例如,系统100可包括任何数量的传感器、致动器、I/O模块、控制器、操作员站、网络和其它部件。另外,图1中的系统100的组成和布置方式仅用于例证。部件可根据特定需要添加、省略、组合、或以任何其他合适的配置放置。此外,特定功能已被描述为由系统100的特定部件执行。这仅用于例证。一般来说,控制系统和自动化系统是高度可配置的,并且可根据特定需要以任何合适的方式来配置。此外,图1示出了一个示例性操作环境,其中部件之间的消息可使用最小公倍数进行同步。此功能可在任何其他合适的系统中使用。
图2示出了根据本公开的示例性工业过程和自动化系统200的一部分的附加细节。图2中所示的许多部件可表示或由图1的系统100的对应部件表示。然而,系统200可以作为任何其它合适的系统的一部分来使用。
如图2所示,系统200包括可编程逻辑控制器(PLC)系统的各种部分。这些部件包括一个或多个操作员站202、控制处理器模块(CPM)机架204、多个扩展I/O机架206以及多个开关或路由器210。在一些实施方案中,系统200表示HONEYWELL INTERNATIONAL INC.的ControlEdge系统的一部分。
每个操作员站202可用于向操作员提供信息并且从操作员接收信息。例如,操作员站202可以类似于图1的操作员站110中的一个或多个的方式工作。作为具体示例,每个操作员站202可向操作者提供识别工业过程的当前状态的信息,并且接收影响工业过程如何被控制的信息。每个操作员站202包括用于向操作员显示信息以及与操作员进行相互作用的任何合适的结构。
机架204至206表示具有用于安装电子部件的搁架和狭槽或其他结构的电子部件机架或机箱。在该示例中,CPM机架204包括一个或多个CPM 212。每个扩展I/O机架206包括扩展处理器模块(EPM)214。根据该配置,每个机架204至206包括零个、一个或多个I/O模块216。在该示例中,CPM机架204不包括任何I/O模块216,并且扩展I/O机架206包括多个I/O模块216。通用机架安装可包括四个、八个或十二个I/O模块216,但其他数量的I/O模块216是可能的。每个机架204至206可还包括用于向机架204至206或安装在机架204至206中的部件提供电力的一个或多个电源(未示出)。
CPM 212和EPM 214为PLC控制器,并且可表示或由图1的控制器106表示。CPM 212和EPM 214执行各种功能以控制一个或多个工业过程。例如,CPM 212或EPM 214可使用来自一个或多个传感器(诸如传感器102a)的测量结果来控制一个或多个致动器(诸如致动器102b)的操作。这些CPM 212和EPM 214可经由I/O模块216与传感器、致动器和其他现场设备进行交互。
CPM 212被认为是“本地”控制器,并且表示针对过程控制和自动化系统的操作而安装的初始控制器。在“本地”CPM机架204中,CPM 212中的一个可被视为主控制器,而另一个CPM 212可被视为辅助控制器、备份控制器或冗余控制器。如果过程控制和自动化系统很大并且需要扩展超过本地CPM 212的容量,则可在扩展I/O机架206中安装并且配置一个或多个EPM 214以在过程控制和自动化系统中提供扩展的容量,诸如在系统200中所示。CPM212和EPM 214被配置为形成网络,诸如以太网网络。在此类网络中,CPM 212中的至少一个充当“中央”控制器,该控制器向由EPM 214表示的“扩展控制器”提供指令消息。可通过在EPM 214处插入或拔出电缆来将各个EPM 214包括在系统200中或从系统200移除。CPM 212和EPM 214之间的流量可由开关或路由器210控制。
一般来讲,诸如系统200的ControlEdge系统包括一个中央控制器(例如,主CPM212或辅助CPM 212)、若干扩展控制器(例如,EPM 214)和许多I/O模块(例如,I/O模块216)。大型ControlEdge系统可包括比图2中所示更多的扩展控制器和I/O模块。
如上所述,CPM 212通过EPM 214与I/O模块216通信。CPM 212和每个I/O模块216之间的通信通常被调度并且根据参数TaskCycle以时间间隔重复。TaskCycle参数是一个数字值,并且通常以秒或毫秒为单位,但其他单位也是可能的。CPM 212可在每个TaskCycle时间段从每个I/O模块216读取数据或向其写入数据。用户(例如,系统管理员)可为每个任务设置TaskCycle参数(例如,设置TaskCycle=10ms)。TaskCycle参数可存储在CPM 212、EPM214、I/O模块216、操作员站202或这些的任何组合的存储器中。
每个I/O模块216还根据另一个参数扫描时间操作。扫描时间参数确定I/O模块216对来自CPM 212的读取请求的回复频率。即,I/O模块216可在每个扫描时间时间段回复读取请求。扫描时间参数是一个数字值,并且通常以秒或毫秒为单位,但其他单位是可能的。扫描时间参数可由用户(例如,系统管理员)设置并且存储在CPM 212、EPM 214、I/O模块216、操作员站202或这些的任何组合的存储器中。因为每个I/O模块216连接至唯一的现场设备(例如,传感器102a、致动器102b等)并且每个现场设备可与不同的优选通信调度相关联,所以每个I/O模块216因此与其自身的扫描时间参数和值相关联。如果I/O模块216较慢(例如,具有较慢通信速度的较旧硬件),则可根据I/O模块216的容量将该I/O模块216的扫描时间参数设置为更大的值。更快的I/O模块216可具有较小的扫描时间值。
在系统200中,I/O模块216(以及其连接的现场设备)可在任何时间“加入”(即,被添加到)或“退出”(即,被移除)系统200。例如,可在系统200处于活动操作状态时将I/O模块216添加至系统200。新添加的I/O模块216需要被配置为与CPM 212通信。例如,新I/O模块216需要被配置为从CPM 212接收读取请求消息,并且作为对读取请求消息的回答,向CPM212提供传感器测量结果消息。
每个I/O模块216使用内部时钟或计数器来根据扫描时间参数保持读取调度。因此,每个I/O模块216可根据其自身的内部时钟独立地操作。如果当其他I/O模块216已在使用中时向系统200添加新I/O模块216,那么新I/O模块216的内部时钟可能不会与其他I/O模块216的内部时钟同步。因此,即使新I/O模块216具有与另一个I/O模块216相同的扫描时间参数,但如果I/O模块216的内部时钟不同步,则模块可能不对CPM 212执行同步读取和报告。当不同的I/O模块216以未同步的方式向CPM 212报告数据时,CPM 212处的数据同步问题可能会发生。
根据本公开,系统200被配置为支持用于使用最小公倍数(LCM)来同步消息的技术。使用所公开的技术,具有相同TaskCycle的所有I/O模块216可与CPM 212保持绝对同步的数据报告。相似地,具有不同TaskCycle值但其中一个TaskCycle值是另一个TaskCycle值的整数倍数的I/O模块216可也维护同步数据报告。这导致整个系统200的准确性和灵敏度提高。
消息同步技术在读取请求消息中使用新字段。CPM 212将读取请求消息传输到EPM214。在一些实施方案中,CPM 212以广播方式向所有EPM 214传输读取请求消息。每个EPM214接收读取请求消息,检查与EPM 214相关联的新字段和I/O模块216,并且如果满足条件,则用测量结果消息(或另一合适的消息)回复CPM 212。
从CPM 212发送至EPM 214的读取请求消息的格式可采用表1中所示的格式:
读取序列 | 对齐指数 | 预留 | 预留 | 填充 |
2字节 | 2字节 | 8字节 | 4字节 | 28字节 |
表1:读取请求消息格式
读取请求消息的当前具体实施中已存在“读取序列”字段、“预留”字段和“填充”字段。“对齐指数”字段是读取请求消息的新字段,并且用于使CPM 212与EPM 214之间的消息同步。每次CPM 212传输读取请求消息时,CPM 212使“对齐指数”字段的值递增。“对齐指数”字段从1循环至基于所有I/O模块216的TaskCycle和扫描时间参数的LCM。仅当读取请求消息中的“对齐指数”字段的值是与I/O模块216相关联的扫描速率的偶倍数时,EPM 214才回复读取请求消息。
在操作的一个方面,CPM 212确定与CPM 212通信并且向CPM 212提供读取消息的每个I/O模块216的TaskCycle和扫描时间参数。如果需要,CPM 212然后将扫描时间参数值四舍五入为TaskCycle值的倍数。例如,如果TaskCycle参数为10ms,并且第一I/O模块216的扫描时间参数为113ms并且第二I/O模块216的扫描时间参数为225ms,则CPM 212将扫描时间参数的值分别更新为110ms和220ms。
然后CPM 212使扫描时间参数的值除以TaskCycle参数的值,以确定每个I/O模块216的扫描速率。使用上述示例,CPM 212使110ms和220ms的值除以10ms,以分别获得第一和第二I/O模块216的扫描速率11和22。然后CPM 212计算所有I/O模块216的扫描速率的LCM。在该示例中,11和22的LCM为22。然后,LCM用作读取请求消息中的“对齐指数”从1循环至LCM的上限阈值。
每个读取请求消息从CPM 212传输到EPM 214,以请求每个EPM 214通过每个I/O模块216从相关联的现场设备(例如,传感器102a)获取值。将根据由TaskCycle参数确定的调度来广播读取请求消息。
当每个EPM 214接收到读取请求消息时,EPM 214检查与EPM 214相关联的每个I/O模块216的扫描速率。如果当前读取请求消息的“对齐指数”值是I/O模块216的扫描速率的倍数,则EPM 214读取I/O模块216的值并且通过向CPM 212发送回复消息来报告该值。否则,EPM 214不对该I/O模块216采取任何动作。
图3示出了根据本公开的技术的具体示例。在图3中,将TaskCycle参数设置为10ms,并且将两个I/O模块216(在这里标识为I/O模块216a至216b)的扫描时间参数分别设置为20ms和30ms。CPM 212诸如通过读取来自一个或多个存储器的值来确定这些值。然后CPM 212通过使20ms除以10ms来确定I/O模块216a的扫描速率=2,并且通过使30ms除以10ms来确定I/O模块216b的扫描速率=3。然后CPM 212确定2和3的LCM为6。然后CPM 212传输具有“对齐指数”字段的读取请求消息。在发送每个读取请求消息之后,“对齐指数”字段的值会递增,直到LCM。一旦“对齐指数”字段的值大于LCM,该值将重置为1,并且循环将重新启动。因此,连续读取请求消息中的“对齐指数”字段的值为1、2、3、4、5、6、1、2、…,如图3所示。
当EPM 214接收到具有“对齐指数”=1的读取请求消息时,EPM 214不执行任何I/O读取,因为1不是扫描速率=2(即,I/O模块216a的扫描速率)或扫描速率=3(即,I/O模块216b的扫描速率)的倍数。
当EPM 214接收到具有“对齐指数”=2的读取请求消息时,EPM 214读取具有扫描速率=2的I/O模块216a的值,因为对齐指数=2是扫描速率=2的倍数。然而,EPM 214不读取I/O模块216b的值,因为对齐指数=2不是扫描速率=3的倍数。
当EPM 214接收到具有“对齐指数”=3的读取请求消息时,EPM 214读取具有扫描速率=3的I/O模块216b的值,因为对齐指数=3是扫描速率=3的倍数。然而,EPM 214不读取I/O模块216a的值,因为对齐指数=3不是扫描速率=2的倍数。
当EPM 214接收到具有“对齐指数”=4的读取请求消息时,EPM 214读取I/O模块216a的值,因为对齐指数=4是扫描速率=2的倍数。然而,EPM 214不读取I/O模块216b的值,因为对齐指数=4不是扫描速率=3的倍数。
当EPM 214接收到具有“对齐指数”=5的读取请求消息时,EPM 214不执行任何I/O读取,因为对齐指数=5不是扫描速率=2或扫描速率=3的倍数。
当EPM 214接收到具有“对齐指数”=6的读取请求消息时,EPM 214读取I/O模块216a和I/O模块216b的值,因为对齐指数=6是扫描速率=2和扫描速率=3的倍数。
当“对齐指数”递增为大于LCM(为6)时,“对齐指数”被重置为1,并且该过程无限期地重复。如果系统200的配置发生变化(例如,从系统200添加或移除一个或多个I/O模块216a至216b,或一个或多个I/O模块216a至216b的扫描时间参数改变),则CPM 212可再次计算LCM。
使用该技术,具有不同扫描速率的多个I/O模块216可将它们的读取报告与CPM212对齐或同步。另外,不需要同步CPM 212、EPM 214和I/O模块216之间的内部时钟。相反,基于查看“对齐指数”字段和根据“对齐指数”字段的值来采取动作(或不采取动作)来实现同步。
虽然图3示出了具有两个I/O模块216a至216b的一个EPM 214,但这仅是一个示例。该过程可包括发送到多个EPM 214的读取请求消息,每个EPM 214可具有任何合适数量的I/O模块216,并且每个I/O模块216可具有相同或不同的扫描速率。
尽管图2示出了其中可使用同步通信的系统200的一个示例,但可以对图2进行各种改变。例如,可组合、进一步细分或省略图2中的各个部件,并且可根据具体需要添加附加部件。另外,过程控制和自动化系统可以具有多种配置,并且图2不会将本公开限制于任何特定的配置。
图4示出了根据本公开的用于在过程控制和自动化系统中使用最小公倍数来同步消息的示例性设备400。设备400可例如表示控制器106、CPM 212、EPM 214或操作员站202中的任一个。然而,设备400可表示用于在过程控制和自动化系统中使用最小公倍数来同步消息的任何其他合适的设备或部件。
如图4中所示,设备400包括至少一个处理器402、至少一个存储设备404、至少一个通信单元406和至少一个输入/输出(I/O)单元408。每个处理器402可执行指令,诸如可被加载到存储器410的那些指令。每个处理器402表示任何合适的处理设备,诸如一个或多个微处理器、微控制器、DSP、FPGA、ASIC或分立电路。
存储器410和持久性存储装置412是存储设备404的示例,该存储设备表示能够存储信息(诸如临时性的或永久性的数据、程序代码和/或其他合适的信息)和有利于信息检索的任何一个或多个结构。存储器410可表示随机存取存储器或任何其他合适的一个或多个易失性存储设备或一个或多个非易失性存储设备。持久性存储装置412可包含支持数据长期存储的一个或多个部件或设备,诸如只读存储器、硬盘驱动器、闪存存储器或光盘。根据本公开,存储器410或持久性存储装置412可被配置为存储使用最小公倍数来使得同步消息的一个或多个算法。
通信单元406支持与其他系统或设备的通信。例如,通信单元406可包括至少一个网络接口卡或无线收发器,从而有利于通过至少一个有线或无线网络进行通信。作为具体示例,根据本公开,通信单元406可包括任何合适的结构和部件以支持输入或输出消息与另一个部件的通信。通信单元406可通过任何合适的一个或多个物理或无线通信链路来支持通信。
I/O单元408允许数据的输入和输出。例如,I/O单元408可通过键盘、鼠标、小键盘、触摸屏或其他合适的输入设备来为用户输入提供连接。I/O单元408可还将输出发送至显示器、打印机或其他合适的输出设备。
尽管图4示出了用于在过程控制和自动化系统中使用最小公倍数来同步消息的设备400的一个示例,但仍可对图4做出各种改变。例如,可组合、进一步细分或省略图4中的各个部件,并且可根据具体需要添加附加部件。另外,计算设备可以具有多种配置,并且图4不会将本公开限制于任何特定的配置。
图5示出了根据本公开的用于在过程控制和自动化系统中使用最小公倍数来同步消息的示例性方法500。为了便于解释,方法500被描述为通过使用图1的系统100或图2的系统200来执行。然而,方法500可以与任何合适的设备或系统一起使用。
在步骤501处确定多个I/O模块中的每一个的TaskCycle参数和扫描时间参数。这可包括例如CPM 212从一个或多个存储器检索每个I/O模块216的TaskCycle参数和扫描时间参数。
如有必要,在步骤503处将所确定的扫描时间参数四舍五入为TaskCycle参数的倍数。这可包括例如CPM 212将一个或多个扫描时间参数四舍五入为TaskCycle参数的倍数。
在步骤505处,确定每个I/O模块的扫描速率。这可包括例如CPM 212使每个扫描时间值除以TaskCycle值以确定每个I/O模块216的扫描速率。
在步骤507处确定扫描速率的最小公倍数(LCM)。这可包括例如CPM 212确定所有I/O模块216的扫描速率的LCM。LCM用作“对齐指数”字段值的阈值。
在步骤509处,读取请求消息的“对齐指数”字段的值设置为1。这可包括例如CPM212将“对齐指数”的值设置为1。
在步骤511处,将读取请求消息传输至EPM。这可包括例如CPM 212将读取请求消息广播到EPM 214。读取请求消息包括“对齐指数”字段。
在步骤513处,接收读取请求消息并且将每个I/O模块的扫描速率与读取请求消息中的“对齐指数”字段的值进行比较。这可包括例如每个EPM 214接收读取请求消息并且将“对齐指数”字段的值与由EPM 214控制的每个I/O模块216的扫描速率进行比较。
在步骤515处,确定读取请求消息中的“对齐指数”字段的值是否为每个I/O模块的扫描速率的整数倍。这可包括例如接收读取请求消息的每个EPM 214确定读取请求消息中的“对齐指数”字段的值是否为每个I/O模块216的扫描速率的整数倍。如果“对齐指数”字段的值为I/O模块216的扫描速率的整数倍,则方法500前进至步骤517。否则,方法500前进至步骤519。
在步骤517处,生成回复消息并且将其发送至CPM。这可包括例如EPM 214通过I/O模块216从现场设备获得测量值,生成包括测量值的回复消息,并且向CPM 212发送回复消息。
在步骤519处,读取请求消息的“对齐指数”字段的值递增1。这可包括例如CPM 212将“对齐指数”的值增加1。
在步骤521处,确定“对齐指数”字段的值是否大于在步骤507中确定的LCM。这可包括例如CPM 212确定“对齐指数”字段的值是否大于LCM。如果“对齐指数”字段的值大于LCM,则方法500返回至步骤509以重新初始化“对齐指数”字段的值。否则,方法500返回至步骤511以传输另一个读取请求消息。
尽管图5示出了用于在过程控制和自动化系统中使用最小公倍数来同步消息的方法500的一个示例,但仍可对图5做出各种改变。例如,虽然示出为一系列步骤,但图5中的各个步骤可重叠、并行发生、以不同顺序发生,或者以任何次数发生。此外,可以结合或去除一些步骤,并且可以根据特定需要添加附加步骤。此外,虽然相对于系统100、200描述了方法500(相对于工业过程控制和自动化系统描述了该系统),但方法500可以与其它类型的设备和系统结合使用。
在一些实施方案中,本专利文献中描述的各种功能由计算机程序来实现或支持,该计算机程序由计算机可读程序代码形成并且体现在计算机可读介质中。短语“计算机可读程序代码”包括任何类型的计算机代码,包括源代码、目标代码和可执行代码。短语“计算机可读介质”包括能够被计算机访问的任何类型的介质,诸如只读存储器(ROM)、随机存取存储器(RAM)、硬盘驱动器、压缩盘(CD)、数字视频光盘(DVD)或任何其他类型的存储器。“非暂态”计算机可读介质排除传输瞬时电信号或其他信号的有线、无线、光学或其他通信链路。非暂态计算机可读介质包括可永久地存储数据的介质以及可存储和之后重写数据的介质,诸如可重写光盘或可擦除存储器设备。
阐述贯穿本专利文献中使用的某些字词和短语的定义可能是有利的。术语“应用程序”和“程序”是指适于以合适的计算机代码(包括源代码、目标代码或可执行代码)实现的一个或多个计算机程序、软件部件、指令集、过程、功能、对象、类、实例、相关的数据或其一部分。术语“通信”以及其衍生词涵盖直接通信和间接通信两者。术语“包括”和“包含”以及其衍生词意指包括但不限于此。术语“或”是包括性的,表示和/或。短语“与…相关联”以及其衍生词可以意指包括、包括在…内、与…互连、包含、包含在…内、连接到…或与…连接、耦接到…或与…耦接、可与…通信、与…协作、交错、并置、与…接近、结合到…或与…结合、具有、具有…的性质、具有与…的关系或与…具有关系等。当与项列表一起使用时,短语“…中的至少一个”意指可以使用所列的项中的一个或多个项的不同组合,并且可能仅需要列表中的一个项。例如,“A、B和C中的至少一者”包括以下任何组合:A、B、C,A和B,A和C,B和C,以及A和B和C。
不应将本申请中的描述理解为暗示任何特定元件、步骤或功能是必须包括在权利要求书范围内的基本或关键要素。专利保护的主题的范围仅由所允许的权利要求书来限定。此外,权利要求书都未关于所附权利要求书或权利要求要素中的任何一项援引35U.S.C.§112(f),除非在特定权利要求书中明确使用后面是识别功能的分词短语的“用于…的装置”或“用于…的步骤”的确切字词。在权利要求书中使用术语诸如(但不限于)“机构”、“模块”、“设备”、“单元”、“部件”、“元件”、“构件”、“装置”、“机器”、“系统”、“处理器”或“控制器”被理解为并且旨在指代相关领域的技术人员已知的结构,如权利要求书本身特征进一步修改的或增强的,并且并不旨在援引35U.S.C.§112(f)。
虽然本公开已描述了某些实施方案和大体上相关联的方法,但是这些实施方案和方法的变更和置换对于本领域的技术人员来说将是显而易见的。因此,上文对示例性实施方案的描述不限定或约束本公开。在不脱离如以下权利要求限定的本公开的实质和范围的情况下,其他改变、替换和变更也是可能的。
Claims (15)
1.一种方法,该方法包括:
确定(505)与多个输入/输出(I/O)模块(104,216)中的每一个相关联的扫描速率;
将读取请求消息传输(511)到控制所述多个I/O模块的至少一个扩展控制器(214),所述读取请求消息具有对齐指数字段;
从所述至少一个扩展控制器接收(517)针对所述I/O模块中的每一个的回复消息,对于所述模块,所述读取请求消息的所述对齐指数字段的值为所述相关联的扫描速率的偶数倍;
使所述对齐指数字段的值递增(519);以及
重复所述传输、接收和递增,直到所述对齐指数字段的所述值大于阈值,其中所述阈值为所述多个I/O模块的所述扫描速率的最小公倍数。
2.根据权利要求1所述的方法,其中确定与每个I/O模块相关联的所述扫描速率包括:
确定(501)与所述读取请求消息的传输相关联的任务周期;
确定(501)每个I/O模块的扫描时间;以及
使每个I/O的扫描时间除以(505)所述任务周期以确定每个I/O模块的所述扫描速率。
3.根据权利要求2所述的方法,其中确定与每个I/O模块相关联的所述扫描速率还包括:
将所述扫描时间中的一个或多个四舍五入(503)为所述任务周期的倍数。
4.根据权利要求1所述的方法,还包括:
当所述对齐指数字段的值大于所述阈值时,将所述对齐指数字段的所述值设置(509)为一,并且重复所述传输、接收和递增。
5.根据权利要求1所述的方法,还包括:
确定(507)所述多个I/O模块的所述扫描速率的所述最小公倍数。
6.根据权利要求1所述的方法,其中:
每个I/O模块耦接到现场设备(102a,102b),并且
所述回复消息包括来自耦接到与所述回复消息相关联的所述I/O模块的所述现场设备的测量值。
7.根据权利要求6所述的方法,其中所述至少一个扩展控制器、所述多个I/O模块和所述现场设备形成工业过程控制和自动化系统(100,200)的一部分。
8.一种装置,该装置包括:
至少一个网络接口(408),所述至少一个网络接口被配置为通信地连接到控制多个输入/输出(I/O)模块(104,216)的至少一个扩展控制器(214);和
至少一个处理设备(402),所述至少一个处理设备被配置为:
确定与所述I/O模块中的每一个相关联的扫描速率;
将读取请求消息传输到所述至少一个扩展控制器,所述读取请求消息具有对齐指数字段;
从所述至少一个扩展控制器接收针对所述I/O模块中的每一个的回复消息,对于所述模块,所述读取请求消息的所述对齐指数字段的值为所述相关联的扫描速率的偶数倍;
使所述对齐指数字段的值递增;以及
重复所述传输、接收和递增,直到所述对齐指数字段的所述值大于阈值,其中所述阈值为所述多个I/O模块的所述扫描速率的最小公倍数。
9.根据权利要求8所述的装置,其中为了确定与每个I/O模块相关联的所述扫描速率,所述至少一个处理设备被配置为:
确定与所述读取请求消息的传输相关联的任务周期;
确定每个I/O模块的扫描时间;以及
使每个I/O的扫描时间除以所述任务周期以确定每个I/O模块的所述扫描速率。
10.根据权利要求9所述的装置,其中为了确定与每个I/O模块相关联的所述扫描速率,所述至少一个处理设备被进一步配置为:
将所述扫描时间中的一个或多个四舍五入为所述任务周期的倍数。
11.根据权利要求8所述的装置,其中所述至少一个处理设备被进一步配置为:
当所述对齐指数字段的值大于所述阈值时,将所述对齐指数字段的所述值设置为一,并且重复所述传输、接收和递增。
12.根据权利要求8所述的装置,其中所述至少一个处理设备被进一步配置为:
确定所述多个I/O模块的所述扫描速率的所述最小公倍数。
13.根据权利要求8所述的装置,其中:
每个I/O模块耦接到现场设备,并且
所述回复消息包括来自耦接到与所述回复消息相关联的所述I/O模块的所述现场设备的测量值。
14.根据权利要求13所述的装置,其中所述装置包括控制器,所述控制器被配置用于包括所述至少一个扩展控制器、所述多个I/O模块和所述现场设备的工业过程控制和自动化系统中。
15.一种包含指令的非暂态计算机可读介质(404,410,412),所述指令当由至少一个处理设备(402)执行时,使得所述至少一个处理设备:
确定与多个输入/输出(I/O)模块中的每一个相关联的扫描速率;
将读取请求消息传输到控制所述多个I/O模块的至少一个扩展控制器,所述读取请求消息具有对齐指数字段;
从所述至少一个扩展控制器接收针对所述I/O模块中的每一个的回复消息,对于所述模块,所述读取请求消息的所述对齐指数字段的值为所述相关联的扫描速率的偶数倍;
使所述对齐指数字段的值递增;以及
重复所述传输、接收和递增,直到所述对齐指数字段的所述值大于阈值,其中所述阈值为所述多个I/O模块的所述扫描速率的最小公倍数。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/490,789 | 2017-04-18 | ||
US15/490,789 US10401815B2 (en) | 2017-04-18 | 2017-04-18 | System and method for synchronizing messages using a least common multiple in industrial process control and automation systems |
PCT/US2018/027296 WO2018194907A1 (en) | 2017-04-18 | 2018-04-12 | System and method for synchronizing messages using a least common multiple in industrial process control and automation systems |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110506241A true CN110506241A (zh) | 2019-11-26 |
CN110506241B CN110506241B (zh) | 2022-12-30 |
Family
ID=63790001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880023681.XA Active CN110506241B (zh) | 2017-04-18 | 2018-04-12 | 用于在工业过程控制和自动化系统中使用最小公倍数来同步消息的系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10401815B2 (zh) |
EP (1) | EP3612901A1 (zh) |
CN (1) | CN110506241B (zh) |
WO (1) | WO2018194907A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6649415B2 (ja) * | 2018-01-29 | 2020-02-19 | ファナック株式会社 | 制御システム |
EP3916571A4 (en) * | 2019-04-26 | 2022-08-31 | Siemens Aktiengesellschaft | DATA COLLECTION SYSTEM AND PROCEDURES |
CN112051758B (zh) * | 2019-06-06 | 2023-12-15 | 广东省大金创新电子有限公司 | 一种io扩展芯片 |
JP7147807B2 (ja) * | 2020-06-26 | 2022-10-05 | 株式会社安川電機 | エンジニアリング装置、上位制御装置、エンジニアリング方法、処理実行方法、及びプログラム |
EP4311134A1 (de) * | 2022-07-19 | 2024-01-24 | B&R Industrial Automation GmbH | Kontinuierliche zeitsynchronisation |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19980042924A (ko) * | 1996-11-29 | 1998-08-17 | 이마이기요스케 | 빌딩 관리 시스템 |
US20030182615A1 (en) * | 2002-03-21 | 2003-09-25 | International Business Machines Corporation | Apparatus and method for allowing a direct decode of fire and similar codes |
US20040230334A1 (en) * | 2003-05-16 | 2004-11-18 | Fsi International | Scheduling multi-robot processing systems |
CN1554042A (zh) * | 2001-07-13 | 2004-12-08 | FSI���ʹɷ�����˾ | 机器人系统控制 |
US7818457B1 (en) * | 2001-05-22 | 2010-10-19 | Rockwell Automation Technologies, Inc. | Apparatus for multi-chassis configurable time synchronization |
AU2014200516A1 (en) * | 2007-12-24 | 2014-02-20 | Dynamics Inc. | Cards and devices with magnetic emulators for communicating with magnetic stripe readers and applications for the same |
CN104126287A (zh) * | 2011-12-29 | 2014-10-29 | 施耐德电器工业公司 | 更新网络中的参数 |
CN105103618A (zh) * | 2012-10-22 | 2015-11-25 | 尼尔森(美国)有限公司 | 用于无线修改便携式设备的检测特征的系统和方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050016134A1 (en) | 2003-07-22 | 2005-01-27 | Prebelli Industries, Inc. | Cutting machine for package manufacturing |
US6747375B2 (en) | 2000-07-14 | 2004-06-08 | Ranco Incorporated Of Delaware | Time controls with enhanced timing range |
US6978227B2 (en) * | 2002-04-12 | 2005-12-20 | Schneider Automation Inc. | Programmable logic controller with programmable high-speed digital processing |
US7941229B2 (en) * | 2007-06-06 | 2011-05-10 | Rockwell Automation Technologies, Inc. | High-speed sequential sampling of I/O data for industrial control |
US8392626B2 (en) | 2008-04-24 | 2013-03-05 | Honeywell International Inc. | Programmable channel circuit for coupling signals between field devices and control systems |
US9176919B2 (en) * | 2012-06-06 | 2015-11-03 | Honeywell International Inc. | Process controller having multi-channel serial communications link |
US20150214864A1 (en) | 2014-01-30 | 2015-07-30 | Deere & Company | Control synchronization between multiple control units for resource load sharing |
-
2017
- 2017-04-18 US US15/490,789 patent/US10401815B2/en active Active
-
2018
- 2018-04-12 EP EP18787197.5A patent/EP3612901A1/en not_active Withdrawn
- 2018-04-12 CN CN201880023681.XA patent/CN110506241B/zh active Active
- 2018-04-12 WO PCT/US2018/027296 patent/WO2018194907A1/en unknown
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19980042924A (ko) * | 1996-11-29 | 1998-08-17 | 이마이기요스케 | 빌딩 관리 시스템 |
US7818457B1 (en) * | 2001-05-22 | 2010-10-19 | Rockwell Automation Technologies, Inc. | Apparatus for multi-chassis configurable time synchronization |
CN1554042A (zh) * | 2001-07-13 | 2004-12-08 | FSI���ʹɷ�����˾ | 机器人系统控制 |
US20030182615A1 (en) * | 2002-03-21 | 2003-09-25 | International Business Machines Corporation | Apparatus and method for allowing a direct decode of fire and similar codes |
US20040230334A1 (en) * | 2003-05-16 | 2004-11-18 | Fsi International | Scheduling multi-robot processing systems |
AU2014200516A1 (en) * | 2007-12-24 | 2014-02-20 | Dynamics Inc. | Cards and devices with magnetic emulators for communicating with magnetic stripe readers and applications for the same |
CN104126287A (zh) * | 2011-12-29 | 2014-10-29 | 施耐德电器工业公司 | 更新网络中的参数 |
CN105103618A (zh) * | 2012-10-22 | 2015-11-25 | 尼尔森(美国)有限公司 | 用于无线修改便携式设备的检测特征的系统和方法 |
Non-Patent Citations (2)
Title |
---|
JING CHEN: "《Lease expiration management for a single lease term in the apartment industry》", 《EUROPEAN JOURNAL OF OPERATIONAL RESEARCH》 * |
徐杜: "《高精度多种进制圆光栅制造方法的研究》", 《量子电子学》 * |
Also Published As
Publication number | Publication date |
---|---|
EP3612901A1 (en) | 2020-02-26 |
CN110506241B (zh) | 2022-12-30 |
WO2018194907A1 (en) | 2018-10-25 |
US20180299853A1 (en) | 2018-10-18 |
US10401815B2 (en) | 2019-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110506241A (zh) | 用于在工业过程控制和自动化系统中使用最小公倍数来同步消息的系统和方法 | |
CN108293017B (zh) | 用于使用物联网边缘安全网关的装置和方法 | |
CN107003644B (zh) | 用于使用冗余本地监督控制器来控制过程工厂的方法 | |
US10042330B2 (en) | Redundant process controllers for segregated supervisory and industrial control networks | |
WO2014090310A1 (en) | System and method for monitoring and/or diagnosing operation of a production line of an industrial plant | |
CN108009081B (zh) | 工程设计工具协同装置及工程设计工具协同方法 | |
US10234855B2 (en) | Apparatus and method for rationalizing and resolving alarms in industrial process control and automation systems | |
US10725464B2 (en) | Systems and methods for managing alerts associated with devices of a process control system | |
US20240192666A1 (en) | System and a Method for Asset Monitoring in an Industrial Plant | |
US20180372788A1 (en) | Universal terminals transmitter supporting flexible connection of rtd sensor | |
US10908562B2 (en) | Apparatus and method for using advanced process control to define real-time or near real-time operating envelope | |
CN107408184A (zh) | 补丁监测和分析 | |
AU2022211864B2 (en) | Method and apparatus for the enhanced diagnostic coverage of a secondary device of a redundant controller pair | |
CA3175819A1 (en) | Improved pattern recognition technique for data-driven fault detection within a process plant | |
WO2017131962A1 (en) | System and method for interactive adjustment of a model predictive controller in an embedded execution environment | |
EP3931646B1 (en) | System, device and method for managing and optimizing connection between field devices and automation devices | |
US10235447B2 (en) | Method and system for co-operative intelligent HMIs for effective process operations | |
CN111837082B (zh) | 利用近实时条件的超声流量计预诊 | |
Wang et al. | Quality-related measures of unreliable machines with preventive maintenance | |
CN110388970B (zh) | 在灵活公共网关硬件上集成有线和无线储罐计量系统的方法 | |
WO2015158359A1 (en) | Dynamic configuration of intelligent electronic devices | |
EP3396538B1 (en) | A method and apparatus for deployment of an agent to a target device of a target system | |
WO2018017309A1 (en) | System and method to detect smart device configuration changes against a reference in process control systems | |
MOORE et al. | 4.14 DCS: System Architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |