数据类型
S 7-200 S M A R T 的数据主要分为:
l
与实际输入/与实际输入/输出信号相关的输入/输出信号相关的输入/输出信号相关的输入/输出映象区: 输出映象区:
¡I :数字量输入(D :数字量输入(DI I ) )  ¡Q :数字量输出(D :数字量输出(DO O ) )  ¡A I :模拟量输入 :模拟量输入  ¡A Q :模拟量输出 :模拟量输出
l
内部数据存储区
¡V :变量存储区,可以按位、字节、字或双字来存取V :变量存储区,可以按位、字节、字或双字来存取V  区数据 区数据  ¡M :位存储区,可以按位、字节、字或双字来存取M :位存储区,可以按位、字节、字或双字来存取M区数据 区数据 区数据  ¡T :定时器存储区,用于时间累计 :定时器存储区,用于时间累计
¡C :计数器存储区,用于累计其输入端脉冲电平由低到高的次数 :计数器存储区,用于累计其输入端脉冲电平由低到高的次数  ¡H C :高速计数器,独立于 :高速计数器,独立于 C C P U  的扫描周期对高速事件进行计数,高速计数器的当前值是只读值,仅可作为双字(3值,仅可作为双字(322 位)来寻址 位)来寻址
¡A C :累加器,可以像存储器一样使用的读/:累加器,可以像存储器一样使用的读/写器件,可以按位、字节、字或双字访问累加器中的写器件,可以按位、字节、字或双字访问累加器中的数据 数据
¡S M :特殊存储器,提供了在 :特殊存储器,提供了在 C C P U  和用户程序之间传递信息的一种方法。 和用户程序之间传递信息的一种方法。 可以使用这些位来选可以使用这些位来选择和控制 择和控制 C C P U  的某些特殊功能, 的某些特殊功能, 可以按位、字节、字或双字访问 可以按位、字节、字或双字访问 可以按位、字节、字或双字访问 S S M  位 位  ¡
L :局部存储区,用于向子例程传递形式参数 :局部存储区,用于向子例程传递形式参数
¡S :顺序控制继电器,用于将机器或步骤组织到等效的程序段中,实现控制程序的逻辑分段。 可以按位、字节、字或双字访问 可以按位、字节、字或双字访问 S S  存储器 存储器
存储器范围及特性 表1表1..存储器范围
数据寻址
S7-200 SMART 系统中的数据及其格式
说明
C P U  S R 20
C P U  S R 40, , C C P U
S T 40  C P U  C R 40  C P U  S R 60,C ,CP P U
S T 60
用户程序大小 12288字节 24576字节 12288字节 30270字节 用户数据大小 8192字节 16384字节 8192字节 20480字节 过程映象输入寄存器 I 0.0到I 到I331.7 I 0.0到I 到I331.7 I 0.0到I 到I331.7 I 0.0到I 到I331.7 过程映象输出寄存器 Q 0.0到Q 到Q331.7 Q 0.0到Q 到Q331.7 Q 0.0到Q 到Q331.7 Q 0.0到Q 到Q331.7 模拟量输入(只读) A I W 0到A 到AI I W 110 A I W 0到A 到AI I W 110 --- ---  A I W 0到A 到AI I W 110 模拟量输出(只写) A Q W 0到A 到AQ Q W 110 A Q W 0到A 到AQ Q W 110 --- ---  A Q W 0到A 到AQ Q W 110 变量存储器(V 变量存储器(V) ) V B 0到V 到VB B 8191 V B 0到V 到VB B 16383 V B 0到V 到VB B 8191
V B 0到V 到VB B 20479 局部存储器(L 局部存储器(L)) L B 0到L 到LB B 63 L B 0到L 到LB B 63 L B 0到L 到LB B 63 L B 0到L 到LB B 63 位存储器(M 位存储器(M) )
M 0.0到M 到M331.7
M 0.0到M 到M331.7
M 0.0到M 到M331.7
M 0.0到M 到M331.7
特殊存储器(S 特殊存储器(SM M )
S M 0.0到S 到SM M 1535.7 S M 0.0到S 到SM M 29.7 S M 1000.0到S M 15357
S M 0.0到S 到SM M 1535.7 S M 0.0到S 到SM M 29.7 S M 1000.0到S M 15357
S M 0.0到S 到SM M 1535.7 S M 0.0到S 到SM M 29.7 S M 1000.0到S M 15357
S M 0.0到S 到SM M 1535.7
S M 0.0到S 到SM M 29.7 S M 1000.0到S M 15357
S 7-200 S M A R T  C P U 收集操作指令、现场状况等信息,把这些信息按照用户程序指定的规律进行运算、处理,然后输出控制、显示等信号。所有这些信息都表示为不同格式的数据,作为数据来处理。各种指令对数据格式都有一定要求,指令与数据之间的格式要一致才能正常工作。例如,为一个整数数据使用实数(浮点数)运算指令,显然会得到不正确的结果。
数据有不同的长度(以二进制表示它们时,占据的位数不同),也就决定了数值的大小范围。模拟量信号在进行模/在进行模/数(A 数(A 数(A//D )和数/)和数/模(D 模(D 模(D//A )转换时,一定会存在误差;代表模拟量信号的数据,只能以一定的精度表示模拟量信号。
l 所有的数据在P 所有的数据在PL L C 中都是以二进制形式表示的 中都是以二进制形式表示的  l 数据都有其特定的长度和表示方式,称为格式 数据都有其特定的长度和表示方式,称为格式  l 数据的格式与用于运算、处理它的指令相关 数据的格式与用于运算、处理它的指令相关
l
以不同的格式查看一个数据,或是使用不同格式的指令处理它,会得到不同的效果 以不同的格式查看一个数据,或是使用不同格式的指令处理它,会得到不同的效果
二进制、十六进制和十进制
二进制和二进制数: : 所有通过S 所有通过S 所有通过S77-200 S M A R T  P L C 处理的数据(数值、字符等等)都以二进制形式表示。 十六进制和十六进制数:在二进制数中,每4:在二进制数中,每4个二进制位可以分为一组;这组二进制数值的不同变化可以表个二进制位可以分为一组;这组二进制数值的不同变化可以表示1示166个状态,正好是1个状态,正好是166进制数每一位数字的变化范围。因此,可以用十六进制数值方便地表示二进制数。 例如,二进制数1例如,二进制数10000_1111b 分为两组来看,分别是1分为两组来看,分别是10000b 和1和11111b ,正好可以表示1,正好可以表示166进制数字8进制数字8h h 和F 和Fh h (0(00000b 对应于0对应于0h h ,.,....,1,11111b 对应于F 对应于Fh h );那么这个二进制数就可以表示为8);那么这个二进制数就可以表示为8F F h 。 十进制和十进制数:十进制是S :十进制是S77-200 S M A R T 的数学计算的基础,一般都使用十进制的体系,除了时间(1(122/24或6或600进制)等特殊数据外。 二进制数用于在P 二进制数用于在PL L C 中表示十进制数值、或者其他(如字符等)数据,而1中表示十进制数值、或者其他(如字符等)数据,而166进制用来比较简单地描述二进制数。
二进制位逻辑(b i t )
P L C 中以二进制“位”的数据形式来表示逻辑“1中以二进制“位”的数据形式来表示逻辑“1”、“0”、“0”、“0”(或者“开”、“关”)。位是最基本的数据单”(或者“开”、“关”)。位是最基本的数据单位。
在数据字节(B 在数据字节(By y t e )中,二进制逻辑只用一个位(b )中,二进制逻辑只用一个位(bi i t )来表示。每个字节由8)来表示。每个字节由8个位组成。 个位组成。 整数、无符号整数和有符号整数
字节、字、双字都可以用来表示十进制整数,显然它们的数据长度不同,能够表示的数的大小范围也不同。
无符号整数只有0无符号整数只有0和正整数;有符号整数可以有正数和负数。 和正整数;有符号整数可以有正数和负数。 有符号整数采用二进制补码的形式来表示负数。 实数(浮点数)
实数(或浮点数)以 实数(或浮点数)以 332 位单精度数表示,其格式为 位单精度数表示,其格式为 A A N S I /I E E E  754-1985 标准中所描述的形式。实数按双字长度访问。
注意:浮点数精确到小数点后第 注意:浮点数精确到小数点后第 66 位。 位。 因此输入浮点常数时,最多只能指定 因此输入浮点常数时,最多只能指定 因此输入浮点常数时,最多只能指定 66 位小数。计算涉及到包含非常大和非常小数字的一长串数值时,计算结果可能不准确。 A S C I I S 字符和St t r i n g (字符串)
在S 在S77-200 S M A R T 中,A 中,AS S C I I 字符是由表示字母、数字和一些特殊符号的A 字符是由表示字母、数字和一些特殊符号的AS S C I I 编码组成的二进制数据字节,一个字节存储一个字符。
A S C I I (美国信息交换标准码)是一种字符编码格式,在一个字节长度中不同的二进制数值代表不同的字符。如字母A 符。如字母A为4为4为411h (十六进制数值),以十进制看就是6(十六进制数值),以十进制看就是655;而数字5;而数字5的A 的A 的AS S C I I 值为3值为355h ,十进制值为5,十进制值为533。 字符串是一个字符序列,其中的每个字符都以字节的形式存储。 字符串是一个字符序列,其中的每个字符都以字节的形式存储。 字符串的第一个字节定义字符串的长字符串的第一个字节定义字符串的长度,即字符数。 度,即字符数。 字符串的长度可以是 字符串的长度可以是 字符串的长度可以是 00 到 到 2254个字符,再加上长度字节,因此字符串的最大长度为 个字符,再加上长度字节,因此字符串的最大长度为 2255 个字节。 个字节。 字符串常数限制为1字符串常数限制为1字符串常数限制为1226 个字节。(个字节。(字符串中也能包括汉字编码,每个汉字占用两个字节。)字符串中也能包括汉字编码,每个汉字占用两个字节。)字符串中也能包括汉字编码,每个汉字占用两个字节。)  这是S 这是S77-200 S M A R T  内部对A 内部对AS S C I I 字符串的格式定义,所有与字符串有关的指令都遵照这个格式。
l
在编程软件中,用单字节(英文)的单引号('在编程软件中,用单字节(英文)的单引号(')将作为字符的内容括起来可以在数据块和状态图中)将作为字符的内容括起来可以在数据块和状态图中
输入A 输入AS S C I I 数据字节 数据字节
l 在单字节的双引号("在单字节的双引号(")中间输入文本内容可以输入字符串 )中间输入文本内容可以输入字符串 )中间输入文本内容可以输入字符串
l 按上述方法输入的字符串会自动按字符串格式排列(在起始地址中放入字符个数) 按上述方法输入的字符串会自动按字符串格式排列(在起始地址中放入字符个数)
l
使用程序,或人为组合成的A 使用程序,或人为组合成的AS S C I I 字符串,使用A 字符串,使用AS S C I I 字符串指令时,必须注意是否符合格式 字符串指令时,必须注意是否符合格式  例如:
图1图1.. 在数据块中输入A 在数据块中输入AS S C I I 数据和字符串
下载项目到S 下载项目到S77-200 S M A R T  C P U ,使用状态图在线监控可以看到:
图2图2.. 状态图
注意A 注意AS S C I I 字节和字符串的区别。D 字节和字符串的区别。D66D 0h 是汉字“中”的编码。
S7-200 SMART 数据寻址
l 如何调用开关量或模拟量信号? 如何调用开关量或模拟量信号?
l 怎样读取数据? 怎样读取数据?
l 怎么使用输入信号? 怎么使用输入信号?  l 如何输出控制? 如何输出控制?  l
…… ……
上述问题都是关于如何访问、使用数据的问题,也就是所谓“寻址”。 S 访问S77-200 S M A R T  中的数据
S 7-200 S M A R T 从外部接收信号输入(输入数据),在内部按照用户程序运算、处理后,再输出进行各种控制、显示。
C P U  将信息存储在不同存储单元,每个位置均具有唯一的地址。寻址时,数据地址以代表存储区类型
的字母开始,随后是表示数据长度的标记,然后是存储单元编号;对于二进制位寻址,还需要在一个小数点分隔符后指定位编号。
位寻址的举例如下图所示:
图1位寻址举例
其中,存储区和字节地址(“M
其中,存储区和字节地址(“M33”)代表 ”)代表 M M  存储器的第 存储器的第 33 个字节,用句点(“.个字节,用句点(“.”)与位地址(位 ”)与位地址(位 ”)与位地址(位 44)分开。
字节寻址的举例如下图所示:
图2图2.. 字节寻址举例
可以看出,V 可以看出,VW W 100包括V 包括VB B 100和V 和VB B 101;V ;VD D 100包括V 包括VW W 100和V 和VW W 102,即V ,即VB B 100,V ,VB B 101,V ,VB B 102,V ,VB B 103这4这4个字个字节。这些地址是互相交叠的。
当涉及到多字节组合寻址时,遵循“高地址,低字节”的规律。 下表给出了不同数据长度可表示的整数值范围。 表1表1..不同数据长度表示的十进制和十六进制数范围 表示方式
字节(B 字节(B))字(w 字(w))双字 双字 (D (D (DW W ) 无符号整数
0到2到2555
16#0#000到1到166#F #FF F  0到6到655,5,5335
16#0#00000到1到166#F #FF F F F  0到4到4,,294,967,295
16#0#000000000到1到166#F #FF F F F F F F F  有符号整数
plc模拟量怎么编程-128到+到+1127
16#8#800到1到166#7#7F F  -32,7,7668到+到+332,7,7667 16#8#80000到1到166#7#7F F F F
-2,1,14
47,4,4883,6,6448到+到+22,1,1447,483,6,6447
16#8#80000 0000到1到166#7#7F F F F  F F F F  I 实数(IE E E E 32位浮点
数)
不适用
不适用
+1.175495E -38 到 到 ++3.402823E +38(正数)
-1.175495E -38到-到-33.402823E +38 (负数)