beautypg.com

Campbell Scientific HMP155A Temperature and Relative Humidity Probe User Manual

Page 44

background image

Appendix C. Interfacing with HMP155A RS-485 Output

'CR1000 Series Datalogger

'Change HMP155A default serial settings from 4800,E,7,1 To 9600,N,8,1:

' Sensor Wiring:

' *CSI cable

Vaisala cable MD485

CR1000

Connector Pin-Out


' blue

pink

B

6

' yellow

brown

A

2

' black

red

G

8

' red

blue

12V

7

' white

green

Ground

3

' shield (clear) Black

Ground

not connected

'

grey, pink, brown - NOT used


'MD485 settings:
' CS I/O AND RS-485
' SDC Address 7
' Transparent Communication
' RS-485 baud 9600

' *HMP155ACBL2, ordered separately

'Connect CS I/O port of MD485 to CS I/O port on CR1000 with SC12 cable.

Public NBytesReturned As Long
Public SerialIndest As String * 26
Public RHArray(2) As String
Alias RHArray(1)=RH
Alias RHArray(2)=TempC
Public String_1 As String
Public String_2 As String
Const SensorPort=32
Const CRLF=CHR(13)+CHR(10)

SequentialMode

'Define Data Tables
DataTable (Table1,1,-1)
DataInterval (0,15,Min,10)
Average (1,TempC,FP2,False)
Sample (1,RH,FP2)
EndTable

'Main Program (for sensor configured for default settings of 4800 baud, E,7,1)
BeginProg
SerialOpen (SensorPort,4800,58,0,53) ' buffer = 2*number of bytes + 1
' SDM-SI01 port 58 for half duplex,7,E,1
'Strings to start serial output
String_1 = "SMODE RUN"+CRLF ' set SMODE to "RUN"
String_2 = "R"+CRLF ' send "R" to start serial output
'Instructions to enable RS-485 serial output
SerialOut (SensorPort,String_1,"RUN",3,100) 'send String_1, wait for 'RUN' response
Delay (0,500,mSec)
SerialOut (SensorPort,String_2,"RH",3,100) 'send String_2
Scan (5,Sec,0,0)
'Get serial string from sensor
SerialInRecord (SensorPort,SerialIndest,00,24,&H0D0A,NBytesReturned,00) '&H0D0A = CRLF
'Parse RH and temp from string
SplitStr (RHArray(1),SerialIndest,"=",2,0)
CallTable Table1
NextScan
EndProg

C-8