S7-200 SMART PLC编程说明

  • 格式:pdf
  • 大小:1.55 MB
  • 文档页数:18

数据类型

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 SR20 CPU SR40, CPU

ST40 CPU CR40 CPU SR60,CPU

ST60

用户程序大小 12288字节 24576字节 12288字节 30270字节

用户数据大小 8192字节 16384字节 8192字节 20480字节

过程映象输入寄存器 I0.0到I31.7 I0.0到I31.7 I0.0到I31.7 I0.0到I31.7

过程映象输出寄存器 Q0.0到Q31.7 Q0.0到Q31.7 Q0.0到Q31.7 Q0.0到Q31.7

模拟量输入(只读) AIW0到AIW110 AIW0到AIW110 --- --- AIW0到AIW110

模拟量输出(只写) AQW0到AQW110 AQW0到AQW110 --- --- AQW0到AQW110

变量存储器(V) VB0到VB8191 VB0到VB16383 VB0到VB8191 VB0到VB20479

局部存储器(L) LB0到LB63 LB0到LB63 LB0到LB63 LB0到LB63

位存储器(M) M0.0到M31.7 M0.0到M31.7 M0.0到M31.7 M0.0到M31.7

特殊存储器(SM) SM0.0到SM1535.7

SM0.0到SM29.7

SM1000.0到

SM1535.7 SM0.0到SM1535.7

SM0.0到SM29.7

SM1000.0到

SM1535.7 SM0.0到SM1535.7

SM0.0到SM29.7

SM1000.0到

SM1535.7 SM0.0到SM1535.7

SM0.0到SM29.7

SM1000.0到

SM1535.7 Page 1 of 18数据类型

2012-12-22file://D:\TEMP\~hh42CE.htmwww.PLCworld.cn

www.PLCworld.cn

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 标准中所描述的形式。实数按

双字长度访问。

注意:浮点数精确到小数点后第 6 位。 因此输入浮点常数时,最多只能指定 6 位小数。计算涉及到包

含非常大和非常小数字的一长串数值时,计算结果可能不准确。

ASCII字符和String(字符串)

在S7-200 SMART中,ASCII字符是由表示字母、数字和一些特殊符号的ASCII编码组成的二进制数据字节,

一个字节存储一个字符。 Page 2 of 18数据类型

2012-12-22file://D:\TEMP\~hh42CE.htmwww.PLCworld.cn

www.PLCworld.cn

ASCII(美国信息交换标准码)是一种字符编码格式,在一个字节长度中不同的二进制数值代表不同的字

符。如字母A为41h(十六进制数值),以十进制看就是65;而数字5的ASCII值为35h,十进制值为53。

字符串是一个字符序列,其中的每个字符都以字节的形式存储。 字符串的第一个字节定义字符串的长

度,即字符数。 字符串的长度可以是 0 到 254个字符,再加上长度字节,因此字符串的最大长度为 255

个字节。 字符串常数限制为126 个字节。(字符串中也能包括汉字编码,每个汉字占用两个字节。)

这是S7-200 SMART 内部对ASCII字符串的格式定义,所有与字符串有关的指令都遵照这个格式。

l在编程软件中,用单字节(英文)的单引号(')将作为字符的内容括起来可以在数据块和状态图中

输入ASCII数据字节

l在单字节的双引号(")中间输入文本内容可以输入字符串

l按上述方法输入的字符串会自动按字符串格式排列(在起始地址中放入字符个数)

l使用程序,或人为组合成的ASCII字符串,使用ASCII字符串指令时,必须注意是否符合格式

例如:

图1. 在数据块中输入ASCII数据和字符串

下载项目到S7-200 SMART CPU

,使用状态图在线监控可以看到: Page 3 of 18数据类型

2012-12-22file://D:\TEMP\~hh42CE.htmwww.PLCworld.cn

www.PLCworld.cn

图2. 状态图

注意ASCII字节和字符串的区别。D6D0h是汉字“中”的编码。

S7-200 SMART 数据寻址

l如何调用开关量或模拟量信号?

l怎样读取数据?

l怎么使用输入信号?

l如何输出控制?

l……

上述问题都是关于如何访问、使用数据的问题,也就是所谓“寻址”。

访问S7-200 SMART 中的数据

S7-200 SMART从外部接收信号输入(输入数据),在内部按照用户程序运算、处理后,再输出进行各种控

制、显示。

CPU 将信息存储在不同存储单元,每个位置均具有唯一的地址。寻址时,数据地址以代表存储区类型的字

母开始,随后是表示数据长度的标记,然后是存储单元编号;对于二进制位寻址,还需要在一个小数点分

隔符后指定位编号。

位寻址的举例如下图所示: Page 4 of 18数据类型

2012-12-22file://D:\TEMP\~hh42CE.htmwww.PLCworld.cn

www.PLCworld.cn

图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

(负数) Page 5 of 18数据类型

2012-12-22file://D:\TEMP\~hh42CE.htmwww.PLCworld.cn

www.PLCworld.cn