如何使用诊断工具“APDiag”来调试C脚本?

n

说明:
除全局脚本诊断窗口外,APDiag输出窗口还支持C代码中“printf”指令生成的标准版本的显示。n

如用户使用自己的C脚本,在创建过程中应使用适当的“printf”指令来检查脚本是否工作正常。一旦整个C函数测试成功,就可以不再注释“printf”指令。以下指令仅作为建议。
n

No. 注意事项
1

因为APDiag输出窗口是所有脚本的输出窗口,输出应以这种方式设计:消息文本可以迅速的分配给相应的脚本。因此,消息文本应包含数据源(如C函数的名字)以及一个唯一的错误代码。n

如何使用诊断工具“APDiag”来调试C脚本?
图 01
n

例如,为了跳转到C代码中生成“#I101”消息的行,打开“SIWATYP_PMP_StandardCycle()”项目函数。然后查找包含唯一消息代码“#I101”的“printf”指令所在的行。

注意事项:
在大量脚本的情况下,可使用“Edit > Search”功能来进行查找。n

如何使用诊断工具“APDiag”来调试C脚本?
图 02

2

为了避免在每个“printf” 指令中写出函数名称,可使用C预处理器指令。当C函数编译时,“TD_FUNCTION”字符串会被替换为“SIWATYP_PMP_StandardCycle”。n

输出行“HA_P_001_PMP_P_RM_DIAG_byState”是一个诊断消息的错误样例,因为它不能提供数据源的任何唯一标记。n

如何使用诊断工具“APDiag”来调试C脚本?
图 03

3

当创建新的C函数时,“#I101”类型消息可以作为第一个指令装载到程序部分。首先这可以保证该脚本正确工作。

4

“printf”指令可用作调试指令。一个C函数的成功调用可以通过信息消息(例如“#I202”)来表示。而一个调用错误也可以通过错误消息(“E201”)来表示。

如何使用诊断工具“APDiag”来调试C脚本?
图 04

如果消息类型可直接从消息代码(错误码)中确定,这是很有用的。这可使用户将消息分类为错误(E错误),警告(W警告)或信息(I信息)。

5作为通用规则,用户自己的C函数也应该提供和“返回”错误信息,以利于在调用函数中调试。图04说明了如果一个文本域(本例中为“szPVName”)被错误的读出,错误代码“-201”被返回到调用函数。当函数正确终止时,值“0”或一个比“0”大的值(警告或信息)可被返回。
6一旦C函数测试成功,不再相关的“printf”指令(已变得多余的警告或信息)可被禁用。可通过简单地“注释”来完成。就是在行的开头插入2个正斜杠“//”。

注意事项:
当完成一个C函数的创建后,只有APDiag输出窗口中的错误消息保持活动通常是很有好处的。这也使用户以后能够快速的识别和修复错误。必须禁用不再相关的APDiag消息 ;否则,APDiag输出窗口以后要处理大量不重要的消息。通常只启用与当前正在运行的C函数相关的信息和警告消息是有意义的。

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc339551.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日
下一篇 2021年4月12日

相关推荐

发表回复

登录后才能评论