问个西门子模拟量输入值转换问题

该模块的第一个通道连接一块带4—20mA变送输出的温度显示仪表,该仪表的量程设置为0—100度,即0度时输出4mA,100度时输出20mA。温度显示仪表的铂电阻输入端接入一个220欧姆可调电位器,简单编程如下: 温度显示值=(AIW0-6400)/256为什么要除以256??不是应该 (AIW0-6400)/1600么?求指教

楼主要明白PLC模拟量输入量化的换算公式:

模拟量的输入/输出都可以用下列的通用换算公式换算:
Ov = [(Osh - Osl)*(Iv - Isl)/(Ish - Isl)] + Osl

其中:
Ov: 换算结果
Iv: 换算对象
Osh: 换算结果的高限
Osl: 换算结果的低限
Ish: 换算对象的高限
Isl: 换算对象的低限
根据上述公式可得:
温度显示值=[(100-0)*(AIW0-6400)/(32000-6400)]+0=100*(AIW0-6400)/25600=(AIW0-6400)/256
这个转换跟你显示表接入的电位器没有关系。
技术论坛:http://bbs.gongkong.com/Brand/Siemens.htm
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-28
西门子S7-200模拟量,0-20mA对应的范围为0-32000,你做的是4-20mA,所以对应的值应该是6400-32000,这样不就成25600了!!
第2个回答  2013-11-28
因为模拟量在PLC里是0-32000中间变化的数 也就是0是0MA 4MA=6400 20MA=32000
如果要显示为0-100 就是(AIW0-6400)除25600剩100 所以就是(AIW0-640)/256了
相似回答