您现在所在的是:

台达论坛

回帖:13个,阅读:17227 [上一页] [1] [2] [下一页]
779
404513201
文章数:54
年度积分:50
历史总积分:779
品牌积分(台达):23
注册时间:2018/6/24
发站内信
发表于:2018/7/4 20:00:55
#0楼
附件 09J4}8XU}FD(@Q%54MJDS7G.jpg

附件 1)()N【】919`11HL@NTORBUY.jpg



现在正在学习台达PLC,早两晚仿真发现 :使用 DFLT 指令把整数转换成浮点数后,再DEMUL指令浮点乘法计算,再转换回整数。结果后面两位与正确值有差距。
看图。

跟着我下载到台达 DVP24ES00R2上实测,在电脑上监控,结果还是一样。
19410
PLC-hmi
文章数:7448
年度积分:128
历史总积分:19410
品牌积分(台达):34
注册时间:2010/8/19
发站内信
2018论坛热心网友
发表于:2018/7/4 20:54:02
#1楼
大部分plc浮点是小数点后面6位
此帖发自论坛手机版
5613
yeyecun
文章数:929
年度积分:50
历史总积分:5613
品牌积分(台达):0
注册时间:2011/9/20
发站内信
发表于:2018/7/4 21:15:05
#2楼
你是用浮点数监控的吗?
779
404513201
文章数:54
年度积分:50
历史总积分:779
品牌积分(台达):23
注册时间:2018/6/24
发站内信
发表于:2018/7/4 21:35:44
#3楼
以下是引用yeyecun2018/7/4 21:15:05的发言:
你是用浮点数监控的吗?
我点那个梯形图监控
此帖发自手机工控论坛
779
404513201
文章数:54
年度积分:50
历史总积分:779
品牌积分(台达):23
注册时间:2018/6/24
发站内信
发表于:2018/7/4 21:37:13
#4楼
以下是引用PLC-hmi2018/7/4 20:54:02的发言:
大部分plc浮点是小数点后面6位
我这几个计算测试都没用到小数
此帖发自手机工控论坛
37812
cvlsam 版主
文章数:12460
年度积分:423
历史总积分:37812
品牌积分(台达):43
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2018/7/5 10:13:43
#5楼
以下是引用4045132012018/7/4 20:00:55的发言:
附件 09J4}8XU}FD(@Q%54MJDS7G.jpg

附件 1)()N【】919`11HL@NTORBUY.jpg



现在正在学习台达PLC,早两晚仿真发现 :使用 DFLT 指令把整数转换成浮点数后,再DEMUL指令浮点乘法计算,再转换回整数。结果后面两位与正确值有差距。
看图。

跟着我下载到台达 DVP24ES00R2上实测,在电脑上监控,结果还是一样。


附件 snap4.jpg

正如你看到的一样,台达的确存在这个情况。

这个情况在号称使用软PLC系统的富士上也存在。





附件 snap6.jpg

同样,在西门子上也如此。



附件 snap5.jpg

我相信,在其他PLC品牌上也存在。

这是由于PLC使用的浮点数标准为IEEE754标准,其有效值为小数点后6位,因此对于尾数,其采用逼近的方式。

而在PC上,他们并不采用IEEE754,因此能真实地反映正确的值。




附件 snap3.jpg

这不是台达的Bug,而是标准就是这样。

Good Luck~
8018
蜀中之首
文章数:5230
年度积分:50
历史总积分:8018
品牌积分(台达):76
注册时间:2018/5/27
发站内信
发表于:2018/7/5 13:00:54
#6楼
或是程序有漏洞,或是你实验的PLC就这样
我用OMRON的实验
A=0000-9999
B=0000-9999
C=A*B
即BCD运算
或A=0000-FFFF
B=0000-FFFF
C=A*B
即BIN运算
没有实验小数,都没问题
37812
cvlsam 版主
文章数:12460
年度积分:423
历史总积分:37812
品牌积分(台达):43
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2018/7/5 13:43:06
#7楼
以下是引用蜀中之首2018/7/5 13:00:54的发言:
或是程序有漏洞,或是你实验的PLC就这样
我用OMRON的实验
A=0000-9999
B=0000-9999
C=A*B
即BCD运算
或A=0000-FFFF
B=0000-FFFF
C=A*B
即BIN运算
没有实验小数,都没问题

如果帖子看不懂的请不要回帖!!!!

欧姆龙的来了,你或许可以说还有XXXX品牌的不是这样,那么就请照着楼主的程序去试验一下。

附件 snap7.jpg
8371
fujifa
文章数:2941
年度积分:57
历史总积分:8371
品牌积分(台达):2
注册时间:2014/2/10
发站内信
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
发表于:2018/7/5 13:51:22
#8楼
以下是引用蜀中之首2018/7/5 13:00:54的发言:
或是程序有漏洞,或是你实验的PLC就这样
我用OMRON的实验
A=0000-9999
B=0000-9999
C=A*B
即BCD运算
或A=0000-FFFF
B=0000-FFFF
C=A*B
即BIN运算
没有实验小数,都没问题

人家问浮点数,你来个没有实验小数?

上面人家说IEEE754浮点数的有效位造成的……
[此贴子已经被jint于2018/7/5 13:53:04编辑过]
8018
蜀中之首
文章数:5230
年度积分:50
历史总积分:8018
品牌积分(台达):76
注册时间:2018/5/27
发站内信
发表于:2018/7/5 22:43:42
#9楼
“现在正在学习台达PLC,早两晚仿真发现 :使用 DFLT 指令把整数转换成浮点数后,再DEMUL指令浮点乘法计算,再转换回整数。结果后面两位与正确值有差距。”

“我这几个计算测试都没用到小数”

这是楼主发出的信息
整数变浮点,再做乘法,结果再转换回整数,没做小数计算(整数也没小数呀)

我做了4位数的,只是没提整-浮-整的操作,就遭到嘚啵,好可笑。

来看楼主的数据
2.(应版主要求,先看试验2)

附件 untitled1.jpg

32767*3007=983239369
没看错吧,是10进制(BCD)计算。

附件 untitled2.jpg
附件 untitled3.jpg
附件 untitled4.jpg
附件 untitled5.jpg
是不是与计算器结果一致。

1,再看试验一
附件 untitled6.jpg
32767*12343=404443081
附件 untitled7.jpg
附件 untitled8.jpg
结果一样嘛

再看一个4020*23481=94393620
附件 untitled9.jpg

BCD:94393620

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

109.2007