vb编写的串口调试程序(源代码) 点击:3698 | 回复:8



Javen_yue

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:27帖 | 43回
  • 年度积分:0
  • 历史总积分:141
  • 注册:2005年5月13日
发表于:2005-05-17 13:23:00
楼主
小弟刚入行不久,写了个小程序,希望各位大侠能帮我指点一二,谢谢! Public countRX As Integer Public countTX As Integer Public num As Byte Public setport As String Private Sub Combo1_Click() openport End Sub Private Sub combo2_click() openport End Sub Private Sub combo3_click() openport End Sub Private Sub combo4_click() openport End Sub Private Sub combo5_click() openport End Sub Private Sub Command3_Click() Text1.Text = "" End Sub Private Sub Command4_Click() '手动发送 Dim send() As Byte Dim i As Integer Dim length As Integer Dim a() As Byte Dim b As Byte length = Len(Text2.Text) If length > 0 Then ReDim a(length - 1) ReDim send(length - 1) End If send = Text2.Text countTX = countTX + length If Check2.Value = 0 Then MSComm1.Output = send 'countTX = countTX + MSComm1.OutBufferCount Else i = 0 b = 0 Do While i <= (length - 1) * 2 If ((send(i) >= 48 And send(i) <= 57) Or (send(i) >= 65 And send(i) <= 70) Or (send(i) >= 97 And send(i) <= 102)) Then If (send(i) >= 97 And send(i) <= 102) Then a(b) = send(i) - 32 Else a(b) = send(i) End If Else If b > 0 Then ReDim Preserve a(b - 1) End If Exit Do End If i = i + 2 b = b + 1 DoEvents Loop MSComm1.Output = a End If Label5.Caption = "TX:" & countTX End Sub Private Sub command5_Click() Text2.Text = " " End Sub Private Sub Command6_Click() Label4.Caption = "RX:0 " Label5.Caption = "TX:0 " End Sub Private Sub Form_Load() Combo1.ListIndex = 0 'initial Combo2.ListIndex = 0 Combo3.ListIndex = 0 Combo4.ListIndex = 0 Combo5.ListIndex = 0 End Sub Sub openport() 'Dim num As Byte 'Dim setport As String On Error GoTo msg num = Combo1.ListIndex + 1 If MSComm1.PortOpen = True Then 'MsgBox ("没有发现串口或被占用") MSComm1.PortOpen = False End If MSComm1.CommPort = num setport = Combo2.Text + "," If Combo3.ListIndex = 0 Then setport = setport + "N," End If If Combo3.ListIndex = 1 Then setport = setport + "O," End If If Combo3.ListIndex = 2 Then setport = setport + "E," End If If Combo4.ListIndex = 0 Then setport = setport + "8," End If If Combo4.ListIndex = 1 Then setport = setport + "7," End If If Combo5.ListIndex = 0 Then setport = setport + "1" End If If Combo5.ListIndex = 1 Then setport = setport + "2" End If MSComm1.Settings = setport MSComm1.PortOpen = True 'If MSComm1.PortOpen = True Then 'Label3.Caption = "stats:" & num & ",open" & "," & setport 'Else ' Label3.Caption = "stats:" & num & "close" & "," & setport 'End If msg: End Sub Sub command1_click() On Error GoTo msg MSComm1.PortOpen = True msg: MsgBox ("port had opened") End Sub Sub command2_click() MSComm1.PortOpen = False End Sub Private Sub Timer1_Timer() If MSComm1.PortOpen = True Then Shape1.FillColor = RGB(0, 255, 0) Command1.Visible = False command2.Visible = True Label3.Caption = "stats:" & num & ",open" & "," & setport Else Shape1.FillColor = RGB(255, 0, 0) Command1.Visible = True command2.Visible = False Label3.Caption = "stats:" & "close" & "!" End If End Sub Private Sub Timer2_Timer() '接收信号 Dim recBuf() As Byte Dim recCnt As Integer Dim str As String Dim i As Integer Dim s



Javen_yue

  • 精华:0帖
  • 求助:0帖
  • 帖子:27帖 | 43回
  • 年度积分:0
  • 历史总积分:141
  • 注册:2005年5月13日
发表于:2005-05-17 20:47:00
1楼
各位大侠有什么意见吗?大家探讨一下好吗

lizy

  • 精华:0帖
  • 求助:0帖
  • 帖子:10帖 | 269回
  • 年度积分:0
  • 历史总积分:1042
  • 注册:2005年2月26日
发表于:2005-05-24 13:25:00
2楼
怎么用1不懂请赐教

Javen_yue

  • 精华:0帖
  • 求助:0帖
  • 帖子:27帖 | 43回
  • 年度积分:0
  • 历史总积分:141
  • 注册:2005年5月13日
发表于:2005-05-25 11:40:00
3楼
那个地方不对啊?我这是在vb6.0上调国的了

weibin21

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:1
  • 注册:2005年5月25日
发表于:2005-05-25 12:00:00
4楼
各位大侠,我刚学习PLC和vb不久,最近要用一个vb程序向PLC中写数据,不知那位高手能否给予指教?

Javen_yue

  • 精华:0帖
  • 求助:0帖
  • 帖子:27帖 | 43回
  • 年度积分:0
  • 历史总积分:141
  • 注册:2005年5月13日
发表于:2005-05-26 15:02:00
5楼
是通过串口吗?还是什么口 啊?说详细点,大家好好探讨以下

wfl10000

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 11回
  • 年度积分:0
  • 历史总积分:21
  • 注册:2003年9月23日
发表于:2005-07-02 01:59:00
6楼
按PLC有关协议向PLC发送指令即可。 不同的PLC有不同的通讯协议,另外还要按要求设定波特率、校验方式、停止位等通讯参数,当然还要准备好通讯电缆了。 可用串口调试助手等工具软件。 如果用以太网模块的话,就要复杂一些了。如果需要实时响应的话,最好通过以太网编程了。 本人编写过LG系列串口和以太网网络,如需要可进一步交流啦。 WFL10000@YAHOO.COM.CN

skyriver1

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 3回
  • 年度积分:0
  • 历史总积分:3
  • 注册:2005年7月09日
发表于:2005-07-09 10:01:00
7楼
能不能把此程序的运行界面发我一份: tengfulin0920@163.com 甚谢!

阿尔斯通

  • 精华:0帖
  • 求助:0帖
  • 帖子:21帖 | 168回
  • 年度积分:0
  • 历史总积分:230
  • 注册:2002年3月31日
发表于:2005-08-05 20:28:00
8楼
本人最近做了VB下的TCPIP协议的驱动,要严格理解并按照协议执行才可以,尤其是错误校验很重要

热门招聘
相关主题

官方公众号

智造工程师