本申请涉及数控,尤其涉及一种基于实时系统的数据故障诊断系统及其故障记录方法。
背景技术:
1、随着数控技术的不断发展,数控设备在各个领域得到了广泛应用。数控设备日常使用过程中难免会出现故障和异常情况,对于实时系统来说,常规的系统诊断方式需要频繁开辟内存或者读写硬盘文件,对系统性能影响较大,无法满足实时性要求。
技术实现思路
1、本申请实施例提供了一种基于实时系统的数据故障诊断系统及其故障记录方法,能够适于实时系统快速、准确提供故障诊断结果。
2、第一方面,本申请的实施例提供了一种基于实时系统的数据故障诊断系统,包括主站和从站,所述主站和所述从站通过总线通讯连接;
3、所述主站包括主站触发器和映射到共享内存的主站环形缓冲区,所述主站用于将本地的诊断数据周期性写入所述主站环形缓冲区;
4、所述从站包括从站触发器和从站环形缓冲区,所述从站用于将本地的诊断数据周期性写入所述从站环形缓冲区;
5、所述主站触发器和所述从站触发器通过预设的全局变量同时启动,并由预设的故障触发条件触发;在所述主站触发器触发后,所述主站往所述主站环形缓冲区写入第一容量的诊断数据后停止写入,在所述从站触发器触发后,所述从站往所述从站环形缓冲区写入第二容量的诊断数据后停止写入,并向所述主站上传所述从站环形缓冲区记录的诊断数据;
6、所述主站将所述从站环形缓冲区记录的诊断数据写入所述共享内存,并由应用层通过所述共享内存汇总所述主站环形缓冲区记录的诊断数据和所述从站环形缓冲区记录的诊断数据并对汇总的诊断数据进行解析,输出诊断结果。
7、在一些实施例中,所述共享内存的大小根据系统的通讯周期、需要记录的通讯周期数量以及需要记录的模块数量确定;所述主站环形缓冲区和所述从站环形缓冲区根据所述共享内存的大小创建,所述主站环形缓冲区和所述从站环形缓冲区的大小相同。
8、在一些实施例中,所述第一容量为所述主站环形缓冲区的一半,所述第二容量为所述从站环形缓冲区的一半。
9、在一些实施例中,还包括应用层触发器,所述应用层触发器用于接收用户的中断指令后触发所述主站触发器和所述从站触发器。
10、在一些实施例中,还包括人机交互界面,所述应用层用于将所述诊断结果显示在所述人机交互界面。
11、第二方面,本申请的实施例还提供了一种数据故障诊断系统的故障记录方法,应用于如第一方面所述的数据故障诊断系统,所述故障记录方法包括:
12、所述主站根据所述共享内存创建主站环形缓冲区,所述从站根据所述共享内存创建从站环形缓冲区,所述主站触发器和所述从站触发器通过预设的全局变量同时启动;
13、当所述数据故障诊断系统出现故障触发所述主站触发器和所述从站触发器,所述主站往所述主站环形缓冲区写入第一容量的诊断数据后停止写入,所述从站往所述从站环形缓冲区写入第二容量的诊断数据后停止写入;
14、所述从站向所述主站上传所述从站环形缓冲区记录的诊断数据,所述主站将所述从站环形缓冲区记录的诊断数据写入所述共享内存;
15、所述数据故障诊断系统的应用层通过所述共享内存汇总所述主站环形缓冲区记录的诊断数据和所述从站环形缓冲区记录的诊断数据并对汇总的诊断数据进行解析,输出诊断结果。
16、在一些实施例中,所述方法还包括:
17、初始化模块根据系统的通讯周期、需要记录的通讯周期数量以及需要记录的模块数量创建所述共享内存,并初始化所述主站触发器和所述从站触发器,通过预设的全局变量同时启动所述主站触发器和所述从站触发器;
18、启动所述主站并通过所述主站与所述从站建立通讯,所述主站和所述从站之间总线通讯协议通讯。
19、在一些实施例中,所述对汇总的诊断数据进行解析,输出诊断结果,包括:
20、应用层从所述共享内存汇总的诊断数据并将汇总的诊断数据写入磁盘文件;
21、解析器解释所述磁盘文件,得到所述诊断数据中的数据头、模块名称、时间戳、问题原因和记录数据,并按照时间戳的时间顺序进行排序,得到诊断数据表。
22、在一些实施例中,在得到诊断数据表之后,所述方法还包括:
23、将所述诊断数据表按照预设的用户界面显示在人机交互界面中。
24、在一些实施例中,所述第一容量为所述主站环形缓冲区的一半,所述第二容量为所述从站环形缓冲区的一半;所述主站往所述主站环形缓冲区写入第一容量的诊断数据后停止写入,包括:
25、所述主站继续记录二分之一所述主站环形缓冲区的容量大小的诊断数据,以使所述主站环形缓冲区内保存触发前的诊断数据和触发后的诊断数据,且触发前的诊断数据和触发后的诊断数据的数据量大小相等;
26、所述从站往所述从站环形缓冲区写入第二容量的诊断数据后停止写入,包括:
27、所述从站继续记录二分之一所述从站环形缓冲区的容量大小的诊断数据,以使所述从站环形缓冲区内保存触发前的诊断数据和触发后的诊断数据,且触发前的诊断数据和触发后的诊断数据的数据量大小相等。
28、本申请实施例的基于实时系统的数据故障诊断系统及其故障记录方法,至少具有以下有益效果:主站基于主站环形缓冲区记录主站的诊断数据,从站基于从站环形缓冲区记录从站的诊断数据,通过总线通讯的方式以及环形缓冲区fifo的特性提高诊断数据记录的实时性,并且在系统中增加主站触发器和从站触发器,主站触发器和从站触发器同时启动并且在满足故障触发条件的情况下被同时触发,主站触发器触发后使得主站继续写入第一容量的诊断数据到主站环形缓冲区,从站触发器出发后使得从站继续写入第二容量的诊断数据到从站环形缓冲区,并将记录的诊断数据上传到主站,这样应用层就能通过共享内存读取到主站和从站的诊断数据,从而解析诊断数据得到对应的诊断结果;通过上述方法,在满足实时系统的实时性要求的前提下,针对诊断数据,采用触发器的方式记录故障前后两部分诊断数据,并汇总到应用层解析处理,得出诊断结果,从而能够为实时系统快速、准确提供故障诊断结果。
29、本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在说明书以及附图中所特别指出的结构来实现和获得。
1.一种基于实时系统的数据故障诊断系统,其特征在于,包括主站和从站,所述主站和所述从站通过总线通讯连接;
2.根据权利要求1所述的系统,其特征在于,所述共享内存的大小根据系统的通讯周期、需要记录的通讯周期数量以及需要记录的模块数量确定;所述主站环形缓冲区和所述从站环形缓冲区根据所述共享内存的大小创建,所述主站环形缓冲区和所述从站环形缓冲区的大小相同。
3.根据权利要求2所述的系统,其特征在于,所述第一容量为所述主站环形缓冲区的一半,所述第二容量为所述从站环形缓冲区的一半。
4.根据权利要求1所述的系统,其特征在于,还包括应用层触发器,所述应用层触发器用于接收用户的中断指令后触发所述主站触发器和所述从站触发器。
5.根据权利要求1所述的系统,其特征在于,还包括人机交互界面,所述应用层用于将所述诊断结果显示在所述人机交互界面。
6.一种数据故障诊断系统的故障记录方法,其特征在于,应用于如权利要求1至5任一所述的数据故障诊断系统,所述故障记录方法包括:
7.根据权利要求6所述的故障记录方法,其特征在于,所述方法还包括:
8.根据权利要求6所述的故障记录方法,其特征在于,所述对汇总的诊断数据进行解析,输出诊断结果,包括:
9.根据权利要求8所述的故障记录方法,其特征在于,在得到诊断数据表之后,所述方法还包括:
10.根据权利要求6所述的故障记录方法,其特征在于,所述第一容量为所述主站环形缓冲区的一半,所述第二容量为所述从站环形缓冲区的一半;所述主站往所述主站环形缓冲区写入第一容量的诊断数据后停止写入,包括:
