用VB怎么发送MODBUS协议数据包? 点击:1768 | 回复:3



fzpxp

    
  • 精华:7帖
  • 求助:0帖
  • 帖子:26帖 | 38回
  • 年度积分:0
  • 历史总积分:158
  • 注册:2002年9月01日
发表于:2004-03-09 16:28:00
楼主
台安V2变频器,采用Modbus(TRU Model) 通讯协议,要用VB编写通讯程序,发送数据包的格式怎么写?数据包 功能为把变频器频率改为60HZ, 我是这么写的: Dim pag As String pag="T1-T2-T3-T4"+chr(&H01)+chr(&H06)+chr(&H01)+chr(&H02)+chr(&H17)+chr(&H70)+chr(&H27)+chr(&HE2)+"T1-T2-T3-T4" Mscomm1.output=pag 此功能指令信号为 SLAVE地址:01H;机能代码:06H;开始编号上位:01H;开始编号下位:02H;个数上位:17H;个数下位:70H;CRC-16上位:27H;CRC-16下位:E2H 我发送数据包时变频器老是没有任何响应,想着应该是格式不对的原因,请问发送数据包具体格式应该怎么写? *V2协议的下载地址:http://www.taian-technology.com/www/v2xieyi.pdf



探测者

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 17回
  • 年度积分:0
  • 历史总积分:25
  • 注册:2003年11月10日
发表于:2004-03-14 03:40:00
1楼
格式一般不会有问题,肯定是其中的数据出问题了,还有,用VB编写MODBUS协议通讯,需要一些特殊的注意事项。你仔细看看协议手册。

xiaoyong

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 4回
  • 年度积分:0
  • 历史总积分:54
  • 注册:2001年11月09日
发表于:2004-05-26 23:06:00
2楼
您这样写是不行的,中文VB里的CHR()函数不能处理大于128的输,例如E2H,您应该用字节数组发送数据。具体可以再联系。

yangyanggoat

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 7回
  • 年度积分:0
  • 历史总积分:11
  • 注册:2004年9月10日
发表于:2004-09-10 14:14:00
3楼
我会的我可以用VC++编一个Active给你,你只要加入这个控件就可以了,我看了你的说明,MODBUS 有两种格式,ASCII,和RTU,用RTU,你的格式有问题,你再检查检查,解决不了,请与我联系13338627783,qq:56284077

热门招聘
相关主题

官方公众号

智造工程师