三菱 FX2N-2AD 模拟量输入模块(简称 FX2AD)的模数转换(A/D 转换)方法,核心是通过该模块将模拟量信号(电压 / 电流)转换为 PLC 可识别的数字量,并在 FX 系列 PLC 中读取转换后的数据,同时需配置模块参数和遵循对应的读取逻辑。下面详细说明硬件接线、参数设置、程序读取及关键注意事项。
一、先明确 FX2N-2AD 的核心参数(基础前提)
FX2N-2AD 是 2 通道模拟量输入模块,支持电压输入(0~10V、±10V)和电流输入(4~20mA),核心参数如下:
| 参数项 | 规格说明 |
|---|---|
| 输入通道 | CH1(通道 1)、CH2(通道 2),可独立配置输入类型 |
| 电压输入精度 | 12 位(0~10V 对应数字量 0~4095,±10V 对应数字量 - 2048~+2047) |
| 电流输入精度 | 12 位(4~20mA 对应数字量 0~4095) |
| 转换时间 | 每通道约 150μs,两通道同时转换约 300μs |
| 数据存储地址 | 占用 PLC 的特殊数据寄存器(D)和位寄存器(M),用于参数配置和数据读取 |
二、硬件接线(模数转换的物理基础)
根据需要采集的信号类型(电压 / 电流),进行对应接线,接线错误会导致转换数据异常甚至损坏模块。
1. 电压输入接线(以 0~10V 为例)
| FX2N-2AD 端子 | 连接信号 | 说明 |
|---|---|---|
| V+(CH1) | 模拟量电压正端(如传感器 0~10V 输出正) | CH1 通道电压输入正 |
| V-(CH1) | 模拟量电压负端(如传感器 0~10V 输出负) | CH1 通道电压输入负,与模块 GND 共地 |
| V+(CH2) | 模拟量电压正端(CH2 通道) | CH2 通道电压输入正 |
| V-(CH2) | 模拟量电压负端(CH2 通道) | CH2 通道电压输入负 |
| GND | 系统地 | 接 PLC 的信号地,所有电压负端需接此点 |
| 24V+ | 模块内置 DC24V 电源正(可选) | 可为外部传感器供电,最大输出电流 50mA |
| 24V- | 模块内置 DC24V 电源负 | 与 GND 连通 |
2. 电流输入接线(以 4~20mA 为例)
FX2N-2AD 的电流输入需要短接模块上的对应跳线(如 CH1 的 V/I 跳线拨到 I 侧),再进行接线:
| FX2N-2AD 端子 | 连接信号 | 说明 |
|---|---|---|
| I+(CH1) | 模拟量电流正端(如传感器 4~20mA 输出正) | CH1 通道电流输入正 |
| I-(CH1) | 模拟量电流负端(如传感器 4~20mA 输出负) | CH1 通道电流输入负 |
| I+(CH2) | 模拟量电流正端(CH2 通道) | CH2 通道电流输入正 |
| I-(CH2) | 模拟量电流负端(CH2 通道) | CH2 通道电流输入负 |
| GND | 系统地 | 电流输入时也需接此点,保证信号稳定 |
三、模数转换的核心:PLC 程序读取转换数据
FX2N-2AD 的模数转换是模块自动完成的,PLC 只需通过FROM 指令读取模块转换后的数字量数据,同时可通过 FROM/TO 指令配置模块参数(如输入类型、平均值处理)。
1. 关键指令:FROM(读取模块数据)、TO(写入模块参数)
2. FX2N-2AD 的内部寄存器地址(核心)
| 模块内部寄存器地址 | 功能说明 |
|---|---|
| H00 | CH1、CH2 通道输入类型配置(二进制:bit0=0(CH1 电压)/1(CH1 电流);bit1=0(CH2 电压)/1(CH2 电流)) |
| H01 | CH1 通道转换后的数据(数字量,0~4095 对应 0~10V/4~20mA) |
| H02 | CH2 通道转换后的数据(数字量) |
| H03~H04 | 平均值处理次数配置(默认 1 次,即无平均值) |
3. 程序示例(三菱 FX3U/FX2N PLC,梯形图转指令表)
场景:FX2N-2AD 安装在 PLC 主机后第一个位置(Km=K0),CH1 采集 0~10V 电压,CH2 采集 4~20mA 电流,读取转换后的数据并存储到 D10、D11 中。
plc
// 示例1:配置模块输入类型(CH1=电压,CH2=电流) // 模块内部寄存器H00的二进制:bit0=0(CH1电压),bit1=1(CH2电流)→ 十进制为2 → K2 LD M8000 // 常闭触点,程序运行时一直执行 TO K0 K0 K2 K1 // 向模块0的H00寄存器写入K2,配置输入类型 // 示例2:读取CH1、CH2转换后的数字量数据 LD M8000 FROM K0 K1 D10 K2 // 从模块0的H01寄存器开始,读取2个寄存器数据,存入D10(CH1)、D11(CH2) // 示例3:将数字量转换为实际物理量(可选,便于直观显示) // CH1:0~10V对应D10=0~4095 → 实际电压=D10×10/4095 LD M8000 MOV D10 D20 MUL K10 D20 D20 DIV K4095 D20 D20 // D20存储CH1的实际电压值(单位:V,整数可改为浮点数计算更精准) // CH2:4~20mA对应D11=0~4095 → 实际电流=4 + D11×16/4095(单位:mA) MOV D11 D21 MUL K16 D21 D21 DIV K4095 D21 D21 ADD K4 D21 D21 // D21存储CH2的实际电流值(单位:mA)
4. 浮点数精准转换(推荐,提升精度)
若需要更高的精度,可使用浮点数指令计算实际物理量:
plc
// CH1 0~10V浮点数转换:实际电压 = (D10 / 4095) × 10 LD M8000 FLT D10 E0 // 将D10的整数转换为浮点数存入E0 DIV E0 K4095.0 E0 // E0 = D10/4095 MUL E0 K10.0 E0 // E0存储实际电压(浮点数,如5.23V) // CH2 4~20mA浮点数转换:实际电流 = 4 + (D11 / 4095) × 16 FLT D11 E1 DIV E1 K4095.0 E1 MUL E1 K16.0 E1 ADD E1 K4.0 E1 // E1存储实际电流(浮点数,如12.56mA)


