技成培训网 技成学习APP 技成工具箱 技成企业服务

欢迎回到技成培训网

技成培训网

电工题库宝典

技成电工课堂

PLC练习题

技成PLC课堂

变频器故障查询

技成PLC学吧

伺服驱动故障查询

技成PLC网校

当前位置:技成首页 > 文章中心 > 技成百科 > S7-300输入问题

S7-300输入问题

刘玉蓉 发布于2014-10-11 17:13 2 0 标签:

我想用LOOP加变址实现输入I0.0对应Q0.0,I100.0对应Q100.0,怎样编写程序,望解决。

佳答案

L     P#0.0          //初始读指针
   LAR1
      L     8              // 8个位(0-7)的循环计数为初值
M001: T     MB    10        //计数值 送入MB 10
      A    I [AR1,P#0.0]   //按读指针指示的地址读数据
    =   Q[AR1,P#0.0]  //按写指针指示的地址写数据
    +AR1  P#0.1            //读指针指向下一数据地址
    L     MB    10        //取循环计数值
    LOOP  M001           //循环计数值如为0则结束循环;如不为0减1后则转向标号为M001的语句,继续循环。

首先对一楼的回答表示敬佩。
我的回答与一楼的不同之处在于:
,没有使用AR2。对于初学者来说,要谨慎使用AR2。具体原因,可以参看对AR2的使用描述。简单的讲,AR1是完全由用户赋值、供用户使用,而AR2可能会被系统赋值,或系统也会使用到AR2的内容。所以建议,对AR2理解不深的用户不要再程序中使用AR2。
第二、使用的偏移不一样。一楼用户的语句是 +AR1 p#1.0这表示按字节偏移。我的语句是+AR1  P#0.1这表示是按位偏移。
第三、结果不同。一楼用户的结果是Q0.0=I0.0,Q1.0=I1.0,Q2.0=I2.0……Q100.0=I100.0。而我的结果是Q0.0=I0.0,Q0.1=I0.1……Q0.7=I0.7因为我只循环了八次,所以到Q0.7=I0.7就结束了。

若有收获,就点个赞吧!

文章来源于网络及文献如有侵权请联系站长
分享到:

微信扫一扫分享

阅读与本文标签相同的文章

相关推荐

最新文章 热门文章
最新课程 免费课程
PLC资料下载 电工电气资料下载
应用新秀
变频器故障代码查询APP
伺服故障代码查询APP
技成
手机APP
热门标签