pointer类型问题

LAR1  P##pointe
      A      [AR1,P#0.0]
      =      [AR1,P#0.1]
#pointe是指针类型输入参数,这是个FB  模拟的时候没有通过,请各位帮忙看下

问题补充:
多谢阿鸣老师这么快解答。回答程序本身
这是个FB,我在OB1中调用时 pointe的实参是DB1.DBX0.0,这样不就有存储区了吗

最佳答案

LAR1  P##pointe    //读取是指针地址,根据PIONTER的定义前两个字节代表DB块,后面的4个字节代表地址;假如你调用的时候pointe的实参是DB1.DBX0.0,要读取DB1.DBX0.0的状态就要这么写:
      L     P##pointe 
      LAR1  
      L     W [AR1,P#0.0]
      T     #TEMP1     //中间变量字变量
      L     D [AR1,P#2.0]    
      LAR1     //取地址指针
      OPN   DB [#TEMP1]   
      A     DBX [AR1,P#0.0]
      =     DBX [AR1,P#0.1]

提问者对于答案的评价:
西门子技术支持打来电话 也是您这样处理的,又看了一遍说明文档 的确如此,不过step7就是觉得有点脱裤子放屁的感觉

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

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

相关推荐