本发明属于工控领域,具体涉及一种通用型分散控制系统的冗余现场总线通讯方法及系统。
背景技术:
1、目前工控领域dcs的控制器与模件i/o模件间主要通过串口现场总线进行实时通讯,包括非冗余的单路通讯和冗余的双路通讯方式。冗余通讯方式通过冗余的通讯口,与i/o模件进行通讯,冗余通讯并非真正的实时冗余通讯,只有在主通讯故障时,才会切换至辅通讯口,存在切换失败,或切换后冗余网络仍故障的问题。
2、本发明克服现有技术存在的缺陷,而提供一种分散控制系统控制器与模件间冗余通讯的方法。
技术实现思路
1、鉴于上述现有存在的问题,提出了本发明。本发明在主、辅通讯总线的基础上,结合两路总线同时收发的方法,解决单路总线收发在数据无法回复的状态下,切换至另一路通讯总线上通讯的传统通讯方案需频繁切换、响应速度较慢的问题;其次,利用主、辅控制器一个作为主设备发送接收数据,另外一个作为从设备接收数据,两个控制器数据区均可通过总线同步更新数据,取消了在传统的主、辅控制器切换时需要与i/o模件重新建立连接的步骤,提高切换时数据的时效性;与现有技术相比,本发明提出的冗余现场总线通讯方法在现场的通讯总线发生故障时,具有较好的实时性和可靠性。
2、为解决上述技术问题,提出了一种通用型分散控制系统的冗余现场总线通讯方法,包括,
3、建立通讯架构和冗余控制系统,将控制器和i/o模件通过冗余通讯总线连接,初始化系统参数;通过冗余机制将控制器分为主通讯状态和监听状态,动态调整冗余通讯频率后进行数据发送和接收的同步处理;实时监控通讯总线,并将冗余控制器内的i/o模件数据区进行同步。
4、作为本发明所述的一种通用型分散控制系统的冗余现场总线通讯方法的一种优选方案,其中:所述建立通讯架构和冗余控制系统包括系统硬件设备包括两个冗余的dcs控制器,地址为a个的i/o模件组合,控制器为主通讯设备包括主控制器和辅控制器,i/o模件为从通讯设备,每个i/o模件有不同的通讯地址,并同时进行收发数据。
5、dcs控制器与i/o模件通过冗余通讯总线进行通讯同时包含两路总线,进行不同连接,主控制器的通讯口1和i/o模件的通讯口1通过主通讯总线连接,主控制器的通讯口2和i/o模件的通讯口2通过辅通讯总线连接,辅控制器的通讯口1将主通讯总线通过主控制器的辅通讯总线和i/o模件的通讯口2连接,辅控制器的通讯口2通过辅通讯总线通过主控制器的主通讯总线和i/o模件的通讯口1连接。
6、所述初始化系统参数包括收集设备信息、通讯参数、环境数据以及性能指标。
7、所述设备信息包括设备的型号和规格、物理位置坐标以及电气特性。
8、所述通讯参数包括每个设备的网络地址或节点id、通讯速率和通讯协议以及冗余路径的选择规则。
9、所述环境数据包括温度和湿度、电磁干扰水平。
10、所述性能指标包括数据传输的最大延迟时间、误码率以及数据流量。
11、作为本发明所述的一种通用型分散控制系统的冗余现场总线通讯方法的一种优选方案,其中:所述冗余机制包括根据两个冗余的dcs控制器的性能指标判断两个冗余的dcs控制器的运行状态,在冗余通讯总线上两个控制器同时释放探测数据包,当两个探测数据包分别到达时,计算数据包传输时间的期望值e[t]:
12、
13、将期望值与探测数据包的传输时间进行结合,得到运行状态评估函数status:
14、
15、其中,ρ(t)数据包传输时间的概率密度函数,t‘是传输时间,t为所述最大延迟时间,数据包从发送到接收的最大允许时间,t’i是第i个数据包的传输时间,λ是数据包到达率,re是误码率,q是数据流量,g(t,re,q)表示传输时间t、误码率re和数据流量q对运行状态的影响函数:
16、
17、当status的值大于第一阈值时,表示控制器的运行状态为最佳运行状态的第一运行区间,当只有一个控制器评估结果在当前区间时,将当前控制器切换为主控制器,并切换为主通讯状态,第二区间或第三区间的控制器切换为辅控制器,切换为监听状态。
18、当status的值为第二阈值至第一阈值时,表示控制器的运行状态为正常运行状态的第二运行区间,若两个控制器中任意一个位于第一区间时,则在本区间的控制器切换为辅控制器,并切换为监听状态,若两个控制器中任意一个位于第三区间,则本区间的控制器切换为主控制器,并切换为主通讯状态。
19、当两个控制器都位于同一区间时,设定探测数据包先到达的所属控制器为主控制器,并切换为主通讯状态,探测数据包后到达的所属控制器为辅控制器,并切换为监听状态。
20、当status的值为0至第二阈值时,表示控制器的运行状态处于临界状态的第三运行区间,当认为若两个控制器中任意一个位于第一区间时,则在本区间的控制器切换为辅控制器,并切换为监听状态。
21、当两个控制器都位于本区间时需要进行控制器参数优化,将优化后的参数进行精细化评估status':
22、
23、根据精细化评估结果,进行比较,设定评估结果值大的为主控制器,并切换为主通讯状态,设定评估结果值小的为辅控制器,并切换为监听状态,其中,n是数据包的数量,k调整数据流量和误码率对数据完整性的影响程度的常数参数,μ表示数据传输速率的指数衰减因子。
24、辅控制器与主控制器通过冗余总线连接,并进行数据同步,同步后的主辅控制器具有相同的组态,相同的运行周期,区别为辅控制器不通过通讯口1和通讯口2发送数据,仅接收数据。
25、作为本发明所述的一种通用型分散控制系统的冗余现场总线通讯方法的一种优选方案,其中:所述动态调整冗余通讯频率包括当两个控制器都位于同一区间时,认为两个控制器的运行状态在同一范围内,保证了数据的同步传输,当两个控制器在不同运行区间时,认为两个控制器的传输频率不同,不能进行同步传输,则此时进行根据通讯负荷的动态调整冗余通讯频率f(t):
26、
27、其中,r(t)代表在时间t的通讯负荷的数量;fmin是最小冗余通讯频率,fmin=1赫兹,fmax是最大冗余通讯频率,fmax=100赫兹;s(c1,c2,t)是同步状态函数,δf(c1,c2,t)是频率调整函数,计算控制器c1和控制器c2之间的频率差,β是影响冗余通讯频率的调整速度调整系数,α是影响因子。
28、所述同步状态函数包括基于控制器状态差表示同步状态:
29、
30、其中,σ(c1,c2,t)是两个控制器输出信号差的绝对值的累积,衡量两个控制器之间的同步程度表达为:
31、
32、其中,τ(θ)是时间函数,用于加权时间因素;h(c1,θ)和h(c2,θ)控制器c在时间θ的状态值。
33、所述频率调整函数包括基于控制器的状态差和通讯负荷表示频率调整:
34、
35、其中,α是一个调整参数,f(θ)是控制器的通讯负荷值;
36、h(c,θ)=w(c,θ)=yset(θ)-y(c,θ)
37、
38、其中,yset(θ)是在时间θ的设定值,y(c,θ)是控制器c在时间θ的实际输出值,w(c,θ)是控制误差,di(θ)是在时间θ从第i个传感器或设备接收到的数据包大小,m是传感器或设备的总数。
39、当f(t)属于至fmax时,表示通讯负荷重,提高冗余通讯频率,当两个控制器的传输频率不同,不能进行同步传输时,提高辅控制器的冗余通讯频率达到主控制器冗余通讯频率的±10%的范围时,系统认为两个控制器允许进行同步传输数据,然后进行数据发送和接收的同步处理。
40、作为本发明所述的一种通用型分散控制系统的冗余现场总线通讯方法的一种优选方案,其中:所述数据发送和接受的同步处理包括主控制器通过主、辅通讯总线,同时发送带目的地址的数据报文时,对应地址的i/o模件会同时接收到主控制器的主辅通讯总线上的数据,并通过报文的循环冗余校验码crc进行数据校验,滤除错误报文:若i/o模件同一时刻收到两条报文,则只处理主通讯总线上的报文,丢弃辅通讯总线的数据,当报文中的数据为读数据命令,i/o模件则将对应的数据放入回复的报文中,并通过主辅通讯总线同时发送该报文。
41、当报文中的数据为写数据命令,则接收主通讯总线上命令,并将成功写入命令的确认报文通过主辅通讯总线同时发送,发送完成后,i/o模件立刻转成接收状态,等待接收控制器发送的下一帧报文。
42、若i/o模件先后接收到两条正确报文,i/o模件不舍弃任何一个正确数据,优先处理先收到的正确报文,并在对应的通讯总线中进行相应报文的回复,再处理后收到的正确报文,并在对应的通讯总线中进行相应报文的回复。
43、若i/o模件只收到一条正确报文,不论总线是主通讯总线还是辅通讯总线,均正常执行读写数据命令,并在对应的总线上回复相应报文。
44、主、辅控制器都接收总线上返回数据时,主、辅控制器根据探测数据包的最大延迟时间规定等待时间,同时收取主、辅通讯总线上的回复报文,并通过循环冗余校验码crc进行数据校验,滤除错误报文,其中包括两条通讯总线:
45、若控制器同一时刻接收到两条正确报文,则将主通讯总线上数据写入,丢弃辅通讯总线的数据。
46、若控制器先后收到两条正确报文,由于控制器作为主通讯设备只发送一次请求报文,只接收一次回复数据,取先收到的正确报文的数据,丢弃后到的正确报文的数据。
47、若控制器只收到一条正确报文,则取该正确报文的数据。
48、作为本发明所述的一种通用型分散控制系统的冗余现场总线通讯方法的一种优选方案,其中:所述实时监控通讯总线包括控制器同时与主、辅通讯总线进行通讯,控制器实时监控通讯总线状态,监测是否出现一条总线通讯正常,另一条总线故障,当因dcs侧控制器通讯硬件故障、i/o模件通讯硬件故障及通讯介质损坏而造成通讯完全中断的事故,无需判断通讯链路状态,主、辅控制器内的i/o模件数据区,将具有相同的数据,在冗余dpu进行切换时,数据区的数据直接使用,辅控制器立刻切换为主通讯设备,无需重新与模件建立通讯关系,直接继续进行数据的扫描工作。
49、当出现dcs侧控制器通讯硬件故障、i/o模件通讯硬件故障及通讯介质损坏以外的原因造成的通讯中断事故,判断两个控制器的四条总线通讯状态:
50、
51、其中,l(x,t)表示在时间t时,第x条通讯总线的状态,w(xi,ti)表示在时间ti时,通讯总线xi的信息过滤状态,δi通讯总线xi的标准差,h(g(x,t))表示在时间t时,通讯总线x的总状态,g(x,t)表示通讯总线x在时间t的实时状态,t0为初始时间,i通讯总线数量,i=8。
52、其中,分析链路的总状态为:
53、
54、其中,g(xi,t)表示通讯总线xi在时间t的状态函数,μi(t)表示通讯总线xi在时间t的平均值,μavg(t)所有通讯总线在时间t的平均值,表示所有通讯总线在时间t的平均值的标准差,δq(xi,t)通讯总线xi在时间t的通讯数据变化量,qref参考的通讯数据变化量。
55、根据四条通讯总线计算结果,当l(x,t)的值越大代表总线通讯状态越健康,比较主辅控制器的两条总线通讯状态,当主控制器的两条总线通讯状态的l(x,t)的值比辅控制器小或存在l(x,t)的值一个比辅控制器大、一个比辅控制器小的情况,则分析通讯数据模式,进行未来故障预测。
56、作为本发明所述的一种通用型分散控制系统的冗余现场总线通讯方法的一种优选方案,其中:所述未来故障预测包括分析通讯数据模式来预测未来发生的故障并提前进行控制器交换:
57、
58、当p(z,t)属于0.5-1时,表示故障发生的可能性越高,进行无切换通讯,当p(z,t)属于0-0.5时,表示故障发生的可能性越低,不需要进行主辅控制器切换。
59、其中,p(z,t)表示在时间t时,预测未来故障z的概率,l(x,t)表示链路状态函数,uz(zj,tj)表示在时间tj时,故障zj的状态,ε、ω用于调整链路状态和历史故障数据对预测的影响,u表示历史故障数据数量。
60、本发明的另外一个目的是提供了一种通用型分散控制系统的冗余现场总线通讯系统,本发明通过采用冗余通讯机制和动态频率调整方法,解决了在高可靠性要求的环境中,现场总线通讯可能出现的单点故障和数据同步问题,达到了提高系统稳定性、可靠性和数据传输效率的效果。
61、作为本发明所述的一种通用型分散控制系统的冗余现场总线通讯系统的一种优选方案,其特征在于,包括dcs控制器、i/o模件、冗余通讯控制模块、数据同步处理模块以及故障预测与切换模块。
62、所述dcs控制器和所述i/o模件通过冗余通讯总线连接。
63、所述冗余通讯控制模块,负责建立通讯架构和冗余控制系统,并进行初始化系统参数,通过冗余机制将控制器分为主通讯状态和监听状态,并动态调整冗余通讯频率进行数据发送和接收的同步处理。
64、所述数据同步处理模块,负责实时监控通讯总线,并将冗余控制器内的i/o模件数据区进行同步,通过主、辅通讯总线同时发送数据报文,对应地址的i/o模件会同时接收到主控制器的主辅通讯总线上的数据,并通过数据校验,去除错误报文;
65、所述故障预测与切换模块,负责实时监控通讯总线状态,监测是否总线通讯故障,并进行未来故障预测,当预测到故障发生的可能性高时,进行主辅控制器的切换,以保证系统的稳定运行。
66、一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现一种通用型分散控制系统的冗余现场总线通讯所述的方法的步骤。
67、一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现一种通用型分散控制系统的冗余现场总线通讯所述的方法的步骤。
68、本发明的有益效果:本发明在主、辅通讯总线的基础上,结合两路总线同时收发的方法,解决单路总线收发在数据无法回复的状态下,切换至另一路通讯总线上通讯的传统通讯方案需频繁切换、响应速度较慢的问题;利用主、辅控制器一个作为主设备发送接收数据,另外一个作为从设备接收数据,两个控制器数据区均可通过总线同步更新数据,取消了在传统的主、辅控制器切换时需要与i/o模件重新建立连接的步骤,提高切换时数据的时效性。
69、与现有技术相比,本发明提出的冗余现场总线通讯方法在现场的通讯总线发生故障时,具有较好的实时性和可靠性。
1.一种通用型分散控制系统的冗余现场总线通讯方法,其特征在于:包括,
2.如权利要求1所述的一种通用型分散控制系统的冗余现场总线通讯方法,其特征在于:所述建立通讯架构和冗余控制系统包括系统硬件设备包括两个冗余的dcs控制器,地址为a个的i/o模件组合,控制器为主通讯设备包括主控制器和辅控制器,i/o模件为从通讯设备,每个i/o模件有不同的通讯地址,并同时进行收发数据;
3.如权利要求2所述的一种通用型分散控制系统的冗余现场总线通讯方法,其特征在于:所述冗余机制包括根据两个冗余的dcs控制器的性能指标判断两个冗余的dcs控制器的运行状态,在冗余通讯总线上两个控制器同时释放探测数据包,当两个探测数据包分别到达时,计算数据包传输时间的期望值e[t]:
4.如权利要求3所述的一种通用型分散控制系统的冗余现场总线通讯方法,其特征在于:所述动态调整冗余通讯频率包括当两个控制器都位于同一区间时,认为两个控制器的运行状态在同一范围内,保证了数据的同步传输,当两个控制器在不同运行区间时,认为两个控制器的传输频率不同,不能进行同步传输,则此时进行根据通讯负荷的动态调整冗余通讯频率f(t):
5.如权利要求4所述的一种通用型分散控制系统的冗余现场总线通讯方法,其特征在于:所述数据发送和接受的同步处理包括主控制器通过主、辅通讯总线,同时发送带目的地址的数据报文时,对应地址的i/o模件会同时接收到主控制器的主辅通讯总线上的数据,并通过报文的循环冗余校验码crc进行数据校验,滤除错误报文:若i/o模件同一时刻收到两条报文,则只处理主通讯总线上的报文,丢弃辅通讯总线的数据,当报文中的数据为读数据命令,i/o模件则将对应的数据放入回复的报文中,并通过主辅通讯总线同时发送该报文;
6.如权利要求5所述的一种通用型分散控制系统的冗余现场总线通讯方法,其特征在于:所述实时监控通讯总线包括控制器同时与主、辅通讯总线进行通讯,控制器实时监控通讯总线状态,监测是否出现一条总线通讯正常,另一条总线故障,当因dcs侧控制器通讯硬件故障、i/o模件通讯硬件故障及通讯介质损坏而造成通讯完全中断的事故,无需判断通讯链路状态,主、辅控制器内的i/o模件数据区,将具有相同的数据,在冗余dpu进行切换时,数据区的数据直接使用,辅控制器立刻切换为主通讯设备,无需重新与模件建立通讯关系,直接继续进行数据的扫描工作;
7.如权利要求6所述的一种通用型分散控制系统的冗余现场总线通讯方法,其特征在于:所述未来故障预测包括分析通讯数据模式来预测未来发生的故障并提前进行控制器交换:
8.一种采用如权利要求1~7任一所述的一种通用型分散控制系统的冗余现场总线通讯方法的系统,其特征在于:包括dcs控制器、i/o模件、冗余通讯控制模块、数据同步处理模块以及故障预测与切换模块;
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
