返回主站|会员中心|保存桌面

软件定制开发公司    

软件定制开发公司,承接各类工控软件,上位机软件,plc程序开发,编程,调试,电气...

联系方式
  • 联系人:吴经理
  • 电话:18576370666
新闻分类
  • 暂无分类
站内搜索
 
友情链接
首页 > 新闻中心 > 三菱PLC如何测量其它电路的占空比?
新闻中心
三菱PLC如何测量其它电路的占空比?
发布时间:2026-02-07        浏览次数:5        返回列表

三菱 PLC 测量外部电路占空比,核心是利用高速计数器(HSC)输入中断 + 内部定时器实现,两种方法适配不同机型(FX3U/FX5U/Q 系列)和测量精度需求,高速计数器法适配高频信号(kHz 级)、精度高,中断 + 定时器法适配低频信号(Hz~ 百 Hz 级)、无需高速模块,实操性强。

以下分通用中断 + 定时器法(所有三菱 PLC 通用)高速计数器法(FX3U/FX5U/Q 系列主流方案) 讲解,包含原理、编程步骤、程序示例、参数整定,均为工业现场可直接落地的方案,覆盖NPN/PNP 输入信号,测量频率从几 Hz 到几十 kHz,占空比精度 ±1%~±0.1%。

核心前提说明

  1. 信号要求:外部被测信号需为开关量脉冲信号(高低电平交替,如传感器、变频器脉冲输出、电磁阀控制信号),电平需匹配 PLC 输入(DC24V,NPN/PNP 均可,FX 系列默认 NPN,可通过端子跳线切换);

  2. 硬件适配

    • 中断 + 定时器法:无硬件要求,用普通输入点(如 X0~X7)即可,适配 FX1S/FX1N/FX2N/FX3U/FX5U/Q 全系列;

    • 高速计数器法:需用 PLC高速输入点(如 FX3U/FX5U 的 X0~X5 为高速点,最高支持 100kHz),适配有高速计数功能的机型;

  3. 测量定义:占空比 =高电平持续时间 T1 / 脉冲周期 T(T1 + 低电平时间 T2)×100%,PLC 通过分别捕捉 T1 和 T,计算占空比。

一、通用方案:输入中断 + 内部定时器法(全系列适配,低频信号)

1. 核心原理

利用 PLC上升沿 / 下降沿输入中断,捕捉被测脉冲的高低电平切换瞬间,触发内部高精度定时器(三菱 PLC 通用 1ms 定时器,部分机型支持 0.1ms),分别计时高电平时间 T1低电平时间 T2,通过公式计算占空比和脉冲频率:

  • 占空比 D = T1 / (T1+T2) × 100%

  • 脉冲频率 f = 1 / (T1+T2)

2. 适配场景

被测脉冲频率 **≤500Hz**(如电机测速、低速电磁阀信号、料位检测脉冲),无需高速硬件,普通输入点即可,占空比精度 **±1%**,满足大部分低频场景的测量需求。

3. 硬件接线

将外部被测脉冲信号接 PLC普通输入点(如 X0),信号地与 PLC 输入地(SG)共地,若信号电平为 AC220V,需加中间继电器隔离(继电器触点接 PLC 输入,线圈接被测信号)。

示例:NPN 型被测信号→X0,信号负极→PLC SG(DC24V-),PLC DC24V + 接信号上拉(若为开集电极信号)。

4. 编程步骤 + 梯形图示例(FX3U/FX5U,GX Works2/3)

X0 为被测信号输入点D0 存储高电平时间 T1(ms)D1 存储低电平时间 T2(ms)D2 存储占空比(%,放大 10 倍,如 50.5% 存 505),**D3 存储脉冲周期 T(ms)为例,用上升沿中断(I000)下降沿中断(I001)** 实现,步骤如下:

步骤 1:中断程序定义(主程序)

启用 X0 的上升沿中断(触发编号 I000)和下降沿中断(触发编号 I001),初始化定时器和存储寄存器,禁止定时器中途复位。

步骤 2:上升沿中断程序(I000)

脉冲上升沿触发→停止低电平定时器→读取 T2 值存入 D1→复位并启动高电平定时器→开始计时高电平。

步骤 3:下降沿中断程序(I001)

脉冲下降沿触发→停止高电平定时器→读取 T1 值存入 D0→复位并启动低电平定时器→开始计时低电平→计算占空比和周期。

步骤 4:占空比计算(避免除零错误)

增加周期判零保护,若 T1+T2=0(无脉冲),则占空比为 0,防止 PLC 报除零错误。

5. 梯形图程序示例(FX3U,GX Works2)

主程序(MAIN)

plaintext

// 初始化:D0-D3清零,禁用定时器自动复位
RST D0 ; 高电平时间T1清零
RST D1 ; 低电平时间T2清零
RST D2 ; 占空比清零
RST D3 ; 周期清零
MOV K0 T0 ; 高电平定时器(1ms)初始化
MOV K0 T1 ; 低电平定时器(1ms)初始化
// 启用X0上升沿中断(I000)、下降沿中断(I001)
EI ; 开总中断
IRET I000 ; 上升沿中断入口(X0)
IRET I001 ; 下降沿中断入口(X0)
ATCH I000 X0 ; X0上升沿触发中断I000
ATCH I001 X0 ; X0下降沿触发中断I001

上升沿中断程序(I000)

plaintext

// 上升沿:停止T1(低电平),读T2,启动T0(高电平)
STOP T1 ; 停止低电平定时器
MOV T1 D1 ; 将T1计时值存入D2(低电平时间T2)
RST T1 ; 复位低电平定时器
STR T0 ; 启动高电平定时器(开始计T1)

下降沿中断程序(I001)

plaintext

// 下降沿:停止T0(高电平),读T1,启动T1(低电平),计算占空比
STOP T0 ; 停止高电平定时器
MOV T0 D0 ; 将T0计时值存入D0(高电平时间T1)
RST T0 ; 复位高电平定时器
STR T1 ; 启动低电平定时器(开始计T2)
// 计算周期T = T1+T2,存入D3
ADD D0 D1 D3 ; D3=D0+D1
// 占空比计算:D2 = (D0/D3)*1000 (放大10倍,避免小数),判零保护
CMP D3 K0 M0 ; 比较D3是否为0
AND M0 ; 若D3≠0(有脉冲),执行计算
MUL D0 K1000 D4 ; D4=D0*1000
DIV D4 D3 D2 ; D2=D4/D3 (如T1=50ms,T=100ms,D2=500→50.0%)
RST M0 ; 复位比较继电器

数据转换(可选,主程序)

若需要浮点型占空比(如 50.5% 直接存浮点数),可通过FLT指令将整数转为浮点数计算:

plaintext

FLT D0 E0 ; T1转为浮点数E0
FLT D3 E1 ; T转为浮点数E1
DIV E0 E1 E2 ; E2=E0/E1
MUL E2 K100 E3 ; E3=占空比(%,浮点型,如50.5)

6. 注意事项

  1. 定时器精度:用1ms 定时器(T0~T199),避免用 10ms/100ms 定时器,否则精度大幅下降;

  2. 中断优先级:禁止在中断程序中加入复杂逻辑,仅做定时器启停和数据读取,中断程序步数控制在20 步以内,避免阻塞主程序;

  3. 信号防抖:若被测信号有抖动(如机械触点),需在 PLC 输入点加RC 防抖电路(1kΩ 电阻 + 0.1μF 电容),或在程序中加防抖延时(如上升沿后延时 2ms 再计时);

  4. 电平匹配:若被测信号为 PNP 型,需将 PLC 输入跳线切换为 PNP(FX 系列输入端子旁有 NPN/PNP 跳线),否则无法捕捉信号。

二、主流方案:高速计数器法(FX3U/FX5U/Q 系列,高频信号)

1. 核心原理

利用 PLC高速计数器(HSC) 对高频脉冲进行计数,配合高速定时器(如 FX5U 的 0.1ms 定时器)PLC 内置高速时钟,捕捉固定计数个数的时间,分别计算高电平和低电平的计数时间,最终得到占空比;进阶方案:部分高端机型(如 FX5U/Q 系列)支持高速脉冲捕捉功能,可直接捕捉高电平 / 低电平的精确时间,无需计数,精度更高。

2. 适配场景

被测脉冲频率 **≥100Hz 且≤100kHz**(如变频器脉冲输出、伺服编码器信号、高频传感器信号),占空比精度 **±0.1%**,是工业现场高频信号测量的主流方案。

3. 硬件要求

  1. 机型:FX3U/FX3UC/FX5U/FX5UC/Q 系列(带高速计数功能);

  2. 高速输入点:用 PLC 专用高速点(FX3U/FX5U 的 X0~X5,最高支持 100kHz);

  3. 无需额外模块:内置高速计数器,无需加高速计数模块(如 FX2N-1HC)。

4. 经典实现:双高速计数器法(FX5U,测量高频脉冲)

原理

用 2 个高速计数器,HSC0(X0)计高电平脉冲数HSC1(X1)计低电平脉冲数,在固定时间 T内,分别读取 HSC0 和 HSC1 的计数值 N1、N2,占空比 D = N1/(N1+N2)×100%;优势:无需捕捉边沿,直接计数,抗干扰性强,适合高频信号。

硬件接线

  • 被测脉冲信号接X0(高速输入),作为 HSC0 的计数输入;

  • 通过程序分频将被测信号取反,接 HSC1(X1),计低电平脉冲数;

  • 若为差分信号(如编码器 A/B 相),可直接接高速差分输入点(如 FX5U 的 X0/X1 为差分高速点)。

5. 编程步骤(FX5U,GX Works3,结构化编程)

步骤 1:高速计数器参数配置

在 GX Works3 中,通过参数设置→高速计数器,启用 HSC0 和 HSC1,设置为增计数,计数模式为普通计数,输入信号为DC24V 高速输入

步骤 2:信号取反(低电平计数)

通过 PLC 程序将 X0 的被测信号取反,输出到虚拟软元件(如 Y0),再将 Y0 接 X1(HSC1),实现低电平计数(若硬件支持,可直接用高速点的取反功能)。

步骤 3:固定时间计数

用 PLC0.1ms 高速定时器(如 FX5U 的 STMR)设定固定计数时间 T(如 100ms),在 T 内分别读取 HSC0(N1)和 HSC1(N2)的计数值。

步骤 4:占空比计算

占空比 D = N1/(N1+N2)×100%,加入判零保护和数据滤波(多次测量取平均值,提升精度)。

三、两种方法对比 + 选型建议

表格

对比维度输入中断 + 定时器法高速计数器法
适配机型三菱全系列(FX1S~FX5U/Q)FX3U/FX5U/Q 系列(带高速计数)
输入点要求普通输入点(X0~X7)专用高速输入点(X0~X5)
测量频率≤500Hz100Hz~100kHz
占空比精度±1%±0.1%
硬件成本无额外成本无(内置高速计数器)
编程复杂度简单(通用指令)中等(高速指令 / 参数配置)
抗干扰性一般(需防抖)强(高速输入带硬件滤波)

选型核心原则

  1. 若为低频脉冲(≤500Hz),如普通传感器、电磁阀信号,选中断 + 定时器法,无需配置高速参数,编程简单;

  2. 若为高频脉冲(≥1kHz),如变频器脉冲输出、编码器、高频测速信号,选高速计数器法,精度高、抗干扰性强;

  3. 若为FX5U/Q 高端机型,优先用脉冲捕捉指令(PLSCPT),步骤最简、精度最高。

四、工业现场实操优化要点

1. 抗干扰优化(最关键,避免测量误差)

  1. 被测信号用双绞屏蔽线,屏蔽层单端接地(PLC 侧 SG);

  2. 高速输入点远离变频器 / 伺服动力线(间距≥30cm),避免平行走线;

  3. 高频信号加终端电阻(如 RS485 信号 120Ω,单端脉冲信号 3.3kΩ 上拉);

  4. 机械触点信号加RC 防抖电路(1kΩ+0.1μF),程序中加2ms 防抖延时

2. 精度优化

  1. 更高精度的定时器(如 FX5U 的 0.1ms 定时器,替代 1ms 定时器);

  2. 加入数据滤波:多次测量取平均值(如 10~20 次),消除偶然误差;

  3. 增大测量周期:低频信号测量周期≥1s,高频信号≥100ms,减少计数误差。

3. 异常保护

  1. 加入除零保护:若脉冲周期 T=0(无信号),强制占空比为 0,防止 PLC 报除零错误;

  2. 加入超量程保护:若测量值超出正常范围(如占空比>100% 或<0%),触发报警(如 Y0 输出);

  3. 加入信号丢失报警:若连续 3 个周期无脉冲,置位报警寄存器(如 M100),提醒现场检查。

五、常见问题排查

  1. 无法捕捉信号:检查电平匹配(NPN/PNP 跳线)、信号地共地、输入点是否损坏;

  2. 占空比测量误差大:加防抖电路 / 程序滤波、更换更高精度定时器、增大测量周期;

  3. 高频信号计数丢失:确认用高速输入点、降低信号传输距离(≤10 米)、加屏蔽抗干扰;

  4. PLC 报中断错误:中断程序步数过多(控制在 20 步内)、禁止中断程序中调用子程序、开总中断(EI 指令)。

收缩
  • QQ咨询

  • 电话咨询

  • 18576370666
  • 添加微信客服