Hi All,
I want to have a proper CR1000 programming to use for wind measurement. You may see my template below.
I am using Windvector instruction to store wind direction and its std using OutputOpt option 4. Also, I am recording Avg, Max, Min, and Std of wind speed. Is it same with using option 0?
My scan interval is 1 sec to match with IEC standard and storing data into 10 min tables. But I want to scan environmental measurements (pressure, air temp and humidity) with a lower interval like 15 sec and store into 10 min table. How can I do that?
Is there a way to prevent skipped scans except for increasing scan buffers? Skipped scans may cause losing data and it results in additional measurement uncertainty.
I will be appreciated for any help and correction.
Batu
DataTable (WindData,1,-1) DataInterval (0,10,Min,10) Minimum (1,BattV,FP2,False,False) WindVector (1,ws_1,wd_1,FP2,False,0,0,4) FieldNames ("wd_1_avg,wd_1_std") SampleMaxMin (1,wd_1,FP2,False) FieldNames ("wd_1_max") Average (1,ws_1,FP2,False) FieldNames ("ws_1_avg") StdDev (1,ws_1,FP2,False) FieldNames ("ws_1_std") Maximum (1,ws_1,FP2,False,False) FieldNames ("ws_1_max") Minimum (1,ws_1,FP2,False,False) FieldNames ("ws_1_min") Average (1,ws_2,FP2,False) FieldNames ("ws_2_avg") StdDev (1,ws_2,FP2,False) FieldNames ("ws_2_std") Maximum (1,ws_2,FP2,False,False) FieldNames ("ws_2_max") Minimum (1,ws_2,FP2,False,False) FieldNames ("ws_2_min") Average (1,ws_3,FP2,False) FieldNames ("ws_3_avg") StdDev (1,ws_3,FP2,False) FieldNames ("ws_3_std") Maximum (1,ws_3,FP2,False,False) FieldNames ("ws_3_max") Minimum (1,ws_3,FP2,False,False) FieldNames ("ws_3_min") WindVector (1,ws_4,wd_2,FP2,False,900,0,4) FieldNames ("wd_2_avg,wd_2_std") SampleMaxMin (1,wd_2,FP2,False) FieldNames ("wd_2_max") Average (1,ws_4,FP2,False) FieldNames ("ws_4_avg") StdDev (1,ws_4,FP2,False) FieldNames ("ws_4_std") Maximum (1,ws_4,FP2,False,False) FieldNames ("ws_4_max") Minimum (1,ws_4,FP2,False,False) FieldNames ("ws_4_min") Average (1,AirTemp,FP2,False) FieldNames ("AirTemp_avg") Maximum (1,AirTemp,FP2,False,False) FieldNames ("AirTemp_max") Minimum (1,AirTemp,FP2,False,False) FieldNames ("AirTemp_min") Average (1,RHumidity,FP2,False) FieldNames ("RHumidity_avg") Maximum (1,RHumidity,FP2,False,False) FieldNames ("RHumidity_max") Minimum (1,RHumidity,FP2,False,False) FieldNames ("RHumidity_min") Average (1,AirPressure,IEEE4,False) FieldNames ("AirPressure_avg") Maximum (1,AirPressure,IEEE4,False,False) FieldNames ("AirPressure_max") Minimum (1,AirPressure,IEEE4,False,False) FieldNames ("AirPressure_min") EndTable
BeginProg
SerialOpen (COMRS232,9600,0,0,10000)
Scan (1,sec,0,0)
..
CallTable WindData
NextScan
EndProg
Depending on your sensor models, it might be possible to read them all within a 1 second scan. If there isn't enough time, you can use SlowSequence. SlowSequence allows adding a lower priority scan for devices that normally would take to much time to read.
BeginProg
Scan(1,sec,0,0)
'Faster measurements
NextScan
SlowSequence
Scan(15,sec,0,0)
'Slower measurements
NextScan
EndProg
Thanks for your answer.
My sensors; Vector Instrument W200P wind vane, A100LM Anemometers, Rotronic Temp and Hum Sensor, RM Young Air Pressure sensor.
I will try SlowSequence.
Those sensors are quick enough to read, that you probably can read them all on a 1 second scan, without skipped scans.