我想在S7-300中用一个FB调用多个背景DB,同时这几个DB里的参数不一样,我该怎么做。有没有这方面的资料,我自己在FB里建的静态变量会同时出现在不同的背景块中(即每个DB里显示的静态变量都是一样的)
问题补充:
大家误解我的意思了,前尘一笑讲的我知道,举个例子:建FB1,另建背景块DB1,DB2都关联FB1,现在我要将FB1里的数据可以自由保存在DB1或DB2里,该怎么办
最佳答案
1.先纠正你的一个概念:按你的说法,其实就是多次调用FB1,生成多个背景数据块而已。多重背景数据块则是在一个FB中调用另一个FB,这样第二次调用的FB生成的背景数据块会包含在第一个FB的背景数据块内。
2.如何在不同调用产生不同的参数?其实不同的参数是需要你自己输入的,不同的结果则是根据你的不同输入参数生成的。举个简单例子:FB完成以下计算a=b+1,其中b是FB的输入(IN)或静态变量,a是FB的输出或静态变量。这里面的b是需要你自己在程序中赋值的。例如b对应DB块的地址是DBW10,那么你需要给不同的背景数据块赋不一样的值,例如DB1.DBW10=10
,DB2.DBW10=20,这样两次运算得到的结果a就是不一样的了,对应的背景数据块地址保存的数据也会不同。
提问者对于答案的评价:
谢
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc216472.html