Modbus 通讯协议编程
更新时间:2023-10-12 20:44:01 阅读量: 综合文库 文档下载
- modbus协议推荐度:
- 相关推荐
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) & \ombo2.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, \错误信息\ Exit Sub End If End Sub
'10转16进制
Private Sub Command2_Click(Index As Integer)
On Error Resume Next
Text4.Text = Hex(Text3.Text)
If Err Then '' MsgBox Error$, 48, \错误信息\ Exit Sub
End If End Sub
'16转10进制
Private Sub Command3_Click() Dim a As Long
a = Val(\ Text3.Text = a End Sub
'手动串口发送
Private Sub Command4_Click()
If MSComm1.PortOpen = False Then MsgBox \请先打开串口\错误信息\ Exit Sub End If
Call sentsub End Sub
'清除接收窗
Private Sub Command5_Click() Text2.Text = \End Sub
Private Sub Command6_Click() Unload Me End Sub
打开串口失败,则显示出错信息 则显示出错信息 Private Sub Command7_Click()
On Error Resume Next Dim STP As String
STP = CStr(Chr(2)) & \ MSComm1.Settings = \ MSComm1.PortOpen = True MSComm1.Output = STP
MSComm1.PortOpen = False
If Err Then '打开串口失败,则显示出错信息 MsgBox Error$, 48, \错误信息\ Exit Sub End If
End Sub
Private Sub Command8_Click() On Error Resume Next Dim FWD As String
FWD = CStr(Chr(2)) & \ MSComm1.Settings = \ MSComm1.PortOpen = True MSComm1.Output = FWD MSComm1.PortOpen = False
If Err Then '打开串口失败,则显示出错信息 MsgBox Error$, 48, \错误信息\ Exit Sub End If
End Sub
Private Sub Command9_Click()
On Error Resume Next Dim REV As String
REV = CStr(Chr(2)) & \ MSComm1.Settings = \ MSComm1.PortOpen = True MSComm1.Output = REV MSComm1.PortOpen = False
If Err Then '打开串口失败,则显示出错信息 MsgBox Error$, 48, \错误信息\ Exit Sub End If End Sub
'窗口加载
Private Sub Form_Load()
Dim d%
For d = 1 To 16
Combo1.AddItem (\
Next
Combo1.ListIndex = 0
Combo2.AddItem \ Combo2.AddItem \ Combo2.AddItem \ Combo2.ListIndex = 2
Combo3.AddItem \ Combo3.AddItem \ Combo3.AddItem \ Combo3.AddItem \ Combo3.AddItem \ Combo3.AddItem \ Combo3.AddItem \ Combo3.AddItem \ Combo3.AddItem \ Combo3.AddItem \ Combo3.AddItem \ Combo3.ListIndex = 5
Combo4.AddItem \ Combo4.AddItem \ Combo4.AddItem \ Combo4.ListIndex = 0
Combo5.AddItem \ Combo5.AddItem \ Combo5.ListIndex = 0
For d = 0 To 254
Combo6.AddItem d Next
Combo6.ListIndex = 1
Text1.Text = \ Text2.Text = \ Text3.Text = \ Text4.Text = \ Text5.Text = \ Text6.Text = \ Text7.Text = \ Text8.Text = \
Option1.value = True Option3.value = True Option7.value = True Option9.value = True
If MSComm1.PortOpen = False Then Command1.Caption = \打开串口\ Else
Command1.Caption = \关闭串口\ End If End Sub '串口接收程序
Private Sub MSComm1_OnComm()
Dim Hexchr As String, hexstring As String, i As Integer, j As Integer, hexdisp As String
If Option8.value Then
hexstring = MSComm1.Input '十六进制显示
i = Len(hexstring)
For j = 1 To i
Hexchr = Mid(hexstring, j, 1)
If Hex(Asc(Hexchr)) < 16 Then
Text2.Text = Text2.Text & \ Else
Text2.Text = Text2.Text & Hex(Asc(Hexchr)) & \ End If Next j
Text2.Text = Text2.Text & CStr(Chr(13)) & CStr(Chr(10)) Else
Text2.Text = Text2.Text & MSComm1.Input & CStr(Chr(13)) & CStr(Chr(10)) 'ASCII码显示 End If End Sub
'手动发送选择
Private Sub Option1_Click()
If Option1.value = True Then Timer1.Enabled = False Command4.Enabled = True Else
Timer1.Enabled = True
Command4.Enabled = False End If End Sub
'Delta ASCII发送协议
正在阅读:
Modbus 通讯协议编程10-12
2011 年度国家级火炬计划项目申报要求05-24
俄罗斯境内的捏捏茨人 - 图文03-15
计算机应用基础在线测试612-15
沥青上面层试验段总结11-08
中国法学博士点及拥有法学博士后流动站一览06-06
特大牛股的攻击形态汇总 - 图文05-20
- 二年级下册音乐测试题
- 浙江财经大学中微题库答案
- 小升初常考古诗填空练习(80首古诗 含答案)
- 全国导基 第十章 中国旅游诗词、楹联、游记鉴赏 练习题 及答案
- 华师大版七年级科学(生物)下册5.1《种群和群落》导学案(含答
- 人教版七年级语文上册练习:《我的老师》课时训练(附答案)-精
- NOIP2015浙江省复赛普及组成绩
- 长虹公司的应收账款管理
- 快递行业同业竞争对手调查报告
- “十三五”重点项目-牦牛骨髓粉项目节能评估报告(节能专篇)
- 钢结构生产制造部各岗位职责及任职要求
- 对H企业应收账款管理与核算现状的调查报告
- 中国化学会第24届全国高中学生化学竞赛(省级赛区)试题、标准答
- 本科成本会计
- “众包”创新模式在我国潜在的风险的探讨
- 语文基础全套复习资料(有他足够了
- 中外合作出版合同(1)
- STM32-GPIO及EXTI初始化详解
- 2018年中国控制技术市场现状调研与发展前景分析报告目录
- 大学物理试题第四章 冲量和动量
- 协议
- 编程
- 通讯
- Modbus
- 高中化学方程式(总)
- 2017年北卡大学格林斯堡分校强势专业介绍
- 组胚解答题题库复习
- 青海省西宁市2018届九年级下学期中考模拟语文试题(原卷版)
- 《蚯蚓的日记》三年级阅读单
- 高考化学备考优生百日闯关系列专题06物质结构(必修)(含解析)
- 04 分子量及其分布复习题答案
- proteus元件库 大全
- 幼儿园2017年9月双节活动方案
- 农历诸佛菩萨圣贤纪念日
- 考研励志文章(500字)
- 学院跟岗实习协议
- EXTJS AJAX方式发送数据给后台服务器
- 五年级下册语文专项复习练-成语-北师大版
- 反射
- 施工员(土建方向)岗位知识与专业技能
- 关于进一步规范外商投资企业资本结汇管理相关问题的说明
- 2011年热点申论-理论热点面对面
- 第三讲 图形割补
- 化验室作业指导手册范文