NC代码异常检测方法、装置、设备及存储介质制造方法及图纸

技术编号:35988487 阅读:13 留言:0更新日期:2022-12-17 23:02
本发明专利技术涉及文本处理技术领域,提供一种NC代码异常检测方法、装置、设备及存储介质。所述方法包括:获取待检测的NC代码文件,对所述NC代码文件中的NC代码进行词法分析,检测所述NC代码中的异常词法;基于所述NC代码构建单向链表;基于所述单向链表对所述NC代码进行语法语义分析,检测所述NC代码中的异常语法和异常语义;根据所述异常词法、所述异常语法和所述异常语义,确定所述NC代码的异常信息。本发明专利技术提供的NC代码异常检测方法通过对NC代码进行词法分析、语法分析和语义分析,基于对NC代码内容的分析检测代码异常,可以检测异常的具体代码,提高了对NC代码异常的检测精度。提高了对NC代码异常的检测精度。提高了对NC代码异常的检测精度。

【技术实现步骤摘要】
NC代码异常检测方法、装置、设备及存储介质


[0001]本专利技术涉及文本处理
,尤其涉及一种NC代码异常检测方法、装置、设备及存储介质。

技术介绍

[0002]随着信息技术的快速发展,互联网的开放性增强了制造装备在通信、自动控制、存储和计算方面的能力。工业互联网使得原来离散孤立的制造装备变成了互联的智能装备。新型制造系统具有了自感知、自预测、自优化、自匹配等能力。然而,互联网的开放性给制造业带来一系列信息安全问题,扩大了制造系统的攻击面,使攻击者可以侵入制造系统篡改或窃取数据。而在工业制造系统中,其核心控制逻辑文件是NC代码文件,制造系统按照NC文件中指定的加工工序制造加工。目前,现有方式大多基于物理性能和指标,采用侧信道的方法来检测NC代码异常,可以探测到制造系统的物理变化,但是却无法确定NC代码异常的具体信息,因此,对NC代码异常的检测精度不足。

技术实现思路

[0003]本专利技术提供一种NC代码异常检测方法、装置、设备及存储介质,用以解决现有技术中采用侧信道的方式检测NC代码的异常,对NC代码异常的检测精度不足的缺陷。
[0004]本专利技术提供一种NC代码异常检测方法,包括:
[0005]获取待检测的NC代码文件,对所述NC代码文件中的NC代码进行词法分析,检测所述NC代码中的异常词法;
[0006]基于所述NC代码构建单向链表;
[0007]基于所述单向链表对所述NC代码进行语法语义分析,检测所述NC代码中的异常语法和异常语义;
[0008]根据所述异常词法、所述异常语法和所述异常语义,确定所述NC代码的异常信息。
[0009]在一个实施例中,所述对所述NC代码进行词法分析,检测所述NC代码中的异常词法的步骤,包括:
[0010]将所述NC代码的字符序列转化为标记序列,根据所述标记序列生成多个标记块;
[0011]检测各所述标记块的标记类型,当检测到预设标记类型的标记块时,获取所述预设标记类型的标记块中的关键字信息;所述预设标记类型包括关键字标记类型和非法字符标记类型;
[0012]根据所述预设标记类型的标记块中的关键字信息,检测所述预设标记类型的标记块中的异常词法。
[0013]在一个实施例中,所述基于所述NC代码文件中的NC代码构建单向链表的步骤,包括:
[0014]获取所述NC代码文件中的NC代码的各个程序段;
[0015]创建各所述程序段对应的链表节点;
[0016]将任一所述程序段中的目标标记块存放到对应的链表节点中,并生成各所述目标标记块对应的数据域和指针域;所述数据域中存放各所述目标标记块中的关键字信息;所述指针域用于指示各所述目标标记块在所述链表节点中的位置信息;
[0017]根据各所述链表节点生成所述NC代码文件对应的单向链表。
[0018]在一个实施例中,所述基于所述单向链表对所述NC代码进行语法语义分析,检测所述NC代码中的异常语法和异常语义的步骤,包括:
[0019]根据预设的语法规则,基于所述单向链表对所述NC代码进行语法分析,检测所述NC代码中的异常语法;
[0020]根据预设编程手册生成代码语料库;所述代码语料库包括功能代码语料库和辅助功能代码语料库;
[0021]根据所述代码语料库和预设的语义规则,基于所述单向链表对所述NC代码进行语义分析,检测所述NC代码中的异常语义。
[0022]在一个实施例中,所述根据预设的语法规则,基于所述单向链表对所述NC代码进行语法分析,检测所述NC代码中的异常语法的步骤,包括:
[0023]基于所述单向链表中各所述链表节点的指针域,获取各所述链表节点中的目标关键字信息;所述目标关键字信息包括功能代码和辅助功能代码;
[0024]将所述目标关键字信息与预设的语法规则匹配,检测所述语法规则匹配不成功的异常语法;所述语法规则包括所述功能代码对应的第一语法规则,以及所述辅助功能代码对应的第二语法规则。
[0025]在一个实施例中,所述根据所述代码语料库和预设的语义规则,基于所述单向链表对所述NC代码进行语义分析,检测所述NC代码中的异常语义的步骤,包括:
[0026]基于所述单向链表中各所述链表节点的指针域,获取各所述链表节点中的目标关键字信息;所述目标关键字信息包括功能代码和辅助功能代码;
[0027]根据所述代码语料库对所述目标关键字信息进行解析,生成所述目标关键字信息对应的自然语言;
[0028]对所述自然语言进行上下文语义检测,获取所述自然语言的语义信息;
[0029]将所述语义信息与预设的语义规则进行匹配,检测与所述语义规则匹配不成功的异常语义。
[0030]在一个实施例中,所述异常词法包括非法参数和非法字符;所述异常语法包括指令组合错误、指令与功能字匹配错误、指令顺序错误、逻辑错误、工艺错误和程序起始指令错误;所述异常语义包括功能字的值异常、必要指令异常、加工顺序错误和加工参数错误。
[0031]本专利技术还提供一种NC代码异常检测装置,包括:
[0032]词法分析模块,用于获取待检测的NC代码文件,对所述NC代码文件中的NC代码进行词法分析,检测所述NC代码中的异常词法;
[0033]链表构建模块,用于基于所述NC代码构建单向链表;
[0034]语法语义分析模块,用于基于所述单向链表对所述NC代码进行语法语义分析,检测所述NC代码中的异常语法和异常语义;
[0035]异常检测模块,用于根据所述异常词法、所述异常语法和所述异常语义,确定所述NC代码的异常信息。
[0036]本专利技术还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述NC代码异常检测方法。
[0037]本专利技术还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述NC代码异常检测方法。
[0038]本专利技术还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述NC代码异常检测方法。
[0039]本专利技术提供的NC代码异常检测方法、装置、设备及存储介质,通过对NC文件中的NC代码进行词法分析、语法分析和语义分析,基于对NC代码内容的分析来检测代码异常,不仅可以检测到存在的代码异常,还可以检测到异常的具体代码,综合词法分析、语法分析和语义分析的检测结果来检测NC代码的异常,提高了对NC代码异常的检测精度。
附图说明
[0040]为了更清楚地说明本专利技术或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0041]图1是本专利技术提供的NC代码异常检测方法的流程示意图之一;<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种NC代码异常检测方法,其特征在于,包括:获取待检测的NC代码文件,对所述NC代码文件中的NC代码进行词法分析,检测所述NC代码中的异常词法;基于所述NC代码构建单向链表;基于所述单向链表对所述NC代码进行语法语义分析,检测所述NC代码中的异常语法和异常语义;根据所述异常词法、所述异常语法和所述异常语义,确定所述NC代码的异常信息。2.根据权利要求1所述的NC代码异常检测方法,其特征在于,所述对所述NC代码进行词法分析,检测所述NC代码中的异常词法的步骤,包括:将所述NC代码的字符序列转化为标记序列,根据所述标记序列生成多个标记块;检测各所述标记块的标记类型,当检测到预设标记类型的标记块时,获取所述预设标记类型的标记块中的关键字信息;所述预设标记类型包括关键字标记类型和非法字符标记类型;根据所述预设标记类型的标记块中的关键字信息,检测所述预设标记类型的标记块中的异常词法。3.根据权利要求2所述的NC代码异常检测方法,其特征在于,所述基于所述NC代码文件中的NC代码构建单向链表的步骤,包括:获取所述NC代码文件中的NC代码的各个程序段;创建各所述程序段对应的链表节点;将任一所述程序段中的目标标记块存放到对应的链表节点中,并生成各所述目标标记块对应的数据域和指针域;所述数据域中存放各所述目标标记块中的关键字信息;所述指针域用于指示各所述目标标记块在所述链表节点中的位置信息;根据各所述链表节点生成所述NC代码文件对应的单向链表。4.根据权利要求3所述的NC代码异常检测方法,其特征在于,所述基于所述单向链表对所述NC代码进行语法语义分析,检测所述NC代码中的异常语法和异常语义的步骤,包括:根据预设的语法规则,基于所述单向链表对所述NC代码进行语法分析,检测所述NC代码中的异常语法;根据预设编程手册生成代码语料库;所述代码语料库包括功能代码语料库和辅助功能代码语料库;根据所述代码语料库和预设的语义规则,基于所述单向链表对所述NC代码进行语义分析,检测所述NC代码中的异常语义。5.根据权利要求4所述的NC代码异常检测方法,其特征在于,所述根据预设的语法规则,基于所述单向链表对所述NC代码进行语法分析,检测所述NC代码中的异常语法的步骤,包括:基于...

【专利技术属性】
技术研发人员:吕飞孙利民李泽东吕世超潘志文薛娜孙玉砚
申请(专利权)人:中国科学院信息工程研究所
类型:发明
国别省市:

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

1