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日

相关推荐

  • 编码器计数测转

    各位大侠:有一小项目需要编码器检测设备转速,编码器是单方向每转24个脉冲。PLC选用S7224,请问编码器那种?怎样接线,S7224最多能检测几路设备的转速?木是菜鸟,有例程否。l…

    2017年10月24日
  • S7-200小程序

    有个旋钮接了X0,X1两个常开点,位置离得很近,如果顺时针旋转先接通X0再接通X1,那么就执行结果加1,如果逆时针旋转即先接通X1,后接通X0,那么执行结果就减1,怎么做可靠? 最…

    2021年7月5日
  • 传感器故障分析

    现在有一个温湿度传感器,接入到EM 231中,那么如果传感器出现故障比如传感器损坏没有电压或者电流,或者测得的数据不准确虽然有电压或电流信号,或者传感器突然故障,即上一个…

    SIMATIC S7-200 2020年10月31日
  • S7-200的下载问题

    为什么我用STEP 7-Micro/WINSP9下载程序的时候显示违反内部规则? 图片说明:    最佳答案 联机之后点击“PLC”–“清除”。把P…

    2020年10月31日
  • PLC200的MAP库指令的疑问

    我装了MAP库后第一次使用相关指令,资料也已看过,但有几个疑问。1、假如我把各库功能块的EN断开,若运动还没有结束,那么是不是就立即停止运动?比如Q0.0_MoveRelative…

    SIMATIC S7-200 2021年7月5日
  • 请问TD400C要多少钱啊?

    请问TD400C要多少钱啊? 最佳答案 不知道你是什么地方的,我们这边一台670左右。 提问者对于答案的评价:谢谢

    SIMATIC S7-200 2020年11月1日
  • S7-200 CPU 指示灯

    S7-200 CPU 3个指示灯同时闪烁 是什么故障,此故障是什么原因造成的? 最佳答案 看能通信的上不,如果通信不上,那就是百分百的硬件故障,建议返…

    SIMATIC S7-200 2017年11月19日
  • 多台设备按时间轮换 每次根据压力不同启动数量不同

    做一个联动控制  有20台设备  每次启动的数量不定  是根据温度来的客户要求运行时能自动调节 并切换运行时间…

    SIMATIC S7-200 2020年10月31日
  • 脉冲控制变频用法

    S7-200 PTO脉冲控制安川变频的程序 问题补充:1)PTO向导完成后,怎么使用子程序PTO0_CTRL\PTO1_LDPOS   2)在PTO向…

    SIMATIC S7-200 2021年7月5日
  • 如何用PLC在TD400C上实现倒计时显示?

    我想设计一个倒计时显示程序,不知道用什么方法编。 最佳答案 首先用时钟指令读出PLC的时间,再把设顶的时间减去当前的系统时间不就就可以吗? 提问者对于答案的评价:非常感谢!

    SIMATIC S7-200 2021年7月5日