一、接地系统设计
良好的接地是PLC系统抵抗电磁干扰(EMI)、保障人员安全、确保信号准确度的首要措施。接地系统设计的目标是建立一个等电位参考点,为干扰电流提供低阻抗泄放路径。
1.1 接地类型
| 接地类型 | 目的 | 实施要点 |
|---|---|---|
| 保护地 (PE) | 人员与设备安全,防止电击 | 连接所有设备金属外壳,接地电阻 < 4Ω, 采用黄绿双色线。 |
| 工作地 (SG) | 为系统电路提供稳定的电位参考点 | PLC、仪表、传感器24V DC公共端单点接地,避免形成地环路。 |
| 屏蔽地 | 为屏蔽层提供泄放路径,抑制干扰 | 电缆屏蔽层单端接地(通常在控制柜侧),避免两端接地引入地电位差干扰。 |
| 防雷地 | 泄放雷击或浪涌电流 | 独立接地体,与其他地网间隔 > 20米,或采用等电位连接器连接。 |
1.2 接地网络拓扑
PLC系统典型接地网络示意图
最佳实践: 采用“星型”或“单点”接地方式连接控制柜内所有工作地线至同一铜排,该铜排再通过足够截面积的导线(>16mm²)连接到独立的工作地接地体。
二、屏蔽处理
屏蔽是通过金属层包裹导体或设备,以隔离或引导电磁场,防止干扰辐射或侵入。
2.1 电缆屏蔽
- 模拟信号线(4-20mA,热电偶等): 必须使用双绞屏蔽线。屏蔽层在控制柜侧单端接地至屏蔽接地铜排。
- 高速数字信号线(以太网,脉冲编码器): 使用带金属箔和编织网的双重屏蔽电缆(SF/UTP或S/FTP),屏蔽层通过专用连接器360°端接至设备金属外壳。
- 动力电缆(电机驱动,大电流): 与信号电缆分层敷设,最小平行间距30cm。若交叉,应成90°角。
2.2 机柜屏蔽
- 控制柜体应采用优质冷轧钢板,确保各处电气连续性好。
- 柜门与柜体之间应使用指形簧片或导电衬垫,保证良好的电磁密封。
- 进出线孔应使用金属电缆夹克或屏蔽格兰头,确保开孔处的屏蔽完整性。
模拟信号电缆屏蔽接地示意图
三、电源滤波
电网中的浪涌、谐波和瞬时跌落是PLC系统的主要电源干扰。电源滤波旨在净化进入控制系统的电能。
3.1 滤波层级
| 层级 | 设备 | 功能 |
|---|---|---|
| 第一级(进线) | 三相电源滤波器、防雷浪涌保护器(SPD) | 抑制电网传入的共模/差模干扰和雷击浪涌。 |
| 第二级(分配) | 隔离变压器、单相电源滤波器 | 为PLC、伺服等敏感设备提供洁净的隔离电源。 |
| 第三级(设备级) | DC/DC电源模块、板载滤波电容 | 进一步平滑直流电源,抑制模块间传导干扰。 |
3.2 电源架构示例
PLC系统电源滤波与分配架构图
警告: 电源滤波器的接地线必须尽可能短而粗,直接连接至机柜的接地铜排。否则,滤波器的高频衰减性能将严重下降。
四、隔离方案
隔离是通过物理或电气手段切断干扰传导路径,将不同电位的区域分开。
4.1 常见隔离技术
- 光电隔离: 用于数字量I/O模块。利用光耦将现场侧与PLC内部电路在电气上完全隔离,耐受电压可达数千伏。
- 磁隔离(变压器隔离): 用于通信端口(如RS-485)和电源。通过磁场耦合传递信号或能量,切断共地环路。
- 继电器隔离: 用于大功率输出控制。利用继电器的机械触点实现强电与弱电的完全隔离。
- 信号隔离器: 用于模拟量信号。将输入的4-20mA信号隔离并转换为新的、纯净的4-20mA输出,并可为变送器配电。
4.2 隔离方案选型表
| 干扰场景 | 推荐隔离方案 | 典型器件/模块 |
|---|---|---|
| 远程DI信号,地电位差大 | 光电隔离 | 带光耦的DI模块(如 SM321) |
| 变频器附近的模拟量信号 | 模拟信号隔离器 | 四线制隔离配电器 |
| 长距离RS-485通信 | 磁隔离 + 屏蔽 | 带隔离的RS-485中继器 |
| 交流220V控制直流24V负载 | 继电器隔离 | 中间继电器(如 MY2N) |
五、实践代码示例:接地与滤波状态监测
通过PLC程序监测关键接地状态和电源质量,实现预防性维护。
5.1 接地电阻监测报警(ST语言示例)
// 接地电阻监测程序 - 结构化文本 (ST)
// 假设AI模块通道0连接接地电阻检测仪信号(4-20mA对应0-10Ω)
PROGRAM Grounding_Monitoring
VAR
ai_ResistanceRaw : INT; // 原始模拟量值 (0-27648)
f_ResistanceOhm : REAL; // 计算后的电阻值 (Ω)
b_PE_Alarm : BOOL; // 保护地报警
b_SG_Alarm : BOOL; // 工作地报警
t_PE_Timer : TON; // 报警延时定时器
CONST
SCALE_MIN : REAL := 4.0; // 4mA
SCALE_MAX : REAL := 20.0; // 20mA
RANGE_MIN : REAL := 0.0; // 0Ω
RANGE_MAX : REAL := 10.0; // 10Ω
PE_LIMIT : REAL := 4.0; // 保护地报警阈值 4Ω
SG_LIMIT : REAL := 1.0; // 工作地报警阈值 1Ω
END_CONST
END_VAR
// 模拟量标定转换
f_ResistanceOhm := (INT_TO_REAL(ai_ResistanceRaw) / 27648.0) * (SCALE_MAX - SCALE_MIN) + SCALE_MIN; // 转换为mA
f_ResistanceOhm := (f_ResistanceOhm - SCALE_MIN) / (SCALE_MAX - SCALE_MIN) * (RANGE_MAX - RANGE_MIN) + RANGE_MIN; // 转换为Ω
// 保护地电阻报警逻辑(延时5秒防抖动)
t_PE_Timer(IN := f_ResistanceOhm > PE_LIMIT, PT := T#5S);
b_PE_Alarm := t_PE_Timer.Q;
// 工作地电阻报警逻辑(立即报警)
b_SG_Alarm := f_ResistanceOhm > SG_LIMIT;
// 报警处理(可扩展为HMI显示或上位机通知)
IF b_PE_Alarm THEN
// 触发声光报警,记录故障日志
Alarm_PE_Active := TRUE;
LogEvent('警告:保护地电阻超标!当前值:' + REAL_TO_STRING(f_ResistanceOhm) + ' Ω');
ELSIF b_SG_Alarm THEN
// 触发预警
Alarm_SG_Warning := TRUE;
LogEvent('预警:工作地电阻偏高。当前值:' + REAL_TO_STRING(f_ResistanceOhm) + ' Ω');
END_IF;
5.2 电源电压波动监测(梯形图示例)
// 电源电压波动监测 - 梯形图逻辑描述 // Network 1: 读取电源监控模块数据 // | AI_Read_Power MOV_W // |----[ ]-------------------( )----> 将电源电压值(字)传送到 MW100 // // Network 2: 判断电压是否超限(正常范围:210V-230V) // | CMPR 上限比较 | OR // |----[ ]--------| > |-----+ // | 23000 | // | | // | TON 防抖延时 | // |----[ ]--------(TON)-----|------ 输出报警位 M10.0 // | T#2S | // // Network 3: 报警输出与复位 // | M10.0 报警位 M10.1 报警锁存 // |----[ ]--------+-------( S )------ // | | // | HMI_Reset 复位按钮 | // |----[ ]--------+-------( R )------ // // Network 4: 驱动报警指示灯 // | M10.1 // |----[ ]-------------------( )----> Q0.0 电源报警指示灯