Hp rocky mountain basic program – Max Machinery 120 FLOW RATE & TOTAL INDICATOR User Manual
Page 35

120-200-350 © 1993 (Rev 5/97) Max Machinery, Inc.
Page 35
218
Hex_value$=DVAL$(Dec total,16)
219
Checksum$=Hex_value$[7]
220
!
221
!***********************SEND DATA******************************
222
!
223
PRINT “THE OUTPUT IS = >”;Output_format$;
224
PRINT Checksum$
225
OUTPUT Rs232_sc;”>”&Output_format$&Checksum$&CHR$(13)! SEND MESSAGE
226
!
227
!***********************RECIEVE DATA****************************
228
!
229
TRANSFER @Rs232path TO @Rs485path;CONT !MOVE DATA FROM PORT TO BUFFER
230
I=0
231
Loop_num=0
232
REPEAT
233
WAIT .1
234
Loop_num=Loop_num+l
235
STATUS @Rs485path,4;Bytes
! FIND NUMBER OF BYTES IN BUFFER
236
IF Bytes>=l THEN
! ONLY READ IF BYTES ARE AVAILABLE
237
I=I+l
238
ENTER @Rs485path USING “#,K”;Return_dat$(I)
239
Loop_num=0
240
END IF
241
IF Loop_num=50 THEN
! SET FOR 5 SEC TIMEOUT
242
I=l
243
Return_dat$(I)=CHR$(13)
! SEARCH FOR CARRIAGE RETURN
244
END IF
245
UNTIL Return_dat$(I)=CHR$(13)
! FIND END OF TRANSFER INTO BUFFER
246
! END OF TRANSFER IS THE CARRIAGE RETURN
247
ABORTIO @Rs232path
! TERMINATE TRANSFER
248
!
249
!****************DETERMINE IF ERROR CODE IS RECEIVED*************
250
!
251
IF Return_dat$(1)=”N” THEN
252
Return_error$=Return_dat$(2)&Return_dat$(3)
! USE TWO DIGIT ERROR
253
! CODE NUMBER
256
CALL Errorl20(Return_error$)
257
END IF
258
IF Return_dat$(1)=CHR$(13) THEN !SEARCH FOR CARRIAGE RETURN
259
Return_error$=”20"
262
CALL Errorl20(Return_error$)
263
END IF
264
SUBEND
265
SUB Errorl20(Return_error$)
266
!
267
!**********************RS485 ERROR CODE RETURN CODE******************
268
!
269
INTEGER Error_num
270
Error_num=VAL(Return_error$)
271
CLEAR SCREEN
272
PRINT “ “
273
PRINT “ “
274
PRINT “RESPONSE BY THE INDICATOR IS AN ERROR CODE”
275
BEEP
HP ROCKY MOUNTAIN BASIC PROGRAM