欧姆龙NJ/NX系列PLC的位寻址需结合其硬件架构与编程软件Sysmac Studio的操作逻辑,通过明确存储区域类型、使用前缀标识、配置I/O映射三个核心步骤实现,以下是具体说明:
一、存储区域类型与前缀标识
NJ/NX系列PLC的存储区域分为CIO区、WR区、HR区、DM区、EM区等,位寻址需针对支持位操作的区域(如CIO区)进行,并通过前缀明确标识地址类型:
CIO区:通用输入输出存储区,支持位寻址。例如,
CIO0.00
表示CIO区第0个字的第0位。WR区:工作继电器区,支持位寻址。例如,
WR0.01
表示WR区第0个字的第1位。HR区:保持继电器区,支持位寻址。例如,
HR0.02
表示HR区第0个字的第2位。DM区与EM区:数据存储区,仅支持字寻址,不可直接位寻址。若需操作其中某一位,需通过字指令结合位测试指令(如
TST
)实现。
二、I/O模块地址映射与配置
NJ/NX系列PLC的I/O地址映射方式取决于模块类型,需在Sysmac Studio中正确配置:
CJ系列模块:
I/O数据自动存储至CIO寄存器,地址根据模块位置从CIO0.00
开始递增。例如:单元1为输入模块,第6个输入点地址为
CIO0.05
(从0开始计数)。单元4为输出模块,第9个输出点地址为
CIO3.08
。NX系列模块:
I/O数据不会自动存储至CIO寄存器,需通过以下步骤实现位寻址:新建中间变量:在全局变量表中定义中间变量(如
Bool_Input
)。地址映射:使用
MOVE
指令将I/O数据变量的值传给中间变量,再通过中间变量进行位操作。示例:若需读取NX系列输入模块的第3位,需在程序中定义中间变量
Bool_Input
,并通过MOVE CIO0.02 Bool_Input
(假设CIO0.02为临时映射地址)实现数据传递。
三、Sysmac Studio中的编程实现
直接位寻址:
在梯形图或指令表中直接使用带前缀的地址,例如:ladderLD CIO0.00 // 加载CIO区第0位的状态OUT Y0.00 // 输出到Y0.00
间接位寻址:
通过变址寄存器(IR0-IR15)实现动态地址访问,例如:ladderMOVR #CIO0.00 IR0 // 将CIO0.00的地址存入IR0LD [IR0] // 加载IR0指向的位状态OUT Y0.01 // 输出到Y0.01
位组合寻址:
将多个位组合为字或双字进行操作,例如:ladder// 将CIO0.00-CIO0.03组合为4位数据K1X0 D0 // K1表示4位组合,X0为起始地址,D0为目标字寄存器
四、注意事项
地址唯一性:
确保同一存储区域内无重复地址,例如两个计数器不能使用相同编号(如C000
和C000
)。数据保持:
通过设置I/O存储器保持标志(A500.12)
,可在运行模式改变或电源重启时保持存储器值。模块兼容性:
NX系列控制器需确认I/O模块是否支持位寻址,部分NX模块可能仅支持字寻址。