S7-200怎么把一个字的值大于32767的数转换成实数后为正数

通过modbus采集的通信仪表的值,仪表显示值为3303.0,PLC采集后,监控PLC地址的值,若干是有符号去监视VW8显示为-32506,用无符号去监视VW8显示为33030,通过换算到实数VD20后监视的值为-3250.6,另外可以肯定的是通信地址仪表用的是40001这个字的值。问题是怎样把采集过来的值用无符号的值去转换成实数,而不是用有符号的值去转换成实数!

图片说明:

S7-200怎么把一个字的值大于32767的数转换成实数后为正数    S7-200怎么把一个字的值大于32767的数转换成实数后为正数   

最佳答案

本人经常采用的方法:
1、将n地址置为0,如VW0为0,将PLC采集后数值存放在n+2地址中,例如VW2中。这样取VD0(VW0与VW2)中就是一个有符号的双字长的数值(实际上VW0为0,永远保证为正数),但对于低字VW2中数值可视为无符号的数值。
2、再应用双字整数转实数指令DTR指令,转换为实数。

提问者对于答案的评价:
谢谢!这方法确实不错!32个赞

专家置评

已阅,最佳答案正确。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年8月18日 下午10:35
下一篇 2017年8月18日 下午10:35

相关推荐

  • BCC 检验 CRC校验 奇偶校验区别?

    BCC 检验 CRC校验 奇偶校验有何区别? 最佳答案 BCC是 BLOCK CHECK CODE 的缩写,S…

    SIMATIC S7-200 2021年7月5日
  • S7-200向导PID值在HMI中怎么设定

    我用向导完成PID后,在HMI中设定P、I、D值的地址是否为符号表中的PID0_Gain、PID0_I_Time、PID0_D_Time 最佳答案 我用向导完成PID后,在HMI中…

    SIMATIC S7-200 2020年11月1日
  • CN s7-200

    师傅们你好   S7-200 CN6ES7222-1HF22-0XA8可以代替6ES7222-1HF00-0XA0 的吗&nbsp…

    2021年7月5日
  • 利用s7-200做智能路灯控制系统

    题目:利用s7-200达到一个让路灯在5月15日到10月15日期间,18:00亮灯次日07:00熄灯;在10月16日到次年5月14日期间,20:00亮灯次日06:00熄灯 问题补充…

    2017年5月31日
  • 200PLC 浮点数计算能不能用常数

    200PLC 浮点数计算为什么不能用常数,以k开头也不行,编译时提示错误。 图片说明:    最佳答案 K100及K1000是整型数。必须改成实数,楼…

    2018年12月9日
  • S7-200做流量累加程序

    如题,使用50ms中断,瞬时流量/72000,然后进行实数累加。出现意外,因为瞬时值太小,导致累计值与瞬时值相加时基本忽略了瞬时值。换思路,改为瞬时流量相加,结果/72000,问题…

    SIMATIC S7-200 2017年11月6日
  • 什么是轮询?

    用modbus控制多台变频器读写,比如10台变频器都读写,大家总说轮询,到底怎么询的,是把每台变频器依次读一遍然后再写一遍,如此反复,还是对于每台变频器都是读写,然后下一台读写,反…

    SIMATIC S7-200 2017年11月1日
  • EM235中有四个模拟量输入,一个模拟量输出

    请问如果右下角的DIP开关设的是双极性±2.5V,那所有四个输入与输出都必须是2.5V电压信号吗?可不可以接电流信号?如4~20MA? 问题补充:再补充另外一个问题,就是输出可以是…

    SIMATIC S7-200 2020年11月1日
  • ET200的电子手册

    师傅们你好  有ET200的电子手册的地址或链接吗   亲请提供一下  谢谢 最佳答案 SIMATIC&nbs…

    2021年7月5日
  • STEP 7 – MicroWIN V4.0 SP6

    我STEP 7 – MicroWIN V4.0 SP6软件突然打不开了,不知删了什么文件,双击图标没反应,各位大神帮看看。 最佳答…

    SIMATIC S7-200 2017年6月1日