📄 demo.frm
字号:
TabIndex = 64
Top = 0
Width = 255
End
Begin VB.Label labReturnValue
Caption = "Return value: "
Height = 252
Left = 3600
TabIndex = 20
Top = 120
Width = 1092
End
Begin VB.Label Label4
Alignment = 1 'Right Justify
Caption = "AD:"
Height = 252
Left = 600
TabIndex = 12
Top = 1080
Width = 492
End
Begin VB.Label Label3
Alignment = 1 'Right Justify
Caption = "AD:"
Height = 252
Left = 480
TabIndex = 11
Top = 1080
Width = 492
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Chk_busy_Click()
txtReturnValue.Text = Str(chkbusy())
End Sub
Private Sub cmdArc_Click()
plan_ch% = cmbChannelBasic.ListIndex + 1
dirc% = CmbArcDir.ListIndex
x1% = Val(txtArcX1.Text)
y1% = Val(txtArcY1.Text)
x2% = Val(txtArcX2.Text)
y2% = Val(TxtArcY2.Text)
txtReturnValue.Text = Str(arc(plan_ch, dirc, x1, y1, x2, y2))
End Sub
Private Sub cmdBaseAddress_Click()
Dim AddressValue As Long
Dim a As String
a = "&H" + txtBaseAddress.Text
AddressValue = Val(a)
txtReturnValue.Text = Str(set_base(AddressValue))
If set_base(AddressValue) = 0 Then
Timer1.Enabled = True
Else
Timer1.Enabled = False
End If
End Sub
Private Sub cmdCmove_Click()
chan% = cmbChannelBasic.ListIndex + 1
dir1% = cmbDir1.ListIndex
dir2% = cmbDir2.ListIndex
dir3% = cmbDir3.ListIndex
speed1% = cmbSpeed1.ListIndex
speed2% = cmbSpeed2.ListIndex
speed3% = cmbSpeed3.ListIndex
txtReturnValue.Text = Str(cmove(chan, dir1, speed1, dir2, speed2, dir3, speed3))
End Sub
Private Sub cmdExit_Click()
End
End Sub
Private Sub cmdInport_Click()
Dim sts As Long
port_no% = cmbPortNo.ListIndex
sts = in_port(port_no)
If sts = -2 Then
txtReturnValue.Text = Val(sts)
Else
txtReturnValue.Text = Hex(sts)
End If
End Sub
Private Sub cmdLine_Click()
plan_ch% = cmbChannelBasic.ListIndex + 1
dx% = Val(txtLineX.Text)
dy% = Val(txtLineY.Text)
dz% = Val(txtLineZ.Text)
txtReturnValue.Text = Str(line3D(plan_ch, dx, dy, dz))
End Sub
Private Sub cmdOrg_Click()
chan% = cmbChannelBasic.ListIndex + 1
dir1% = cmbDir1.ListIndex
dir2% = cmbDir2.ListIndex
dir3% = cmbDir3.ListIndex
speed1% = cmbSpeed1.ListIndex
speed2% = cmbSpeed2.ListIndex
speed3% = cmbSpeed3.ListIndex
txtReturnValue.Text = Str(org(chan, dir1, speed1, dir2, speed2, dir3, speed3))
End Sub
Private Sub cmdOutport_Click()
Dim value As Long
port_no% = cmbPortNo.ListIndex
value = Val(txtPortValue.Text)
txtReturnValue.Text = Str(out_port(port_no, value))
End Sub
Private Sub cmdPmove_Click()
chan% = cmbChannelBasic.ListIndex + 1
dir1% = cmbDir1.ListIndex
dir2% = cmbDir2.ListIndex
dir3% = cmbDir3.ListIndex
speed1% = cmbSpeed1.ListIndex
speed2% = cmbSpeed2.ListIndex
speed3% = cmbSpeed3.ListIndex
step1% = Val(txtStep1.Text)
step2% = Val(txtStep2.Text)
step3% = Val(txtStep3.Text)
txtReturnValue.Text = Str(pmove(chan, dir1, speed1, step1, dir2, speed2, step2, dir3, speed3, step3))
End Sub
Private Sub cmdSetMode_Click()
Dim chan As Integer
Dim mode As Integer
chan = cmbChannel.ListIndex + 1
mode = cmbChannelMode.ListIndex
txtReturnValue.Text = Str(set_mode(chan, mode))
End Sub
Private Sub cmdSetSpeed_Click()
chan% = cmbChannel.ListIndex + 1
FL% = Val(txtChFL.Text)
FH% = Val(txtChFH.Text)
AD% = Val(txtChAD.Text)
txtReturnValue.Text = Str(set_speed(chan, FL, FH, AD))
End Sub
Private Sub cmdSldn_stop_Click()
chan% = cmbOpChannel.ListIndex + 1
txtReturnValue.Text = Str(sldn_stop(chan))
End Sub
Private Sub cmdSlowDown_Click()
chan% = cmbOpChannel.ListIndex + 1
txtReturnValue.Text = Str(slowdown(chan))
End Sub
Private Sub cmdStatus_Click()
Dim sts As Long
chan% = cmbOpChannel.ListIndex + 1
sts = status(chan)
If sts = -2 Or sts = -1 Then
txtReturnValue.Text = Val(sts)
Else
txtReturnValue.Text = Hex(sts) + "(HEX)"
End If
End Sub
Private Sub cmdStop_Click()
chan% = cmbOpChannel.ListIndex + 1
txtReturnValue.Text = Str(m_stop(chan))
End Sub
Private Sub cmdWaitrdy_Click()
chan% = cmbOpChannel.ListIndex + 1
txtReturnValue.Text = Str(waitrdy(chan))
End Sub
Private Sub Form_Load()
Timer1.Enabled = False
Timer1.Interval = 10
'initialize base address
txtBaseAddress.Text = "200"
'initialize retun value
txtReturnValue.Text = "0"
'initialize channel configuration
cmbChannel.AddItem "1"
cmbChannel.AddItem "2"
cmbChannel.AddItem "3"
cmbChannel.AddItem "1&2"
cmbChannel.AddItem "1&3"
cmbChannel.AddItem "2&3"
cmbChannel.AddItem "1&2&3"
cmbChannel.Text = cmbChannel.List(0)
cmbChannel.ListIndex = 0
'initialize mode
cmbChannelMode.AddItem "Direction"
cmbChannelMode.AddItem "Pulse"
cmbChannelMode.Text = cmbChannelMode.List(0)
cmbChannelMode.ListIndex = 0
'initialize acceleration rate
txtChAD.Text = "600"
'initialize high-speed frequency
txtChFH.Text = "200"
'initialize low-speed frequency
txtChFL.Text = "10"
'initialize the channel for mode operation
cmbOpChannel.AddItem "1"
cmbOpChannel.AddItem "2"
cmbOpChannel.AddItem "3"
cmbOpChannel.AddItem "1&2"
cmbOpChannel.AddItem "1&3"
cmbOpChannel.AddItem "2&3"
cmbOpChannel.AddItem "1&2&3"
cmbOpChannel.Text = cmbOpChannel.List(0)
cmbOpChannel.ListIndex = 0
'initialize channel for basic movement
cmbChannelBasic.AddItem "1"
cmbChannelBasic.AddItem "2"
cmbChannelBasic.AddItem "3"
cmbChannelBasic.AddItem "1&2"
cmbChannelBasic.AddItem "1&3"
cmbChannelBasic.AddItem "2&3"
cmbChannelBasic.AddItem "1&2&3"
cmbChannelBasic.Text = cmbChannelBasic.List(0)
cmbChannelBasic.ListIndex = 0
'initialize dir1 for basic movement
cmbDir1.AddItem "+"
cmbDir1.AddItem "-"
cmbDir1.Text = cmbDir1.List(0)
cmbDir1.ListIndex = 0
'initialize dir2 for basic movement
cmbDir2.AddItem "+"
cmbDir2.AddItem "-"
cmbDir2.Text = cmbDir2.List(0)
cmbDir2.ListIndex = 0
'initialize dir3 for basic movement
cmbDir3.AddItem "+"
cmbDir3.AddItem "-"
cmbDir3.Text = cmbDir3.List(0)
cmbDir3.ListIndex = 0
'initialize speed1 for basic movement
cmbSpeed1.AddItem "FL"
cmbSpeed1.AddItem "FH"
cmbSpeed1.Text = cmbSpeed1.List(0)
cmbSpeed1.ListIndex = 0
'initialize speed2 for basic movement
cmbSpeed2.AddItem "FL"
cmbSpeed2.AddItem "FH"
cmbSpeed2.Text = cmbSpeed2.List(0)
cmbSpeed2.ListIndex = 0
'initialize speed3 for basic movement
cmbSpeed3.AddItem "FL"
cmbSpeed3.AddItem "FH"
cmbSpeed3.Text = cmbSpeed3.List(0)
cmbSpeed3.ListIndex = 0
'initialize step1 for basic movement
txtStep1.Text = "1"
txtStep2.Text = "1"
txtStep3.Text = "1"
'initialize port_no for port I/O
cmbPortNo.AddItem "Port 0"
cmbPortNo.AddItem "Port 1"
cmbPortNo.AddItem "Port 0 & 1"
cmbPortNo.Text = cmbPortNo.List(0)
cmbPortNo.ListIndex = 0
'initialize port value
txtPortValue.Text = "0"
'initial counter readback value
Text1.Text = 0
Text2.Text = 0
Text3.Text = 0
'initialize line value
txtLineX.Text = 10
txtLineY.Text = 10
txtLineZ.Text = 10
'initialize arc value
txtArcX1.Text = -50
txtArcY1.Text = 0
txtArcX2.Text = 0
TxtArcY2.Text = 50
'initialize Arcdir for basic movement
CmbArcDir.AddItem "+"
CmbArcDir.AddItem "-"
CmbArcDir.Text = CmbArcDir.List(0)
CmbArcDir.ListIndex = 0
End Sub
Private Sub Timer1_Timer()
Dim cnt1, cnt2, cnt3 As Long
Dim status As Integer
'Get channel 1,2,3 current counter(R0) value
cnt1 = cnt2 = cnt3 = 0
status = Out_byte(0, &H80)
cnt1 = In_byte(1) And &HFF
cnt1 = (In_byte(2) And &HFF) * 256 + cnt1
cnt1 = (In_byte(3) And &H3) * 65536 + cnt1
Text1.Text = Str(cnt1)
status = Out_byte(4, &H80)
cnt2 = In_byte(5) And &HFF
cnt2 = (In_byte(6) And &HFF) * 256 + cnt2
cnt2 = (In_byte(7) And &H3) * 65536 + cnt2
Text2.Text = Str(cnt2)
status = Out_byte(8, &H80)
cnt3 = In_byte(9) And &HFF
cnt3 = (In_byte(10) And &HFF) * 256 + cnt3
cnt3 = (In_byte(11) And &H3) * 65536 + cnt3
Text3.Text = Str(cnt3)
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -