FB里IN_OUT参数为复杂数据类型时寻址STE7 V5.5编程手册第27.3.4.8节: FB的IN_OUT参数
当FB的IN_OUT参数为复杂数据类型时,比如ARRAY、STRUCT、UDT等,实际传送的是变量的地址,由6字节的Pointer类型来表示:
如下图,FB2中有2个IN_OUT变量,FB2的背景数据块为DB5

现在打开背景数据块DB5,如下图:

我们可以看到,在背景数据块中,ARRAY类型的变量是用6个字节的POINTER指针形式来表示的,这与基本数据类型不同,所以如果试图在程序中对其赋值,肯定是错误的
现在我们在OB1中调用FB2,并赋给实际地址:


运行仿真后,我们在变量表中观察背景数据块中DB5中的地址

可以清晰的看到其中所存的地址和DB块号信息,从而在程序中可以这么处理:

如果是在多重背景FB里编写程序,只需要在头一句后加上下面2句即可:
TAR2
+AR1