回复:300指针程序求助

艾星落尘

  • 帖子

    996
  • 精华

    1
  • 被关注

    179

论坛等级:至圣

注册时间:2010-02-26

白金 白金 如何晋级?

发布于 2018-01-06 15:11:14

4楼

temp5和temp6是ANY指针变量,整个程序的主要部分就是构建一个完整的ANY指针,以temp5为例:

      LAR1  P##TEMP5          //将TEMP5的指针存放在地址寄存器1里

      L     B#16#10           

      T     LB [AR1,P#0.0]   //写入ANY指针的第一个字节B#16#10   

      L     B#16#2

      T     LB [AR1,P#1.0]   //写入ANY指针的第二个字节B#16#2,表示数据的读取以字节位单位 

      L     #IN4

      T     LW [AR1,P#2.0]   //写入ANY指针的第二个字  数据的长度 

      L     #IN0

      T     LW [AR1,P#4.0]    //写入ANY指针的第三个字节 DB块号

      //

      L     W#16#84

      T     LB [AR1,P#6.0]   

      L     W#16#0

      T     LB [AR1,P#7.0]

       //以上这个部分改成如下比较好

      

      L     W#16#84

      T     LW [AR1,P#6.0]       //表示数据的类型是DB块数据


      L     #IN1

      SLW   3                   //左移动三位的目的是,IN1输入的是起始字节的号,而地址指针里处理字节地址外,还有位地址,而左移动三位后相当于乘以8,这样就得到了字节的地址

      T     LW [AR1,P#8.0]      //对ANY指针的最后一个双字进行赋值,表示的是数据的地址,




整个程序的意思就是根据输入的变量IN0---IN4,将一个DB块的数据拷贝到另外一个DB块里,

IN0和IN1对应的是来源的数据,IN2和IN3对应的是目标的数据,IN4是数据的长度,两者是一样的。



一个人在战斗
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54617条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。