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

相关推荐

  • CPU224CN可以替代如下型号的CPU吗

    旧型号:6ES7 214-2AD21-0XB0 请问CPU224CN可以替代吗,程序是否通用?谢谢! 最佳答案 CPU22x的版本21和22有什么区别?&nbs…

    SIMATIC S7-200 2021年7月5日
  • 西门子模块的产品咨询

    6ES72320HB220XA86ES72320HB220XA0      这2个型号 我查了官网的资料&nb…

    SIMATIC S7-200 2021年7月5日
  • s7 226两个串同时工作的疑问

    请问:一个226 的CPU 两个串口能同时工作吗?一个CPU两个串口能同时设置不同的通讯协议(比如PPI、modbus、PROFIBUS)或者相同的通讯协议与两…

    SIMATIC S7-200 2021年7月5日
  • 初学者如何看S7-200的程序

    初学者如何看S7-200的程序 最佳答案 1、通读系统手册,这是第一步; 2、看别人的程序,起码控制方面的识知和写程序的人相当或高出,才能理解程序所要达到的目的,否则光是…

    SIMATIC S7-200 2021年7月5日
  • S7-200自由口问题

    我有2套S7-200的PLC之间实现数据传输,大约要32BYTE,我觉得应该用自由口通讯,不知道程序怎么编,请教一下怎么做,如果能帮我做一个最好了,我的邮箱weizhi.xu@16…

    SIMATIC S7-200 2020年11月1日
  • S7-200输出点如何间接寻址

    想做电机按照启动次数多少轮换启动的程序,次序已经排出来了。现在要做的就是按照次序由少到多间接寻址启动相应电机。问题想用置位指令的时候,系统不支持间接寻址的方式,那应该怎么间接寻址输…

    SIMATIC S7-200 2020年10月31日
  • 毕业新手,请高手推荐点西门子书籍入门

    毕业新手,大学学的S7-200,基础不好,现在工作接触200smart.300和1200请高手推荐点西门子书籍入门,我应该先学习哪个,怎么能早点掌握。 最佳答案 1、看西门子的视频…

    SIMATIC S7-200 2021年7月5日
  • CPU 226CN的程序拷贝到CPU 226后不能正常使用,求原因。

    将226CN程序上传到电脑,再从电脑的程序下载到226。同样两台设备,226 PLC却出现一些无法使用的局面(226的程序可正常使用),那么:1,PLC会不会买到次品才出…

    2021年7月5日
  • EM253回零模式

    EM253回零模式使用普通的光电开关+伺服电机的Z相精确定位零点,一般要使用哪种回零模式呢?另外普通的光电开关时用常闭还是常开接到RPS端呢?伺服电机的Z相就是直接从伺服驱动器的Z…

    SIMATIC S7-200 2020年10月31日
  • 运动案例

    我照“S7-200可编程控制器系统手册”第285页1案例,做简单步进控制,怎么电机老不转呢?程序是按书本一模一样的做的。请各路高人指点!(我的PLC是CPU-222和1个EM253…

    SIMATIC S7-200 2021年7月4日