介绍:
在 ERTEC 200/400 中,必须访问一些连续的32位存储内存区。
这些内存区包括:
- 32位定时器
- IRT寄存器
- 系统控制寄存器
一个外部的主机只能通过16位的LBU接口进行数据访问, 在读写32位连续内存区时需通过下面方式:
- 读连续的32位:
当读32位数值低位字地址时, 低的16位数据(D15:0) 被传送到主机系统,高的16位数据(D31:16) 被存在一个离散区域中,当读32位数值高位地址时, 高的16位数据(D31:16) 从离散区域传递到主机系统中。 - 写连续的32位:
当写32位数值低位字地址时, 低的16位数据(D15:0) 通过LBU接口被存在一个离散区域中. 当写32位数值的高位字地址时, 高的16位数据(D31:16) 连同存在离散区域中低的16位数据(D15:0)作为在所选的ERTEC 200/400 内存区中一个连续的32位数被存储。
注意:
在上面两种情况下, 一个32位字必须在LBU页组态寄存器(LBU_PN_CFG)中被组态为相应的页.
使用方法:
- 一次或多次向低16位数据区写值
- 数据被存储在离散区域中,而不是储存在所选择的数据区中.
- 一次或多次向高16位数据区写值
- 32位数据被写入内存区时仅仅高16位(D31:16)被正确写入 . 低的16位数据(D15:0) 被存储在离散区域中的数据覆盖.
- 一次或多次读数据区低16位数值
32位数被连续地读. 低的16位数据(D15:0) 通过LBU接口被传送到主机系统中.高的16位数据 (D31:16) 被存在离散区域中. 32位数据的连续性不能被保证. - 一次或多次读数据区低16位数值
- 存在离散区域中的数据被传递到主机中.
- 一个字节一个字节的读写
对连续内存区一个字节一个字节的读写是没有意义的.因为内存区被直接的读写不能保证数据的连续性。
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc335495.html