恭喜,你发布的帖子
发布于 2023-03-08 17:00:59
6楼
楼主可以查阅下西门子的数据存储和寻址方式的资料,了解位、字节、字、双字,数据长度,数据类型,寻址方式等。
这里以GET指令为例简单讨论一下:
图中,ADDR_1处的指针为P#DB1.DBX6.0 WORD 2,表示要从200smart读取起始地址为V6.0,长度为2个字,即32个位的数据。
RD_1处的指针为P#DB1.DBX0.0 WORD 2,表示我读取到的数据要存在1500中DB1数据块起始地址为0.0,长度为2个字,即32个位的区间。
这样指令GET到32位数据,这32个位上的数据是一一对应完全相同的,因为存放的起始地址是0.0,所以严格的对应关系是V6.0-V9.7对应DB1.DBX0.0-DB1.DBX3.7。
至于我们常说的VB6,VW6只是一种寻址方式。这32位数据寻址200smart表示可以是VB6-VB9,也可以是VW6-VW8,也可以是VD6,也可以是V6.0-V9.7;而在1500中寻址表示可以是DB1.DBB0-DB1.DBB3,也可以是DB1.DBW0-DB1.DBW2,也可以是DB1.DBD0,也可以是DB1.DBX0.0-DB1.DBX3.7。对这个32位数据你也可以在200smart定义变量V6.0-V6.7,VB7,VW8;在1500中定义变量VB0,VW1,V3.0-V3.7。
数据GET/PUT后形成了对应关系,每个位上二进制数据就一致了,至于你怎么寻址并无影响。
请填写推广理由:
分享
只看
楼主