标签:VB 通讯 False Sub rx Width 串口 End
VB串口通讯程序3 VERSION 5.00 Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "comdlg32.ocx" Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX" Object = "{6B7E6392-850A-101B-AFC0-4210102A8DA7}#1.3#0"; "comctl32.ocx" Object = "{648A5603-2C6E-101B-82B6-000000000014}#1.1#0"; "MSCOMM32.OCX" Begin VB.Form mn_form BackColor = &H00404000& Caption = "西安亚川电力科技有限公司电动机保护器调试软件" ClientHeight = 10020 ClientLeft = 165 ClientTop = 915 ClientWidth = 15615 Icon = "Star_M6.frx":0000 LinkTopic = "Form1" ScaleHeight = 10020 ScaleWidth = 15615 StartUpPosition = 3 '窗口缺省 Begin VB.Timer T_05s00 Enabled = 0 'False Interval = 500 Left = 720 Top = 600 End Begin VB.Timer Timer1 Interval = 1000 Left = 1320 Top = 600 End Begin VB.PictureBox disp_pic BackColor = &H00161602& ForeColor = &H0000C000& Height = 5895 Left = 0 ScaleHeight = 5835 ScaleWidth = 10035 TabIndex = 7 Top = 3480 Width = 10095 End Begin MSComctlLib.Toolbar Toolbar1 Align = 1 'Align Top Height = 420 Left = 0 TabIndex = 0 Top = 0 Width = 15615 _ExtentX = 27543 _ExtentY = 741 ButtonWidth = 609 ButtonHeight = 582 Appearance = 1 ImageList = "imlToolbarIcons" _Version = 393216 BeginProperty Buttons {66833FE8-8583-11D1-B16A-00C0F0283628} NumButtons = 3 BeginProperty Button1 {66833FEA-8583-11D1-B16A-00C0F0283628} Key = "打开串口" Object.ToolTipText = "打开串口" ImageKey = "Forward1" Style = 1 EndProperty BeginProperty Button2 {66833FEA-8583-11D1-B16A-00C0F0283628} Key = "关闭串口" Object.ToolTipText = "关闭串口" ImageKey = "Permission" Style = 1 EndProperty BeginProperty Button3 {66833FEA-8583-11D1-B16A-00C0F0283628} Key = "开始通讯" Object.ToolTipText = "开始通讯" ImageKey = "Phone" Style = 1 EndProperty EndProperty Begin VB.TextBox RAM_addr1th Alignment = 2 'Center Appearance = 0 'Flat BeginProperty Font Name = "宋体" Size = 12 Charset = 134 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ForeColor = &H00800000& Height = 375 Left = 12000 TabIndex = 6 Text = "0" Top = 0 Width = 735 End Begin VB.VScrollBar RAM_VScroll1 Height = 375 Left = 12720 Max = 1216 SmallChange = 32 TabIndex = 5 Top = 0 Width = 255 End Begin VB.VScrollBar SN_VScroll Height = 375 Left = 13950 Max = 199 TabIndex = 4 Top = 0 Value = 1 Width = 255 End Begin VB.TextBox SN_Text Alignment = 2 'Center Appearance = 0 'Flat BeginProperty Font Name = "宋体" Size = 12 Charset = 134 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ForeColor = &H00800000& Height = 360 Left = 13330 TabIndex = 3 Text = "01" Top = 0 Width = 615 End Begin VB.ComboBox Combo1 Appearance = 0 'Flat BeginProperty Font Name = "宋体" Size = 12 Charset = 134 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ForeColor = &H00800000& Height = 360 ItemData = "Star_M6.frx":08CA Left = 14520 List = "Star_M6.frx":08D4 TabIndex = 2 Text = "COM1" Top = 0 Width = 975 End End Begin MSComctlLib.StatusBar sbStatusBar Align = 2 'Align Bottom Height = 270 Left = 0 TabIndex = 1 Top = 9750 Width = 15615 _ExtentX = 27543 _ExtentY = 476 _Version = 393216 BeginProperty Panels {8E3867A5-8586-11D1-B16A-00C0F0283628} NumPanels = 3 BeginProperty Panel1 {8E3867AB-8586-11D1-B16A-00C0F0283628} AutoSize = 1 Object.Width = 21828 Text = "状态" TextSave = "状态" EndProperty BeginProperty Panel2 {8E3867AB-8586-11D1-B16A-00C0F0283628} Style = 6 AutoSize = 2 TextSave = "11-10-8" EndProperty BeginProperty Panel3 {8E3867AB-8586-11D1-B16A-00C0F0283628} Style = 5 AutoSize = 2 TextSave = "8:50" EndProperty EndProperty End Begin MSComDlg.CommonDialog dlgCommonDialog Left = 11280 Top = 6960 _ExtentX = 847 _ExtentY = 847 _Version = 393216 End Begin MSComctlLib.ImageList imlToolbarIcons Left = 11880 Top = 6960 _ExtentX = 1005 _ExtentY = 1005 BackColor = -2147483643 ImageWidth = 16 ImageHeight = 16 MaskColor = 12632256 _Version = 393216 BeginProperty Images {2C247F25-8591-11D1-B16A-00C0F0283628} NumListImages = 3 BeginProperty ListImage1 {2C247F27-8591-11D1-B16A-00C0F0283628} Picture = "Star_M6.frx":08E4 Key = "Forward1" EndProperty BeginProperty ListImage2 {2C247F27-8591-11D1-B16A-00C0F0283628} Picture = "Star_M6.frx":0ABE Key = "Permission" EndProperty BeginProperty ListImage3 {2C247F27-8591-11D1-B16A-00C0F0283628} Picture = "Star_M6.frx":0C98 Key = "Phone" EndProperty EndProperty End Begin MSCommLib.MSComm MSComm1 Left = 120 Top = 600 _ExtentX = 1005 _ExtentY = 1005 _Version = 393216 DTREnable = 0 'False InputLen = 1 OutBufferSize = 1024 RThreshold = 1 InputMode = 1 End Begin ComctlLib.StatusBar StatusBar1 Align = 2 'Align Bottom Height = 255 Left = 0 TabIndex = 11 Top = 9495 Width = 15615 _ExtentX = 27543 _ExtentY = 450 SimpleText = "" _Version = 327682 BeginProperty Panels {0713E89E-850A-101B-AFC0-4210102A8DA7} NumPanels = 2 BeginProperty Panel1 {0713E89F-850A-101B-AFC0-4210102A8DA7} Alignment = 2 Object.Width = 1411 MinWidth = 1411 TextSave = "" Key = "" Object.Tag = "" EndProperty BeginProperty Panel2 {0713E89F-850A-101B-AFC0-4210102A8DA7} Alignment = 2 Object.Width = 1411 MinWidth = 1411 TextSave = "" Key = "" Object.Tag = "" EndProperty EndProperty BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} Name = "宋体" Size = 9 Charset = 0 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty End Begin VB.Label disp_area BackColor = &H00161602& BorderStyle = 1 'Fixed Single BeginProperty Font Name = "宋体" Size = 9 Charset = 134 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ForeColor = &H0000C000& Height = 3030 Left = 0 TabIndex = 10 Top = 430 Width = 10095 End Begin VB.Label rx_data BackColor = &H00000000& BorderStyle = 1 'Fixed Single BeginProperty Font Name = "宋体" Size = 9 Charset = 134 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ForeColor = &H0000C000& Height = 1935 Left = 10200 TabIndex = 9 Top = 1560 Width = 5295 End Begin VB.Label tx_data BackColor = &H00000000& BorderStyle = 1 'Fixed Single BeginProperty Font Name = "宋体" Size = 9 Charset = 134 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ForeColor = &H0000FFFF& Height = 1110 Left = 10200 TabIndex = 8 Top = 430 Width = 5295 End Begin VB.Menu mnu保护器设置 Caption = "保护器设置 " Begin VB.Menu mnu保护器设置sys_set Caption = "基本设置" End Begin VB.Menu mnu保护器设置mu_quit Caption = "退出" End End Begin VB.Menu mnucompt Caption = "保护器参数" End Begin VB.Menu mnuAC_ch Caption = "电参校验" End Begin VB.Menu mnuop Caption = "启/停电机" End Begin VB.Menu mnuhelp Caption = "帮助" End End Attribute VB_Name = "mn_form" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = False Attribute VB_PredeclaredId = True Attribute VB_Exposed = False Dim V_1, V_1_real, V_1_Image, V_2, V_2_real, V_2_Image, V_1_m6, v_ric, tp00, tp01 As Single Dim jhg As Long Public num_rxright, num_sent, rx_CRC, T_pos Sub Send(ByVal Cmd As Integer) Dim k(0) As Byte tx_data.Caption = "" If Cmd = 4 Then T_pos = &H178: Cmd = 3 Else T_pos = RAM_VScroll1.Value tx_b(3) = Array(SN_VScroll.Value, 3, T_pos \ 256, T_pos Mod 256, &H0, &H40, 0, 0, Hour(Time), Minute(Time), Second(Time), 0, 0, 0, 0) tx_b(Cmd)(0) = SN_VScroll.Value: tx_b(Cmd)(1) = Cmd If Cmd = 16 Then Lenth = tx_b(Cmd)(5) * 2 + 7 Else Lenth = 6 Sum = &HFFFF For i = 0 To Lenth - 1 If tx_b(Cmd)(i) < 0 Then tx_b(Cmd)(i) = 256 + tx_b(Cmd)(i) k(0) = tx_b(Cmd)(i) Sum = Sum Xor (k(0) And &HFF) If Sum < 0 Then Sum = 65536 + Sum For j = 0 To 7 If (Sum And 1) = 1 Then Sum = Int(Sum \ 2): Sum = Sum Xor &HA001 If Sum < 0 Then Sum = 65536 + Sum Else Sum = Int(Sum \ 2) End If Next MSComm1.Output = k: tx_data.Caption = tx_data.Caption + hexbyt(Int(k(0))) + " " Next If Sum < 0 Then Sum = 65536 + Sum k(0) = (Sum Mod 256): tx_data.Caption = tx_data.Caption + hexbyt(Int(k(0))) + " " MSComm1.Output = k k(0) = (Sum \ 256): tx_data.Caption = tx_data.Caption + hexbyt(Int(k(0))) + " " MSComm1.Output = k rx_data = "": rx_CRC = &HFFFF End Sub Private Sub Combo1_Change() p = Combo1.ListIndex + 1 If p > 0 And p < 3 Then Call Close_OpenPort(Int(p)) End Sub Private Sub Command1_Click() T_05s00.Enabled = False MSComm1.PortOpen = False End Sub Private Sub Command3_Click() MSComm1.CommPort = 1 MSComm1.Settings = "9600,n,8,1" MSComm1.InputLen = 0 MSComm1.PortOpen = True End Sub Private Sub Command4_Click() T_05s00.Enabled = True End Sub Private Sub Form_Load() Call Close_OpenPort(1) Call MakeToolbarFlat(Toolbar1) For i = 0 To 8 tx_b(i) = Array(&H68, &H3, &H3, &H68, &H20, &H93, &H83, &H85, &H0, &H30 + Second(Time) Mod 10, &H0, &H30 + Second(Time) Mod 10, &H0, &H41 + Second(Time) Mod 10, &H0, &H61 + Second(Time) Mod 10, 0, 0, 0, 0, 1, 7, 6, 5, 4, 3, 2, 1, 7, 6, 5, 4, 3, 2, 1, 0, 0, 0, 0, 1, 7, 6, 5, 4, 3, 2, 1, 7, 6, 5, 4, 3, 2, 1, 0, 0, 0, 0, 1, 7, 6, 5, 4, 3, 2, 1, 7, 6, 5, 4, 3, 2, 1, 0, 0, 0, 0, 1, 7, 6, 5, 4, 3, 2, 1, 7, 6, 5, 4, 3, 2, 1, 0, 0, 0, 0, 1, 7, 6, 5, 4, 3, 2, 1, 7, 6, 5, 4, 3, 2, 1) Next tx_REQ = 3: num_rxright = 0: num_sent = 0 StatusBar1.Panels(1).Width = 3000 '标题刷新 StatusBar1.Panels(2).Width = 3000 '标题刷新 Dim f As Integer For f = 1 To 5 sbStatusBar.Panels.Add Next f End Sub Private Sub Form_Unload(Cancel As Integer) Dim i As Integer 'close all sub forms关闭所有窗体 For i = Forms.Count - 1 To 1 Step -1 Unload Forms(i) Next If Me.WindowState <> vbMinimized Then SaveSetting App.Title, "Settings", "MainLeft", Me.Left SaveSetting App.Title, "Settings", "MainTop", Me.Top SaveSetting App.Title, "Settings", "MainWidth", Me.Width SaveSetting App.Title, "Settings", "MainHeight", Me.Height End If Unload controlform Unload Comptform Unload Factor_Seting Unload Me End End Sub Private Sub mnuAC_ch_Click() Factor_Seting.Visible = True tx_REQ = 3 End Sub Private Sub mnucompt_Click() Comptform.Visible = True End Sub Private Sub mnuhelp_Click() frmAbout.Show End Sub Private Sub mnuop_Click() controlform.Visible = True End Sub Private Sub mnu保护器设置mu_quit_Click() Unload Me End Sub Private Sub mnu保护器设置sys_set_Click() s_set.Visible = True End Sub Private Sub MSComm1_OnComm() Dim temp As Variant MSComm1.InputLen = 1 While MSComm1.InBufferCount <> 0 temp = MSComm1.Input If rx_ptr < 150 Then If rx_ptr = 3 Then rx_data.Caption = rx_data.Caption + vbCr rx_b(rx_ptr) = temp(0): rx_data.Caption = rx_data.Caption + hexbyt(Int(temp(0))) + " " rx_ptr = rx_ptr + 1 rx_CRC = rx_CRC Xor (temp(0) And &HFF) If rx_CRC < 0 Then rx_CRC = 65536 + rx_CRC For j = 0 To 7 If (rx_CRC And 1) = 1 Then rx_CRC = Int(rx_CRC \ 2) rx_CRC = rx_CRC Xor &HA001 If rx_CRC < 0 Then rx_CRC = 65536 + rx_CRC Else rx_CRC = Int(rx_CRC \ 2) End If Next End If Wend End Sub Private Sub RAM_VScroll1_Change() RAM_addr1th.Text = strhex(RAM_VScroll1.Value) BBB = strhex(RAM_VScroll1.Value) End Sub Private Sub rx_data_Change() jhg = jhg + 1 StatusBar1.Panels(2) = "通讯接收" + Str(jhg \ 8) + "次数据" '统计接收次数 End Sub Private Sub SN_VScroll_Change() SN_Text.Text = Str(SN_VScroll.Value) '站号调整与显示 End Sub Private Sub T_05s00_Timer() If rx_CRC = 0 Then Call Process num_rxright = (num_rxright + 1) Mod 10000 '显示接收正确次数 jhg = jhg + 1 StatusBar1.Panels(2) = Str(num_rxright) End If Call Send(tx_REQ) '发送默认命令 If tx_REQ <> 3 Then tx_REQ = 3 num_sent = (num_sent + 1) Mod 10000 StatusBar1.Panels(1) = "通讯发送" + Str(num_sent) + "次命令" '显示召唤次数 rx_ptr = 0 If AAA = "128" Then RAM_VScroll1.Value = AAA End If End Sub Sub Close_OpenPort(port As Byte) On Error Resume Next ' 改变错误处理的方式。 Err.Clear If MSComm1.PortOpen = True Then MSComm1.CommPort = port MSComm1.Settings = "9600,n,8,1" MSComm1.InputLen = 0 End If If Err.Number <> 0 Then msg = "Error # " & Str(Err.Number) & " was generated by " _ & Err.Source & Chr(13) & Err.Description MsgBox msg, , "Error", Err.HelpFile, Err.HelpContext End If End Sub Public Sub Process() If (T_pos < 410) Then disp_area.Caption = "" For i = 0 To 63 D_int(i) = b_i(rx_b(4 + i * 2), rx_b(3 + i * 2)) If D_int(i) >= 0 Then disp_area.Caption = disp_area.Caption + Format(D_int(i), " 00000 ") Else disp_area.Caption = disp_area.Caption + "-" + Format(-D_int(i), "00000 ") End If If (i Mod 8) = 7 Then disp_area.Caption = disp_area.Caption + vbCr + " " Next sindraw (0) End If If T_pos = &H80 Then 'For i = 0 To 7 'Factor_Seting.AC_data(i).Caption = Format(b_i(rx_b(4 + i * 2), rx_b(3 + i * 2)) / 100, "0.00") Factor_Seting.AC_data(1).Caption = Format(b_i(rx_b(8), rx_b(7)) / 100, "0.00") Factor_Seting.AC_data(0).Caption = Format(b_i(rx_b(16), rx_b(15)) / 100, "0.00") Factor_Seting.AC_data(3).Caption = Format(b_i(rx_b(24), rx_b(23)) / 100, "0.00") Factor_Seting.AC_data(2).Caption = Format(b_i(rx_b(32), rx_b(31)) / 1000 * 38, "0.00") Factor_Seting.AC_data(5).Caption = Format(b_i(rx_b(40), rx_b(39)) / 1000 * 38, "0.00") Factor_Seting.AC_data(4).Caption = Format(b_i(rx_b(102), rx_b(101)) / 1000, "0.00") Factor_Seting.AC_data(7).Caption = Format(b_i(rx_b(104), rx_b(103)) / 1000, "0.00") 'Factor_Seting.AC_data(7).Caption = Format(b_i(rx_b(6 + i * 2), rx_b(5 + i * 2)) / 100, "0.00") 'Next End If If T_pos = &H178 Then For i = 0 To 7 If rx_b(3 + i) < 128 Then Factor_Seting.VScroll1(i).Value = -rx_b(3 + i) Else Factor_Seting.VScroll1(i).Value = 256 - rx_b(3 + i) Next End If End Sub Public Sub sindraw(ByVal ch As Integer) disp_pic.Cls xsc = (disp_pic.Width - 200) / 32: ysc = (disp_pic.Height - 200) / 1280: xax = disp_pic.Height / 2 disp_pic.Line (xsc, xax)-(disp_pic.Width - xsc, xax), RGB(128, 128, 128) disp_pic.Line (xsc, 100)-(xsc, disp_pic.Height - 100), RGB(128, 128, 128) If T_pos < &H60 Then For i = 1 To 31 disp_pic.Line (i * xsc, D_int((i - 1) Mod 16) * ysc + xax)-((i + 1) * xsc, D_int(i Mod 16) * ysc + xax), RGB(250, ch * 50, 0) disp_pic.Line (i * xsc, D_int((i - 1) Mod 16 + 16) * ysc + xax)-((i + 1) * xsc, D_int(i Mod 16 + 16) * ysc + xax), RGB(250, ch * 50, 200) disp_pic.Line (i * xsc, D_int((i - 1) Mod 16 + 32) * ysc + xax)-((i + 1) * xsc, D_int(i Mod 16 + 32) * ysc + xax), RGB(210, 150, 220) disp_pic.Line (i * xsc, D_int((i - 1) Mod 16 + 48) * ysc + xax)-((i + 1) * xsc, D_int(i Mod 16 + 48) * ysc + xax), RGB(150, ch * 50, 100) Next Else For i = 1 To 31 disp_pic.Line (i * xsc, xax)-((i + 1) * xsc, xax), RGB(250, ch * 50, 0) disp_pic.Line (i * xsc, 16 * ysc + xax)-((i + 1) * xsc, 16 * ysc + xax), RGB(250, ch * 50, 200) disp_pic.Line (i * xsc, 32 * ysc + xax)-((i + 1) * xsc, 32 * ysc + xax), RGB(210, 150, 220) disp_pic.Line (i * xsc, 48 * ysc + xax)-((i + 1) * xsc, 48 * ysc + xax), RGB(150, ch * 50, 100) Next End If End Sub Sub Delay(ByVal msValue As Long) Dim EndTime As Long EndTime = GetTickCount + msValue Do DoEvents Loop Until GetTickCount >= EndTime End Sub Private Sub Timer1_Timer() With sbStatusBar.Panels .Item(1).Width = 1500 .Item(1).Text = "当前通讯口COM1,波特率9600bit" .Item(2).Width = 1100 .Item(2).Text = "" .Item(3).Width = 1100 .Item(3).Text = "" .Item(4).Width = 1500 .Item(4).Text = Str(num_rxright) .Item(5).Width = 3800 .Item(5).Bevel = sbrNoBevel '空白 .Item(6).Width = 1500 .Item(6).Text = Format(Date, " yyyy年mm月dd日 ") .Item(7).Width = 800 .Item(7).Text = myweekday .Item(8).Width = 1300 .Item(8).Text = Format(Time, "hh时mm分ss秒 ") End With End Sub Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) On Error Resume Next Select Case Button.Key Case "打开串口" MSComm1.CommPort = 1 MSComm1.Settings = "9600,n,8,1" MSComm1.InputLen = 0 MSComm1.PortOpen = True Case "关闭串口" T_05s00.Enabled = False MSComm1.PortOpen = False Case "开始通讯" T_05s00.Enabled = True End Select End Sub VERSION 5.00 Begin VB.Form s_set BorderStyle = 1 'Fixed Single Caption = "系统设置" ClientHeight = 4830 ClientLeft = 45 ClientTop = 435 ClientWidth = 8865 Icon = "sys_set.frx":0000 LinkTopic = "Form1" MaxButton = 0 'False MinButton = 0 'False ScaleHeight = 4830 ScaleWidth = 8865 StartUpPosition = 3 '窗口缺省 Begin VB.CommandButton Command1 Caption = "确认" Height = 615 Left = 6840 Picture = "sys_set.frx":038A Style = 1 'Graphical TabIndex = 25 Top = 3600 Width = 1215 End Begin VB.TextBox Text1 Alignment = 1 'Right Justify BeginProperty Font Name = "宋体" Size = 12 Charset = 134 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 405 Index = 3 Left = 7200 TabIndex = 24 Text = "1.0" Top = 2280 Width = 735 End Begin VB.VScrollBar VScroll1 Height = 375 Index = 3 Left = 7920 Max = 255 Min = 1 TabIndex = 23 Top = 2280 Value = 1 Width = 255 End Begin VB.VScrollBar VScroll1 Height = 375 Index = 2 Left = 7920 Max = 255 Min = 1 TabIndex = 20 Top = 1680 Value = 10 Width = 255 End Begin VB.VScrollBar VScroll1 Height = 375 Index = 1 Left = 7920 Max = 5 Min = 1 TabIndex = 19 Top = 1080 Value = 1 Width = 255 End Begin VB.VScrollBar VScroll1 Height = 375 Index = 0 Left = 7920 Max = 99 Min = 1 TabIndex = 18 Top = 480 Value = 1 Width = 255 End Begin VB.TextBox Text1 Alignment = 1 'Right Justify BeginProperty Font Name = "宋体" Size = 12 Charset = 134 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 405 Index = 2 Left = 7200 TabIndex = 17 Text = "1.0" Top = 1680 Width = 735 End Begin VB.TextBox Text1 Alignment = 1 'Right Justify BeginProperty Font Name = "宋体" Size = 12 Charset = 134 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 405 Index = 1 Left = 7200 TabIndex = 16 Text = "1" Top = 1080 Width = 735 End Begin VB.TextBox Text1 Alignment = 1 'Right Justify BeginProperty Font Name = "宋体" Size = 12 Charset = 134 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 405 Index = 0 Left = 7200 TabIndex = 15 Text = "1" Top = 480 Width = 735 End Begin VB.ComboBox Combo1 Height = 300 Index = 5 ItemData = "sys_set.frx":0714 Left = 2280 List = "sys_set.frx":072A TabIndex = 5 Text = "100ms" Top = 4080 Width = 1215 End Begin VB.ComboBox Combo1 Height = 300 Index = 4 ItemData = "sys_set.frx":0757 Left = 2280 List = "sys_set.frx":076D TabIndex = 4 Text = "100ms" Top = 3240 Width = 1215 End Begin VB.ComboBox Combo1 Height = 300 Index = 3 ItemData = "sys_set.frx":079A Left = 2280 List = "sys_set.frx":07A4 TabIndex = 3 Text = "上升沿" Top = 2520 Width = 1215 End Begin VB.ComboBox Combo1 Height = 300 Index = 2 ItemData = "sys_set.frx":07B6 Left = 2280 List = "sys_set.frx":07C6 TabIndex = 2 Text = "保护模式" Top = 1800 Width = 1215 End Begin VB.ComboBox Combo1 Height = 300 Index = 1 ItemData = "sys_set.frx":07F5 Left = 2280 List = "sys_set.frx":0805 TabIndex = 1 Text = "Ia" Top = 1080 Width = 1215 End Begin VB.ComboBox Combo1 Height = 300 Index = 0 ItemData = "sys_set.frx":0819 Left = 2280 List = "sys_set.frx":0826 TabIndex = 0 Text = "面板方式" Top = 480 Width = 1215 End Begin VB.Label Label1 Alignment = 1 'Right Justify Caption = "CT 变比" BeginProperty Font Name = "宋体" Size = 10.5 Charset = 134 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 255 Index = 9 Left = 5400 TabIndex = 22 Top = 2400 Width = 1455 End Begin VB.Label Label2 Caption = "CT变比" Height = 15 Left = 5280 TabIndex = 21 Top = 2400 Width = 1215 End Begin VB.Label Label1 Alignment = 1 'Right Justify Caption = "星-三角启动切换时间" BeginProperty Font Name = "宋体" Size = 10.5 Charset = 134 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 255 Index = 8 Left = 4440 TabIndex = 14 Top = 1800 Width = 2415 End Begin VB.Label Label1 Alignment = 1 'Right Justify Caption = "散热时间系数" BeginProperty Font Name = "宋体" Size = 10.5 Charset = 134 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 255 Index = 7 Left = 5160 TabIndex = 13 Top = 1200 Width = 1695 End Begin VB.Label Label1 Alignment = 1 'Right Justify Caption = "通信站号" BeginProperty Font Name = "宋体" Size = 10.5 Charset = 134 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 255 Index = 6 Left = 5160 TabIndex = 12 Top = 600 Width = 1695 End Begin VB.Label Label1 Alignment = 1 'Right Justify Caption = "启停出口方式" BeginProperty Font Name = "宋体" Size = 10.5 Charset = 134 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 255 Index = 5 Left = 240 TabIndex = 11 Top = 4080 Width = 1695 End Begin VB.Label Label1 Alignment = 1 'Right Justify Caption = "跳闸出口方式" BeginProperty Font Name = "宋体" Size = 10.5 Charset = 134 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 255 Index = 4 Left = 240 TabIndex = 10 Top = 3240 Width = 1695 End Begin VB.Label Label1 Alignment = 1 'Right Justify Caption = "接点检测方式" BeginProperty Font Name = "宋体" Size = 10.5 Charset = 134 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 255 Index = 3 Left = 240 TabIndex = 9 Top = 2520 Width = 1695 End Begin VB.Label Label1 Alignment = 1 'Right Justify Caption = "控制模式" BeginProperty Font Name = "宋体" Size = 10.5 Charset = 134 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 255 Index = 2 Left = 240 TabIndex = 8 Top = 1800 Width = 1695 End Begin VB.Label Label1 Alignment = 1 'Right Justify Caption = "模拟量输出" BeginProperty Font Name = "宋体" Size = 10.5 Charset = 134 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 255 Index = 1 Left = 240 TabIndex = 7 Top = 1080 Width = 1695 End Begin VB.Label Label1 Alignment = 1 'Right Justify Caption = "操作权限" BeginProperty Font Name = "宋体" Size = 10.5 Charset = 134 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 255 Index = 0 Left = 240 TabIndex = 6 Top = 510 Width = 1695 End End Attribute VB_Name = "s_set" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = False Attribute VB_PredeclaredId = True Attribute VB_Exposed = False Dim hcd(32) As Byte Private Sub Command1_Click() For i = 0 To 2 If Combo1(i * 2).ListIndex < 0 Then Combo1(i * 2).ListIndex = 0 If Combo1(i * 2 + 1).ListIndex < 0 Then Combo1(i * 2 + 1).ListIndex = 0 hcd(i) = (Combo1(i * 2).ListIndex + 1) * 16 + (Combo1(i * 2 + 1).ListIndex + 1) hcd(i + 3) = VScroll1(i).Value Next hcd(7) = VScroll1(3).Value hcd(10) = &H34: hcd(11) = &HDA For i = 0 To 4 hcd(10) = hcd(10) Xor hcd(i * 2): hcd(11) = hcd(11) Xor hcd(i * 2 + 1) Next i = 14 * 8 + &H100 tx_b(16) = Array(&H8, &H10, i \ 256, i Mod 256, 0, &H8, &H10, Hour(Time), Minute(Time), Second(Time), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) hcd(12) = &HFF: hcd(13) = &HFF: hcd(14) = &H12: hcd(15) = &H34 For i = 7 To 7 + 32: tx_b(16)(i) = hcd(i - 7): Next tx_REQ = 16 End Sub Private Sub VScroll1_Change(Index As Integer) If Index = 2 Then Text1(2).Text = Format(VScroll1(2).Value / 10, "0.0") Else Text1(Index).Text = VScroll1(Index).Value End If End Sub标签:VB,通讯,False,Sub,rx,Width,串口,End 来源: https://www.cnblogs.com/zgdcnyhl/p/12344226.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。