wxiang333
为什么两个VD432 的数据一样?造成溢出
请问NAN是什么意思?
wyb2866255---王者之师
1、你在网络1中将AIW2转换为实数->VD432(见第一行)此时VD432的数已转换为带小数点的实数形式。接着进行的减法运算应选实数的减法指令(即SUB_R),而你选用的整数减法(即:SUB,见网络1的第二行),此时的被减数VD432是以整数形式出现,故造成溢出。
2、网络2中的NAN是局部变量的代号,其在局部变量里的地址为:LD4
柳红岩
虽然不是很懂西门子,应该理解的出AIW2外部输入数据经过两次变换已经整定为R实数。
sub mul div这些指令应该是对实数操作。
对应的指令是不是应该SUB_R,MUL_R,DIV_R这类实数运行指令?
将外部数据变换为自己享用的数据不是现在有通用的指令库了?不用这么麻烦了。
邵-王者之师
在PLC中,浮点数是有专门的运算指令的。什么数据格式就要用什么指令的。
西门子还好,浮点数,16进制,10进制,2进制。欧姆龙还有BCD呢。。。
所以要用正确的指令
回复内容:
对: wyb2866255---王者之师 1、你在网络1中将AIW2转换为实数->VD43... 内容的回复!
谢谢, 根据你的思路,完成任务
NAN是不是一个数Not A Number的意思,就是%LD0中存放的数据不符合实数的格式或者出现0/0的现象
ntplc2017
对于图一,把程序中的第一行AIW2 转换成实数也就是浮点数,第二行你用的减法却是整数形式 所以溢出。你应该用浮点数减法。
对于图二中NAN是无效浮点数.你前面的LD0不是浮点