昨日通过直接把程序下载到PLC运行,通过网络调试助手基本完成了程序的运行。这基本算是黑盒测试,只有输入激励,观察输出结果,这当然不是现代程序测试的方法。
今日为了更深入的理解程序Debug的方法,我硬是把官方文档最开始的入门指南又照着例程走了一遍,基本算是理解了调试工具一二。Mon工具只能完成静态变量的Monitor,要想像博图一样在线看到局部变量的值还必须使用Logpoints,当然还有更高级的Tracer,这个今天还没来得及研究。
按照例程,编译项目,load程序进PLC,建立Mon文件,把需要监控的变量Add到Mon文件中,这个和博图添加监控表一样。我很兴奋地按下Start Monitoring,但是界面并没有任何反应,并没有像例程一样在监控表中显示变量当前值。然后进入CLI:apax mon -t 10.168.100 -f OD.mon
在终端中正确地打印了变量的当前值,我想这应该是工具配置问题,至少工具本身已经成功运行。
然后继续Logpoints的测试,在src文件中选择几个监控点Add to logpoint ,然后F5启动调试。
然而并没有如想象一样进入Debug模式。再次查阅官方文档“PLC Debug Extension”,学习Vscode 的“Debug Adapter Protocol”,配置调试器,
再次点击Start Debug,正常进入调试模式,再次Start Monitoring,OK。
通过网络调试助手,建立Tcp连接,发送数据包,收到回复(但不正确,明天继续)。