本发明专利技术公开了一种基于DCS系统的CAN总线的通信方法、系统、设备及介质,所述CAN总线上设有若干个协议栈,所述协议栈包括第一协议栈和第二协议栈,所述第一协议栈用于获取DCS系统的交互数据,所述第二协议栈用于监听所述第一协议栈数据交互,并输出监听结果,所述通信方法包括:获取所述第二协议栈的监听结果;根据所述监听结果设置所述第一协议栈;根据所述第一协议栈的交互数据与所述DCS系统进行通信。通过设置第二协议栈监听第一协议栈得到监听结果,根据监听结果设置第一协议栈,由此使可靠的第一协议栈来获取DCS系统的交互数据以与DCS系统进行通信,保证了通信的可靠性和容错性,满足了发电厂等高可靠性应用场景。满足了发电厂等高可靠性应用场景。满足了发电厂等高可靠性应用场景。
【技术实现步骤摘要】
基于DCS系统的CAN总线的通信方法、系统、设备及介质
[0001]本专利技术属于分散式工业控制
,尤其涉及一种基于DCS系统的CAN总线的通信方法、系统、设备及介质。
技术介绍
[0002]随着信息科学与计算机技术的发展,目前大部分工业领域都实现了数字化控制,正向着智能化方向发展。其中,基于CAN总线(控制器局域网络)的智能传感器、智能执行器等智能仪表在发电厂等工控领域得到越来越广泛地运用。
[0003]随着CAN总线的仪表装机量的增加,DCS系统(分散控制系统)需要从原来的封闭系统转变为开放系统。因此,DCS系统需要一个与CAN总线智能仪表的数据交互接口。DCS系统不但能从这个接口获取CAN总线智能仪表的输入输出的实时数据(包括开关量数据或模拟量数据),还能从这个数据获取CAN总线工作状态信息、诊断信息等其他重要信息。CAN通讯模块需要有较高的可靠性要求,如果CAN通讯模块(CAN主站)发生故障造成CAN通讯失效,那么,DCS系统会失去对CAN总线上所有的CAN智能仪表(CAN从站)的监控和管理。这样的故障情况若发生在发电厂场景的重要设施中会造成严重后果。在现有技术中,一般使用CAN总线协议栈芯片实现DCS系统和CAN总线之间的数据交互,这种方法依赖于特定芯片供应商。
技术实现思路
[0004]本专利技术要解决的技术问题是为了克服现有技术中基于DCS系统的CAN总线通信依赖于芯片,并且可靠性欠佳的缺陷,提供一种基于DCS系统的CAN总线的通信方法、系统、设备及介质。
[0005]本专利技术是通过下述技术方案来解决上述技术问题:
[0006]作为本专利技术的第一方面,提供一种基于DCS系统的CAN总线的通信方法,所述CAN总线上设有若干个协议栈,所述协议栈包括第一协议栈和第二协议栈,所述第一协议栈用于获取DCS系统的交互数据,所述第二协议栈用于监听所述第一协议栈数据交互,并输出监听结果,所述通信方法包括:
[0007]获取所述第二协议栈的监听结果;
[0008]根据所述监听结果设置所述第一协议栈;
[0009]根据所述第一协议栈的交互数据与所述DCS系统进行通信。
[0010]较佳地,所述获取所述第二协议栈的监听结果的步骤之前包括:
[0011]从若干个所述协议栈中选取一个协议栈作为所述第一协议栈;
[0012]从若干个所述协议栈中选取一个或多个协议栈作为所述第二协议栈。
[0013]较佳地,所述获取所述第二协议栈的监听结果的步骤之前还包括:
[0014]接收所述DCS系统的协议栈配置信息;
[0015]根据所述协议栈配置信息配置所述第一协议栈和所述第二协议栈。
[0016]较佳地,若从若干个所述协议栈中选取多个协议栈作为所述第二协议栈,则所述
获取所述第二协议栈的监听结果的步骤包括:
[0017]统计所述第二协议栈的监听结果;
[0018]若相同的所述监听结果的个数达到预设阈值,则输出所述监听结果。
[0019]较佳地,所述根据所述监听结果设置所述第一协议栈的步骤包括:
[0020]根据所述监听结果判断所述第一协议栈的在线状态;
[0021]根据所述在线状态设置所述第一协议栈。
[0022]较佳地,所述监听结果包括心跳时间间隔和心跳丢失次数,所述根据所述监听结果判断所述第一协议栈的在线状态的步骤包括:
[0023]若所述心跳时间间隔低预设间隔阈值且所述心跳丢失次数低于预设次数阈值,则判断所述第一协议栈的状态为在线;
[0024]若所述心跳时间间隔高于预设间隔阈值和/或所述心跳丢失次数高于预设次数阈值,则判断所述第一协议栈的状态为离线。
[0025]较佳地,所述根据所述在线状态设置所述第一协议栈的步骤包括:
[0026]在所述第一协议栈的在线状态为离线时,从所述第二协议栈中选取一个协议栈设置为所述第一协议栈。
[0027]作为本专利技术的第二方面,提供一种基于DCS系统的CAN总线的通信系统,所述CAN总线上设有若干个协议栈,所述协议栈包括第一协议栈和第二协议栈,所述第一协议栈用于获取DCS系统的交互数据,所述第二协议栈用于监听所述第一协议栈数据交互,并输出监听结果,所述通信系统包括:
[0028]获取模块,用于获取所述第二协议栈的监听结果;
[0029]协议栈设置模块,用于根据所述监听结果设置所述第一协议栈;
[0030]通信模块,用于根据所述第一协议栈的交互数据与所述DCS系统进行通信。
[0031]作为本专利技术的第三方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述所述的基于DCS系统的CAN总线的通信方法。
[0032]作为本专利技术的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的基于DCS系统的CAN总线的通信方法。
[0033]本专利技术的积极进步效果在于:
[0034]本专利技术提供的一种基于DCS系统的CAN总线的通信方法、系统、设备及介质,通过设置第二协议栈监听第一协议栈得到监听结果,并根据监听结果设置所述第一协议栈,由此使可靠的第一协议栈来获取DCS系统的交互数据以与DCS系统进行通信,保证了CAN总线通信的可靠性和容错性,满足了发电厂等高可靠性应用场景。进一步地,此方法运用软件方法替代使用协议栈芯片进行DCS系统与CAN总线的数据交互的传统方法,摆脱了对特定供应商的依赖。
附图说明
[0035]图1为本专利技术实施例1的基于基于DCS系统的CAN总线的通信方法的流程示意图;
[0036]图2为本专利技术实施例1的基于DCS系统的CAN总线的通信方法的子流程示意图;
[0037]图3为本专利技术实施例1的基于DCS系统的CAN总线的通信方法的另一子流程示意图;
[0038]图4为本专利技术实施例1的基于DCS系统的CAN总线的通信方法的硬件结构图;
[0039]图5为本专利技术实施例1的基于DCS系统的CAN总线的通信方法中存储器的地址空间结构图;
[0040]图6为本专利技术实施例2的基于DCS系统的CAN总线的通信系统的模块示意图;
[0041]图7为本专利技术实施例3中的电子设备的结构示意图。
具体实施方式
[0042]下面通过实施例的方式进一步说明本专利技术,但并不因此将本专利技术限制在所述的实施例范围之中。
[0043]实施例1
[0044]本实施例提供一种基于DCS系统的CAN总线的通信方法,所述CAN总线上设有若干个协议栈,所述协议栈包括第一协议栈和第二协议栈,所述第一协议栈用于获取DCS系统的交互数据,所述第二协议栈用于监听所述第一协议栈数据交互,并输出监听结果,如图1所示,所述通信方法包括:
[0045]步骤101、获取第二协议栈的监听结果。
[0046]步骤10本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种基于DCS系统的CAN总线的通信方法,所述CAN总线上设有若干个协议栈,所述协议栈包括第一协议栈和第二协议栈,所述第一协议栈用于获取DCS系统的交互数据,所述第二协议栈用于监听所述第一协议栈数据交互,并输出监听结果,其特征在于,所述通信方法包括:获取所述第二协议栈的监听结果;根据所述监听结果设置所述第一协议栈;根据所述第一协议栈的交互数据与所述DCS系统进行通信。2.如权利要求1所述的基于DCS系统的CAN总线的通信方法,其特征在于,所述获取所述第二协议栈的监听结果的步骤之前包括:从若干个所述协议栈中选取一个协议栈作为所述第一协议栈;从若干个所述协议栈中选取一个或多个协议栈作为所述第二协议栈。3.如权利要求1所述的基于DCS系统的CAN总线的通信方法,其特征在于,所述获取所述第二协议栈的监听结果的步骤之前还包括:接收所述DCS系统的协议栈配置信息;根据所述协议栈配置信息配置所述第一协议栈和所述第二协议栈。4.如权利要求2所述的基于DCS系统的CAN总线的通信方法,其特征在于,若从若干个所述协议栈中选取多个协议栈作为所述第二协议栈,则所述获取所述第二协议栈的监听结果的步骤包括:统计所述第二协议栈的监听结果;若相同的所述监听结果的个数达到预设阈值,则输出所述监听结果。5.如权利要求4所述的基于DCS系统的CAN总线的通信方法,其特征在于,所述根据所述监听结果设置所述第一协议栈的步骤包括:根据所述监听结果判断所述第一协议栈的在线状态;根据所述在线状态设置所述第一协议栈。6.如权利要求5所述的基于DCS系统的CAN总线的通信...
【专利技术属性】
技术研发人员:田青旺,俞冠中,刘玉升,靳子洋,王楠,田钢,刘佳秀,韦雄,
申请(专利权)人:国核自仪系统工程有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。