关于S7的数据问题

不好意思,我对这个还不明白,望高人指点。
 主要是2进制。10进制。BCD码。还有16进制。希望高人说的明白点。还有关于他们的运用。他们主要用在什么地方。还有就是他们和字节,字,双字,什么的有关系吗?谢谢。

问题补充:
看了书还是不明白郁闷,谢谢下面飞狐大哥的解释.我还是有点不明白.比如我想表示2,这是我们通常用的是进制.那如果我用2进制表示是不是2#0010 .如果我用BCD码表示就是W#16#2还是W#16#0002. 还有就是你说的BCD码就是16进制.可是我看加减记数器上面为什么又写BCD,又写16进制? 
 最后还想文下这些和位  字 双字 整数 什么的有关系吗? 说的也明白也好,我看书看的不清楚.

最佳答案

二进制、十六进制和十进制:
 二进制和二进制数: 所有通过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)
 字节、字、双字都可以用来表示十进制整数,显然它们的数据长度不同,能够表示的数的大小范围也不同。

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

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

 在S7-200中,字节、字、双字都可以按照无符号、有符号整数来查看 
 Micro/WIN中,整数运算指令在指令树的Integer Math分支中 
 只有字节运算指令(带B符号的指令,如INC_B等)是无符号整数运算指令 
 凡带有I,或W,DW等(除字节B指令外)的数学运算指令,都是有符号整数运算指令 
 定时器、计数器的值都是有符号整数 
 HSC(高速计数器)的计数当前值(HCx)和设定值都是32位的有符号整数 
 在编程软件Micro/WIN中输入立即数据时,如果不输入小数点,则认作整数 
 在不需要高精度运算的条件下,使用整数可以简化编程,节省处理时间
 BCD
 BCD意为“二进制编码的十进制数”。BCD是一种编码方式,是以二进制数对十进制数字的编码,并因为16进制的优势,改用十六进制数字表示。
 十进制只有十个数字,所以以16进制表示的BCD码不会出现16进制数字Ah - Fh。
 十进制数39用BCD码表示就是39h,或16#39。BCD码数值必须用16进制查看才能得到正确结果。
 BCD编码往往在使用BCD编码开关输入数据时用到;S7-200中读出的时钟日期数据也是以BCD编码表示。
 S7-200支持的数据格式
 BOOL(位) 1(位) 布尔数(二进制位)真(1);假(0);
 BYTE(字节)8(字节) 无符号整数 0 ~ 255;0 ~ FF(Hex);
 INT(整数)16(字)有符号整数 - 32768 ~ 32767;8000 ~ 7FFF(Hex);
 WORD(字)16(字)无符号整数 0 ~ 65535;0 ~ FFFF(Hex);
 DINT(双整数)32(双字)有符号整数 - 2147483648 ~ 2147483647      8000 0000 ~ 7FFF FFFF(Hex);
 DWORD(双字)32(双字)无符号整数0 ~ 4294967295;
 0 ~ FFFF FFFF(Hex);
 REAL(实数)32(双字)IEEE 32位单精度浮点数
   -3.402823E+38 ~ -1.175495E-38(负数);
 +1.175495E-38 ~+3.402823E+38(正数); 0.0
 ASCII  8/个(字节)字符列表 ASCII字符、汉字内码(每个汉字2字节);
 STRING(字符串)8/个(字节)字符串 1 ~ 254个ASCII字符、
 汉字内码(每个汉字2字节);

提问者对于答案的评价:
哈哈

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc357129.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 上午9:45
下一篇 2021年7月5日 上午9:45

相关推荐

  • 关于S7-200系列CPU通过自带PID向导生成的PID控制问题

    各位大师,小弟近期遇见一个关于S7-200系列CPU通过自带PID向导生成的PID控制问题。就是我通过PID向导生成了PID控制输出模拟量用于控制变频器实现控温,这部分都已经实现,…

    2017年6月13日
  • 小白编程调试疑惑

    各位大神,本人小白刚写了个小程序调试后发现,图示i0.2和i0.1都是on状态,不是应该通了吗,为什么输出还是off状态 图片说明:    最佳答案 这是一个典…

    2021年7月5日
  • s7-200高速计数值刷新

    高速计数值HC0是程序每次扫描以后刷新,还是实时刷新, 我需要在程序的某个地方,当条件导通时,刷新一下HC0的值,再取HC0的值,该怎么处理 最佳答案 高速计数器独立于扫…

    SIMATIC S7-200 2021年7月5日
  • 自做modbus通讯接头需要带屏蔽吗?

    自做modbus通讯接头需要带屏蔽吗? 最佳答案 当然需要带屏蔽的用屏蔽线做距离远还要加终端电阻120欧姆 提问者对于答案的评价:两个S7-200放在一起做通讯用,也要用屏蔽吗? …

    SIMATIC S7-200 2021年7月5日
  • modbus报文

    200PLC   做modbus主站,为什么报文只能监测到两条? 图片说明:       钻石用户推荐最佳答案…

    2021年7月5日
  • s7-200读双精度浮点数

    s7-200可以读双精度浮点数吗? 最佳答案 1、可以读取,但需要弄清高低字置换见:S7-200 Modbus 读取浮点数 :http://www.a…

    SIMATIC S7-200 2017年5月28日
  • s7200通讯

    请问CPU224 CN 是否能跟变频器通讯啊,因为CPU224 CN 只有一个接口,跟变频器连接了就不能跟触摸屏连接了,不知什么好的方法?&…

    SIMATIC S7-200 2021年7月5日
  • 226高速计数器问题请教,有点难度

    226的高速计数最大频率是20K  Hz我的编码器是1000线的,直接装电机主轴后面,计数模式是1X计数时,电机最大转速理论可以到 1200r/m,此…

    SIMATIC S7-200 2017年6月7日
  • 如何用高速计数器采集电磁流量计脉冲

    老板安排我编程,任务是:用西门子PLC S7-200(CPU 224 CN)采集电磁流量计的脉冲数,送到组态王中。由于我刚开始接触PLC,很多都不懂,…

    SIMATIC S7-200 2021年7月5日
  • 关于顺序流程图

    在做顺序流程图,发现步上面还有一个条件才能输出,可是我看别人的顺序流程图,步后面就直接输出,这条件怎么加啊,有大神看图帮我解释一下吗 问题补充:感觉没说清楚,我又补充了一张图2,就…

    2017年5月29日

发表回复

登录后才能评论