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

欢迎回到技成培训网

技成培训网

电工题库宝典

技成电工课堂

PLC练习题

技成PLC课堂

变频器故障查询

技成PLC学吧

伺服驱动故障查询

技成PLC网校

当前位置:技成首页 > 文章中心 > 西门子PLC > 工控分享 | 教你掌握多个模拟量快速编程技巧

工控分享 | 教你掌握多个模拟量快速编程技巧

杨彬 发布于2023-08-18 10:59 351 12 标签:西门子PLC,模拟量,PLC

导读

在我们的实际项目中经常需要使用模拟量来读取现场设备的数据。比如设备的温度液体的高度流速变频器的频率、阀门的开度等等。那么如果现场有多个模拟量的传感器要编写程序的话,可能工作量就会比较大,有没有更快捷的方式编程呢?那么本文就给大家分享多个模拟量快速编程的方法。本案例使用的是S7-1200PLC实现控制要求。



控制要求

将连续16个Al信号(IW96-IW126),根据信号的范围,转换成对应的工程量信号。比如:IW96测量的是温度,范围是0.0-100.0℃。IW96测量的是管道的压力,范围是0.0-1.0MPa。



01

组态模拟量模块

①在博途软件中组态1215CPU以及两个8通道模拟量模块,如图1所示:

▲图1▲


②查看两个模拟量扩展模块的通道地址得知是IW96-IW126,如图2和图3所示:

▲图2▲


▲图3▲


02

程序编写

①在博途软件中新建DB1数据块,建立4个数组的数据类型,每个数组包含16个元素个数。比如“A”这个数组,包含了16个Int的数据。“LimlitMix”数组包含了16个Real数据。其中还建立了两个Int的数据,名称为“ForNum”和“ForNum1”,主要用于循环程序的使用。

▲图4▲


②如图5所示,在OB1程序块中编写程序。程序段1对循环次数清零。程序段2是标准化和缩放指令,标准化指令(NORM_X)中的VALUE这个管脚的地址,使用数组间接寻址,随着ForNum这个变量的变化,可以得知第一次的数据为A[0],第二次为A[1],依次递增。缩放指令的MIN和MAX管脚的参数也同样的是间接寻址,MIN管脚第一次的数据为LimlitMix[0],第二次的数据为LimlitMix[1],依次递增。MAX管脚第一次的数据为LimlitMax[0],第二次的数据为LimlitMax[1],依次递增。


程序段3使用的是ADD指令实现“ForNum”循环次数的递增,再判断循环次数,如果循环次数的值小于等于15则跳转到程序段2。


▲图5▲


③程序段4是使用PEEK_WORD指令将IW96为起始的16个数据映射到DB块的“A”数组中,这样就能把外部的16个模拟量通道的数据依次存入A[0]至A[15]中。其中指令的area的含义是:指定访问存储区类型,16#81:输入映像区。


dbNumber的含义是:用来指定访问数据块的编号。仅在访问数据块时使用,其他存储区为0。byteOffset的含义是:用来指定读取数据地址的偏移量。如图6所示:

▲图6▲


03

仿真测试

①第一个通道工程单位设置为0.0-100.0,第二个通道工程单位设置为0.0-1.0。第三个通道工程单位设置为-100.0-200.0。如图7所示:

图片

▲图7▲


②在强制表中写入三个模拟量通道数据。如图8所示:

图片

▲图8▲


③模拟量的数据已经转换成实际的工程单位值。如图9所示:

图片

▲图9▲

来源:技成培训网,作者:技成-郭彪,未经授权不得转载!

若有收获,就点个赞吧!

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

微信扫一扫分享

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

西门子PLC 模拟量 PLC

相关推荐

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