3. PLC硬件与编程基础
在SICK产线检测与PLC协同控制的系统中,PLC是整个控制逻辑的“大脑”。SICK传感器负责采集位置、颜色、轮廓、条码等检测信号,PLC则根据这些信号完成判断、联锁、计数、分拣和与上位系统的数据交互。要真正读懂并编写这类协同程序,必须先理解PLC的硬件组成、I/O模块、通信接口,以及梯形图和结构化文本这两种最常用的编程语言。
一、主流PLC的硬件组成
无论是西门子、三菱还是欧姆龙,PLC的硬件结构都可以归纳为几个核心部分:电源模块、CPU模块、输入模块、输出模块、通信模块和背板/机架。电源模块负责将现场交流电转换为CPU和I/O所需的直流电源;CPU模块执行用户程序、管理内存和通信;输入模块接收来自按钮、限位开关、SICK传感器的信号;输出模块驱动继电器、电磁阀、指示灯和分拣机构;通信模块则负责与触摸屏、变频器、上位机或其它PLC交换数据。
以西门子S7-1200为例,常见配置为CPU 1214C DC/DC/DC,集成14点数字量输入、10点数字量输出、2点模拟量输入,并自带PROFINET接口。三菱FX5U则常见24点输入、16点输出,内置以太网和RS-485。欧姆龙CP1H系列则通过扩展机架增加I/O点数。不同品牌的模块名称不同,但“CPU+电源+I/O+通信”的基本框架是一致的。
二、I/O模块与信号类型
I/O模块分为数字量模块和模拟量模块两大类。数字量输入(DI)处理开关信号,例如SICK光电开关输出PNP高电平表示“有物料”,PLC的DI点读到24V即认为输入为ON。数字量输出(DO)用于驱动电磁阀、气缸和报警灯,常见为晶体管输出或继电器输出。模拟量输入(AI)用于接收SICK激光测距传感器输出的4~20mA或0~10V信号,PLC内部再通过量程转换得到实际距离值。
接线时要注意源型/漏型匹配。以PNP传感器为例,信号线输出高电平,PLC输入公共端应接0V;若使用NPN传感器,公共端则接24V。实际项目中,SICK传感器多为PNP输出,因此西门子PLC的1M公共端通常接0V。模拟量信号则要使用屏蔽双绞线,屏蔽层单端接地,避免变频器干扰造成读数跳动。
三、通信接口与协同方式
PLC与SICK传感器、上位机、变频器之间的通信方式,直接决定了产线检测与控制的响应速度和布线复杂度。常见接口包括:PROFINET、EtherNet/IP、EtherCAT、RS-485、RS-232和IO-Link。西门子PLC多使用PROFINET,三菱和欧姆龙则常见以太网、CC-Link IE或EtherNet/IP。SICK部分智能传感器支持IO-Link,可通过IO-Link主站将参数和诊断信息传入PLC,而不仅仅是开关量。
在协同控制中,PLC通常作为主站,SICK传感器作为从站或远程I/O。例如,SICK安全激光扫描仪通过PROFINET向PLC发送区域状态字,PLC解析后决定是否允许机器人进入该区域。通信配置的关键是地址分配、数据长度和刷新周期。若刷新周期设为4ms,而产线节拍为200ms,则通信延迟通常不会成为瓶颈;但若用于高速分拣,则需选择EtherCAT或IO-Link等低延迟方案。
四、梯形图与结构化文本入门
PLC编程语言主要有梯形图(LAD)、功能块图(FBD)、结构化文本(ST)和指令表(IL)。在产线检测与PLC协同控制中,梯形图最直观,适合表达继电器逻辑和联锁;结构化文本则适合处理数据计算、循环和复杂判断。
梯形图的基本元素是触点、线圈和功能块。常开触点对应“条件成立则导通”,常闭触点对应“条件不成立则导通”。例如,当SICK光电传感器检测到物料且安全门关闭时,输出气缸动作,可写成:常开触点“物料检测”与常闭触点“安全门未关”串联,再驱动线圈“气缸动作”。这种“串联为与、并联为或”的读图方式,是梯形图入门的关键。
结构化文本更接近高级语言。例如,将模拟量原始值转换为实际距离,可以用ST写成:
// 示例:S7-1200模拟量量程转换
// 原始值 0~27648 对应 4~20mA,距离 200~1000mm
IF RawValue >= 0 AND RawValue <= 27648 THEN
Current_mA := 4.0 + (INT_TO_REAL(RawValue) / 27648.0) * 16.0;
Distance_mm := 200.0 + (Current_mA - 4.0) / 16.0 * 800.0;
ELSE
Distance_mm := -1.0; // 故障标记
END_IF;
这段代码体现了ST的优势:可以直接进行浮点运算和条件判断,适合处理SICK传感器上传的连续量。实际编程时,还需加入滤波、限幅和故障判断,避免干扰导致误动作。
五、从硬件到程序的协同要点
在SICK产线检测与PLC协同控制中,硬件选型和程序结构必须匹配。第一,确认传感器输出类型与PLC输入模块兼容,PNP传感器配漏型输入,NPN传感器配源型输入。第二,模拟量信号要统一量程和参考电位,避免共模干扰。第三,通信地址和刷新周期要与产线节拍匹配,安全信号必须走安全PLC或安全模块,不能与普通逻辑混用。第四,程序结构上建议将传感器信号处理、逻辑判断、输出驱动和通信交互分成独立块,便于调试和维护。
掌握以上硬件组成、I/O模块、通信接口和编程语言基础后,后续学习SICK传感器与PLC的具体协同编程时,就能更快理解信号从哪里来、经过哪些处理、最终驱动什么动作,也能更准确地判断故障发生在传感器、接线、模块还是程序逻辑中。