plc数据中的位与字节与字和双字的关系
plc关于S7-200SMARTCPU收集操作指令、现场情况等信息,按照用户程序规定的规则计算处理这些信息,然后输出控制、显示等信号。所有这些信息都表示为要作为数据处理的不同格式的数据。各种指令对数据格式都有一定的要求,指令和数据之间的格式需要一致才能正常工作。例如,对整数数据使用实数(浮点)算术指令显然会给出不正确的结果。
数据有不同的长度(当它们用二进制表示时,它们占用不同的位),这也决定了值的大小范围。对模拟信号进行模/数(A/D)和数/模(D/A)转换时,会出现错误;表示模拟信号的数据只能表示一定精度的模拟信号。
所有数据在PLC中以二进制形式表示
数据有自己特定的长度和表示,称为格式
数据的格式与用于计算和处理它的指令有关
查看不同格式的数据,或者用不同格式的命令处理,会有不同的效果
(1)位:较小的存储单位,非0则1,表达两个状态。
(2)字节:每8个位组成一个字节。这样一个字节可以表达2的8次方(256)个状态,大于256个状态怎么表示?那就字。
(3)字:2个字节组成一个字,有16个位。这样一个字可以表达2的16次方(65536)个状态,大于65536个状态怎么表示? 那就用 双字。
(4)双字:2个字组成一个双字,有32个位。这样一个双字可以表达2的32次方(429496729状态)。
双整(32位又称双字)=2个整数(2*16位)
整数(16位又称字)=2个字节(2*8位)
字节(8位)=8个位
举个例子说明,以西门子为例:
VD0(双整)=VW0,VW2(整数)=VB0,VB1,VB2,VB3(字)=V0.0~V3.7(位)一共32个位 所以称32位双整!
西门子表达比较特殊,理解如下:
例如:VB100 B表示1个字节=8个位
8个位为V100.0--V100.7, 一个字节是VB100。
VW100 W表示2个字节=16个位 =字 16个位为V100.0--V100.7,V101.0--V101.7,
二个字节(字)是VB100,VB101.
VD100 D表示4个字节=32个位=双字 32个位为V100.0--V100.7,V101.0--V101.7,
V102.0-- V102.7, V103.0--V103.7
4个字节(双字)是 VB100,B101,VB102,VB103
一个32位组成的双字,其0-31位共32位用VD10表示的话,那么要表达0-15位组成的字,就是VW12;要表达16-31位组成的字,就是VW10;要表达0-7位组成的字节,就是VB13;要表达8-15位组成的字节,就是VB12;要表达16-23位组成的字节,就是VB11;要表达24-31位组成的字节,就是VB10。
西门子表达比较特殊,理解如下:
实数,就是浮点数 可以理解为三菱PLC带小数点的数据 如1.5 100.5
整数,顾名思义 就是没有小数点 范围 0-65535 的
双整数, 范围 0 - 4294967295
浮点数,就是实数
字符串 可以理解为字母 “ABCDEFH”
总结:
1字节=8个二进制位(简称位)
1字=2字节=16位
1双字=2字=4字节=32位
&&& plc关于数据中的位与字节与字和双字的关系就是以上几点,大家看明白了吗?有任何疑问都可以来咨询我们。