S7 300 400流量累积 柴明军.pdfVIP

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

流量累计例程使用说明 例程功能:完成对实时流量的累计功能 程序结构:在循环中断组织块OB35 中调用功能块FB1,FB1 的背景数据块为 DB1 例程说明: 1. 在例程中配置了一个S7-300 站,并添加了一块SM331 模板,假定流量计 的4 -20mA 输 出信号接至该模板0 通道,地址为 PIW256。 2. 在硬件配置中CPU 的属性界面下设置循环中断组织块OB35 的周期为 1000ms,即1 秒 钟。 3.FB1 为封装的流量累计子程序 ,在OB35 中调用FB1,其背景数据 为DB1。 FB1 的输入/ 输出管脚需逐个定义,具体说明如下: FB1 输入变量: Flow_in:INT;//流量信号的模拟量输入地址,在例程中为 PIW256 Hi_limit:REAL;//流量信号的工程量上限,在例程中为3600.0m3/h Low_limit:REAL;//流量信号的工程量下限,在例程中为0.0m3/h Division:DINT;//实时流量时间单位的除数 ,如欲每秒计算一次累计流量,则 该值为3600,因为实时流量时间单位为h,即小时,一小时为3600 秒。 注意:OB35 的周期必须与计算累计流量的周期相同。 Clear: BOOL;//累计流量清零 FB1 输出变量: Flow_rt: REAL;//转换为工程单位的实时流量 Flow_Accu:REAL;//当前累计流量值 4. 将硬件配置及程序下载至CPU 后 ,CPU 将每秒计算一次累计流量 ,并将当 前实时流量和累计流量值分别输出至MD2 和 MD6 供读取。如想将当前累计 流量清零,只需将Clear 管脚置 “1” ,该管脚为高电平有效。 使用方法: 将例程中 FB1,DB1 拷贝至您的项目中某S7-300/-400 站下的Blocks 中,在 OB35 中调用,按照上述说明定义FB1 的输入/输出管脚即可。 以前我 plc做过流量计算。首先的看你用什么计流量,如果是脉冲信号 , 因为PLC本身有运行周期,如果控制要求较高的场合,通过脉冲来计算出瞬时 流量 ,计算出来实际上是不准的 ,而且控制上滞后比较严重。TI430单片机之类 具有硬件脉冲捕捉功能的单片机,在通过脉冲计算流量上,有得天独厚的优势。 这个可以参考一些基本的测速概念。脉冲用来计算累积量很准。 如果流量计本身反馈的是4~20ma的速度模拟信号 ,这个就直接采集 ,然后在 OB35里边用积分模块进行流量累计。这个速度信号比较及时准确 ,但中断模块 调用积分,也会有误差,不如脉冲计量准。 设置OB35中断时间为1秒,然后按照常用方法用瞬时流量除3600,然后 得到每秒的累积量 ,这样最后做了个流量累积值 ,现在的问题是 ,瞬时流量是从 仪表流量计的输出4-20MA到PLC的模拟量 ,PLC得到的累积流量值一天下来 总是和仪表上的那个累积流量会差到20000左右,到底怎么解决这个问题? 这种方法就是由误差,可将误差做的最小。即 将OB35中断时间缩短(例如为 100毫秒或更小),求出每100毫秒的累积量. 试一试。 做累计程序的话 ,可以把瞬时流量/3600 ,然后在OB32里面做个循环相加 就可以了 (OB32为默认的1秒中断 )或者瞬时流量/36000 ,然后在OB35里 面做个循环相加(OB35为默认的100毫秒中断)。 在ob35中做,做一个小信号切除,太小的就不要了! astart//开始累计流量 fpflg1=flg2 aflg2 jcn m2 l0.0 tsum m2:nop0 astart jcn m1 lpv//测量信号 lpv_low_sp//小信号值 =r jcn m1 lpv//以小时计 l7200.0//ob35的周期是500ms /r lsum//累计信号 +r tsum m1:nop0 上面的程序启动瞬间累计数据清零 ,然后开始累计 ,start=0停止累计。如果你 要求的精度高的话,需要减小ob35的周期,同时7200.0也需要相应的变化。 如果你的周期是100ms了,那么7200.0需要变成36000.0。

文档评论(0)

junzilan11 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档