发布于 2010-03-29 10:34:04
17楼
看了楼上的参考,觉得MD100属于实际地址的调用,也就是说#INPUT_VALUE没有分配临时的存储空间,#INPUT_VALUE直接修改了MD100的存储位……
当第一次调用FC时MD100未赋值,#INPUT_VALUE加一以后就变成了1,实际上也就是MD100加一,而后无条件调用的FC就反复加一,但是如果在前面事先给MD100赋值情况就不同了,在每次调用FC时MD100都会被赋予初值,FC内部执行的结果也就只是#INPUT_VALUE加一。
这再一次应证了前辈们的教训:调用之前一定要先赋值……
楼主说这是工程里的一段程序的话,想必MD100在前面一定有赋值的语句存在。
活到老学到老!