Measurement and Control Products for WEATHER Measurement and Control Products for WATER Measurement and Control Products for ENERGY Measurement and Control Products for MACHINES Measurement and Control Products for STRUCTURES Measurement and Control Products for EARTH
Rugged Versatility
Multipurpose datalogger for monitoring and control
Image Gallery

General Support

User Forum

Visit the Campbell Scientific Forum to submit your question to users around the world.

Ask an Expert

Ask an Expert using our simple form and we'll pass it along to one of our experts.

Call Us

Our technical support experts are ready to answer your questions. Our support numbers are:

New or General Inquiries: 780.454.2505

Montreal (Direct): 514.848.7239
Quebec (Direct): 418.622.8104
Fax: 780.454.2655

Videos & Tutorials

CRBasic Help System - 3:33
Common CRBasic Errors and How to Fix Them - 12:07
SDI-12 Transparent Mode - 7:13
CRBasic Features - 11:09
SDI-12 Watch or Sniffer Mode - 3:25
Troubleshooting Cellular Modems - 15:29
RTMC Pro - Real Time Monitoring and Control - 10:55
Getting Started with RTMC - 10:32
Tip - Changing Variables in Table Monitor and Numeric Display - 2:33
Using Variable Arrays, Repetitions, and Aliases - 6:50


CR1000 OS v.27.05 (3.76 MB) Add to List

Execution of this download installs the CR1000 Operating System and Compiler on your computer.  It also updates the CR1000 support files for the CRBasic Editor.  

Note: This OS has crossed the 2 Meg CR1000 size limit for remote download.  The OS must be downloaded to the 2 Meg CR1000 via direct connect with the Device Configuration Utility.  All OS download methods are supported by the 4 Meg CR1000.

View Revision History
Device Configuration Utility v.2.10 (40.8 MB) Download Now

A software utility used to download operating systems and set up Campbell Scientific hardware. Also will update PakBus Graph and the Network Planner if they have been installed prior by another Campbell Scientific software package.

View Revision History


Can the CR1000 measure 4 to 20 mA signals?

Yes. A CURS100 is used to convert a current signal (for example, 4 to 20 mA) output by a sensor to a voltage that can be measured by the CR1000. The precision 100 ohm resistor used for the current shunt allows currents up to 50 mA to be read on a ±5000 mV range.

What would it take to make the CR1000 wireless?

This depends on what is meant by “wireless.” Using telecommunications peripherals, the CR1000 can communicate with remote computers. Examples of wireless telecommunications options include cellular telephone, licensed and spread-spectrum radios, and satellite communications. Additionally, Ethernet interfaces allow the CR1000 to access, or be accessed by, the Internet or internal Local Area Networks (LANs).

These links allow the user to remotely access the datalogger real-time data, stored data, and programming. Users can combine several telecommunications options. Popular telemetry options that can be combined include Ethernet-to-radio, multidrop-to-spread-spectrum radio, phone-to-multidrop, Ethernet-to-multidrop, and phone-to-radio.

For more information, see the "Data Storage & Retrieval Peripherals" brochure.  

The CR1000/CR3000 wiring panel shows four serial I/O ports on C1 to C8. Do these serial I/O ports provide the same functionality as the SDM-SIO4 module did on a CR10X or CR23X datalogger?

Not the same, but similar. The SDM-SIO4 provides RS-232 voltage levels; the CR1000 control ports provide 0 to 5 V only. Both usually work with all sensors, and both devices are compatible with RS-232 and TTL logic. The CR1000 is easier to set up and program for serial input. The SDM-SIO1 is a preferred alternative to the SDM-SIO4.

When compared to the CR10X, the CR1000 can handle strings as a specific data type. It also has more integrated serial interfaces including the following:

  • Four control port pairs—COM1 (C1 TX / C2 RX) through COM4 (C7 TX / C8 RX)
  • RS-232 port
  • CS I/O port for connection to CS I/O peripherals

The serial I/O capabilities of the CR1000/CR3000 are similar to, and faster than, the SDM-SIO4 capabilities on a CR10X or CR23X. SDM devices are addressable and are connected to a datalogger on C1 through C3. Therefore, one benefit of using multiple SDM devices on a CR1000 datalogger is that only three control ports are used.

If data is downloaded to a PC, the resultant “CR1000_Table1.dat” file is, for example, 150 kB in size. Is 150 kB necessarily its size on the CR1000? Is there any type of data compression being used?

The CR1000 stores data in a binary format (1s and 0s), which is very compact. Campbell Scientific software, such as LoggerNet, collects the data in this binary format and converts it to a readable format such as ASCII. The CR1000 Status table contains information regarding how memory is allocated for data storage. This information can be accessed through the Station Status button on the LoggerNet Connect screen. The Table Fill Times tab lists the tables in the datalogger, along with the number of records in the table.

Does a server certificate affect the communication speed of a CR1000?

In OS 24, any delay in the CR1000 communication while reading a server certificate is because the datalogger has to work its way through the certificate and set up the encryption to continue with secured communication. This speed depends on the processing power of the datalogger.

Can a network camera be connected directly to a CR1000 or CR3000?

A network camera can be connected directly to a CR1000 or CR3000 via an NL115 or NL120 and a crossover cable. The datalogger can retrieve and store images from the network camera. Then the images can be viewed or retrieved from the datalogger in a variety of ways. These include using LoggerNet, the datalogger’s web server, the datalogger’s FTP client/server, or the datalogger’s email client.

What is the default output file format for a CR1000?
The default output file format for a CR1000 is TOA5, which stands for Table Output ASCII version 5.
Can the TCP port for the CR1000 internal HTTP Web server be changed from 80 to something else?

The HTTP Service Port in the CR1000 can be changed and applied in the Device Configuration Utility version 2 (LoggerNet 4.1 Utilities Category, Device Configuration Utility) under the Settings Editor. After power is cycled to the datalogger, it will respond on the new port.

Is there a way for a CR1000 to measure a 12 Vdc voltage without an external circuit?
The CR1000 has analog inputs that measure voltage in a ±5 Vdc range. To measure a 12 Vdc voltage, a voltage divider is needed. In its simplest form, a voltage divider comprises two resistors. Precision differential voltage dividers, such as the VDIV10:1, are available for this purpose.
Is it possible to save the datalogger binary data as a file and download it to LoggerNet before it is stored in a CSV file?

The CardOut() and TableFile() instructions in the datalogger can be used to write binary files to the datalogger CPU, CRD, or USR drive.

Alternately, LoggerNet can be configured in the Setup screen to save data in binary format. On the Data Files tab, set the Output Format to Binary Table Data (TOB1).

How many tables can be defined for the CR1000?
The number of data tables that can be defined is limited to 30.
How many analog outputs does the CR1000 have?
The CR1000 does not have any continuous analog outputs. It has three excitation channels that are momentarily turned on during measurements. Use the SDM-AO4A for proportional control or driving strip charts.
Is there an easy way to modify an existing checksum algorithm using CRBasic and a CR1000?
Many commonly used checksum algorithms are supported with the CheckSum() instruction in CRBasic. Other checksums may be implemented using the available bitwise operators. The complexity of the implementation depends on the particular checksum.
What are the options for collecting data from a CR1000 over IP?

When using IP communications, data can be collected from a CR1000 using any of the following:

  • LoggerNet
  • FTP transfer of data from a datalogger to a computer
  • SMTP transfer of data from a datalogger to a computer
  • HTTP request of data from a datalogger by a computer
  • serial stream over IP socket from a datalogger to a computer
Can the RS-232 port on a CR1000 supply 12 Vdc power for a sensor?

No. The RS-232 does not provide 12 Vdc on any pin. The port does use an RS-232 driver chip that is capable of working with many port-powered interfaces.

What are the RS-232 throughput capabilities of the CR1000 when connecting multiple serial devices?

Each of the COM RS-232, COM1, COM2, COM3, and COM4 ports has a maximum baud rate of 115200 bps. The actual maximum throughput for each serial port is approximately 11000 bps, depending on the bit format used.

How can a CR1000 be connected to a device that uses Modbus RTU over RS-485?

Several serial converters exist that serve this purpose. The recommended device to use is the MD485.

How many RS-232 devices can the CR1000 handle?

Without expansion peripherals, the CR1000 can handle five RS-232 devices. With expansion peripherals, it is possible to have 22 RS-232 devices connected.

If a CR1000 will not pass self-calibration, what can be done to fix that?
A voltage outside of ±5 V present on one of the analog channels can cause self-calibration to fail. Disconnect all sensors, cycle power, and check if the error remains. If self-calibration fails with no sensors attached, consult an application engineer about sending the datalogger to Campbell Scientific for repair.
Is there a way to allow a user to change constants in a CR800, CR1000, or CR3000 program without allowing the user to make other program changes?

In OS 24 and later, a user can change constants from the CR1000KD or a terminal emulator without touching the program. The program must contain a ConstTable/EndConstTable construction for this to occur. Because the program does recompile, collect the data first. 

Will the PS100 or PS200 work as a battery backup for the CR1000?

Yes. A properly designed system with a PS100 or PS200 can keep a CR1000 working continuously during a short power failure. Campbell Scientific recommends, however, conducting a load analysis to determine what duration of power outage can be endured.

Can Short Cut be used to make a CR1000 or CR3000 with an NL120 push data to an FTP?

No. Short Cut version 3.0 cannot be used to program the datalogger to send data via FTP.

Can the CR1000 or CR3000 communicate over TCP/IP?

Yes. For example, the NL115 allows the CR1000 to communicate over a local network or a dedicated Internet connection via TCP/IP. 

How can a CR1000 or CR3000 interface with a Modbus/TCP device?

The datalogger needs to have its internal TCP stack active. This can be done using the NL115, NL120, NL201, or NL240.

Can the CR800, CR850, CR1000 or CR3000 be used to log an RS-422 output directly, or is an extra unit needed?

An interface is required. This can be done using an SDM-SIO1, or a third-party RS-422 to RS-232 converter.

What type of crossover cable is required to use Modbus over TCP/IP on a CR1000 or CR3000 with an NL120 or NL115?
For a direct device-to-device connection, an Ethernet crossover cable needs to be used. If there is a router between devices, normal Ethernet cables should be used.
Can a CR800/CR850 and CR1000/CR3000 be connected via a CS I/O port with a null modem cable?

No. The CS I/O port is a master to slave synchronous connection. Either use a COM port for the connection or one of the various communications peripherals available for the CS I/O port.

What is the operating voltage of the CR1000, CR800, and CR850?

The operating voltage is 9.6 to 16 Vdc. The datalogger will shut down at 9.6 Vdc. When this happens, a counter is incremented in the datalogger Status table (low12Vcount). In general, 12 to 14 Vdc is a normal range. Voltages above 16 Vdc could damage the datalogger and cause bad measurements. Therefore, the resulting data should be reviewed carefully. Sustained voltages in excess of 16 Vdc can damage the datalogger and the wiring panel.

How can variables be saved so that they are available for use after the datalogger power has been removed and the datalogger has been powered up again?

Use the PreserveVariables() instruction to ensure that all variables reflect the last known value if the datalogger experiences power loss.

What is the largest CompactFlash memory card that can be used with the CR3000 or CR1000?

With operating system 25 or greater, the CR3000 works with CF cards in sizes up to 16 GB using the TableFile() instruction and TFOption 64. For earlier versions of the operating system, the largest compatible CF card size is 2 GB.

For more information, see the “A Better Way to Write High-Frequency Data to 16 GB and Smaller CF Cardsapplication note.

Do the CR800-series, CR1000, and CR3000 dataloggers have 50 Hz versions?

50 Hz rejection is available for analog voltage measurements by setting the Integration parameter.

Can the data structure on a CR3000 or CR1000 be downloaded?

The data structure that is used to store data in the datalogger CPU memory cannot be downloaded directly. If the memory of a datalogger is expanded using a CompactFlash card, the native TOB3 file can be downloaded using the Connect | File Control | Retrieve… menu.

How can multiple CR3000, CR800-series, or CR1000 dataloggers be connected together?

These dataloggers can be connected together to create a PakBus network. The method for connecting them can be as simple as two wires and a ground on the COM1─COM4 ports or some combination of wireless radios or multidrop interface.

What needs to be done to measure ST350 Strain Transducers using a Campbell Scientific datalogger?

Use the full-bridge instruction, BrFull(). An example program for the CR1000 can be found in the “Datalogger Programming” section of the “ST350 Strain Transducer Instruction Manual.”

To connect the HMP155A-L to a CR800 or CR1000, should a differential or single-ended channel be used?

Single-ended channels are typically used when it is desirable to use fewer channels and the cable length is shorter—less than 6.1 m (20 ft). Differential channels are preferable when the cable needs to be longer than 6.1 m (20 ft).

Can the CS625-L be measured with a CR1000 datalogger?

Yes. The PeriodAvg() CRBasic instruction may be used to measure the CS625-L on a CR1000, CR800-series, or CR3000 datalogger. To make this work, it is important that the Threshold parameter be set to 1650 mV as shown in the following example:

    PortSet (1 ,1 ) ‘Enable CS625 by setting C1 high (orange wire to C1)

    PeriodAvg (PA_uS,1,mV250,1,1650,0,100,10,1.0,0) ‘Read Period on SE1 (green wire to SE1)

    PortSet (1 ,0) ‘Disable CS625 by setting C1 low

Using LabVIEW, can communication be established with a datalogger?

Campbell Scientific dataloggers cannot communicate directly with LabVIEW. However, after retrieving data collected by any of the Campbell Scientific dataloggers and placing the data in the LoggerNet data cache, the data can be shared with LabVIEW using a LoggerNet client called PC-OPC. A trial version of PC-OPC is available in the Downloads section of the Support tab on the PC-OPC product page.  

The PC-OPC Server software provides a standard interface that allows third-party OPC-compatible graphics packages, including LabVIEW, to display the datalogger data.

In addition to using the PC-OPC Server and the data socket feature in LabVIEW, communication can also be established using LoggerNet-SDK with ActiveX controls.

How many CS616-L probes can be connected to a CR1000?

Each CS616-L connects to a single-ended analog input channel, so a maximum of 16 CS616-L reflectometers may be connected to the wiring panel of a CR1000. For more than 16, consider using a multiplexer such as the AM16/32B. With a multiplexer, it is possible to read 48 CS616-L reflectometers using only three single-ended analog input channels of the CR1000.

Can an iPhone be used to load programs from a computer to a CR3000, CR1000, or CR800-series datalogger?

Files can be transferred to an iPhone from a computer using File Sharing in iTunes.

Files can also be emailed to an iPhone or accessed through a cloud storage system such as Dropbox. LoggerLink is registered with iOS so that the program file types are handled correctly. Using the Open In feature allows these files to be copied to LoggerLink.

How can a CR1000 and CR3000 be networked together?

Telemetry peripherals are discussed and compared in the “Data Storage & Retrieval Peripherals” brochure. 

Can a CR1000 be directly connected as a peripheral device to a CR3000 via a serial connection?

Yes. The CR1000 could be set up as a SDI-12 sensor using the SDI12SensorSetup() instruction. Alternatively, the CR1000 could be set up to perform serial communications with the CR3000 by connecting a COM1─COM4 port pair and ground from one datalogger to a COM1─COM4 port pair and ground on the other datalogger. The COM1─COM4 port lines need to cross RX to TX and vice versa.

Are the CR800 and CR1000 capable of being programmed through a CD100 or CR1000KD without the use of computer software?

Although it is recommended to use software such as Short Cut for programming, the CR800-series, CR1000, and CR3000 dataloggers can be programmed with the CD100, CR1000KD, or integrated keypads. The keypad can be used to create new programs or edit programs that already exist in the datalogger memory.

From the CD100 or CR1000KD home screen, follow these steps to get started:

  1. Press Enter
  2. Select File and press Enter
  3. Select either New or Edit
    • To modify an existing instruction, select the instruction, and press Enter
    • To add a new instruction, press Ins, and select Instruction.
Is there a sample program available for the CR1000 for eddy-covariance applications?

Eddy-covariance programs for the CR5000 and CR1000 are not published on the Campbell Scientific website. To purchase a datalogger program to measure the sensors used in these systems and perform the calculations, contact an application engineer in the Campbell Scientific Micrometeorology Flux group.

Is an SDM-SIO4 necessary to connect a CR1000, CR3000, or CR800-series datalogger with a serial sensor?

It depends. It is possible to connect serial sensors to a datalogger without the use of an SDM-SIO4. However, if the sensors require hardware flow control or true RS-232 voltage levels, an SDM-SIO4 may be needed. The SDM-SIO1 also works with RS-485 signals and is a preferred alternative to the SDM-SIO4.

How can an SDM-SIO4 and a CR1000, CR3000, or CR800-series datalogger be used to send a string from the SDM port out?

Load the string to a buffer in the SDM-SIO4, and issue the command to send the string. For details, see the SDM-SIO4 Instruction Manual.

Can a CR5000 and a CR1000 be networked so that the data from both can be downloaded over a single cellular digital modem?

Yes. Create a multidrop network with an MD485 between the CR5000, the CR1000, and the digital modem. See the “Digital Cellular Modem to MD485 Network” appendix item in the MD485 instruction manual

How many CWB100s can be connected to a single CR800, CR850, CR1000, or CR3000?

Only one CWB100 can be connected to each odd channel control port. For the CR800 and CR850, this relates to two total units—one on C1 and one on C3. On the CR1000 and CR3000, this amounts to four total units.

Putting more than one CWB100 on a datalogger will NOT speed up sensor data collection. Only one CWB100 should be accessed at any given time, or the devices will interfere with each other. If multiple CWB100 devices are connected to a single datalogger, the data collection schedules for the CWB100 devices should be staggered. Sufficient time should be built in to allow each base unit to collect data from all of the remote sensors associated with it and to allow for any needed retries.

Can an SRM-5A be connected directly to a CR1000, or is another module needed?

If connecting to the CS I/O port, one of the following is needed:

  • An SC932A interface with a 15751 9 to 25 pin adapter
  • An SC932C interface

A connection can also be made to the RS-232 port. However, the switch on the SRM-5A must be in the DTE position on the station modem, and adapters and gender changers may be needed to complete the connection.

What can be used to add analog voltage channels to a CR1000?

For the CR1000, to get continuous analog outputs, an SDM-AO4A (4-channels, non-isolated, voltage only) or an SDM-CVO4 (4-channels, isolated, voltage or current) is needed. Multiples of these devices can be used to get more outputs.  For single channels of output, some third-party devices can be used.

Using PC200W, how can a CR1000 be instructed to send data to the SC115?

On the Outputs page of the Short Cut program generator, each table has an option to send the data to an SC115.

Can dual communication modes be run on a single CR1000 using a COM320 and an NL120?

Yes. By configuring the NL120 as a CSDC device, both the NL120 and COM320 can share the same CS I/O port. The CR1000 and CR3000 are capable of multi-threading, so the NL120 and COM320 can run in parallel. For more information, refer to the NL120 Ethernet Module Instruction Manual.

How many strain gages can be hooked up per excitation channel using a CR1000 and multiple 4WFBS350 modules?

The CR1000 excitation channel current limit is 25 mA at 2500 mV. Using 350 ohm gages with multiple 4WFBS350 modules, up to five gages can be hooked up for each excitation channel with 2500 mV excitation.

How many strain gages can be hooked up per excitation channel using a CR1000 and multiple 4WFBS120 modules?

The CR1000 excitation channel current limit is 25 mA at 2500 mV. Using 120 ohm gages with multiple 4WFBS120 modules, only two gages can be hooked up for each excitation channel with 2500 mV excitation. If three gages per excitation channel are used, the excitation needs to be reduced to approximately 1750 mV.

How many strain gages can be hooked up per excitation channel using a CR1000 and multiple 4WFBS1K modules?

The CR1000 excitation channel current limit is 25 mA at 2500 mV. Using 1 kohm gages with multiple 4WFBS1K modules, 10 strain gages can be hooked up for each excitation channel with 2500 mV excitation.

What equipment is needed to link dataloggers to a LoggerLink application?

Only IP-enabled PakBus dataloggers (CR200X-series, CR800, CR850, CR1000, and CR3000) can be used with LoggerLink for iOS. IP connectivity can be set up using an Ethernet interface such as the NL115, a network link interface such as the NL240, or a cellular digital modem. In addition to these IP connectivity methods, LoggerLink for Android works with Bluetooth communications using an RS-232-to-Bluetooth adapter. 

Where can example programs be found?

The CRBasic Editor Help contains example program code for all instructions in the datalogger. Look for the Example link at the top of each instruction topic. The CRBasic Help Tutorial demonstrates how to access this and other online CRBasic Editor Help files.

Also, many programming examples can be found in the datalogger and sensor manuals that are available on the Campbell Scientific website.

What might cause a datalogger to not store data at a particular time, such as midnight?

This might happen because the datalogger clock is being adjusted by a remote time source. If this occurs close to the same time that the datalogger is due to store data, it can result in either a skipped record or an additional record of data.

If LoggerNet 4 is used to collect data on a schedule, check the setup for that datalogger. Look at the settings on the Clock tab in the LoggerNet Setup Screen. If that is enabled, the clock is checked and set at midnight every day and may interfere with data collection at that same time.

Skipped scans and power outages could also result in records missing from a data table. Check the datalogger’s station status or Status table and look for skipped scans, watchdogs, and low 12 V counts.

Does CRBasic have to be used to program a datalogger? Does a menu-driven program generator exist for the datalogger?

A free program generator for all Campbell Scientific dataloggers is Short Cut for Windows (SCWin). Short Cut can be used to create programs in many situations where Campbell Scientific equipment is used. The Campbell Scientific YouTube channel has a two-part series on using Short Cut.

In situations where program requirements are too complex or specialized for Short Cut, programs can be written in any text editor that can edit and save plain ASCII text. However, creating an error-free program would be very difficult. The CRBasic Editor that comes with PC400 and LoggerNet provides a programming environment with procedure templates, integrated help, programming examples, the ability to test compile the program before sending it, and many other features that can be very helpful when developing a program.

What might cause clock issues?

If the automatic clock synchronization option (LoggerNet [version 4] Setup, Datalogger, Clock tab) is used, do not set the Allowed Clock Deviation too tight (for example, 1 s), as the PC will try to change the clock either because of drift in its own clock or because of delays in the communication from the PC to the datalogger. If the clock is updated too often, there is the risk of the datalogger skipping records if the time is pushed forward just before it is supposed to store data.

Although most PCs are usually synchronized with Internet time, the default update time is several days, and a PC can typically drift tens of seconds in that period.

Clock issues also appear when changing to or from daylight saving time, as the datalogger does not automatically adjust for DST. Data continuity can be maintained by keeping datalogger clocks on standard time.

In addition, if the datalogger’s internal 3 V battery is bad and the datalogger’s main 12 V power supply is cycled, the datalogger’s clock will reset to a default time.

What is the difference between the various bridge measurements?

The advantage of the BrHalf4W circuit is that the effect of lead resistance is measured and compensated for. The disadvantage is that it requires two differential (four single-ended) voltage input channels and four wires to the sensor.

Some sensors have four wires and are sensitive enough that the lead resistance would cause too great an error.

The BrHalf, a two-wire measurement, does not compensate for lead resistance.

The BrHalf3W lead compensation assumes that both leads are of the same resistance.

How can the datalogger be used to produce analog voltages?
To get continuous analog outputs, either the SDM-AO4A (four channels, non-isolated, voltage only) or the SDM-CVO4 (four channels, isolated, voltage or current) is needed. Multiples of those devices can be used to acquire more outputs.
How can information be sent from a TDR100 to a CR1000 for storage?

To understand the readings obtained from a datalogger program, it is necessary to see how the TDR100 operates in PC-TDR. Either the TDR100 commands are entered in PC-TDR and the user waits to see the results, or the datalogger sends the TDR100 commands and automatically stores the results.

Campbell Scientific suggests initially entering the TDR100 commands in PC-TDR and waiting for the results before writing a datalogger program. This allows verification that the TDR100 is operating correctly in PC-TDR. After that has been verified, a datalogger program can be created for the TDR100 that sends the commands and stores the results.

Can an RS-232 device be directly connected to the CS I/O port of a datalogger?
An RS-232 device cannot be directly connected to the CS I/O port of the datalogger. A peripheral, such as an SC932A or SC105, is required.
Can a datalogger accept PakBus connections from multiple ports simultaneously?
The CR1000, CR800, CR850, and CR3000 can accept PakBus connections from multiple ports simultaneously, provided that all of the connecting nodes have unique PakBus addresses.
Which CRBasic instruction is used to activate the 7321 relay?

Either the PortSet() or the WriteIO() instruction can be used to open and close the 7321 relay. These instructions are commonly used in conjunction with an IfThen/EndIf construction.

In this first example, the program closes the relay at the top of a 60 second interval and then opens the relay after ten seconds:


            Scan (1,Sec,0,0)

                        If IfTime (0,60,Sec) Then


                        ElseIf IfTime (10,60,Sec) Then






In this second example, the WriteIO() instruction is used to close the 7321 relay based on the measured panel temperature:

Public PTemp


            Scan (1,Sec,0,0)

                        PanelTemp (PTemp,_60Hz)

                        If PTemp > 25 Then

                                    WriteIO (&B00000001,&B00000001)


                                    WriteIO (&B00000001,&B00000000)




Is data lost when the datalogger battery runs out of power in the field or is disconnected, and a “table definitions out of date” error message appears upon powering up?

Data will only be lost if the datalogger’s internal 3 V battery is also bad. The “table definitions out of date” message simply implies that the datalogger is running a program that the PC software does not recognize.  After successfully connecting, the message “updating table definitions” should appear.  This means that the PC software has knowledge of the program running on the datalogger and should not affect data stored on the datalogger.

The datalogger assigns two attributes for program files:

  • Run now: specifies the file should be run as the current program
  • Run on power up: specifies that the file should be run as the program when the datalogger powers up

If the latter option is not set for the datalogger, the datalogger will not have a program running when it powers up, which will result in lost data. For more information, see the “How Do You Run?” article. 

If a datalogger has not been used in a while and the internal battery is low, will the battery recharge if the datalogger is connected to a power supply? Or does the battery need to be replaced?

The internal battery is not rechargeable. In the case of low internal battery voltage, data will only be maintained as long as a power supply is connected. Collect all data from the datalogger before disconnecting the power. Then, replace the internal battery.

  • For the CR800, CR850, CR1000, or CR3000 dataloggers, use the 13519 replacement lithium battery.
  • For the CR5000 datalogger, use the 13497 replacement lithium battery.
  • For the CR9000X and CR9000XC dataloggers, use the 8025 replacement lithium battery.

How often is the lithium battery voltage measured by the datalogger?

The lithium battery voltage is measured by the datalogger once per day, and the value is held in the Status table when it is running normally. The voltage is normally extremely stable if the datalogger is powered from another source and its temperature is stable. A new battery supplies approximately 3.6 Vdc; it should be replaced when its reading is at or below 2.7 Vdc.

The lithium battery voltage is also read when the datalogger is reset or its program is recompiled.

Can two dataloggers be connected over the RS-232 port, or do they need to use the COM ports to connect?
With the CR1000, CR800, CR850, and CR3000, connection between RS-232 ports is possible. The connection requires a null modem serial cable to cross the transmit and receive lines.
If a datalogger OS has not been upgraded in a long time, can the most current OS be downloaded, or do the upgrades need to be done incrementally?

It is possible to upgrade the OS without downloading each OS version between the existing one on the datalogger and the most current one available. For example, a CR1000 can be upgraded directly from OS 14 to OS 25. However, when a large jump in OS versions is made, the upgrade will likely restructure the Status table and the Setting table, and they will need to be manually reloaded.

Note that in many instances, an OS update may not be necessary. Before updating, check the OS Revision History to see if a newer version would provide desired benefits.

Is there a free software package that allows the generation of programs that can sample data on the RS-232 or COM port of the datalogger?

Some Campbell Scientific sensors with an RS-232 output are supported in Short Cut. Because of the large variety of serial data formats, other sensors require creating a program in the CRBasic Editor. CRBasic Editor is included in several of the purchased software packages, such as LoggerNet. For more information, see the “Interfacing Serial Sensors with Campbell Scientific Dataloggers” application note.

Note: The CR200X-series dataloggers have very limited serial capabilities.

Why might a datalogger refuse having a file uploaded to it?

The internal file storage on the datalogger has limits on the size, quantity, and name length of files. The file name of the new file may need to be shortened, or some older files may need to be deleted using File Control.

If an RF modem is used to communicate with a datalogger and a PC running LoggerNet, but the modem baud rate is one third of the datalogger baud rate, is that a problem?

If small amounts of data are transferred per transmission, it will not be a problem. Larger amounts of data can overrun buffers in the modem, causing lost data. In that situation, lower the baud rate on the datalogger to avoid the issue.

Is there a GPS interface that can be used to keep a datalogger synchronized with GPS time?

Campbell Scientific offers the GPS16X-HVS for the purpose of synchronizing with GPS time. Other GPS units may be used if they produce GPRMC and GPGGA sentences. Time synchronization accuracy may be improved if the unit has a PPS (pulse per second) output.

Using RTMC Pro, is there a way to set up email alerts for a complete datalogger failure?

RTMC Pro software is capable of email alarms. For example, an alarm could be set to trigger when there is a communication failure. 

Can two of the same sensor be wired to the same COM port on a datalogger, with each sensor sending separate data files to the datalogger?
RS-232 is not a multidrop interface. This means that the connection can only be between two devices. SDI-12 and RS-485 two-wire are multidrop interfaces, allowing several devices to be connected to the same port. Only a single RS-232 device may be connected to a COM port. Using an RS-485 to RS-232 interface, several RS-485 devices may be connected to a single COM port.
How long can the cables be between networked dataloggers?

The maximum cable length depends on the interface being used.

  • RS-232 connections will reach 15 m (50 ft).
  • RS-485 connections go beyond 610 m (2,000 ft).
  • IP connections can be routed worldwide. 
Is it possible to use LoggerNet RTMC while a datalogger is collecting data from a serial sensor?

Yes, provided the serial sensor is connected to a port that is separate from the one used to connect to LoggerNet.

Can a datalogger be used for logging binary data and hexadecimal data?

Yes. There are low-level instructions for the CR800, CR850, CR1000, and CR3000 available in CRBasic that make this possible. The CR200X-series dataloggers do not have the ability to manipulate string type data.

Why do the PPPOpen and PPPClose commands run so frequently?
If PPP is enabled in the settings, the datalogger effectively reviews what it should be doing with the PPP connection every second. If PPPClose was called at some point, the message “user closed ppp” is displayed in the trace log, every second or so. This means that the datalogger checked what it should be doing and found that it should be closed. (It does not mean that PPPClose was called at that time.)
What is a skipped system scan?

A skipped system scan can be seen in the datalogger Status table. It indicates there was not enough time for the datalogger to do its background calibration procedures, which it does on a regular cycle. (Refer to the datalogger’s manual for more details.)

If these system scans are skipped, they are usually deferred until the next time they should run. This may not necessarily be a problem as long as the system scan does run some of the time. All it means is that the datalogger becomes slower to respond to changes, such as temperature, which can affect the datalogger’s calibration.

Where can processor usage information be found?

For the CR1000 datalogger, the Status table, accessed from the CR1000KD or LoggerNet (version 4) Connect screen, Station Status button, has some statistics that may be useful. Refer to “ProcessTime,” “MaxProcTime,” “MeasureTime,” and “MeasureOps” in Appendix B of the CR1000 Operator’s Manual

How are raw readings produced from half-bridge measurements different between dataloggers?
For the CR10X and CR200X, raw readings from half-bridge measurements are in millivolts. For the CR1000, each reading is a ratiometric number between 0 and 1 (signal voltage/excitation voltage).
What does the “Warning: Internal data storage memory was reinitialized” message mean?

This message indicates that the datalogger had to reconfigure and delete final storage data. The data tables are recreated, thus causing the historical data to be deleted. This message is only seen if programs are sent or restarted either by the File Control options to start/stop a program, or if the program is sent from the CRBasic Editor. If a program is sent from the Connect screen, this message is not displayed, but final storage data on the datalogger is deleted. Remember to collect data before sending or starting a program.

What is needed to write a simple program that will read two analog channels (0 to 10 Vdc)?

The CR1000 can measure analog voltages in the ±5 Vdc range. A voltage divider such as the VDIV2:1 is required to reduce 10 Vdc to an acceptable range. For examples of wiring and programs, see the VDIV10:1/VDIV2:1 manual

How can the datalogger build a text string and send it out the RS-232 port?

Sending a serial string out one of the datalogger COM ports requires at least two instructions. Generally, the SerialOpen() instruction is used to set the characteristics of the communications port, such as baud rate and error detection (for example, 115.2k, N, 8, 1). The instructions SerialOut() or SerialOutBlock() can be used to transmit a specified string. See the CRBasic Editor Help for examples of programs using each of these instructions.

What is the TDF file?

From the CRBasic version 3.4 Help file: “TDF stands for Table Definitions File. When a program is compiled for a CR1000, CR3000, or CR800/850 datalogger a program_name.TDF file is created along with the original program file. This file contains the table definitions (table size, variable names, data types, etc.) for that program. In software that works with this functionality, the user can associate a TDF file with a datalogger. This can be useful if communication is taking place over a slow or unreliable communications link where the attempt to receive table definitions back from the datalogger fails.”

When will a datalogger reset the switched 12 V channel (SW12)?

The datalogger will not reset the SW12 unless it is done under program control using the SW12() or PortSet() instructions, or unless the datalogger compiles or recompiles a program. This could be done when a new program is sent to the datalogger, or if the power is cycled.

Is there a way to check when the last background calibration was executed on a CR1000?

The datalogger’s Status table has a LastSystemScan field that provides this information.

If the message “Clock check started” is followed by the message “Clock check failed,” what does this mean?

This is a general indication of a communications error with the datalogger. One of the first things that the communications software tries to do is read the station clock, and that is why the clock check command shows up as failing. It does not mean that there is a clock problem in general.

Is there a way to only record measurements during the daytime and put the datalogger in sleep mode during the nighttime to conserve power?

Yes. The simplest method is to use conditional program statements that execute most of the code based on time. For example, the data could be scheduled to log at 6 a.m. and finish at 8 p.m. using CRBasic instructions such as TimeIntoInterval(). Another option is to use an IfThen/EndIf construction that does a logical test of light-level measurements based on a light sensor. An additional option is to use calculated sunrise and sunset times along with a combination of RealTime() and Case instructions.

For more information, see the “Decisions, Decisions, Decisions…” article. 

Can HTTP and PakBus operate simultaneously?
Yes, because HTTP is a separate protocol from PakBus.
Can multiple networked dataloggers be time synchronized programmatically?

If the dataloggers are connected over some form of serial/PakBus link, they can be synchronized with each other using the ClockReport() and PakBusClock() instructions in the dataloggers. Use the ClockReport() instruction in the master (time) datalogger and the PakBusClock() instruction in the slave dataloggers. The option to broadcast to all can be used (providing no routing is needed), which means that just one packet of information is sent.

The ClockReport() instruction can be used as frequently as desired, although, for practical purposes, once or twice a day should be adequate for most applications. The clock should be set at a time that does not interfere with the timing of dataloggers storing their data.

If the dataloggers are connected over an IP network, use the NetworkTimeProtocol() instruction so that one datalogger acts as the time server.

What is the best way to download data simultaneously from a remote CR1000 and CR3000 via a cellular modem?

If both dataloggers are using the same cellular modem, simultaneous connection and download is not possible. To resolve this, first create a local network, such as by direct connection, RF4xx radios, an MD485, or Ethernet. Then use the cellular modem to access the network.

Can CR3000, CR1000, CR800, or CR850 digital ports be configured to act as RS-232 ports?

Yes. Control port pairs may be configured as full duplex asynchronous RS-232/TTL serial ports. See the datalogger manual for details. For additional details on interfacing RS-232 sensors, see the "Interfacing Serial Sensors with Campbell Scientific Dataloggers" application note.

If a CR3000, CR1000, or CR800-series datalogger has a “machine self-calibration failed” message, what does that mean?

The datalogger manual provides this answer: “Indicates a problem with the analog measurement hardware during the self-calibration. An invalid external sensor signal applying a voltage beyond the internal ±8 V supplies on a voltage input can induce this error. Removing the offending signal and powering up the logger will initiate a new self-calibration. If the error does not occur on power-up, the problem is corrected. If no invalid external signals are present and/or self-calibration fails again on power-up, the datalogger should be repaired by a qualified technician.”

To save the same data elements to both the CR1000/CR3000 memory and a CFM100/NL115, are two data tables needed—one with the CardOut() instruction and one without? Or does the data table automatically get sent to both if there is a CardOut() instruction?

When the CardOut() instruction or the TableFile() with TFOption 64 instruction is used, the data table is saved to both the datalogger’s internal memory and the card.

Can a CFM100, NL115, and an NL120 be used together with a CR1000 or CR3000?

No. Only one of those devices can be used at a time with a datalogger.

Could a recent OS upgrade cause data to continue to store on a CR1000 or CR3000 but no longer store on the CompactFlash card of a CFM100 or an NL115?

No. Only a program change could cause this. To save data to a CFM100 or an NL115, a CardOut() or TableFile() instruction must be present in at least one data table.

How can more storage be added to a CR1000 or CR3000?

The available storage can be augmented by adding an NL115 or a CFM100 with an industrial-grade CompactFlash memory card. An SC115 CS I/O-to-USB Flash Memory Drive can also be used.

Can an RF450 be used to connect a PC to one CR1000 through another CR1000?

Yes. This type of connection is called a PakBus network. The intermediate CR1000 needs to be enabled as a router, and a suitable telemetry link needs to exist between the two CR1000 dataloggers.

What is the maximum current that the control port of a CR800, CR850, or CR1000 can source without causing damage?
The control port maximum output current is 5 mA, but the port is current limited. The voltage will drop to 0 V with an output of 5 mA. Expect no more than 1 mA at 5 Vdc.
What hardware is needed to make a CDM-VW300 or a CDM-VW305 work?

To communicate with CDM devices using the CPI protocol, the CR3000, CR1000, CR850, and CR800 dataloggers require an SC-CPI device. Only one SC-CPI device per datalogger is required. It is expected that the design of future Campbell Scientific datalogger products will be work with CPI-based modules directly.

Do Campbell Scientific dataloggers have nonvolatile memory?

Yes. All Campbell Scientific dataloggers currently have nonvolatile memory. Nonvolatile memory was added to the CR10X in 1996. All datalogger models introduced since then have included nonvolatile memory.

Nonvolatile memory is reliant on the 3 V lithium battery inside the datalogger. As long as this internal battery has a charge above 3 V, no data should be lost if the datalogger loses power.

What is a USR drive?

The USR drive is a user-created drive in the CR1000, CR3000, and CR800 dataloggers. It can be set up by assigning a value to the datalogger UsrDriveSize setting in the Status table (by entering a value into the Status table directly, by using DevConfig, or by setting it with the SetStatus() instruction). This drive must be set to at least 8192 bytes, in 512 byte increments. (If the value entered is not a multiple of 512 bytes, the size will be rounded up.) Maximum size is calculated based on the datalogger total memory size less approximately 403 KB (reserved for the OS and file system). If the value entered for the UsrDriveSize is greater than the maximum, the drive will be set to the maximum.

Hardware such as the CC5MPX and datalogger instructions such as TableFile() can write files to the USR drive.

What are the rules regarding when data is deleted from a datalogger?

If the program is sent using the Program Send button in the Connect Screen, the data is always deleted.

If the program is sent using File Control | Send…, the Preserve Data If No Table Changed option can be selected. If this option is selected, existing data and data table structures on the CR800, CR850, CR1000, and CR3000 (files stored to the CPU) are retained unless one of the following occurs:

  • The data table name changes. 
  • The data interval or offset changes. 
  • The number of fields per record changes. 
  • The number of bytes per field changes. 
  • The number of records per table (table size) changes. 
  • The field type, size, name, or position changes.

To summarize, with newer OSs, any change in the data table structure will delete all the tables on the datalogger CPU, regardless of whether or not the program is sent with the File Control | Send… Preserve Data If No Table Changed option selected. If the option was selected, but the datalogger was unable to retain the existing data, the Warning: Internal Data Storage Memory Was Re-initialized message appears in Compile Results.

Note: Campbell Scientific recommends collecting data before making any program changes.

How can the amount of time before the memory of a datalogger is filled be calculated?

The time to fill the datalogger memory depends on the following:

  • The number of values being written to the data table each time a record is written
  • The data types of those values
  • The conditions that determine whether new data is added to a data table, that is, how frequently data is written to the table
  • The amount of memory available in the datalogger

For the older array-based dataloggers, the time to fill the memory is determined by multiplying the number of values by the number of bytes needed to store them. Most values were stored as either two bytes or four bytes. This result is multiplied by the number of scans per minute to get the number of bytes per minute. To get the time to fill, divide the amount of memory in the storage area by the number of bytes per minute.

For newer dataloggers, such as the CR10000, the easiest way to determine the time limit is to load the program and let the datalogger make the calculation. This information can be found in the program details. (For help with this, see the "Details, Details, Details!" article.) As another option, in LoggerNet, this information may be viewed in the Status table where each data table in the program is assigned a field called DataFillDays, or in the Table Fill Times tab of Station Status in the Connect screen. The time limit may also be viewed in the main screen of PC400 and PC200W. These options work well for data that is written to the data table based only on time.

For data tables that store data based on some condition other than time, the datalogger is not able to estimate how often the condition will occur. The datalogger assumes the worst case scenario, which is that data will be written to conditional tables every scan. The result is that the DataFillDays field may show a conditional table filling in minutes or hours, when in reality the condition that triggers data storage is rare and the table will never be filled. This is why it is important to define the table size for conditional data tables to a specific number of records rather than allowing the datalogger to auto-allocate table size. Auto-allocation should only be used for data tables that store data based only on time.

For more information, see the Data Table Memory Allocation Tutorial.

What might cause a CRBasic datalogger to stop storing data?

Common causes include the following:

  • Loss of power to the datalogger and the program Run On Power-up attribute not being set (For help with this, see the “How Do You Run?” article.)
  • A FillStop instruction in a CRBasic program used to set data tables to stop storing new data when full
  • Logical conditions for writing to data tables that do not evaluate as TRUE

Can binary data be received via the serial port of a datalogger?

The CR1000, CR3000, and CR800-series dataloggers can be used to collect and process binary data from smart sensors via serial or TCP/IP socket connections. In some cases, a converter or communications peripheral may be required.

Note: The capabilities mentioned above are not available for the CR200X-series, CR5000, and CR9000X dataloggers.

Can Campbell Scientific dataloggers be used with a telemetry system to remotely download data, check parameters, etc.?

Yes. Campbell Scientific offers a variety of telecommunications options, including Wi-Fi, spread-spectrum radio modems, licensed radio-frequency modems, cellular modems, satellite transmitters (send data only), wired Ethernet, land-line phone modems, and other direct connection methods.

Can more than one SDM device be connected to a datalogger?

Yes. A datalogger can address up to 15 SDM addresses (0 through 14). (SDM address 15 is reserved for the SDM Group Trigger Command.) Remember that SDM is a serial communications protocol; as more devices are added to the SDM bus, it takes more program execution time to transmit the data.

Can a datalogger be contained in a waterproof enclosure?

Yes, but there is the potential for explosive hydrogen gas from a rechargeable battery to build up inside the airtight, waterproof enclosure. Care should be exercised in choosing a power supply for applications where the enclosure must be waterproof. Contact Campbell Scientific’s technical support for more information.

Is it possible to use LoggerNet Admin software to connect to, and display data from, multiple dataloggers?

Yes. LoggerNet Admin allows for opening multiple instances of the Connect screen and connecting to multiple dataloggers, as long as there is no conflict between the communications devices.

What is checked during the calibration of a Campbell Scientific datalogger?

All the input channels, peripheral and communications ports, operating system, and Flash EEPROM are checked. The datalogger is checked to ensure that all hardware operates within published specifications.

How can data that has been transmitted from a datalogger to LoggerNet then be transmitted to a webhost that displays the data graphically?

The CSI Web Server enables the viewing of RTMC projects using a web browser. CSI Web Server allows configuring the web server, checking the status of the web server, and easily browsing to sites running on the web server. An RTMC project can be published to either a PC website or to an HTTP-enabled datalogger. The CSI Web Server is included with RTMC Pro. It also can be purchased separately for use with the standard RTMC Development application that is bundled with LoggerNet, LoggerNet Admin, LoggerNetData, and RTDAQ.

How can a floating point value be cast as a long integer?

Declare variables


Public nmbr_long As Long

Cast float variable as long variable

nmbr_long = nmbr_float

The CR3000 will move the integer portion of nmbr_float into nmbr_long.

Can the datalogger be damaged by wiring the sensors to the wrong ports?

Possibly. If a voltage greater than 16 Vdc is applied to the wiring panel, it could damage the input and result in inaccurate measurements.

Additionally, in some cases the sensors can be damaged if they are wired to the wrong channels. If a sensor, wired into an analog input channel, has an output of more than 5 Vdc, measurements on adjacent analog input channels may be upset. For example, the maximum full-scale range on the CR5000 is ± 5Vdc.

If a device or sensor is not available for selection in the Short Cut program, how can it be added?

It is possible that an older version of Short Cut is being used. Download the latest version of Short Cut.

If the latest version of Short Cut has already been downloaded, open the program.

  1. Go to Tools | Options and make sure that the Enable Creation of Custom Sensor Files box is checked.
  2. In the Generic Measurements folder, right-click the type of measurement to be made for the sensor, and select Create Custom Sensor.
  3. Set the fields according to the sensor’s specification, hide those fields that the user does not need to see after being set, and save the custom sensor file settings with the Save As button. 
Can external devices be switched on and off using a datalogger?

Yes. The datalogger can control power to external devices under program control. For more information, see the “Decisions, Decisions, Decisions…” article.

To turn a generator on and off, a solid state relay with a load capacity that matches or exceeds the power of the generator is needed. The relay is controlled by one of the control ports on the datalogger.

If a laptop does not have any serial ports, how can LoggerNet talk to the datalogger?

Use a USB to RS-232 cable (sometimes called a USB-to-serial-adapter cable) to connect either an SC32B or an SC-USB to the computer. Although any USB to RS-232 cable should work with the appropriate drivers, there is a better chance of success using the USB to RS-232 cables sold by Campbell Scientific.

Instead of saving the data of a CRBasic datalogger to one large file, how can it be saved in daily, hourly, or half-hourly files?

Option 1

Update the datalogger OS to the most current version. Use the TableFile() instruction with Option 64 to create smaller files. For more information, see the “A Better Way to Write High-Frequency Data to 16 GB and Smaller CF Cardsapplication note.

Option 2

In the CRBasic program, set up multiple data tables using the DataTable() instruction. In each table, specify the desired output interval using the DataInterval() instruction.

For example, the following three table definitions could be included in a program to store values once a day, once an hour, and every minute.

DataTable (Daily,1,1000)
                DataInterval (0,24,Hr,10)                 
                Minimum (1,batt_volt,FP2,0,False)
                Sample (1,PTemp,FP2)


DataTable (Hourly,1,1000)
                DataInterval (0,1,Hr,10)
                Minimum (1,batt_volt,FP2,0,False)
                Sample (1,PTemp,FP2)


DataTable (OneMinute,1,1000)
                DataInterval (0,1,Min,10)
                Minimum (1,batt_volt,FP2,0,False)
                Sample (1,PTemp,FP2)

When no excitation is commanded, are the voltage excitation ports on the datalogger isolated from the datalogger ground?
The voltage excitation channels are high impedance when not connected, meaning that internally they are isolated from the datalogger ground. The connected sensor, however, may tie the voltage excitation channel to ground, such as through a completion resistor.
Can a new program be installed on a datalogger using a laptop and PC200W?

Yes, but only with a direct connection, such as an RS-232 cable or a USB-to-serial adapter. While connected to the datalogger, press the Send Program button on the Clock\Program tab, and browse to the program file. 

What might cause error messages such as “transaction failure” and “unreachable destination” when trying to connect a datalogger and a PC using a serial or USB to RS-232 cable?

Some possible causes include the following:

  • The result of a hardware condition in the datalogger or the port driver
  • Incorrect USB drivers (Even if the correct drivers have been successfully installed, the errors may still be related to the cable.)
    • Note: Not all USB-to-serial cables are the same. Although any USB to RS-232 cable should work with the appropriate drivers, there is a better chance of success using the USB to RS-232 cables sold by Campbell Scientific. Cables that are not purchased from Campbell Scientific have not been tested and may result in errors when connecting to a datalogger. Furthermore, USB-to-serial cables with the FTDI chipset are easier to use and seem to perform better than cables with the Prolific chipset.
  • Power supply or grounding issues on the datalogger
  • The port configuration of the datalogger (If the datalogger RS-232 port is configured at a fixed baud rate other than 115200, it might cause the error messages.)

The Device Configuration Utility, under its Unknown device type, has an Identify Logger Type button. This button will attempt to identify the device type, protocol, or both used for the datalogger and will attempt to do so at various baud rates. If the datalogger is synchronized with a different baud rate or is set up at a fixed baud rate, this feature may provide the means of determining what baud rate should be used for successful communication. 

What does the PreserveVariables instruction do?

In the CR800-series, CR1000, and CR3000 dataloggers, there is a PreserveVariables instruction that stores the last known value of all Dim or Public variables. The values are restored if the datalogger recovers from a power failure, or if the program is stopped with the Retain Data option and then resumed.

When a 4-way net radiometer is used, which dataloggers require the use of a 4WPB100 to measure the internal PRT?

The CR1000 requires a 4WPB100 to measure the internal PRT. (Dataloggers such as the CR3000 and CR5000 have the necessary PRT bridge module built in to measure the PRT.) Note that the CNR4-L also includes an internal thermistor, which can be directly measured by the CR1000. Because of this, when using a CR1000, Campbell Scientific typically recommends monitoring the internal temperature of the CNR4-L using its internal thermistor instead of the PRT. 

What connects to the datalogger RS-232 port?

The RS-232 port is used for communication with computers, modems, and radios. It is also used for communicating with, and retrieving data from, serial sensors.

  • The RS-232 port on CR3000 and CR5000 dataloggers is electrically isolated.
  • The RS-232 port on the CR800, CR850, and CR1000 is not isolated. For these dataloggers, it may be preferable to connect ac-powered PCs to the CS I/O port instead of the RS-232 port to avoid ground loops on some measurements. 
How can the CR800, CR850, CR1000, or CR3000 be configured as a Modbus RTU slave?
Use the ModBusSlave() instruction in the program editor, and follow the instructions embedded in the Help file.
Is LoggerNet software needed to download the data from a datalogger remotely?

Campbell Scientific has several software applications that can be used to collect data from a datalogger, including PC200W, PC400, and LoggerNet.

Can the CR800, CR850, CR1000, or CR3000 upload to an FTP site on scheduled intervals?

Yes, the datalogger can act as an FTP Client to send a file or get a file from an FTP server, such as another datalogger or web camera. This is done using the CRBasic FTPClient () instruction. See the manual for the network link interface or CRBasic Editor Help for details and sample programs. 

Campbell Scientific recommends using the current datalogger OS for this feature. 

Which dataloggers are compatible with the BMP5 Direct SDK ?

Current dataloggers compatible with the BMP5 Direct SDK are the CR200X-series, CR1000, CR3000, CR800, and CR850.

Retired compatible dataloggers include the CR10X-PB, CR23X-PB, and CR510-PB. These dataloggers must have the optional PakBus operating system installed, which is available on the Downloads page of our website.

How can several SDI-12 instruments be wired to a single datalogger port?

The 25458 5-inch DIN-Rail Mounting Kit can be used when many wires need to be connected to one terminal. Another option is to use a wire nut to gang multiple wires together and to run one pigtail to one of the datalogger control ports.

If a datalogger is accidentally plugged into a 24 Vdc power source, what can be done to correct the situation?

If the mistake is caught quickly and the 24 Vdc power source is removed before the surge protection fails, apply the 12 Vdc power source and continue. If a 24 Vdc power source was applied for an extended period, the surge protection will fail and the datalogger will have to be returned for repair.

What is needed to connect a sensor that is compatible with wireless sensor interfaces to a CR800, CR1000, or CR3000 in a wireless network?

To incorporate a sensor that is compatible with wireless sensor interfaces into a wireless network, a CWS900-series wireless sensor interface is needed, as well as an A205 CWS-to-PC interface to configure it. 

Is it possible to connect more than one TDR100 to a datalogger using different SDM addresses?
Theoretically, yes, this can be done. However, it is more common to use a second datalogger both for resilience reasons and because there are advantages in keeping TDR cables short. It is best to distribute the systems across the test site rather than trying to centralize everything.
How can both a TDR100 and an SDM-IO16 be connected to a single CR1000 or CR800?

Both of these are SDM devices. Each SDM device that is connected to a datalogger needs a different SDM address (that is, 0 through 15). All SDM devices connect to the CR1000’s 12V, G, C1, C2, or C3 terminals. Therefore, up to 16 SDM devices can be connected to one datalogger.

For more information, see the Synchronous Devices for Measurement (SDMs) page

Should an SC32B be installed between the RS-232 port on a datalogger and the port on a desktop PC to prevent ground loop issues?

No, because it would not work. The SC32B is used to do the following:

  • Convert datalogger logic levels (on the CS I/O port) to RS-232 levels 
  • Optically isolate the datalogger from the RS-232 peripheral 
Is an SC32B needed to communicate between a datalogger and a PC?
The SC32B is not needed for a datalogger that has an RS-232 port. If the RS-232 port is not being used by another peripheral, the port can be used with a serial cable or a serial-to-USB cable to connect to the computer.
Using a CompactFlash module, a datalogger, and the BMP5 Direct SDK, how can data be downloaded from the memory card instead of the CPU buffer?

Using the FileControl() instruction, the .dat files can be retrieved directly from the memory card. When data is collected by the standard method (not as downloaded files, but as streamed data) with a GetData() or similar instruction, the memory card is automatically used as a source of records to be returned when the internal CPU table no longer contains the oldest data. These records can be retrieved simply by using their record numbers.

How can data from a specific date range be collected from a datalogger?

There is a Custom button on the LoggerNet Connect screen that allows a variety of different data collection tasks, including collecting a range of data between dates.

Note that, by default, data collected in this manner is stored to the C:\Campbellsci\LoggerNet\Data directory. This is a different directory and different file than where the data is stored from the LoggerNet scheduled data collection and from the Collect Now button on the Connect screen. (Scheduled collection and Collect Now data go into the same file and use the same data collection pointers.)

Is there a way of configuring the FTP, HTTP, and Telnet services remotely on a CR1000 or CR3000 with an NL115?

This can be done using the settings editor under PakBusGraph:

  1. Start PakBusGraph.
  2. In the PakBus Network control on the toolbar or in the menu, select the name of the PakBusPort that is used to communicate with the datalogger.
  3. Click the node for the station, and select Settings from the resulting context menu.
  4. After the resulting dialog has loaded the settings, entries for the following are available:
    • HTTP Service Port
    • FTP Service Port
    • FTP User Name
    • FTP Password
    • Ping Enabled
    • FTP Enabled
    • Telnet Enabled
    • HTTP Enabled
    • Transport Layer Security (TLS) Enabled
When trying to set up a datalogger, why would PC400 not show any COM ports for selection?

The available COM ports listed in the COM Port drop-down menu are supplied to PC400 by the Windows Operating  System (OS). If there are no COM ports shown for selection, it most likely means that there are no COM ports registered with the Windows OS. This can be confirmed using the Windows Device Manager (Control Panel | Device Manager | Ports).

Most modern laptops are not equipped with native RS-232 COM ports. In this situation, a USB-to-RS-232 adapter cable must be used to connect to the datalogger. Even when the drivers for this device have been properly installed, the derived COM port will not be shown for selection until the cable is attached to the laptop.

What might cause connection issues between a CR1000 or CR3000 and an NL120, resulting in lost data?

The following are some possible causes:

  • The datalogger’s OS needs to be updated.
  • A fault exists in the communications link away from the datalogger.
  • The NL120 is not fully plugged in.
  • There are loose or broken cables.
  • For a radio link, the aerial connections and alignment may need adjusting.
  • The NL120 or another device has suffered lightning damage.
How can the TCP/IP stack in a CR1000 or CR3000 be used?

To take advantage of the TCP/IP stack in the CR1000 or CR3000, connect an NL115 or an NL120 to the 40-pin peripheral port of the CR1000 or CR3000. In this configuration, calls can be made to TCPOpen() in the CRBasic program to connect to a TCP server on another device.

Can a SCADA system access data from a CR1000 or CR3000 connected to an NL115 without using LoggerNet?

Yes. The CR1000 and CR3000 can communicate via Modbus or DNP3. The datalogger will need to be programmed for this output.

Is it possible to have a datalogger initiate the data transfer, rather than LoggerNet?

A datalogger can be programmed to initiate data transfer by using the SendVariables() or ModemCallback() instruction in CRBasic.

How can a file stored on a datalogger drive be retrieved automatically from a datalogger?

Starting with LoggerNet 4.0, there is a tab in the Setup screen to retrieve a file stored on one of the datalogger drives from the datalogger on a schedule.

  • In LoggerNet 4.0, the tab is named Image Retrieval.
  • In LoggerNet 4.1, the tab is named File Retrieval.
Is a wireless cellular phone transmitter available for Campbell Scientific dataloggers?

Yes. Both the RavenXTV (Verizon) and the RavenXTG (AT&T) are available.

Is it possible to network two dataloggers to download data from both over a single cellular phone using a Raven XT-series modem?

It is not possible to connect two dataloggers to one modem and transmit data from both dataloggers. However, two dataloggers can be networked together so that data is sent from one datalogger to the other, and then the datalogger connected to the modem can transmit the data from both dataloggers.

How can it be calculated when a datalogger data table will fill up?

One of the simpler ways to approximate how long it will take for a data table to fill up is to open the LoggerNet Connect screen, click the Station Status button, and view the Table Fill Times tab.

Are there any datalogger programming changes that must be made to a program when using a long Synchronous Device for Measurement (SDM) cable with a CSAT3?

With long cable lengths, monitor the SDM data collected from the CSAT3. If the CSAT3 diagnostic word is 61441 or NAN, there are SDM communications errors. If the SDM bit period is increased, SDM communications should be restored. Use the SDMSpeed() instruction to change the SDM bit period. Use the following values for the listed dataloggers:

  • CR3000: 50
  • CR800, CR850, or CR1000: 100
  • CR5000: 90
How can a datalogger be made more secure?

The CR1000, CR3000, CR800, and CR850 dataloggers may be used in applications that include collecting sensitive data, operating critical systems, or providing network access to many people. For reasons such as these, it is important to enable password protection for any services that provide high-level access to the datalogger’s data and programs. 

The following are some suggested security measures that can be taken:

  • Send the latest operating system to the datalogger. Datalogger operating systems can be downloaded from our website.
  • Set the PakBus security codes.
  • Set the PakBus Encryption Key.
  • Set the PakBus/TCP password.
  • Set the FTP username and password.
  • Create a .csipasswd file for securing HTTP.
  • Encrypt program files if they contain sensitive information.
  • Hide program files for extra protection.

Note: The above security measures are only effective if physical access to the datalogger is secured. If absolute security is a requirement, keep the datalogger and power supply under lock and key. In addition, secure any telecommunications hardware. 

How effective are pass-code lockouts for CRBasic PakBus dataloggers?

Pass-code lockouts (historically known as security codes) are the oldest method of securing a Campbell Scientific datalogger. This method provides a level of security, mainly for PakBus communications. However, someone with physical access to a datalogger or telecommunications hardware may be able to overcome the five-digit pass-code lockouts. To further secure PakBus communications, use the PakBus Encryption Key and PakBus/TCP password. 

Which datalogger files can be encrypted?

Encryption is available for CRBasic program files to provide a means of securing proprietary code or making a program tamper resistant. Only CR and DLD program files and those files specified by the Include instruction are decrypted at compile time for use by a datalogger. 

Can files on a PakBus datalogger be hidden?

The FileManage() instruction can be used to hide files on a datalogger. The following are some important reminders:

  • Hidden files will not be displayed and therefore are not accessible via File Control, FTP, HTTP, etc.
  • Hidden CR and DLD program files and those specified by the Include instruction can be used by the datalogger.
  • Hidden files can be accessed under program control using the FileOpen(), FileRead(), and FileWrite() instructions.
  • Hidden files can be further protected by encrypting them with the CRBasic Editor or the FileEncrypt() instruction. 
What is PakBus encryption?

PakBus encryption, new to OS 26 and LoggerNet 4.2, is end-to-end encryption of PakBus payloads such as control commands and data. This AES-128 encryption with a shared password is compatible with communication between LoggerNet and the CR1000, CR3000, CR800, and CR850 dataloggers. A PakBus Encryption Key must be entered in both the datalogger’s device settings and in the LoggerNet Setup screen. Datalogger-to-datalogger communication can also be encrypted. When using PakBus encryption, a datalogger will not accept unencrypted commands from another device unless the device has been included in an EncryptExempt() CRBasic instruction. 

How can data be made more secure on a CRBasic PakBus datalogger?

The following are some suggested security methods listed by category:

  • Hardware
    • Physically secure the datalogger, peripherals, cabling, etc., depending on the level of risk.
    • Set the three-level security, as well as the PakBus Encryption Key.
  • Datalogger programs
    • Secure the physical, terminal, Telnet, PakBus, FTP, and HTTP interfaces.
    • Consider encrypting and/or hiding programs.
  • Terminal menu
    • Set the three-level security codes.
    • Enable PakBus security.
    • Disable or secure Telnet access.
  • Telnet
    • Disable Telnet or keep Telnet sessions on a trusted network. 
    • Set the three-level security for the terminal menu.
  • BMP
    • Enable all PakBus-related security.
  • PakBus/TCP (BMP/PakBus transferred over a TCP/IP connection)
    • Enable all PakBus-related security.
    • Restrict IP access.
  • FTP
    • Disable the FTP server or keep FTP sessions on trusted networks.
    • Set the FTP username and password.
    • Secure the program.
    • Use FTPS when acting as a client.
  • HTTP
    • Disable the HTTP server or keep HTTP sessions on trusted networks.
    • Set up .csipasswd accounts.
    • Use HTTPS when acting as an HTTP client.
  • Email
    • Use a TLS connection for data transfer.
  • Modbus, DNP3, etc.
    • Transmit data over a trusted or secured network or network link. 

Resources and Links

Upcoming Events

Advanced CR1000 Training
January 14-15, 2015
Advanced CR1000 Training
February 11-12, 2015
Advanced CR1000 Training
March 11-12, 2015
CR1000 Introductory Workshop
April 22-23, 2015

Newsletter Subscription