1、在使用ANY型指针的时,当使用了指令
L P##DATA
LAR1
这时,指针所指向的地址BYTE 1为ANY指针所指向区域的数据类型, (BYTE 2, 3) 组合为一个INT,为ANY指针所指定区域的长度;(BYTE 4, 5) 组合为一个INT,为ANY指针所指定区域的DB块号等。
这此区域里的内容是不是当指针指向数据区DATA后,就自动装载了,还是需要我们在程序里对其进行装载填充呢?
2、我们定义FC时,采用如下程序
L #ADD
L 8
*I
LAR1
取得电机启动器的输入输出地址的基地址(ADD定义为INT型,这种类型的启动器输入输出地址刚好占一个字节,且其数值也一样),所以我们在程序里就能直接对其输入输出进行操作,如:
A I[AR1,P#0.0]
O Q[AR1,P#0.1]
在OB1调用这个FC时,只需要给ADD赋值,如ADD=:9
但是现在有项目更换了另外一种启动器,其输入输出地址只有半个字节,
像原来那样赋值已经不行了 ADD=:9.4
此时我应该如何定义ADD的类型呢?
能不能把它直接定义成Pointer类型
在外面调用FC的时候,直接赋值,如P#9.4,能不能这样做的呢