在工业场景中,PLC 计算用电量的核心逻辑是 “功率 × 时间”(用电量单位:kWh,1kWh=1 度电),需结合电压 / 电流采集模块(如模拟量模块、专用电力计量模块)获取实时功率数据,再通过 PLC 的定时采样、累计运算实现用电量统计。以下是两种主流实现方案(适配不同硬件配置),包含具体接线、程序逻辑和参数设置,可直接落地应用。
一、核心原理与前提条件
1. 用电量计算公式
用电量实时功率采样时间间隔
2. 必备硬件
| 硬件类型 | 作用 | 推荐型号(台达 / 通用) |
|---|---|---|
| PLC 主机 | 运算、累计统计 | 台达 DVP-ES2/SA2 系列(支持浮点运算) |
| 电压传感器 / 互感器 | 采集线路电压(将高压转为 0-10V/4-20mA) | 交流电压变送器(0-500V→4-20mA) |
| 电流传感器 / 互感器 | 采集线路电流(将大电流转为 0-10V/4-20mA) | 交流电流变送器(0-50A→4-20mA) |
| 模拟量输入模块 | 接收传感器信号并转换为数字量 | 台达 F2AD(2 通道,支持 4-20mA/0-10V) |
| (可选)专用电力计量模块 | 直接输出功率 / 用电量信号(无需手动计算) | 台达 DVP-PM 系列、Modbus 电力仪表 |
二、方案一:模拟量模块(F2AD)+ 电压 / 电流传感器(通用方案)
适用于无专用电力模块的场景,需通过 PLC 计算功率后累计用电量,步骤如下:
1. 硬件接线(以单相电路为例)
2. 核心参数确认
| 传感器参数 | 对应 F2AD 数字量范围(12 位精度) | 实际物理量范围 |
|---|---|---|
| 电压变送器(0-500V→4-20mA) | 4mA→819,20mA→4095 | 0~500V |
| 电流变送器(0-50A→4-20mA) | 4mA→819,20mA→4095 | 0~50A |
3. PLC 程序设计(台达 WPLSoft,梯形图)
程序分为 4 个核心步骤:模拟量读取→电压 / 电流换算→功率计算→用电量累计,以 “10 秒采样 1 次” 为例。
步骤 1:读取 F2AD 原始模拟量值
将 F2AD 通道 1(电压)、通道 2(电流)的原始值存入中间寄存器,避免直接操作模块默认寄存器。
ladder
// M0为程序运行使能(PLC启动后常闭触点M8002置位M0) LD M8002 SET M0 // 读取F2AD通道1(电压信号)原始值→D100;通道2(电流信号)→D101 LD M0 MOV D200 D100 // F2AD通道1默认地址D200,复制到D100 MOV D201 D101 // F2AD通道2默认地址D201,复制到D101
步骤 2:电压 / 电流换算(原始值→实际物理量)
根据传感器量程,用浮点运算公式换算(避免整数截断误差):
ladder
// 1. 电压换算(D100→实际电压V,存D102(双字浮点)) LD M0 FLT D100 D102 // 整数→浮点数(D102=D100的浮点值) MOVR K819.0 D104 // 819转为浮点→D104 SUBR D102 D104 D106 // D106 = D102 - 819.0 MOVR K3276.0 D108 // 3276转为浮点→D108 DIVR D106 D108 D110 // D110 = (D102-819)/3276 MOVR K500.0 D112 // 500V量程→D112 MULR D110 D112 D114 // D114 = 实际电压(V)(如220V) // 2. 电流换算(D101→实际电流A,存D116) LD M0 FLT D101 D116 MOVR K819.0 D118 SUBR D116 D118 D120 DIVR D120 D108 D122 // 复用分母3276.0(D108) MOVR K50.0 D124 // 50A量程→D124 MULR D122 D124 D126 // D126 = 实际电流(A)(如5A)
步骤 3:功率计算(单相电路)
单相功率公式:实际功率电压电流功率因数
ladder
// 假设COSφ=0.85,计算功率(存D128) LD M0 MOVR K0.85 D130 // 功率因数→D130 MULR D114 D126 D132 // D132 = 电压×电流 MULR D132 D130 D134 // D134 = 电压×电流×COSφ MOVR K1000.0 D136 // 1000→D136 DIVR D134 D136 D128 // D128 = 实际功率(kW)(如220V×5A×0.85/1000=0.935kW)
步骤 4:用电量累计(功率 × 时间)
采样时间间隔 = 10 秒 = 10/3600 小时≈0.0027778 小时,累计值存入 D140(双字浮点,记录总用电量 kWh)。
ladder
// T0定时10秒(采样间隔),每10秒累计1次 LD M0 OUT T0 K100 // T0=100×100ms=10秒 LD T0 RST T0 // 定时结束复位,循环触发 // 累计用电量:D140 = D140 + 功率(kW) × 时间(h) LD T0 MOVR D128 D142 // 功率值→D142 MOVR K10.0 D144 // 10秒→D144 MOVR K3600.0 D146 // 3600秒→D146 DIVR D144 D146 D148 // D148 = 10/3600(小时) MULR D142 D148 D150 // D150 = 本次采样用电量(kWh) ADDR D140 D150 D140 // D140 = 总用电量(累计值)
步骤 5:附加功能(可选)
三、方案二:专用电力计量模块(高精度方案)
若需更高精度(如 0.5 级)或三相电路计量,推荐使用支持 Modbus 协议的电力计量模块(如台达 DVP-PM01、施耐德 PM2120),直接读取模块输出的 “累计用电量” 寄存器,无需手动计算功率。
1. 硬件接线
2. 核心配置(以 Modbus RTU 为例)
3. PLC 程序设计(Modbus 读取指令)
台达 PLC 使用MODRD指令读取 Modbus 从站(电力模块)的寄存器值,直接获取总用电量。
ladder
// 通讯参数:波特率9600,从站地址1,寄存器地址0x0034,读取1个双字(2个16位寄存器) LD M0(运行使能) MODRD K1 K9600 K0 K34 K2 D100 M10 // 从站1→D100/D101(双字浮点,总用电量kWh) // 监控通讯状态:M10=ON表示读取成功,M11=ON表示失败 LD M11 SET M101(通讯故障报警)
四、关键注意事项
五、故障排查
通过以上方案,可实现 PLC 对用电量的精准统计,适配单相 / 三相、低压 / 高压工业场景,程序可直接导入 WPLSoft 调试使用。

