一种以太网系统控制与通信的同步方法技术方案

技术编号:13910741 阅读:57 留言:0更新日期:2016-10-27 02:15
本发明专利技术提供一种以太网系统控制与通信的同步方法,包括:给控制任务设置状态标识;设备运行中巡回扫描当前时间,在周期报文时间片和非周期报文时间片内分别传输周期报文和非周期报文;当传输完周期报文或非周期报文时,判断控制任务的状态标识是否为1:如果是,表示控制任务在当前宏周期尚未执行,则执行控制任务并将其状态标识设为0;否则表示控制任务在当前宏周期已经执行,则放弃执行控制任务;本发明专利技术可以使实现控制功能的用户层功能块与实现通信功能的链路层通信达成周期同步,避免功能块的无效执行和数据的无效传输,有效提高系统的运行效率和通信实时性能。可广泛应用于工控领域。

【技术实现步骤摘要】

本专利技术涉及工控领域,特别是涉及一种以太网系统控制与通信的同步方法
技术介绍
EPA(Ethernet for Plant Automation)工厂自动化以太网是一种由中国自主研发的面向控制系统的实时以太网技术,已经被现场总线国际标准IEC61158和实时以太网国际标准IEC61784收录。目前,EPA已经广泛应用于电力、化工、机械、采矿、石油等多个领域。作为一种网络控制系统,EPA通过将控制功能下放到现场设备的功能块中来实现网络环境下的分布式测量与控制。在EPA系统中,组成一个控制回路的多个功能块分布于不同EPA设备中,各功能块通过EPA通信相互连接以完成控制功能。各功能块的执行次序存在逻辑关系,前序功能块的输出通过EPA报文传输给后序功能块作为输入,后序功能块接收EPA报文后,对报文承载的数据进行处理。但是在EPA系统中,负责数据通信的周期报文和非周期报文都必须在通信宏周期中各自的时间片内才能传输,所以通信的执行周期为EPA网络的通信宏周期;而实际应用中功能块的执行周期则为程序循环周期。由于通信宏周期往往比程序循环周期大许多倍,所以功能块在通信宏周期中会执行多次,导致多个携带其输出数据且发往同一目的功能块的报文产生。当周期报文时间片和非周期报文时间片未到时,这些报文在链路层的队列中不能传输;而周期报文时间片和非周期报文时间片到达时,这些报文又被依次传输至同一目的功能块,致使旧数据被新数据覆盖而得不到处理。由此可见,现有技术中,控制与通信的不同步导致了功能块的无效执行和数据的无效传输,增加了系统的计算负荷和通信负荷,严重降低了系统性能。专利技术内容有鉴于此,本专利技术的主要目的在于提供一种降低系统计算负荷与通信负荷的以太网系统控制与通信的同步方法。为了达到上述目的,本专利技术提出的技术方案为:一种以太网系统控制与通信的同步方法,包括如下步骤:步骤1、设备启动;设置状态标识P=1,Q=1,R=1;判断i=n是否成立:如果是,则设置Di+1=B,之后执行步骤2;如果不是,则直接执行步骤2;其中,i为EPA设备序号,n为EPA网络中的EPA设备总数,B为EPA网络的非周期报文偏离量,Di+1为第i+1个EPA设备的周期报文偏离量。步骤2、获取本地当前时间G。步骤3、判断Di≤MOD(G,T)<Di+1是否成立:如果是,表示所述当前时间位于周期报文时间片内,则执行步骤4;如果不是,表示所述当前时间不位于周期报文时间片内,则执行步骤6;其中,Di为第i个EPA设备的周期报文偏离量;MOD(G,T)=MOD(G/T),MOD(·)为求余函数;T为通信宏周期。步骤4、判断P=1是否成立:如果是,表示周期报文传输任务在本通信宏周期中尚未执行,则执行周期报文传输任务并设置P=0、Q=1后,执行步骤5;如果不是,表示周期报文传输任务在本通信宏周期中已经执行,则直接执行步骤5。步骤5、判断标识R=1是否成立:如果是,则执行步骤8;如果不是,则返回步骤2。步骤6、判断B≤MOD(G,T)<T是否成立:如果是,表示当前时间在非周期报文时间片内,则执行非周期报文传输任务,之后设置标识P=1并执行步骤7;如果不是,表示当前时间不在非周期报文时间片内,则不执行非周期报文传输任务,直接执行步骤7。步骤7、判断标识R=1是否成立:如果是,则返回步骤2;如果不是,则执行步骤8。步骤8、判断Q=1是否成立:如果是,表示控制任务在当前通信宏周期尚未执行,则执行控制任务并设置Q=0,之后获取本地当前时间F并执行步骤9;如果不是,表示控制任务在当前通信宏周期已经执行,则直接返回步骤2。步骤9、判断标识R=1是否成立:如果是,则执行步骤10;如果不是,则执行步骤11。步骤10、判断B≤MOD(F,T)<T是否成立:如果是,则设置标识R=0并返回步骤2;如果不是,则设置R=1并返回步骤2。步骤11、判断Di≤MOD(F,T)<Di+1是否成立:如果是,表示控制任务的执行影响了周期报文传输任务的启动,时间片设置不合理,则发送任务异常报警并返回步骤2;如果不是,表示时间片设置合理,则直接返回步骤2。综上所述,本专利技术通过设定通信任务和控制任务的触发执行方式,使实现控制功能的用户层功能块与实现通信功能的EPA通信达成周期同步,避免功能块的无效执行和数据的无效传输,有效提高系统的运行效率和通信实时性能。附图说明图1为本专利技术中通信任务和控制任务的执行示意图。图2为本专利技术所述以太网系统控制与通信同步方法的流程示意图。图3为本专利技术中非周期报文传输声明改进前后的结构图。图4为实施例中EPA实时以太网系统的组成结构示意图。图5为实施例中各设备内功能块组成的控制回路的组成结构示意图。图6为实施例分别采用本专利技术方法与现有技术后周期报文时间片及通信宏周期调整结果对比图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本专利技术作进一步地详细描述。图1为本专利技术中通信任务和控制任务的执行示意图。图中D1、D2、D3、D4分别为第1、2、3、4个EPA设备的周期报文偏离量,B为EPA网络的非周期报文偏离量。EPA网络中第i个EPA设备的周期报文偏离量Di、非周期报文偏离量B与通信宏周期T都是在系统组态时设置的实时调度参数。如图1所示,通信任务包括周期报文传输任务和非周期报文传输任务,周期报文传输任务在周期报文时间片内执行,非周期报文传输任务在非周期报文时间片内执行;周期报文传输任务传输周期报文和非周期报文传输声明,非周期报文传输任务传输非周期报文和非周期报文传输结束声明;周期报文传输任务和控制任务在每个通信宏周期中都只能有一次执行,控制任务要么在周期报文传输任务执行结束后触发执行,要么在非周期报文传输任务执行结束后触发执行。图2为本专利技术所述以太网系统控制与通信同步方法的流程示意图。如图1所示,本专利技术所述以太网系统控制与通信同步方法包括如下步骤:步骤1、设备启动;设置状态标识P=1,Q=1,R=1;判断i=n是否成立:如果是,则设置Di+1=B,之后执行步骤2;如果不是,则直接执行步骤2;其中,i为EPA设备序号,n为EPA网络中的EPA设备总数,B为EPA网络的非周期报文偏离量,Di+1为第i+1个EPA设备的周期报文偏离量。本专利技术步骤1中,所述状态标识P为表示周期报文传输任务在本通信宏周期中是否已经执行的状态标识,P=1表示通信任务当前为可执行状态,P=0表示通信任务当前为不可执行状态;Q为表示控制任务在本通信宏周期中是否已经执行的状态标识,Q=1表示控制任务当前为可执行状态,Q=0表示控制任务当前为不可执行状态;R为表示控制任务应在周期报文传输任务结束时执行还是应在非周期报文传输任务结束时执行的状态标识,R=1表示控制任务应在周期报文传输任务结束时执行,R=0表示控制任务应在非周期报文传输任务结束时执行。P、Q、R都是逻辑变量,在设备启动时的初始值都设置为1。步骤2、获取本地当前时间G;步骤3、判断Di≤MOD(G,T)<Di+1是否成立:如果是,表示所述当前时间位于周期报文时间片内,则执行步骤4;如果不是,表示所述当前时间不位于周期报文时间片内,则执行步骤6;其中,Di为第i个EPA设备的周期报文偏离量;MOD(G,T)=MOD(G本文档来自技高网...

【技术保护点】
一种以太网系统控制与通信的同步方法,其特征在于,所述方法包括如下步骤:步骤1、设备启动;设置状态标识P=1,Q=1,R=1;判断i=n是否成立:如果是,则设置Di+1=B,之后执行步骤2;如果不是,则直接执行步骤2;其中,i为EPA设备序号,n为EPA网络中的EPA设备总数,B为EPA网络的非周期报文偏离量,Di+1为第i+1个EPA设备的周期报文偏离量;步骤2、获取本地当前时间G;步骤3、判断Di≤MOD(G,T)<Di+1是否成立:如果是,表示所述当前时间位于周期报文时间片内,则执行步骤4;如果不是,表示所述当前时间不位于周期报文时间片内,则执行步骤6;其中,Di为第i个EPA设备的周期报文偏离量;MOD(G,T)=MOD(G/T),MOD(·)为求余函数;T为通信宏周期;步骤4、判断P=1是否成立:如果是,表示周期报文传输任务在本通信宏周期中尚未执行,则执行周期报文传输任务并设置P=0、Q=1后,执行步骤5;如果不是,表示周期报文传输任务在本通信宏周期中已经执行,则直接执行步骤5;步骤5、判断标识R=1是否成立:如果是,则执行步骤8;如果不是,则返回步骤2;步骤6、判断B≤MOD(G,T)<T是否成立:如果是,表示当前时间在非周期报文时间片内,则执行非周期报文传输任务,之后设置标识P=1并执行步骤7;如果不是,表示当前时间不在非周期报文时间片内,则不执行非周期报文传输任务,直接执行步骤7;步骤7、判断标识R=1是否成立:如果是,则返回步骤2;如果不是,则执行步骤8;步骤8、判断Q=1是否成立:如果是,表示控制任务在当前通信宏周期尚未执行,则执行控制任务并设置Q=0,之后获取本地当前时间F并执行步骤9;如果不是,表示控制任务在当前通信宏周期已经执行,则直接返回步骤2;步骤9、判断标识R=1是否成立:如果是,则执行步骤10;如果不是,则执行步骤11;步骤10、判断B≤MOD(F,T)<T是否成立:如果是,则设置标识R=0并返回步骤2;如果不是,则设置R=1并返回步骤2;步骤11、判断Di≤MOD(F,T)<Di+1是否成立:如果是,表示控制任务的执行影响了周期报文传输任务的启动,时间片设置不合理,则发送任务异常报警并返回步骤2;如果不是,表示时间片设置合理,则直接返回步骤2。...

【技术特征摘要】
1.一种以太网系统控制与通信的同步方法,其特征在于,所述方法包括如下步骤:步骤1、设备启动;设置状态标识P=1,Q=1,R=1;判断i=n是否成立:如果是,则设置Di+1=B,之后执行步骤2;如果不是,则直接执行步骤2;其中,i为EPA设备序号,n为EPA网络中的EPA设备总数,B为EPA网络的非周期报文偏离量,Di+1为第i+1个EPA设备的周期报文偏离量;步骤2、获取本地当前时间G;步骤3、判断Di≤MOD(G,T)<Di+1是否成立:如果是,表示所述当前时间位于周期报文时间片内,则执行步骤4;如果不是,表示所述当前时间不位于周期报文时间片内,则执行步骤6;其中,Di为第i个EPA设备的周期报文偏离量;MOD(G,T)=MOD(G/T),MOD(·)为求余函数;T为通信宏周期;步骤4、判断P=1是否成立:如果是,表示周期报文传输任务在本通信宏周期中尚未执行,则执行周期报文传输任务并设置P=0、Q=1后,执行步骤5;如果不是,表示周期报文传输任务在本通信宏周期中已经执行,则直接执行步骤5;步骤5、判断标识R=1是否成立:如果是,则执行步骤8;如果不是,则返回步骤2;步骤6、判断B≤MOD(G,T)<T是否成立:如果是,表示当前时间在非周期报文时间片内,则执行非周期报文传输任务,之后设置标识P=1并执行步骤7;如果不是,表示当前时间不在非周期报文时间片内,则不执行非周期报文传输任务,直接执行步骤7;步骤7、判断标识R=1是否成立:如果是,则返回步骤2;如果不是,则执行步骤8;步骤8、判断Q=1是否成立:如果是,表示控制任务在当前通信宏周期尚未执行,则执行控制任务并设置Q=0,之后获取本地当前时间F并执行步骤9;如果不是,表示控制任务在当前通信宏周期已经执行,则直接返回步骤2;步骤9、判断标识R=1是否成立:如果是,则执行步骤10;如果不是,则执行步骤11;步骤10、判断B≤MOD(F,T)<T是否成立:如果是,则设置标识R=0并返回步骤2;如果不是,则设置R=1并返回步骤2;步骤11、判断Di≤MOD(F,T)<Di+1是否成立:如果是,表示控制任务的执行影响了周期报文传输任务的启动,时间片设置不合理,则发送任务异常报警并返回步骤2;如果不是,表...

【专利技术属性】
技术研发人员:刘宁罗晨旭吴雪峰郭强刘瑜
申请(专利权)人:河南理工大学
类型:发明
国别省市:河南;41

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

1