• «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
lander
级别: 探索解密
精华主题: 0
发帖数量: 109 个
工控威望: 148 点
下载积分: 762 分
在线时间: 39(小时)
注册时间: 2021-02-20
最后登录: 2024-11-11
查看lander的 主题 / 回贴
楼主  发表于: 2023-03-11 08:43
我请教一个问题,我这边需要把INT (有符号的整数 -32768----32767)转换成WORD(0-65535),编一个子程序也可以,如何操作?
圆又圆
级别: 探索解密
精华主题: 0
发帖数量: 23 个
工控威望: 102 点
下载积分: 1220 分
在线时间: 25(小时)
注册时间: 2022-05-06
最后登录: 2024-09-06
查看圆又圆的 主题 / 回贴
1楼  发表于: 2023-03-11 09:01
可以试试转成ascii,再转成十六进制
lander
级别: 探索解密
精华主题: 0
发帖数量: 109 个
工控威望: 148 点
下载积分: 762 分
在线时间: 39(小时)
注册时间: 2021-02-20
最后登录: 2024-11-11
查看lander的 主题 / 回贴
2楼  发表于: 2023-03-11 10:28
引用
引用第1楼圆又圆于2023-03-11 09:01发表的  :
可以试试转成ascii,再转成十六进制

请具体指导一下,谢谢。
lander
级别: 探索解密
精华主题: 0
发帖数量: 109 个
工控威望: 148 点
下载积分: 762 分
在线时间: 39(小时)
注册时间: 2021-02-20
最后登录: 2024-11-11
查看lander的 主题 / 回贴
3楼  发表于: 2023-03-11 10:47
我其实是在做一个modbus RTU 通讯,写入只能是一个16位的数,我输入是实数,然后我转换成整数,当我输入超过32767是,它就变负了,(-32768---+32767),然后这个负数写进去,设备就不认识了,所以我想问问如何才能写进去变成0-65535,而不是-32768-+32767  ,普通的整数VW  好像不能大于32767,大了就变负数。
hstec2002
级别: 论坛先锋
精华主题: 0
发帖数量: 489 个
工控威望: 1892 点
下载积分: 8465 分
在线时间: 680(小时)
注册时间: 2021-05-05
最后登录: 2024-12-20
查看hstec2002的 主题 / 回贴
4楼  发表于: 2023-03-11 10:56
大门进不去就跳窗门吧,或者把与什么通讯的协议上传看看。
QQ: 2845452345
lander
级别: 探索解密
精华主题: 0
发帖数量: 109 个
工控威望: 148 点
下载积分: 762 分
在线时间: 39(小时)
注册时间: 2021-02-20
最后登录: 2024-11-11
查看lander的 主题 / 回贴
5楼  发表于: 2023-03-11 11:06
这是通讯协议,我需要读和写
lander
级别: 探索解密
精华主题: 0
发帖数量: 109 个
工控威望: 148 点
下载积分: 762 分
在线时间: 39(小时)
注册时间: 2021-02-20
最后登录: 2024-11-11
查看lander的 主题 / 回贴
6楼  发表于: 2023-03-11 11:10
引用
引用第5楼lander于2023-03-11 11:06发表的  :
这是通讯协议,我需要读和写
附件: CS系列产品研华MODBUS协议1.1.pdf (235 K) 下载次数:48
网站提示: 请不要用迅雷下载附件,容易出错
圆又圆
级别: 探索解密
精华主题: 0
发帖数量: 23 个
工控威望: 102 点
下载积分: 1220 分
在线时间: 25(小时)
注册时间: 2022-05-06
最后登录: 2024-09-06
查看圆又圆的 主题 / 回贴
7楼  发表于: 2023-03-11 11:12
引用
引用第3楼lander于2023-03-11 10:47发表的  :
我其实是在做一个modbus RTU 通讯,写入只能是一个16位的数,我输入是实数,然后我转换成整数,当我输入超过32767是,它就变负了,(-32768---+32767),然后这个负数写进去,设备就不认识了,所以我想问问如何才能写进去变成0-65535,而不是-32768-+32767  ,普通的整数VW  好像不能大于32767,大了就变负数。


看看200smart的转换指令就可以了。可以直接将你的实数转成ascii,再转成十六进制
hstec2002
级别: 论坛先锋
精华主题: 0
发帖数量: 489 个
工控威望: 1892 点
下载积分: 8465 分
在线时间: 680(小时)
注册时间: 2021-05-05
最后登录: 2024-12-20
查看hstec2002的 主题 / 回贴
8楼  发表于: 2023-03-11 11:23
直接十六进制读写不香?
QQ: 2845452345
lander
级别: 探索解密
精华主题: 0
发帖数量: 109 个
工控威望: 148 点
下载积分: 762 分
在线时间: 39(小时)
注册时间: 2021-02-20
最后登录: 2024-11-11
查看lander的 主题 / 回贴
9楼  发表于: 2023-03-11 11:28
引用
引用第8楼hstec2002于2023-03-11 11:23发表的  :
直接十六进制读写不香?

因为我要在触摸屏上设置10进制数,比如200ML,我不能直接设置一个16进制,那样他们看不懂
lander
级别: 探索解密
精华主题: 0
发帖数量: 109 个
工控威望: 148 点
下载积分: 762 分
在线时间: 39(小时)
注册时间: 2021-02-20
最后登录: 2024-11-11
查看lander的 主题 / 回贴
10楼  发表于: 2023-03-13 21:52
还是没搞出来,困惑了。
bdmogui
级别: 略有小成
精华主题: 0
发帖数量: 173 个
工控威望: 297 点
下载积分: 1151 分
在线时间: 601(小时)
注册时间: 2013-10-12
最后登录: 2024-12-20
查看bdmogui的 主题 / 回贴
11楼  发表于: 2023-03-14 08:36
可能不太明白你要表达的意思,VW既可以是INT也可是WORD,可以试试符号变量,不要用绝对地址
  • «
  • 1
  • 2
  • »
  • Pages: 1/2     Go