亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? deskwinnccontroller.bas

?? 單片機開放式數控系統 使用vb編寫
?? BAS
字號:
Attribute VB_Name = "Module1"
''  Copyright Carken Co. 2001 - 2004 All rights reserved.
Option Explicit

Public Const COMMANDFAILED = 0
Public Const COMMANDACCEPTED = 1
Public Const BUFFERFULL = 2

Const TC = 27
Const NumAxis = 4
Const Inverted = 0
Const TagAlongAxis = 0

Global ControllerFound As Boolean
Global Port As Long
Global Mode2ndGen As Boolean
Global InPosition As Boolean
Global FirmVer As Double
Global EmStop As Boolean
Global Paused As Boolean


Public Function SendAPICommandToController(com As TDeskWinAPICommand) As Long

  Dim X As Long
  Dim Y As Long
  Dim Z As Long
  Dim A As Long
  Dim Ack As Byte
  Dim Inputs As Byte
  
  If Mode2ndGen = True Then
    SendAPICommandToController = SendAPICommandToController2ndGen(com)
    Exit Function
  End If
  
  SendAPICommandToController = COMMANDFAILED
  If Not ControllerFound Then Exit Function
  Ack = 0
  A = 0
  Select Case com.CommandType
   Case ARCDIRECTION
        Ack = DeskWinSetArcDirection(com.Dir)
   Case ACCELCOM
        ' usually sent directly
   Case GETVERSION
        FirmVer = DeskWinGetFirmwareVersion()
   Case RESETCONTROL
        Ack = DeskWinReset(Port, TC, 0)
   Case GETPOS
        Ack = DeskWinGetPosition(X, Y, Z, A)
        If Ack = DESKWIN_IN_POSITION Then
          InPosition = True
        Else
          Main.UpdateCoords X, Y, Z, A
        End If
   Case PAUSECONTROL
        Ack = DeskWinPause
        If Ack = DESKWIN_OK Then Paused = True
   Case CONTINUECONTROL
        If EmStop Then
          Ack = DESKWIN_IN_EMSTOP
        Else
          Ack = DeskWinContinue
        End If
        If Ack = DESKWIN_OK Then Paused = False
   Case ENDMOVE
        Ack = DeskWinEndCurrentMove
   Case EMERGENCYSTOP
        Ack = DeskWinEmStop
   Case SETPOS
        Ack = DeskWinSetPosition(com.X, com.Y, com.Z, com.A, com.Axis)
   Case OUTPUT
        If EmStop Then
          Ack = DESKWIN_IN_EMSTOP
        Else
          Ack = DeskWinSetOutput(com.Axis, com.Dir, X, Y, Z, A)
        End If
   Case CONTROLDELAY
        If EmStop Then
          Ack = DESKWIN_IN_EMSTOP
        Else
          Ack = DeskWinDelay(com.Secs, X, Y, Z, A)
        End If
   Case LINEARFEED
        If EmStop Then
          Ack = DESKWIN_IN_EMSTOP
        Else
          Ack = DeskWinLinearMove(com.X, com.Y, com.Z, com.A, com.SlewSPS, com.EndSPS, X, Y, Z, A)
        End If
   Case INDEXFEED
        If EmStop Then
          Ack = DESKWIN_IN_EMSTOP
        Else
          Ack = DeskWinIndexMove(com.X, com.Y, com.Z, com.A, com.SlewSPS, com.Axis, X, Y, Z, A)
        End If
   Case RAPIDFEED
        If EmStop Then
          Ack = DESKWIN_IN_EMSTOP
        Else
          Ack = DeskWinRapidMove(com.X, com.Y, com.Z, com.A, com.SlewSPS, com.EndSPS, X, Y, Z, A)
        End If
   Case CW
        If EmStop Then
          Ack = DESKWIN_IN_EMSTOP
        Else
          Ack = DeskWinQuadrantArcMoveCW(com.rad, com.X, com.Y, com.Ex, com.Ey, com.SlewSPS, com.EndSPS, com.Quad, X, Y, Z, A)
        End If
   Case CCW
        If EmStop Then
          Ack = DESKWIN_IN_EMSTOP
        End
          Ack = DeskWinQuadrantArcMoveCCW(com.rad, com.X, com.Y, com.Ex, com.Ey, com.SlewSPS, com.EndSPS, com.Quad, X, Y, Z, A)
        End If
   Case HOMECONTROL
        If EmStop Then
          Ack = DESKWIN_IN_EMSTOP
        Else
          Ack = DeskWinHome(com.Axis, com.Dir, com.SlewSPS)
        End If
   Case SETOVERRIDE
        Ack = DeskWinSetFeedOverride(com.SlewSPS)
   Case SETOVERRIDEMAX
        Ack = DeskWinSetMaxSPS(com.SlewSPS, NumAxis, Inverted, TagAlongAxis, com.NumSteps)
   Case READINPUTS
        Inputs = DeskWinReadInputs()
        Ack = DESKWIN_OK
  End Select
  Select Case Ack
    Case 0 To 52
        SendAPICommandToController = COMMANDACCEPTED
    Case DESKWIN_OK
        SendAPICommandToController = COMMANDACCEPTED
    Case DESKWIN_BUFFERFULL
        Main.UpdateCoords X, Y, Z, A
        SendAPICommandToController = BUFFERFULL
    Case DESKWIN_IN_POSITION
        Main.UpdateCoords X, Y, Z, A
        InPosition = True
        SendAPICommandToController = COMMANDACCEPTED
    Case DESKWIN_SYNTAXERROR
        Main.sbrBar.Caption = "Command Syntax Error..."
        SendAPICommandToController = COMMANDFAILED
    Case DESKWIN_LIMITHIT
        If Not EmStop Then Main.DoEmStop (True)
        InPosition = True
        Main.sbrBar.Caption = "Limit Switch Hit..."
        SendAPICommandToController = COMMANDFAILED
    Case DESKWIN_INVALID_CHECKSUM
        Main.sbrBar.Caption = "Invalid Checksum..."
        SendAPICommandToController = COMMANDFAILED
    Case DESKWIN_UNKNOWN_COMMAND
        Main.sbrBar.Caption = "Unknown Command..."
        SendAPICommandToController = COMMANDFAILED
    Case DESKWIN_INVALIDSTART
        Main.sbrBar.Caption = "Command Syntax Error..."
        SendAPICommandToController = COMMANDFAILED
    Case DESKWIN_PROBEHIT
        Main.sbrBar.Caption = "Probe (Home) Switch Hit..."
        InPosition = True
        SendAPICommandToController = COMMANDACCEPTED
    Case DESKWIN_COMMAND_IS_IN_PROGRESS
        Main.sbrBar.Caption = "Command is already in progress..."
        SendAPICommandToController = COMMANDFAILED
    Case DESKWIN_PORT_DOES_NOT_EXIST
        Main.sbrBar.Caption = "Port Does Not Exist..."
        SendAPICommandToController = COMMANDFAILED
    Case DESKWIN_PORT_IS_ALREADY_OPEN
        Main.sbrBar.Caption = "Port is already open..."
        SendAPICommandToController = COMMANDFAILED
    Case DESKWIN_TIMEDOUT
        Main.sbrBar.Caption = "Command Timed Out..."
        SendAPICommandToController = COMMANDFAILED
    Case DESKWIN_FAILED_TO_RESET
        Main.sbrBar.Caption = "Controller Failed to Reset..."
        SendAPICommandToController = COMMANDFAILED
    Case DESKWIN_NOTINITED
        Main.sbrBar.Caption = "Controller not Inited..."
        SendAPICommandToController = COMMANDFAILED
    Case DESKWIN_IN_EMSTOP
        Main.sbrBar.Caption = "Controller in EMSTOP..."
        SendAPICommandToController = COMMANDACCEPTED
  End Select
End Function



Public Function SendAPICommandToController2ndGen(com As TDeskWinAPICommand) As Long

  Dim X As Long
  Dim Y As Long
  Dim Z As Long
  Dim A As Long
  Dim Ack As Byte
  Dim Inputs As Byte
  Dim RPM As Long
  
 
  SendAPICommandToController2ndGen = COMMANDFAILED
  If Not ControllerFound Then Exit Function
  Ack = 0
  A = 0
  Select Case com.CommandType
   Case ARCDIRECTION
        Ack = DeskWinSetArcDirection(com.Dir)
   Case ACCELCOM
        ' usually sent directly
   Case GETVERSION
        FirmVer = DeskWinGetFirmwareVersion()
   Case RESETCONTROL
        Ack = DeskWinReset(Port, TC, 1)
   Case GETPOS
        Ack = DeskWinGetPosition(X, Y, Z, A)
        If Ack = DESKWIN_2nd_IN_POSITION Then
          InPosition = True
        Else
          Main.UpdateCoords X, Y, Z, A
        End If
   Case PAUSECONTROL
        Ack = DeskWinPause
        If Ack = DESKWIN_2nd_OK Then Paused = True
   Case CONTINUECONTROL
        If EmStop Then
          Ack = DESKWIN_2nd_IN_EMSTOP
        Else
          Ack = DeskWinContinue
        End If
        If Ack = DESKWIN_2nd_OK Then Paused = False
   Case ENDMOVE
        Ack = DeskWinEndCurrentMove
   Case EMERGENCYSTOP
        Ack = DeskWinEmStop
   Case SETPOS
        Ack = DeskWinSetPosition(com.X, com.Y, com.Z, com.A, com.Axis)
   Case OUTPUT
        If EmStop Then
          Ack = DESKWIN_2nd_IN_EMSTOP
        Else
          Ack = DeskWinSetOutput(com.Axis, com.Dir, X, Y, Z, A)
        End If
   Case CONTROLDELAY
        If EmStop Then
          Ack = DESKWIN_2nd_IN_EMSTOP
        Else
          Ack = DeskWinDelay(com.Secs, X, Y, Z, A)
        End If
   Case LINEARFEED
        If EmStop Then
          Ack = DESKWIN_2nd_IN_EMSTOP
        Else
          Ack = DeskWinLinearMove(com.X, com.Y, com.Z, com.A, com.SlewSPS, com.EndSPS, X, Y, Z, A)
        End If
   Case INDEXFEED
        If EmStop Then
          Ack = DESKWIN_2nd_IN_EMSTOP
        Else
          Ack = DeskWinIndexMove(com.X, com.Y, com.Z, com.A, com.SlewSPS, com.Axis, X, Y, Z, A)
        End If
   Case RAPIDFEED
        If EmStop Then
          Ack = DESKWIN_2nd_IN_EMSTOP
        Else
          Ack = DeskWinRapidMove(com.X, com.Y, com.Z, com.A, com.SlewSPS, com.EndSPS, X, Y, Z, A)
        End If
   Case CW
        If EmStop Then
          Ack = DESKWIN_2nd_IN_EMSTOP
        Else
          Ack = DeskWinQuadrantArcMoveCW(com.rad, com.X, com.Y, com.Ex, com.Ey, com.SlewSPS, com.EndSPS, com.Quad, X, Y, Z, A)
        End If
   Case CCW
        If EmStop Then
          Ack = DESKWIN_2nd_IN_EMSTOP
        End
          Ack = DeskWinQuadrantArcMoveCCW(com.rad, com.X, com.Y, com.Ex, com.Ey, com.SlewSPS, com.EndSPS, com.Quad, X, Y, Z, A)
        End If
   Case HOMECONTROL
        If EmStop Then
          Ack = DESKWIN_2nd_IN_EMSTOP
        Else
          Ack = DeskWinHome(com.Axis, com.Dir, com.SlewSPS)
        End If
   Case SETOVERRIDE
        Ack = DeskWinSetFeedOverride(com.SlewSPS)
   Case SETOVERRIDEMAX
        Ack = DeskWinSetMaxSPS(com.SlewSPS, NumAxis, Inverted, TagAlongAxis, com.NumSteps)
   Case READINPUTS
        Inputs = DeskWinReadInputs()
        Ack = DESKWIN_2nd_OK
   Case CHASEENCODER
          If com.Quad = 1 Then
            Ack = DeskWinChaseEncoder(com.Axis, com.Dir, com.X, com.Y, com.Z, com.A)
          Else
            Ack = DeskWinEndChaseEncoder()
          End If
   Case READRPM
          RPM = DeskWinReadRPM()
          Main.UpdateRPM RPM
          Ack = DESKWIN_2nd_OK
    Case OUTPUTIMEDIATE
        If EmStop Then
          Ack = DESKWIN_2nd_IN_EMSTOP
        Else
          Ack = DeskWinSetOutputImediate(com.Dir)
        End If
 End Select
  Select Case Ack
    Case 0 To 232
        SendAPICommandToController2ndGen = COMMANDACCEPTED
    Case DESKWIN_2nd_OK
        SendAPICommandToController2ndGen = COMMANDACCEPTED
    Case DESKWIN_2nd_BUFFERFULL
        Main.UpdateCoords X, Y, Z, A
        SendAPICommandToController2ndGen = BUFFERFULL
    Case DESKWIN_2nd_IN_POSITION
        Main.UpdateCoords X, Y, Z, A
        InPosition = True
        SendAPICommandToController2ndGen = COMMANDACCEPTED
    Case DESKWIN_2nd_SYNTAXERROR
        Main.sbrBar.Caption = "Command Syntax Error..."
        SendAPICommandToController2ndGen = COMMANDFAILED
    Case DESKWIN_2nd_LIMITHIT
        If Not EmStop Then Main.DoEmStop (True)
        InPosition = True
        Main.sbrBar.Caption = "Limit Switch Hit..."
        SendAPICommandToController2ndGen = COMMANDFAILED
    Case DESKWIN_2nd_INVALID_CHECKSUM
        Main.sbrBar.Caption = "Invalid Checksum..."
        SendAPICommandToController2ndGen = COMMANDFAILED
    Case DESKWIN_2nd_UNKNOWN_COMMAND
        Main.sbrBar.Caption = "Unknown Command..."
        SendAPICommandToController2ndGen = COMMANDFAILED
    Case DESKWIN_2nd_INVALIDSTART
        Main.sbrBar.Caption = "Command Syntax Error..."
        SendAPICommandToController2ndGen = COMMANDFAILED
    Case DESKWIN_2nd_PROBEHIT
        Main.sbrBar.Caption = "Probe (Home) Switch Hit..."
        InPosition = True
        SendAPICommandToController2ndGen = COMMANDACCEPTED
    Case DESKWIN_2nd_COMMAND_IS_IN_PROGRESS
        Main.sbrBar.Caption = "Command is already in progress..."
        SendAPICommandToController2ndGen = COMMANDFAILED
    Case DESKWIN_2nd_PORT_DOES_NOT_EXIST
        Main.sbrBar.Caption = "Port Does Not Exist..."
        SendAPICommandToController2ndGen = COMMANDFAILED
    Case DESKWIN_2nd_PORT_IS_ALREADY_OPEN
        Main.sbrBar.Caption = "Port is already open..."
        SendAPICommandToController2ndGen = COMMANDFAILED
    Case DESKWIN_2nd_TIMEDOUT
        Main.sbrBar.Caption = "Command Timed Out..."
        SendAPICommandToController2ndGen = COMMANDFAILED
    Case DESKWIN_2nd_FAILED_TO_RESET
        Main.sbrBar.Caption = "Controller Failed to Reset..."
        SendAPICommandToController2ndGen = COMMANDFAILED
    Case DESKWIN_2nd_NOTINITED
        Main.sbrBar.Caption = "Controller not Inited..."
        SendAPICommandToController2ndGen = COMMANDFAILED
  End Select
End Function




?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久人人爽爽爽人久久久| 亚洲成av人片| 亚洲国产成人tv| 国产精品18久久久久| 欧美区一区二区三区| 中文字幕成人在线观看| 蜜桃av一区二区在线观看| 91在线观看视频| 精品国产伦一区二区三区观看体验 | 国产成人av电影在线观看| 在线观看视频一区二区| 国产清纯美女被跳蛋高潮一区二区久久w| 欧洲精品视频在线观看| 国产亲近乱来精品视频| 精品在线你懂的| 91精品国产综合久久久久久漫画 | 美女久久久精品| 在线亚洲精品福利网址导航| 国产拍欧美日韩视频二区 | 一区二区在线电影| 不卡的电视剧免费网站有什么| 精品国产伦一区二区三区观看方式 | 中文字幕av一区二区三区免费看 | 欧美aaaaa成人免费观看视频| 在线中文字幕不卡| 亚洲婷婷国产精品电影人久久| 国产一区二区三区在线观看免费 | 国产成人综合视频| 精品国产一二三| 久久99热99| 日韩视频免费观看高清完整版在线观看 | 成人av网站大全| 欧美激情综合网| av电影在线观看一区| 国产精品美女视频| 99久久精品情趣| 日韩理论片一区二区| 99久久免费精品| 亚洲乱码中文字幕| 欧美丝袜第三区| 日韩精品电影在线| 日韩精品资源二区在线| 国产高清成人在线| 国产精品毛片久久久久久| 91老师片黄在线观看| 亚洲成人免费在线观看| 91精品欧美福利在线观看| 蜜臀av性久久久久蜜臀aⅴ流畅| 精品人伦一区二区色婷婷| 国产精品一区一区| 亚洲欧洲成人自拍| 91久久精品一区二区二区| 五月天一区二区三区| 欧美成人vps| 成人福利视频网站| 亚洲大尺度视频在线观看| 91精品国产一区二区人妖| 韩国视频一区二区| 亚洲日本乱码在线观看| 欧美精三区欧美精三区| 国产精品伊人色| 亚洲欧美激情小说另类| 欧美一区二区视频在线观看2022| 国产一区二区电影| 一区二区三区中文字幕在线观看| 欧美一区二区精品久久911| 丰满放荡岳乱妇91ww| 亚洲一区二区三区自拍| 日韩天堂在线观看| 色综合一个色综合| 捆绑变态av一区二区三区| 国产精品久久一卡二卡| 欧美日韩精品一区二区三区蜜桃| 国产精品12区| 视频一区视频二区在线观看| 久久精品人人做人人爽人人| 色噜噜狠狠一区二区三区果冻| 日本不卡一区二区三区高清视频| 国产精品天天摸av网| 91精品国产一区二区三区蜜臀 | 国产精品99久久久久久久vr| 亚洲小说春色综合另类电影| 中文子幕无线码一区tr | 欧美日韩一区二区三区高清| 成人性生交大合| 麻豆精品国产传媒mv男同| 亚洲精品中文在线影院| 中文字幕欧美日本乱码一线二线| 3d成人动漫网站| 在线亚洲一区二区| 97久久人人超碰| 粉嫩av一区二区三区| 国产精品一区久久久久| 日本不卡中文字幕| 日韩高清在线一区| 亚洲综合在线免费观看| 中文字幕日本不卡| 久久久不卡影院| 日韩欧美一级二级三级久久久| 97成人超碰视| 精品一区中文字幕| 捆绑紧缚一区二区三区视频| 亚洲综合激情另类小说区| 国产精品视频yy9299一区| 精品国产亚洲在线| 免费在线观看成人| 日韩综合在线视频| 一区二区三区在线不卡| 国产精品毛片无遮挡高清| 亚洲精品一区二区三区蜜桃下载| 欧美性受xxxx黑人xyx| 国产成人av网站| 成人免费视频国产在线观看| 日韩精品乱码免费| 亚洲欧洲中文日韩久久av乱码| 精品国产91久久久久久久妲己 | 91成人免费在线视频| 99在线精品一区二区三区| 国产呦萝稀缺另类资源| 青青草视频一区| 亚洲成人免费av| 亚洲第一久久影院| 亚洲欧洲日产国码二区| 国产欧美日韩精品一区| 久久久久久久久一| 2023国产一二三区日本精品2022| 日韩你懂的在线观看| 91精品婷婷国产综合久久性色 | 久久这里只有精品6| 日韩三级免费观看| 日韩精品一区二区在线观看| 欧美v日韩v国产v| 精品免费视频.| 国产网红主播福利一区二区| 久久国产乱子精品免费女| 丝袜亚洲另类丝袜在线| 久久不见久久见中文字幕免费| 日韩精品三区四区| 国产黑丝在线一区二区三区| 国产白丝精品91爽爽久久| 色婷婷综合激情| 欧美精品乱码久久久久久| 26uuu精品一区二区| 国产精品卡一卡二| 亚洲综合色视频| 国产一区二区福利| eeuss鲁片一区二区三区在线看| 日本精品裸体写真集在线观看| 欧美在线小视频| 欧美精品一区二区三区久久久| 国产人久久人人人人爽| 亚洲高清免费视频| 国产99精品国产| 日本道精品一区二区三区| 欧美挠脚心视频网站| 在线视频亚洲一区| 久久久欧美精品sm网站| 亚洲欧洲精品天堂一级| 五月激情六月综合| 国产麻豆午夜三级精品| 波多野结衣中文字幕一区| 91成人网在线| 久久久99精品免费观看不卡| 国产精品毛片久久久久久| 亚洲欧洲性图库| 国内精品伊人久久久久av影院 | 欧美午夜不卡视频| 精品国免费一区二区三区| 国产亚洲va综合人人澡精品 | 成人免费毛片嘿嘿连载视频| 色婷婷综合视频在线观看| 欧洲精品在线观看| 中文字幕中文字幕一区二区| 三级在线观看一区二区| 国产白丝精品91爽爽久久| 欧美久久久久久久久久| 精品久久久久久久久久久院品网 | 日韩成人精品在线| 91亚洲大成网污www| 精品免费国产一区二区三区四区| 日韩伦理电影网| 热久久久久久久| 7799精品视频| 18涩涩午夜精品.www| 久久精品国产亚洲一区二区三区| 不卡大黄网站免费看| 欧美精品日日鲁夜夜添| 中文字幕一区二区三| 久久av资源网| 欧美精品在线观看一区二区| 亚洲视频在线一区| av综合在线播放| 国产日本欧洲亚洲| 久久国产尿小便嘘嘘尿| 欧美日韩亚洲高清一区二区| 中文字幕一区二区三区在线观看| 美女一区二区久久| 欧美性生交片4| 亚洲男女毛片无遮挡| 秋霞午夜鲁丝一区二区老狼|