2、数字量输入信号特性

做PLC设计这些年,我接触过各种各样的输入信号。说白了,数字量输入就是给PLC送“0”或“1”的信号。但现实世界里的信号,可不像教科书上那么干净。

我个人习惯把数字量输入分成四大类:开关信号、电平信号、脉冲信号,还有那个让人头疼的抖动现象。咱们一个一个聊。

2.1 开关信号

开关信号是最常见的。按钮、继电器触点、限位开关,都属于这一类。

它的特点很简单:要么接通,要么断开。接通就是“1”,断开就是“0”。但这里有个坑——机械触点会弹跳

⚠️ 避坑指南: 我曾经遇到过一台设备,按钮按下去后PLC反复触发了好几次。查了半天,就是触点弹跳惹的祸。后来加了10ms的软件滤波,问题才解决。

开关信号的典型参数:

参数 典型值 说明
导通电阻 < 100 mΩ 触点闭合时的接触电阻
断开电阻 > 10 MΩ 触点断开时的绝缘电阻
弹跳时间 5 ~ 20 ms 机械触点稳定前的不稳定期
动作频率 < 10 Hz 人机操作的上限

2.2 电平信号

电平信号,说白了就是持续保持高电平或低电平的信号。比如温度开关、液位开关的输出。

它和开关信号最大的区别是:电平信号没有弹跳问题。因为它是电子器件输出的,不是机械触点。

但电平信号也有自己的麻烦:

  • 噪声干扰:工业现场电磁环境复杂,电平信号容易被干扰
  • 电平漂移:温度变化会导致阈值电压偏移
  • 驱动能力:有些传感器输出电流很小,带不动长电缆
💡 我的经验: 处理电平信号时,我习惯在输入端加一个施密特触发器。它能有效抑制噪声,防止信号在阈值附近来回跳变。你想想看,一个信号在0和1之间来回晃,PLC根本没法判断。

2.3 脉冲信号

脉冲信号,就是有固定宽度或频率的方波信号。编码器输出、流量计脉冲、转速传感器,都属于这一类。

脉冲信号有三个关键参数:

  1. 频率:每秒多少个脉冲,单位Hz
  2. 占空比:高电平时间占整个周期的比例
  3. 最小脉宽:高电平或低电平的最短持续时间

举个例子,一个编码器输出100kHz的脉冲,每个周期是10μs。如果占空比是50%,那高电平就是5μs。嗯,这里要注意——PLC的输入滤波时间必须小于这个脉宽,否则脉冲就被滤掉了。

// 脉冲信号采集的典型配置
// 假设编码器输出频率 f = 100 kHz
// 周期 T = 1/f = 10 μs
// 最小脉宽 t_min = T * 占空比 = 5 μs
// 输入滤波时间必须 < 5 μs
🔑 关键点: 脉冲信号的滤波设计,核心就是保证“滤波时间 < 最小脉宽”。我见过有人把滤波设成20ms去接编码器,结果一个脉冲都读不到。

2.4 输入信号抖动现象

抖动,是数字量输入里最让人头疼的问题。它指的是信号在稳定状态附近快速、无规律地跳变。

抖动的来源主要有三个:

  • 机械抖动:触点弹跳,持续5~20ms
  • 电气噪声:电磁干扰,频率高但幅度小
  • 信号反射:长线传输时阻抗不匹配导致

我画了一张图,帮你理解抖动的本质:

输入信号抖动示意图 理想信号 实际信号 抖动区域 抖动区域 抖动区域 抖动区域 t₀ t

从图上你能看到,理想信号是干净利落的跳变。但实际信号在跳变瞬间会来回振荡,这就是抖动。

抖动的危害有多大?我举个例子:

  • 计数器多计或少计脉冲
  • 状态机误判信号状态
  • 中断服务程序被反复触发
  • 通信协议解析出错
🔑 核心结论: 抖动的本质是信号在“0”和“1”之间的不确定状态。滤波的目的,就是消除这种不确定性,让PLC看到一个干净、稳定的信号。

处理抖动,常用的方法有硬件滤波和软件滤波。硬件滤波用RC低通电路,软件滤波用延时采样或多次采样取多数。具体怎么做,咱们后面章节会详细讲。

好了,这一章就到这里。记住一句话:了解你的信号,才能设计好你的滤波

专注资料整理