找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4444|回复: 12

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

 火.. [复制链接]
  • 打卡等级:常驻代表
  • 打卡总天数:34
  • 打卡月天数:6
  • 打卡总奖励:9027
  • 最近打卡:2025-12-17 23:15:51

2823

主题

541

回帖

2万

积分

管理员

积分
22569
发表于 2020-12-13 16:27:00 | 显示全部楼层 |阅读模式
博途的间接寻址和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,存入数据块。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
工控课堂 www.gkket.com

0

主题

104

回帖

365

积分

注册会员

积分
365
发表于 2020-12-13 16:27:00 | 显示全部楼层
看到这帖子真是高兴!
工控课堂 www.gkket.com

0

主题

77

回帖

308

积分

注册会员

积分
308
发表于 2020-12-13 16:28:58 | 显示全部楼层
党的好公民,人民的好公仆。。。
工控课堂 www.gkket.com

0

主题

91

回帖

151

积分

新手上路

积分
151
发表于 2025-11-13 07:20:03 | 显示全部楼层
路过打卡,为优质内容疯狂打 call
工控课堂 www.gkket.com

0

主题

102

回帖

289

积分

注册会员

积分
289
发表于 2025-11-13 10:58:30 | 显示全部楼层
学到了学到了,这波分享太实用啦!
工控课堂 www.gkket.com

0

主题

92

回帖

296

积分

注册会员

积分
296
QQ
发表于 2025-11-13 11:05:05 | 显示全部楼层
画面感太强了,仿佛身临其境!
工控课堂 www.gkket.com

0

主题

72

回帖

113

积分

新手上路

积分
113
发表于 2025-11-13 11:05:25 | 显示全部楼层
楼主太会说了,字字句句都在理~
工控课堂 www.gkket.com

0

主题

93

回帖

138

积分

新手上路

积分
138
发表于 2025-11-13 11:09:30 | 显示全部楼层
蹲一波同款,有没有小伙伴推荐?
工控课堂 www.gkket.com

0

主题

104

回帖

481

积分

注册会员

积分
481
发表于 2025-11-13 11:13:21 | 显示全部楼层
同款经历!简直是世另我
工控课堂 www.gkket.com

0

主题

79

回帖

118

积分

新手上路

积分
118
发表于 2025-11-13 11:18:41 | 显示全部楼层
浅蹲一个后续,楼主更新踢我一下
工控课堂 www.gkket.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|手机版|免责声明|本站介绍|工控课堂 ( 沪ICP备20008691号-1 )

GMT+8, 2025-12-22 22:12 , Processed in 0.102573 second(s), 28 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表