PLC 编程(包括安川 MP2310 这类运动控制器)中,输入地址是否可以当作输出线圈来使用,这是 PLC 编程里一个很基础且关键的概念问题。
首先要明确结论:在物理层面,输入地址绝对不能直接作为输出线圈使用;但在程序逻辑层面,部分 PLC 系统支持对输入地址的 “映像区” 进行赋值(软逻辑操作),但这不会改变物理输入的状态,也不推荐这样做。
一、先理解 PLC 的输入 / 输出硬件与映像区原理
PLC 的输入(I)、输出(Q)地址对应两个核心部分,这是不能混用的关键原因:
二、不同场景下的具体情况(以安川 MP2310 / 常见 PLC 为例)
1. 绝对不允许的操作:物理层面的输入点当输出用
如果你试图在程序中直接对物理输入地址(如安川的X0、西门子的I0.0、三菱的X000)编写输出线圈逻辑(比如LD M0 OUT X0),会出现两种情况:
2. 软逻辑层面的 “伪操作”:输入映像区的赋值(不推荐)
有些 PLC 系统(如安川 MPiec、欧姆龙 CJ 系列)支持在结构化文本(ST)中对输入映像区的变量进行赋值,比如:
st
// 示例:安川MP2310的ST语言中对输入映像区赋值(仅软逻辑,无物理效果) VAR X0: BOOL; // 对应物理输入X0的映像区变量 END_VAR X0 := TRUE; // 程序中赋值TRUE
但要注意:
三、如果有 “复用” 需求,正确的做法是什么?
如果你想在程序中把某个输入信号的状态当作逻辑变量来反复使用,或者需要修改其逻辑状态,绝对不要直接操作输入地址,而是用中间变量(辅助继电器)来过渡:
ladder
// 梯形图示例:正确的做法(以安川MP2310为例) LD X0 // 读取物理输入X0的状态 OUT M0 // 将状态赋值给中间继电器M0(软线圈,可自由读写) LD M1 // 其他逻辑条件 OUT M0 // 可以自由修改M0的状态,不会影响物理输入X0 LD M0 // 后续逻辑使用M0即可 OUT Y0 // 控制物理输出Y0
这种方式既符合 PLC 的硬件逻辑,又能保证程序的可读性和稳定性,是行业的标准做法。



