关于带参数FC、FB编程的疑问

简单的例子:控制ABC三台不同的电机,三台电机的运转控制是一样的,都是启保停。所以用带参FC1编一个程序然后用ob1调用。这里的疑问是,三台电机的启动、停止时间不一样,那么调用FC1时,如A电机启动、B电机停止、C电机准备停止,三台电机三个不同的状态都赋予不同实参,FC1是怎么运作的啊???因为fc1只有一个程序但却有不同的实参同时参与,这样行吗?

问题补充:
补充下:
1、plc是单线程的运作,那么我要三台电机同时启动,这样三个实参同时赋予给FC1也不冲突吗?
2、或者这样理解对吗,就是ob1是按照由上到下的顺序调用不同实参fc1,所以三台电机虽然是同时启动,但是实际启动时间是不一样的,只是plc扫描时间很快,看不出来间隔而已?这样理解对吗?

最佳答案

A电机调用一次FC后,实参得到了数据,而形式参数就被释放了,接着再调用另一台,就算是同样的程序,也不会冲突,这也正是这种结构化编程的好处,同样的功能只要调用块即可。要注意在FC的程序里,不能使用全局的数据,也就是说,不能让FC块就记忆的能力,否者这些变量会影响到下一次的使用。
补充:PLC执行程序是按顺序执行的,你的第2个理解是正确的。

提问者对于答案的评价:
很好,谢谢大师指教了,这样带参编程就全懂了。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年6月18日
下一篇 2017年6月18日

相关推荐