视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
s7200数据格式
2025-10-02 04:32:05 责编:小OO
文档
S7-200系统中的数据及其格式

2007-12-25 01:11

S7-200 CPU收集操作指令、现场状况等信息,把这些信息按照用户程序指定的规律进行运算、处理,然后输出控制、显示等信号。

所有这些信息在S7-200 PLC中,都表示为不同格式的数据,作为数据来处理;按照其自身定义,格式不同的数据表示不同含义的信息。

在S7-200中,各种指令对数据格式都有一定要求,指令与数据之间的格式要一致才能正常工作。例如,为一个整数数据使用实数(浮点数)运算指令,显然会得到不正确的结果。

数据有不同的长度(以二进制表示它们时,占据的位数不同),也就决定了数值的大小范围。模拟量信号在进行模/数(A/D)和数/模(D/A)转换时,一定会存在误差;代表模拟量信号的数据,只能以一定的精度表示模拟量信号。

∙所有的数据在PLC中都是以二进制形式表示的 

∙数据都有其特定的长度和表示方式,称为格式 

∙数据的格式与用于运算、处理它的指令相关 

∙以不同的格式查看一个数据,或是使用不同格式的指令处理它,会得到不同的效果 

表1. S7-200支持的数据格式

寻址格式数据长度

(二进制位)

数据类型取值范围
BOOL(位)

1(位)

布尔数

(二进制位)

真(1);假(0)

BYTE(字节)

8

(字节)

无符号整数0 ~ 255;0 ~ FF(Hex)

INT(整数)

16

(字)

有符号整数- 32768 ~ 32767;

8000 ~ 7FFF(Hex)

WORD(字)

无符号整数0 ~ 65535;

0 ~ FFFF(Hex)

DINT

(双整数)

32

(双字)

有符号整数- 21474838 ~ 21474837

8000 0000 ~ 7FFF FFFF(Hex)

DWORD

(双字)

无符号整数0 ~ 4294967295;

0 ~ FFFF FFFF(Hex)

REAL

(实数)

IEEE 32位

单精度浮点数

-3.402823E+38 ~ -1.175495E-38(负数);

+1.175495E-38 ~+3.402823E+38(正数); 0.0※

ASCII8/个

(字节)

字符列表ASCII字符、

汉字内码(每个汉字2字节)

STRING

(字符串)

字符串1 ~ 254个ASCII字符、

汉字内码(每个汉字2字节)

※ 实数不能绝对准确地表示“零”

二进制、十六进制和十进制

二进制和二进制数: 所有通过S7-200 PLC处理的数据(数值、字符等等)都以二进制形式表示。在S7-200中,特别指出一个数据是二进制数并没有什么意义。

十六进制和十六进制数:在二进制数中,每4个二进制位可以分为一组;这组二进制数值的不同变化可以表示16个状态,正好是16进制数每一位数字的变化范围。因此,可以用十六进制数值方便地表示二进制数。

例如,二进制数1000_1111b分为两组来看,分别是1000b和1111b,正好可以表示16进制数字8h和Fh(0000b对应于0h,...,1111b对应于Fh);那么这个二进制数就可以表示为8Fh。

十进制和十进制数:十进制是S7-200的数学计算的基础,在S7-200中,一般都使用十进制的体系,除了时间(12/24或60进制)等特殊数据外。

二进制数用于在PLC中表示十进制数值、或者其他(如字符等)数据,而16进制用来比较简单地描述二进制数。

在S7-200中,二进制立即数表示为2#xxxx_xxxx(1字节长度),16进制立即数表示为16#xx(1字节长度)。

二进制位逻辑(bit)

PLC中以二进制“位”的数据形式来表示逻辑“1”、“0”(或者“开”、“关”)。位是最基本的数据单位。

在数据字节(Byte)中,二进制逻辑只用一个位(bit)来表示。每个字节由8个位组成。

∙在S7-200中,某些类型的数据兼有成组的字节(字)访问形式,也有位的访问形式,如定时器、计数器等 

∙在编程软件Micro/WIN中,对位数据进行运算操作的指令都在指令树的Bit Logic(位逻辑)分支中 

“位”的逻辑值为“1”或者“0”,但是在实际应用中,某种状态的“有效值”可以是“1”,也可以是“0”。“有效”就是我们认为某个状态已经“激活”

整数、无符号整数和有符号整数

字节、字、双字都可以用来表示十进制整数,显然它们的数据长度不同,能够表示的数的大小范围也不同。

无符号整数只有0和正整数;有符号整数可以有正数和负数。

有符号整数采用二进制补码的形式来表示负数。

∙在S7-200中,字节、字、双字都可以按照无符号、有符号整数来查看 

∙Micro/WIN中,整数运算指令在指令树的Integer Math分支中 

∙只有字节运算指令(带B符号的指令,如INC_B等)是无符号整数运算指令 

∙凡带有I,或W,DW等(除字节B指令外)的数算指令,都是有符号整数运算指令 

∙定时器、计数器的值都是有符号整数 

∙HSC(高速计数器)的计数当前值(HCx)和设定值都是32位的有符号整数 

∙在编程软件Micro/WIN中输入立即数据时,如果不输入小数点,则认作整数 

在不需要高精度运算的条件下,使用整数可以简化编程,节省处理时间。

实数(浮点数)

在S7-200中,实数(浮点数)是符合IEEE标准的32位实数,即单精度实数。实数格式按照一定的运算规律把32个二进制位分组,表示极小或极大的数。

∙S7-200的实数运算指令都在指令树的Floating-Point Math(实数运算) 分支中 

∙实数当作整数运算的时候会导致数值的错误;而整数当作实数应用可能会使数据非法(不符合标准) 

∙在编程软件Micro/WIN中输入带小数点数据的数据,则认为实数(实数形式的整数值必须输入小数点和一位为零的小数位,如10.0) 

ASCII字符和String(字符串)

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

ASCII(美国信息交换标准码)是一种字符编码格式,在一个字节长度中不同的二进制数值代表不同的字符。如字母A为41h(十六进制数值),以十进制看就是65;而数字5的ASCII值为35h,十进制值为53。

S7-200中新引入了String(字符串)数据格式,其结构是在ASCII字符字节串前面有一个串长度。字符串最长可以有255个数据字节。

字符串中也能包括汉字编码,每个汉字占用两个字节。

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

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

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

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

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

下载本文
显示全文
专题