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

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

精华主题: 0
发帖数量: 341 个
工控威望: 465 点
下载积分: 1590 分
在线时间: 408(小时)
注册时间: 2017-10-10
最后登录: 2024-04-19
查看枫落云端的 主题 / 回贴
1楼  发表于: 2018-11-15 10:52
字符型全在低位,先把D104到D112的低位字符用BTOW 变成连续的字符串型的数字,再用字符转浮点数指令EVAL转成浮点数11.9522
tkggtdkjpl
工欲善其事,必先利其器!
级别: 网络英雄

精华主题: 1 篇
发帖数量: 3412 个
工控威望: 20948 点
下载积分: 20426 分
在线时间: 1700(小时)
注册时间: 2010-01-03
最后登录: 2024-04-20
查看tkggtdkjpl的 主题 / 回贴
2楼  发表于: 2018-11-15 18:09
要先判断是正是负,是不是0,排除后在处理!
自动化单机,生产线,项目编程调试!
zz2679493
三十而立
级别: 略有小成
精华主题: 0
发帖数量: 290 个
工控威望: 457 点
下载积分: 14881 分
在线时间: 272(小时)
注册时间: 2014-06-08
最后登录: 2023-11-24
查看zz2679493的 主题 / 回贴
3楼  发表于: 2018-11-16 11:12
一楼的方法试了一下,EVAL转之后,后面的数据一直为零,可能没试对,我再试试,感谢提供思路
zz2679493
三十而立
级别: 略有小成
精华主题: 0
发帖数量: 290 个
工控威望: 457 点
下载积分: 14881 分
在线时间: 272(小时)
注册时间: 2014-06-08
最后登录: 2023-11-24
查看zz2679493的 主题 / 回贴
4楼  发表于: 2018-11-16 11:13
这个数据没有负数
菜鸟入行
级别: 论坛先锋

精华主题: 0
发帖数量: 1376 个
工控威望: 1552 点
下载积分: 3670 分
在线时间: 176(小时)
注册时间: 2017-09-01
最后登录: 2024-04-02
查看菜鸟入行的 主题 / 回贴
5楼  发表于: 2018-11-16 11:22
D1 是16位的

MUL D1 K1 D10  后,变32位的
打个酱油,懂的不多
水平有限,能帮则帮
互相帮助,共同进步
枫落云端
施主,脚抬一下
级别: 略有小成

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

精华主题: 0
发帖数量: 341 个
工控威望: 465 点
下载积分: 1590 分
在线时间: 408(小时)
注册时间: 2017-10-10
最后登录: 2024-04-19
查看枫落云端的 主题 / 回贴
7楼  发表于: 2018-11-17 10:02
图片:
字符串负数情况下转为浮点数
zz2679493
三十而立
级别: 略有小成
精华主题: 0
发帖数量: 290 个
工控威望: 457 点
下载积分: 14881 分
在线时间: 272(小时)
注册时间: 2014-06-08
最后登录: 2023-11-24
查看zz2679493的 主题 / 回贴
8楼  发表于: 2018-11-19 09:03
感谢一楼,我一开始按VAL的格式,怪不得数据一直都为零
刚用EVAL指令也报错,要32位才行,这个我再研究下,十分感谢,这样两个指令就够了,省了一大段基础指令
枫落云端
施主,脚抬一下
级别: 略有小成

精华主题: 0
发帖数量: 341 个
工控威望: 465 点
下载积分: 1590 分
在线时间: 408(小时)
注册时间: 2017-10-10
最后登录: 2024-04-19
查看枫落云端的 主题 / 回贴
9楼  发表于: 2018-11-19 10:37
EVAL指令因为是对字符操作,所以使用的时候一定要特别注意。EVAL所取的寄存器不能为空值,也不能是非正常数字表达方式的字符,比如出现ABCDEFG等一些不是数字字符的数据。不然CPU必定会报错
zz2679493
三十而立
级别: 略有小成
精华主题: 0
发帖数量: 290 个
工控威望: 457 点
下载积分: 14881 分
在线时间: 272(小时)
注册时间: 2014-06-08
最后登录: 2023-11-24
查看zz2679493的 主题 / 回贴
10楼  发表于: 2018-11-19 11:17
指令说明书上对EVAL的介绍里,没有16位的指令,一楼你是怎么打出来的


[upload=2]  
zz2679493
三十而立
级别: 略有小成
精华主题: 0
发帖数量: 290 个
工控威望: 457 点
下载积分: 14881 分
在线时间: 272(小时)
注册时间: 2014-06-08
最后登录: 2023-11-24
查看zz2679493的 主题 / 回贴
11楼  发表于: 2018-11-19 11:18

  • «
  • 1
  • 2
  • »
  • Pages: 1/2     Go