一个传感器是modbus协议的,用组态王读取 点击:1848 | 回复:4



cyh1986

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 28回
  • 年度积分:0
  • 历史总积分:53
  • 注册:2008年8月18日
发表于:2010-09-10 23:54:57
楼主

一个气体传感器,我想用组态王读出气体的浓度值,准备用组态王,厂家给的资料

主机命令:01 03 00 10 00 02 XX XX
01:GN8020 地址;
03:读取GN8020 状态命令:
00 10:寄存器地址;
00 02:读取字长度;
XX XX:CRC16 校验码;
GN8020 返回:01 03 04 00 00 01 00 XX XX
01:GN8020地址;
03:读取命令;
04:返回字节长度;
00 00:探测器状态:00 01 或00 02 表明GN8020 探测故障;00 03 低限报警;00 04 高
限报警;
01 00:探测器浓度:前面为低字限,后面为高字节;

请问组态王里我应该读哪个寄存器呢?组态王软件里只有0xxxx、1xxxx、3xxxx、4xxxx等选择。

我试了30010、31000等等几个,组态王一律返回值都是25.我用modbus调试精灵,按照上面的命令发,能看见浓度的变化值。

。。。。厂家的人也不是很清楚,关键是不知道组态王是怎么定义的。




ye_w

  • 精华:21帖
  • 求助:1帖
  • 帖子:69帖 | 5217回
  • 年度积分:0
  • 历史总积分:46739
  • 注册:2002年4月17日
发表于:2010-09-11 10:25:59
1楼
你使用4开头的地址,比如40010

galaxy

  • 精华:0帖
  • 求助:0帖
  • 帖子:15帖 | 43回
  • 年度积分:0
  • 历史总积分:244
  • 注册:2004年7月01日
发表于:2010-09-13 15:17:15
2楼

我记得组态王是用9××××来读写浮点数的(9寄存器对LONG/FLOAT类型的数据按间隔为2的形式编址,如81,83,85...),我当时用组态王读取施耐德PLC的浮点数,就是用9开头,你应该度9 0011(00 10:寄存器地址,地址要加1 ,  10+1)

abysmal

  • 精华:1帖
  • 求助:0帖
  • 帖子:12帖 | 2176回
  • 年度积分:6
  • 历史总积分:11194
  • 注册:2001年10月26日
发表于:2010-09-13 15:20:52
3楼
9开头的寄存器读浮点?

真不愧是变态王啊。

galaxy

  • 精华:0帖
  • 求助:0帖
  • 帖子:15帖 | 43回
  • 年度积分:0
  • 历史总积分:244
  • 注册:2004年7月01日
发表于:2010-09-14 10:29:09
4楼

组态王里面有modbus驱动,你要按照组态王的modbus驱动规范 组态变量


热门招聘
相关主题

官方公众号

智造工程师