S7-200 SMART CPU收集操作指令、现场状况等信息,把这些信息按照用户程序指定的规律进行运算、处理,然后输出控制、显示等信号。
import
ant; overflow-wrap: break-word !
import
ant;">
import
ant; overflow-wrap: break-word !
import
ant;">所有这些信息都表示为不同格式的数据,作为数据来处理。
import
ant; overflow-wrap: break-word !
import
ant;">
import
ant; overflow-wrap: break-word !
import
ant;">各种指令对数据格式都有一定要求,指令与数据之间的格式要一致才能正常工作。例如,为一个整数数据使用实数(浮点数)运算指令,显然会得到不正确的结果。
import
ant; overflow-wrap: break-word !
import
ant;">
数据有不同的长度(以二进制表示它们时,占据的位数不同),也就决定了数值的大小范围。
import
ant; overflow-wrap: break-word !
import
ant;">
import
ant; overflow-wrap: break-word !
import
ant;">模拟量信号在进行模/数(A/D)和数/模(D/A)转换时,一定会存在误差;代表模拟量信号的数据,只能以一定的精度表示模拟量信号。
import
ant; overflow-wrap: break-word !
import
ant;">
import
ant; overflow-wrap: break-word !
import
ant;">二、二进制、十六进制和十进制
import
ant; overflow-wrap: break-word !
import
ant;">
import
ant; overflow-wrap: break-word !
import
ant;">所有的数据在PLC中都是以二进制形式表示的。
import
ant; overflow-wrap: break-word !
import
ant;">
数据都有其特定的长度和表示方式,称为格式。
import
ant; overflow-wrap: break-word !
import
ant;">
数据的格式与用于运算、处理它的指令相关。
import
ant; overflow-wrap: break-word !
import
ant;">
以不同的格式查看一个数据,或是使用不同格式的指令处理它,会得到不同的效果。
import
ant; overflow-wrap: break-word !
import
ant;">
import
ant; overflow-wrap: break-word !
import
ant;">1、二进制和二进制数:所有通过S7-200 SMART PLC处理的数据(数值、字符等等)都以二进制形式表示。
import
ant; overflow-wrap: break-word !
import
ant;">
2、十六进制和十六进制数:在二进制数中,每4个二进制位可以分为一组;
import
ant; overflow-wrap: break-word !
import
ant;">
import
ant; overflow-wrap: break-word !
import
ant;">这组二进制数值的不同变化可以表示16个状态,正好是16进制数每一位数字的变化范围。
import
ant; overflow-wrap: break-word !
import
ant;">
import
ant; overflow-wrap: break-word !
import
ant;">因此,可以用十六进制数值方便地表示二进制数。
import
ant; overflow-wrap: break-word !
import
ant;">
例如,二进制数1000_1111b分为两组来看,分别是1000b和1111b,正好可以表示16进制数字8h和Fh(0000b对应于0h,...,1111b对应于Fh);那么这个二进制数就可以表示为8Fh。
import
ant; overflow-wrap: break-word !
import
ant;">
3、十进制和十进制数:十进制是S7-200 SMART的数学计算的基础,一般都使用十进制的体系,除了时间(12/24或60进制)等特殊数据外。
import
ant; overflow-wrap: break-word !
import
ant;">
二进制数用于在PLC中表示十进制数值、或者其他(如字符等)数据,而16进制用来比较简单地描述二进制数。
import
ant; overflow-wrap: break-word !
import
ant;">
三、二进制位逻辑(bit)
import
ant; overflow-wrap: break-word !
import
ant;">
PLC中以二进制“位”的数据形式来表示逻辑“1”、“0”(或者“开”、“关”)。位是***基本的数据单位。
import
ant; overflow-wrap: break-word !
import
ant;">
在数据字节(Byte)中,二进制逻辑只用一个位(bit)来表示。每个字节由8个位组成。
import
ant; overflow-wrap: break-word !
import
ant;">
四、整数、无符号整数和有符号整数
import
ant; overflow-wrap: break-word !
import
ant;">
import
ant; overflow-wrap: break-word !
import
ant;">字节、字、双字都可以用来表示十进制整数,显然它们的数据长度不同,能够表示的数的大小范围也不同。
import
ant; overflow-wrap: break-word !
import
ant;">
无符号整数只有0和正整数;有符号整数可以有正数和负数。
import
ant; overflow-wrap: break-word !
import
ant;">
有符号整数采用二进制补码的形式来表示负数。
import
ant; overflow-wrap: break-word !
import
ant;">
五、实数(浮点数)
import
ant; overflow-wrap: break-word !
import
ant;">
实数(或浮点数)以 32 位单精度数表示,其格式为 ANSI/IEEE 754-1985 标准中所描述的形式。实数按双字长度访问。
import
ant; overflow-wrap: break-word !
import
ant;">
注意:浮点数***到小数点后第 6 位。因此输入浮点常数时,***多只能指定 6 位小数。计算涉及到包含非常大和非常小数字的一长串数值时,计算结果可能不准确。
import
ant; overflow-wrap: break-word !
import
ant;">
六、ASCII字符和String(字符串)
import
ant; overflow-wrap: break-word !
import
ant;">
在S7-200 SMART中,ASCII字符是由表示字母、数字和一些特殊符号的ASCII编码组成的二进制数据字节,一个字节存储一个字符。
import
ant; overflow-wrap: break-word !
import
ant;">
import
ant; overflow-wrap: break-word !
import
ant;">七、访问S7-200 SMART 中的数据
import
ant; overflow-wrap: break-word !
import
ant;">
S7-200 SMART从外部接收信号输入(输入数据),在内部按照用户程序运算、处理后,再输出进行各种控制、显示。
import
ant; overflow-wrap: break-word !
import
ant;">
CPU 将信息存储在不同存储单元,每个位置均具有***的地址。寻址时,数据地址以代表存储区类型的字母开始,随后是表示数据长度的标记,然后是存储单元编号;对于二进制位寻址,还需要在一个小数点分隔符后指定位编号。