大家好,下面直奔主题,希望得到大家的帮助。
实验背景介绍:
1、西门子 1200,模拟量输入输出模块,PID_Compact V2.3,循环中断块的时间为 200ms
2、PID:温度输入 (Input) 来自欧姆龙温控表的实时温度,通过 Modbus 读取工程值。
3、PID:输出 (Output_PER) 的是电流模拟量,控制加热器,加热器是 4-20mA 输入控制。
-----------------------------------------------
问题:
经测试,通过 Modbus 读取到的温控表温度,给 PID_Compact 无效。证据有三个:
1、当温控表温度超过 PID 设定温度后,PID 仍是 100% 输出,加热器一直在加热。
2、打开 PID_Compact 调试,“控制器的在线状态”中的 Input 的值一直为 0。
3、手动将 Input 针脚直接改成数字,PID 输出符合逻辑。(例如:假设目标温度为 38,Input 设置成 45,Output_PER 接近 0;Input 设置成 37,Output_PER 值很小)
-----------------------------------------------
图一:OB30 循环中断
图二:OB1 Modbus 读取欧姆龙温控表温度