欧姆龙数据寄存器
间接寻址中用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