使用UC调用FB
L PIW 290
T "tDIPd".PV_PER //"tDIPd"是"TCONT_CP"的背景数据块,我们在这里使用共享数据块方式对数据块写入数据
L MD 4
T DBD 34
A M 8.0
A DBX 42.0
A M 8.1
= DBX 42.1
//以上的是参数输入部分
LAR2 P#0.0 //该语句指名了FB和背景数据块的对应关系,就是FB的第一个参数对应背景数据的地址
CDB //交换共享数据块和背景数据块,将当前的共享数据块变为背景数据块
UC "TCONT_CP" //使用UC调用FB,FB的背景数据块就是上面打开的数据块即"tDIPd"
CDB //交换共享数据块和背景数据块,将当前的背景数据块变为共享数据块
//以下是参数输出部分
A DBX 42.0
= M 8.0
A DBX 42.1
= M 8.1
L DBW 22
T PQW 306
L DBD 34
T MD 4
特别 A DBX 42.0 这个是不是有问题啊 ,它没有指定db块么,程序怎么知道是哪个db块 我感觉是不是这样db1.dbx42.0 求高手指点
最佳答案
UC FBx 这个指令,是不需要输入背景数据块的
例如:
UC FB2
////////////
L PIW 290
T "tDIPd".PV_PER //" 这里,打开了一个DB块,并将PIW290 传送至该DB“tDIPd”的DBWx,
比如说DB2.DBW4,余下的操作都是针对这个DB2进行的操作
L MD 4
T DBD 34/// 把 MD4的数值传送至DB2.DBD34
CDB //交换共享数据块和背景数据块,将当前的共享数据块变为背景数据块
UC "TCONT_CP" //使用UC调用FB,FB的背景数据块就是上面打开的数据块即"tDIPd"/////比如说DB2
CDB //交换共享数据块和背景数据块,将当前的背景数据块变为共享数据块
A DBX 42.0 ///其实这个DBX42.0 是"tDIPd"里的,也就是我举例的DB2
= M 8.0
这么说应该明白了吧
提问者对于答案的评价:
xx
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc191679.html