S7-200 SMART的数据主要分为:
l 与实际输入/输出信号相关的输入/输出映象区:
¡ I:数字量输入(DI)
¡ Q:数字量输出(DO)
¡ AI:模拟量输入
¡ AQ:模拟量输出
l 内部数据存储区
¡ V:变量存储区,可以按位、字节、字或双字来存取V 区数据
¡ M:位存储区,可以按位、字节、字或双字来存取M区数据
¡ T:定时器存储区,用于时间累计
¡ C:计数器存储区,用于累计其输入端脉冲电平由低到高的次数
¡ HC:高速计数器,独立于 CPU 的扫描周期对高速事件进行计数,高速计数器的当前值是只读值,仅可作为双字(32 位)来寻址
¡ AC:累加器,可以像存储器一样使用的读/写器件,可以按位、字节、字或双字访问累加器中的数据
¡ SM:特殊存储器,提供了在 CPU 和用户程序之间传递信息的一种方法。可以使用这些位来选择和控制 CPU 的某些特殊功能, 可以按位、字节、字或双字访问 SM 位
¡ L:局部存储区,用于向子例程传递形式参数
¡ S:顺序控制继电器,用于将机器或步骤组织到等效的程序段中,实现控制程序的逻辑分段。
可以按位、字节、字或双字访问 S 存储器存储器范围及特性
表1.存储器范围
数据寻址
S7-200 SMART CPU收集操作指令、现场状况等信息,把这些信息按照用户程序指定的规律进行运算、处理,然后输出控制、显示等信号。所有这些信息都表示为不同格式的数据,作为数据来处理。各种指令对数据格式都有一定要求,指令与数据之间的格式要一致才能正常工作。例如,为一个整数数据使用实数(浮点数)运算指令,显然会得到不正确的结果。
数据有不同的长度(以二进制表示它们时,占据的位数不同),也就决定了数值的大小范围。模拟量信号在进行模/数(A/D)和数/模(D/A)转换时,一定会存在误差;代表模拟量信号的数据,只能以一定的精度表示模拟量信号。
l 所有的数据在PLC中都是以二进制形式表示的
l 数据都有其特定的长度和表示方式,称为格式
l 数据的格式与用于运算、处理它的指令相关
l 以不同的格式查看一个数据,或是使用不同格式的指令处理它,会得到不同的效果
二进制、十六进制和十进制
二进制和二进制数:所有通过S7-200 SMART PLC处理的数据(数值、字符等等)都以二进制形式表示。
十六进制和十六进制数:在二进制数中,每4个二进制位可以分为一组;这组二进制数值的不同变化可以表
示16个状态,正好是16进制数每一位数字的变化范围。因此,可以用十六进制数值方便地表示二进制数。
例如,二进制数1000_1111b分为两组来看,分别是1000b和1111b,正好可以表示16进制数字8h和Fh(0000b
对应于0h,...,1111b对应于Fh);那么这个二进制数就可以表示为8Fh。
十进制和十进制数:十进制是S7-200 SMART的数学计算的基础,一般都使用十进制的体系,除了时间(12/24或60进制)等特殊数据外。
二进制数用于在PLC中表示十进制数值、或者其他(如字符等)数据,而16进制用来比较简单地描述二进制数。
二进制位逻辑(bit)
PLC中以二进制“位”的数据形式来表示逻辑“1”、“0”(或者“开”、“关”)。位是最基本的数据单位。
在数据字节(Byte)中,二进制逻辑只用一个位(bit)来表示。每个字节由8个位组成。
整数、无符号整数和有符号整数
字节、字、双字都可以用来表示十进制整数,显然它们的数据长度不同,能够表示的数的大小范围也不同。
无符号整数只有0和正整数;有符号整数可以有正数和负数。
有符号整数采用二进制补码的形式来表示负数。
实数(浮点数)
实数(或浮点数)以 32 位单精度数表示,其格式为 ANSI/IEEE 754-1985 标准中所描述的形式。实数按双字长度访问。
注意:浮点数jingque到小数点后第 6 位。因此输入浮点常数时,最多只能指定 6 位小数。计算涉及到包含非常大和非常小数字的一长串数值时,计算结果可能不准确。
ASCII字符和String(字符串)
在S7-200 SMART中,ASCII字符是由表示字母、数字和一些特殊符号的ASCII编码组成的二进制数据字节,
一个字节存储一个字符。
访问S7-200 SMART 中的数据
S7-200 SMART从外部接收信号输入(输入数据),在内部按照用户程序运算、处理后,再输出进行各种控制、显示。
CPU 将信息存储在不同存储单元,每个位置均具有唯一的地址。寻址时,数据地址以代表存储区类型的字母开始,随后是表示数据长度的标记,然后是存储单元编号;对于二进制位寻址,还需要在一个小数点分隔符后指定位编号。
位寻址的举例如下图所示:
图1.位寻址举例
其中,存储区和字节地址(“M3”)代表 M 存储器的第 3 个字节,用句点(“.”)与位地址(位 4)分开。
字节寻址的举例如下图所示:
图2. 字节寻址举例
可以看出,VW100包括VB100和VB101;VD100包括VW100和VW102,即VB100,VB101,VB102,VB103这4个字节。这些地址是互相交叠的。
当涉及到多字节组合寻址时,遵循“高地址,低字节”的规律。
下表给出了不同数据长度可表示的整数值范围。
表1.不同数据长度表示的十进制和十六进制数范围
对本地 I/O 和扩展 I/O 进行寻址
CPU 提供的本地 I/O 具有固定的 I/O 地址。可以通过在 CPU 的右侧连接扩展 I/O 模块,或通过安装信号板来增加 I/O 点。模块点的地址取决于 I/O 类型和模块在 I/O 链中的位置。
注意:
l 数字量 I/O 的过程映像寄存器空间总是以八位(一个字节)递增的形式预留。如果模块没有为每个保留字节中的每一位提供相应的物理点,那些未使用的位就无法分配给 I/O 链中的后续模块。对于输入模块,这些未使用的位会在每个输入更新周期中被清零。
l 模拟量 I/O 点总是以两点递增的方式分配。如果模块没有为这些点分配相应的物理 I/O,则这些I/O 点将丢失,并且不能够分配给 I/O 链中的后续模块。
下表提供固定映射惯例的示例(由 STEP 7 Micro/WIN SMART 建立,并作为系统块中I/O 组态的一部分下载)。
表2. CPU 映射惯例: