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

Page 81

Advertising
background image

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

Advertising