水管流量精确计算 点击:467 | 回复:0



1436682482

    
  • 精华:4帖
  • 求助:0帖
  • 帖子:256帖 | 0回
  • 年度积分:0
  • 历史总积分:882
  • 注册:2014年8月05日
发表于:2016-01-14 15:29:04
楼主



【控制要求】水管直径以 mm为单位,水的流速以 dm/s(1分米/秒)为单位,水流量以 cm3/s(1毫升/秒)为单位。水管横截面积=πr2=π(d/2)2,水流量 =水管横截面积 ×流速。要求水流量的计算结果精确到小数后的第 2位。

【元件说明】

PLC 元件    控制说明    

X0    启动计算    

D0    水管直径(单位: mm,假设 10mm)    

D10    水管流速(单位: dm/s,假设为 25dm/s)    

R3004    水管横截面积运算结果(单位: mm2)    

R3006    水管流量运算结果(单位: mm3/s)    

R3008    水管流量运算结果(浮点型)(单位: mm3/s)    

R3010    水管流量运算结果(浮点型)(单位: cm3/s)    

【控制程序】【程序说明】

涉及到小数点的精确运算时,一般需用浮点数运算指令,但用浮点数运算指令需要转换 ,比较繁琐。本例先用整型四则运算指令放大运算数据,再将运算结果转换成浮点数,就可实现小数点的精确运算,如此一来便只需一个转换指令,让运算过程简单而准确。

dm、cm、mm都有用到,所以必须统一单位,保证符合结果需要,程序中先将所有单位统一成 mm,最后将单位变成需要的 cm3。

计算水管横截面积时需要用到 π,π≈3.14,在程序中没有将 dm/s(分米/秒)扩大 100倍,变成 mm单位,而却把 π扩大了 100倍,变为 314,这样做的目的可以使运算精确到小数后的 2位。

mm3/s 除以 1000变成 cm3/s,1cm3=1ml,1 升=1000毫升=1000cm3=1dm3。

D0为 10mm,水流速 D10为 25dm/s,则水管水流量运算结果为 196250 mm3/s,转换成浮点数再除以 1000,得到 196.25 cm3,精确到小数点后 2位。




热门招聘
相关主题

官方公众号

智造工程师