恭喜,你发布的帖子
发布于 2016-12-01 09:05:11
4楼
bell为什么要用in_out类型呢?只是赋值啊?out类型为什么不行?
不是赋值就一定是OUT!
如果是OUT的话,FC要求每一周期都有一个固定的输出,否则可能某一周期会出现随机值。
就像源程序那里:IF ... THEN BELL=TRUE;
那么IF后面的值如果是FALSE,那BELL=??
如果BELL是INOUT就没有问题了,就算某一周期不赋值,也会有固定的实参的值。
通常编程一定要注意这两点:
TEMP和OUT一定要先赋值后使用
OUT保证每周期都要有赋值,不然的话建议换成INOUT
如果看过西门子的程序的话,会发现,程序开始都会有给所有输出清0的程序,这样保证每个周期至少有一个确定的0值。当然这也带来了其他问题,就是各种异步程序,如果想看到DONE/ERROR/STATUS,需要写程序捕捉,否则下一周期就清0了。
请填写推广理由:
分享
只看
楼主