多次调用FB块,不同的背景数据块输出结果相同

改一段输送线程序,调试过程中发现调试一个变频器的情况下所有变频器同时启动,查看所有DB块数据都是一样的,请问是什么原因照成这种现象?单独实验单一内容如IN#=#TEMP1    #TEMP1=OUT1 却不会出现, 附程序截图 ,学艺不精程序写的不是很好。

问题补充:
临时变量均 在TEMP组里面编写,INTOUT无变量,某次调用未赋值只是为了更好的监控程序状态便于区分状态,而且实验时也采用TEMP组里面存放临时变量,程序方式和图中大概一致, 实验结果却不一样, 实验的正常,上图中的却不正常

图片说明:

多次调用FB块,不同的背景数据块输出结果相同    多次调用FB块,不同的背景数据块输出结果相同    多次调用FB块,不同的背景数据块输出结果相同    多次调用FB块,不同的背景数据块输出结果相同    多次调用FB块,不同的背景数据块输出结果相同    多次调用FB块,不同的背景数据块输出结果相同    多次调用FB块,不同的背景数据块输出结果相同   

钻石用户推荐最佳答案

这是你的输送线实际程序吗?为何你的Star_Stop没有赋变量?你IN和IN_OUT不赋值变量谁知道你的程序会产生什么问题?有些时候你的输入输出不使用是可以不赋变量,但你如果要使用的为何不赋变量?
另外,如果你是在线修改程序或在线下载程序,发现一些控制异常的时候,可以在线清空PLC程序,然后重新下载,你的控制程序就会恢复正常了。
补充:DB存储的是你的输入输出及STAT区,你调用不同的DB相关区域的变量就不会重复及互相干扰了。TEMP区是一个临时区,这个区是一个存放临时数据的区,换句话说这里面的值如果你在程序里面没有赋值那就可能是一个随机数,完全可能因为你某一个变量改变导致所有的都改变。因此你在不清楚认识TEMP区的情况下建议你将TEMP区的变量放到STAT区里。
如果你确认你程序没有问题,那么你可以清空PLC原程序再重新下载一次程序运行一下,如果问题依旧那么肯定就是你的程序有问题!

提问者对于答案的评价:

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月31日 上午12:04
下一篇 2020年10月31日 上午12:04

相关推荐