欧姆龙数据寄存器
 间接寻址中用16个数据寄存器 (DR0  ~ DR15)  ,偏移变址寄存器中的PLC 存储地址。
 可以将数据寄存器中的值加到变址寄存器中的PLC 存储地址上,以指定一个位或字在I/O 存储区中的绝对内存地址,数据寄存器中的数据是带符号的二进制数,因此变址寄存器中的内容既可以偏移到高地址也可以偏移到低地址。
  
 例  下列显示如何用数据寄存器来偏移变址寄存器中的PLC 存储地址。
 LD DR0 ,IR0 将DR0 ,IR0 中的内容相加得到PLC 存储地址,装载PLC 内存中该地址的位。
 MOV(021) #0001 DR0 ,IR1 将DR0 ,IR1 中内容相加得到PLC 存储地址,并将#0001 写到该地址中去。
 取值范围
 数据寄存器中的内容作为带符号的二进制数据处理,因此取值范围为 –32,768 ~ 32,767。
 十六进制内容8000 ~ FFFF
 相当十进制数–32,768 ~ –1
 十六进制内容0000 ~ 7FFF
 相当十进制数0 ~ 32,767
 数据寄存器初始化
 1. 操作模式在编程和运行/ 监控间相互切换并且IOM 保持位为OFF 。
 2. PLC 供电循环并且IOM 保持位为OFF 或在PLC 配置中设为不保护。
  
 IOM 保持位操作
 若IOM 保持位(A50012)为 ON,当发生 FALS 错误或由程序模式切换至运行/ 监控模式或逆反时数据寄存器将不被清除。
 若IOM 保持位(A50012)为 ON, 且PLC 设置中的“启动时IOM 保持位状态”设定设为保护IOM 保持位,且如果数据寄存器设为不在任务间共享(缺省设置),在电源中断时数据寄存器将在下列情形被保持。对于在电源中断前已完成的任务,电源中断所在周期的值将被保持。对于在电源中断前没有完成的任务,电源中断所在周期之前周期的值将被保持。例如,在一个有三个任务的程序中,任务 0,1 和2,若在任务 1 执行期间电源在第n 个周期时中断,则任务0 第n 个周期的执行结果和任务1、2 第n-1 个周期的执行结果将被保持。
 若IOM 保持位(A50012)为 ON,PLC 设置中的“启动时IOM 保持位状态”设定设为保护IOM 保持位,且数据寄存器被设为在任务间共享,当PLC 的电源重置(打开--> 关闭--> 打开)时数据寄存器将不被保持。数据寄存器可能取
 未定义的值。确保在继续操作前设置该值。
 强制位状态  数据寄存器中的位不能强制置位和复位。
  
 注意事项
 数据寄存器通常置于每个任务。例如,任务 1 中使用的DR0 区别于任务2 中的DR0 。(对于CS1-H CPU 单元,PLC 设置可从CX-Programmer 进行设定以在任务间共享数据寄存器。
 数据寄存器的内容无法从编程设备访问(读取或写入)。
 在PLC 存储器地址已在寄存器中设置完成之前不要使用数据寄存器。若寄存器在未设定其值时使用则指针操作将不可靠。
 数据寄存器中的值在中断任务开始时无法预知。当数据寄存器将在中断任务中使用时,总是在任务中使用数据寄存器之前在寄存器中设一个值。
  
 与CS1-H CPU单元共享数据寄存器  下列设置可从CX-Programmer 中的PLC 属性对话框进行设定以控制在任务间共享变址和数据寄存器。
  信息来源:http://www.btone-mro.com/Brand/121.html
      本文地址:http://www.btone-mro.com/BtoneInform/newsContent.aspx?id=917