字是正常16位运算的基本单位,例如VW100,包含VB100、VB101,也就是——; 双字是32位数据格式单位,例如VD100,包含VW100、VW102,含VB100、VB101、VB102、VB103;也就是——;
需要注意的是:西门子是方脑袋的德国人搞出来的,数据格式与正常不一样,例如数据以BCD存储在VD100,那么字VW100内部是9876,字VW102是32,同理:VB100是98,VB101是76,VB102是,VB103是32
而亚洲的日系则不一样,例如32位数据D100,实际包含D100、D101,其中D101内部数据是9876,D100内部数据是32, 位:最小的存储单位,非0则1,表达两个状态;但是如果要表达更多状态怎么办 用字节;
字节:每8个位组成一个字节;这样一个字节可以表达2的8次方256个状态,大于256个状态怎么表示那就用字; 字:2个字节组成一个字,有16个位;这样一个字可以表达2的16次方65536个状态,大于65536个状态怎么表示那就用双字;
双字:2个字组成一个双字,有32个位;这样一个双字可以表达2的32次方96个状态;
西门子表达比较特殊,就是低位高字节;例如一个32位组成的双字,其0-31位共32位用VD10表示的话,那么要表达0-15位组成的字,就是VW12;要表达16-31位组成的字,就是VW10;要表达0-7位组成的字节,就是VB13;要表达8-15位组成的字节,就是VB12;要表达16-23位组成的字节,就是VB11;要表达24-31位组成的字节,就是VB10;
一个字节 BYTE=8个位BIT 一个字=2个字节 双字=2个字
正文快照:以前一直用PCS7编程,也一直习惯于CFC编程,其中用到一个最基本的知识点,那就是双字、字、字节、位之间的关系;在PCS7的CFC中, 以前一直用PCS7编程,也一直习惯于CFC编程,其中用到一个最基本的知识点,那就是双字、字、字节、位之间的关系;
在PCS7的CFC中,有一个W_BO和一个DW_BO的功能块,十分方便,直接输入连接的状态字,输出便会列出bit0——bit15的值,这在做DP通讯时经常用过,比如控制变频器,它的状态常常是在一个字取某位,如运行信号、备妥信号等;
今天在一个老CPU中,也用到DP了通讯,要在一个双字中取某位显示状态,不支持用CFC编程,所以无法傻瓜式的取到了,只能手工指定其中的bit位了;这
时竟然字中高字节与低字节的对应关系,自己把自己晕了半天,后来回顾了下,终于搞明白了,看来傻瓜的编程方式是把自己弄得更傻瓜呵呵
直接上两个图吧,是关于双字、字、字节、位之间的关系的,看看便明白了 一定要注意高8位与低8位与字的对应关系
图1:字、字节、位之间的关系
图2:双字、字、字节、位之间的关系
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- niushuan.com 版权所有 赣ICP备2024042780号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务