System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种可编程控制器系统及其控制方法技术方案_技高网

一种可编程控制器系统及其控制方法技术方案

技术编号:41208511 阅读:2 留言:0更新日期:2024-05-09 23:30
本发明专利技术提供了一种可编程控制器系统及其控制方法。该系统包括:两个CPU模块、至少一个IO模块、分别与各CPU模块连接的选择器、以及连接选择器和各IO模块的总线,其中两个CPU模块被配置为各自独立地逻辑运行,逻辑运行包括向选择器发送IO模块信息读取请求,根据选择器反馈的IO模块信息生成控制命令,并将控制命令发送至选择器;选择器被配置为从至少一个IO模块读取IO模块信息并存储IO模块信息,响应于IO模块信息读取请求将所存储的相应的IO模块信息反馈给各CPU模块,按照预设决策规则选择所接收到的两个CPU模块的控制命令之一作为有效命令并将有效命令下发给相应的IO模块。本发明专利技术可方便实现数据纠错。

【技术实现步骤摘要】

本专利技术涉及自动控制,特别是一种可编程控制器系统及其控制方法


技术介绍

1、可编程逻辑控制器在自动控制领域有着广泛的应用。可编程控制器的核心是一台cpu模块处理逻辑程序,逻辑程序由工程师结合现场控制需求编写下载产生。控制器的外围是若干io模块,一方面感知现场传感器的物理信号,包括开关量、模拟量,另一方面接收cpu模块的控制命令,执行到输出端口,包括开关量输出(binary output,简称bo)、模拟量输出(analog output,简称ao)。cpu与io模块之间以总线相连。

2、可编程控制器的稳定可靠性极其重要,因此现有技术中已经提出了冗余结构以保证可编程控制器的可靠性。现有的冗余型可编程控制器系统的结构通常是2个cpu同时挂接在总线上,一个为主机状态,另一个为备机状态。主机通过总线读取io模块的输入端口信息,并向io模块发送对于输出端口的控制命令。备机通过心跳信号监视主机的工作状态,当发现主机的心跳信号消失达到一定的时间,判定主机状态异常,备机切换为主机状态,接管对io模块的控制,而原主机切换为备机状态。为了确保2个cpu之间的无缝切换,还要求主机不断向备机同步数据。数据传递的途径是2个cpu之间的数据同步通道,比如专门的串口或tcp/ip上的专门socket(套接字)。

3、这种冗余型可编程控制器系统的结构虽然可以一定程度上防止cpu主机突然故障带来的危害,但是,因为cpu内部的数据自检机制发现数据错误必然存在一定的滞后,容易造成所同步的数据在被自检机制发现错误之前传给了备机,在主机进入自我修复状态、备机切换为主机状态时,备机由于收到了错误的数据导致它其实也是处于一个异常的工作状态,进而导致io模块执行了异常工作状态下的备机的控制命令从而产生错误。


技术实现思路

1、鉴于上述问题,本专利技术提供了一种克服上述问题或者至少部分地解决上述问题的可编程控制器系统及其控制方法。

2、本专利技术的一个目的是提供一种不采用主机-备机cpu结构从而能够避免错误数据从一个cpu被同步至另一个cpu的冗余型可编程控制器系统及其控制方法。

3、本专利技术一个进一步的目的是纠正两个cpu模块的控制命令之间的误差。

4、本专利技术另一个进一步的目的是消除两个cpu模块的模拟量输出之间的误差。

5、特别地,根据本专利技术的一方面,提供了一种可编程控制器系统,包括:两个cpu模块、至少一个io模块、分别与各cpu模块连接的选择器、以及连接选择器和各io模块的总线,其中

6、两个cpu模块被配置为各自独立地逻辑运行,逻辑运行包括向选择器发送io模块信息读取请求,根据选择器反馈的io模块信息生成控制命令,并将控制命令发送至选择器;

7、选择器被配置为从至少一个io模块读取io模块信息并存储io模块信息,响应于io模块信息读取请求将所存储的相应的io模块信息反馈给各cpu模块,按照预设决策规则选择所接收到的两个cpu模块的控制命令之一作为有效命令并将有效命令下发给相应的io模块。

8、可选地,控制命令包括针对开关量输出的控制命令和/或针对模拟量输出的控制命令;

9、预设决策规则包括:对于任意一个开关量输出,若两个cpu模块的针对开关量输出的控制命令一致,选择所接收到的两个cpu模块的针对开关量输出的控制命令之任一作为有效命令,否则,选择器保持原状态不变;对于任意一个模拟量输出,选择器分别计算两个cpu模块的针对模拟量输出的控制命令所指示的模拟量输出值与上一时刻被选为有效命令的针对模拟量输出的控制命令所指示的模拟量输出值之间的差值,并选择差值最小的针对模拟量输出的控制命令作为有效命令。

10、可选地,各cpu模块包括带有迭代运算功能的逻辑功能块;

11、选择器还被配置为:每当选择了一针对模拟量输出的控制命令作为有效命令,将选择的针对模拟量输出的控制命令所指示的模拟量输出值返回至各cpu模块,以作为模拟量输出的返回值;

12、各cpu模块中的逻辑功能块被配置为:对于任意一个模拟量输出,根据选择器当前反馈的io模块信息和上一时刻模拟量输出的返回值,按照ao(k+1)=ao(k)+x进行迭代运算以得到模拟量输出的当前时刻的模拟量输出值,以用于其所在的cpu模块基于当前时刻的模拟量输出值生成控制命令,其中,ao(k+1)和ao(k)分别表示模拟量输出的当前时刻的模拟量输出值和上一时刻的返回值,x表示当前时刻相对上一时刻的模拟量输出的调整量,其与当前反馈的io模块信息相关。

13、可选地,选择器还被配置为:监控各cpu模块是否存在通信异常;若cpu模块中之一者发生通信异常,则直接选择另一者发送的控制命令作为有效命令,若两个cpu模块均不存在通信异常,则按照预设决策规则从两个cpu模块发送的控制命令中选择有效命令,其中,通信异常包括在预设时长内未接收到cpu模块发送的通信信息,或所接收到的来自cpu模块的通信信息不符合相应规定。

14、可选地,两个cpu模块之间设置有数据同步通道;

15、两个cpu模块还被配置为:定期对各自的状态数据进行自检;当一个cpu模块发现自身的状态数据异常时,停止逻辑运行,通过数据同步通道向另一个cpu模块发送数据同步请求,另一个cpu模块响应于接收到数据同步请求,停止逻辑运行并通过数据同步通道向请求的cpu模块传送状态数据;在状态数据传送结束后,两个cpu模块同时恢复逻辑运行。

16、根据本专利技术的另一方面,还提供了一种可编程控制器系统的控制方法,可编程控制器系统包括两个cpu模块、至少一个io模块、分别与各cpu模块连接的选择器、以及连接选择器和各io模块的总线,控制方法包括:

17、各cpu模块独立地向选择器发送io模块信息读取请求;

18、选择器响应于接收到各cpu模块的io模块信息读取请求,向各cpu模块反馈相应的io模块信息,io模块信息由选择器预先从io模块读取并存储;

19、各cpu模块根据所反馈的io模块信息生成控制命令,并将控制命令发送至选择器;

20、选择器按照预设决策规则选择所接收到的两个cpu模块的控制命令之一作为有效命令并将有效命令下发给相应的io模块。

21、可选地,控制命令包括针对开关量输出的控制命令和/或针对模拟量输出的控制命令;

22、预设决策规则包括:对于任意一个开关量输出,若两个cpu模块的针对开关量输出的控制命令一致,选择所接收到的两个cpu模块的针对开关量输出的控制命令之任一作为有效命令,否则,选择器保持原状态不变;对于任意一个模拟量输出,选择器分别计算两个cpu模块的针对模拟量输出的控制命令所指示的模拟量输出值与上一时刻被选为有效命令的针对模拟量输出的控制命令所指示的模拟量输出值之间的差值,并选择差值最小的针对模拟量输出的控制命令作为有效命令。

23、可选地,各cpu模块包括带有迭代运算功能的逻辑功能块,控制方法本文档来自技高网...

【技术保护点】

1.一种可编程控制器系统,其特征在于,包括:两个CPU模块、至少一个IO模块、分别与各所述CPU模块连接的选择器、以及连接所述选择器和各所述IO模块的总线,其中

2.根据权利要求1所述的可编程控制器系统,其特征在于,所述控制命令包括针对开关量输出的控制命令和/或针对模拟量输出的控制命令;

3.根据权利要求2所述的可编程控制器系统,其特征在于,各所述CPU模块包括带有迭代运算功能的逻辑功能块;

4.根据权利要求1-3中任一项所述的可编程控制器系统,其特征在于,所述选择器还被配置为:监控各所述CPU模块是否存在通信异常;若所述CPU模块中之一者发生通信异常,则直接选择另一者发送的控制命令作为所述有效命令,若两个所述CPU模块均不存在通信异常,则按照所述预设决策规则从两个所述CPU模块发送的控制命令中选择所述有效命令,其中,所述通信异常包括在预设时长内未接收到所述CPU模块发送的通信信息,或所接收到的来自所述CPU模块的通信信息不符合相应规定。

5.根据权利要求1-3中任一项所述的可编程控制器系统,其特征在于,两个所述CPU模块之间设置有数据同步通道;

6.一种可编程控制器系统的控制方法,其特征在于,所述可编程控制器系统包括两个CPU模块、至少一个IO模块、分别与各所述CPU模块连接的选择器、以及连接所述选择器和各所述IO模块的总线,所述控制方法包括:

7.根据权利要求6所述的控制方法,其特征在于,所述控制命令包括针对开关量输出的控制命令和/或针对模拟量输出的控制命令;

8.根据权利要求7所述的控制方法,其特征在于,各所述CPU模块包括带有迭代运算功能的逻辑功能块,所述控制方法还包括:

9.根据权利要求6-8中任一项所述的控制方法,其特征在于,在所述选择器按照预设决策规则选择所接收到的两个所述CPU模块的控制命令之一作为有效命令之前,还包括:

10.根据权利要求6-8中任一项所述的控制方法,其特征在于,两个所述CPU模块之间设置有数据同步通道;

...

【技术特征摘要】

1.一种可编程控制器系统,其特征在于,包括:两个cpu模块、至少一个io模块、分别与各所述cpu模块连接的选择器、以及连接所述选择器和各所述io模块的总线,其中

2.根据权利要求1所述的可编程控制器系统,其特征在于,所述控制命令包括针对开关量输出的控制命令和/或针对模拟量输出的控制命令;

3.根据权利要求2所述的可编程控制器系统,其特征在于,各所述cpu模块包括带有迭代运算功能的逻辑功能块;

4.根据权利要求1-3中任一项所述的可编程控制器系统,其特征在于,所述选择器还被配置为:监控各所述cpu模块是否存在通信异常;若所述cpu模块中之一者发生通信异常,则直接选择另一者发送的控制命令作为所述有效命令,若两个所述cpu模块均不存在通信异常,则按照所述预设决策规则从两个所述cpu模块发送的控制命令中选择所述有效命令,其中,所述通信异常包括在预设时长内未接收到所述cpu模块发送的通信信息,或所接收到的来自所述cpu模块的通信信息不符合相应规定。<...

【专利技术属性】
技术研发人员:张青董世运张驰赵佳明张建刘春联胡羽
申请(专利权)人:北京和欣运达科技有限公司
类型:发明
国别省市:

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

1