⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 canform.frm

📁 vb书本教材
💻 FRM
📖 第 1 页 / 共 2 页
字号:
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   315
      Left            =   30
      TabIndex        =   25
      Top             =   3042
      Width           =   435
   End
   Begin VB.Label Label28 
      BackStyle       =   0  'Transparent
      Caption         =   "25"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   315
      Left            =   30
      TabIndex        =   24
      Top             =   2190
      Width           =   435
   End
   Begin VB.Label Label29 
      BackStyle       =   0  'Transparent
      Caption         =   "10"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   315
      Left            =   30
      TabIndex        =   23
      Top             =   3468
      Width           =   435
   End
   Begin VB.Label Label30 
      BackStyle       =   0  'Transparent
      Caption         =   "20"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   315
      Left            =   30
      TabIndex        =   22
      Top             =   2616
      Width           =   435
   End
   Begin VB.Label Label31 
      BackStyle       =   0  'Transparent
      Caption         =   "35"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   315
      Left            =   30
      TabIndex        =   21
      Top             =   1338
      Width           =   435
   End
   Begin VB.Label Label32 
      BackStyle       =   0  'Transparent
      Caption         =   "45"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   315
      Left            =   30
      TabIndex        =   20
      Top             =   486
      Width           =   435
   End
   Begin VB.Label Label34 
      BackStyle       =   0  'Transparent
      Caption         =   "40"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   315
      Left            =   30
      TabIndex        =   19
      Top             =   912
      Width           =   435
   End
   Begin VB.Label Label35 
      BackStyle       =   0  'Transparent
      Caption         =   "50"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   315
      Left            =   30
      TabIndex        =   18
      Top             =   60
      Width           =   435
   End
   Begin VB.Label Label36 
      BackStyle       =   0  'Transparent
      Caption         =   "30"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   315
      Left            =   30
      TabIndex        =   17
      Top             =   1764
      Width           =   435
   End
   Begin VB.Label Label38 
      BackStyle       =   0  'Transparent
      Caption         =   "0"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   315
      Left            =   30
      TabIndex        =   16
      Top             =   4320
      Width           =   435
   End
   Begin VB.Label Label14 
      Alignment       =   1  'Right Justify
      BackStyle       =   0  'Transparent
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   405
      Left            =   10710
      TabIndex        =   1
      Top             =   390
      Width           =   1845
   End
   Begin VB.Label Label16 
      BackStyle       =   0  'Transparent
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   405
      Left            =   13320
      TabIndex        =   0
      Top             =   360
      Width           =   2025
   End
End
Attribute VB_Name = "CANForm"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim num As Integer
Dim data(10000) As Single
Dim minlx, maxlx, minly, maxly As Integer
Dim mindex As Long

'初始化
Private Sub Form_Load()
  minlx = 0: maxlx = 100
  minly = 0: maxly = 50
  mindex = 0
  Call re_set
  Call link_set
End Sub

  '复位设备
Private Sub re_set()
  Call CAN_Reset(mindex)
End Sub

'连接设备
Private Sub link_set()
  Dim i As Boolean
  Dim canconfig(11) As Byte
  i = CAN_Open(mindex)
  If (i = 0) Then
    MsgBox "无法打开设备", vbCritical, "信息提示"
    Exit Sub
  End If
  canconfig(0) = &H18
  canconfig(1) = &H1C
  canconfig(2) = 0
  canconfig(3) = 0
  canconfig(4) = 0
  canconfig(5) = 0
  canconfig(6) = &HFF
  canconfig(7) = &HFF
  canconfig(8) = &HFF
  canconfig(9) = &HFF
  canconfig(10) = 0
  If CAN_Init(mindex, canconfig(0)) Then
  Else
    MsgBox "通讯卡初始化失败", vbCritical, "信息提示"
    Call CAN_Close(mindex)
  End If
End Sub

'按时钟周期采集数据、绘图、计算
Private Sub Timer1_Timer()
    Call Get_Data
    Call xxd_Lx
    Call cal
End Sub

'采集数据
Sub Get_Data()
  Dim cth, ctl As Integer
  Dim canbuff(13) As Byte
  Dim fv, dv, df As Long
  Dim value(10) As Double
  fv = 5000: df = 0: dv = 4095
  canbuff(0) = &H3
  canbuff(1) = 8
  canbuff(2) = 0
  canbuff(3) = &H55
  canbuff(4) = &H2
  canbuff(5) = 1
  If (CAN_Trans(mindex, canbuff(0), 50) <> 1) Then
    MsgBox " 发送失败 ", vbCritical, "信息提示"
    Timer1.Enabled = False
  Else
    If (CAN_Recv(mindex, canbuff(0), 500)) Then
      ctl = canbuff(7): cth = canbuff(6)
      value(canbuff(5) - 1) = ctl + cth * 256
      Tdata.Text = Format(CStr(((value(canbuff(5) - 1) And dv) / dv * fv - df) - 1) * 25 / 1000, "0.0")
      data(num) = Val(Tdata.Text)
      num = num + 1
      Tnum.Text = Str(num)
    End If
  End If
End Sub

'绘制实时变化曲线图
Sub xxd_Lx()
  If num > 100 Then
    minlx = minlx + 1: maxlx = maxlx + 1
  End If
  kk = 5
  pl.Cls
  pl.BackColor = QBColor(15)
  pl.Scale (minlx, maxly)-(maxlx, minly)
  pl.DrawWidth = 1
  For i = 1 To 12
    X1 = 0: Y1 = kk
    X2 = maxlx: Y2 = kk
    pl.Line (X1, Y1)-(X2, Y2), QBColor(6)
    kk = kk + 5
  Next i
  pl.DrawWidth = 3
  For i = 1 To num - 1
    X1 = (i - 1): Y1 = data(i - 1)
    X2 = i: Y2 = data(i)
    pl.Line (X1, Y1)-(X2, Y2), QBColor(0)
  Next i
End Sub

'计算平均值、最大、最小值
Sub cal()
  Sum = 0
  Max = Val(data(0)): Min = Max
  For i = 0 To num - 1
    If data(i) >= Max Then Max = data(i)
    If data(i) <= Min Then Min = data(i)
    Sum = Sum + data(i)
  Next i
  aver = Sum / num
  Tmax.Text = Format$(Max, "0.0")
  Tmin.Text = Format$(Min, "0.0")
  Taver.Text = Format$(aver, "0.0")
End Sub

'关闭设备、程序
Private Sub Cmdquit_Click()
  Call CAN_Close(mindex)                             '关闭设备
  Unload Me
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -