[转帖]Modbus 通讯协议编程 点击:2892 | 回复:17



唐进

    
  • 精华:20帖
  • 求助:0帖
  • 帖子:301帖 | 1339回
  • 年度积分:0
  • 历史总积分:106
  • 注册:2004年9月02日
发表于:2007-07-18 13:56:00
楼主
Modbus 通讯协议编程
本人最近为了实现电脑与Delta VFD-M变频器通讯,特意用VB6.0编了一个Modbus协议通讯软件,不过这只是一个测试版,但Modbus的ASCii协议和RTU协议都已经实现。现在将源程序上贴,希望可以帮助到有需要的朋友,谢谢!(我发现图片贴不上去)
    另外,假如你觉得有更好的想法,欢迎E-mail指教。
附:VB6源程序

Option Explicit
Private Text1text As String
Private RTUCRC As String
'串口选择
Private Sub Combo1_Click()
              MSComm1.CommPort = Combo1.ListIndex + 1
End Sub
'数据位改变
Private Sub Combo2_Click()
        Call setting
End Sub
'波特率改变
Private Sub Combo3_Click()
        Call setting
End Sub
'奇偶校验改变
Private Sub Combo4_Click()
        Call setting
End Sub
'停止位改变
Private Sub Combo5_Click()
        Call setting
End Sub
Private Sub setting()
         MSComm1.Settings = CStr(Combo3.Text) & "," & CStr(Combo4.Text) & "," & CStr(Combo2.Text) _
                                          & "," & CStr(Combo5.Text)
End Sub
'打开关闭串口
Private Sub Command1_Click()
        On Error Resume Next
        If MSComm1.PortOpen = False Then
            MSComm1.PortOpen = True
        Else
               MSComm1.PortOpen = False
        End If
        
        If MSComm1.PortOpen Then                                '打开关闭按钮显示文字及combo1使能
             Command1.Caption = "关闭串口"
             Combo1.Enabled = False
        Else
              Command1.Caption = "打开串口"
              Combo1.Enabled = True
        End If
        
          If Err Then                                                          '打开串口失败,则显示出错信息
               MsgBox Error$, 48, "错误信息"
          &nb



通信与实验

  • 精华:1帖
  • 求助:0帖
  • 帖子:20帖 | 178回
  • 年度积分:0
  • 历史总积分:1354
  • 注册:2003年6月08日
发表于:2007-07-18 15:14:00
1楼
很复杂,最好先画程序框图,再写程序,这样较简洁明了

霸王猫

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 11回
  • 年度积分:0
  • 历史总积分:41
  • 注册:2007年7月18日
发表于:2007-07-18 15:22:00
2楼
不错

jstiger

  • 精华:0帖
  • 求助:0帖
  • 帖子:10帖 | 14回
  • 年度积分:0
  • 历史总积分:44
  • 注册:2006年3月16日
发表于:2007-07-18 17:06:00
3楼
先copy下来看看。

weih_w

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 2回
  • 年度积分:0
  • 历史总积分:976
  • 注册:2004年2月08日
发表于:2007-07-25 20:21:00
4楼
不错,先顶了!

血汗各一滴

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 56回
  • 年度积分:0
  • 历史总积分:35
  • 注册:2006年5月20日
发表于:2007-09-17 15:17:00
5楼
顶过再说

人和

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 98回
  • 年度积分:0
  • 历史总积分:258
  • 注册:2006年4月16日
发表于:2007-11-05 19:50:00
6楼
谢谢

newchp

  • 精华:3帖
  • 求助:0帖
  • 帖子:113帖 | 3966回
  • 年度积分:0
  • 历史总积分:9364
  • 注册:2006年7月15日
发表于:2007-11-05 20:15:00
7楼
我也有这个想法,想和DELTA-M变频器联接通讯。有个问题:说明书上说,用RTU模式,它用的端口的样子和说明书上的不一致,想知道你是如何做的。加外,你是怎么联接的。

newchp

  • 精华:3帖
  • 求助:0帖
  • 帖子:113帖 | 3966回
  • 年度积分:0
  • 历史总积分:9364
  • 注册:2006年7月15日
发表于:2007-11-05 20:16:00
8楼
就是具体的通讯线的图是怎么回事

WONDERFULLY

  • 精华:0帖
  • 求助:2帖
  • 帖子:16帖 | 240回
  • 年度积分:1
  • 历史总积分:465
  • 注册:2003年5月30日
发表于:2007-11-16 12:31:00
9楼
强人啊,

众源

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 25回
  • 年度积分:0
  • 历史总积分:29
  • 注册:2006年1月18日
发表于:2007-12-11 12:33:00
10楼
顶!谢谢

flyingstarboy1

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 3回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2008-09-09 10:16:24
11楼

给代码是不错,不过要是能把项目放上去会更好,嘻

顶了再说

xiaoqing13

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 2回
  • 年度积分:0
  • 历史总积分:2
  • 注册:2008年7月11日
发表于:2008-09-23 20:38:45
12楼

顶啊

alangwong

  • 精华:0帖
  • 求助:0帖
  • 帖子:13帖 | 21回
  • 年度积分:0
  • 历史总积分:84
  • 注册:2008年9月05日
发表于:2008-09-24 12:58:12
13楼
我有硬件MOBUS通讯协议,不需要自己编程,直接拿回去用就可,有问题联系我  qq 57788166  电话 15921390829

vzmh08

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 58回
  • 年度积分:0
  • 历史总积分:86
  • 注册:2008年6月05日
发表于:2008-11-06 10:13:14
14楼

谢谢楼主了,先学习一下了

quickly

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 28回
  • 年度积分:0
  • 历史总积分:224
  • 注册:2006年7月01日
发表于:2008-11-07 10:23:34
15楼

先拷贝下来!不过我还不知道怎么编程!

13楼的!如果有现成的可以给我一套!quickly991@126.com

谢谢了

nan

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 1099回
  • 年度积分:0
  • 历史总积分:2374
  • 注册:2003年9月23日
发表于:2008-11-18 10:36:14
16楼
很复杂,最好结合流程图说明

lie308

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 7回
  • 年度积分:0
  • 历史总积分:2
  • 注册:2009年3月29日
发表于:2010-03-22 20:26:19
17楼

谢谢楼主的分享啊!!!!


热门招聘
相关主题

官方公众号

智造工程师