background image

Appendix A.  Glossary 

baud rate settings of two pieces of equipment must match each other.  The 
baud rate for CR200(X) communication should be set to 9600. 

 

Beacon 

A signal broadcasted to other devices in a PakBus® network to identify 
"neighbor" devices. A beacon in a PakBus® network ensures that all 
devices in the network are aware of other devices that are viable. If 
configured to do so, a clock set command may be transmitted with the 
beacon. This function can be used to synchronize the clocks of devices 
within the PakBus® network. See also 

PakBus

 (Appendix p. 7) and 

Neighbor Device

 (Appendix p. 6). 

 

binary 

Describes data represented by a series of zeros and ones. Also describes the 
state of a switch, either being on or off. 

 

code 

A CRBASIC program, or a portion of a program. 

 

compile 

The software process of converting a human readable program to binary 
machine code. CR200(X) programs are compiled by the CRBASIC Editor. 

 

constant 

A packet of CR200(X) memory given an alpha-numeric name and assigned 
a fixed number. 

 

control I/O 

Terminals C1 - C2 or processes utilizing these terminals. 

 

CVI 

Communications Verification Interval. The interval at which a PakBus® 
device verifies the accessibility of neighbors in its neighbor list. If a 
neighbor does not communicate for a period of time equal to 2.5 x the CVI, 
the device will send up to 4 Hellos. If no response is received, the neighbor 
is removed from the neighbor list. 

 

CPU 

Central processing unit. The brains of the CR200(X). 

 

cr 

Carriage Return 

 

Summary of Contents for CR200

Page 1: ...CR200 CR200X Series Dataloggers Revision 6 11 C o p y r i g h t 2 0 0 0 2 0 1 1 C a m p b e l l S c i e n t i f i c I n c ...

Page 2: ... IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE Campbell is not liable for any special indirect incidental and or consequential damages Products may not be returned without prior authorization The following contact information is for US and International customers residing in countries served by Campbell Scientific Inc directly Affiliate companies handle repairs for cust...

Page 3: ...0 X Overview 23 3 1 1 Programmed Instructions Are Evaluated Sequentially 24 3 1 2 Sensor Support 25 3 1 3 Input Output Interface The Wiring Panel 25 3 1 4 Power Requirements 29 3 1 5 Programming Firmware and User Programs 29 3 1 6 Memory and Data Storage 30 3 1 7 Communications Overview 31 3 1 8 Maintenance Overview 32 3 2 PC Support Software 34 3 3 Specifications 35 Section 4 Sensor Support 37 4 ...

Page 4: ...3 6 3 1 Battery Connection 53 Section 7 Grounding 55 7 1 ESD Protection 55 7 1 1 Lightning Protection 56 7 2 Single Ended Measurement Reference 57 Section 8 CR200 X Configuration 59 8 1 DevConfig 59 8 2 Sending the Operating System 60 8 2 1 Sending OS with DevConfig 60 8 3 Settings 62 8 3 1 Settings via DevConfig 62 8 3 2 Settings via CRBASIC 66 8 3 3 Settings via Terminal Emulator 66 8 3 4 Durabl...

Page 5: ... Processing 94 10 3 Single Execution at Compile 95 10 4 Program Control Instructions 96 10 4 1 Common Controls 96 10 5 Measurement Instructions 98 10 5 1 Diagnostics 98 10 5 2 Voltage 98 10 5 3 Pulse 98 10 5 4 Digital I O 99 10 5 5 SDI 12 99 10 6 Processing and Math Instructions 100 10 6 1 Mathematical Operators 100 10 6 2 Logical Operators 100 10 6 3 Trigonometric Functions 101 10 6 4 Arithmetic ...

Page 6: ...3 3 Initiating Telecommunications 132 13 4 Data Retrieval 132 13 4 1 Via Telecommunications 132 13 4 2 Data Format on Computer 132 Section 14 PakBus Overview 133 14 1 PakBus Addresses 133 14 2 Nodes Leaf Nodes and Routers 133 14 3 Router and Leaf Node Configuration 134 14 4 Linking Nodes Neighbor Discovery 134 14 4 1 Hello message two way exchange 135 14 4 2 Beacon one way broadcast 135 14 4 3 Hel...

Page 7: ... INF 153 18 2 Communications 154 18 2 1 RS 232 154 18 2 2 Communicating with Multiple PC Programs 154 18 3 Power Supply 155 18 3 1 Overview 155 18 3 2 Troubleshooting at a Glance 155 18 3 3 Diagnosis and Fix Procedures 156 Appendices Appendix A Glossary 1 A 1 Terms 1 A 2 Concepts 13 A 2 1 Accuracy Precision and Resolution 13 Appendix B Status Table and Settings 15 Appendix C Serial Port Pin Outs 2...

Page 8: ... 9 Figure 8 Location of RS 232 Port 10 Figure 9 Use of RS 232 when Reading RS 232 Devices 10 Figure 10 Power and RS 232 Connections 11 Figure 11 PC200W Main Window 13 Figure 12 Short Cut Temperature Sensor Folder 14 Figure 13 Short Cut Thermocoupler Wiring 15 Figure 14 Short Cut Wiring Diagram 15 Figure 15 Short Cut Outputs Tab 16 Figure 16 Short Cut Output Table Definition 17 Figure 17 Short Cut ...

Page 9: ... Current Sourcing Limits 38 Table 5 Formats for Entering Numbers in CRBASIC 71 Table 6 CRBASIC Program Structure 72 Table 7 Predefined Constants and Reserved Words 77 Table 8 TOA5 Environment Line 78 Table 9 Typical Data Table 79 Table 10 Rules for Names 85 Table 11 Logical Expression Examples 89 Table 12 Abbreviations of Names of Data Processes 90 Table 13 Derived Trigonometric Functions 101 Tabl...

Page 10: ...ariable 71 CRBASIC EXAMPLE 3 Proper Program Structure 73 CRBASIC EXAMPLE 4 Using a variable array in calculations 75 CRBASIC EXAMPLE 5 Flag Declaration and Use 76 CRBASIC EXAMPLE 6 Using the Const Declaration 76 CRBASIC EXAMPLE 7 Alias and Unit Declaration 77 CRBASIC EXAMPLE 8 Definition and Use of a Data Table 80 CRBASIC EXAMPLE 9 Use of the Disable Variable 82 CRBASIC EXAMPLE 10 Use of a Subrout...

Page 11: ...progressively deeper into the complexity of CR200 X functions You may not find it necessary to progress beyond the Quickstart Tutorial p 3 or Overview p 23 sections Quickstart Tutorial p 3 gives a cursory view of CR200 X data acquisition and walks you through a first attempt at data acquisition Overview p 23 reviews salient topics which are covered in depth in subsequent sections and appendices Mo...

Page 12: ...to refer to all of the different models of datalogger in the CR200 series and CR200X series In the cases where information applies only to a specific model or series of datalogger that will be clearly specified The CR200 X series dataloggers have the following enhanced features as compared to the CR200 series dataloggers 1 128 Public variables can be used CR200 series had 48 2 8 Data Tables can be...

Page 13: ...ystem Components p 3 A CR200 X is only one part of a data acquisition system To acquire good data suitable sensors and a reliable data retrieval method are required A failure in any part of the system can lead to bad data or no data 2 1 1 1 How Programmed Instructions Are Evaluated The CR200 X evaluates programmed instructions sequentially Figure 1 Data Acquisition System Components 2 1 1 2 Sensor...

Page 14: ...ink are also used when the user visits a remote site with a laptop or PDA In contrast telecommunications provide remote access and the ability to discover problems early with minimum data loss Typically a base station radio that is compatible with the radio internal to the CR200 X will be the preferred method of telecommunication A variety of devices such as telephone modems satellite transceivers...

Page 15: ...ly but does have connections for an external battery and a built in charging regulator for charging a 12 V lead acid battery from an external power source Charging power can come from a 16 22 VDC input such as a solar panel 2 1 6 Antenna For CR200 X models with a built in radio an FCC authorized antenna is a required component An SMA male connector is provided on the CR200 X wiring panel for anten...

Page 16: ...e Sensors Bridge sensors change resistance with respect to environmental change Resistance is determined by measuring the difference between the excitation voltage supplied to the bridge and the voltage detected by the CR200 X returning from the bridge 2 1 8 1 Voltage Excitation The CR200 X supplies a precise excitation voltage via excitation terminals Return voltage is measured on single ended an...

Page 17: ...witch closures low level AC signals waveform breaks zero volts or voltage pulses Compatible signal types are illustrated in FIGURE Pulse Input Types p 7 A pulse input wiring example is shown in FIGURE Pulse Input Wiring Anemometer Switch p 8 Note Period averaging sensors are connected to analog channels Figure 5 Pulse Input Types ...

Page 18: ...ol as binary inputs or control outputs These are multi function ports including device driven interrupts switch closure pulse counting high frequency pulse counting and SDI 12 communications FIGURE Control and Monitoring with Digital I O p 9 illustrates a simple application wherein a port is used to control a device while a second port monitors the state of the device ...

Page 19: ...S 232 Port p 10 As indicated in FIGURE Use of RS 232 when Reading RS 232 Devices p 10 RS 232 sensors can be connected to the RS 232 port The port can be set up with various baud rates parity options stop bit options and so forth as defined in CRBASIC Help Note For the CR200 SerialInput is a special instruction which is available only in the special S operating system ...

Page 20: ...g Temperature This tutorial is designed to illustrate the function of the CR200 X During the exercise the following items will be described Attaching a temperature probe to analog differential terminals Creating a program for the CR200 X Making a simple temperature measurement Sending data from the CR200 X to a PC Viewing the data from the CR200 X ...

Page 21: ...guration For this exercise factory default settings will work To change the PakBus address or radio settings from their factory defaults or if you are not sure what settings are currently stored on the CR200 X use Device Configuration Utility or DevConfig software Read More See DevConfig p 59 2 2 3 PC200W Software Setup 1 Install the PC200W software onto a PC Follow the on screen prompts during th...

Page 22: ...and CR200 X Should this occur simply move the USB cable back to the original port If this is not possible it will be necessary to close the PC200W software and open it a second time to refresh the available COM ports Click on Edit Datalogger Setup and change the COM port to the new port number Datalogger Settings Used to configure how the CR200 X communicates through the COM port For this tutorial...

Page 23: ...525WS Rain Gage sensors are not available the programming example can still be followed Without a 109 probe connected the measurement result will be NAN without a TE525WS connected the measurement result will be 0 A rain gage can be simulated by straightening a segment of each of two paper clips and inserting the straightened segment of one paper clip into P_SW and the adjacent ground channel To s...

Page 24: ...he Temperature folder to view the available sensors Figure 12 Short Cut Temperature Sensor Folder 2 2 3 1 3 Procedure Short Cut Steps 7 9 1 Double click the 109 Temperature Probe sensor to add it to the Selected category Alternatively highlight the Wiring Panel Temperature sensor by clicking on it once and then click on the arrow between Available Sensors and Selected to add it to the Selected sen...

Page 25: ...o view the sensor wiring diagram Attach the 109 Temperature Probe and TE525 Rain Gauge to the CR200 X as shown in the diagram Click on Outputs to advance to the next step Figure 14 Short Cut Wiring Diagram 2 2 3 1 5 Procedure Short Cut Step 11 1 The Outputs window displays a list of selected sensors on the left and data storage Tables on the right ...

Page 26: ... by selecting the measurement under Selected Sensors and then clicking on one of the processing buttons in the center of the window 5 Click the Default sensor battery voltage and click the Minimum button Click the 109 temperature sensor and click the Average button Click the TE525 rain gauge sensor and click the Total button 6 Click the Default sensor battery voltage and double click the Minimum b...

Page 27: ...m the name QuickStart A prompt will ask if you want to send the program to the datalogger For this exercise choose No A summary screen will appear showing the compiler results Any errors during compiling will also be displayed Figure 17 Short Cut Compile Confirmation 2 2 3 1 8 Procedure Short Cut Step 20 1 Close this window by clicking on the X in the upper right corner ...

Page 28: ...button A window will appear warning that data on the datalogger will be erased Answer yes to the prompt Another window will open Browse to the C CampbellSci SCWin folder select the QuickStart CR2 file and then click the Open button A status bar will appear while the program is sent to the CR200 X followed by a confirmation that the transfer was successful Click OK to close this window 3 After send...

Page 29: ...on window click on the OneMin table and then click Paste The OneMin table is now displayed in the main display Figure 20 PC200W Monitor Data Tab 2 2 3 2 4 Procedure PC200W Step 6 1 Click on the Collect Data tab From this window data is chosen to be collected as well as the location where the collected data will be stored ...

Page 30: ...e What to Collect heading select New data from datalogger This selects which data will be collected 2 Click on the Collect button A progress bar will appear as the data is collected followed by the message Collection Complete Click OK to continue 3 To view the data click on the View icon at the top of the window This opens a new window Figure 22 PC200W View Data Utility ...

Page 31: ...data is now shown Figure 23 PC200W View Data Table 2 2 3 2 7 Procedure PC200W Step 11 1 Select any data column by clicking on it To display the data in graphical form click on one of the Show Graph buttons A graph with one Y axis or two Y axes will be generated Figure 24 PC200W View Data Graph 2 2 3 2 8 Procedure PC200W Step 12 1 Close the Graph and View windows and then close the PC200W program ...

Page 32: ...Section 2 Quickstart Tutorial 22 ...

Page 33: ...ekeeping It is one part of a data acquisition system To acquire quality data suitable sensors and reliable telecommunications devices are also required Sensors transduce phenomena into measurable electrical forms outputting voltage current resistance pulses or state changes The CR200 X sometimes with the assistance of various peripheral devices can measure most electronic sensors Contact a Campbel...

Page 34: ...Section 3 Overview 24 Figure 25 Features of a Data Acquisition System 3 1 1 Programmed Instructions Are Evaluated Sequentially The CR200 X evaluates programmed instructions sequentially ...

Page 35: ...ring unfamiliar sensors 3 1 3 Input Output Interface The Wiring Panel The wiring panel of the CR200 X is the interface to all CR200 X functions Most CR200 X functions are best introduced by reviewing features of the CR200 X wiring panel FIGURE CR200 X Wiring Panel p 5 illustrates the wiring panel and some CR200 X functions accessed through it Read More Read Measurement and Control Peripherals p 49...

Page 36: ...opriate for sensors that are powered off between scans whereas period average measurements work well since they can be placed in the scan to execute only when the sensor is powered and transmitting a correct signal Period average measurements utilize a high frequency digital clock to measure time differences between signal transitions whereas pulse count measurements simply accumulate the number o...

Page 37: ...ring 12V DC such as humidity sensors SW Battery can source up to 900 mA See TABLE Current Sourcing Limits p 38 3 1 3 3 Grounding Terminals Read More See Grounding p 55 Proper grounding will lend stability and protection to a data acquisition system It is the easiest and least expensive insurance against data loss and the most neglected The following terminals are provided for connection of sensor ...

Page 38: ...w as 7 VDC before datalogger operation stops Precautions should be taken to minimize the occurrence of invalid data from underpowered sensors 3 1 3 5 Communications Ports Read More See Telecommunications and Data Retrieval p 131 and PakBus Overview p 133 The CR200 X is equipped with an RS 232 communications port This port allows the CR200 X to communicate with other computing devices such as a PC ...

Page 39: ...ble an AC DC wall adapter and a rechargeable battery can be used to construct a UPS uninterruptible power supply in conjunction with the CR200 X s built in voltage regulator charge controller Contact a Campbell Scientific applications engineer for assistance in acquiring the items necessary to construct a UPS Applications requiring higher current requirements such as satellite or cellular phone co...

Page 40: ... programming assistance A CRBASIC program directs the CR200 X how and when sensors are to be measured calculations made and data stored A program is created on a PC and sent to the CR200 X Two Campbell Scientific software applications Short Cut and CRBASIC Editor create CR200 X programs Short Cut creates a datalogger program and wiring diagram in four easy steps It supports most sensors sold by Ca...

Page 41: ...Bus Modbus is also supported Refer to APPENDIX Telecommunications Hardware Appendix p 32 for information on available communications devices 3 1 7 1 PakBus Read More See PakBus Overview p 133 The CR200 X communicates with Campbell Scientific support software telecommunication peripherals and other dataloggers via PakBus a proprietary network communications protocol PakBus is a protocol similar in ...

Page 42: ...status table or PakBus Graph software 3 1 7 2 Modbus Read More See Modbus p 139 The CR200 X supports Modbus Master and Modbus Slave communication for inclusion in Modbus SCADA networks 3 1 8 Maintenance Overview Read More See Care and Maintenance With reasonable care the CR200 X should give many years of reliable service 3 1 8 1 Protection from Water The CR200 X and most of its peripherals must be...

Page 43: ...sassemble heat above 100 C 212 F solder directly to the cell incinerate or expose contents to water Dispose of spent lithium batteries properly The CR200 X contains a lithium battery that operates the clock and SRAM when the CR200 X is not powered The CR200 X does not draw power from the lithium battery while it is powered by an external source In a CR200 X stored at room temperature the lithium b...

Page 44: ...ansparent RS 232 connection between PC and CR200 X and includes Short Cut for creating CR200 X programs Tools for setting the datalogger clock sending programs monitoring sensors and on site viewing and collection of data are also included PC400 supports a variety of telecommunication options manual data collection and data monitoring displays Short Cut and CRBASIC Editor are included for creating...

Page 45: ...Section 3 Overview 35 3 3 Specifications ...

Page 46: ...Section 3 Overview 36 ...

Page 47: ...erminals are typically used to supply a brief excitation for a bridge measurement with the ExDelSE instruction but can also be programmed to provide a continuous 2 5 V or 5 V using the Excite instruction which is enough to power many sensors Switched Unregulated Nominal 12 Volt p 38 shows the current limits of SW Battery Greatly reduced output voltages associated with SW Battery VX1 and VX2 due to...

Page 48: ... approximation technique which resolves the signal voltage to one part in 4096 of the full scale 2 5 V range which is 0 6 millivolts To reduce noise 10 measurements are rapidly made and averaged to form the result returned The measurements that go into the average each take about 26 microseconds 4 2 2 Measurement Accuracy CR200 X analog measurement error is calculated as Error Gain Error Offset Er...

Page 49: ...asurement Instruction VoltSE CR200 X Temperature Between 40 C and 50 C Accuracy of the measurement is calculated as follows Error Gain Error Offset Error where Gain Error 2000 0 0025 5 mV and Offset Error 1 2mV Therefore Error Gain Error Offset Error 5 mV 1 2 mV 6 2 mV A worst case accuracy in these conditions is Error 2000 mV 0 01 2 4 mV 22 4 mV In contrast the error for a 500 mV input under the ...

Page 50: ...es a form of digital integration It makes 10 A D conversions and averages them for the result returned The A D conversions are made every 26 microseconds Averaging will also reduce signal noise from the sensor such as when water level measured with a pressure transducer is changing because of pressure fluctuations caused by wind Averaging also has an effect on the resolution The resolution seen in...

Page 51: ...xDelSE is used with sensors that have a simple half bridge circuit Therm109 is used with Campbell Scientific s 109 L thermistor probe Sensors with bridge circuits that require a differential voltage measurement such as full bridge or 3 wire half bridge cannot be measured with the CR200 X FIGURE Half Bridge Circuit Used with ExDelSE p 41 shows the circuit that is typically measured with ExDelSE In ...

Page 52: ...R200 X The CR200 X features two dedicated pulse input channels P_SW and P_LL and two digital I O channels C1and C2 for measuring pulse output sensors Activated by the PulseCount instruction dedicated 16 bit counters on P_SW P_LL C1 and C2 are used to accumulate all counts over the user specified scan interval The value which is output for each scan is the difference in the last known counter value...

Page 53: ...on of frequency is 1 scan interval For example the frequency resolution of PulseCount returning a result every 1 second is 1 Hz The resultant measurement will bounce around by the resolution For example if you are scanning a 2 5 Hz input once a second in some intervals there will be 2 counts and in some 3 If the pulse measurement is averaged the correct value will be the result Accuracy is limited...

Page 54: ...rting CMOS input buffer with input hysteresis The CMOS input buffer is guaranteed to be an output zero level with its input 2 7 V and guaranteed to be an output one with its input 0 9 V An RC input filter with approximately a 1 µs time constant precedes the inverting CMOS input buffer resulting in an amplitude reduction of high frequency signals between the P_SW terminal block and the inverting CM...

Page 55: ...to eliminate DC offset voltages of up to 0 5 V 4 4 2 Pulse Input on Digital I O Channels C1 C2 Read More Review digital I O channel specifications in Specifications p 35 Review pulse counter programming in CRBASIC Help for the PulseCount instruction Digital I O channels C1 C2 can be configured to measure pulse input signals Pulse input signals require external 100 kΩ pull up resistors to be connec...

Page 56: ... manufacturers other than Campbell Scientific Campbell Scientific sensors are engineered for optimal performance with factory installed cables 4 7 1 Analog Sensor Cables Cable length in analog sensors is most likely to affect the signal settling time For more information see Signal Settling Time 4 7 2 Pulse Sensors Because of the long interval between switch closures in tipping bucket rain gages a...

Page 57: ...llows cable lengths of up to 200 feet Campbell Scientific does not recommend SDI 12 sensor lead lengths greater than 200 feet however longer lead lengths can sometimes be accommodated by increasing the wire gage and or powering the sensor with a second 12 vdc power supply placed near the sensor ...

Page 58: ...Section 4 Sensor Support 48 ...

Page 59: ...ry Switched 12 Volt terminal on the CR200 X Applications requiring more control channels or greater power sourcing capacity may be satisfied by using control ports C1 C2 in conjunction with single channel switching relays 5 1 1 Binary Control 5 1 1 1 Digital I O Ports Each of 2 digital I O ports C1 C2 can be configured as an output port and set low 0 V or high 5 V using the PortSet or WriteIO inst...

Page 60: ...ee TABLE Current Sourcing Limits p 38 A resettable polymeric fuse protects against over current Reset is accomplished by removing the load or turning off the SW Battery for several seconds 5 1 1 3 Relays and Relay Drivers Compatible inexpensive and reliable single channel relay drivers for a wide range of loads are available from various electronic vendors such as Crydom Newark Mouser etc 5 1 1 4 ...

Page 61: ...r transistor the use of a relay is required Figure 34 Relay Driver Circuit with Relay Figure 35 Power Switching without Relay 5 2 Other Peripherals 5 2 1 TIMs Terminal Input Modules TIMs are devices that provide simple measurement support circuits in a convenient package TIMs include voltage dividers for cutting the output voltage of sensors to voltage levels compatible with the CR200 X modules fo...

Page 62: ...Section 5 Measurement and Control Peripherals 52 ...

Page 63: ...gulates the voltage within a the range specified by the manufacturer of the connected device 6 2 Calculating Power Consumption Read More Power Requirements p 29 System operating time for batteries can be determined by dividing the battery capacity ampere hours by the average system current drain amperes The CR200 X typically has an average current drain of less than 3 mA The duty cycle of the radi...

Page 64: ...a stormy overcast day the panel should provide enough charge to meet the system current drain assume 10 of average annual global radiation kW m2 Specific site information if available could strongly influence the solar panel selection For example local effects such as mountain shadows fog from valley inversion snow ice leaves birds etc shading the panel should be considered If help is needed in de...

Page 65: ...e earth ground lug the enclosure ground or to the earth chassis ground A good earth chassis ground will minimize damage to the datalogger and sensors by providing a low resistance path around the system to a point of low potential Campbell Scientific recommends that all dataloggers be earth chassis grounded All components of the system dataloggers sensors external power supplies mounts housings et...

Page 66: ...ircumstances It is however not infallible Note Lightning strikes may damage or destroy the CR200 X and associated sensors and power supplies In addition to protections discussed in ESD Protection p 55 use of a simple lightning rod and low resistance path to earth ground is adequate protection in many installations A lightning rod serves two purposes Primarily it serves as a preferred strike point ...

Page 67: ...a problem the grounding scheme in the CR200 X has been designed to eliminate ground potential fluctuations due to changing return currents from SW Battery excitation channels and the control ports This is accomplished by utilizing separate signal and shield grounds and power grounds G To take advantage of this design observe the following grounding rule Note Always connect a device s ground next t...

Page 68: ...sociated with SW Battery VX1 EX1 VX2 EX2 C1 and C2 to G terminals Connect the low side of single ended sensors to the nearest terminal on the analog input terminal blocks Connect shield wires to the nearest terminal on the analog input terminal blocks ...

Page 69: ...gers Identifies operating system types and versions Provides a reporting facility wherein a summary of the current configuration of a device can be shown printed or saved to a file The file can be used to restore settings or set settings in like devices Provides a terminal emulator useful in configuring devices not directly supported by DevConfig s graphical user interface Shows Help as prompts an...

Page 70: ...cal problem If not consider waiting until a scheduled maintenance visit to the site 2 Is the site conveniently accessible such that a site visit can be undertaken to correct a problem of reset settings without excessive expense If the OS must be sent and the site is difficult or expensive to access try the OS download procedure on an identically programmed more conveniently located datalogger 8 2 ...

Page 71: ...g system to the CR200 X When the Start button is clicked DevConfig offers a file open dialog box that prompts for the operating system file obj file When the CR200 X is powered up DevConfig starts to send the operating system When the operating system has been sent a confirming message dialog box Figure 39 Dialog Box Confirming OS Download ...

Page 72: ...loyment tab makes configuring most of these settings easier Figure 40 DevConfig Settings Editor As shown in FIGURE DevConfig Settings Editor p 62 the top of the Settings Editor is a grid that allows the user to view and edit the settings for the device The grid is divided into two columns with the setting name appearing in the left hand column and the setting value appearing in the right hand colu...

Page 73: ...mmary of CR200 X Configuration p 63 that gives the user a chance to save and print the settings for the device Figure 41 Summary of CR200 X Configuration Clicking the Factory Defaults button on the Settings Editor will send a command to the device to revert to its factory default settings The reverted values will not take effect until the final changes have been applied This button will remain dis...

Page 74: ...pply button The Spread Spectrum radios in the CR200 X series and in the RF401 have address frequency and power settings These addresses are not PakBus addresses but an address the radio encodes in its message For radios in a PakBus network to talk to each other the address and frequency settings must be the same in ALL radios To change radio settings use the up and down arrows or drop down menus n...

Page 75: ...adio and how much power the CR200 X radio consumes from its power supply This value should be consistent with the RF400 series base station used to communicate with the CR200 X RF Protocol identifies the radio protocol that will be used for the CR200 X For networks that include older CR205 and RF400 operating systems this will be Transparent If no devices with older operating systems are present i...

Page 76: ...a CRBASIC Some variables in the status table can be requested or set during program execution using the CRBASIC SetStatus command Entries can be requested or set by setting a Public or Dim variable equivalent to the status table entry as can be done with variables in any data table For example to set a variable x equal to a status table entry the syntax is x Status StatusTableEntry Careful program...

Page 77: ...lues 6 Most recent record from user defined table 1 7 Most recent record from user defined table 2 8 Most recent record from user defined table 3 9 Most recent record from user defined table 4 SDI12 Goes into the SDI 12 terminal mode and remains there 8 3 4 Durable Settings Many CR200 X settings can be changed remotely over a telecommunications link either directly or as part of the CRBASIC progra...

Page 78: ...Section 8 CR200 X Configuration 68 ...

Page 79: ...ility DevConfig A good practice is to always retrieve data from the CR200 X before sending a program otherwise data may be lost The CR200 X does not have an on board compiler to create the binary BIN program file required by the datalogger Instead the datalogger support software creates a binary file using the appropriate compiler The compiler is chosen to match the version of operating system fou...

Page 80: ...e ASCII text file that constitutes the CR200 X application program CRBASIC Editor is available as part of LoggerNet PC400 RTDAQ datalogger support software packages Fundamental elements of CRBASIC include Variables named packets of CR200 X memory into which are stored values that normally vary during program execution Values are typically the result of measurements and processing Variables are giv...

Page 81: ...uivalent Value Standard 6 832 6 832 Scientific notation 5 67E 8 5 67X10 8 Binary B1101 11 Hexadecimal HFF 255 Binary format is useful when loading the status 1 high 0 low of multiple flags or ports into a single variable e g storing the binary number B11100000 preserves the status of flags 8 through 1 In this case flags 1 5 are low 6 8 are high CRBASIC EXAMPLE Load Binary Information into a Variab...

Page 82: ... a fixed interval a condition or both Table size Set the size of a data table Processing of Data List data to be stored in the data table e g samples averages maxima minima etc Processes or calculations repeated during program execution can be packaged in a subroutine and called when needed rather than repeating the code each time Begin Program Begin Program defines the beginning of statements def...

Page 83: ...claration names and allowed lengths 9 6 1 Variables A variable is a packet of memory given an alphanumeric name through which pass measurements and processing results during program execution Variables are declared either as Public or Dim at the discretion of the programmer Public variables can be viewed through software numeric monitors Dim variables cannot Up to 128 public variables can be decla...

Page 84: ...For example rather than declaring four similar variables as follows Public TempC1 Public TempC2 Public TempC3 Public TempC4 simply declare a variable array as shown below Public TempC 4 This creates in memory the four variables TempC 1 TempC 2 TempC 3 and TempC 4 A variable array is useful in program operations that affect many variables in the same way CRBASIC EXAMPLE Using a Variable Array in Ca...

Page 85: ... byte number CR200 X IEEE4 Data Word Size Range Resolution 4 bytes 1 8 x 10 38 to 1 7 x 1038 24 bits about 7 digits 9 6 1 4 Flags Flags are a useful program control tool While any variable can be used as a flag variables named Flag works best because datalogger support software automatically adds variables call Flag to the Ports and Flags window Because the CR200 X does not support the Boolean dat...

Page 86: ...cognize CRBASIC EXAMPLE 6 Using the Const Declaration Public PTempC PTempF Const CtoF_Mult 1 8 Const CtoF_Offset 32 BeginProg Scan 1 Sec 0 0 Therm109 PTempC 1 1 Ex1 1 0 0 PTempF PTempC CtoF_Mult CtoF_Offset NextScan EndProg 9 6 2 1 Predefined Constants Several words are reserved for use by CRBASIC These words cannot be used as variable or table names in a program Predefined constants include some ...

Page 87: ...er of variables The use of an alias allows the power of the array to be used with the clarity of unique names Each variable can be assigned units to clarify the meaning Units are not used elsewhere in programming but rather add meaning to resultant data table headers CRBASIC EXAMPLE 7 Alias and Unit Declaration Public TempC 2 Alias TempC 1 AirTempC Alias TempC 2 SoilTempC Units TempC Deg_C BeginPr...

Page 88: ...RBASIC program running in the datalogger name of the data table limited to 16 characters alphanumeric field names to attach at the head of data columns This information is referred to as table definitions TABLE Typical Data Table p 79 shows a data file as it appears after the associated data table has been downloaded from a CR200 X programmed with the code in CRBASIC EXAMPLE Definition and Use of ...

Page 89: ...ocess that output the data to storage For example Avg is the abbreviation for average If the default fieldnames are not acceptable to the programmer FieldNames instruction can be used to customized fieldnames The third header line identifies engineering units for that field of data These units are declared in the Define Units section of the CRBASIC program as shown in CRBASIC EXAMPLE Definition an...

Page 90: ...NextScan EndProg As shown in CRBASIC EXAMPLE Definition and Use of a Data Table p 79 data table declaration begins with the DataTable instruction and ends with the EndTable instruction Between DataTable and EndTable are instructions that define what data to store and under what conditions data are stored A data table must be called by the CRBASIC program for data storage processing to occur Typica...

Page 91: ...he same time new data are written These extra records are not reported in the Status Table and are not reported to the support software and so are not collected CRBASIC EXAMPLE Definition and Use of a Data Table p 79 creates a data table named OneMin stores data once a minute as defined by DataInterval and retains the most recent records in SRAM up to the automatically allocated memory limit DataR...

Page 92: ...h the data table the Average disable variable true the value resident in the variable to be averaged with not be included in the average Program CRBASIC EXAMPLE Use of the Disable Variable has False entered for the disable variable so all readings are included in the averages the average of variable Oscillator does not include samples occurring when Flag 1 is high producing an average of 2 whereas...

Page 93: ...Declare Variables and Units Public Temp 4 I Temp_F 4 Subroutine to convert temperature in degrees C to degrees F Sub ConvertCtoF For I 1 to 4 Temp_F Temp I 1 8 32 Next I EndSub Main Program BeginProg Scan 1 Sec Therm109 Temp 4 1 Ex1 1 0 0 convert Temperatures to F using Subroutine Call ConvertCtoF NextScan EndProg 9 8 Program Execution Timing CR200 X programs are built within a Scan NextScan struc...

Page 94: ...e been created for making measurements and storing data Measurement instructions set up CR200 X hardware to make measurements and store results in variables Data storage instructions process measurements into averages maxima minima standard deviation FFT etc Each instruction is a keyword followed by a series of informational parameters needed to complete the procedure For example the instruction f...

Page 95: ... Names Variable or Expression Variable Array or Expression 9 9 3 Names in Parameters TABLE Rules for Names p 85 lists the maximum length and allowed characters for the names for Variables Arrays Constants etc The CRBASIC Editor pre compiler will identify names that are too long or improperly formatted Table 10 Rules for Names Name for Maximum Length number of characters Allowed characters Variable...

Page 96: ...ure a series of sensors and apply individual calibration factors to each sensor as shown in CRBASIC EXAMPLE Use of Arrays as Multipliers and Offsets p 86 Storing calibration factors in variable arrays and placing the array variables in the multiplier and offset parameters of the measurement instruction makes this possible The measurement instruction uses repetitions to implement this feature by st...

Page 97: ...lization that doing so may make program code more difficult to decipher 9 10 1 Floating Point Arithmetic Variables and calculations are performed internally in single precision IEEE4 4 byte floating point a binary format Floating point arithmetic is common in many electronic computational systems but it has pitfalls high level programmers should be aware of Several sources discuss floating point a...

Page 98: ... No Set Reset Trigger Do Not Trigger The CR200 X understands only True False or 1 0 however The CR200 X represents true with 1 because AND OR operators are the same for logical statements and binary bitwise comparisons In the binary number system internal to the CR200 X 1 is expressed with all bits equal to 1 11111111 0 has all bits equal to 0 00000000 When 1 is ANDed with any other number the res...

Page 99: ...statement is executed If 0 then Y 0 If 0 is false since 0 is returned so Y will never be set to 0 by this statement Z X Y Z will equal 1 if X Y or Z will equal 0 if X Y The NOT operator simply complements every bit in the word A Boolean can only be 0 or have all of its bits set to 1 Complementing a Boolean will turn TRUE all bits set to FALSE all bits complemented to 0 Since the CR200 X cannot dec...

Page 100: ...ta process used See TABLE Abbreviations of Names of Data Processes p 90 for a complete list of these abbreviations not needed for values from Status or Public tables Fieldname Index Array element number optional Records Back How far back into the table to go to get the value optional Table 12 Abbreviations of Names of Data Processes Abbreviation Process Name Tot Totalize Avg Average Max Maximum Mi...

Page 101: ...rogramming 91 Five special variable names are used to access information about a table FieldName Output Record TableSize TimeStamp Consult CRBASIC Editor Help Index topic DataTable access for complete information ...

Page 102: ...Section 9 Programming 92 ...

Page 103: ... index 10 1 Program Declarations 10 1 1 Variable Declarations Modifiers Alias Assigns a second name to a variable Syntax Alias variable alias name Dim Declares and dimensions private variables Dimensions are optional Syntax Dim variable name x y z Public Declares and dimensions public variables Dimensions are optional Syntax Public variable name x y z Units Assigns a unit name to a field associate...

Page 104: ...ing FieldNames Immediately follows an output processing instruction to change default field names Syntax FieldNames Fieldname1 Description1 Fieldname2 Description2 10 2 2 1 Single Source Average Stores the average value over the output interval for the source variable or each element of the array specified Syntax Average Reps Source DisableVar Maximum Stores the maximum value over the output inter...

Page 105: ...o and other meteorological data Most suitable for output intervals 24 hours or more Syntax EToDaily Temp RH u2 Rs Longitude Latitude Altitude DisableVar WindVector Processes wind speed and direction from either polar or orthogonal sensors To save processing time only calculations resulting in the requested data are performed Syntax WindVector Repetitions Speed East Direction North DisableVar Senso...

Page 106: ... processing Syntax CallTable TableName Delay Delays the program Syntax Delay Delay Units Do While Until ExitDo Loop Repeats a block of statements while a condition is true or until a condition becomes true Syntax Do While Until condition statementblock ExitDo statementblock Loop or Do statementblock ExitDo statementblock Loop While Until condition For To Step ExitFor Next Repeats a group of instru...

Page 107: ...atalogger that will be returned when another string is sent to the datalogger Syntax LoggernetIdentify RequestString ReturnString Scan NextScan Establishes the program scan rate ExitScan and ContinueScan are optional Syntax Scan Interval Units Next Scan ContinueScan Next Scan ScanLEDOff Turns off the LED on the datalogger s front case that indicates a program scan is occurring Select Case Case Cas...

Page 108: ...set Read More See Bridge Resistance Measurements p 41 ExDelSE Applies an excitation voltage delays for a specified period of time and makes a single ended voltage measurement Allowable excitation voltages are 2500mV and 5000mV Syntax ExDelSE Dest Reps SEChan ExChan ExmV Delay Mult Offset Therm109 Measures a Campbell Scientific 109 thermistor Syntax Therm109 Dest Reps SEChan Vx ExChan SettlingTime ...

Page 109: ... Syntax AnalogPortSet Port State PeriodAvg Measures the period of a signal on any single ended voltage input channel Syntax PeriodAvg Dest SEChan PAOption Cycles Timeout Port Mult Offset PortGet Reads the status of a control port Syntax PortGet Dest Port PortSet Sets the specified port high or low Syntax PortSet Port State 10 5 5 SDI 12 Read More See SDI 12 Sensor Support p 112 SDI12Recorder The S...

Page 110: ...perators Raise to Power Multiply Divide Add Subtract Equals Not Equal Greater Than Less Than Greater Than or Equal Less Than or Equal 10 6 2 Logical Operators AND Used to perform a logical conjunction on two expressions Syntax result expr1 AND expr2 IIF Evaluates a variable or expression and returns one of two results based on the outcome of that evaluation Syntax Result IIF Expression TrueValue F...

Page 111: ...1 Sin X Cotangent Cotan 1 Tan X Inverse Secant Arcsec Atn X Sqr X X 1 Sgn Sgn X 1 1 5708 Inverse Cosecant Arccosec Atn X Sqr X X 1 Sgn X 1 1 5708 Inverse Cotangent Arccotan Atn X 1 5708 Hyperbolic Secant HSec 2 Exp X Exp X Hyperbolic Cosecant HCosec 2 Exp X Exp X Hyperbolic Cotangent HCotan Exp X Exp X Exp X Exp X Inverse Hyperbolic Sine HArcsin Log X Sqr X X 1 Inverse Hyperbolic Cosine HArccos Lo...

Page 112: ...specified in radians Syntax x COS source SIN Returns the sine of an angle Syntax x SIN source TAN Returns the tangent of an angle Syntax x TAN source 10 6 4 Arithmetic Functions ABS Returns the absolute value of a number Syntax x ABS source EXP Returns e the base of natural logarithms raised to a power Syntax x EXP source FRAC Returns the fractional part of a number Syntax x FRAC source INT or FIX...

Page 113: ...t operand1 MOD operand2 RectPolar Converts from rectangular to polar coordinates Syntax RectPolar Dest Source SGN Finds the sign value of a number Syntax x SGN source Sqr Returns the square root of a number Syntax x SQR number 10 6 5 Spatial Processing AvgSpa Computes the spatial average of the values in the source array Syntax AvgSpa Dest Swath Source CovSpa Computes the spatial covariance of set...

Page 114: ...Randomize source RND Generates a random number Syntax RND source 10 7 Clock Functions ClockSet Sets the datalogger clock from the values in an array Syntax ClockSet Source IfTime Returns a number indicating True 1 or False 0 based on the datalogger s real time clock Syntax If IfTime TintoInt Interval Units Then or Variable IfTime TintoInt Interval Units RealTime Parses year month day hour minute s...

Page 115: ... known a direct route through the specified COM port is first tried The PakBus Address is a variable that can be used in CRBASIC like any other variable The ComPort specifies the communications port that will be used to communicate with the host device Enter one of the following commands RF RS232 In general PakBus instructions write a result code to a variable indicating success or failure Success...

Page 116: ...ater V06S SendGetData Sends an array of values from a remote CR200 X to a host datalogger and or retrieves an array of data from the host datalogger Syntax SendGetData ResponseDest Control Measurement Port HostAddr RepeatAddr Security SetValue Sends values from one or more variables to a remote datalogger s Public table Syntax SetValue ResponseDest Source Swath RemoteVar Port RemoteAddr RepeatAddr...

Page 117: ...amp for a record in a specific DataTable Syntax TableName TimeStamp m n 10 11 SCADA Read More See Modbus p 139 Note These instructions are supported only in a special operating system version M for CR200 series dataloggers That operating system must be loaded on the datalogger and the program compiled with the matching compiler to use ModBusMaster and ModBusSlave No special operating system is req...

Page 118: ...ant The CR295X has the same operating system and expanded capabilities as other CR200 X series dataloggers CRBASIC instructions used by the CR295 X are GOESData Sends data to a CSI GOES satellite data transmitter Syntax GOESData Dest Table TableOption BufferControl DataFormat GOESGPS Stores GPS data from the satellite into two variable arrays Syntax GOESGPS GoesArray1 6 GoesArray2 7 GOESSetup Prog...

Page 119: ...y to receive and respond instantly CRBASIC EXAMPLE 16 Example Wireless Sensor Program For CR200 X Const MT 20 Measurement Time secs SDI 12 in this Case takes 20 seconds Const Port 1 1 Radio 2 RS 232 To send out data Const RouterAddr 1 the PakBus address of a router in this Case the same as Host Const HostAddr 1 the PakBus address of the Host datalogger Const NumVals 8 8 Measurements Const Security...

Page 120: ...onization setting Thereafter the CR200 calls at the appointed time slot 11 2 Radio Power Minimization Power settings on the CR200 X radio are used to optimize the current drain of the system The radio can be set to be always on power up once a second or every 8 seconds or be turned on by the CR200 X program When the status table field RF_ForceOn is set true under program control the radio is on on...

Page 121: ...ias TxData 3 VWC_3 Alias TxData 4 VWC_4 Alias TxData 5 T109_C Alias TxData 6 Batt_Volt Alias Rx CR1K_Batt_Volt Dim LoopCnt Units Batt_Volt Volts Units Period_uS uSec Units T109_C Deg C DataTable VWC_pin True 1 DataInterval 0 60 Min Average 5 TxData False Minimum 1 Batt_Volt False 0 EndTable BeginProg SetStatus RfPwrMode RFpinEn Configure CR200 X power mode to pin enabled Scan 1 sec If IfTime 0 15 ...

Page 122: ...hm resistor connecting P_LL to Battery Public Rain 2 Units Rain mm DataTable Hourly True 1 DataInterval 0 60 Min Totalize 2 Rain False EndTable BeginProg Scan 10 Sec PulseCount Rain 1 P_SW 2 0 0 254 0 PulseCount Rain 2 P_LL 0 0 0 254 0 CallTable Hourly NextScan EndProg 11 4 SDI 12 Sensor Support 11 4 1 SDI 12 Command Basics Commands have three components Sensor address a a single character and is ...

Page 123: ...LF or a values CRC CR LF a values CR LF or a values CRC CR LF a values CR LF or a values CRC CR LF Additional Measurements 3 aM1 aM9 atttn CR LF atttn CR LF atttn CR LF atttn CR LF atttn CR LF Additional Measurements and Request CRC 3 aMC1 aMC9 atttn CR LF Start Verification 3 aV atttn CR LF Start Concurrent Measurement aC atttnn CR LF Additional Concurrent Measurements aC1 aC9 atttnn CR LF atttnn...

Page 124: ...nd aI Sensor identifiers are requested by issuing command aI The reply is defined by the sensor manufacturer but usually includes the sensor address SDI 12 version manufacturer s name and sensor model information Serial number or other sensor specific information may also be included An example of a response from the aI command is 013NRSYSINC1000001 2101 CR LF where Address 0 SDI 12 version 1 3 Ma...

Page 125: ...nue program execution and pick up the requested data on the next pass through the program The datalogger scan rate should be set such that the resulting skew between time of measurement and time of data collection does not compromise data integrity Note This command is new to Version 1 2 or higher of the SDI 12 Specification Older sensors older loggers or new sensors that do not meet v1 2 specific...

Page 126: ...s can be connected to an SDI 12 input If multiple sensors are wired to a single channel each sensor must have a unique address SDI 12 standard v 1 3 sensors accept addresses 0 9 a z and A Z If program mode communications is not successful NAN will be loaded into the first variable specified in SDI12Recorder instruction See Section NAN and INF p 153 for more information 11 4 2 1 SDI 12 Transparent ...

Page 127: ...ghtly in function from commands entered in transparent mode In transparent mode for example the operator manually enters aM and aD0 to initiate a measurement and get data with the operator providing the proper time delay between the request for the measurement and the request for the data In programmed mode the CR200 X provides command and timing services within a single line of code For example w...

Page 128: ...to next CRBASIC instruction CR200 X else issues aDv command s Sensor Responds with data CR200 X Issues aCv command to request data for next scan Cv note no termination CR200 X Tests to see if ttt expired If ttt not expired loads 1e9 into first variable then moves to next CRBASIC instruction If ttt expired issues aDv command s Sensor Responds to aDv command s with data if any If no data loads NAN i...

Page 129: ...l Port 1 The time line in TABLE Example Power Usage Profile for a Network of SDI 12 Probes p 119 shows a 35 second power usage profile example Table 15 Example Power Usage Profile for a Network of SDI 12 Probes Sec Command All Probes Awake Time Out Expires 1 mA 2 mA 3mA 4mA Total mA 1 1M Yes 120 66 66 66 318 2 120 66 66 66 318 14 120 66 66 66 318 15 Yes 120 66 66 66 318 16 1D0 Yes 66 66 66 66 264 ...

Page 130: ...A guidelines for use with straight line Gaussian dispersion models to model plume transport 1 WVc 1 Mean horizontal wind speed S WVc 2 Unit vector mean wind direction Θ1 2 WVc 1 Resultant Mean horizontal wind speed Ū WVc 2 Resultant mean wind direction Θu WVc 3 Standard deviation of wind direction σ Θu This standard deviation is calculated using Campbell Scientific s wind speed weighted algorithm ...

Page 131: ...w Data Si horizontal wind speed Θi horizontal wind direction Uei east west component of wind Uni north south component of wind N number of samples 11 5 2 2 Calculations 11 5 2 2 1 Input Sample Vectors Figure 45 Input Sample Vectors In FIGURE Input Sample Vectors p 121 the short head to tail vectors are the input sample vectors described by si and Θi the sample speed and direction or by Uei and Uni...

Page 132: ...ar mean horizontal wind speed S where in the case of orthogonal sensors Unit vector mean wind direction where or in the case of orthogonal sensors where Standard deviation of wind direction Yamartino algorithm where and Ux and Uy are as defined above ...

Page 133: ... speed Ū Figure 46 Mean Wind Vector where for polar sensors or in the case of orthogonal sensors Resultant mean wind direction Θu Standard deviation of wind direction σ Θu using Campbell Scientific algorithm The algorithm for σ Θu is developed by noting FIGURE Standard Deviation of Direction p 124 that ...

Page 134: ...the error is 10 The speed sample can be expressed as the deviation about the mean speed Equating the two expressions for Cos θ and using the previous equation for si Solving for Θi 2 one obtains Summing Θi 2 over N samples and dividing by N yields the variance of Θu Note that the sum of the last term equals 0 The term is 0 if the deviations in speed are not correlated with the deviation in directi...

Page 135: ...lag 0 in earlier generation CSI mixed array dataloggers such as the CR10X DisableVar grants functionality similar to Flag 9 For individual measurements to affect summary data output processing instructions such as Average must be executed whenever the DataTable is called from the program normally once each Scan For example for an average to be calculated for the hour each measurement must be added...

Page 136: ... are the sample average and total o which is equal to 0 1 2 3 or 4 when the data table is called Public counter DataTable Test counter 2 or counter 3 100 Sample 1 counter FP2 Average 1 counter FP2 False Totalize 1 counter FP2 False EndTable BeginProg Scan 1 Sec 0 0 counter counter 1 If counter 5 Then counter 0 EndIf CallTable Test NextScan EndProg Figure 48 Data from TrigVar Program 11 7 Multiple ...

Page 137: ...depending on condition note the parenthesis around the TriggerVariable AND statements DataTable TwoInt int_fast AND IfTime 0 5 Sec OR int_slow AND IfTime 0 15 sec 1000 Sample 2 T109_C Maximum 1 counter 1 False False Minimum 1 counter 1 False False Maximum 1 deltaT False False Minimum 1 deltaT False False Average 1 deltaT false EndTable Main Program BeginProg Scan 1 Sec counter 1 counter 1 1 Thermi...

Page 138: ...Section 11 Programming Resource Library 128 ...

Page 139: ...us Table will be set to 16 The datalogger must be returned to CSI to replace the Serial Flash EEPROM The CR200 X stores the final storage data in the Serial Flash EEPROM The Serial Flash EEPROM also is the storage area for a file called the Table Definition File TDF When a CRBASIC program is downloaded to the CR200 X the TDF is extracted from the compiled version of the CRBASIC program and stored ...

Page 140: ... variable names 12 3 Memory Reset Three features are available for complete or selective reset of CR200 X memory 12 3 1 Full Memory Reset Full memory reset occurs when an operating system is sent to the CR200 X using DevConfig A full memory reset does the following Clears and Formats CPU drive all program files erased Clears SRAM data tables Clears Status Table Elements Restores settings to defaul...

Page 141: ...cations engineer for assistance in configuring any telecommunications system Synopses of software to support the various telecommunications devices and protocols are found in Section Support Software p 143 13 1 Hardware and Carrier Signal Campbell Scientific supplies or recommends a wide range of telecommunications hardware TABLE CR200 X Telecommunications Options p 131 lists telecommunications de...

Page 142: ...s collect data etc Because data retrieval is managed by the PC several PCs can have access to a CR200 X without disrupting the continuity of data 13 4 Data Retrieval Data tables are transferred to PC files through a telecommunications link Telecommunications and Data Retrieval p 131 13 4 1 Via Telecommunications Data are usually transferred through a telecommunications link to an ASCII file on the...

Page 143: ...00s to the third etc Note that each node on a branch starts with the same digit Devices such as PCs with addresses greater than 4000 are given special administrative access to the network PakBus addresses are set using DevConfig PakBusGraph or the CR200 X status table DevConfig Device Configuration Utility is the primary settings editor for Campbell Scientific equipment It requires a hardwire RS 2...

Page 144: ... a leaf node It cannot be configured as a router The network shown in FIGURE PakBus Network Addressing p 134 contains 6 routers and 8 leaf nodes Figure 49 PakBus Network Addressing LoggerNet is configured by default as a router and can route datalogger to datalogger communications 14 3 Router and Leaf Node Configuration Consult APPENDIX Router and Leaf Node Hardware Appendix p 33 for a table of av...

Page 145: ...ces in a network can be configured with a neighbor list The router or master sends out a hello message to each node in the list whose verify interval has expired at a random interval If a node responds a hello message is exchanged and the node becomes a neighbor A random number of seconds between INTERVAL and 2 INTERVAL where INTERVAL is the Verify Interval setting if non zero or 30 seconds if the...

Page 146: ...tus increasing traffic in the network Note During the hello message a CVI must be negotiated between two neighbors The negotiated CVI is the lesser of the first nodes CVI and 6 5ths of the neighbors CVI 14 5 Troubleshooting Various tools and methods have been developed to assist in troubleshooting PakBus networks 14 5 1 Link Integrity With beaconing or neighbor filter discovery links are establish...

Page 147: ...y the Max Packet Size setting exists in the CR200 X The CR200 X can look at this setting at the point where it is forming a response message and cut short the amount of data that it would normally send if the setting limits the message size 14 5 2 Ping Link integrity can be verified with the following procedure by using PakBusGraph Ping Node Nodes can be pinged with packets of 50 100 200 or 500 by...

Page 148: ... filters 14 6 LoggerNet Device Map Configuration As shown in FIGURE Flat Map p 138 and FIGURE Tree Map p 138 the essential element of a PakBus network device map in LoggerNet is the PakBusPort After adding the root port COM IP etc add a PakBusPort and the dataloggers Figure 50 Flat Map Figure 51 Tree Map Use the tree configuration when communications requires routers The shape of the map serves to...

Page 149: ...data from field instruments is much simpler than from serial sensors Because Modbus uses a common bus and addresses each node field instruments are effectively multiplexed to a CR200 X without additional hardware A CR200 X goes into sleep mode after 40 seconds of communications inactivity Once asleep two packets are required before the CR200 X will respond The first packet awakens the CR200 X the ...

Page 150: ...able array read write Holding Registers 40001 49999 Hold values resulting from a programming action Holding registers in the Modbus domain are read write In the CSI domain the leading digit in Modbus registers is ignored and so are assigned together to a single Dim or Public variable array read write RTU PLC Remote Telemetry Units RTUs and Programmable Logic Controllers PLCs were at one time used ...

Page 151: ...able in CRBASIC Editor Help ModbusMaster Sets up a CR200 X as a Modbus master to send or retrieve data from a Modbus slave Syntax ModbusMaster ResultCode ComPort BaudRate ModbusAddr Function Variable Start Length Tries TimeOut ModbusSlave Sets up a CR200 X as a Modbus slave device Syntax ModbusSlave ComPort BaudRate ModbusAddr DataVariable BooleanVariable 15 1 3 3 Addressing ModbusAddr Modbus devi...

Page 152: ...der words the CR200 X does not have that capability If reverse byte order words are required either the master has to make an adjustment which is sometimes possible or the CR200 X needs to replaced with a datalogger that supports the MoveBytes instruction 15 1 4 Troubleshooting Test Modbus functions on the CR200 X with third party Modbus software Further information is available at the following l...

Page 153: ...It supports by name most sensors sold by Campbell Scientific It features generic measurement routines enabling it to support many sensors from other manufacturers Programs created by Short Cut are automatically well documented and produce examples of CRBASIC programming that can be used as source or reference code for more complex programs edited with CRBASIC Editor Short Cut is included with PC20...

Page 154: ...data collection scheduled data collection network monitoring and troubleshooting graphical data displays automated tasks data viewing and post processing LoggerNet Admin All LoggerNet features plus network security manages the server from a remote PC runs LoggerNet as a service exports data to third party applications launches multiple instances of the same client e g two or more functioning Conne...

Page 155: ... Systems PConnectCE supports Windows Mobile and Pocket PC PDAs Both support direct RS 232 connection to the CR200 X for sending programs collecting data and digital real time monitoring 16 8 Network Planner Network Planner is a drag and drop application used in designing PakBus datalogger networks The user interacts with Network Planner through a drawing canvas upon which are placed PCs and datalo...

Page 156: ...Section 16 Support Software 146 ...

Page 157: ...s microprocessor failure and or measurement inaccuracies due to condensation on the various PC board runners may result Effective humidity control is the responsibility of the user Adequate desiccant should be placed in the instrumentation enclosure to prevent corrosion on the CR200 X wiring panel The desiccant needs to be replaced or dried out frequently enough to control the humidity 17 3 Enclos...

Page 158: ... X does not draw power from the lithium battery while it is powered by an external source In a CR200 X stored at room temperature the lithium battery should last approximately 5 years less at temperature extremes Where the CR200 X is powered most or all of the time the lithium cell should last much longer The internal lithium battery must be replaced periodically Factory replacement is recommended...

Page 159: ...thium Battery Specifications p 33 lists the specifications of the battery However Campbell Scientific recommends that the battery be replaced at the factory Table 23 Internal Lithium Battery Specifications Manufacturer Renata Model CR2016 3 6V Capacity 80 mAh Self discharge rate 1 year 23 C Operating temperature range 40 C to 85 C ...

Page 160: ...Section 17 Care and Maintenance 150 ...

Page 161: ...can intervals or when other operations occupy the processor at a scan s start time Occasional skipped scans may be acceptable but should be avoided Skipped scans may compromise frequency measurements made with pulse channels The error occurs because counts from a scan and subsequent skipped scans are regarded by the CR200 X as having occurred during a single scan The measured frequency can be much...

Page 162: ...ually older compiler executable that does not match the operating system resident in the CR200 X Compiler executable file C Campbellsci Lib CR200Compilers cr2compvxxxx exe must match the CR200 X operating system cr2osvxxxx a43 where xxxx is the operating system version number Compiler executable version is shown on the first line of the compile results in CRBASIC Editor This error typically occurs...

Page 163: ...e CR200 X measures voltage inputs ranging from 0 to 2500 mV Input signals that exceed this ranges result in an over range indicated by a NAN for the measured result A voltage input not connected to a sensor is floating and the resulting measured voltage often remains near the voltage of the previous measurement Floating measurements tend to wander in time and could temporarily impersonate a valid ...

Page 164: ...e performance of a CR200 X using Devconfig or LoggerNet while the CR200 X has an open connection to another copy of LoggerNet For example the main connection can be via RF while the performance monitoring is done via RS 232 port This is a useful feature of the CR200 X A problem often arises however in that the CR200 X gets confused when attempting this via two different ports from two different in...

Page 165: ... has peripheral s with high current drain s such as satellite transmitter verify that the system s power supply provides enough power For more information refer to our Power Supply product literature or Application Note 18 3 2 Troubleshooting at a Glance Symptoms Possible symptoms include the CR200 X program not executing WatchDogCnt in the Status table displaying a non zero number Affected Equipm...

Page 166: ...Section 18 Troubleshooting 156 18 3 3 Diagnosis and Fix Procedures 18 3 3 1 Battery Voltage Test ...

Page 167: ...Section 18 Troubleshooting 157 18 3 3 2 Charging Circuit Test Solar Panel ...

Page 168: ...Section 18 Troubleshooting 158 18 3 3 3 Charging Circuit Test Transformer ...

Page 169: ...Section 18 Troubleshooting 159 18 3 3 4 Adjusting Charging Circuit Voltage ...

Page 170: ...Section 18 Troubleshooting 160 ...

Page 171: ...ry digits 8 bits resulting in 1 byte of storage per character of text asynchronous The transmission of data between a transmitting and a receiving device occurs as a series of zeros and ones For the data to be read correctly the receiving device must begin reading at the proper point in the series In asynchronous communication this coordination is accomplished by having each character surrounded b...

Page 172: ...s of zeros and ones Also describes the state of a switch either being on or off code A CRBASIC program or a portion of a program compile The software process of converting a human readable program to binary machine code CR200 X programs are compiled by the CRBASIC Editor constant A packet of CR200 X memory given an alpha numeric name and assigned a fixed number control I O Terminals C1 C2 or proce...

Page 173: ...nt A material that absorbs water vapor to dry the surrounding air DevConfig Device Configuration Utility available with LN PC400 or from the CSI website differential A sensor or measurement terminal wherein the analog voltage signal is carried on two leads The phenomenon measured is proportional to the difference in voltage between the two leads digital Numerically presented data Dim A CRBASIC com...

Page 174: ...a precise voltage usually to a resistive bridge circuit execution time Time required to execute an instruction or group of instructions If the execution time of a Program Table exceeds the table s Execution Interval the Program Table is executed less frequently than programmed expression A series of words operators or numbers that produce a value or result final storage That portion of memory allo...

Page 175: ...written without a fractional or decimal component 15 and 7956 are integers 1 5 and 79 56 are not integers intermediate storage That portion of memory allocated for the storage of results of intermediate calculations necessary for operations such as averages or standard deviations Intermediate storage is not accessible to the user lf line feed loop counter Increments by 1 with each pass through a l...

Page 176: ...evice Devices in a PakBus network that can communicate directly with an individual device without being routed through an intermediate device See PakBus Appendix p 7 NIST National Institute of Standards and Technology Node Part of the description of a datalogger network when using LoggerNet Each node represents a device that the communications server will dial through or communicate with individua...

Page 177: ...ons Process data values and generate Output Arrays Examples of Output Processing Instructions include Totalize Maximum Minimum Average etc The data sources for these Instructions are values in Input Storage The results of intermediate calculations are stored in Intermediate Storage The ultimate destination of data generated by Output Processing Instructions is usually Final Storage but may be Inpu...

Page 178: ...print peripheral See Print Device Appendix p 8 processing instructions These instructions allow the user to further process input data values and return the result to Input Storage where it can be accessed for output processing Arithmetic and transcendental functions are included in these Instructions program control instructions Used to modify the sequence of execution of Instructions contained i...

Page 179: ...e of wave or other varying quantities around zero RS 232 Recommended Standard 232 A loose standard defining how two computing devices can communicate with each other The implementation of RS 232 in CSI dataloggers to PC communications is quite rigid but transparent to most users Implementation of RS 232 in CSI datalogger to RS 232 smart sensor communications is quite flexible sample rate The rate ...

Page 180: ... The CR200 X datalogger is not compatible with SDM devices Send Denotes the program send button in LoggerNet PC400 RTDAQ PC200W datalogger support software serial A loose term denoting output or a device that outputs an electronic series of alphanumeric characters SI Système Internationale The International System of Units signature A number which is a function of the data and the sequence of data...

Page 181: ...an be made scaled to engineering units and the reading stored in a data table The CR200 X has the ability to scan sensors at a rate exceeding the throughput rate The primary factor affecting throughput rate is the amount of processing specified by the user In a CR200 X all processing called for by an instruction must be completed before moving on the next instruction TLL Transistor Transistor Logi...

Page 182: ...the datalogger is running its program If the processor has bombed or is neglecting standard system updates or if the counters are outside the limits the watchdog timer resets the processor and program execution Voltage surges and transients can cause the watchdog timer to reset the processor and program execution When the watchdog timer resets the processor and program execution an error count is ...

Page 183: ...ee define how well a data acquisition system performs To understand how the three relate to each other consider target practice as an analogy FIGURE Accuracy Precision and Resolution p 13 shows four targets The bull s eye on each target represents the absolute correct measurement Each shot represents an attempt to make the measurement The diameter of the projectile represents resolution Figure 53 ...

Page 184: ...Appendix A Glossary 14 ...

Page 185: ...onfig which polls the status table at regular intervals without use of a refresh button Note that a lot of comms and other activity is needed to generate the Status Table so if the CR200 X is very tight on time just getting the Status Table itself repeatedly could push timing over the edge and cause skipped scans Through the continued development of the operating system the status table has become...

Page 186: ... Calibration table of single ended offset values Each integration range combination has a single ended offset associated with it These numbers are updated by the background slow sequence if needed in the program Integer array of 18 _ close to 0 _ Calib PakBusAddress 1 CR200 X PakBus address String 1 1 to 3999 Yes Config PB RfInstalled Indicates the model of RF radio installed Integer _ _ _ Status ...

Page 187: ...nature Signature of the current running program file including comments Does not change with operating system changes Integer _ _ _ Status 1 Pak Bus Addresses 1 to 4094 are valid Addresses 4000 are generally used for a PC by PC200W RTDAQ PC400 or LoggerNet 2 Watchdog errors are automatically reset upon compiling a new program 3 The Variable Out of Bounds error occurs when a program tries to write ...

Page 188: ...network address of the built in radio This setting should be set to match the network address for the RF400 base used to communicate with the datalogger 0 RF Address Specifies the address of the built in radio This value should generally be set to match the same as the address of the RF400 base used to communicated with the datalogger unless that base is used to communicate with non PakBus datalog...

Page 189: ...n eight seconds Pin Enabled Indicates that the radio receiver is to be turned on only when the RF_ForceOn status table variable is enabled Company Identifies the manufacturer CSI PakCtrl Command Codes Identifies the list of PakBus PakCtrl Interface command codes that the logger will accept 2 7 8 9 12 BMP5 Command Codes Identifies the list of PakBus BMP5 Interface command codes that the datalogger ...

Page 190: ...Appendix B Status Table and Settings 20 ...

Page 191: ...200 X RS 232 port is not electrically isolated Connection to an AC powered computer may cause ground loops leading to measurement problems Maximum input 25 V Maximum Output 13 V Typical Output 5 4 V The following table describes the Datalogger s RS 232 pin function with standard DCE naming notation Table 28 CR200 X RS 232 Pin Out PIN Pin number O Signal Out of the CR200 X to a RS 232 device I Sign...

Page 192: ...Appendix C Serial Port Pin Outs 22 ...

Page 193: ... Display Char LoggerNet Char Hyper Terminal Char 0 0 NULL NULL 128 80 Ç 1 1 129 81 ü 2 2 130 82 é 3 3 131 83 ƒ â 4 4 132 84 ä 5 5 133 85 à 6 6 134 86 å 7 7 135 87 ç 8 8 136 88 ˆ ê 9 9 ht 137 89 ë 10 a lf lf 138 8a Š è 11 b vt 139 8b ï 12 c ff 140 8c Œ î 13 d cr cr 141 8d ì 14 e 142 8e Ž Ä 15 f 143 8f Å 16 10 144 90 É 17 11 145 91 æ 18 12 146 92 Æ 19 13 147 93 ô 20 14 148 94 ö 21 15 149 95 ò 22 16 ...

Page 194: ...1 í 34 22 162 a2 ó 35 23 163 a3 ú 36 24 164 a4 ñ 37 25 165 a5 Ñ 38 26 166 a6 ª 39 27 167 a7 º 40 28 168 a8 41 29 169 a9 42 2a 170 aa ª 43 2b 171 ab 44 2c 172 ac 45 2d 173 ad 46 2e 174 ae 47 2f 175 af 48 30 0 0 0 176 b0 49 31 1 1 1 177 b1 50 32 2 2 2 178 b2 51 33 3 3 3 179 b3 52 34 4 4 4 180 b4 53 35 5 5 5 181 b5 µ 54 36 6 6 6 182 b6 55 37 7 7 7 183 b7 56 38 8 8 8 184 b8 57 39 9 9 9 185 b9 58 3a 18...

Page 195: ... 199 c7 Ç 72 48 H H H 200 c8 È 73 49 I I I 201 c9 É 74 4a J J J 202 ca Ê 75 4b K K K 203 cb Ë 76 4c L L L 204 cc Ì 77 4d M M M 205 cd Í 78 4e N N N 206 ce Î 79 4f O O O 207 cf Ï 80 50 P P P 208 d0 Ð 81 51 Q Q Q 209 d1 Ñ 82 52 R R R 210 d2 Ò 83 53 S S S 211 d3 Ó 84 54 T T T 212 d4 Ô 85 55 U U U 213 d5 Õ 86 56 V V V 214 d6 Ö 87 57 W W W 215 d7 88 58 X X X 216 d8 Ø 89 59 Y Y Y 217 d9 Ù 90 5a Z Z Z 21...

Page 196: ...4 68 h h h 232 e8 è Φ 105 69 i i i 233 e9 é Θ 106 6a j j j 234 ea ê Ω 107 6b k k k 235 eb ë δ 108 6c l l l 236 ec ì 109 6d m m m 237 ed í φ 110 6e n n n 238 ee î ε 111 6f o o o 239 ef ï 112 70 p p p 240 f0 ð 113 71 q q q 241 f1 ñ 114 72 r r r 242 f2 ò 115 73 s s s 243 f3 ó 116 74 t t t 244 f4 ô 117 75 u u u 245 f5 õ 118 76 v v v 246 f6 ö 119 77 w w w 247 f7 120 78 x x x 248 f8 ø 121 79 y y y 249 f...

Page 197: ...its are designed to provide reasonable protection against harmful interference in a residential installation This equipment generates uses and can radiate radio frequency energy and if not installed and used in accordance with the instructions may cause harmful interference to radio communications However there is no guarantee that interference will not occur in a particular installation If this e...

Page 198: ...power transmitter that complies with the technical standards in Part 15 with a particular antenna attached can exceed the Part 15 standards if a different antenna is attached Should this happen it could pose a serious interference problem to authorized radio communications such as emergency broadcast and air traffic control communications Caution In order to comply with the FCC RF exposure require...

Page 199: ...contact Campbell Scientific for specific model numbers Table 29 Sensors available from Campbell Scientific Air Temperature Precipitation Relative Humidity Road Weather Barometric Pressure Soil Heat Flux Conductivity Soil Temperature Dissolved Oxygen Soil Volumetric Water Content Distance Soil Water Potential Duff Moisture Solar Radiation Electrical Current Strain Electric Field Surface Temperature...

Page 200: ...eable Battery requires regulator primary source Includes mounting bracket for CSI enclosures BP24 24 Amp Hour Sealed Rechargeable Battery requires regulator primary source Includes mounting bracket for CSI enclosures F 3 2 Primary Sources Table 32 Primary Power Sources available from Campbell Scientific Model Description 9591 18 Vac 1 2 Amp Wall Plug Charger accepts 110 Vac mains power requires re...

Page 201: ...c Model Description SW12V Single Switched 12V Control Circuit F 6 Serial Cables Adaptors and Switches Table 35 Serial Cables Adaptors and Switches available from Campbell Scientific Model Description 17394 RS 232 to USB Cable not optically isolated COMCBL2 L Weatherproof Cable 9 pin Male to 9 pin Female 10873 RS 232 9 pin Female to 9 Pin Male 6 ft 7026 RS 232 Cable 9 pin Female to 25 pin Male 6 ft...

Page 202: ...atalogger CR211 X 100 mW spread spectrum radio enabled datalogger CR216 X 100 mW spread spectrum radio enabled datalogger F 8 1 Network Links Table 38 Antennas for Spread Spectrum Radios available from Campbell Scientific Model Description 14310 900MHz 0dBd Omni 1 4 Wave Whip Antenna 14204 900MHz 0dBd Omni 1 2 Wave Whip Antenna 14221 900MHz 3dBd Omni Antenna 15970 900MHz 1dBd Dipole Antenna 14205 ...

Page 203: ...X Telecommunications Options Destination Device Portal Communications Path Carrier CSI Model PC COM or USB Direct Connect RS232 10873 or 17394 PDA COM Port Direct Connect RS232 PCONNECT PC COM Port Digital Cellular 800 MHz RF RavenXXX PC COM Port Multidrop RS485 MD485 PC Network Card Ethernet PPP IP2 NL100 PC COM Port Spread Spectrum RF 900 MHz 2 4 GHz RF RF4XX Satellite System Satellite Transceiv...

Page 204: ...ailable from Campbell Scientific Model Description 14462 Surge Suppressor Kit for RF401 Radio CR206 X Datalogger 19553 Surge Suppressor Kit for RF450 Radio 16982 Surge Suppressor Kit for RF416 Radio CR216 X Datalogger 16981 Surge Suppressor Kit for GOES transmitters SVP48 General Purpose Multi line Surge Protector ...

Page 205: ...140 Collecting Data 18 COM Port Connection 11 Commands SDI 12 118 Comment 69 Communication 11 18 31 131 154 Communications Ports 28 Compile Results 16 Configuration 59 Connection 4 11 25 Conserving Code Space 88 Constant 73 76 2 Constant Predefined 76 Constant Declaration 93 Control 50 96 Control Instructions 8 Control Output Expansion 49 Control Peripheral 49 Control Port 8 cr 2 CR10X 105 CR23X 1...

Page 206: ...umerical 71 Forward 1 Frequency 42 Function Codes Modbus 141 G Gain 38 86 Garbage 4 Gas Discharge Tubes 55 Generator 13 70 Glossary 1 GOES 108 Ground 27 33 55 56 4 H Half Bridge 41 Half Duplex 5 Hello Exchange 5 Hello Request 135 Hello Message 135 Hertz 5 Hexadecimal 71 High Frequency 44 Humidity 32 I I O Port 49 ID 62 IEEE4 75 5 Infinite 153 Initiate Telecommunications 109 132 Input Channel 6 Inp...

Page 207: ...96 Instructions SendData 105 Instructions SerialInput 105 Instructions SetStatus 106 Instructions SetValue 105 Instructions SGN 102 Instructions SIN 101 Instructions StdDev 94 Instructions StdDevSpa 103 Instructions TAN 101 Instructions Totalize 94 Instructions Units 93 Instructions While Wend 96 Instructions WindVector 95 Instructions XOR 100 Instructions Sqr 102 Integer 5 Integration 40 Intermed...

Page 208: ...rogram Alias 77 93 Program Array 103 Program Constant 76 Program Data Storage Processing instruction 81 Program Data Table 77 Program Data Type 75 77 Program DataInterval 81 Program Declaration 77 Program Dimension 93 Program Documenting 69 Program Execution 83 Program Expression 86 153 Program Floating Poing Arithmetic 75 87 153 Program Instruction 84 Program Mathematical Operation 87 Program Mea...

Page 209: ...or Support 37 112 Sequence 38 Serial 10 Serial I O 105 Serial Input 105 Serial Sensor 47 Setting 12 30 Setting CRBASIC 66 Setting Durable 67 Setting Terminal Emulator 66 Setting PakBus 18 33 Settings Editor 133 Short Cut 13 69 SI Systeme Internationale 10 Signal Conditioner 32 Signatured Packet 31 Sine Wave 7 Single Ended 45 57 Skipped Scan 151 Software 11 34 143 11 Software Beginner 143 Solar Pan...

Page 210: ...er 76 Variable Out of Bounds 151 Vdc 12 Vector 120 Verify Interval 135 136 Viewing Data 20 Visual Weather 143 Volt Meter 12 Voltage Measurement 27 38 Volts 12 W Watchdog Error 151 16 Watchdog Timer 12 Weather Tight 12 Wind Vector 120 Wind Vector Processing 120 Wiring 15 Wiring Panel 4 Writing Program 13 69 X XOR 88 100 Z Zero 88 ...

Page 211: ......

Page 212: ...entific Canada Corp CSC 11564 149th Street NW Edmonton Alberta T5M 1W7 CANADA www campbellsci ca dataloggers campbellsci ca Campbell Scientific Centro Caribe S A CSCC 300 N Cementerio Edificio Breller Santo Domingo Heredia 40305 COSTA RICA www campbellsci cc info campbellsci cc Campbell Scientific Ltd CSL Campbell Park 80 Hathern Road Shepshed Loughborough LE12 9GX UNITED KINGDOM www campbellsci c...

Reviews: