pointer指针怎么用

各位有没有好一点的列子来深入一下

问题补充:
2楼你好,补充问题,如果P1定义的不是POINTER数据类型,而指定的实参是DB,这样能作为POINTER指针使用吗?
1楼的资料打印在手看了很多遍了,原谅我是个新手

最佳答案

POINTER是一种用于传递指针的形参数据类型,长度为6个字节。第一个字存放DB块的号,第二和第三个字存放的是32位的地址指针;POINTER数据类型要在FC块里定义;在FC块的输入端我定义了一个pointer的数据 P1,在调用FC的这个P1输入的参数为DB1.DBX0.0
那么程序:
      L     P##P1      //读取P1的数据
      LAR1  
      L     W [AR1,P#0.0]      //取pointer指针的DB数据
      T     #TEMP1
      L     D [AR1,P#2.0]      //取pointer指针的数据的地址
      T     #TEMP2
      OPN   DB [#TEMP1]    //打开DB号
      L     DBW [#TEMP2]    //取DB1.DBW0的数据
不妨做一个例子来看看,
补充:如果输入的P1为一个16位的数据TEMP3,并且输入的这个数据是对应的DB号,比如12
那么就能用
OPN   DB[TEMP3] 
 我也是通过一楼的那个资料慢慢学习起来的,那个资料很有用,慢慢看,细心研究;新手更要好好理解有关指针的定义了。

提问者对于答案的评价:
谢谢!

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc217380.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年11月26日 下午4:10
下一篇 2017年11月26日 下午4:11

相关推荐