beautypg.com

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

Page 34

background image

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