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

📄 demo.frm

📁 16 relay output channels and 16 isolated digital input channels LED indicators to show activated
💻 FRM
📖 第 1 页 / 共 3 页
字号:
      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 + -