EasyManua.ls Logo

Digital Design EVOLUTION II - Page 84

Digital Design EVOLUTION II
102 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
21 EVOLUTION 1 SYSTEM MANUAL Issue Issue 1.1 20 Dec 2006
Example written in VB to send a new message to a print station.
Public Sub DoMessage()
DATA$ = "800": GETINFODATA: Rem DISABLE PRINT MODE
DATA$ = "&32": GETINFODATA: Rem SET LINE SPEED TO 50
DATA$ = "P01010010000100000000" & Chr$(&HD): GETINFODATA: Rem SET OBJECTs
DATA$ = "%ABCDEFGHIJ" & Chr$(&HD): GETINFODATA: Rem SEND MESSAGE
End Sub
Public Sub GETINFODATA() : : Rem SENDS A COMMAND AND GETS A RESPONSE
RESPONSE$ = "": COMM.InBufferCount = 0
COMM.Output = ESC & STX & "01" & DATA$ & EOT
Timer.Enabled = True: TIMERFLAG = False
GETINFO:
Do
DoEvents
If TIMERFLAG = True Then GoTo TCOMMERROR
Loop Until COMM.InBufferCount >= 1
RESPONSE$ = RESPONSE$ & COMM.Input
If InStr(RESPONSE$, Chr$(&H15)) > 0 Then GoTo GETDATAERROR:
Rem A NAK WAS RECEIVED
If InStr(RESPONSE$, Chr$(&H4)) = 0 Then GoTo GETINFO
Rem AN EOT WAS RECEIVED
RESPONSE$ = Mid$(RESPONSE$, 6, Len(RESPONSE$))
Rem DELETE ADDRESS HEADER
Timer.Enabled = False
Rem WE NOW HAVE A VALID RESPONSE
Exit Sub
GETDATAERROR:
Timer.Enabled = False: TIMERFLAG = False
GoTo PROCESSERROR
Exit Sub
TCOMMERROR:
Timer.Enabled = False: TIMERFLAG = False
PROCESSERROR:
If RESPONSE$ = "" Then RESPONSE$ = "0" Else RESPONSE$ = Right$(RESPONSE$, 1):
Rem GET THE ERROR CODE
Select Case (RESPONSE$)
Case 0
MSG$ = "NO RESPONSE FROM UNIT"
Case 1
MSG$ = "TRANSMISSION ERROR"
Case 2
MSG$ = "ILLEGAL COMMAND"
Case 3
MSG$ = "TRYING TO PRINT WHILE IN COMMAND MODE"
Case 4
MSG$ = "TRYING TO READ A WRITE ONLY REGISTER"
Case 5
MSG$ = "TRYING TO WRITE A READ ONLY REGISTER"
Case 6
MSG$ = "UNIT INPUT BUFFER FULL"
Case 7
MSG$ = "UNIT IN EDIT MODE"
Case 8
MSG$ = "PRINT STATION BUSY TRY AGAIN"
End Select

Table of Contents