zz2679493
三十而立
级别: 略有小成
精华主题: 0
发帖数量: 290 个
工控威望: 457 点
下载积分: 14881 分
在线时间: 272(小时)
注册时间: 2014-06-08
最后登录: 2023-11-24
查看zz2679493的 主题 / 回贴
楼主  发表于: 2018-11-14 19:53
有没有什么好办法,把红框里面的数据转移到双字数据寄存器,我想的土办法用K1000,K100相乘相加

枫落云端
施主,脚抬一下
级别: 略有小成

精华主题: 0
发帖数量: 341 个
工控威望: 465 点
下载积分: 1547 分
在线时间: 414(小时)
注册时间: 2017-10-10
最后登录: 2024-11-26
查看枫落云端的 主题 / 回贴
1楼  发表于: 2018-11-15 10:52
字符型全在低位,先把D104到D112的低位字符用BTOW 变成连续的字符串型的数字,再用字符转浮点数指令EVAL转成浮点数11.9522
枫落云端
施主,脚抬一下
级别: 略有小成

精华主题: 0
发帖数量: 341 个
工控威望: 465 点
下载积分: 1547 分
在线时间: 414(小时)
注册时间: 2017-10-10
最后登录: 2024-11-26
查看枫落云端的 主题 / 回贴
2楼  发表于: 2018-11-17 09:58
图片:
根据楼主图片上的数据模拟了一份,完全可以得出正确的浮点数。上图为证。另外多一句,EVAL可以连带符号一起给转成正确的浮点数。比如字符串为"-011.952"
枫落云端
施主,脚抬一下
级别: 略有小成

精华主题: 0
发帖数量: 341 个
工控威望: 465 点
下载积分: 1547 分
在线时间: 414(小时)
注册时间: 2017-10-10
最后登录: 2024-11-26
查看枫落云端的 主题 / 回贴
3楼  发表于: 2018-11-17 10:02
图片:
字符串负数情况下转为浮点数
枫落云端
施主,脚抬一下
级别: 略有小成

精华主题: 0
发帖数量: 341 个
工控威望: 465 点
下载积分: 1547 分
在线时间: 414(小时)
注册时间: 2017-10-10
最后登录: 2024-11-26
查看枫落云端的 主题 / 回贴
4楼  发表于: 2018-11-19 10:37
EVAL指令因为是对字符操作,所以使用的时候一定要特别注意。EVAL所取的寄存器不能为空值,也不能是非正常数字表达方式的字符,比如出现ABCDEFG等一些不是数字字符的数据。不然CPU必定会报错
枫落云端
施主,脚抬一下
级别: 略有小成

精华主题: 0
发帖数量: 341 个
工控威望: 465 点
下载积分: 1547 分
在线时间: 414(小时)
注册时间: 2017-10-10
最后登录: 2024-11-26
查看枫落云端的 主题 / 回贴
5楼  发表于: 2018-11-19 14:26
以为你使用的是Q系列的PLC。原来是FX3 系列