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

欧姆龙服务商    

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

联系方式
  • 联系人:方经理
  • 电话:13073017555
新闻分类
  • 暂无分类
站内搜索
 
首页 > 新闻中心 > 欧姆龙如何间接指定地址!
新闻中心
欧姆龙如何间接指定地址!
发布时间:2026-09-08        浏览次数:25        返回列表

适用:CP1E/CP1H、CJ2M/CJ2H、CS 系列,CX‑Programmer。 欧姆龙一共有3 种间接寻址方式:@D二进制间接、*DBCD 间接、IR/DR 变址寄存器,工程最常用是@D与 IR 变址。

1、@D 二进制间接寻址(推荐,大部分项目用这个)

@Dn:把 Dn 里面的二进制数值当做 D 区通道号,访问对应的 D 通道。

示例:

MOV  &100   D10   // &100:通道编号100,写入D10
MOV  @D10   D20   // @D10 = D[100];把D100的值复制到D20
  • D10 里面存放100 → @D10等价于 D100

  • D10 里面存放200 → @D10等价于 D200

只能用于 D (DM) 区;数值是二进制,范围 0‑65535,不要超出 PLC 实际 D 区范围,否则 CPU 报错。

2、*D BCD 间接寻址

*Dn:Dn 里面数值按BCD 码解析,只能 0‑9999,非 BCD 会出错。

MOV  #0200  D10
MOV  *D10   D20   //访问D200

现代程序优先用@D,*D是兼容老机型。

注意:@D与*D只针对 D 区,不能直接访问 CIO/W/H/T/C。跨区域访问要用 IR 变址寄存器。

3、IR / DR 变址寄存器(功能最强,可以访问 CIO、D、W、H、T、C 所有区域)

  • IR0‑IR15:变址寄存器,存放存储器绝对地址(双字)。

  • DR0‑DR15:偏移寄存器(单字,‑32768~+32767),给 IR 做偏移。

  • MOVR (560):把普通地址(D10、W20、CIO10)转换成绝对地址,存入 IR。

例子 1:MOVR 把 D50 地址放入 IR0

MOVR(560)   D50    IR0   //IR0保存D50的绝对地址
MOV         #1234  ,IR0  //逗号,IR0:向IR0指向的D50写入#1234

,IR0代表访问 IR 指向的地址。

例子 2:IR+DR 偏移

MOVR(560) D100 IR0
MOV  #5 DR0        //偏移+5
MOV  ,DR0,IR0 D200 //访问 D100+5 = D105

例子 3:基地址 [IR] 写法(CJ2 系列)

D100[IR0],D100 为基址,IR0 里面放偏移量,得到 D (100+IR0)。

三种方式对比

表格

方式写法可访问区域数值格式适用场景
二进制间接@D10仅 D 区二进制 0‑65535配方、数组,最常用
BCD 间接*D10仅 D 区BCD 0‑9999老程序兼容,新项目不推荐
IR/DR 变址,IR0;D100[IR0]CIO/D/W/H/T/C 全部区域绝对地址跨区、位间接、循环处理数组

梯形图完整示例:@D 间接(配方读取)

需求:D20 存放通道号,读取 D [D20] 的值送到 D50。

  1. D20 = 10 → 读取 D10;D20=20 →读取 D20。

MOV @D20 D50

ST 语言(结构化文本 CJ2/CP1E)

ST 里面直接数组下标,等价间接寻址:

VAR
   Index:INT;
END_VAR
Index:=100;
D[Index]:=1234; //写D100
Temp:=D[Index]; //读D100

(重点)

  1. @D10,D10 中数值不能超过 PLC 实际 D 区最大通道,否则 CPU 出现 I/O 存储器错误停机。程序最好增加范围判断。

  2. @D / *D只能访问 D 区,不能写@W10、@CIO10,跨区域必须用 IR 变址。

  3. IR 使用必须用MOVR(560)获取地址,不能直接 MOV 数值给 IR,IR 存的是 PLC 内部绝对地址,不是简单通道号。

  4. 逗号,IR0,逗号不能漏,漏逗号变成操作 IR 寄存器本身,不是间接地址。

选型建议

  • 只操作 D 区数组、配方:优先使用 @D,简单好用。

  • 需要访问 CIO、W、H、T/C,或者位间接寻址:使用 IR/DR 变址寄存器 MOVR。

收缩
  • QQ咨询

  • 电话咨询

  • 13073017555
  • 添加微信客服