techo
级别: 略有小成
精华主题: 0
发帖数量: 335 个
工控威望: 409 点
下载积分: 1126 分
在线时间: 117(小时)
注册时间: 2010-05-09
最后登录: 2015-11-29
查看techo的 主题 / 回贴
楼主  发表于: 2010-07-09 14:26
我在做工程的时候,需要从模块读数据,读出来的16进制,怎么样才可以转成10进制能,求助各位前辈,谢谢
cvlsam
富士低压,POD(觸摸屏),PLC专卖
级别: VIP会员

精华主题: 3 篇
发帖数量: 6770 个
工控威望: 38371 点
下载积分: 3392 分
在线时间: 9517(小时)
注册时间: 2006-09-13
最后登录: 2024-11-30
查看cvlsam的 主题 / 回贴
1楼  发表于: 2010-07-09 14:35
问题是你用什么去模块上读数据~~PLC,PC高级语言?

那之间的差异大了。
techo
级别: 略有小成
精华主题: 0
发帖数量: 335 个
工控威望: 409 点
下载积分: 1126 分
在线时间: 117(小时)
注册时间: 2010-05-09
最后登录: 2015-11-29
查看techo的 主题 / 回贴
2楼  发表于: 2010-07-09 16:06
谢谢1楼帮忙,我是通过台达PLC 读智能数据采集模块的数据,输入信号是交流电流,通过RS-485(MouBus通讯协议)读出实际电流值,数据读出来了,不知道怎样转换成实测值,谢谢各位,
jackie6184
级别: 网络英雄
精华主题: 0
发帖数量: 65 个
工控威望: 6518 点
下载积分: 15724 分
在线时间: 305(小时)
注册时间: 2008-06-03
最后登录: 2024-11-29
查看jackie6184的 主题 / 回贴
3楼  发表于: 2010-07-09 17:15
plc如果沒有指令可以直接轉的話
就要一位數一位數的拆開來算
算法是 (個位數X16的零次方)+(拾位數X16的一次方)+(百位數X16的二次方)以此類推
例如你收到的值=  1FC     C=12       F=15
=(C(12)X1)+(F(15)X16)+(1X256)
=12+240+256
=508
zhouyang
我没有选择,但我有追求!
级别: VIP会员
精华主题: 0
发帖数量: 213 个
工控威望: 419 点
下载积分: 1189 分
在线时间: 94(小时)
注册时间: 2009-02-22
最后登录: 2015-11-02
查看zhouyang的 主题 / 回贴
4楼  发表于: 2010-07-09 19:49
很好弄,用BIN将数值变为2进制放置于寄存器,将对寄存器进行读取。
我虽没有试过但是原理上行的同,因为PLC内部以2进制数互相传送,读取时这是10进制数
幻想----------设计的灵魂
yuehuasheji
级别: 略有小成
精华主题: 0
发帖数量: 312 个
工控威望: 439 点
下载积分: 796 分
在线时间: 86(小时)
注册时间: 2007-11-09
最后登录: 2024-02-21
查看yuehuasheji的 主题 / 回贴
5楼  发表于: 2010-07-09 19:55
台达编程手册里有专用的转换指令
zhouyang
我没有选择,但我有追求!
级别: VIP会员
精华主题: 0
发帖数量: 213 个
工控威望: 419 点
下载积分: 1189 分
在线时间: 94(小时)
注册时间: 2009-02-22
最后登录: 2015-11-02
查看zhouyang的 主题 / 回贴
6楼  发表于: 2010-07-09 19:58
用不着什么指令,16进制读入到寄存器后就是10进制的。我刚才试验了   三菱FX     GX仿真
幻想----------设计的灵魂