Connecting to Campbell Scientific dataloggers
You can record data from the LI-710 on Campbell Scientific® dataloggers that support the SDI-12 protocol. This tutorial provides the steps and simple programs for connecting the LI-710 to a CR1000X, CR1000, CR300, CR6, or CR5000 datalogger. The programs described here will read data from the LI-710 only. If you want to add the LI-710 to an existing program, the task is more complicated. Campbell Scientific can provide the technical assistance that is required for modifying datalogger programs beyond what is described here.
Requirements for this tutorial
The following items are required to complete this tutorial.
- LI-710 Evapotranspiration Sensor.
- Datalogger programs for the logging LI-710 data to a Campbell Scientific datalogger from licor.app.boxenterprise.net/s/vzy8p3jz4ttvrz3sixutuh3ho3ycjt6a. Some programs are for 1-minute data logging for testing. The others are for 30-minute data logging for deployment.
- Personal Computer (Windows OS).
- Campbell Scientific datalogger: CR1000X, CR1000, CR6, or CR5000.
- PC400 software from Campbell Scientific, Inc. The software is available from campbellsci.com/downloads/pc400. This tutorial describes version 4.7.
Configuring the datalogger
Follow these steps to connect an LI-710 to the datalogger.
- Connect the LI-710 to the datalogger terminals.
- The terminals must provide power (12 VDC), ground, and a data connection. In this example, we use terminal C1, which is labeled on the logger and specified in the program as the SDI-12 terminal for this sensor.
- Power on the datalogger.
- The datalogger will power on when power is supplied.
- Connect a communication cable between the datalogger and your computer.
- We use the USB connection on the CR1000X for this tutorial.
- You may need to use the serial or Ethernet connection with dataloggers that do not support USB. In any case, the steps are the same after you have established communication between your PC and the datalogger.
- Launch the PC400 application.
- If you've configured the connection already, just connect to the datalogger and go to the next step.
- If it is the first time you've connected, add a datalogger to the list and configure the settings.
-
- Select the datalogger model and assign a name.
- Select Direct Connection as the type.
- Select a COM port number (if it is the first time connecting, install the device driver now).
- Click through the remaining prompts, leaving the default settings as they are or making changes to suit yourself. You could send a program to the datalogger in the Wizard, but there are some other settings to check and configure before doing so.
- Consider the LI-710 SDI-12 address.
- Each LI-710 has an SDI-12 address of 0 by default. The sample programs use an address of 0 as well, and are compatible with the LI-710 in its default configuration. If you need to change the sensor address, we describe that in The PC400 terminal program. If you change the address, you must also modify the program as well (you can do this easily in a text editor).
- Click Send Program to send the program to the datalogger.
- For testing, we provide a program that records measurements every one minute. The program you use in deployments records measurements every 30 minutes; we provide those too.
- Click Yes to dismiss the warning; allow the logger to compile the program.
- The datalogger will restart; reconnect after it restarts.
- Click Monitor Data to view the latest results.
Retrieving logged data
The datalogger stores the readings to its internal memory. To copy the data to your computer:
- Click Start Data Collection to save the logged data to a file on your computer.
- Select an output file and click OK.
- The directory is indicated in the column called Output File Name.
- Click View File to see the records saved so far.
The PC400 terminal program
The PC400 has a built-in terminal emulator that you can use to communicate with the LI-710. To use it, connect with the datalogger as described earlier and follow these steps:
- In PC400, click Datalogger > Terminal Emulator.
- In the new window, click the Open Terminal button and then click in the terminal to bring focus to that window.
- Press Enter one or more times to get a response from the datalogger.
- The response will be something like
CR1000X>
. - Type SDI12 and press Enter.
- When presented the menu, select the port (press 1 if your LI-710 is on terminal C1).
- Now you can query the LI-710 with the following commands:
Get the address
- Command ?!
- Reply:
0
(or whatever the address is)
Set the address
To change the address from 0 to 1
- Command: 0A1!
- Reply:
1
Note: If you change the address, you must modify the address in the program to match the sensor's address.
Get information
- Command: 0I! (the number zero, the capital letter I for information, ending with an exclamation point).
- Reply:
014LI-COR LI-7101.0ET100033
(identifying information for the sensor, including the device address, manufacturer, model, firmware version, and serial number).
Read current data from a group
The command to read data.
- Command: 0R0!
- Reply:
0+0.00+0.02+0.02+1.39+97.55+22.47+48.87+0
- Command: 0R1!
- Reply:
1+0.00+0.02+0.02+97.55+22.47+48.87+600+0
The two examples show data group 0 and data group 1. Enter 2 or 3 in place of the 0 or 1 to read those data groups.
Simple program with comments
The program in Listing 5‑1 is for a Campbell Scientific CR1000X, CR1000, CR5000, or CR6 Datalogger. This example includes comments to show you which parameters can be modified.
'LI-710 simple logger
'Rev: 0.1
'Date: May 23, 2023
'Author: licor.com
Public LI710A(9) 'names an array and specifies that it has 9 variables
Alias LI710A(1)=et_l 'the first of 9
Units et_l=mm
Alias LI710A(2)=le_l
Units le_l=W/M^2
Alias LI710A(3)=h_l
Units h_l=W/M^2
Alias LI710A(4)=vpd_l
Units vpd_l=kPa
Alias LI710A(5)=pa_l
Units pa_l=kPa
Alias LI710A(6)=ta_l
Units ta_l=C
Alias LI710A(7)=rh_l
Units rh_l=%
Alias LI710A(8)=seq_l
Units seq_l=count
Alias LI710A(9)=diag_l
Units diag_l=Dimensionless
DataTable (LI710group0,True,-1) 'creates and names a data table
DataInterval(0,30,Min,10) 'specifies the interval for writing to the table
Sample(9,LI710A,IEEE4)
EndTable
BeginProg
Scan (30,Min,1,0) 'specifies the interval for scanning for new data
SDI12Recorder(LI710A,C1,0,"XT!",1.0,0) 'instructs the SDI-12 device on terminal C1 to start sampling
SDI12Recorder(LI710A,C1,0,"M0!",1.0,0) 'requests group 0 (M0) from the SDI-12 device on terminal C1
CallTable LI710group0
NextScan