PLC(可编程逻辑控制器)中的I/O映射技术(Input/Output Mapping)是PLC应用中非常关键的一个概念,它关系到PLC与外部设备之间的数据通信与控制。
一、什么是PLC I/O映射?
简单理解:
PLC是一个“中枢神经系统”,通过**输入(Input)读取外部信号(如按钮、开关、传感器),通过输出(Output)**控制外部设备(如电机、继电器、灯)。
但PLC本身只能识别内部的逻辑地址,它并不知道每个信号线连到哪里。I/O映射就是建立一个“地址对照表”,将外部物理端口(如X0、Y1)与内部逻辑变量(如%IX0.0、%QX1.0)一一对应,使PLC程序能够识别和使用这些信号。
二、I/O映射的基本原理
1. 物理地址
这是PLC硬件上的实际端子编号,如:
- 输入端子 X0、X1、X2
- 输出端子 Y0、Y1、Y2
2. 逻辑地址
PLC内部识别和编程使用的地址,如:
- %IX0.0 表示输入模块的第0位
- %QX1.0 表示输出模块的第0位
3. I/O映射(地址映射)
把物理地址 映射 到内部逻辑地址,从而:
- 在程序中写入 IF %IX0.0 THEN … 实际上是判断输入端子X0是否有信号。
- 控制输出时 %QX1.0 := TRUE 实际上是让Y0输出高电平,控制某个外部设备动作。
三、I/O映射的方式
1. 自动映射(系统分配)
大多数PLC(如西门子、三菱)在硬件组态时,系统会自动给每个模块和点分配地址,如:
- 输入模块地址从 %I0.0 开始
- 输出模块地址从 %Q0.0 开始
例如:
模块 | 点位 | 物理地址 | 逻辑地址 |
---|---|---|---|
输入模块 | 第1点 | X0 | %I0.0 |
输出模块 | 第3点 | Y2 | %Q0.2 |
程序员无需关心实际接线,只需按照软件组态完成映射。
2. 手动映射(编程自定义)
在复杂项目中,为了增加灵活性与可维护性,可以通过**中间变量(标签)**进行手动映射,例如:

这样做的优点:
- 变量有含义,易读、易维护
- 模块替换或变更接线时,只需改映射部分
四、I/O映射在软件中的体现(以常见品牌为例)
1. 西门子PLC(TIA Portal)
- I/O模块组态时,自动生成 %I 和 %Q 地址
- 可以用“符号变量”建立映射关系

2. 三菱PLC(GX Works3)
- 输入端默认为 X,输出端为 Y
- 可通过“标签”自定义变量名映射到X/Y端口

五、I/O映射的实际应用场景
1. 输入模块(DI)
- 读取按钮、限位开关、传感器状态
- 映射后处理:

2. 输出模块(DO)
控制电磁阀、接触器、指示灯

3. 模拟量(AI/AO)
- 例如温度传感器输入、电压/电流输出给变频器
- 使用 IW(模拟输入)或 QW(模拟输出)寄存器地址

六、I/O映射的调试与维护建议
- 使用标签化编程:便于后期调试与维护
- 统一命名规范:如 Btn_Start, LED_Red, Sensor_Temp
- 分组管理:输入、输出、模拟量、通讯信号分组映射
- 使用映射表文档:记录所有I/O端口和逻辑变量的关系
七、总结
关键点 | 说明 |
---|---|
I/O映射作用 | 建立PLC逻辑地址与外部接线之间的联系 |
映射方式 | 自动分配 or 手动分配(用标签) |
应用价值 | 程序可读性强,易于调试,模块化设计 |
推荐做法 | 使用符号变量 + 统一命名 + 文档化 |

原创文章,作者:梦南圆,如若转载,请注明出处:https://mnyuan.cn/archives/18286