vb6.0串口通讯上位机开发视频教程下载地址

vb6.0串口通讯上位机开发视频教程下载地址
vb6.0串口通讯上位机开发视频教程下载地址

资料1

第一章VisualBasic6基本介绍

1. 菜单栏的使用

2. 属性窗口的使用

3. 创建工程

4.窗体的操作

5. 属性值的设定

6. 程序代码编写

7. 制作一个简单应用程序

8. 窗体属性(1)

9. 窗体属性(2)

10. 窗体事件

11. 方法

第二章VisualBasic6的数据类型与运算符表达式

12.数据类型(1)

13. 数据类型(2)

14. 运算符表达式(1)

15.运算符表达式(2)

16. 运算符表达式(3)

第三章VisualBasic6的内部函数

17.常用内部函数(1)

18.常用内部函数(2)

19. 常用内部函数(3)

20. 常用内部函数(4)

21. 常用内部函数(5)

22. 常用内部函数(6)

23. 常用内部函数(7)

24. 常用内部函数(8)

25. 常用内部函数(9)

26. 常用内部函数(10)

第四章VisualBasic6的基本语句

27.基本语句(1)

28. 基本语句(2)

29. 基本语句(3)

30. 基本语句(4) 、

31.基本语句(5)

32. 基本语句(6)

33. 基本语句(7)

34. 基本语句(8)

35. 基本语句(9)

36. 基本语句(10)

37. 基本语句(11)

38. 基本语句(12)

第五章VisualBasic6的数组

39.数组(1)

40.数组(2)

41. 数组(3)

42. 数组(4)

43. 数组(5)

44. 数组(6)

45. 数组(7)

46. 数组(8)

第六章VisualBasic6的过程

47.过程(1)

48.过程(2)

49. 过程(3)

50. 过程(4)

51. 过程(5)

52. 过程(6)

53. 过程(7)

54. 过程(8)

55. 过程(9)

56. 过程(10)

第七章VisualBasic6的标准控件

57. 1111标准控件(1)

58.标准控件(2)

59. 标准控件(3)

60. 标准控件(4)

61. 标准控件(5)

62. 标准控件(6)

63. 标准控件(7)

64. 标准控件(8)

65. 标准控件(9)

66. 标准控件(10)

67. 标准控件(11)

68. 标准控件(12)

69. 标准控件(13)

70. 标准控件(14)

71. 标准控件(15)

72. 标准控件(16)

73. 标准控件(17)

74. 标准控件(18)

75. 标准控件(19)

76. 标准控件(20)

77. 标准控件(21)

78. 标准控件(22)

第八章VisualBasic6的界面设计

79.界面设计(1) 8

80.0. 界面设计(2)

81. 界面设计(3)

82. 界面设计(4)

83. 界面设计(5)

84. 界面设计(6)

85. 界面设计(7)

86. 界面设计(8)

87. 界面设计(9)

88. 界面设计(10)

第九章VisualBasic6的开发绘图程序

89.开发绘图程序(1)

90. 开发绘图程序(2)

91. 开发绘图程序(3)

92.开发绘图程序(4)

93. 开发绘图程序(5)

94. 开发绘图程序(6)

95. 开发绘图程序(7)

96. 开发绘图程序(8)

97. 开发绘图程序(9)

98. 开发绘图程序(10)

99. 开发绘图程序(11)

100.开发绘图程序(12)

101.开发绘图程序(13)

102.开发绘图程序(14)

第十章VisualBasic6的文件操作103.文件操作(1)

104.104.文件操作(2)

105.105.文件操作(3)

106.文件操作(4)

107.文件操作(5)

107.108.文件操作(6)

109.文件操作(7)

110.文件操作(8)

111.文件操作(9)

112.文件操作(10)

第十一章VisualBasic6的键盘事件

113.键盘事件(1)

114.键盘事件(2)

115.键盘事件(3)

第十二章VisualBasic6的鼠标事件

116.鼠标事件(1)

117.鼠标事件(2)

118.鼠标事件(3)

119 鼠标事件(4)

120.鼠标事件(5)

121.鼠标事件(6)

122.鼠标事件(7)

123.鼠标事件(8)

124.鼠标事件(9)

第十三章VisualBasic6的开发数据库管理程序125.开发数据库管理程序(1)

126.开发数据库管理程序(2)

127.开发数据库管理程序(3)

128.开发数据库管理程序(4)

129.开发数据库管理程序(5)

130.开发数据库管理程序(6)

131.开发数据库管理程序(7)

132.开发数据库管理程序(8)

133.开发数据库管理程序(9)

134.开发数据库管理程序(10)

135.开发数据库管理程序(11)

136.开发数据库管理程序(12)

137.开发数据库管理程序(13)

138.开发数据库管理程序(14)

139.开发数据库管理程序(15)

140.开发数据库管理程序(16)

141.开发数据库管理程序(17)

142.开发数据库管理程序(18)

143.开发数据库管理程序(19)

144.开发数据库管理程序(20)

145.开发数据库管理程序(21)

146.开发数据库管理程序(22)

147.开发数据库管理程序(23)

148.开发数据库管理程序(24)

149.开发数据库管理程序(25)

150.开发数据库管理程序(26)

第十四章VisualBasic6的开发多媒体应用程序151.开发多媒体应用程序(1)

152.开发多媒体应用程序(2)

153.开发多媒体应用程序(3)

154.开发多媒体应用程序(4)

155.开发多媒体应用程序(5)

156.开发多媒体应用程序(6)

157.开发多媒体应用程序(7)

158.开发多媒体应用程序(8)

159.开发多媒体应用程序(9)

160.开发多媒体应用程序(10)

161.开发多媒体应用程序(11)

162.开发多媒体应用程序(12)

163.开发多媒体应用程序(13)

164.开发多媒体应用程序(14)

165.开发多媒体应用程序(15)

166.开发多媒体应用程序(16)

167.开发多媒体应用程序(17)

168.开发多媒体应用程序(18)

169.开发多媒体应用程序(19)

170.开发多媒体应用程序(20)

171.开发多媒体应用程序(21)

172.开发多媒体应用程序(22)

第十五章VisualBasic6的开发网络应用程序173.开发网络应用程序(1)

174.开发网络应用程序(2)

175.175.开发网络应用程序(3)

176.开发网络应用程序(4)

177.开发网络应用程序(5)

178.开发网络应用程序(6) 179.开发网络应用程序(7) 180.开发网络应用程序(8) 181.开发网络应用程序(9) 182.开发网络应用程序(10) 183.开发网络应用程序(11) 184.开发网络应用程序(12) 185.开发网络应用程序(13) 186.开发网络应用程序(14) 187.开发网络应用程序(15) 188.开发网络应用程序(16) 189.开发网络应用程序(17) 190.开发网络应用程序(18) 191.开发网络应用程序(19) 192.开发网络应用程序(20) 193.开发网络应用程序(21) 194.开发网络应用程序(22) 195.开发网络应用程序(23) 196.开发网络应用程序(24) 197.开发网络应用程序(25) 198.开发网络应用程序(26) 199.开发网络应用程序(27) 200.开发网络应用程序(28) 201.开发网络应用程序(29) 202.开发网络应用程序(30) 203.开发网络应用程序(31) 204.开发网络应用程序(32) 205.开发网络应用程序(33) 206.开发网络应用程序(34) 207.开发网络应用程序(35) 208.开发网络应用程序(36) 209.开发网络应用程序(37) 210.开发网络应用程序(38) 211.开发网络应用程序(39) 212.开发网络应用程序(40) 213.开发网络应用程序(41) 214.开发网络应用程序(42) 215.开发网络应用程序(43) 216.开发网络应用程序(44) 217.开发网络应用程序(45) 218.开发网络应用程序(46) 219.开发网络应用程序(47)

以上资源是本人花RMB在淘宝上买来的,现在分享给大家。但我的分享也不能徒劳,辛苦辛苦把那么大的资料上传到网需要花不少时间,所以以下条件就算是对作者的一种回报吧!

已关注的朋友请回复:“VB教程”(大写的哦) 即可获得对应的下载链接。

没有关注的朋友只需查找微信公众号:hdxs0797 或描扫以下二维码加关注即可,再回复:“VB教程”。

资料2

1.vb常用函数介绍

2.VB常用内部函数

3.VB控件属性大全与使用教程

4.VB常用方法大全

5.VB_API函数大全

6.VB基本数据类型

7.VB 6.0 帮助文档_MSDN

8.用VB开发上位机与OMRONPLC之间的一种通讯程序

二.Vb 串口通讯教程及相关资料

1.VB串口通信源码210个

3.VB串口通信电子书籍17部

5.VB串口通信控件17

6.VB串口通信设计视频

7.虚拟串口软件及使用教程

8.串口硬件层知识大全52

9.串口调试工具40个

10.网络基础OSI网络模型教程

11.程序员成长与发展类书籍

资料3

为本人所购买书上光盘复制下来的1.源程序

2.软硬件资源

3.视频教学

4.电子课件

5.Delphi测控实战

资料4

1.电工实用工具书手册

2.电工实用软件

如何下载这些资料:

1.已关注的朋友请回复:“VB教程”(大写的哦) 即可获得对应的下载链接。

没有关注的朋友只需查找微信公众号:hdxs0797 或描扫以下二维码加关注即可,再回复:“VB教程”。

下载方法:

1.注册一个百度云网盘帐号。官网地址:https://www.360docs.net/doc/2b1895638.html,/#from=share_pan_logo

2.将获得的链接粘贴到浏览器地址栏进入,如下图:

再输入提取密码。

VB6.0下MSComm控件实现串口通信

VB6.0下用MSComm控件实现串口通信 MSComm控件通过串行端口传输和接收数据,为应用程序提供串行通讯功能,以下先对其属性进行详细的说明后再举一个例子进行说明: 1基本属性 CommPort O https://www.360docs.net/doc/2b1895638.html,mPort[=value] Object为MSComm控件,value为整数值,标志端口号。 说明:该属性设置并返回通讯端口号,value的值可以设为1-16间的任意数(默认为1)。在打开端口之前必须先设置CommPort属性,当端口不存在时,如果用PortOpen属性打开它,MSComm控件会产生错误68(即设备无效的错误)。 Settings Objiect.Setting[=value] Object为MSComm控件,value为字符串类型,表示通讯端口的设置值。 说明:本属性用来设置并返回端口的波特率、奇偶校验位、数据位和停止位参数。当端口打开时,如果指定的value参数非法,则MSComm控件产生380号(非法属性值)错误。有效的value参数值由四个设置值组成,有如下格式:“BBBB,P,D,S”,其中BBBB为波特率,P为奇偶校验,D为数据位数,S为停止位数。Value的默认值为:“9600,N,8,1”,下面给出合法的波特率、奇偶校验位、数据位和停止位参数: 波特率:110,300,600,1200,2400,4800,9600(默认),14400,19200,28800,38400,56000,57600,115200,128000,256000。 奇偶校验值:E(偶校验,Even)、M(标记,Mark)、N(默认,Default,None)、O(奇校验,Odd)、S(空格,Space)。 数据位值:4,5,6,7,8(默认),9。 停止位值:1(默认),1.5,2。 PortOpen O bject.PortOpen[=value] Object为MSComm控件。Value为布尔类型,表明通讯端口的状态。 说明:本属性用来设置或返回通讯端口的状态(开或关)。在设计时本属性无效。 设置PortOpen属性为True时端口将会被打开。设置为False时将关闭端口并清除接收和传输缓冲区中的数据。当应用程序终止时,SMComm控件自动关闭串行端口。 在打开端口之前,必须给CommPort属性设置一个合法的端口号。如果CommPort属性被设置成一个非法的端口号,则在打开端口时,MSComm控件将产生错误码为68(表示设备无效)的错误。另外,串行端口设备必须支持Settings属性的当前设置值。如果Settings属性包含硬件不支持的通讯设置值,则硬件可能不会正常工作。如果在端口打开之前,DTREnable 或RTSEnable属性被设置为True,则在关闭总线时,这些属性将被设置为False。否则DTR 和RTS线仍将保持其先前的状态。 Input Object.Input Object为MSComm控件。

VB串口通信(附图教程)

界面如下: 代码如下: Private Sub Form_Load() If MSComm1.PortOpen = True Then MSComm1.PortOpen = False Else End If Combo1.AddItem "COM1" Combo1.AddItem "COM2" Combo1.AddItem "COM3" Combo1.AddItem "COM4" Combo1.AddItem "COM5" Combo1.AddItem "COM6" Combo1.AddItem "COM7" Combo1.AddItem "COM8" Combo1.AddItem "COM9" Combo1.AddItem "COM10"

Combo1.AddItem "COM11" Combo1.AddItem "COM12" Combo1.AddItem "COM13" Combo1.AddItem "COM14" Combo1.AddItem "COM15" Combo1.AddItem "COM16" Combo1.ListIndex = 2 Combo2.AddItem "256000" Combo2.AddItem "128000" Combo2.AddItem "115200" Combo2.AddItem "57600" Combo2.AddItem "38400" Combo2.AddItem "28800" Combo2.AddItem "19200" Combo2.AddItem "14400" Combo2.AddItem "12800" Combo2.AddItem "11520" Combo2.AddItem "9600" Combo2.AddItem "4800" Combo2.AddItem "2400" Combo2.AddItem "1200" Combo2.AddItem "600" Combo3.AddItem "无None" Combo3.AddItem "奇Odd" Combo3.AddItem "偶Even" Combo4.AddItem "4" Combo4.AddItem "5" Combo4.AddItem "6" Combo4.AddItem "7" Combo4.AddItem "8" Combo5.AddItem "1" Combo5.AddItem "2" https://www.360docs.net/doc/2b1895638.html,mPort = Combo1.ListIndex + 1 MSComm1.Settings = "9600,n,8,1"

vb串口通讯usb通讯,很有用哦

vb串口通讯usb通讯,很有用哦 VB 完成串口通信。一种是用VB 提供的具有强大功能的通信控件;另一种方法 是调用WINDOWS API 函数,使用WINDOWS 提供的通信函数编写移植性强的应用程序;第三是利用文件的输入/ 输出完成,该方法简便易行,但有一定的局限性。一、利用通信控件(MSCOMM) 完成串口通信 VB 提供了通信控件MSCOMM,文件名为MSCOMM. VBX。该控件可设置串行通信 的数据发送和接收,对串口状态及串行通信的信息格式和协议进行设置。在通信过程中可以触发OnComm事件,在该事件过程进行数据检验处理及检错,还可以通过编程访问CommEvent 属性来了解通信的情况,进行收发数据的处理。每个通信控 件对应一个串口,如果要访问多个通信口,则要设计多个通信控件。 1、通信控件的事件及基本属性 (1)事件 OnComm:通信控件只提供了一个事件,该事件的触发可以对串口的通信事件及 错误进行处理。通过对CommEvent 属性的判断可知当前的通信错误和事件,分别 对每个CommEvent 值进行编程就完成了对各个错误和事件的处理。如:CommEvent = MSCOMM—EV—SEND 表示发送事件。这些信息可从VB 提供的常量文件CONSTANT. TXT中查出。 (2)属性 CommPort :设置通信控件与哪个串口相连接,设置并返回通信口号。 Setting :设置通信的信息格式,为字符型。顺序为:波特率、校验、数据位、停止位。 PortOpen :布尔型、开关通信口。 InputLen :从接收缓冲区读取字符个数。

Input ,Output :读取接收缓冲区或写入发送缓冲区字符。 以上五种属性对串口完成基本的设置和操作,下面的三种属性是描述如何利用VB 提供的事件驱动机制来实现通 信。 CommEvent :返回通信过程中产生的错误信息及事件,了解通信状况。SThreshold :设置并返回不触发OnComm事件时发送缓冲区被允许的最少字符数。当缓冲区的字符少于设置的值时,则触发OnComm事件,并把CommEvent 设为MSCOMMM—EV—SEND。当SThreshold = 0 则禁止发送触发OnComm 事件,当SThreshold = 1 则发送缓冲区为空时就触发OnComm事件。利用这一属性,就可完成发送数据后的一系列操作。如:对刚发送的数据进行处理,当串口是和MODEM通信时,发送完数据后可进行拆除线路联接、挂机等操作。 RThreshold :设置并返回不触发OnComm事件时接收缓冲区被允许的最多字符数。当缓冲区的字符多于设置的值时,则触发OnComm 事件,并把CommEvent 设为MSCOMM—EV—RECEIVE,当RThreshold = 0 则禁止接收触发OnComm 事件,当RThreshold = 1 则接收缓冲区有一个或更多字符时就触发OnComm事件。利用这一属性,就可完成对串口接收数据的处理。 2、利用通信控件的实例 Sub Form1 —load () form1. show ′设置COM1 comm1. commport = 1 comm1. Setting = " 9600 ,o ,8 ,1" ′波特率:9600 奇校验,8位数据,1 位停止位 comm1. Inputlen = 0 ′读取接收缓冲区的所有字符

VB6.0串口操作

VB6.0串口操作 职业2010-12-22 11:30:58 阅读60 评论0 字号:大中小订阅 一直想通过计算机人机界面来控制单片机,感觉用软件控制硬件,即计算机控制是一件比较有意思的事情。 计算机与单片机的连接,是通过串口来实现的。如何实现,我想应该明白VB怎样来操作串口,实现VB 操作串口,就可以把单片机串口线接入计算机,从而实现真正的计算机控制单片机。 这其他是别人早已实现了的,我因为是刚接触,就写下来留作纪念吧。。。 开发软件:Visual Basic 6.0企业版(VB6) 新建一个工程:标准EXE。 接下来做Form界面。 代码: Private Sub Combo1_Click() If MSComm1.PortOpen = True Then '如果串口打开先关闭后再进行其他操作 MSComm1.PortOpen = False End If https://www.360docs.net/doc/2b1895638.html,mPort = Combo1.ListIndex + 1 End Sub Private Sub Command1_Click() Dim Temp(0) As Byte Dim strBuff As String If Option3.Value = True Then '如果显示16进制发送则进行16进制处理,这里只发送一个Temp(0) = "&H" & Text1 MSComm1.Output = Temp '发送一个16进制 Else strBuff = Text1 End If

If MSComm1.PortOpen = False Then MsgBox "请打开串口" End If On Error GoTo uerror MSComm1.Output = strBuff uerror: End Sub Private Sub Command2_Click() On Error GoTo uerror '发现错误跳转到错误处理 If Command2.Caption = "关闭串口" Then MSComm1.PortOpen = False Command2.Caption = "打开串口" '按钮文字改变 Shape1.FillColor = &HFFFFC0 '灯颜色改变Else MSComm1.PortOpen = True Command2.Caption = "关闭串口" Shape1.FillColor = &HFF End If Exit Sub uerror: msg$ = "无效端口号" '错误显示 Title$ = "串口调试助手" x = MsgBox(msg$, 48, Title$) '48标示显示警告图标 End Sub Private Sub Command3_Click() Text2.Text = "" End Sub Private Sub Command4_Click() Text1.Text = "" End Sub Private Sub Form_Load() If MSComm1.PortOpen = True Then MSComm1.PortOpen = False Else End If Combo1.AddItem "COM1" Combo1.AddItem "COM2" Combo1.AddItem "COM3"

用VB实现Modbus RTU串行通讯工程实例

用VB实现Modbus RTU串行通讯工程实例 声明:网上看到的,觉得不错,稍微整理了一下分享给大家。 用VB实现Modbus RTU串行通讯 在一些应用中可能需要使用诸如VB来进行上位机监控程序的开发,而Modbus 协议是这类应用中首选的通讯协议;Modbus协议以其简单易用,在工业领域里已广泛的为其他第三方设备所支持。这里对VB和Twido PLC间的通讯进行说明。 对于大部分应用,Twido PLC作为从站,它不需要编制通讯程序,只要把通讯口的参数设置好即可,例如下图表示此Twido通过编程口和上位机连接,其站号地址为2;波特率、数据位、校验、停止位和上位机设置保持一致。 VB程序通过利用MSComm控件很容易就能够实现。 1.通讯口初始化: MSComm1.Settings = "9600,n,8,1" https://www.360docs.net/doc/2b1895638.html,mPort = 1 MSComm1.SThreshold = 0 If Not MSComm1.PortOpen Then MSComm1.PortOpen = True 2. CRC校验码的计算方法,如以下函数,可以得到字节数组变量cmdstring指向的字符串的CRC校验码。 Function crc16_1(ByRef cmdstring() As Byte, ByVal j As Integer) Dim data As Integer Dim i As Integer Addressreg_crc = &HFFFF For i = 0 To j Addressreg_crc = Addressreg_crc Xor cmdstring(i) For j = 0 To 7 data = Addressreg_crc And &H1

VB串口通信详细讲解

VB串口通信 目前,Visual Basic (简称VB)已成为WINDOWS 系统开发的主要语言,以其高效、简单易学及功能强大的特点越来越为广大程序设计人员及用户所青睐。VB支持面向对象的 程序设计,具有结构化的事件驱动编程模式并可以使用无限扩增的控件。在VB应用程序可以方便地调用WINDOWS API函数,使得编程效率提高,应用功能增强。 利用VB提供的这些功能,我们可以有三种方法完成串口通信。一种是用VB提供的具有强大功能的通信控件;另一种方法是调用WINDOWS API函数,使用WINDOWS 提供的通信函数编写移植性强的应用程序;第三是利用文件的输入/输出完成,该方法简便易行,但有一定的局限性。 一、利用通信控件(MSCOMM)完成串口通信 VB提供了通信控件MSCOMM,文件名为MSCOMM. VBX。该控件可设置串行通信的数据发送和接收,对串口状态及串行通信的信息格式和协议进行设置。在通信过程中可以触 发On Comm 事件,在该事件过程进行数据检验处理及检错,还可以通过编程访问CommEvent属性来了解通信的情况,进行收发数据的处理。每个通信控件对应一个串口,如果要访问多个通信口,则要设计多个通信控件。 1、通信控件的事件及基本属性 (1)事件 On Comm :通信控件只提供了一个事件,该事件的触发可以对串口的通信事件及错误进行 处理。通过对CommEvent属性的判断可知当前的通信错误和事件,分别对每个CommEvent 值进行编程就完成了对各个错误和事件的处理。如:CommEvent = MSCOMM —EV—SEND表示发送事件。这些信息可从VB提供的常量文件CONSTANT. TXT中查出。

VB串口通信程序代码

vb中怎样用mscomm控件实现串口通信 本问分两部分均来自https://www.360docs.net/doc/2b1895638.html, 第一部分jessezappy(晶晶) ================================================================================== If MSComm1.PortOpen Then MSComm1.PortOpen = False https://www.360docs.net/doc/2b1895638.html,mPort = 1 '假定是用COM1口 ' 设定传输速率等,可依照您的需求更改 MSComm1.Settings = "9600,N,8,1" MSComm1.PortOpen = True '---------初始化Modem------------- MSComm1.Output = "ATZ" MSComm1.Output = "AT&F" MSComm1.Output = "ATE0" MSComm1.Output = "ATM1" MSComm1.Output = "ATQ0" MSComm1.Output = "ATV0" '--------------------------拨号------------- MSComm1.Output ="ATDT163" '拨163 '---------------------------接通后 MSComm1.Output ="SDFJDKSJLKFA" '发送字符串 '--------------------- Private Sub MSComm1_OnComm() '用串口事件捕捉数据.. If MSComm1.InBufferCount Then ' 通讯埠中假如有资料的话, 则读取进来 InStringB = InStringB & MSComm1.Input ' 如果资料中有Chr(13) 和Chr(10) 的话, 则显示出来 If InStr(InStringB, vbCrLf) Then instring = instring & InStringB AddText Text3, InStringB, False InStringB = "" End If End If END SUB

VB中串口通讯的实现

VB中串口通讯的实现 一、概述 串口通讯作为一种古老而又灵活的通讯方式,被广泛地应用于PC间的通讯以及PC和单片机之间的通讯之中串口通讯的编程,人们往往立刻想到C、汇编等对系统底层操作支持较好的编程语言以及大串繁琐的代码。 实际上,只要我们借助相关ActiveX控件的帮助,即使是在底层操作一向不被人看好的VB中,一样能够实现串甚至其实现方法和C、汇编相比,要更加快捷方便。下面,笔者就介绍一下在VB中实现串口通讯的方法。 在Visual Basic中有一个名为Microsoft Communication Control(简称MSComm)的通讯控件。我们只要此控件的属性和事件进行相应编程操作,就可以轻松地实现串口通讯。下面,笔者就简要地介绍一下 MSComm控件的使用方法。 二、MSComm控件的主要属性、事件 1、MSComm的属性 由于MSComm控件属性很多,在此笔者仅介绍与实现串口通讯密切相关的核心属性。 Commport:设置通讯所占用的串口号。如设成1(默认值),表示对Com1进行操作。 Setting:对串口通讯的相关参数。包括串口通讯的比特率,奇偶校验,数据位长度、停止位等。其默认值0,N,8,1”,表示串口比特率是9600bit/s,不作奇偶校验,8位数据位,1个停止位。 Portopen:设置串口状态,值为True时打开串口,值为False时关闭串口。 Input:从输入寄存器读取数据,返回值为从串口读取的数据内容,同时输入寄存器将被清空。 Ouput:发送数据到输出寄存器。 InBufferCount:设置输入寄存器所存储的字符数,当将其值设为0时,则输入寄存器将被清空。 InputMode:设置从输入寄存器中读取数据的形式。若值为0,则表示以文本形式读取;值为1,则表示以二式读取。 OutBufferCount:设置输出寄存器所存储的字符数,当将其值设为0时,则输出寄存器将被清空。

VB6 实时 串口通信 数据采集代码

VB6 实时串口通信数据采集代码 介绍VB6.0利用MSComm通信控件,开发微机通过串口对工业仪表进行实时数据采集的编程技术。给出的程序代码具有通用性,并有详细的注释,可以直接或稍加改动后用于其他数据采集或实时控制程序中。 ----一台工业专用实时检测仪表,接高精度位移传感器,用于测量微小形变或微量位移,仪表测量精度为0.01毫米,测量范围最大值为50毫米。该仪表带有一个9针的RS-232C 串口,能与微机进行串口数据通信,实时传送检测数据,通过微机软件处理可实现工业实时监控。 ----该仪表的串口数据通信协议是:数据传输速率为9600bps,1位开始位,8位数据位,1位停止位,无奇偶校验位。仪表每秒发送50帧检测数据,每帧数据由4个字节组成。第一个字节定义为二进制常数0F0H,是每帧数据开始的标志字节;后面连续2个字节为数据字节,采用压缩的BCD码编码方式,高位在前,低位在后,即一个字节表示两位十进制数,则两个字节表示四位十进制数,小数点采用固定形式,定义在两字节中间;第四个字节为符号字节,该字节第八位为1,即:1 x x x x x x x 则为负数;第八位为0,即:0 x x x x x x x 则为正数。 ----例如:0F0H 26H 87H 80H 0F0H 34H 62H 00H 表示-26.87 34.62。 ----通信传输速率为9600bps,则最快速度1.04ms发送一帧数据。

9600bps = 1200Bps这样计算出来的结果相当于8bits/Frame,现在串口中协议是10bits/Frame,求解方程1200 * 8 = x * 10得到x = 960Frame/s。1000/960 = 1.04167Frame/ms。仪表每秒发送50帧数据,每帧数据有4个字节,即每秒发送200个字节,平均5.0ms 发送一个字节,连续读取串口数据时要在程序中添加循环等待程序。----为了实现实时监测功能,接收数据的读取要尽可能的快速,则设置MSComm1的属性如下: RThreshold = 1 接收缓冲区收到一个字节产生OnComm事件 InputLen = 1 每次读取一个字节 ----仪表每秒发送50帧数据,微机收到一帧完整数据至少需要20 ms 时间(1000/50=20),然后再进行数据处理。①如果微机在下一帧数据接收前即20ms内能将数据计算处理完毕,则接收缓冲区内只会保存有一帧数据,不会存有两帧以上数据,接收缓冲区的大小不会影响实时监测效果(接收缓冲区>4字节),这时完全可以实现实时监测或实时控制;②如果微机在20ms内不能将数据计算处理完毕,接收缓冲区设置得又很大,在数据计算处理完毕前,接收缓冲区内就会保存有两帧以上数据,而且一次工作时间越长,缓冲区内滞留数据帧就越多,数据采集和数据处理之间产生逐渐增大的额外时间差,当接收缓冲区充满后,时间差不再增大,固定在某一值,部分数据因不能及时采集到接收缓冲区中,数据产生丢失现象,真实工作情况就会和微机处理结果产生较大的时间差,对实时监测和实时控制很不利,这种情

VB上位机串口通讯

'初始化代码 Private Sub Form_Load() '窗体被加载时产生 If MSComm1.PortOpen = True Then '串口查看是否打开,打开则关闭MsgBox "端口已经打开", 2 'MSComm1.PortOpen = False End If With MSComm1 .CommPort = 3 '设置串口3 .Settings = "9600,n,8,1" .InputLen = 0 '读取接收缓冲区所有字符 .InBufferSize = 1024 '设置接收缓冲区1024字节 .OutBufferSize = 512 '设置发送缓冲区512字节 .InputMode = comInputModeText. '采用文本传输 '.PortOpen = True '打开串口 .SThreshold = 0 '一发送数据就触发OnComm事件 .RThreshold = 1 '接收到一个字节就触发OnComm事件 .InBufferCount = 0 '清除发送缓冲区数据 .OutBufferCount = 0 '清除接收缓冲区数据 End With Text_send.Text = "" Text_recv.Text = "" Text_send_16.Text = "" End Sub '清空对话框数据 Sub Command3_Click(Index As Integer) Text_send.Text = "" Text_recv.Text = ""

Text_send_16.Text = "" End Sub '通讯端口选择 Private Sub Combo1_Click() If Combo1.Text = "com1" Then '通讯端口号设置 https://www.360docs.net/doc/2b1895638.html,mPort = 1 'Text1 = 1 ElseIf Combo1.Text = "com2" Then https://www.360docs.net/doc/2b1895638.html,mPort = 2 'Text1 = 2 ElseIf Combo1.Text = "com3" Then https://www.360docs.net/doc/2b1895638.html,mPort = 3 'Text1 = 3 ElseIf Combo1.Text = "com4" Then https://www.360docs.net/doc/2b1895638.html,mPort = 4 'Text1 = 4 Else https://www.360docs.net/doc/2b1895638.html,mPort = 5 'Text1 = 5 End If End Sub Private Sub Combo2_Click() If Combo2.Text = "9600,e,8,1" Then MSComm1.Settings = "9600,e,8,1" ElseIf Combo2.Text = "9600,n,8,1" Then MSComm1.Settings = "9600,n,8,1" ElseIf Combo2.Text = "57600,n,8,1" Then MSComm1.Settings = "57600,n,8,1" End If End Sub '发送数据 Private Sub Command1_Click(Index As Integer) '判断是否选择了端口与通讯方式 If CBool(Combo1.Text = "请选择") Or CBool(Combo2.Text = "请选择") = 1 Then MsgBox "请设置端口号与通讯方式", 2 Exit Sub End If

VB串口通讯控件MSComm详解

VB串口通讯控件MSComm详解 MSComm 控件通过串行端口传输和接收数据,为应用程序提供串行通讯功能。MSComm 控件在串口编程时非常方便,程序员不必去花时间去了解较为复杂的API函数,而且在VC、VB、Delphi等语言中均可使用。Microsoft Communications Control(以下简称MSComm)是Microsoft公司提供的简化Windows下串行通信编程的ActiveX控件,它为应用程序提供了通过串行接口收发数据的简便方法。具体的来说,它提供了两种处理通信问题的方法:一是事件驱动(Event-driven)方法,一是查询法。 1.MSComm控件两种处理通讯的方式 MSComm控件提供下列两种处理通讯的方式:事件驱动方式和查询方式。 1.1 事件驱动方式 事件驱动通讯是处理串行端口交互作用的一种非常有效的方法。在许多情况下,在事件发生时需要得到通知,例如,在串口接收缓冲区中有字符,或者Carrier Detect (CD) 或Request To Send (RTS) 线上一个字符到达或一个变化发生时。在这些情况下,可以利用MSComm 控件的OnComm 事件捕获并处理这些通讯事件。OnComm 事件还可以检查和处理通讯错误。所有通讯事件和通讯错误的列表,参阅CommEvent 属性。在编程过程中,就可以在OnComm事件处理函数中加入自己的处理代码。这种方法的优点是程序响应及时,可靠性高。每个MSComm 控件对应着一个串行端口。如果应用程序需要访问多个串行端口,必须使用多个MSComm 控件。 1.2 查询方式 查询方式实质上还是事件驱动,但在有些情况下,这种方式显得更为便捷。在程序的每个关键功能之后,可以通过检查CommEvent 属性的值来查询事件和错误。如果应用程序较小,并且是自保持的,这种方法可能是更可取的。例如,如果写一个简单的电话拨号程序,则没有必要对每接收一个字符都产生事件,因为唯一等待接收的字符是调制解调器的“确定”响应。 2.MSComm 控件的常用属性 MSComm控件有很多重要的属性,但首先必须熟悉几个属性。 CommPort 设置并返回通讯端口号。 Settings 以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位。 PortOpen 设置并返回通讯端口的状态。也可以打开和关闭端口。 Input 从接收缓冲区返回和删除字符。 Output 向传输缓冲区写一个字符串。 下面分别描述: CommPort属性设置并返回通讯端口号。 语法https://www.360docs.net/doc/2b1895638.html,mPort[value ] (value 一整型值,说明端口号。) 说明在设计时,value 可以设置成从1 到16 的任何数(缺省值为1)。但是如果用

VB串口数据接收方式

1、在OnComm 事件中接收数据: 这种方式能充分MSCOMM控件的特性。OnComm 事件还可以检查和处理通讯错误;可以通过检查CommEvent 属性的值来查询事件和错误;对于不定长数据以及对数据进行处理比较复杂的情况,此法不是很方便。 Private Sub MSComm_OnComm () Select Case https://www.360docs.net/doc/2b1895638.html,mEvent ' 错误 Case comEventBreak ' 收到Break。 Case comEventCDTO ' CD (RLSD) 超时。 Case comEventCTSTO ' CTS Timeout。 Case comEventDSRTO ' DSR Timeout。 Case comEventFrame ' Framing Error Case comEventOverrun '数据丢失。 Case comEventRxOver'接收缓冲区溢出。 Case comEventRxParity' Parity 错误。 Case comEventTxFull '传输缓冲区已满。 Case comEventDCB '获取DCB] 时意外错误 ' 事件 Case comEvCD ' CD 线状态变化。 Case comEvCTS ' CTS 线状态变化。 Case comEvDSR ' DSR 线状态变化。 Case comEvRing ' Ring Indicator 变化。 Case comEvReceive ' 收到RThreshold # of chars. Case comEvSend ' 传输缓冲区有Sthreshold 个字符' Case comEvEof ' 输入数据流中发现EOF 字符 End Select End Sub 2.轮循法采集数据: A、定时器轮循法 对于数据包方式收发数据以及不需即时响应情况,用轮循法更好些。实际上轮循法最大的好处在于集中处理数据而且不太占用CPU。轮循法要注意定时采集的时间片段大小;这里用二进制收发模式;使属性RThreshold、SThreshold为0,屏蔽ONCOMM事件。 InputMode = comInputModeBinary RThreshold = 0 SThreshold = 0 Private Sub TmrComm_Timer() '采用轮循法采集数据

手把手教你用VB实现Modbus RTU串行通讯工程实例

用VB实现Modbus RTU串行通讯在一些应用中可能需要使用诸如VB来进行上位机监控程序的开发,而Modbus协议是这类应用中首选的通讯协议;Modbus协议以其简单易用,在工业领域里已广泛的为其他第三方设备所支持。这里对VB和Twido PLC间的通讯进行说明。 对于大部分应用,Twido PLC作为从站,它不需要编制通讯程序,只要把通讯口的参数设置好即可,例如下图表示此Twido通过编程口和上位机连接,其站号地址为2;波特率、数据位、校验、停止位和上位机设置保持一致。 VB程序通过利用MSComm控件很容易就能够实现。 1.通讯口初始化:

MSComm1.Settings = "9600,n,8,1" https://www.360docs.net/doc/2b1895638.html,mPort = 1 MSComm1.SThreshold = 0 If Not MSComm1.PortOpen Then MSComm1.PortOpen = True 2.CRC校验码的计算方法,如以下函数,可以得到字节数组变量cmdstring指向的字符串的CRC校验码。 Function crc16_1(ByRef cmdstring() As Byte, ByVal j As Integer) Dim data As Integer Dim i As Integer Addressreg_crc = &HFFFF For i = 0 To j Addressreg_crc = Addressreg_crc Xor cmdstring(i) For j = 0 To 7 data = Addressreg_crc And &H1 If data Then Addressreg_crc = Int(Addressreg_crc / 2) Addressreg_crc = Addressreg_crc And &H7FFF Addressreg_crc = Addressreg_crc Xor &HA001 Else

简单的VB串口通讯入门

我的VB串口读写入门 首先需要的是在VB中增加一个microsoft comm control 6.0的控件。步骤就是:工程(project)->部件(components)->点击,出现对话框 下拉垂直滑动杆,找到“microsoft comm control 6.0”点击前面的矩形框,确定。 先介绍一下必须熟悉几个属性: CommPort 设置并返回通讯端口号。 Settings 以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位。 PortOpen 设置并返回通讯端口的状态。也可以打开和关闭端口。 Input 从接收缓冲区返回和删除字符。 Output 向传输缓冲区写一个字符串。 然后给大家一个读串口的小例程: Private Sub Form_Load() https://www.360docs.net/doc/2b1895638.html,mPort = 1 '选择com1 Mscomm1.Settings = "9600,N,8,1" '设置波特率为9600,没有奇偶校验,8位数据位,1位结

束位 Mscomm1.InputLen = 0 '读取全部的输入缓冲区 If Mscomm1.PortOpen = False Then Mscomm1.PortOpen = True '端口打开 Mscomm1.RThreshold = 2 Mscomm1.SThreshold = 2 End Sub Private Sub Mscomm1_OnComm() '所有的通讯事件都可以激发MSComm1控件的OnComm 事件 Select Case https://www.360docs.net/doc/2b1895638.html,mEvent Case comEvReceive '此处的代码可以进行当串口的接受缓冲区里有RThreshold个字符的处理 Text4 = Text4 & Mscomm1.Input Case comEvSend '此处的代码可以进行当串口的发送缓冲区里有SThreshold个字符的处理 End Select End Sub Unload 事件是当窗体从屏幕上删除时发生。将cancel 设置为任何非零的值可防止窗体被删除,但不能阻止其它事件,诸如从Microsoft Windows 操作环境中退出等。 Private Sub Form_Unload(Cancel As Integer) If Mcom.PortOpen = True Then Mcom.PortOpen = False End Sub 利用上面的小程序,我们就可以通过读到外设给串口发出的数据了。 如果要发数据到串口就更简单了: Private Sub SendC_Click() Dim sendbuff as string sendbuff = Text3 Mcom.Output = sendbuff End Sub 这样就可以将Text3中的数据发送到串口了。这就是一个最简单的串口读写例程了,操作的过程就是:初始化串口(端口、波特率等)->打开端口->利用接收buff读上传数据+发送buff写下传数据->完毕后关闭串口。 )

VB实现串口通讯

VB实现串口通讯 目前,Visual Basic (简称VB)已成为WINDOWS 系统开发的主要语言,以其高效、简单易学及功能强大的特点越来越为广大程序设计人员及用户所青睐。VB 支持面向对象的程序设计,具有结构化的事件驱动编程模式并可以使用无限扩增的控件。在VB 应用程序中可以方便地调用WINDOWS API函数,使得编程效率提高,应用功能增强。 利用VB 提供的这些功能,我们可以有三种方法完成串口通信。一种是用VB 提供的具有强大功能的通信控件;另一种方法是调用WINDOWS API 函数,使用WINDOWS 提供的通信函数编写移植性强的应用程序;第三是利用文件的输入/ 输出完成,该方法简便易行,但有一定的局限性。 一、利用通信控件(MSCOMM)完成串口通信 VB 提供了通信控件MSCOMM,文件名为MSCOMM. VBX。该控件可设置串行通信的数据发送和接收,对串口状态及串行通信的信息格式和协议进行设置。在通信过程中可以触发OnComm事件,在该事件过程进行数据检验处理及检错,还可以通过编程访问CommEvent 属性来了解通信的情况,进行收发数据的处理。每个通信控件对应一个串口,如果要访问多个通信口,则要设计多个通信控件。 1、通信控件的事件及基本属性 (1)事件 OnComm:通信控件只提供了一个事件,该事件的触发可以对串口的通信事件及错误进行处理。通过对CommEvent 属性的判断可知当前的通信错误和事件,分别对每个CommEvent 值进行编程就完成了对各个错误和事件的处理。如:CommEvent = MSCOMM—EV—SEND 表示发送事件。这些信息可从VB 提供的常量文件CONSTANT. TXT中查出。 (2)属性 CommPort :设置通信控件与哪个串口相连接,设置并返回通信口号。 Setting :设置通信的信息格式,为字符型。顺序为:波特率、校验、数据位、停止位。 PortOpen :布尔型、开关通信口。 InputLen :从接收缓冲区读取字符个数。 Input ,Output :读取接收缓冲区或写入发送缓冲区字符。 以上五种属性对串口完成基本的设置和操作,下面的三种属性是描述如何利用VB 提供的事件驱动机制来实现通 信。 CommEvent :返回通信过程中产生的错误信息及事件,了解通信状况。

VB控件MSComm串口通讯实例教程

现有电子秤一台,使用串口与计算机进行通讯。编写VB程序来访问串口,达到读取电子秤上显示的数据。该电子秤为BE01型仪表,输出为RS-232C标准接口,波特率为300-9600、偶校验、7个数据位、2个停止位。所有字符 现有电子秤一台,使用串口与计算机进行通讯。编写VB程序来访问串口,达到读取电子秤上显示的数据。该电子秤为BE01型仪表,输出为RS-232C标准接口,波特率为300-9600、偶校验、7个数据位、2个停止位。所有字符均发送11位ASCII 码,一个起始位。在VB中与串口通讯需要引入控件MSComm串口通讯控件(在Microsoft Comm Control 6.0中)。具体程序如下:控件简称:MSC Dim Out(12) As Byte '接收var中的值 Dim var As Variant '接收MSC.input中的数值 Dim nRece As Integer '计算MSC.inputbuffer的个数 Dim i As Integer, j As Integer '随即变量,计算循环 ************************************************************************** ** Private Sub Form_Load() ClearText With MSC .CommPort = 1 '设置Com1为通信端口 .Settings = "9600,E,7,2" '设置通信端口参数 9600赫兹、偶校验、7个数据位、2个停止位.(这里需要进一步说明的是:.Setting=”BBBB,P,D,S”。 含义是:B:Baud Rate(波特率);P:Parity(奇偶);D:Data Bit;S:Stop Bit) .InBufferSize = 40 '设置缓冲区接收数据为40字节 .InputLen = 1 '设置Input一次从接收缓冲读取字节数为1

VB_Net_串口通信程序

一 Imports System.IO.Ports Imports System.Text Public Class Form1 Dim RS232Com As New SerialPort Dim mPortName As String Public Sub OpenCOM() mPortName = Me.CmbCom.SelectedItem.ToString RS232Com = New SerialPort(mPortName, 9600, Parity.None, 8, StopBits.One) RS232Com.Encoding = Encoding.ASCII If Not RS232Com.IsOpen Then RS232Com.Open() End Sub Public Sub CloseCOM() If RS232Com.IsOpen Then RS232Com.Close() End Sub Private Sub BtnOpen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnOpen.Click Call OpenCOM() End Sub Private Sub BtnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnClose.Click Call CloseCOM() End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load For Each sp As String In SerialPort.GetPortNames Me.CmbCom.Items.Add(sp) Next Me.CmbCom.SelectedIndex = 0 End Sub Private Sub BtnSend_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSend.Click RS232Com.Write(Me.TextBox1.Text) '即写命令过去 End Sub

相关主题
相关文档
最新文档