Not long ago I bought the Vaisala HMP155E (purely RS485 output) directly from Vaisala (as opposed to the analog ones that are resold by Campbell Scientific) and I'm trying to get it to work with the CS CR1000Xe datalogger. But when I attempt to get serial output from it, nothing happens. I made sure to wire everything correctly according to the Vaisala manual and I also made sure to configure the ComPort (in my case, C5) for RS485 half-duplex transparent mode, 4800 baud serial rate.
What could be the problem here?
Here's how I wired things (it's the cable provided by Vaisala therefore coloring differs from what's sold by CS);
Blue - Vcc - 12V
Red - power ground - G
Black - shield - G
Pink - RS485A- C5
Brown - RS485B - C6
And the program (it's basically the downloadable HMP155A SDM-SIO1A example program, just modified slightly for my case);
'Declare Public Variables
Public NbytesReturned
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=11
Const CRLF=CHR(13)+CHR(10)
SequentialMode
'Define Data Tables
DataTable (FiveMin,1,-1)
DataInterval (0,5,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,26,0,53) 'buffer = 2*number of bytes + 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
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
RH=Mid (SerialIndest,5,4)
SplitStr (RHArray(1),SerialIndest,"=",2,0)
CallTable FiveMin
NextScan
EndProg
"NBytesReturned" is 0, and nor does opening the terminal emulator produce any serial output using the sniffer command (hangs here);
4: ComSDC7 5: ComSDC8 6: Com320 7: ComSDC10 8: ComSDC11 9: ComC1 10: ComC3 11: ComC5 12: ComC7 13: ComUSB 15: TCP/IP 16: SDM-SIO4 17: Ethernet 19: CS IO(1), (default NL200) 20: CS IO(2), (default NL240) 22: USB network 23: IP Trace 26: SDM 32..47: SDM-SIO1 Select: 11 ASCII (Y)? Y opening 11 hit ESC to exit, any other key to renew timeout
What could I be doing wrong here? Any help would be much appreciated.