当前位置: 主页 > PLC控制

求教FB调用多重背景时的指针使用的程序

我们一台设备的程序中,fb10里面调用了多重背景数据块DB10,同时还调用了一个FC10,#Para是背景数据块DB里的静态数据,它的起始地址是DB10.DBX2.0:
CALL"FC10"
Pointer:=#Para
bReset:=DB10.DBX4.0
bErrorMessage:=DB10.DBX4.1

下面是FC10里面的内容:

LP##Pointer
LAR1

LB[AR1,P#0.0]
T#MK_1
LB[AR1,P#1.0]
T#MK_2

LW[AR1,P#2.0]
T#Num_Bytes

LW[AR1,P#4.0]
T#DBNumber

OPNDB[#DBNumber]

我实在搞不懂上面这些语句的意思,最后打开的是哪个DB块啊?#DBNumber最后得到的是个什么值啊?请高手赐教!

最佳答案

#DBNumber最后得到的是10,也就是打开的是DB10。形参#Pointer的数据类型是ANY吧。
参见:S7-300S7-400寻址
htTPs://suppoRT.induSTry.siemens.com/cs/document/79632832/s7-300和s7-400寻址?dti=0&lc=zh-CN

提问者对于答案的评价:
非常感谢“我心飞翔”的解答以及提供的文档下载,原来是个ANY指针的应用,看完文档后终于搞清楚了。其实以前在手册里看到过这个应用,但从来没碰上过,这次遇到我才认真学习了一遍。看来实践才是学习的动力啊!

  • 关注微信

猜你喜欢

微信公众号