工控课堂

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

工控课堂 首页 工控文库 PLC学习 查看内容

博途SCL编程批处理模拟量的方法

2020-12-13 16:27| 发布者: gkket| 查看: 1| 评论: 1|原作者: gkket

摘要: 博途的间接寻址和S7-300/400大不一样。博途中的间接寻址主要用peek/poke指令,peek/poke指令不能用于优化的数据块。优化数据块可以用数组类寻址。这次的控制任务是模拟类的批量处理,s7-300/400模拟量批量处理很繁 ...
博途的间接寻址和S7-300/400大不一样。博途中的间接寻址主要用peek/poke指令,peek/poke指令不能用于优化的数据块。优化数据块可以用数组类寻址。这次的控制任务是模拟类的批量处理,s7-300/400模拟量批量处理很繁琐。
控制任务
把数量不定的模拟量转换成工程量,然后保存到指定的数据块中。这里我们为了测试,不读取PIW中的模拟值,而用MW代替。
象这样的控制任务,我们一般用SCL来写会比较方便。请看下面的程序。
控制程序







程序简单说明一下:
  • LOWER_BOUND 读取 resultArray的下限
  • UPPER_BOUND读取resultArray的上限
  • lenOfEmtpyArray是数组除去offsetArray偏移量后还剩的空余长度,如果这个长度小于模拟量的数量,则退出。另外如果arrayLowerBound小于下限,也退出。
  • 第19行,SCL 中的循环要注意,开始和结尾都是闭区间,和c语言等高级语言不一致。
  • 第20行,PEEK_WORD 就是读取M区的模拟量。具体用法可以参看手册。
  • 第25行,对数组的读写,也是间接寻址,在scl中没有这种说法了。间接寻址等概念都是汇编下的,高级语言没有这种叫法。


最后,模拟量转化为工程量后为100.0 和 54.0,存入数据块。


微信截图_20201213162642.png

路过

雷人

握手

鲜花

鸡蛋

相关阅读

发表评论

最新评论

rondo 2020-12-13 16:27
看到这帖子真是高兴!

查看全部评论(1)

热门文章

QQ|免责声明|本站介绍|工控课堂 ( 沪ICP备20008691号-1 || 沪公网安备 31010602005455号 )|网站地图

GMT+8, 2020-12-13 16:27 , Processed in 0.076103 second(s), 46 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

返回顶部