一种基于代码植入的PLC代码缺陷的自动检测方法技术

技术编号:40044331 阅读:51 留言:0更新日期:2024-01-16 20:13
本发明专利技术公开一种基于代码植入的PLC代码缺陷的自动检测方法,包括对PLC源码编程,并配置检测参、在ST代码中插入全局变量及独立的C格式的检测代码,并在插入后后统一编译成C程序,并编译成目标代码,下装至目标板执行以及运行启动程序,生成检测报告,本发明专利技术在真实的运行环境中检测出导致代码性能下降的缺陷,并定位到PLC源代码,实现了精准定位;在性能方面,检测响应代码独立运行在检测程序中,与业务程序相互独立,保证在度量程序耗时的过程中,不受到CPU分时的影响而产生误差,实现了无扰检测。本发明专利技术解决了静态检测、动态检测、黑盒测试要么只能从逻辑上分析,不能在真实环境下模拟,要么只能得到结果,但无法定位原因的困难。

【技术实现步骤摘要】

本专利技术涉及代码检测,具体为一种基于代码植入的plc代码缺陷的自动检测方法。


技术介绍

1、plc是一种可编程的嵌入式设备,广泛应用于工业领域。业界要求plc程序同时具备稳定性、可靠性、实时性等特征,这就要求对plc程序的质量必须进行严格的检测,做到万无一失。

2、现有的plc检测技术分为三种,一种是静态检测,一种是动态检测,一种是黑盒测试。

3、静态检测是利用代码分析工具,在编译前,检测代码可能产生的缺陷,以及缺陷出现的代码位置。其优点是可深入到程序内部进行代码分析,找出漏洞,缺点是缺少在真实、动态运行环境下检验,对程序运行时动态出现的故障,尤其是运行时间、变化地址的合法性无法准确掌握。

4、动态检测是利用调试技术,在运行的状态下,模拟外部输入,判断程序变量的变化、程序发生的跳转、程序的输出是否符合预期。其优点是在能观测到程序真实的运行情况,缺点是这类检查判断需要消耗系统性能,甚至导致运行暂停,影响时间和性能测试,不能准确反映真实结果。

5、黑盒测试是利用已编译好的程序,直接模拟用户进行测试。虽然能测试程本文档来自技高网...

【技术保护点】

1.一种基于代码植入的PLC代码缺陷的自动检测方法,其特征在于,包括:

2.根据权利要求1所述的一种基于代码植入的PLC代码缺陷的自动检测方法,其特征在于,所述步骤S2中,在ST代码中插入全局变量及独立的C格式的检测代码步骤如下:

3.根据权利要求2所述的一种基于代码植入的PLC代码缺陷的自动检测方法,其特征在于,所述风险点包括定时器、循环和跳转。

4.根据权利要求2所述的一种基于代码植入的PLC代码缺陷的自动检测方法,其特征在于,各风险点要植入的检测通知代码和生成的响应代码、全局变量包括:计时器、POU调用链跟踪和循环统计。>

5.根据权利...

【技术特征摘要】

1.一种基于代码植入的plc代码缺陷的自动检测方法,其特征在于,包括:

2.根据权利要求1所述的一种基于代码植入的plc代码缺陷的自动检测方法,其特征在于,所述步骤s2中,在st代码中插入全局变量及独立的c格式的检测代码步骤如下:

3.根据权利要求2所述的一种基于代码植入的plc代码缺陷的自动检测方法,其特征在于,所述风险点包括定时器、循环和跳转。

4.根据权利要求2所述的一种基于代码植入的plc代码缺陷的自动检测方法,其特征在于,各风险点要植入的检测通知代码和生成的响应代码、全局变量包括:计时器、pou调用链跟踪和循环统计。

5.根据权利要求1所述的一种基于代码植入的plc代码缺陷的自动检测方法,其特征在于,所述c程序使用gcc编译成目标代码。

6.根据权利要求1所述的一种基于代码植入的plc代码缺陷的自动检测方法,所述步骤s3中,运行启动程序,生成检...

【专利技术属性】
技术研发人员:汪洋倪维东李从飞韩兵朱明刘平卫
申请(专利权)人:国电南京自动化股份有限公司
类型:发明
国别省市:

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

1