📄 deskwinapi.bas
字号:
Attribute VB_Name = "Module2"
Option Explicit
Public Type TDeskWinAPICommand
CommandType As Long
X As Long
Y As Long
Z As Long
A As Long
Ex As Long
Ey As Long
rad As Long
SlewSPS As Long
EndSPS As Long
Secs As Double
Axis As Byte
Quad As Byte
Dir As Byte
NumSteps As Long
bXSps As Long
bYSps As Long
eXSps As Long
eYSps As Long
bZSps As Long
eZSps As Long
End Type
Public Const DESKWIN_OK = 90
Public Const DESKWIN_IN_POSITION = 91
Public Const DESKWIN_BUFFERFULL = 92
Public Const DESKWIN_BEGIN_STATUS_BUFFERFULL = 202
Public Const DESKWIN_ENDSTRING = 204
Public Const DESKWIN_SYNTAXERROR = 205
Public Const DESKWIN_LIMITHIT = 207
Public Const DESKWIN_INVALID_CHECKSUM = 208
Public Const DESKWIN_UNKNOWN_COMMAND = 209
Public Const DESKWIN_BEGINSTATUS = 210
Public Const DESKWIN_BEGINSTRING = 211
Public Const DESKWIN_INVALIDSTART = 212
Public Const DESKWIN_PROBEHIT = 213
Public Const DESKWIN_IN_EMSTOP = 254
Public Const DESKWIN_COMMAND_IS_IN_PROGRESS = 214
Public Const DESKWIN_PORT_DOES_NOT_EXIST = 215
Public Const DESKWIN_PORT_IS_ALREADY_OPEN = 216
Public Const DESKWIN_TIMEDOUT = 217
Public Const DESKWIN_FAILED_TO_RESET = 218
Public Const DESKWIN_NOTINITED = 255
Public Const DESKWIN_2nd_OK = 235
Public Const DESKWIN_2nd_IN_POSITION = 236
Public Const DESKWIN_2nd_BUFFERFULL = 237
Public Const DESKWIN_2nd_BEGIN_STATUS_BUFFERFULL = 244
Public Const DESKWIN_2nd_ENDSTRING = 245
Public Const DESKWIN_2nd_SYNTAXERROR = 246
Public Const DESKWIN_2nd_LIMITHIT = 247
Public Const DESKWIN_2nd_INVALID_CHECKSUM = 248
Public Const DESKWIN_2nd_UNKNOWN_COMMAND = 249
Public Const DESKWIN_2nd_BEGINSTATUS = 250
Public Const DESKWIN_2nd_BEGINSTRING = 251
Public Const DESKWIN_2nd_INVALIDSTART = 212
Public Const DESKWIN_2nd_PROBEHIT = 213
Public Const DESKWIN_2nd_IN_EMSTOP = 255
Public Const DESKWIN_2nd_COMMAND_IS_IN_PROGRESS = 241
Public Const DESKWIN_2nd_PORT_DOES_NOT_EXIST = 242
Public Const DESKWIN_2nd_PORT_IS_ALREADY_OPEN = 243
Public Const DESKWIN_2nd_TIMEDOUT = 238
Public Const DESKWIN_2nd_FAILED_TO_RESET = 239
Public Const DESKWIN_2nd_NOTINITED = 240
'' Command types
Public Const ARCDIRECTION = 1
Public Const ACCELCOM = 2
Public Const GETVERSION = 3
Public Const RESETCONTROL = 4
Public Const GETPOS = 5
Public Const PAUSECONTROL = 6
Public Const CONTINUECONTROL = 7
Public Const ENDMOVE = 8
Public Const EMERGENCYSTOP = 9
Public Const SETPOS = 10
Public Const OUTPUT = 11
Public Const CONTROLDELAY = 12
Public Const LINEARFEED = 13
Public Const RAPIDFEED = 14
Public Const CW = 15
Public Const CCW = 16
Public Const HOMECONTROL = 17
Public Const SETOVERRIDE = 18
Public Const SETOVERRIDEMAX = 19
Public Const INDEXFEED = 20
Public Const READINPUTS = 21
Public Const CHASEENCODER = 22
Public Const READRPM = 23
Public Const OUTPUTIMEDIATE = 24
Public rs274ngc_errors(0 To 198) As String
Declare Function DeskWinSetArcDirection Lib "DeskWinAPI" (ByVal Direction As Byte) As Byte
Declare Function DeskWinSetAccelleration Lib "DeskWinAPI" (ByVal ACCELL As Long, ByVal MaxSPS As Long, ByVal StartVel As Long, ByVal AccellScale As Byte) As Byte
Declare Function DeskWinGetFirmwareVersion Lib "DeskWinAPI" () As Double
Declare Function DeskWinReset Lib "DeskWinAPI" (ComPort As Long, ByVal TimeConstant As Long, ByVal Mode As Long) As Byte
Declare Function DeskWinGetPosition Lib "DeskWinAPI" (X As Long, Y As Long, Z As Long, A As Long) As Byte
Declare Function DeskWinPause Lib "DeskWinAPI" () As Byte
Declare Function DeskWinContinue Lib "DeskWinAPI" () As Byte
Declare Function DeskWinEndCurrentMove Lib "DeskWinAPI" () As Byte
Declare Function DeskWinEmStop Lib "DeskWinAPI" () As Byte
Declare Function DeskWinSetPosition Lib "DeskWinAPI" (ByVal X As Long, ByVal Y As Long, ByVal Z As Long, ByVal A As Long, ByVal Axis As Byte) As Byte
Declare Function DeskWinSetOutput Lib "DeskWinAPI" (ByVal OUTPUT As Byte, ByVal State As Byte, X As Long, Y As Long, Z As Long, A As Long) As Byte
Declare Function DeskWinSetOutputImediate Lib "DeskWinAPI" (ByVal OutputState As Byte) As Byte
Declare Function DeskWinDelay Lib "DeskWinAPI" (ByVal seconds As Double, X As Long, Y As Long, Z As Long, A As Long) As Byte
Declare Function DeskWinIndexMove Lib "DeskWinAPI" (ByVal X As Long, ByVal Y As Long, ByVal Z As Long, ByVal A As Long, ByVal SlewSPS As Long, ByVal Axis As Byte, PosX As Long, PosY As Long, PosZ As Long, PosA As Long) As Byte
Declare Function DeskWinLinearMove Lib "DeskWinAPI" (ByVal X As Long, ByVal Y As Long, ByVal Z As Long, ByVal A As Long, ByVal SlewSPS As Long, ByVal EndSPS As Long, PosX As Long, PosY As Long, PosZ As Long, PosA As Long) As Byte
Declare Function DeskWinRapidMove Lib "DeskWinAPI" (ByVal X As Long, ByVal Y As Long, ByVal Z As Long, ByVal A As Long, ByVal SlewSPS As Long, ByVal EndSPS As Long, PosX As Long, PosY As Long, PosZ As Long, PosA As Long) As Byte
Declare Function DeskWinQuadrantArcMoveCW Lib "DeskWinAPI" (ByVal rad As Long, ByVal StartX As Long, ByVal StartY As Long, ByVal EndX As Long, ByVal EndY As Long, ByVal SlewSPS As Long, ByVal EndSPS As Long, ByVal Quad As Byte, PosX As Long, PosY As Long, PosZ As Long, PosA As Long) As Byte
Declare Function DeskWinQuadrantArcMoveCCW Lib "DeskWinAPI" (ByVal rad As Long, ByVal StartX As Long, ByVal StartY As Long, ByVal EndX As Long, ByVal EndY As Long, ByVal SlewSPS As Long, ByVal EndSPS As Long, ByVal Quad As Byte, PosX As Long, PosY As Long, PosZ As Long, PosA As Long) As Byte
Declare Function DeskWinHome Lib "DeskWinAPI" (ByVal Axis As Byte, ByVal HomeDir As Byte, ByVal HomeVel As Long) As Byte
Declare Function DeskWinSetMaxSPS Lib "DeskWinAPI" (ByVal MaxSPS As Long, ByVal NumAxis As Long, ByVal Inverted As Long, ByVal TagAlong As Long, ByVal MaxEncCount As Long) As Byte
Declare Function DeskWinSetFeedOverride Lib "DeskWinAPI" (ByVal Value As Long) As Byte
Declare Function DeskWinSetPWMOutput Lib "DeskWinAPI" (ByVal Value As Byte) As Byte
Declare Function DeskWinReadInputs Lib "DeskWinAPI" () As Byte
Declare Function DeskWinChaseEncoder Lib "DeskWinAPI" (ByVal EncDir As Long, ByVal Dir As Long, ByVal X As Long, ByVal Y As Long, ByVal Z As Long, ByVal Enc As Long) As Byte
Declare Function DeskWinEndChaseEncoder Lib "DeskWinAPI" () As Byte
Declare Function DeskWinSetProbePolarity Lib "DeskWinAPI" (ByVal Polarity As Byte) As Byte
Declare Function DeskWinReadRPM Lib "DeskWinAPI" () As Long
Declare Function DeskWinClose Lib "DeskWinAPI" () As Byte
Declare Function rs274ngc_ext_init Lib "DeskWinAPI" (ByVal IniFile As String) As Integer
Declare Function rs274ngc_read_block Lib "DeskWinAPI" (ByVal block As String) As Integer
Declare Function rs274ngc_execute_block Lib "DeskWinAPI" () As Long
Declare Sub FlushBuffer Lib "DeskWinAPI" ()
Sub SetupErrorCodes()
rs274ngc_errors(0) = "No error"
rs274ngc_errors(1) = "No error"
rs274ngc_errors(2) = "No error"
rs274ngc_errors(3) = "No error"
rs274ngc_errors(4) = "A file is already open"
rs274ngc_errors(5) = "All axes missing with g92"
rs274ngc_errors(6) = "All axes missing with motion code"
rs274ngc_errors(7) = "Arc radius too small to reach end point"
rs274ngc_errors(8) = "Argument to acos out of range"
rs274ngc_errors(9) = "Argument to asin out of range"
rs274ngc_errors(10) = "Attempt to divide by zero"
rs274ngc_errors(11) = "Attempt to raise negative to non integer power"
rs274ngc_errors(12) = "Bad character used"
rs274ngc_errors(13) = "Bad format unsigned integer"
rs274ngc_errors(14) = "Bad number format"
rs274ngc_errors(15) = "Bug bad g code modal group 100"
rs274ngc_errors(16) = "Bug code not g0 or g1"
rs274ngc_errors(17) = "Bug code not g17 g18 or g19"
rs274ngc_errors(18) = "Bug code not g20 or g21"
rs274ngc_errors(19) = "Bug code not g28 or g30"
rs274ngc_errors(20) = "Bug code not g2 or g3"
rs274ngc_errors(21) = "Bug code not g40 g41 or g42"
rs274ngc_errors(22) = "Bug code not g43 or g49"
rs274ngc_errors(23) = "Bug code not g4 g10 g28 g30 g53 or g92 series"
rs274ngc_errors(24) = "Bug code not g61 g61 1 or g64"
rs274ngc_errors(25) = "Bug code not g90 or g91"
rs274ngc_errors(26) = "Bug code not g93 or g94"
rs274ngc_errors(27) = "Bug code not g98 or g99"
rs274ngc_errors(28) = "Bug code not in g92 series"
rs274ngc_errors(29) = "Bug code not in range g54 to g593"
rs274ngc_errors(30) = "Bug code not m0 m1 m2 m30 m60 "
rs274ngc_errors(31) = "Bug distance mode not g90 or g91"
rs274ngc_errors(32) = "Bug function should not have been called"
rs274ngc_errors(33) = "Bug in tool radius comp"
rs274ngc_errors(34) = "Bug plane not xy yz or xz"
rs274ngc_errors(35) = "Bug side not right or left"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -