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

Page 34
120-200-350 © 1993 (Rev 5/97) Max Machinery, Inc.
149
SUB RS485(Id_number$,Command$,Unit_parity$,INTEGER Baud_rate,Return_dat$(*) )
150
!
152
!*******************RS485 PORT INTERFACE************************
162
!
167
INTEGER Rs232_sc,I,Bytes,String_length,Position,Dec_total,Parity_enable
168
INTEGER Unit_parity,Stop_bit,Loop_num
169
DIM Output_format$[50],Return_error$[2]
170
DIM Rs485$[1000] BUFFER,Hex_value$[8],Checksum$[8]
171
DIM Error_code$[20]
172
!
173
!
Id_number$ IS A HEX VALUE 0-255 FOR UNIT ID SELECTION
174
!
THIS MUST MATCH THE UNIT ID NUMBER PRIOR TO
175
!
TALKING OVER THE RS485 PORT.
176
!
Command$
IS THE THREE CHARACTER COMMAND AND QUERY DATA.
177
!
Unit_parity$
IS THE PARITY THAT THE RS485 PORT IS PROGRAMMED TO
178
!
ONLY TWO SELECTIONS ARE AVAILABLE.
179
!
INPUT THE UNIT PARITY AS “ODD” OR “EVEN”.
180
!
Baud_rate
IS THE RS485 BAUD RATE, SELECTIONS ARE.
181
!
300,600,1200,2400,4800,9600,19200
182
!
Return_dat$
IS THE DATA RETURNED FROM THE RS485 PORT
183
!
THIS DATA HAS ALL THE QUERY RESPONSE
184
185
ON ERROR CALL Message
187
Rs232_sc=9 ! RS232 PORT ADDR
188
Parity_enable=8
! PARITY IS ENABLED
189
Stop_bit=0 ! 1 STOP BIT
190
Data_bits=2
! 7 DATA BITS
191
IF Unit_parity$=”ODD” THEN
192
Unit_parity=0 ! ODD PARITY BIT
193
ELSE
194
Unit_parity=16! EVEN PARITY BIT
195
END IF
196
MAT Return_dat$= (“X”)
197
ON ERROR CALL Message
198
!
199
!***********************SET UP PORT*******************************
200
!
201
CONTROL Rs232_sc,5;0 !NORMAL MODEM LINE HANDSHAKE
202
CONTROL Rs232_sc,3;Baud_rate !SET BAUD RATE
203
CONTROL Rs232_sc,4;Parity_enable+Stop_bit+Unit_parity+Data_bits
204
!
205
!*********************SET UP BUFFER********************************
206
!
207
ASSIGN @Rs232path TO Rs232_sc
!CREATE PORT PATH
208
ASSIGN @Rs485path TO BUFFER Rs485$;FORMAT ON
!CREATE PATH TO BUFFER
209
!
210
!******************CALCULATE CHECKSUM******************************
211
!
212
Dec_total=0
213
Output_format$=Id_number$&Command$
214
String length=LEN(Output_format$)
215
FOR Position=1 TO String_length
216
Dec_total=Dec_total+(NUM(Output format$[Position]))
217
NEXT Position
HP ROCKY MOUNTAIN BASIC PROGRAM