发布于 2011-05-24 11:48:11
5楼
这个问题以前也遇到过,开始让我很吃惊!后来查了一些资料,有了一定的认识,通过程序测试找到了相应的解决办法。当然FC的实参用I、Q、M、PI、PQ是没有问题的。如果像用DB1.DBX0.3这样的实参作为FC的实参确实存在问题,我个人认为是FC在处理DB寻址时,地址指针与I、Q、M、PI、PQ作为实参寻址方式不同引起的。如果FC用DB作实参,解决的方法:在调用FC之前,先让地址指针指向你要用的DB块地址。比如:
OPN DB1
A DBX0.1
R DBX0.2
A DBX0.1
S DBX0.3
调用FC时可以这样:
OPN DB1
CALL FC1
......后面对FC1赋DB绝对地址作为实参,这个绝对地址不需要再加DB块名称了。
大家可以测试一下。
佛对我说:“你的痛苦来自于你的欲望,没有欲望也就没有痛苦!”