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

欧姆龙服务商    

欧姆龙继电器|欧姆龙传感器|欧姆龙开关|欧姆龙温控器|欧姆龙电源

联系方式
  • 联系人:吴经理
  • 电话:18576370666
新闻分类
  • 暂无分类
站内搜索
 
首页 > 新闻中心 > 欧姆龙MAD42与电子尺连接程序求解!
新闻中心
欧姆龙MAD42与电子尺连接程序求解!
发布时间:2026-02-01        浏览次数:4        返回列表

欧姆龙 MAD42 模拟量模块与电子尺(位移传感器)的连接程序,核心是完成模拟量输入信号的采集、量程转换、数据校准,将电子尺的电压 / 电流信号(如 0-10V、4-20mA)转换为实际的位移数值(如 0-100mm),同时包含模块配置、接线规范和程序容错处理,以下是可直接落地的完整方案(以 CP 系列 PLC 为例,适配 MAD42 的 4 路模拟量输入特性)。

一、核心前提:MAD42 模块与电子尺基础配置

1. MAD42 模块关键参数

  • 输入类型:4 路模拟量输入(电压 / 电流可选,通过端子跳线设置);

  • 输入范围:电压 0-10V、1-5V;电流 4-20mA(需短接对应端子跳线);

  • 分辨率:12 位(0-10V 对应数字值 0-4095,4-20mA 对应数字值 409-4095);

  • 数据存储:输入值存储在 PLC 的 CIO 区,通道 0 对应 CIO200,通道 1 对应 CIO202,依此类推(双字存储)。

2. 电子尺接线规范(以 0-10V 电压型为例,最常用)

MAD42 端子电子尺端子接线说明
VIN0+(1 号端子)信号正(OUT+)电子尺电压信号输出正
VIN0-(2 号端子)信号负(OUT-)电子尺电压信号输出负
24V+(19 号端子)电源正(VCC)给电子尺供电(DC24V)
0V(20 号端子)电源负(GND)电子尺电源地,与信号地共地

⚠️ 关键:

  • 电子尺与 MAD42 的电源地、信号地必须单点共地,避免地电位差导致信号漂移;

  • 接线用屏蔽双绞线,屏蔽层单端接地(MAD42 侧),远离动力线,减少干扰。

3. MAD42 模块跳线设置

  • 电压输入(0-10V):将通道 0 的跳线拨至 “V” 侧;

  • 电流输入(4-20mA):将通道 0 的跳线拨至 “I” 侧,并短接 “V/I” 短接片;

  • 未使用通道:跳线拨至 “OFF”,避免干扰。

二、核心程序实现(欧姆龙 CX-Programmer,梯形图 + ST 语言)

0-10V 电子尺(量程 0-100mm) 为例,实现 “模拟量采集→量程转换→数据滤波→位移显示” 全流程,程序包含容错处理(超量程报警、数据防抖)。

1. 变量定义(符号表)

符号名地址数据类型说明
AI_RawCIO200INTMAD42 通道 0 原始数字值(0-4095)
Dis_ActD100REAL电子尺实际位移值(mm)
Dis_FilterD104REAL滤波后位移值(消除波动)
Alarm_OverM100BOOL超量程报警(位移 > 100mm 或 < 0mm)
K1D200REAL量程转换系数(100/4095≈0.02442)

2. 程序段 1:模拟量原始值采集

ladder

// 读取MAD42通道0的原始数字值,存入AI_Raw(CIO200)
LD SM0.0
MOV CIO200, AI_Raw

3. 程序段 2:量程转换(数字值→实际位移)

核心公式:实际位移原始数字值电子尺满量程模拟量满量程数字值(0-10V 对应数字值 0-4095,电子尺满量程 100mm,系数 = 100/4095≈0.02442)

st

// ST语言实现量程转换,适配高精度计算
VAR
    AI_Raw: INT := CIO200;
    Dis_Act: REAL := D100;
    K1: REAL := 100.0/4095.0; // 转换系数
END_VAR

// 量程转换
Dis_Act := REAL(AI_Raw) * K1;
D100 := Dis_Act;

// 超量程判断(容错处理)
IF Dis_Act > 100.0 OR Dis_Act < 0.0 THEN
    M100 := TRUE; // 超量程报警置位
ELSE
    M100 := FALSE;
END_IF;

4. 程序段 3:数据滤波(消除电子尺信号波动)

采用滑动平均滤波(取 5 次采样值平均),避免位移值频繁跳变:

st

VAR
    Dis_Buf: ARRAY[0..4] OF REAL; // 缓存5次位移值
    Dis_Filter: REAL := D104;
    i: INT := 0;
    Sum: REAL := 0.0;
END_VAR

// 循环更新缓存数组
FOR i := 4 TO 1 BY -1 DO
    Dis_Buf[i] := Dis_Buf[i-1];
END_FOR;
Dis_Buf[0] := Dis_Act; // 最新值存入数组首位

// 计算平均值(滤波)
Sum := Dis_Buf[0] + Dis_Buf[1] + Dis_Buf[2] + Dis_Buf[3] + Dis_Buf[4];
Dis_Filter := Sum / 5.0;
D104 := Dis_Filter;

5. 程序段 4:4-20mA 电子尺适配(扩展)

若电子尺为 4-20mA 型(量程 0-100mm),需调整转换公式:实际位移原始数字值(4mA 对应数字值 409,20mA 对应 4095,系数 = 100/3686≈0.02713)

st

// 4-20mA量程转换
Dis_Act := (REAL(AI_Raw) - 409.0) * (100.0/(4095.0-409.0));

三、程序调试与校准(现场必做)

  1. 零点校准:电子尺拉至 0mm 位置,若采集的原始值≠0,在程序中增加零点偏移补偿

    st

  2. Dis_Act := (REAL(AI_Raw) - 偏移值) * K1;

    (如原始值 = 50,偏移值设为 50,抵消零点误差)

  3. 满量程校准:电子尺拉至满量程(如 100mm),若实际计算值 = 98mm,调整转换系数:

    st

  4. K1 := 100.0/(4095.0 - 偏移值); // 微调系数至100/4045≈0.02472
  5. 滤波参数调整:若位移波动仍大,增加缓存数组长度(如改为 10 次平均),但会降低响应速度,需平衡精度与实时性。

四、常见问题与解决

故障现象核心原因解决方法
位移值始终为 0接线错误 / 跳线设置错核对 VIN0+/- 接线,确认跳线拨至 “V”(电压)或 “I”(电流)
位移值跳变剧烈干扰 / 未滤波屏蔽线单端接地,启用滑动平均滤波,增加滤波次数
位移值与实际不符转换系数错误 / 零点偏移重新计算转换系数,增加零点偏移补偿
超量程报警误触发电子尺供电不稳给电子尺单独供电(DC24V 开关电源),避免与 PLC 共电源

总结

  1. MAD42 与电子尺连接的核心是正确接线 + 跳线设置 + 量程转换,0-10V 和 4-20mA 的转换公式需区分(4-20mA 需减去 4mA 对应的数字值);

  2. 程序中必须增加滤波处理(滑动平均)和容错判断(超量程报警),避免信号波动和异常值影响控制逻辑;

  3. 现场调试的关键是零点和满量程校准,通过偏移补偿和系数微调,确保位移值与实际一致。

收缩
  • QQ咨询

  • 电话咨询

  • 18576370666
  • 添加微信客服