案例1:多个模拟量快速编程技巧.pdfVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

案例1:多个模拟量快速编程技巧

导读:在我们的实际项目中经常需要使用模拟量来读取现场设备的数据。比

如:设备的温度、液体的高度、流速、变频器的频率、阀门的开度等等。那么如

果现场有多个模拟量的传感器要编写程序的话,可能工作量就会比较大,有没有

更快捷的方式编程呢?那么本文就给大家分享多个模拟量快速编程的方法。本案

例使用的是S7-1200PLC实现控制要求。

控制要求:将连续16个Al信号(IW96-IW126),根据信号的范围,转换成对

应的工程量信号。比如:IW96测量的是温度,范围是0.0-100.0℃。IW96测量的

是管道的压力,范围是0.0-1.0MPa。

1.组态模拟量模块

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

图1

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

图2图3

2.程序编写

①在博途软件中新建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

3仿真测试

①第一个通道工程单位设置为0.0-100.0,第二个通道工程单位设置为0.0-

1.0。第三个通道工程单位设置为-100.0-200.0。如图7所示

图7

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

图8

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

图9

文档评论(0)

131****2527 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档