元老们,我遇到这样一个现象,请你们指点迷津。FC1是我做的一个调用子程序,我在FC2跟FC3分别调用FC1,这样是不是会出错啊,我在FC2或FC3里面监控FC1的输出为什么不稳定,一下是0一下是1。但是当我在OB1把FC3的使能切断后,只有FC2调用FC1时,输出就稳定了。我该怎么做输出就稳定了?
问题补充:
我的FC1里面有零时变量是不是不对啊,程序里没有双线圈输出的情况。在监控被调块FC1时里面的零时变量一下接通一下断开,监控的时候也是只调用了一次的情况下监控的,不知道为啥会出现这个现象。当我只在一个功能里面调用它时就没有错误了,真的很奇怪。
最佳答案
因为你看到的刷新fc1时,是fc2调用的还是fc1调用的你不知道。只要你在fc1内部没有用到全局变量就可以了。你只要把两次调用的fc1的引脚连接不同的变量然后fc处理后的结果是否正确就可以了。如果为了看程序的执行情况只要保证fc1调用一次就可以了。
提问者对于答案的评价:
问题我找到了,但是你们提供给我的信息也让我更多的学习了知识。原因是FC里面用了中间变量引起的,中间变量可以使用,但是一定先赋值在使用,如果这个中间变量没有前面的程序给他赋值,他将会随机输出。这个现象在仿真的时候是看不出来的,只有在实际的CPU内监控才能看到。
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc217210.html