?? chartds2770.bas
字號:
Attribute VB_Name = "ChartDS2770"
Option Explicit
Dim Row As Integer
Dim Column As Integer
Public VoltageData(500) As Variant
Public HighVolt(500) As Variant
Public TempData(500) As Variant
Public HighTemp(500) As Variant
Public CurrentData(500) As Variant
Public HighCurrent(500) As Variant
Public LowCurrent(500) As Variant
Public CapacityData(500) As Variant
Public HighCapacity(500) As Variant
Public Sub UpdateMeter() 'Updates Fuel Pack Meter
Dim PtrX As Single
PtrX = RARC
Select Case PtrX
Case Is < 0
frmEvalKit.FuelGaugeNeedle.X1 = 520
frmEvalKit.FuelGaugeNeedle.Y1 = 1560
Case 0 To 0.1
frmEvalKit.FuelGaugeNeedle.X1 = 520 + (400 * PtrX)
frmEvalKit.FuelGaugeNeedle.Y1 = 1560 - (3000 * PtrX)
Case Is <= 0.2
frmEvalKit.FuelGaugeNeedle.X1 = 560 + (1200 * (PtrX - 0.1))
frmEvalKit.FuelGaugeNeedle.Y1 = 1260 - (2800 * (PtrX - 0.1))
Case Is <= 0.3
frmEvalKit.FuelGaugeNeedle.X1 = 680 + (2400 * (PtrX - 0.2))
frmEvalKit.FuelGaugeNeedle.Y1 = 980 - (2400 * (PtrX - 0.2))
Case Is <= 0.4
frmEvalKit.FuelGaugeNeedle.X1 = 920 + (2800 * (PtrX - 0.3))
frmEvalKit.FuelGaugeNeedle.Y1 = 740 - (1200 * (PtrX - 0.3))
Case Is <= 0.5
frmEvalKit.FuelGaugeNeedle.X1 = 1200 + (2400 * (PtrX - 0.4))
frmEvalKit.FuelGaugeNeedle.Y1 = 620 - (200 * (PtrX - 0.4))
Case Is <= 0.6
frmEvalKit.FuelGaugeNeedle.X1 = 1440 + (2400 * (PtrX - 0.5))
frmEvalKit.FuelGaugeNeedle.Y1 = 600 + (200 * (PtrX - 0.5))
Case Is <= 0.7
frmEvalKit.FuelGaugeNeedle.X1 = 1680 + (2800 * (PtrX - 0.6))
frmEvalKit.FuelGaugeNeedle.Y1 = 620 + (1200 * (PtrX - 0.6))
Case Is <= 0.8
frmEvalKit.FuelGaugeNeedle.X1 = 1960 + (2400 * (PtrX - 0.7))
frmEvalKit.FuelGaugeNeedle.Y1 = 740 + (2400 * (PtrX - 0.7))
Case Is <= 0.9
frmEvalKit.FuelGaugeNeedle.X1 = 2200 + (1200 * (PtrX - 0.8))
frmEvalKit.FuelGaugeNeedle.Y1 = 980 + (2800 * (PtrX - 0.8))
Case Is <= 1
frmEvalKit.FuelGaugeNeedle.X1 = 2320 + (400 * (PtrX - 0.9))
frmEvalKit.FuelGaugeNeedle.Y1 = 1260 + (3000 * (PtrX - 0.9))
Case Is > 1
frmEvalKit.FuelGaugeNeedle.X1 = 2360
frmEvalKit.FuelGaugeNeedle.Y1 = 1560
End Select
End Sub
Sub VoltageMeter()
Dim Max As Single
Dim PtrX As Single
Max = 5
PtrX = (Voltage / Max)
Select Case PtrX
Case Is < 0
frmEvalKit.VoltNeedle.X1 = 360
frmEvalKit.VoltNeedle.Y1 = 1245
Case 0 To 0.1
frmEvalKit.VoltNeedle.X1 = 360 + (300 * PtrX)
frmEvalKit.VoltNeedle.Y1 = 1245 - (1600 * PtrX)
Case Is <= 0.2
frmEvalKit.VoltNeedle.X1 = 390 + (1100 * (PtrX - 0.1))
frmEvalKit.VoltNeedle.Y1 = 1085 - (2300 * (PtrX - 0.1))
Case Is <= 0.3
frmEvalKit.VoltNeedle.X1 = 500 + (1800 * (PtrX - 0.2))
frmEvalKit.VoltNeedle.Y1 = 855 - (1500 * (PtrX - 0.2))
Case Is <= 0.4
frmEvalKit.VoltNeedle.X1 = 680 + (1600 * (PtrX - 0.3))
frmEvalKit.VoltNeedle.Y1 = 705 - (800 * (PtrX - 0.3))
Case Is <= 0.5
frmEvalKit.VoltNeedle.X1 = 840 + (1600 * (PtrX - 0.4))
frmEvalKit.VoltNeedle.Y1 = 625 - (400 * (PtrX - 0.4))
Case Is <= 0.6
frmEvalKit.VoltNeedle.X1 = 1000 + (1600 * (PtrX - 0.5))
frmEvalKit.VoltNeedle.Y1 = 585 + (400 * (PtrX - 0.5))
Case Is <= 0.7
frmEvalKit.VoltNeedle.X1 = 1160 + (1600 * (PtrX - 0.6))
frmEvalKit.VoltNeedle.Y1 = 625 + (800 * (PtrX - 0.6))
Case Is <= 0.8
frmEvalKit.VoltNeedle.X1 = 1320 + (1800 * (PtrX - 0.7))
frmEvalKit.VoltNeedle.Y1 = 705 + (1500 * (PtrX - 0.7))
Case Is <= 0.9
frmEvalKit.VoltNeedle.X1 = 1500 + (1100 * (PtrX - 0.8))
frmEvalKit.VoltNeedle.Y1 = 885 + (2300 * (PtrX - 0.8))
Case Is <= 1
frmEvalKit.VoltNeedle.X1 = 1610 + (300 * (PtrX - 0.9))
frmEvalKit.VoltNeedle.Y1 = 1085 + (1600 * (PtrX - 0.9))
Case Is > 1
frmEvalKit.VoltNeedle.X1 = 1640
frmEvalKit.VoltNeedle.Y1 = 1245
End Select
End Sub
Sub CurrentMeter()
Dim Max As Single
Dim PtrX As Single
Max = 2
If Current < 0 Then
PtrX = -(Current / Max)
frmEvalKit.lblHalfCurrent.Caption = "-1"
frmEvalKit.lblFullCurrent.Caption = "-2"
Else
PtrX = (Current / Max)
frmEvalKit.lblHalfCurrent.Caption = "1"
frmEvalKit.lblFullCurrent.Caption = "2"
End If
Select Case PtrX
Case Is < 0
frmEvalKit.CurrentNeedle.X1 = 360
frmEvalKit.CurrentNeedle.Y1 = 1245
Case 0 To 0.1
frmEvalKit.CurrentNeedle.X1 = 360 + (300 * PtrX)
frmEvalKit.CurrentNeedle.Y1 = 1245 - (1600 * PtrX)
Case Is <= 0.2
frmEvalKit.CurrentNeedle.X1 = 390 + (1100 * (PtrX - 0.1))
frmEvalKit.CurrentNeedle.Y1 = 1085 - (2300 * (PtrX - 0.1))
Case Is <= 0.3
frmEvalKit.CurrentNeedle.X1 = 500 + (1800 * (PtrX - 0.2))
frmEvalKit.CurrentNeedle.Y1 = 855 - (1500 * (PtrX - 0.2))
Case Is <= 0.4
frmEvalKit.CurrentNeedle.X1 = 680 + (1600 * (PtrX - 0.3))
frmEvalKit.CurrentNeedle.Y1 = 705 - (800 * (PtrX - 0.3))
Case Is <= 0.5
frmEvalKit.CurrentNeedle.X1 = 840 + (1600 * (PtrX - 0.4))
frmEvalKit.CurrentNeedle.Y1 = 625 - (400 * (PtrX - 0.4))
Case Is <= 0.6
frmEvalKit.CurrentNeedle.X1 = 1000 + (1600 * (PtrX - 0.5))
frmEvalKit.CurrentNeedle.Y1 = 585 + (400 * (PtrX - 0.5))
Case Is <= 0.7
frmEvalKit.CurrentNeedle.X1 = 1160 + (1600 * (PtrX - 0.6))
frmEvalKit.CurrentNeedle.Y1 = 625 + (800 * (PtrX - 0.6))
Case Is <= 0.8
frmEvalKit.CurrentNeedle.X1 = 1320 + (1800 * (PtrX - 0.7))
frmEvalKit.CurrentNeedle.Y1 = 705 + (1500 * (PtrX - 0.7))
Case Is <= 0.9
frmEvalKit.CurrentNeedle.X1 = 1500 + (1100 * (PtrX - 0.8))
frmEvalKit.CurrentNeedle.Y1 = 885 + (2300 * (PtrX - 0.8))
Case Is <= 1
frmEvalKit.CurrentNeedle.X1 = 1610 + (300 * (PtrX - 0.9))
frmEvalKit.CurrentNeedle.Y1 = 1085 + (1600 * (PtrX - 0.9))
Case Is > 1
frmEvalKit.CurrentNeedle.X1 = 1640
frmEvalKit.CurrentNeedle.Y1 = 1245
End Select
End Sub
Sub CapacityMeter()
Dim Max As Single
Dim PtrX As Single
If BatteryCapacity = 0 Then
Max = 2000
PtrX = ACR / Max
Else
Max = BatteryCapacity
PtrX = ACR / BatteryCapacity
End If
Select Case PtrX
Case Is < 0
frmEvalKit.AccNeedle.X1 = 360
frmEvalKit.AccNeedle.Y1 = 1245
Case 0 To 0.1
frmEvalKit.AccNeedle.X1 = 360 + (300 * PtrX)
frmEvalKit.AccNeedle.Y1 = 1245 - (1600 * PtrX)
Case Is <= 0.2
frmEvalKit.AccNeedle.X1 = 390 + (1100 * (PtrX - 0.1))
frmEvalKit.AccNeedle.Y1 = 1085 - (2300 * (PtrX - 0.1))
Case Is <= 0.3
frmEvalKit.AccNeedle.X1 = 500 + (1800 * (PtrX - 0.2))
frmEvalKit.AccNeedle.Y1 = 855 - (1500 * (PtrX - 0.2))
Case Is <= 0.4
frmEvalKit.AccNeedle.X1 = 680 + (1600 * (PtrX - 0.3))
frmEvalKit.AccNeedle.Y1 = 705 - (800 * (PtrX - 0.3))
Case Is <= 0.5
frmEvalKit.AccNeedle.X1 = 840 + (1600 * (PtrX - 0.4))
frmEvalKit.AccNeedle.Y1 = 625 - (400 * (PtrX - 0.4))
Case Is <= 0.6
frmEvalKit.AccNeedle.X1 = 1000 + (1600 * (PtrX - 0.5))
frmEvalKit.AccNeedle.Y1 = 585 + (400 * (PtrX - 0.5))
Case Is <= 0.7
frmEvalKit.AccNeedle.X1 = 1160 + (1600 * (PtrX - 0.6))
frmEvalKit.AccNeedle.Y1 = 625 + (800 * (PtrX - 0.6))
Case Is <= 0.8
frmEvalKit.AccNeedle.X1 = 1320 + (1800 * (PtrX - 0.7))
frmEvalKit.AccNeedle.Y1 = 705 + (1500 * (PtrX - 0.7))
Case Is <= 0.9
frmEvalKit.AccNeedle.X1 = 1500 + (1100 * (PtrX - 0.8))
frmEvalKit.AccNeedle.Y1 = 885 + (2300 * (PtrX - 0.8))
Case Is <= 1
frmEvalKit.AccNeedle.X1 = 1610 + (300 * (PtrX - 0.9))
frmEvalKit.AccNeedle.Y1 = 1085 + (1600 * (PtrX - 0.9))
Case Is > 1
frmEvalKit.AccNeedle.X1 = 1640
frmEvalKit.AccNeedle.Y1 = 1245
End Select
End Sub
Sub Thermometer()
Dim Max As Single
Dim PtrX As Single
Max = 250
PtrX = ((Temperature + 125) / Max)
Select Case PtrX
Case Is < 0
frmEvalKit.TempNeedle.X1 = 360
frmEvalKit.TempNeedle.Y1 = 1245
Case 0 To 0.1
frmEvalKit.TempNeedle.X1 = 360 + (300 * PtrX)
frmEvalKit.TempNeedle.Y1 = 1245 - (1600 * PtrX)
Case Is <= 0.2
frmEvalKit.TempNeedle.X1 = 390 + (1100 * (PtrX - 0.1))
frmEvalKit.TempNeedle.Y1 = 1085 - (2300 * (PtrX - 0.1))
Case Is <= 0.3
frmEvalKit.TempNeedle.X1 = 500 + (1800 * (PtrX - 0.2))
frmEvalKit.TempNeedle.Y1 = 855 - (1500 * (PtrX - 0.2))
Case Is <= 0.4
frmEvalKit.TempNeedle.X1 = 680 + (1600 * (PtrX - 0.3))
frmEvalKit.TempNeedle.Y1 = 705 - (800 * (PtrX - 0.3))
Case Is <= 0.5
frmEvalKit.TempNeedle.X1 = 840 + (1600 * (PtrX - 0.4))
frmEvalKit.TempNeedle.Y1 = 625 - (400 * (PtrX - 0.4))
Case Is <= 0.6
frmEvalKit.TempNeedle.X1 = 1000 + (1600 * (PtrX - 0.5))
frmEvalKit.TempNeedle.Y1 = 585 + (400 * (PtrX - 0.5))
Case Is <= 0.7
frmEvalKit.TempNeedle.X1 = 1160 + (1600 * (PtrX - 0.6))
frmEvalKit.TempNeedle.Y1 = 625 + (800 * (PtrX - 0.6))
Case Is <= 0.8
frmEvalKit.TempNeedle.X1 = 1320 + (1800 * (PtrX - 0.7))
frmEvalKit.TempNeedle.Y1 = 705 + (1500 * (PtrX - 0.7))
Case Is <= 0.9
frmEvalKit.TempNeedle.X1 = 1500 + (1100 * (PtrX - 0.8))
frmEvalKit.TempNeedle.Y1 = 885 + (2300 * (PtrX - 0.8))
Case Is <= 1
frmEvalKit.TempNeedle.X1 = 1610 + (300 * (PtrX - 0.9))
frmEvalKit.TempNeedle.Y1 = 1085 + (1600 * (PtrX - 0.9))
Case Is > 1
frmEvalKit.TempNeedle.X1 = 1640
frmEvalKit.TempNeedle.Y1 = 1245
End Select
End Sub
Sub VoltageChart()
With frmEvalKit.chtVoltageChart
.chartType = VtChChartType2dLine
.ColumnCount = 2
.RowCount = 500
For Row = 1 To 500
.Column = 1
.Row = Row
If Row = 500 Then
VoltageData(500) = Voltage
Else
VoltageData(Row) = VoltageData(Row + 1)
End If
.data = VoltageData(Row)
.Column = 2
.Row = Row
If Row = 500 Then
HighVolt(500) = Voltage + 1
Else
HighVolt(Row) = HighVolt(Row + 1)
End If
.data = HighVolt(Row)
Next Row
End With
End Sub
Sub TempChart()
With frmEvalKit.chtTempChart
.chartType = VtChChartType2dLine
.ColumnCount = 2
.RowCount = 500
For Row = 1 To 500
.Column = 1
.Row = Row
If Row = 500 Then
TempData(500) = Temperature
Else
TempData(Row) = TempData(Row + 1)
End If
.data = TempData(Row)
.Column = 2
.Row = Row
If Row = 500 Then
HighTemp(500) = Temperature + 5
Else
HighTemp(Row) = HighTemp(Row + 1)
End If
.data = HighTemp(Row)
Next Row
End With
End Sub
Sub CurrentChart()
With frmEvalKit.chtCurrentChart
.chartType = VtChChartType2dLine
.ColumnCount = 3
.RowCount = 500
For Row = 1 To 500
.Column = 1
.Row = Row
If Row = 500 Then
CurrentData(500) = Current * 1000
Else
CurrentData(Row) = CurrentData(Row + 1)
End If
.data = CurrentData(Row)
.Column = 2
.Row = Row
If Row = 500 Then
HighCurrent(500) = (Current * 1000) + 10
Else
HighCurrent(Row) = HighCurrent(Row + 1)
End If
.data = HighCurrent(Row)
.Column = 3
.Row = Row
If Row = 500 Then
LowCurrent(500) = (Current * 1000) - 10
Else
LowCurrent(Row) = LowCurrent(Row + 1)
End If
.data = LowCurrent(Row)
Next Row
End With
End Sub
Sub CapacityChart()
With frmEvalKit.chtCapacityChart
.chartType = VtChChartType2dLine
.ColumnCount = 2
.RowCount = 500
For Row = 1 To 500
.Column = 1
.Row = Row
If Row = 500 Then
CapacityData(500) = ACR
Else
CapacityData(Row) = CapacityData(Row + 1)
End If
.data = CapacityData(Row)
.Column = 2
.Row = Row
If Row = 500 Then
HighCapacity(500) = (ACR) + 0.2
Else
HighCapacity(Row) = HighCapacity(Row + 1)
End If
.data = HighCapacity(Row)
Next Row
End With
End Sub
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -