自动分拣系统的梯形图版本(西门子 S7-1200) 和
HMI 画面设计模板
一、核心补充 1:梯形图版本(西门子 S7-1200)
适配 TIA Portal 梯形图编辑器,按功能模块分网络编写,逻辑与 ST 语言一致,更适合新手调试。
网
络号
功能名
称
梯形图逻辑(核心指令)
1
急停安
全逻辑
LD NOT EStop_Button → R Run_Enable、R 所有输出点、S Alarm_Red、R
Alarm_Green
2
启动 /
停止控制
LD Start_Button → S Run_Enable、S Alarm_Green、R Alarm_Red、MOV 13824
Conveyor_SpeedLD Stop_Button → R Run_Enable、MOV 0 Conveyor_Speed、R
Alarm_Green、S Alarm_Yellow
3
物料到
位检测
LD Run_Enable + LD Material_In → MOV 0 Conveyor_Speed、S T0(5s 定时器,气
缸超时)
4
金属物
料分拣
LD 网络 3 输出 + LD Metal_Detect → S Cyl_Metal_Out、R Cyl_Metal_BackLD
(1s 定时器)→ R Cyl_Metal_Out、S Cyl_Metal_Back、ADD 1 Metal_Count、R
T0、R T0_1S、MOV 13824 Conveyor_Speed
5
非金属
物料分拣
LD 网络 3 输出 + LD NOT Metal_Detect → S Cyl_NonMetal_Out、R
Cyl_NonMetal_BackLD → R Cyl_NonMetal_Out、S Cyl_NonMetal_Back、ADD 1
NonMetal_Count、R T0、R T0_1S、MOV 13824 Conveyor_Speed
6
气缸超
时故障处理
LD Cyl_Timeout → R Run_Enable、MOV 0 Conveyor_Speed、S Alarm_Red、R 所有
气缸输出点
7
HMI 数
据映射
(无需指令,TIA 中直接将 Metal_Count/NonMetal_Count/Run_Enable 关联到 HMI
变量)
梯形图关键说明:
定时器 T0(5s):气缸动作超时保护,T0_1S(1s):气缸伸出 / 缩回延时,需在「定时器组态」中提
前定义;
所有置位(S)/ 复位(R) 指令优先保证安全逻辑(急停 > 故障 > 正常控制);
模拟量输出 Conveyor_Speed 赋值 13824,对应变频器 50% 转速(0-27648 对应 0-10V)。
二、核心补充 2:HMI 画面设计模板(西门子 KTP700)
按工业标准布局设计 3 个核心画面,直接在 TIA Portal 的 HMI 编辑器中复刻即可,包含操作、监控、
故障全功能。
画面 1:主操作画面(默认启动画面)
区域
控件类
型
内容与关联变量 功能说明
顶部标
题
文本框 「物料自动分拣系统」 画面标识
运行状
态区
圆形指
示灯
绿色:关联 Run_Enable(ON = 亮)黄色:关联 Stop_Button(ON
= 亮)红色:关联 Alarm_Red(ON = 亮)
产线状态
可视化
区域
控件类
型
内容与关联变量 功能说明
操作按
钮区
按钮控
件
启动:触发 Start_Button(置位)停止:触发 Stop_Button(置位)
急停:触发 EStop_Button(复位)故障复位:复位 Cyl_Timeout
手动操作
速度调
节区
输入框
+ 滑块
关联 Conveyor_Speed(范围 0-27648)
实时调节
传送带速度
计数显
示区
数值显
示框
金属物料:关联 Metal_Count 非金属物料:关联 NonMetal_Count
分拣数量
统计
画面切
换区
按钮控
件
「故障详情」→ 跳转画面 2「参数设置」→ 跳转画面 3
多画面切
换
画面 2:故障详情画面
区域 控件类型 内容与关联变量 功能说明
故障列
表
文本框 +
指示灯
气缸动作超时:关联 Cyl_Timeout(红灯亮)急停触发:关联 NOT
EStop_Button(红灯亮)传感器断线:关联 NOT Material_In(黄灯亮)
故障类型
精准提示
故障处
理指导
文本框 对应故障的解决方法(如「气缸超时:检查气压 / 气缸卡滞」)
现场快速
排障
返回按
钮
按钮控件 「返回主画面」→ 跳转画面 1 画面切换
画面 3:参数设置画面
区域
控件类
型
内容与关联变量 功能说明
定时器
参数
输入框
气缸超时时间:关联 (单位 ms)气缸动作延时:关联
(单位 ms)
时序参数可
调
计数清
零
按钮控
件
「计数清零」→ 复位 Metal_Count/NonMetal_Count
批量清零统
计数据
权限保
护
密码输
入框
触发参数修改前需输入密码(如 1234) 防止误操作
返回按
钮
按钮控
件
「返回主画面」→ 跳转画面 1 画面切换
HMI 设计要点:
指示灯颜色遵循工业标准:绿 = 运行、黄 = 预警、红 = 故障;
所有可操作控件(按钮、输入框)增加操作提示(鼠标悬停显示说明);
故障画面设置自动跳转:当 Alarm_Red 为 ON 时,自动从主画面跳转到故障详情画面。
三、核心补充 3:扫码追溯扩展功能(核心代码)
在原有分拣逻辑基础上,增加扫码枪读取物料二维码,实现「物料编号 - 类型 - 分拣时间」的追溯,硬
件新增串口扫码枪(接 PLC 的 RS485 端口)。
1. 新增硬件与变量
新增硬件:串口扫码枪(RS485,波特率 9600,8N1);
新增变量(全局变量表):
变量名 数据类型 地址 说明
Scan_Data String M100 扫码枪读取的物料二维码数据
Sort_Time Time M200 物料分拣时间
Data_Store Array DB1 追溯数据存储区(存 1000 条记录)
2. 核心扩展代码(ST 语言,可直接嵌入原有程序)
st
// ===================== 扫码数据读取 =====================
// 串口接收扫码枪数据(西门子 S7-1200 通过 CM 1241 RS485 模块接收)
IF THEN // RS485 接收完成标志
Scan_Data := ; // 将接收的数据存入 Scan_Data
:= FALSE; // 复位接收标志
END_IF;
// ===================== 追溯数据存储 =====================
IF Run_Enable AND Material_In AND (Scan_Data <> '') THEN
// 记录分拣时间
Sort_Time := TON_CURRENT_TIME; // 获取当前系统时间
// 存储追溯数据到数据块 DB1(数组结构:物料编号+类型+时间)
_Record[].Material_Code := Scan_Data;
IF Metal_Detect THEN
_Record[].Material_Type := '金属';
ELSE
_Record[].Material_Type := '非金属';
END_IF;
_Record[].Sort_Time := Sort_Time;
// 索引自增,最大存储 1000 条,循环覆盖
IF >= 1000 THEN
:= 1;
ELSE
:= + 1;
END_IF;
// 清空扫码数据,准备下一次读取
Scan_Data := '';
END_IF;
// ===================== HMI 追溯查询 =====================
// HMI 中增加「扫码查询」输入框,关联 Scan_Query 变量
// 输入物料编号后,遍历 DB1 查找对应记录,在 HMI 显示
IF THEN // HMI 查询触发标志
FOR i := 1 TO 1000 DO
IF _Record[i].Material_Code = THEN
_Type := _Record[i].Material_Type;
_Time := _Record[i].Sort_Time;
:= TRUE;
EXIT;
ELSE
:= FALSE;
_Type := '未查询到';
END_IF;
END_FOR;
:= FALSE; // 复位查询标志
END_IF;
扫码追溯要点:
数据块 DB1 需提前组态为数组结构,包含「物料编号(String)、物料类型(String)、分拣时间(Time)」
三个字段;
扫码枪需与 PLC 串口参数匹配(波特率、数据位、校验位);
HMI 中增加「追溯查询」画面,实现物料信息的快速检索。
总结
梯形图版本:按功能分网络编写,指令简单直观,适配西门子 S7-1200,新手可直接对照接线和调试;
HMI 模板:覆盖「操作、监控、故障、参数、追溯」5 大核心功能,完全遵循工业设计标准,可直接复
刻到 KTP700;
扫码追溯扩展:仅需新增串口扫码枪和少量代码,即可实现物料全流程追溯,满足工业产线的可追溯性要
求。