回复内容:
对: DARLINGZW 哥们儿,地址表识里边用什么在脚本里也得用什么,要不然字... 内容的回复!
啊,感谢你的回复,不好意思我打字的时候手滑了。
更正一下,我的意思是
✔︎ - SetB( "@水阀A控制位" )
✗ - SetB( "@水阀" + "A" + "控制位" )
第一行可以运行,
第二行的命令没有效果。
另外说明一下我想这么做的原因是因为PLC的位地址不能通过NewNoAddr函数来偏移。
举个例子来说ModBus的地址格(例如 @2#1:W5_X_000001 )既不能用NewNoAddr来计算偏移位后的新地址,也不能NewStatAddr来计算偏移站数后的新地址,测试的结果是这两个函数在处理这类地址的时候只返回一个“@”
所以我只好把要用到的PLC地址都在地址标识表里面标识好,然后通过字符串的操作来计算偏移后的地址的别名进而改动里面的数据。
在这个例子中 @水阀A控制位 @水阀B控制位 …… @水阀E控制位 的地址都是标好了的。
这样我想控制第 n 个水阀,那么就可以通过
"@水阀" + Chr( Asc("A") -1 + n ) + "控制位"
这个语句来算出那个水阀的控制的地址,但是这样算出来的结果传递给SetB函数却没有效果。我的问题就是为什么都是一样的字符串,整块输入的就有效,平凑起来的就无效呢?