用西门子1200PLC自带模拟量输入口测温度
硬件接线
- pt100温度传感器
- pt100变送器(电流输出型:4~20ma)
- 500欧电阻
由于没有1200模拟量输入模块SM1231,只能使用本体自带的两路AI模拟输入量端口,因为本地自带的只能接受0-10V的电压,所以在2M,和AI0端口接上一个500欧的电阻,即可以将4~20ma的电流转换成2~10V的电压(欧姆定律:0.04A*500 = 2V,0.2*200 = 10V)。温度传感器接到变送器上,正极接24V电源正极,负极接AI0接口,PLC2M口接电源负极。
软件指令
- NORM_X 指令(标准化指令)
功能:将一个物理量程内的整数,归一化到 0.0 ~ 1.0 的浮点数
| 参数 | 数据类型 | 说明 |
|---|---|---|
| MIN | Int | 原始输入量程的最小值 |
| MAX | Int | 原始输入量程的最大值 |
| VALUE | Int | 要转换的原始变量(例如 IW64) |
| OUT | 浮点数 | 标准化结果(百分比) |
| 参数 | 赋值 |
|---|---|
| MIN | 5530 |
| MAX | 27648 |
| VALUE | Temp_Raw(Temp_Raw:=IW64) |
5530对应的是4ma,27648对应的是20ma,所以最小最大量程对应的是5530,27648。AI01对应的存储区域是IW64,所以Value填写IW64读取传过来的数值。

- SCALE_X指令(缩放指令)
功能:将 0.0~1.0 的实数,线性缩放为实际工程值。在这里是将数值转化为温度。
| 参数 | 数据类型 | 说明 |
|---|---|---|
| VALUE | Real | 归一化输入,通常为 NORM_X 的输出,正常范围0.0 ~ 1.0 |
| XMIN | Real | 物理量程的下限值 |
| XMAX | Real | 物理量程的上限值 |
| OUT | Real | XMIN + IN * (XMAX – XMIN) 计量数 |
p100变送器温度范围位0~100摄氏度,所以XMIN,XMAX对应的值位0,100。OUT输出的值即测量的温度。
