当前位置: 主页 > PLC控制

求这段代码详细讲解

使用UC调用fb

LPIW290

T"tDIPd".PV_PER//"tDIPd"是"TCONT_CP"背景数据块,我们在这里使用共享数据块方式对数据块写入数据

LMD4

TDBD34

AM8.0

ADBX42.0

AM8.1

=DBX42.1

//以上的是参数输入部分

LAR2P#0.0//该语句指名了FB和背景数据块的对应关系,就是FB的第一个参数对应背景数据的地址

CDB//交换共享数据块和背景数据块,将当前的共享数据块变为背景数据块

UC"TCONT_CP"//使用UC调用FB,FB的背景数据块就是上面打开的数据块即"tDIPd"

CDB//交换共享数据块和背景数据块,将当前的背景数据块变为共享数据块

//以下是参数输出部分

ADBX42.0

=M8.0

ADBX42.1

=M8.1

LDBW22

TPQW306

LDBD34

TMD4


特别ADBX42.0这个是不是有问题啊,它没有指定db块么,程序怎么知道是哪个db块我感觉是不是这样db1.dbx42.0求高手指点

最佳答案

UCFBx这个指令,是不需要输入背景数据块的
例如:
UCFB2

////////////
LPIW290

T"tDIPd".PV_PER//"这里,打开了一个DB块,并将PIW290传送至该DB“tDIPd”的DBWx,
比如说DB2.DBW4,余下的操作都是针对这个DB2进行的操作
LMD4

TDBD34///把MD4的数值传送至DB2.DBD34

CDB//交换共享数据块和背景数据块,将当前的共享数据块变为背景数据块

UC"TCONT_CP"//使用UC调用FB,FB的背景数据块就是上面打开的数据块即"tDIPd"/////比如说DB2

CDB//交换共享数据块和背景数据块,将当前的背景数据块变为共享数据块


ADBX42.0///其实这个DBX42.0是"tDIPd"里的,也就是我举例的DB2

=M8.0

这么说应该明白了吧

提问者对于答案的评价:
xx

  • 关注微信

猜你喜欢

微信公众号