混料机的编程可以分为几个关键步骤,包括配料计算、进料控制、搅拌控制和排料控制。以下是一个基于这些步骤的编程思路:
程序设计思路
配料计算
根据配方计算各种原料的添加量。
定义变量如:`Material_A_Target`(A料目标重量)、`Material_B_Target`(B料目标重量)、`Mix_Speed`(搅拌速度)、`Mix_Time`(搅拌时间)。
进料控制
精确控制每种物料的进料量和速度。
定义变量如:`Start_Flag`(启动标志)、`Step_No`(步骤号)、`Current_Weight`(当前重量)。
搅拌控制
根据工艺要求控制搅拌速度和时间。
定义变量如:`Motor`(搅拌电机)。
排料控制
确保成品的均匀性。
定义变量如:`OutValve`(排料阀门)。
程序实现
变量定义
```plaintext
// 工艺参数
REAL Material_A_Target;// A料目标重量
REAL Material_B_Target;// B料目标重量
REAL Mix_Speed;// 搅拌速度
TIME Mix_Time;// 搅拌时间
// 控制变量
BOOL Start_Flag; // 启动标志
INT Step_No; // 步骤号
REAL Current_Weight; // 当前重量
// 输入变量
%I0.0 Start; // 启动按钮
%I0.1 Stop; // 停止按钮
%I0.2 Level1;// 料仓1料位传感器
%I0.3 Level2;// 料仓2料位传感器
%I0.4 Level3;// 料仓3料位传感器
%IW64 Weight;// 重量传感器
// 输出变量
%Q0.0 Valve1;// 料仓1阀门
%Q0.1 Valve2;// 料仓2阀门
%Q0.2 Valve3;// 料仓3阀门
%Q0.3 Motor; // 搅拌电机
%Q0.4 OutValve; // 排料阀门
// 中间变量
%MD10 Timer1;// 搅拌时间计时器
%MD20 Weight1; // 料仓1目标重量
%MD24 Weight2; // 料仓2目标重量
%MD28 Weight3; // 料仓3目标重量
```
主程序实现
```plaintext
CASE Step_No OF
0: // 待机状态
IF Start_Flag THEN
Step_No := 10;
END_IF;
10: // 加料A
IF Current_Weight >= Material_A_Target THEN
Step_No := 20;
END_IF;
20: // 加料B
IF Current_Weight >= Material_B_Target THEN
Step_No := 30;
END_IF;
30: // 搅拌
Motor := TRUE;
Timer1 := 0;
40: // 排料
OutValve := TRUE;
50: // 结束
Step_No := 0;
END_CASE;
```
控制算法设计
PID控制
```plaintext
// 系统参数
REAL Target_Weight;// 目标重量
REAL Current_Weight;// 当前重量
REAL Speed_Output; // 变频器速度输出
// PID参数
REAL Kp := 0.8; // 比例系数
REAL Ki := 0.2; // 积分系数
REAL Kd := 0.05; // 微分系数
// PID控制功能块
FUNCTION PID_Control(Input: REAL) RETURNS REAL
// 实现PID控制算法
RETURN Speed_Output;
END_FUNCTION;
```
系统启动条件
```plaintext
LD "Start"A // 启动按钮
"Stop"= // 停止按钮
"Level1"= // 料仓1料位传感器
"Level2"= // 料仓2料位传感器
"Level3"= // 料仓3料位传感器
"Weight"= // 重量传感器
```
总结
以上是一个基本的混料机编程思路,包括配料计算、进料控制、