1 example of semi ii program – INFICON XTM/2 Thin Film Deposition Monitor User Manual
Page 81

3 - 29
IP
N 07
4-
18
6S
XTM/2 Operating Manual
3.8.6.1 Example of SEMI II Program
10 ’XTM/2 RS232 COMMUNICATIONS PROGRAM USING THE SECS FORMAT
20 ’———THIS PROGRAM IS DESIGNED TO TRANSMIT———
30 ’————INDIVIDUAL COMMANDS TO THE XTM/2—————
40 CLS
50 ’
60 ’
70 OPEN “COM1:2400,N,8,1,CS,DS” FOR RANDOM AS #1
80 EOT$ = CHR$(4): ENQ$ = CHR$(5): ACK$ = CHR$(6): NAK$ = CHR$(21)
90 TOUT = 3
100 C = 0:CHECKSUM = 0: CHEKSUMM$ = CHR$(0): CHEKSUML$ = CHR$(0)
110 INPUT “ENTER COMMAND”; CMD$
120 CMDLEN = LEN(CMD$)
: ’ CALUCULATE THE COMMAND LENGTH
130 ’
140 ’——ADD THE TWO BYTE PREAMBLE TO THE COMMAND——
150 PRE$ = CHR$(65) + CHR$(CMDLEN)
160 CMD$ = PRE$ + CMD$
170 CMDLEN = CMDLEN + 2
180 ’
190 ’——BUILD LENGTH BYTE, HEADER, TEXT, AND CHECKSUM BLOCK———
200 ’
210 ’—BUILD HEADER——
220 DID = 257
: ’ DEVICE ID
230 ’RBIT = 0,
:’ MESSAGE DIRECTION IS FROM HOST TO DEVICE
240 ’
250 ’——DETERMINE THE STREAM AND FUNCTION CODES——
260 ’
270 STREAM$ = CHR$(64)
: ’ USER DEFINED STREAM CODE
280 FUNCTION$ = CHR$(65)
: ’ USER DEFINED FUNCTION CODE
290 ’
300 ’
310 WBIT$ = CHR$(128)
: ’RESPONSE FROM XTM/2 REQUIRED
320 STREAM$ = CHR$(ASC(WBIT$) + ASC(STREAM$))
330 ’
340 ’——ENTER THE BLOCK BYTES——
350 ’
360 BYTE5$ = CHR$(128)
: ’ LAST BLOCK IN THE SERIES
370 BYTE6$ = CHR$(1)
: ’ ONLY BLOCK IN THE SERIES
380 ’
390 ’——ENTER THE SYSTEM BYTES——
400 ’
410 BYTE7$ = CHR$(0): BYTE8$ = CHR$(0): BYTE9$ = CHR$(0): BYTE10$ = CHR$(1)
420 ’
430 ’———CALCULATE THE LENGTH BYTE————
440 LTHBYT = CMDLEN + 10: LTHBYT$ = CHR$(LTHBYT)
450 ’
460 ’———CALCULATE THE CHECKSUM————
470 FOR X = 1 TO CMDLEN
480 CHECKSUM = CHECKSUM + ASC(MID$(CMD$, X, 1))
490 NEXT X
500 BYTE1$ = CHR$(DID / 256)
510 BYTE2$ = CHR$(DID MOD 256)
520 CHECKSUM = ASC(BYTE1$) + ASC(BYTE2$) + ASC(STREAM$) + ASC(FUNCTION$) + ASC(BYTE5$) +
ASC(BYTE6$) + ASC(BYTE7$) + ASC(BYTE8$) + ASC(BYTE9$) + ASC(BYTE10$) + CHECKSUM
530 CHEKSUMM$ = CHR$(FIX(CHECKSUM / 256))
540 CHEKSUML$ = CHR$(CHECKSUM MOD 256)
550 ’———HOST BID FOR LINE / DEVICE BID FOR LINE———
560 ’
570 PRINT #1, ENQ$;
580 I$ = “”: RESPONSE$ = “”
590 C = C + 1
600 ON TIMER(TOUT) GOSUB 1000: TIMER ON