DB1.DBD0-DB1.DB1.DBD100找数据

哪位能帮我写下这样的STL或是SCL语句
就是我想通过一种语言指令去寻找我指定的起始地址和结束地址中找数据,比如我指定DB1.DBD0-DB1.DBD100中,有没有和我DB2.DBD0中数据是一样
也就是跑循环了,普通指令是不可以用的.
因为这个DB2.DBD0中数据是条码阅读器,读数据进来的数据,要求和目标地址对比,有没有一样的数据存在。
请各位高手,带着小弟一起成长,谢谢

最佳答案

在此给出循环语句的框架,自己应完善一下(完成括号中的工作),这样可练习了。     OPN   DB     1     //打开DB 1
      L     P#0.0          //初始读指针
      LAR1  
 
L     100               // 100个双字字的循环计数为初值
M001: T     MB    10        //计数值 送入MB 10
      L     PIW [AR1,P#0.0]   //按读指针指示的地址读数据
  (在此编写比较语句
如果与DB2.DBD0中数据是一样则跳转M002,结束循环,否则继续循环比较(即比较语句与跳转语句))
   
      +AR1  P#4.0            //如果不相等,读指针指向下一数据地址
      L     MB    10        //取循环计数值
      LOOP  M001           ////循环计数值如为0则结束循环;如不为0减1后则转向标号为M001的语句,继续循环。         
M002  :NOP

相关资料:
《用于S7-300 和S7-400 的语句表(STL)编程手册》下载:
http://www2.ad.siemens.com.cn/download/Upload/AS/manual/1008[1].pdf

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

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月1日 下午2:01
下一篇 2020年11月1日 下午2:01

相关推荐