如何把模拟量输入使用循环中断,利用ANY依次循环写入数据到DB块中,Pointer也可以

如何把模拟量输入使用循环中断,利用ANY依次循环写入数据到DB块中,使用Pointer也可以,例如1秒中读一次模拟量,写入db1.dbw0,下个一秒写入dbw2,再下个一秒写入dbw3,再下个一秒写入dbw1,这样循环下去,请老师写个例供程学习学习,谢谢

最佳答案

一个简单思路:利用中断程序OB35(中断周期设为1s),在OB35中写赋值指令将采集的模拟量信号写入DB1.DBW[MD0],利用MD0做偏移指针,MD0的初始值为0,每次执行赋值后将MD0加16(16/8就是偏移2.0),当MD0超过循环次数例如4次也就是MD0大于64了再把MD0清0,当然偏移量必须是递增的。

提问者对于答案的评价:
"利用MD0做偏移指针"不会使用,这部分请给个例子吧

最佳答案作者回复:
L     IW   100                    //模拟量输入
      OPN   DB     1
      T     DBW [MD     0]
      L     MD     0                    //指针偏移2.0
      L     16
      +D    
      T     MD     0

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

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

相关推荐