📄 198.htm
字号:
<p>用COMMUNICATION控件进行数据采集(学习笔记)</p>
<p></p>
<p></p>
<p>关键词:VBScript, Visual Basic, Visual C++</p>
<p></p>
<p>用COMMUNICATION控件实现数据采集</p>
<p></p>
<p>private Sub form_load()</p>
<p> MSComm1.COMMPORT = 2 注释:com2</p>
<p> MSComm1.settings = "9600,N,8,1" 注释:9600 为波特率,n 缺省的奇偶校验值,8 为数据位数,1 为停止位数。</p>
<p> MSComm1.InBufferSize = 1024 注释:接收缓冲区的大小</p>
<p> MSComm1.OutBufferSize = 512 注释:传输缓冲区的大小</p>
<p> MSComm1.InputLen = 0 注释:初始化接收缓冲区读取的字符数</p>
<p> </p>
<p> MSComm1.portopen=true 注释:打开串口</p>
<p>end sub</p>
<p></p>
<p>Private Sub command1_click() </p>
<p> Dim instring As Byte</p>
<p> </p>
<p> h$ = Chr$(13) & Chr$(10) & Chr$(13) & Chr$(10)</p>
<p> On Error Resume Next</p>
<p> </p>
<p> 注释:在这里进行串口通讯(RS485)</p>
<p> </p>
<p> address="36" 注释:终端地址</p>
<p> Lx1 = Chr$(var(address): Lx2 = Chr$(2): Lx3 = Chr$(1)</p>
<p> MSComm1.Output = Lx1 & Lx2 & Lx3 注释:向终端发命令,等待终端传输数据</p>
<p> MSComm1.InBufferCount = 0 ’接受缓冲清零</p>
<p> 注释:接收终端发出的数据</p>
<p> Dtime1 = Timer</p>
<p> Do </p>
<p> Dtime2 = Timer</p>
<p> If Dtime2 - Dtime1 < 2 Then</p>
<p> DoEvents</p>
<p> Else</p>
<p> Response = MsgBox("终端没有数据输出!" & h$ , vbOKOnly + vbExclamation, "警告")</p>
<p> Exit Sub</p>
<p> End If</p>
<p> Loop Until MSComm1.InBufferCount >0 ‘若接受缓冲区等待的字符数大于零,则接收到了数据</p>
<p> </p>
<p> MSComm1.InputLen = 1 ‘从接受缓冲区要读取的字符数</p>
<p> Instring = MSComm1.Input</p>
<p>end sub</p>
<p> </p>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -