找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
不能用VB0,这样你的数据就丢失了,应该用VW0(其实直接用AIW0就可以了),转换方法是这样的,例如4~20mA对应0~100立方/秒,对应于你的模拟量输入AIW0的瞬时流量为X=100×(AIW0- 6400)÷(32000 -6400)。
流量累计方法如下:采用定时中断(中断时间为1s),中断处理程序中对上面计算出来的X做累加即可,累加结果即为你想要的累计流量,并与5T(5立方米)做比较,大于或等于5T时停止输出即可。
答:通过流量计的模拟信号输入来计算水量。
想用AIW0换到VB0,VB0/32000-6400什么的,然后乘以时间T,乘积与某一设定值比较,输出控制信号,可行吗?有没有其他的方法?
答:概念错误!AIWO读出的数据不能存入到字节,比如说VB0,VB100,VB200等都是错误的。AIWO是字。你可以用VW0,VW100,VW200,或VD0,VD100,VD200等。
控制方法如下:
模拟量的输入/输出都可以用下列的通用换算公式换算:
Ov = [(Osh - Osl)*(Iv - Isl)/(Ish - Isl)] + Osl
其中: Ov: 换算结果
Iv: 换算对象 AIWO = Analog Input Value = 18000
Osh: 换算结果的高限 = 100
Osl: 换算结果的低限 = 0
Ish: 换算对象的高限 = 32000
Isl: 换算对象的低限 = 6400
对4-20mA电流(0-100立方/秒):
Ov = [(100-0))X(18000-6400)/(32000.0-6400.0)] + 0
= 45。3立方/秒
你在加个比较指令,大于或等于5T就停止供水,这样就可以控制5T的水量了。
祝你成功!
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!