各位有没有好一点的列子来深入一下
问题补充:
2楼你好,补充问题,如果P1定义的不是POintER数据类型,而指定的实参是DB,这样能作为POINTER指针使用吗?
1楼的资料打印在手看了很多遍了,原谅我是个新手
最佳答案
POINTER是一种用于传递指针的形参数据类型,长度为6个字节。第一个字存放DB块的号,第二和第三个字存放的是32位的地址指针;POINTER数据类型要在FC块里定义;在FC块的输入端我定义了一个pointer的数据P1,在调用FC的这个P1输入的参数为DB1.DBX0.0
那么程序:
LP##P1//读取P1的数据
LAR1
LW[AR1,P#0.0]//取pointer指针的DB数据
T#TEMP1
LD[AR1,P#2.0]//取pointer指针的数据的地址
T#TEMP2
OPNDB[#TEMP1]//打开DB号
LDBW[#TEMP2]//取DB1.DBW0的数据
不妨做一个例子来看看,
补充:如果输入的P1为一个16位的数据TEMP3,并且输入的这个数据是对应的DB号,比如12
那么就能用
OPNDB[TEMP3]
我也是通过一楼的那个资料慢慢学习起来的,那个资料很有用,慢慢看,细心研究;新手更要好好理解有关指针的定义了。
提问者对于答案的评价:
谢谢!