S7300 结构话编程的奇怪现象

大家好,我遇到了个奇怪的现象如下:
我CPU315和上位机软件采用ProfiNet通讯,比如编写了一个通用型功能块FC20,我在其它FC里多次调用它,比如在FC1里每个程序段都调用它,大概10多次,第一段程序里实参付给形参,逻辑关系都没问题,但是第二段程序里也同样调用FC20,实参明明是ON,满足输出置on的条件,但实际没有输出,我在FC1里看到的实参是1,但是打开FC20对应的形参是0,我琢磨半天也没想明白,不知道哪里出问题了,我试着测试了一下第三段程序,也是同样的现象,后面还有很多段程序同样调用FC20,我就没试了,很郁闷,有几个问题想请教大家:
1:在FC里多次调用某个FC,如何正确监控对应形参和实参;
2:我描述的这种情况,如何解释,难道不容许在一个FC里反复调用某个通用性的FC吗? 除OB1之外,别的OB块需要加吗?

问题补充:
其实就是一个简单的启保停回路,只是条件很多而已,一些来自于上位机按钮,附上被调用的功能块一段主程序,见图1, 然后在其它FC里反复调用FC20,见图2,

图片说明:

S7300 结构话编程的奇怪现象    S7300 结构话编程的奇怪现象   

最佳答案

ss_pump_select_1这个temp的变量是否是先赋值了?临时变量要先赋值后使用。还可以用下面的方法分别来监控你的fc20,就可以找到问题在哪里了。
          Q:1.如果一个块在程序里多次调用,如何在不同的调用环境下监控该块?
     A:步骤如下:1.选择“调试”---“测试模式”;2.保存并下载被多次调用的块,保存并下载调用该块的FB/FC/OB,这一步是必须的;3在不同的调用地方右键,选择“通过调用路径监控”。这里要注意的是:当选择了一处监控而想监控下一个地方时,要将被监控的块选成非监控状态,否则不能改变监控路径。

提问者对于答案的评价:
我来试试看,谢谢!

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

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

相关推荐