上述问题都是关于如何访问、使用数据的问题,也就是所谓“寻址”。
S7-200 SMART从外部接收信号输入(输入数据),在内部按照用户程序运算、处理后,再输出进行各种控制、显示。
CPU 将信息存储在不同存储单元,每个位置均具有唯一的地址。寻址时,数据地址以代表存储区类型的字母开始,随后是表示数据长度的标记,然后是存储单元编号;对于二进制位寻址,还需要在一个小数点分隔符后指定位编号。
位寻址的举例如下图所示:
图1.位寻址举例
其中,存储区和字节地址(“M3”)代表 M 存储器的第 3 个字节,用句点(“.”)与位地址(位 4)分开。
字节寻址的举例如下图所示:
图2. 字节寻址举例
可以看出,VW100包括VB100和VB101;VD100包括VW100和VW102,即VB100,VB101,VB102,VB103这4个字节。这些地址是互相交叠的。
当涉及到多字节组合寻址时,遵循“高地址,低字节”的规律。
下表给出了不同数据长度可表示的整数值范围。
表1.不同数据长度表示的十进制和十六进制数范围
表示方式 | 字节(B) | 字(w) | 双字 (DW) |
无符号整数 | 0到255 16#00到16#FF |
0到65,535 16#0000到16#FFFF |
0到4,294,967,295 16#00000000到16#FFFFFFFF |
---|---|---|---|
有符号整数 | -128到+127 16#80到16#7F |
-32,768到+32,767 16#8000到16#7FFF |
-2,147,483,648到+2,147,483,647 16#8000 0000到16#7FFF FFFF |
实数(IEEE32位浮点数) | 不适用 | 不适用 | +1.175495E-38 到 +3.402823E+38(正数) -1.175495E-38到-3.402823E+38 (负数) |
《S7-200 SMART系统手册》上关于PLC概念的第四章,其中对于S7-200 SMART中数据寻址的叙述非常好,建议初学者必读!
几乎所有的指令、功能都与各种形式的寻址有关,不弄清楚数据寻址会给工作带来极大的困难。
CPU 提供的本地 I/O 具有固定的 I/O 地址。可以通过在 CPU 的右侧连接扩展 I/O 模块,或通过安装信号板来增加 I/O 点。 模块点的地址取决于 I/O 类型和模块在 I/O 链中的位置。
注意:
下表提供固定映射惯例的示例(由 STEP 7 Micro/WIN SMART 建立,并作为系统块中I/O 组态的一部分下载)。
表2. CPU 映射惯例:
CPU | 信号板 | 信号模块 0 | 信号模块 1 | 信号模块 2 | 信号模块 3 | |
起始地址 | I0.0 Q0.0 |
I7.0 Q7.0 无 AI SB AQ12 |
I8.0 Q8.0 AI16 AQ16 |
I12.0 Q12.0 AI32 AQ32 |
I16.0 Q16.0 AI48 AQ48 |
I20.0 Q20.0 AI64 AQ64 |
有关间接寻址的内容请参考链接:间接寻址
1. CPU连接若干个I/O扩展模块时,如何查看每个模块占用的I/O通道地址?
由于I/O扩展模块占用的输入和输出地址与模块位置有关,不连续且不能被用户自定义,因此建议用户到系统块上方的概览表格中查看
图4.I/O通道地址举例