FC功能调用两次后出错,程序无法执行

在fc块中,变量定义是不是有问题,麻烦解答。另外计数器在调用中出错,是不是在计数器使用中定义有问题。调用一次使用正常,第二次就出问题,请高手解惑。谢谢

问题补充:
这个参数我试验了很多次,如何修改都不行,希望大师帮忙解答。问题出在哪里,具体解决办法。谢谢,小弟拜谢。

图片说明:

FC功能调用两次后出错,程序无法执行    FC功能调用两次后出错,程序无法执行   

最佳答案

几个问题:
1.FC,FB中尽量不要用绝对地址(你程序中的M0.0),尤其是多次调用必须用形参,你程序中必须使用一个IN-OUT变量来替代M0.0。
2.临时变量都必须先赋值后使用,你程序中的temp3就使用不正确,先使用了再赋值,这样得不到正确结果,你可以在第2段后直接用temp3复位计数器(用R指令)就可以了,前面的temp3去掉。
2.最后那段#E_0有什么用呢,直接用temp0输出给engin就可以了。

提问者对于答案的评价:
首先谢谢各位的耐心解答。最后经过几番试验,可以正常使用了。就是因为我没有将脉冲变量改成形参,而是直接用m0.0。因为我看到一些资料脉冲好不要用形参,可能也是我没有仔细弄清楚吧,望文生义了。
zengzy的解答基本就是问题所在。
你说的第二个2.临时变量都必须先赋值后使用,你程序中的temp3就使用不正确,先使用了再赋值,这样得不到正确结果,你可以在第2段后直接用temp3复位计数器(用R指令)就可以了,前面的temp3去掉。这个还是有点不清楚,你的意思是把程序2直接放到计数器R的位置吗。

最佳答案作者回复:
R指令就是直接把temp3的线圈位置换成R指令,操作数为你的计数器,类似于R   C1这样

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc238204.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月1日 下午5:47
下一篇 2018年12月1日 下午5:47

相关推荐