S7-200 数据格式 - 在线等 点击:362 | 回复:6



wxiang333

    
  • 精华:0帖
  • 求助:1帖
  • 帖子:20帖 | 98回
  • 年度积分:64
  • 历史总积分:11731
  • 注册:2013年10月30日
发表于:2014-03-06 11:22:51
楼主


为什么两个VD432 的数据一样?造成溢出




请问NAN是什么意思?




wyb2866255---王者之师

  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2014-03-06 13:44:37
1楼

  1、你在网络1中将AIW2转换为实数->VD432(见第一行)此时VD432的数已转换为带小数点的实数形式。接着进行的减法运算应选实数的减法指令(即SUB_R),而你选用的整数减法(即:SUB,见网络1的第二行),此时的被减数VD432是以整数形式出现,故造成溢出。

 2、网络2中的NAN是局部变量的代号,其在局部变量里的地址为:LD4

柳红岩

  • 精华:1帖
  • 求助:7帖
  • 帖子:16帖 | 664回
  • 年度积分:841
  • 历史总积分:16817
  • 注册:2009年8月05日
发表于:2014-03-06 14:24:19
2楼

虽然不是很懂西门子,应该理解的出AIW2外部输入数据经过两次变换已经整定为R实数。

sub mul div这些指令应该是对实数操作。

对应的指令是不是应该SUB_R,MUL_R,DIV_R这类实数运行指令?

 

将外部数据变换为自己享用的数据不是现在有通用的指令库了?不用这么麻烦了。

邵-王者之师

  • 精华:1帖
  • 求助:39帖
  • 帖子:81帖 | 861回
  • 年度积分:0
  • 历史总积分:2844
  • 注册:2011年3月24日
发表于:2014-03-07 00:00:49
3楼

在PLC中,浮点数是有专门的运算指令的。什么数据格式就要用什么指令的。

西门子还好,浮点数,16进制,10进制,2进制。欧姆龙还有BCD呢。。。

所以要用正确的指令

wxiang333

  • 精华:0帖
  • 求助:1帖
  • 帖子:20帖 | 98回
  • 年度积分:64
  • 历史总积分:11731
  • 注册:2013年10月30日
发表于:2014-03-10 08:55:56
4楼

回复内容:

对: wyb2866255---王者之师    1、你在网络1中将AIW2转换为实数->VD43... 内容的回复!

谢谢, 根据你的思路,完成任务

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 455回
  • 年度积分:0
  • 历史总积分:1000
  • 注册:2008年1月09日
发表于:2014-03-10 10:49:40
5楼

NAN是不是一个数Not A Number的意思,就是%LD0中存放的数据不符合实数的格式或者出现0/0的现象

ntplc2017

  • 精华:0帖
  • 求助:0帖
  • 帖子:38帖 | 375回
  • 年度积分:0
  • 历史总积分:685
  • 注册:2018年5月11日
发表于:2018-10-18 10:47:34
6楼

对于图一,把程序中的第一行AIW2 转换成实数也就是浮点数,第二行你用的减法却是整数形式 所以溢出。你应该用浮点数减法。

对于图二中NAN是无效浮点数.你前面的LD0不是浮点


热门招聘
相关主题

官方公众号

智造工程师