三菱FX3U或2N PID开关量固态继电器调节水温程序 当温度差目标远时,输出值100%,当接近温度,部分输出,到达温度时,输出值更小,维持设定温度。 此法使用PID的自整定(阶跃响应法),来控制固态继电器的输出,从而实现准确的温度控制,pld值会随着加热的进行自行计算出来,输出值也不是最开始的设定值,而是一个不断变化的数值,这就是奇妙的地方,需要的朋友拿去可以玩玩,发货内容包括plc、威纶触摸屏程序,以及五集详细的视频教程

在自动化控制领域,水温控制是一个常见需求。今天咱就聊聊如何用三菱FX3U或2N系列PLC,结合PID控制以及开关量固态继电器来调节水温,超有趣,一起来瞧瞧!

控制逻辑

咱们这个控制逻辑挺巧妙。当实际温度和目标温度差值较大,也就是距离目标温度远的时候,固态继电器输出值给到100%,全力加热。随着温度逐渐接近目标值,输出就变成部分输出。等温度达到目标值了,输出值进一步变小,就维持住设定温度,避免温度波动过大。

PID自整定(阶跃响应法)

这里用到了PID自整定的阶跃响应法,这可是关键。PLC通过这种方法,能根据加热过程中的各种情况,自己计算出合适的PID值。可不是一开始设定好就不变了,而是加热过程中不断变化,让控制更加精准。

代码实现

下面咱看看关键代码部分(以三菱FX3U为例,FX2N类似):

// 初始化部分
LD M8000
MOV K100 D0 // 假设初始目标温度设定值存于D0
MOV K0 D1 // 初始化当前温度存储寄存器D1

// PID运算部分
LD M8000
PID D0 D1 D2 // D0为目标值,D1为当前值,D2存储运算结果

// 根据PID运算结果控制输出
LD D2
CMP K50 D2 M10 // 当运算结果大于50
LD M10
OUT Y0 // Y0连接固态继电器,全力输出
LD D2
CMP K20 D2 M11 // 当运算结果大于20小于等于50
LD M11
OUT Y1 // Y1连接固态继电器,部分输出
LD D2
CMP K0 D2 M12 // 当运算结果小于等于20
LD M12
OUT Y2 // Y2连接固态继电器,小量输出维持温度

代码分析

  1. 初始化部分:一开始,利用 M8000 这个PLC上电就接通的特殊继电器,将假设的目标温度值 100 存入 D0 寄存器,同时把当前温度存储寄存器 D1 清零。这是为后续的运算做准备。
  2. PID运算部分:还是通过 M8000 保证每次扫描都执行 PID 指令。这里把 D0 中的目标值、D1 中的当前值作为参数,运算结果存到 D2 中。这个 D2 的值就是根据PID算法实时变化的,是控制输出的关键依据。
  3. 输出控制部分:通过比较 D2 中的运算结果与不同的设定值(这里假设 5020 作为界限),来决定连接固态继电器的输出点。比如当 D2 大于 50Y0 输出,固态继电器全力工作;2050 之间,Y1 输出部分功率;小于等于 20 时,Y2 输出小功率维持温度。

福利来啦

要是你对这个项目感兴趣,不仅提供PLC程序,还有威纶触摸屏程序,另外还配备五集详细视频教程,帮你从原理到实操,彻底搞懂这个水温控制项目,拿去就能玩起来,赶紧试试吧!

三菱FX3U或2N PID开关量固态继电器调节水温程序 当温度差目标远时,输出值100%,当接近温度,部分输出,到达温度时,输出值更小,维持设定温度。 此法使用PID的自整定(阶跃响应法),来控制固态继电器的输出,从而实现准确的温度控制,pld值会随着加热的进行自行计算出来,输出值也不是最开始的设定值,而是一个不断变化的数值,这就是奇妙的地方,需要的朋友拿去可以玩玩,发货内容包括plc、威纶触摸屏程序,以及五集详细的视频教程

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐