回复:指针难题询问

威师爷

  • 帖子

    5108
  • 精华

    47
  • 被关注

    255

论坛等级:至圣

注册时间:2013-09-18

白金 白金 如何晋级?

发布于 2017-07-12 09:40:15

4楼

展开查看
以下是引用meiruhua在2017-07-12 09:28:56的发言 >3楼

 L W [ AR1 , P#0.0 ]     我就不明白这步是怎么取那个DB号的

以下是引用艾星落尘在2017-07-11 13:12:30的发言 >:      L     ...

引用详细内容:

      L     P##S1           //取指针地址,从下面的使用情况来看因该是POINTER     

      LAR1                    

      L     P##S2           //取指针地址,从下面的使用情况来看因该是POINTER       

      LAR2                       

      L W [ AR1 , P#0.0 ]        

      T     #w_Temp          //取S1对应的DB号给 #w_Temp     

      OPN DB [ #w_Temp]       //打开#w_Temp 对应的DB块   

      L D [ AR1 , P#2.0 ]          

      LAR1                    //取S1指针对应的地址数据存入AR1                 

      L W [ AR2 , P#0.0 ]        

      T     #w_Temp           //取S2对应的DB号给 #w_Temp        

      OPN DI [ #w_Temp]       //打开#w_Temp 对应的背景DB块       

      L D [ AR2 , P#2.0 ]         

      OD    16#0100_0000     //这个逻辑或的作用应该是将该地址转化为背景数据    

      LAR2                   //取S2指针对应的地址数据存入AR2        

      SET

      SAVE                      

      L B [ AR1 , P#1.0 ]     //取S1对应的DB块的数据的第二个字节,应该是字符串实际使用的数据  

      +     1                   

LOP:  T     #y_Loop              

      L B [ AR1 , P#1.0 ]        

      L B [ AR2 , P#1.0 ]   //因为是字节进行比较所以就有了 OD    16#0100_0000  这段指令     

      <>I                    //两个DB块的字符串进行比较不等就跳转到循环外,       

      JC    RESE               

      +AR1  P#1.0                

      +AR2  P#1.0           

      L     #y_Loop

      LOOP  LOP               //如果比较的结果相等就继续执行,知道循环数结束为止

      S     #EQ_STRNG         //比较结果都相等就置位#EQ_STRNG    

      JC    ENDE               

RESE: R     #EQ_STRNG         //比较结果有不等的就复位#EQ_STRNG     

ENDE: BE


你的P##S1是什么类型?方便把FC/FB的接口参数发上来看看?


工业起重机防摇摆 QQ:404136820 AntiSwayControl
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54618条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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