• 欢迎访问爱玩吧
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏爱玩吧

[编程]模拟量数值与工程量数值之间的转换

工控教学 aiwanyule 4年前 (2021-04-30) 已收录

1、将模拟量数值转换成工程量数值:

参数转化关系:

OUT = [((FLOAT (IN) – K1)/ (K2–K1)) * (HI_LIM–LO_LIM)] + LO_LI

注意:

如果用户使用的输入/输出类型为双极性(如±10V,±5V 等),此时 K1=-27648,K2=27648,否则 K1=0,K2=27648。

例如:假设模拟量模块所接传感器为 0-20mA 类型,其测量对象为温度,当温度为 0℃时电流为 0 mA,当温度为 100℃时电流为 20 mA。此时模拟量输入模块得到的对应数值 0 mA 对应为 0,20 mA 对应为 27648。如果当前电流值为 10 mA,则模拟量模块得到的输入值为13824,如果用户希望在 CPU 中得到一个最终的实际温度值,则可以运用此公式,将模拟量输入模块的数值赋给参数 IN,工程量上限值给定为 100.0,下限值给定为 0.0,即可在输出参数 OUT 得到实际温度值 50℃。

2、将工程量数值转换成模拟量数值:

参数转化关系:

OUT = [ ((IN–LO_LIM)/(HI_LIM–LO_LIM)) * (K2–K1) ] + K1

注意:

如果用户使用的输入/输出类型为双极性(如±10V ,±5V 等),BIPOLAR 参数应当给定为TRUE,此时 K1=-27648,K2=27648,否则 K1=0,K2=27648。

例如:假设模拟量输出模块输出设置为 0-20mA 类型,其所连接的执行器为调节阀。当电流为 0 mA 时阀门开度为 0%,当电流为 20 mA 时阀门开度为 100%。如果用户希望阀门开度为 50%,则可以运用此公式,将开度给定值赋给参数 IN,工程量上限值给定为 100.0,下限值给定为 0.0,将模拟量输出模块的地址赋给参数 OUT,此时 OUT 数值为 13824,即可使模拟量输出模块输出电流值为 10 mA,即阀门开度为 50%。


爱玩吧 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:[编程]模拟量数值与工程量数值之间的转换
喜欢 (1)