3. 编码器输出信号类型

式编码器的核心价值在于上电即可获得位置信息,而这一能力的实现依赖于编码器与控制器(PLC、CNC、伺服驱动器)之间的信号传输方式。不同的输出信号类型决定了系统的布线复杂度、抗干扰能力、传输距离、实时性以及可扩展性。从早期的并行二进制输出到如今主流的串行数字接口(SSI、BiSS、EnDat)和工业总线接口(HIPERFACE、CANopen),每一种接口都对应着特定的历史背景、技术约束和应用场景。本章将系统梳理这些接口的物理层特征、数据链路层协议、典型应用领域及选型判断方法,帮助工程师在项目初期做出正确的接口决策。

式编码器输出信号类型分类与演进 式编码器输出 并行二进制 / 格雷码 SSI / BiSS / EnDat HIPERFACE / CANopen 并行接口特性 • 10~30根信号线并行传输 • 格雷码抗单bit错误 • 传输距离<3m,易受干扰 • 分辨率受限于引脚数量 串行接口特性 • 时钟+数据差分线(RS-422) • 传输距离20~100m • BiSS/EnDat支持双向通信 • 高分辨率,抗干扰能力强 总线接口特性 • 两线制(电源+数据) • 支持多从站组网 • 含电子铭牌/诊断数据 • 适合分布式/伺服系统 选型判断路径 短距离、低分辨率、PLC直接I/O → 并行/格雷码 中长距离、高分辨率、伺服驱动 → SSI / BiSS / EnDat 分布式控制、需要诊断/参数存储 → HIPERFACE / CANopen

上图从宏观角度展示了三类接口的定位差异。并行接口以“多根线同时传输每一位”为特征,虽然直观但受限于线缆成本和干扰问题;串行接口通过时钟同步和差分信号将数据压缩到2~4根线上,成为当前中高端伺服和数控系统的主流;总线接口则进一步将编码器视为网络节点,支持参数读写和状态诊断。下面逐一展开各类接口的技术细节。

3.1 并行二进制与格雷码输出

核心原理

并行二进制输出是最早的式编码器接口形式。编码器内部将位置转换为N位二进制数据(如12位、16位),每一位通过独立的推挽输出或集电极开路输出引脚传送。控制器通过读取I/O端口电平即可获得位置值。格雷码(Gray Code)是二进制的一种变体,其特点是相邻两个数值之间只有一位发生变化。例如十进制1(0001)到2(0010)在二进制中变化两位,而格雷码中1(0001)到2(0011)仅变化一位。这一特性在机械运动场景中至关重要——当编码器停留在两个码值边界时,二进制可能产生多位跳变(如0111→1000),导致读取到完全错误的位置;而格雷码只会产生一位误差,且可通过后续逻辑转换为二进制。

判断方法与操作流程

在实际工程中,判断编码器是否为并行输出,首先观察接口端子数量。若编码器引出线超过10根(不含电源和屏蔽),且每根线对应一个数据位,则基本可判定为并行接口。接线时需注意:数据线必须一一对应PLC或计数卡的数字输入通道,且电平标准需匹配(TTL 5V或HTL 24V)。操作流程如下:

  1. 确认编码器位数(如12位),准备对应数量的输入点。
  2. 将编码器数据位D0~D11分别接入PLC输入I0.0~I0.11。
  3. 在PLC程序中组合读取,例如使用WORD类型变量将12个位拼接为整型。
  4. 若为格雷码输出,需在程序中实现格雷码到二进制的转换函数。
// 格雷码转二进制(C语言示例)
unsigned int grayToBinary(unsigned int gray) {
    unsigned int bin = gray;
    while (gray >>= 1) {
        bin ^= gray;
    }
    return bin;
}

案例拆解:包装机械的定位工位

某包装机械的旋转切刀工位采用12位并行格雷码编码器,PLC为西门子S7-1200。初始现象:设备偶尔在高速运行时出现切刀位置偏移,导致包装袋切口歪斜。通过监控PLC输入字发现,位置值偶尔出现“跳变”,例如从2047直接跳到2049,中间值2048丢失。分析过程:2047的格雷码为100000000000,2048的格雷码为110000000000,两者相差一位,但二进制转换后却相差2。进一步检查发现,编码器输出线缆长度约2.5米,且与变频器动力线同槽敷设。由于格雷码本身抗单bit错误,但无法抵抗线间串扰导致的双bit同时翻转。解决措施:将编码器线缆更换为双绞屏蔽线,并单独走线槽,与动力线保持20cm以上距离;同时在PLC程序中增加数字滤波(连续读取3次一致才采用)。改造后运行一个月未再出现位置跳变。此案例说明并行接口对布线工艺极其敏感,格雷码只能降低风险而非消除风险。

常见误区与总结

风险提示:并行接口的线缆数量随分辨率线性增长,16位编码器需要16根数据线+电源+公共端,接线错误率极高。此外,并行传输无法实现远距离(超过3米即需考虑阻抗匹配),且无法传输编码器温度、报警等附加信息。在新型设备中,并行接口已逐渐被串行接口取代,仅保留在维修备件或简单PLC直连场景。

3.2 SSI(同步串行接口)

核心原理

SSI(Synchronous Serial Interface)是西门子等公司于1980年代推出的串行接口标准,采用RS-422差分信号传输。编码器作为从设备,接收控制器发出的时钟脉冲(CLK+/-),并在每个时钟上升沿同步输出一位数据(DATA+/-)。数据帧格式通常为:起始位(0)+ 位置数据(N位)+ 状态位(可选)+ 校验位(可选)。时钟频率典型值为100kHz~2MHz,传输距离可达50~100米。SSI的物理层简单可靠,但数据方向是单向的(编码器→控制器),无法向编码器写入参数。

判断方法与操作流程

SSI接口的编码器通常有6个引脚:CLK+、CLK-、DATA+、DATA-、VCC、GND。判断方法:查看编码器铭牌或手册,若标注“SSI”或“Synchronous Serial”,且引脚数为6或8(含屏蔽),即可确认。接线时需注意:时钟线必须由控制器主动发出,编码器被动应答。操作流程:

  1. 将编码器CLK+/-接入控制器(如伺服驱动器或计数模块)的SSI时钟输出。
  2. 将DATA+/-接入控制器的SSI数据输入。
  3. 在控制器参数中设置数据位数(如25位)、格雷码/二进制格式、时钟频率。
  4. 上电后读取位置值,并验证零点位置。

案例拆解:龙门铣床双轴同步

某龙门铣床的X轴由左右两个伺服电机驱动,每个电机尾部安装SSI接口式编码器(25位,精度0.001mm)。初始目标:实现双轴位置同步误差小于0.01mm。调试中发现,当进给速度超过8m/min时,同步误差达到0.03mm。分析过程:SSI时钟频率设置为500kHz,数据帧25位,单次读取周期约50μs。但控制器采用“先读左轴、再读右轴”的顺序读取方式,导致两轴位置采样时刻相差约100μs。在高速运动下,100μs内X轴移动距离为8m/min×100μs≈0.013mm,加上机械间隙,误差被放大。解决措施:将控制器切换为“同时采样”模式(部分高端驱动器支持双SSI通道同步触发),或改用BiSS接口(支持多从站同步)。最终通过硬件同步方案将误差控制在0.005mm以内。此案例揭示了SSI在同步应用中的固有时序缺陷。

常见误区与总结

经验提醒:SSI虽然简单,但时钟频率并非越高越好。过高的时钟频率会因线缆分布电容导致波形畸变,建议根据线缆长度调整:10米内可用1MHz,50米建议降至400kHz以下。另外,SSI的“起始位”是判断数据帧同步的关键,若控制器读取到乱码,首先检查时钟极性和数据格式设置。

3.3 BiSS与EnDat:双向串行接口

核心原理

BiSS(Bidirectional Synchronous Serial)和EnDat(Encoder Data)是当前高端伺服系统最常用的两种双向串行接口。它们均基于RS-422差分信号,但增加了反向数据通道(控制器→编码器),用于写入参数、请求诊断信息或执行零点设定。BiSS由德国IC-Haus公司提出,采用开放协议,支持多从站菊花链连接;EnDat由海德汉(Heidenhain)公司开发,协议封闭但功能完善,支持增量信号和位置并行传输。两者均支持最高10MHz时钟频率,单圈分辨率可达26位以上,多圈可达40位。

判断方法与操作流程

BiSS和EnDat接口的编码器引脚定义相似,但协议帧格式不同。判断方法:查看编码器标签,若标注“BiSS-C”或“EnDat 2.2”,则对应相应协议。接线时需注意:双向通信需要控制器支持对应的主站芯片或FPGA IP核。操作流程(以BiSS为例):

  1. 连接CLK、DATA差分线,注意DATA方向是双向的,需使用收发器。
  2. 在控制器中配置BiSS参数:从站地址、数据长度、CRC多项式。
  3. 发送“NOP”命令读取位置数据,发送“WRITE”命令写入参数。
  4. 验证CRC校验,确保数据完整性。

案例拆解:半导体设备的高精度定位

某晶圆搬运机械臂采用EnDat 2.2接口编码器(单圈26位,多圈12位),要求重复定位精度±1μm。初始现象:设备运行3个月后,偶尔出现“位置漂移”报警。分析过程:查看EnDat诊断数据发现,编码器内部温度从45℃升至62℃,导致码盘热膨胀产生微小位移。由于EnDat支持读取温度参数,控制器据此进行温度补偿(每℃补偿0.5μm)。同时,EnDat的CRC校验发现偶发通信错误,进一步检查发现屏蔽层接地不良。解决措施:优化接地方式(单端接地),并在控制器中启用“CRC错误重试”功能。改造后设备连续运行6个月无报警。此案例展示了双向接口在状态监测方面的独特价值。

常见误区与总结

风险提示:BiSS和EnDat虽然功能强大,但协议复杂度高,调试难度大。常见误区包括:混淆BiSS-B和BiSS-C模式(C模式支持更高时钟)、忽略CRC校验导致数据错误、未正确配置从站地址(多从站时)。建议初次使用时,先用示波器抓取CLK和DATA波形,确认帧格式正确后再接入控制器。

3.4 HIPERFACE与CANopen:总线型接口

核心原理

HIPERFACE(High Performance Interface)是SICK公司专为伺服驱动开发的串行总线接口,物理层采用RS-485,传输速率9.6kbps~2Mbps。它仅需两根线(DATA+/-)即可实现双向通信,同时通过同一对线缆传输电源(叠加直流偏置)。HIPERFACE协议包含位置数据、速度数据、电子铭牌(电机参数)、诊断信息等,特别适合伺服电机的“即插即用”配置。CANopen基于CAN总线,编码器作为CANopen从站节点,通过SDO(服务数据对象)和PDO(过程数据对象)通信。CANopen的优势在于多节点组网能力(最多127个节点),且抗干扰性强,适合分布式控制系统。

判断方法与操作流程

HIPERFACE编码器通常有8个引脚(电源+数据),而CANopen编码器有5个引脚(CAN_H、CAN_L、电源、GND、屏蔽)。判断方法:查看接口定义,HIPERFACE标注“HIPERFACE”或“SICK”,CANopen标注“CANopen”或“CiA 301”。操作流程(以CANopen为例):

  1. 设置编码器的节点ID(通过拨码开关或SDO写入)。
  2. 设置通信波特率(125kbps~1Mbps),需与主站一致。
  3. 在PLC或上位机中加载EDS文件(电子数据表),配置PDO映射。
  4. 通过SDO读取编码器对象字典(如0x6000位置值)。

案例拆解:汽车生产线输送线

某汽车总装车间的摩擦线输送系统采用CANopen接口式编码器(每台输送小车安装一个),用于位置闭环控制。系统共32个小车,每个小车编码器节点ID从1到32。初始现象:系统启动时,部分小车位置反馈延迟超过50ms,导致停止位置不准。分析过程:CANopen总线波特率设置为500kbps,但总线长度超过200米,且分支线较多,信号反射严重。通过CANscope分析发现,总线错误帧率高达5%。解决措施:在总线两端增加120Ω终端电阻,并优化分支线长度(小于0.3米)。同时将PDO传输类型从“事件触发”改为“同步触发”,确保所有编码器在同一时刻采样。改造后错误帧率降至0.1%,位置精度满足±1mm要求。此案例说明总线型接口的布线规范至关重要。

常见误区与总结

经验提醒:HIPERFACE和CANopen虽然都支持总线供电,但电源容量需仔细核算。HIPERFACE的电源电流通常为50~100mA,而CANopen编码器可能达到200mA。此外,CANopen的节点ID和波特率设置错误是现场最常见故障,建议使用预编程的EDS文件自动配置。

3.5 接口选型对比与决策建议

接口类型信号线数量最大传输距离最高分辨率双向通信典型应用
并行二进制10~303m16位否PLC直连、简单定位
格雷码10~303m16位否同上,抗单bit错误
SSI4100m25位否伺服驱动、通用运动控制
BiSS4100m26位+是高端伺服、多轴同步
EnDat4100m26位+是机床、半导体设备
HIPERFACE250m20位是伺服电机一体化
CANopen2500m16~32位是分布式控制、多节点

选型决策时,应遵循以下优先级:首先确定传输距离和布线环境(超过10米优先串行或总线),其次确定是否需要双向通信(需要参数写入或诊断则排除SSI),最后考虑系统兼容性(现有控制器支持哪种协议)。对于新设计的高端设备,BiSS和EnDat是当前最优选择;对于多轴分布式系统,CANopen或HIPERFACE更具成本优势。

本章核心要点:并行接口适合短距离、低分辨率、低成本场景;SSI是串行接口的“入门标准”,适合单向位置传输;BiSS/EnDat提供双向通信和诊断功能,是高性能运动控制的首选;HIPERFACE/CANopen则面向总线化、网络化控制系统。工程师应结合具体项目的线缆长度、控制器接口、分辨率需求和成本预算,综合选择最合适的输出信号类型。