hblovetian
新手,望各位大哥大姐指点。
级别: 略有小成
精华主题: 0
发帖数量: 242 个
工控威望: 492 点
下载积分: 6069 分
在线时间: 142(小时)
注册时间: 2010-11-04
最后登录: 2024-09-16
查看hblovetian的 主题 / 回贴
楼主  发表于: 2017-03-29 22:27
宏指令中怎么取一个字符的前几位,后几位,和中间几位。如'0123456789'怎么取12345,12345678,6789。怎么编写宏指令,谢谢。
希望各位多多指点。谢谢!
hblovetian
新手,望各位大哥大姐指点。
级别: 略有小成
精华主题: 0
发帖数量: 242 个
工控威望: 492 点
下载积分: 6069 分
在线时间: 142(小时)
注册时间: 2010-11-04
最后登录: 2024-09-16
查看hblovetian的 主题 / 回贴
1楼  发表于: 2017-03-30 10:57
引用
引用第1楼xwk0711于2017-03-30 10:45发表的  :
在说明书里面找类似能实现这样功能的指令,自己再摸索

都看了几遍手册了,没有能实现的函数,望指点
希望各位多多指点。谢谢!
hblovetian
新手,望各位大哥大姐指点。
级别: 略有小成
精华主题: 0
发帖数量: 242 个
工控威望: 492 点
下载积分: 6069 分
在线时间: 142(小时)
注册时间: 2010-11-04
最后登录: 2024-09-16
查看hblovetian的 主题 / 回贴
2楼  发表于: 2017-03-30 17:50
引用
引用第6楼lixianji_007于2017-03-30 14:28发表的  :
这个是字符串截取,不是浮点数的截取,如果要10进制数的截取的话可以用算术运算解决,如数据是123456,要取前4位的话就除以100,取商;如要取后4位的话就用减法;也可用逻辑运算和算术运算配合的方法实现。

就是要这样的效果,谢谢。我这个是和电子秤通讯读里面的数据,数据全是ASCII码。比如现在称显示净重500KG,接收的数据就是wn500.000kg,然后我就是想取500.00进行加减运算。不知取出的ASCI码直接不转换能按照10进制的方式运算吗?比如第一次是500(ASCII码),第二次700(ASCII码),可以直接700-500=200,得出第二次加了200kg的东西吗?因为用的自由口通讯,用INPUT接收的数据第一位(起始位)和第十位(停止位)都在里面,,每次发送读取数据,接收的数据都比上一次错2个位置。
希望各位多多指点。谢谢!