1. 引言
随着我国水果产业向规模化、标准化、品牌化方向发展,传统的人工分拣方式因效率低、人力成本上升及果品损伤率高等问题,已逐渐成为制约产业升级的瓶颈[1]。近年来,借助传感器技术、PLC控制技术及智能算法的自动分拣系统逐步在果蔬加工、冷链物流及农产品初加工环节得到推广,表现出显著的效率和稳定性优势[2] [3]。
目前国内外学者对水果分拣自动化技术进行了大量研究。欧美地区在水果分拣装备上起步较早,基于机器视觉、近红外光谱和多传感器融合的智能分拣机已能实现水果外观与内部品质多维度检测[4] [5];在国内,随着“数字乡村”和农业现代化建设的推进,一批企业和科研机构相继推出基于PLC控制的水果分拣生产线,可按果形、着色度、糖度等多指标自动分级,大幅降低人工成本[6] [7],为直观比较这些主流技术,现总结如下表1所示。
由表1对比可知,机器视觉与光谱技术虽然在分拣精度上可达99%以上,但其高昂的成本和较高的专业维护难度,使其应用主要集中于高附加值的高品质水果分拣。相比之下,本文采用的基于PLC和多传感器融合的方案,在确保高速处理(>2000件/h)和较低误差率(<1%)的同时,实现了中等成本与低维护难度的平衡。因此,本方案的定位是为普通果品分拣和广大中小型生产线提供一套极具成本效益、高可靠性且易于维护的
Table 1. Comparison of fruit sorting technology solutions
表1. 水果分拣技术方案对比
技术方案 |
精度 |
速度 |
成本 |
维护难度 |
适用范围 |
机器视觉 |
高精度(≥99%) |
快速(>2000件/h) |
高 |
较高(需专业技术支持) |
高品质水果分拣 |
光谱技术 |
高精度(适用于内部品质) |
快速(>2000件/h) |
高 |
较高(需专业技术支持) |
高品质水果分拣 |
多传感器融合
(本文方案) |
中等精度(误差率<1%) |
快速(>2000件/h) |
中等 |
低(易维护) |
普通果品分拣, 适用于中小型生产线 |
自动化升级方案。
PLC(可编程逻辑控制器)凭借其高可靠性、抗干扰能力强、可编程灵活及易于模块化扩展等优点,已成为现代工业自动化控制的核心设备[8] [9]。基于PLC的自动分拣系统能够实现对传感器采集信息的实时处理和逻辑控制,驱动执行机构完成快速、精准分拣,并在物流、农产品加工、建筑垃圾分拣、玻璃清洗等多个领域已成功应用[10] [11]。近年来,一些研究者将触摸屏、HMI (人机界面)、变频器和气动元件与PLC集成,形成完整的自动化分拣系统,进一步提高了操作便捷性和分拣效率[12] [13]。此外,随着工业物联网和智能制造的发展,PLC控制系统正与工业以太网、云平台、MES系统深度融合,实现分拣生产线的数据采集、远程控制与智能决策[14] [15]。
综上所述,基于PLC的水果自动分拣系统具备高可靠性、高精度和可扩展性,能够在大批量生产与复杂工况下稳定运行。本研究在总结国内外研究成果的基础上,设计并实现了一套基于西门子S7-1200 PLC的水果自动分拣系统,整合颜色、重量、尺寸多类传感器,通过TIA Portal编程和PLC SIM仿真平台验证系统可行性,旨在为水果分拣行业智能化升级提供技术支持与工程示范。
2. 系统总体设计
2.1. 系统组成与工作原理
本系统旨在构建一套高效、精准、稳定的水果自动分拣控制平台,整体由检测模块、控制模块和执行模块三大部分组成,采用多传感器检测、PLC逻辑控制及机械执行协同的方式实现多参数分拣。
检测模块:包括上料传感器、颜色传感器、重量传感器与尺寸传感器,可分别完成水果位置、外观颜色、重量及几何尺寸的检测与信号采集,为PLC提供多维度原始数据[1]-[3]。
控制模块:以西门子S7-1200 PLC为核心控制单元,完成逻辑判断、数据处理、指令输出等功能,同时通过以太网接口与HMI (人机交互界面)进行实时通信,实现系统状态监控、参数调整及故障报警[4] [5]。
执行模块:包括传送带电机、机械臂、气缸及电磁阀等部件。PLC依据传感器采集的数据驱动执行机构将水果按不同等级进行分流与包装[6] [7]。
系统整体结构如图1所示,各模块间形成“多传感器→PLC控制→执行机构”的闭环控制,实现了高效、自动化的分拣作业。
Figure 1. Overall system structure diagram
图1. 系统整体结构图
2.2. 控制策略与功能目标
为保障系统在高节拍生产线上的稳定性与精度,本设计提出以下控制策略与目标:
(1) 多参数融合与阈值判断:PLC同时接收颜色、重量和尺寸三个传感器的信号,根据预设分拣标准进行逻辑运算,生成相应的执行动作指令,实现对水果等级的实时判别。
(2) 高速与低延时控制:系统响应时间 ≤ 100 ms,单小时处理量 ≥ 2000件,满足连续高强度生产需求。
(3) 模块化与可扩展:采用分布式I/O架构及标准化通信接口,预留糖度检测等扩展模块,支持后续功能升级。
(4) 故障诊断与状态监控:通过HMI实时显示设备运行参数和故障报警信息,支持操作人员在线调整分拣参数及手动干预,提高系统的可用性与安全性。
2.3. 工作流程
系统启动后,上料机械臂将水果逐一定位至传送带,水果随传送带匀速通过检测区。颜色传感器首先采集果皮RGB信息,重量传感器实时测量质量参数,尺寸传感器通过光电对射方式获取果径数据。PLC对多传感器数据进行融合处理,依据预设分级阈值(如一级果RGB ∈ [230, 255]、重量 ∈ [200 g, 300 g]、直径 ∈ [7 cm, 9 cm])进行逻辑判断,生成分拣指令。当水果抵达分拣区时,PLC驱动对应气缸动作,将水果推入指定等级通道,完成分拣后气缸自动复位。系统支持单周期与连续分拣模式,可通过H界面实时调整分级参数与运行速度。
3. 硬件选型与配置
硬件系统是自动分拣功能实现的物理基础,其选型直接决定了系统的检测精度、响应速度与运行可靠性。本节基于水果分拣的工艺要求与环境特点,从控制器、传感器、执行机构三个层面进行了深入的选型分析与配置设计。
3.1. 控制核心选型:PLC系统
为满足多传感器信号同步采集、复杂逻辑判断与多执行机构协同控制的需求,控制系统核心选用西门子S7-1200系列PLC,具体型号为CPU 1214C。该型号集成14点数字量输入/10点数字量输出,并支持多达3路模拟量输入,其150 kHz的高速计数器可精准捕获光电传感器脉冲信号,满足传送带位置精确定位需求。其选型依据主要基于以下几点:
性能与可靠性:该CPU采用32位ARM处理器,指令执行时间可达0.08 μs,足以应对多传感器数据融合算法的计算负荷。其坚固的工业级设计支持−25℃至+60℃的宽温工作环境,并具备优异的抗电磁干扰能力,适用于果蔬分拣车间可能存在的潮湿、粉尘工况。
扩展性与通信能力:本系统配置了SM1231模拟量输入模块以接入重量传感器的毫伏信号,并通过CM1241 RS485通信模块与变频器进行Modbus RTU协议通信,实现传送带电机的无级调速。未来可通过PROFINET总线轻松扩展视觉识别、糖度检测等高级功能模块,系统扩展性强。
开发效率:该系列PLC与西门子TIA博途(Totally Integrated Automation Portal)平台无缝集成,支持梯形图(LAD)、函数块图(FBD)及结构化文本(SCL)等多种编程语言,极大简化了程序开发与调试流程。
3.2. 传感系统选型:多维度信息感知
传感系统是系统的“感官”,其选型以实现高精度、高可靠性、非接触检测为目标。
颜色传感器:选用阿童木CL3系列色标传感器(见图2)。其采用RGB三原色识别原理,可精确识别苹果表皮的红绿比例(R/G值)与色度信息,有效区分着色程度。该传感器支持“颜色 + 光强度”双模式,能克服环境光变化干扰,检测距离18~28 mm可调,响应时间 < 1 ms,确保了在高速传送带(≥0.5 m/s)上对连续水果的准确颜色判别。
Figure 2. Atonm CL3 series color mark color sensor
图2. 阿童木CL3系列色标颜色传感器
Figure 3. Single point weight sensor
图3. 单点式重量传感器
Figure 4. Photoelectric size sensor
图4. 光电式尺寸传感器
Figure 5. Feeding sensor
图5. 上料传感器
重量传感器:核心元件为欧路达AT8502单点式称重传感器(量程10 kg,精度0.05% F.S)。其采用应变片电桥原理(见图3),输出毫伏级模拟信号。传感器表面经特种不锈钢密封与防腐蚀处理,符合IP66防护等级,可有效抵御果蔬清洗环节的水汽侵袭。信号经高精度24位ADC模块转换后送入PLC,确保了重量测量的稳定性和准确性。
尺寸传感器:选用西克SICK GTB6-N1212对射式光电传感器组对水果直径进行非接触测量(见图4)。该传感器基于红外光遮挡原理,通过检测水果通过时遮挡光束的时间,结合传送带速度,由PLC实时计算出水果的近似直径。其抗环境光干扰能力强,检测距离可达数米,特别适合大尺寸物体的检测。
上料与位置传感器:在上料端及分拣气动推杆工位,分别选用倍加福ML100-8-H-100RT漫反射光电传感器(见图5)和欧姆龙TL-Q5MC1槽型光电开关。前者用于检测水果是否进入检测区,触发系统开始采集数据;后者作为气缸的限位反馈,确保推杆动作到位,构成完整的闭环控制。
3.3. 执行系统选型:精准动力输出
执行系统负责将PLC的控制指令转化为精准的物理动作,其主线路图见图6。
传动执行:传送带驱动采用西门子1LE0001系列三相异步电动机(0.75 kW)搭配汇川MD310系列变频器。变频器接收PLC的Modbus速度给定指令,实现传送带在0.1~1.0 m/s范围内的无级平滑调速,以适应不同吞吐量的作业要求。
分拣执行:分拣动作由亚德客TN系列双轴气缸(缸径Φ16 mm,行程50 mm)执行。其搭配两位五通先导式电磁阀,由PLC数字量输出点直接驱动。该气缸结构紧凑、输出力大、动作迅速(一次推杆循环时间 < 0.5 s),且具有优良的重复定位精度,保证了分拣的准确性与效率。
上料执行:上料机械臂关节驱动采用鸣志驱动器一体式步进电机MS42DDC。其集成驱动与控制,支持脉冲/方向控制模式,接收PLC发出的高速脉冲序列,实现机械臂多轴位置的精确点到点(PTP)控制,完成水果的抓取与放置。
Figure 6. PLC main line diagram
图6. PLC主线路图
3.4. 系统I/O配置与电气接口
根据系统功能需求,对PLC的I/O点进行了详尽规划与分配(见表1)。数字量输入(DI)用于接收所有按钮、传感器及限位开关的信号;数字量输出(DO)用于控制接触器、指示灯及电磁阀线圈;模拟量输入(AI)专用于接收重量传感器的电压信号。所有传感器与执行器均通过双层屏蔽电缆连接至PLC端子模块,动力线与信号线分开布线,并在PLC电源入口加装电源滤波器,最大限度地抑制了现场电磁干扰,保障了信号传输的稳定性与系统控制的可靠性,其外围接线原理如图7所示。
4. 软件设计
软件系统是自动分拣控制功能的灵魂,负责协调所有硬件单元有序工作,并实现分拣逻辑与决策。本系统采用模块化、结构化的设计思想,基于西门子TIA博途V18平台进行开发,完成了PLC控制程序与人机界面(HMI)组态的设计,确保了系统的可靠性、实时性与可操作性。
Figure 7. Schematic diagram of peripheral wiring
图7. 原理图
Table 2. Detailed table of system I/O point allocation
表2. 系统I/O点分配详表
输入 |
说明 |
输出 |
说明 |
按钮SB1 |
I0.0 |
启动 |
KA1 |
Q0.0 |
传送带电机 |
按钮SB2 |
I0.1 |
停止 |
YV1 |
Q0.1 |
气缸1 |
SQ |
I0.2 |
上料传感器 |
YV2 |
Q0.2 |
气缸2 |
SW1 SW2 |
I0.3 I0.4 |
气缸限位开关1 气缸限位开关2 |
YV3 指示灯HL1 |
Q0.3 Q0.4 |
气缸3 正常运行灯绿灯 |
SW3 |
I0.5 |
气缸限位开关3 |
指示灯HL2 |
Q0.5 |
停止指示灯黄灯 |
SA |
I0.6 |
重量传感器 |
指示灯HL3 |
Q0.6 |
故障指示灯红灯 |
SB |
I0.7 |
尺寸传感器 |
KA2 |
Q0.7 |
机械臂电机 |
SC |
I1.0 |
颜色传感器 |
|
|
|
4.1. 开发平台与架构
系统软件在西门子TIA博途(Totally Integrated Automation Portal) V18集成开发环境中完成。该平台为PLC编程、HMI组态、驱动配置提供了统一的工程框架,支持多种编程语言混合编程,极大地提高了开发效率与程序的可维护性。
编程语言:主程序采用经典的梯形图(LAD)语言编写,直观易读,便于表达复杂的联锁逻辑和顺序控制;对于数据处理、算法实现等功能(如重量值的标定转换),则使用结构化控制语言(SCL)编写专用函数块(FB),兼顾了开发效率与代码执行效率。
程序结构:采用模块化组织架构,主要包括:
(1) 主程序(OB1):循环执行的组织块,调用所有功能块。
(2) 初始化程序(OB100):启动时执行一次,用于变量和设备的初始状态设置。
(3) 循环中断组织块(OB35):以固定周期(如100 ms)执行,用于处理重量传感器数据的实时滤波与计算等时间关键型任务。
(4) 功能块(FB):封装了可重复使用的功能,如“气缸控制”、“机械臂运动”等,并配有对应的背景数据块(DB)存储实例数据。
(5) 数据块(DB):用于存储全局变量和系统参数,如分拣阈值、计数器值、设备状态等。
4.2. 核心控制逻辑设计与实现
控制程序围绕分拣流程,实现了从上料到分拣的全自动逻辑控制。
主流程控制:系统上电后,经初始化进入待机状态。操作员通过HMI或现场按钮启动系统,主传送带与上料机械臂按预设顺序启动。其核心控制流程遵循图8所定义的逻辑,确保了分拣过程的有序性与准确性。
Figure 8. Overall system flowchart
图8. 系统整体流程图
颜色识别:颜色传感器输出的开关量或模拟量信号被PLC采集后,与HMI设定的RGB阈值范围进行比较判断。重量计算:重量传感器输出的模拟量信号经AI模块转换后,由SCL编写的算法进行软件滤波、单位换算(mV/kg)和上下限判断,程序逻辑伪代码如下所示。
Algorithm 1: Weight Detection and Rejection Logic |
// 主循环中持续检测 LOOP: IF System_Running IS TRUE AND Weight_Sensor_Trigger IS TRUE THEN // 检查当前重量是否在合格范围之外 IF Current_Weight < Min_Weight_Setting OR Current_Weight > Max_Weight_Setting THEN // 如果不合格,激活气缸2 Cylinder_2_Active := TRUE // 启动一个1秒的复位定时器 START_TIMER(Cylinder_2_Reset_Timer, 1_second) END IF END IF // 检查定时器是否完成 IF Cylinder_2_Reset_Timer.Is_Done THEN // 定时器时间到,气缸缩回 Cylinder_2_Active := FALSE RESET_TIMER(Cylinder_2_Reset_Timer) END IF END LOOP |
变量注释:
System_Running:系统运行状态;
Weight_Sensor_Trigger:重量传感器触发信号;
Current_Weight:当前读取的重量值;
Min_Weight_Setting:设定的最小重量阈值;
Max_Weight_Setting:设定的大重量阈值;
Cylinder_2_Active:气缸2状态;
Cylinder_2_Reset_Timer:气缸2复位定时器。
尺寸判断:通过计时器计算光电传感器被
遮挡的持续时间,结合当前传送带速度,实时计算出水果的近似直径。
执行机构驱动模块:
气缸控制:采用标准的起保停电路并结合定时器实现气缸的推出与自动退回。例如,当某级水果条件满足时,触发对应气缸电磁阀(Q0.1等)得电并自锁,同时启动1秒定时器,时间到后自动复位电磁阀,程序片段伪代码如下所示。
Algorithm 2: Color Detection Subroutine |
// 主循环中持续检测 LOOP: IF Auto_Mode_Running IS TRUE AND Color_Sensor_Trigger IS TRUE THEN // 检查当前颜色值是否在合格范围之外 IF Current_Color_Value < Min_Color_Setting OR Current_Color_Value > Max_Color_Setting THEN // 如果不合格,激活气缸1 Cylinder_1_Active := TRUE // 启动一个1秒的复位定时器 START_TIMER(Cylinder_1_Reset_Timer, 1_second) END IF END IF // 检查定时器是否完成 IF Cylinder_1_Reset_Timer.Is_Done THEN // 定时器时间到,气缸缩回 Cylinder_1_Active := FALSE RESET_TIMER(Cylinder_1_Reset_Timer) END IF END LOOP |
变量注释:
Auto_Mode_Running:自动模式运行状态;
Color_Sensor_Trigger:颜色传感器触发信号;
Current_Color_Value:当前读取颜色值;
Min_Color_Setting:设定最小颜色阈值;
Max_Color_Setting:设定最大颜色阈值;
Cylinder_1_Active:气缸1状态
Cylinder_1_Reset_Timer:气缸1复位定时器。
机械臂与传送带控制:机械臂运动由脉冲指令控制,实现精确定位。传送带电机则由PLC通过Modbus通信向变频器发送速度设定值,实现无极调速。
4.3. 安全与诊断逻辑设计
为提高系统可靠性,软件中集成了多层次的安全与诊断功能。
故障诊断与报警:程序实时监控各传感器、执行器的状态。当检测到电机热过载(I0.6)、气缸卡滞(限位开关超时未触发)或传感器通讯中断时,系统立即触发声光报警(Q0.6),并在HMI界面显示具体的故障代码和信息。
自动复位与保护:设计有系统急停(I0.1)和手动复位逻辑。针对机械臂,编写了越限保护程序,当检测到其超出安全位置时,自动以低速将其驱动回原点。
4.4. 人机界面(HMI)设计
利用TIA博途的HMI组态功能,为系统开发了基于TP1200精简系列触摸屏的交互界面。
主监控画面:通过动态显示系统整体工艺的操作流程,其中包括传送带、机械臂、传感器的实时状态信息,以及分拣数量的相关统计情况。
参数设置画面:提供一级果、二级果的颜色RGB值、重量、尺寸等关键阈值的修改接口,并设有密码保护,防止误操作。
手动操作画面:用于设备调试和维护,可单独点动控制各个气缸、启停传送带或移动机械臂。
报警历史画面:记录所有发生的故障事件及其发生时间,便于进行故障追溯与分析。
通过上述软件设计,系统不仅实现了高效精准的自动化分拣,更具备了良好的交互性、可维护性和高可靠性,满足了工业化应用的需求。
4.5. 程序调试与优化
在PLCSIM中先进行离线仿真,通过虚拟I/O信号模拟各类传感器输出与执行器响应,检查程序逻辑、时序延时与报警功能。调试中针对称重和颜色检测数据波动较大的问题,采用滑动平均滤波与阈值滞回策略,提高稳定性。通过编码器脉冲对剔除位置进行动态校正,将误差降低至±5 mm,机械臂仿真运动见图9。
Figure 9. Robotic arm operation simulation
图9. 机臂运行仿真
5. 系统仿真与调试
系统仿真与测试是验证控制逻辑正确性、评估系统性能与发现潜在问题的关键环节。本设计依托TIA博途平台强大的集成仿真环境,构建了“PLC控制器 + HMI人机界面 + 虚拟被控对象”的完整虚拟调试体系,对水果自动分拣系统的所有核心功能进行了全面验证,极大降低了现场调试的风险与成本。
5.1. 虚拟仿真测试平台搭建
仿真测试基于TIA博途V18的PLCSIM Advanced高级仿真功能与WinCC Advanced运行时联合构成。
虚拟PLC控制器:使用PLCSIM Advanced创建虚拟S7-1200 PLC,其运行特性与物理PLC高度一致,支持对程序代码、硬件组态及通信连接的全面仿真。
虚拟HMI监控:通过TIA博途启动WinCC Advanced运行系统,模拟TP1200触摸屏的运行环境,实现与虚拟PLC的实时数据交互。
仿真测试方法:采用信号强制与可视化监视相结合的方法。开发者可在TIA博途的监控表中强制修改输入点(I)状态(如模拟传感器触发),并实时观察输出点(Q)及内部变量(如计数器、定时器)的变化,从而精准验证每一段程序的逻辑行为。平台搭建与仿真启动界面如图10所示。
(a) (b)
Figure 10. Platform construction and simulation startup interface; (a) Start the PLC simulation; (b) PLC module startup
图10. 平台搭建与仿真启动界面。(a) 启动PLC仿真;(b) PLC模块启动
5.2. 系统功能测试方案与结果
测试遵循从模块到整体、从手动到自动的原则,全面覆盖系统所有功能点。
(1) 手动模式测试
测试目的:验证各执行机构(气缸、电机)能否独立正常动作。
测试过程:在HMI手动画面中依次点动“气缸一推出”、“传送带启动”、“机械臂回原点”等按钮。
测试结果:虚拟PLC相应输出点正确动作,且HMI上对应设备状态指示随之变化,证明底层驱动逻辑及HMI-PLC通信正常。测试过程如图11所示。
Figure 11. Feeding operation simulation
图11. 上料运行仿真
(2) 自动模式核心流程测试
测试目的:验证系统能否按设计流程自动完成上料、检测、分拣全过程。
测试过程:在HMI主界面设置分拣参数(如一级果重量下限200 g),启动自动运行模式。通过在PLC变量表中强制上料传感器4 (I0.2)、颜色传感器1 (I1.0)、重量报警传感器2 (I0.6)等输入信号,模拟不同品质水果(如合格、超重、着色不足)依次通过检测工位。
Figure 12. Automatic mode simulation of conveyor belts
图12. 传送带自动模式仿真
测试结果:PLC程序能正确根据强制输入的传感器信号进行逻辑判断,并驱动对应的气缸电磁阀(Q0.1, Q0.2)动作。HMI界面上的流程动画、分拣计数、当前状态指示均能实时更新,与预期逻辑完全一致。自动运行监控画面如图12所示。
(3) 异常工况与诊断功能测试
测试目的:验证系统报警和保护机制的可靠性。
测试过程:强制电机热过载信号(I0.6)为1,模拟电机故障;或在气缸动作后,不强制其限位开关信号(I0.3),模拟气缸卡滞。
测试结果:系统均在1个扫描周期内检测到异常,故障指示灯(Q0.6)输出为1,HMI主画面弹出报警消息,且执行机构停止运行,证明了故障诊断程序的有效性。
5.3. 测试结论与性能分析
经过全面的仿真测试,系统所有设计功能均得到验证:
功能完整性:上料、检测、分拣、报警、复位等所有预设功能均实现,逻辑正确。
响应实时性:从传感器信号触发到相应输出动作的响应时间远低于100 ms的设计要求,满足高速分拣的实时控制需求。
运行可靠性:程序对各种正常及异常工况均能做出正确、稳定的响应,系统鲁棒性强。
开发效率:虚拟仿真技术实现了程序的“所见即所得”式调试,将绝大部分逻辑错误消除在硬件部署之前,显著缩短了开发周期。
仿真测试结果表明,基于PLC的控制程序与HMI设计完全达到了预期设计目标,为后续的实物系统联调奠定了坚实可靠的基础。
6. 结论
本文设计并实现了一套基于西门子S7-1200 PLC的水果自动分拣系统,集成颜色、重量、尺寸等多种传感器,并结合机械臂、传送带和气动装置完成自动分拣。系统在TIA Portal平台开发并通过PLC SIM仿真验证,结果表明:分拣响应时间小于100 ms,每小时可处理水果2000件以上,颜色识别误差率低于1%,重量和尺寸检测精度均达到设计要求。该系统结构紧凑、可靠性高、人机交互友好,并预留扩展接口,适合多品种、大批量的水果分拣应用,可为农业自动化和智能化提供有价值的工程参考。