PT100温度传感器0-100℃,通过温控仪表显示温度正常。改成触摸屏显示后加装变送器输出4-20ma,除数公式8×16mA/100×5uA=256显示温度值相差2倍,后改成520便接近实际温度值,但线性仍旧不理想,求指点迷津。模拟量模块使用的是EM231 AI4×12Bit 231-0HC22-0XA8。

PT100温度传感器在西门子S7-200模拟量换算显示出来不准确怎么回

PT100温度传感器在西门子S7-200模拟量换算显示出来不准确怎么回

首先可以肯定的告诉你,你的程序是错误的。为什么呢?

第一,从你提供的EM231模块的型号EM231 AI4×12Bit 231-0HC22-0XA8来看这是一个4路模拟量输入模块,而非RTD模块。从图中可以看到,这个模块的输入信号是电压信号和电流信号,而非RTD信号,所以他的工程量温度换算程序是不同的。

PT100温度传感器在西门子S7-200模拟量换算显示出来不准确怎么回

第二,确认了模块,需要对模块进行DIP开关的设置,需要选择电流模式

第三,就是编写程序,从你提供的程序看是错误的。对于S7-200的PLC,4mA电流对应A/D转化后的整数值为6400,20mA对应的整数值为32000,那么需要将整数值转为实数类型的工程值即摄氏度。公式为:

Ov = [(Osh - Osl)*(Iv - Isl)/(Ish - Isl)] + Osl

其中:

Ov: 换算结果

Iv: 换算对象

Osh: 换算结果的高限

Osl: 换算结果的低限

Ish: 换算对象的高限

Isl: 换算对象的低限

那么Iv对应AIW14,Osh对应100,Osl对应0,Ish对应32000,Isl对应6400

Ov = 100*(AIW14-6400)/ (32000-6400)+0

Ov得到的结果就是实际的温度值。

第四,对简单的量程转换方法,就是使用库文件,Scale_I_to_R,这个指令库可以网络搜索得到,或者关注我后,发私信给我,注明需要的指令库,这个指令库比较简单,如果是简单使用没有问题,但是它没有考虑小信号切除,信号波动,报警输出等都可以自己集成到这个库程序。

PT100温度传感器在西门子S7-200模拟量换算显示出来不准确怎么回

以上就是个人在实际工程中用到的一些程序和经验,分享给大家。

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查