Visual basic direct mode programming examples – Anaheim PROGRAMMABLE SIMPLE INDEXER/DRIVER MBC10SI1 User Manual

Page 19

Advertising
background image

19

#L010185

June 2007

Visual Basic Direct Mode Programming Examples

Example 1: This Example is for Axis=0, and Profile=1

DimConst DefaultTimeout As Single = 0.5

frmMain.MSComm1.Output = "@0A1_100000” & Chr$(13) ‘Set Acceleration
Pause DefaultTimeout
frmMain.MSComm1.Output = "@0B1_1000” & Chr$(13)

‘Set Base Speed

Pause DefaultTimeout
frmMain.MSComm1.Output = "@0M1_4000” & Chr$(13)

‘Set Maximum Speed

Pause DefaultTimeout
frmMain.MSComm1.Output = "@0N1_500” & Chr$(13)

‘Set Index Number

Pause DefaultTimeout
frmMain.MSComm1.Output = "@0T1_100” & Chr$(13)

‘Set Complete Time

Pause DefaultTimeout
frmMain.MSComm1.Output = "@0+” & Chr$(13)

‘Set Direction CW

Pause DefaultTimeout
frmMain.MSComm1.Output = "@0G1” & Chr$(13)

‘Start the Index

Pause DefaultTimeout

Example 2: This Example recieves the error code and Version Number from Axis3

Dim Const DefaultTimeout As Single = 0.5

frmMain.MSComm1.Output = "@3!" & Chr$(13)
Pause ShortTimeOut
MsgBox ReceiveAscii()
frmMain.MSComm1.Output = "@3$" & Chr$(13)
Pause ShortTimeOut
MsgBox ReceiveAscii()

Function ReceiveAscii() As String
'wait for the incoming data to get to the buffer
Dim BeginTime As Single
Dim A As Integer
Dim B As Integer

BeginTime = Timer
While Main.MSComm1.InBufferCount = 0

DoEvents

If Timer - BeginTime > 0.1 Then GoTo ExitRoutine1
Wend

A = 0: B = Main.MSComm1.InBufferCount
While A <> B

A = Main.MSComm1.InBufferCount
Pause 0.02

' Fixed time value

B = Main.MSComm1.InBufferCount

Wend

ReceiveAscii = Main.MSComm1.Input

Exit Function

Advertising