BCD码转换成整数指令 请教大神,我又来提问了

BCD码转换成整数,视频讲解员强制赋值 IW0    为2#1001 0001 0001 0000   ,  左边显示是-28400  ,   这是二进制原码2#1001 0001 0001 0000 转换成有符号整数就是-28400  ,也可以说是二进制原码的有符号整数显示格式是-28400??     这已经是BCD码转换成整数-28400了,我这样理解不对吧???       再说VW200应该存放整数,  BCD转换成整数嘛, 而VW200显示的是9110  ,   这个9110是整数???     不就是对着BCD码表来的吗,1001(对应9)   0001(对应1)   0000(对应0)   所以也就是9110,这也没有转换啊,就是对表啊。
我的疑问是:这个指令是具体详细转换的,  IW0  2#1001 0001 0001 0000 是如何转换成整数的,为什么左边显示是二进制码转换成有符号整数-28400,二进制如何转换成 有符号整数-28400我知道,但是为什么显示左边 -28400  。 VW200是如何得到的,9110是整数? 这个指令在实际工作中的例子有哪些?    在哪里有没有比较基础详细的讲解材料?

图片说明:

BCD码转换成整数指令    请教大神,我又来提问了   

最佳答案

1、先解释 IW0 为2#1001 0001 0001 0000,左边为什么显示是 -28400;
这个16位的二进制码的最左边的位是它的最高位,如果将这串码看成无符号整数,则最高位为符号位;
当此位为 0 时表示此数是正数,而当此位为 1 时表示此数是一个负数,负数在PLC系统中都是用补码来表示的的;
正整数,直接用二进制和种位乘以位权并相加换算就可以得到其真实的值。
负整数是用补码表示的,其表示的负整数的大小要用下面的方法换算才能得到:
A   先将 IW0  2#1001 0001 0001 0000 按位取反
B   按位取反的结果 +1
C   将得到的二进制码的各位*其位权并相加得到一个十进制数
D   将得到的十进制数的最前面加上负号;

以  2#1001 0001 0001 0000 为例
A   取反
得  2#0110 1110  1110 1111
B   加 1
得  2#0110  1110  1111 0000
C   将上一行的二进制码转换成十进制,则为 28400;
D   加上负号则为 -28400;
2、
BCD 码没有符号位的概念,是每四位二进制码表示一个BCD码,而且对每四位二进制码的取值范围也有要求,范围就是 0000  到1001,即十进制的 0-9。
转换就和 WWCWWC大侠说的方法一样,在此不多解释。
3、在S7-200中,字节、字、双字都可以按照无符号、有符号整数来查看,也可以用二进制、十六进制查看,用状态表比较方便。
4、参考资料
http://www.ad.siemens.com.cn/productportal/Prods/s7-200-portal/MicroPower2013/s7-200/programming/basic/data_format.htm
5、请加强一下数制方面的知识,网上资料很多,动手转换一下,加深理解。

提问者对于答案的评价:
OK ,谢谢啦,我先从比较基础的看起

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

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

相关推荐

  • 怎么用DB做数据及数据快的备份?

    实现参数修改,复位的功能。 最佳答案 DB是可以实现参数修改,和复位功能的。实现参数修改,你可以在程序建一个DB1,参数修改用w,复位用位表示的方法DB1.DBW0开关量:DB1.…

    SIMATIC S7-200 2017年11月16日
  • 24小时延时控制

    我用S7-226控制两台水泵,要求24小时轮流起停,一台工作24小时后,停下,启动另一台,如此循环.请问,这个时间怎么控制呢? 最佳答案 可采用取实时时钟进行判断。使用 …

    SIMATIC S7-200 2020年11月1日
  • 这种正向累计流量,用200 smart 的MODBUSRTU如何读?怎么设置

    求大神教教我 图片说明:       钻石用户推荐最佳答案 1、正向累积值是64位的长整;2、西门子SMART200最长数据长度是32位;3…

    2021年7月5日
  • S7200 PID

    请教各位专家:        比如说我用的0~10V对应0~50度的传感器,做了个PID去控制一个电…

    SIMATIC S7-200 2021年7月5日
  • EM231 检查电压 及其上拉电阻问题

    语言表达能力有限,各位大神直接看图吧 图片说明:    最佳答案 没有必要加上拉电阻,周围有打铁的,你要处理好信号线,最好使用电流信号,影响不大 提问者对于答案…

    2020年10月31日
  • PC与S7200通讯的问题

    1)比如PLC内的已灌好程序,接通物理触点I0.0,步进电机运转1000个脉冲。这是比较容易实现的。2)那如何在PC机内发出类似于触点I0.0的命令? 问题补充:PC与S7200之…

    SIMATIC S7-200 2020年10月31日
  • Step符号表导入Wincc的问题请教

    最佳答案 1、 从WinCC里调用STEP 7 变量的前提条件 从WinCC里调用STEP 7 变量可以将建立变量的工作…

    SIMATIC S7-200 2021年7月5日
  • 请教告诉计数器的问题

    我现在把编码器接入s7-200 CPU224,用PLC读他的脉冲,我用向导用HC0的0模式,但具体有多少脉冲,我怎么可以在程序上面监控到。应该怎么做?初学者,请见谅。请教…

    SIMATIC S7-200 2021年7月5日
  • 317 sf故障求答案

    一套317系统带ET200M从站,开机时CPU报警SF故障,HMI部分模拟量不现示。因无原程序且与现有电脑TIA版本不一样所以不能上载程序,在线诊断CPU提示下位组件故障&nbsp…

    SIMATIC S7-200 2021年7月5日
  • S7-200编程软件在站上是哪个?免费的吗?

    我是新手,站上关于s7-200的编程软件很多,请问到底下载那款合适?免费的吗? 最佳答案 STEP 7-Micro/WIN V4.0 SP3&nbsp…

    SIMATIC S7-200 2021年7月4日

发表回复

登录后才能评论