使用OOP编程时,定义完属性(Property)后,在online监控时无法看到属性参数,如下图,无法看到属性pApBpC:


为了在线监控属性,官方给出了如下解决方案:


添加属性:{attribute 'monitoring':= 'variable'}或者{attribute 'monitoring' := 'call'}





重新编译下载后可以在线监控pApB



{attribute 'monitoring':= 'variable'}:不可在Online调试中直接赋值;属性只显示最后一次访问该属性时的数值,如果不再访问该属性,则该值不再进行刷新。





变量内部改变,外部程序没有访问属性,则属性值不刷新,



通过Get访问器访问属性,属性值刷新。



{attribute 'monitoring' := 'call'}:每周期自动调用属性的Get访问器显示当前数值,通过Set访问器设定数值。



官方还给出了使用WatchList来监控:可以看到通过WatchList也只能看到定义完Monitoring属性的pApB,没有定义的pC时无法监控的。



使用Ads通讯对属性进行访问,通过TargetBrowser可以看到只能访问pB



使用上位程序,对三个属性进行访问:






因此,如果要使用Ads通讯访问功能块的属性参数,只能使用属性{attribute 'monitoring' := 'call'}


2024.10.16 张志强 供稿