background image

Section 7.  Installation 

 

Figure 55. Alarms Toggled in Bit-Shift Example 

 

 

Figure 56. Bool8 Data from Bit-Shift Example (Numeric Monitor) 

 

 

199 

 

Summary of Contents for CR1000

Page 1: ...stem Preliminary for OS v 28 4 13 15 Want to get going Go to the Quickstart p 41 section Want to see notes pertaining to this preliminary manual release Go to Release Notes p 34 C o p y r i g h t 2 0 0 0 2 0 1 5 C a m p b e l l S c i e n t i f i c I n c ...

Page 2: ......

Page 3: ...l costs of removing reinstalling and shipping defective Products to CSI CSI will return such Products by surface carrier prepaid within the continental United States of America To all other locations CSI will return such Products best way CIP port of entry per Incoterms 2010 This warranty shall not apply to any Products which have been subjected to modification misuse neglect improper service acci...

Page 4: ......

Page 5: ...g container Campbell Scientific s shipping address is CAMPBELL SCIENTIFIC INC RMA _____ 815 West 1800 North Logan Utah 84321 1784 For all returns the customer must fill out a Statement of Product Cleanliness and Decontamination form and comply with the requirements specified in it The form is available from our web site at www campbellsci com repair A completed form must be either emailed to repai...

Page 6: ......

Page 7: ...lation use or maintenance of tripods towers attachments or electrical connections consult with a licensed and qualified engineer or electrician General Prior to performing site or installation work obtain required approvals and permits Comply with all governing structure height regulations such as those of the FAA in the USA Use only qualified personnel for installation use and maintenance of trip...

Page 8: ...autions to prevent elevated tools and objects from dropping Do not perform any work in inclement weather including wind rain snow lightning etc Maintenance Periodically at least yearly check for wear and damage including corrosion stress cracks frayed cables loose cable clamps cable tightness etc and take necessary corrective actions Periodically at least yearly check electrical ground connections...

Page 9: ...edure Short Cut Steps 1 to 5 50 4 7 4 2 Procedure Short Cut Steps 6 to 7 51 4 7 4 3 Procedure Short Cut Step 8 52 4 7 4 4 Procedure Short Cut Steps 9 to 12 53 4 7 4 5 Procedure Short Cut Steps 13 to 14 54 4 7 5 Send Program and Collect Data 55 4 7 5 1 Procedure PC200W Step 1 55 4 7 5 2 Procedure PC200W Steps 2 to 4 55 4 7 5 3 Procedure PC200W Step 5 56 4 7 5 4 Procedure PC200W Step 6 57 4 7 5 5 Pr...

Page 10: ...2 Power Out Terminals 80 5 3 2 5 Communication Ports 81 5 3 2 5 1 CS I O Port 81 5 3 2 5 2 RS 232 Ports 82 5 3 2 5 3 Peripheral Port 82 5 3 2 5 4 SDI 12 Ports 82 5 3 2 5 5 SDM Port 82 5 3 2 5 6 CPI Port 82 5 3 2 5 7 Ethernet Port 83 5 3 3 Keyboard Display Overview 83 5 3 3 1 Character Set 83 5 3 3 2 Custom Menus Overview 84 5 3 4 Measurement and Control Peripherals Overview 85 5 3 5 Power Supplies...

Page 11: ...ng 105 7 6 1 ESD Protection 105 7 6 1 1 Lightning Protection 107 7 6 2 Single Ended Measurement Reference 108 7 6 3 Ground Potential Differences 109 7 6 3 1 Soil Temperature Thermocouple 109 7 6 3 2 External Signal Conditioner 109 7 6 4 Ground Looping in Ionic Measurements 109 7 7 CR1000 Configuration Details 111 7 7 1 Configuration Tools 111 7 7 1 1 Configuration with DevConfig 111 7 7 1 2 Networ...

Page 12: ...4 9 Numerical Formats 139 7 8 4 10 Multi Statement Declarations 140 7 8 4 10 1 Declaring Data Tables 140 7 8 4 10 2 Declaring Subroutines 147 7 8 4 10 3 Include File 147 7 8 4 10 4 Declaring Subroutines 150 7 8 4 10 5 Declaring Incidental Sequences 150 7 8 4 11 Execution and Task Priority 151 7 8 4 11 1 Pipeline Mode 152 7 8 4 11 2 Sequential Mode 153 7 8 4 12 Execution Timing 154 7 8 4 12 1 Scan ...

Page 13: ... 7 9 11 3 TableFile with Option 64 Programming 207 7 9 11 4 Converting TOB3 Files with CardConvert 207 7 9 11 5 TableFile with Option 64 Q A 208 7 9 12 Field Calibration Details 210 7 9 12 1 Field Calibration CAL Files 210 7 9 12 2 Field Calibration Programming 211 7 9 12 3 Field Calibration Wizard Overview 211 7 9 12 4 Field Calibration Numeric Monitor Procedures 211 7 9 12 4 1 One Point Calibrat...

Page 14: ...5 4 Serial I O Translating Bytes 253 7 9 17 5 5 Serial I O Memory Considerations 253 7 9 17 5 6 Demonstration Program 254 7 9 17 6 Serial I O Application Testing 256 7 9 17 6 1 Configure HyperTerminal 256 7 9 17 6 2 Create Send Text File 258 7 9 17 6 3 Create Text Capture File 258 7 9 17 6 4 Serial I O Example II 259 7 9 17 7 Serial I O Q A 264 7 9 18 Serial I O SDI 12 Sensor Support Programming R...

Page 15: ...sis 327 8 1 2 2 2 Use of External Reference Junction 336 8 1 2 3 Current Measurements Details 337 8 1 2 4 Resistance Measurements Details 337 8 1 2 4 1 Ac Excitation 341 8 1 2 4 2 Resistance Measurements Accuracy 341 8 1 2 5 Strain Measurements Details 342 8 1 2 6 Auto Calibration Details 344 8 1 2 6 1 Auto Calibration Process 344 8 1 3 Pulse Measurements Details 349 8 1 3 1 Pulse Measurement Term...

Page 16: ...3 1 1 Memory Drives On Board 374 8 3 1 1 1 Data Table SRAM 374 8 3 1 1 2 CPU Drive 374 8 3 1 1 3 USR Drive 375 8 3 1 1 4 USB Drive 375 8 3 1 2 Memory Card CRD Drive Details 376 8 3 2 Data File Formats 377 8 3 3 Resetting the CR1000 381 8 3 3 1 Full Memory Reset 381 8 3 3 2 Program Send Reset 381 8 3 3 3 Manual Data Table Reset 382 8 3 3 4 Formatting Drives 382 8 3 4 File Management 382 8 3 4 1 Fil...

Page 17: ...8 8 6 1 2 1 Declarations DNP3 Programming 408 8 6 1 2 2 CRBasic Instructions DNP3 409 8 6 1 2 3 Programming for DNP3 Data Acquisition 410 8 6 2 Modbus Details 411 8 6 2 1 Modbus Terminology 412 8 6 2 1 1 Glossary of Modbus Terms 412 8 6 2 2 Programming for Modbus 413 8 6 2 2 1 Declarations Modbus Programming 413 8 6 2 2 2 CRBasic Instructions Modbus 414 8 6 2 2 3 Addressing ModbusAddr 414 8 6 2 2 ...

Page 18: ...y 454 8 8 1 1 Real Time Tables and Graphs 455 8 8 1 2 Real Time Custom 455 8 8 1 3 Final Memory Tables 457 8 8 2 Run Stop Program 458 8 8 3 File Display 459 8 8 3 1 File Edit 459 8 8 4 PCCard Memory Card Display 461 8 8 5 Ports and Status 462 8 8 6 Settings 462 8 8 6 1 Set Time Date 463 8 8 6 2 PakBus Settings 463 8 8 7 Configure Display 463 8 9 Program and OS File Compression Q and A 463 8 10 Mem...

Page 19: ...88 10 5 4 6 MemoryFree 488 10 5 4 7 VarOutOfBounds 488 10 5 4 8 Watchdog Errors 488 10 5 4 8 1 Status Table WatchdogErrors 489 10 5 4 8 2 Watchdoginfo txt File 489 10 6 Troubleshooting Operating Systems 490 10 7 Troubleshooting Auto Calibration Errors 490 10 8 Communications 490 10 8 1 RS 232 490 10 8 2 Communicating with Multiple PCs 491 10 8 3 Comms Memory Errors 491 10 8 3 1 CommsMemFree 1 491 ...

Page 20: ... 5 1 Diagnostics 550 A 5 2 Voltage 551 A 5 3 Thermocouples 551 A 5 4 Resistive Bridge Measurements 551 A 5 5 Excitation 552 A 5 6 Pulse and Frequency 553 A 5 7 Digital I O 554 A 5 7 1 Control 554 A 5 7 2 Measurement 555 A 5 8 SDI 12 Sensor Suppport Instructions 555 A 5 9 Specific Sensors 556 A 5 9 1 Wireless Sensor Network 558 A 5 10 Peripheral Device Support 559 A 6 PLC Control Instructions 562 A...

Page 21: ...1 2 GOES 600 A 21 3 OMNISAT 601 A 21 4 INMARSAT C 601 A 22 User Defined Functions 602 B Status Settings and Data Table Information Status Settings DTI 603 B 1 Status Settings DTI Directories 604 B 2 Status Settings DTI Descriptions Alphabetical 611 C Serial Port Pinouts 633 C 1 CS I O Communication Port 633 C 2 RS 232 Communication Port 633 C 2 1 Pin Out 633 C 2 2 Power States 634 D ASCII ANSI Tab...

Page 22: ...2 G 6 6 Private Network Radios List 653 G 6 7 Satellite Transceivers List 653 G 7 Data Storage Devices List 653 G 8 Datalogger Support Software Lists 654 G 8 1 Starter Software List 654 G 8 2 Datalogger Support Software List 654 G 8 2 1 LoggerNet Suite List 655 G 8 3 Software Tools List 656 G 8 4 Software Development Kits List 656 G 9 Power Supplies Products 657 G 9 1 Battery Regulator Combination...

Page 23: ...ion Scheme 108 Figure 35 Model of a Ground Loop with a Resistive Sensor 110 Figure 36 Device Configuration Utility DevConfig 112 Figure 37 Network Planner Setup 113 Figure 38 Summary of CR1000 Configuration 122 Figure 39 CRBasic Editor Program Send File Control window 127 Figure 40 Include File Settings Via DevConfig 149 Figure 41 Include File Settings Via PakBusGraph 149 Figure 42 Sequential Mode...

Page 24: ...erature between 0 to 40 C 314 Figure 83 Ac Power Noise Rejection Techniques 316 Figure 84 Input voltage rise and transient decay 318 Figure 85 Settling Time for Pressure Transducer 321 Figure 86 Panel Temperature Error Summary 329 Figure 87 Panel Temperature Gradients low temperature to high 329 Figure 88 Panel Temperature Gradients high temperature to low 330 Figure 89 Input Error Calculation 332...

Page 25: ...r 501 Figure 132 DevConfig Terminal Tab 503 Figure 133 Relationships of Accuracy Precision and Resolution 534 List of Tables Table 1 PC200W EZSetup Wizard Example Selections 49 Table 2 Differential and Single Ended Input Terminals 65 Table 3 Pulse Input Terminals and Measurements 69 Table 4 CR1000 Wiring Panel Terminal Definitions 77 Table 5 Current Source and Sink Limits 103 Table 6 Status Settin...

Page 26: ...SDI 12 Probes 282 Table 46 String Operators 283 Table 47 String Concatenation Examples 284 Table 48 String NULL Character Examples 285 Table 49 Extracting String Characters 286 Table 50 Use of ASCII ANSII Codes Examples 287 Table 51 Formatting Strings Examples 287 Table 52 Formatting Hexadecimal Variables Examples 288 Table 53 WindVector OutputOpt Options 296 Table 54 CRBasic Parameters Varying Me...

Page 27: ...mple Format the USR Drive 389 Table 96 Powerup ini Example Send OS on Power up 389 Table 97 Powerup ini Example Run Program from USB Drive 389 Table 98 Powerup ini Example Run Program Always Erase Data 389 Table 99 Powerup ini Example Run Program Now Erase Data 389 Table 100 File System Error Codes 390 Table 101 PakBus Leaf Node and Router Device Configuration 395 Table 102 PakBus Link Performance...

Page 28: ...5 Table 145 Status Settings DTI Status Table Entries on CR1000KD Keyboard Display 606 Table 146 Status Settings DTI Settings General on CR1000KD Keyboard Display 606 Table 147 Status Settings DTI Settings comport on CR1000KD Keyboard Display 607 Table 148 Status Settings DTI Settings TCP IP on CR1000KD Keyboard Display 607 Table 149 Status Settings DTI Settings Only in Settings Editor 607 Table 15...

Page 29: ...s 637 Table 191 FP2 Data Format Bit Descriptions 641 Table 192 FP2 Decimal Locater Bits 641 Table 193 Endianness in Campbell Scientific Instruments 643 Table 194 Dataloggers 645 Table 195 Analog Input Modules 646 Table 196 Pulse Input Modules 646 Table 197 Serial I O Modules List 646 Table 198 Vibrating Wire Input Modules 647 Table 199 Resistive Bridge TIM1 Modules 647 Table 200 Voltage Divider Mo...

Page 30: ...e 139 CRBasic Example 10 Definition and Use of a Data Table 142 CRBasic Example 11 Use of the Disable Variable 146 CRBasic Example 12 Using an Include File 149 CRBasic Example 13 Include File to Control SW12 Terminal 150 CRBasic Example 14 BeginProg Scan NextScan EndProg Syntax 155 CRBasic Example 15 Measurement Instruction Syntax 159 CRBasic Example 16 Use of Move to Conserve Code Space 162 CRBas...

Page 31: ... in Four Wire Half Bridge 240 CRBasic Example 51 PT100 in Three wire Half bridge 242 CRBasic Example 52 PT100 in Four Wire Full Bridge 244 CRBasic Example 53 Receiving an RS 232 String 255 CRBasic Example 54 Measure Sensors Send RS 232 Data 260 CRBasic Example 55 Using SDI12Sensor to Test Cv Command 276 CRBasic Example 56 Using Alternate Concurrent Command aC 277 CRBasic Example 57 Using an SDI 12...

Page 32: ......

Page 33: ...ata acquisition and walks you through a first attempt at data acquisition System Overview p 61 reviews salient topics that are covered in depth in subsequent sections and appendices Review the exhaustive table of contents to learn how the manual is organized and when looking for a topic use the index and PDF reader search More in depth study requires other Campbell Scientific publications most of ...

Page 34: ...select and copy only the contents of one page at a time Doing so will help avoid unwanted characters that may originate from page headings page numbers and hidden characters 1 4 Release Notes Preliminary Version 3 26 15 for OS v 28 Reviewers If feasible please wait until a future preliminary version is available perhaps in June of 2015 for a comprehensive review Readers If any information in this ...

Page 35: ...ion Operating system management Period averaging Precision of variables Programming Route instruction Security Skipped records Subroutines SW12 and 12V terminals Task sequencer Terminal mode Time and clock Troubleshooting Watchdog resets 35 ...

Page 36: ......

Page 37: ...tage o Protect from water o Protect from ESD p 105 CAUTION Disuse accelerates depletion of the internal battery which backs up several functions The internal battery will be depleted in three years or less if a CR1000 is left on the shelf When the CR1000 is continuously used the internal battery may last up to 10 or more years See section Internal Battery Details p 94 for more information IMPORTAN...

Page 38: ......

Page 39: ...ct the packaging and contents for damage File damage claims with the shipping company Immediately check package contents Thoroughly check all packaging material for product that may be concealed Check model numbers part numbers and product descriptions against the shipping documents Model or part numbers are found on each product On cabled items the number is often found at the end of the cable th...

Page 40: ......

Page 41: ...ers It converts the measurement or reading to engineering units performs calculations and reduces data to statistical values Data are stored in memory to await transfer to a PC by way of an external storage device or a telecommunication link Data Retrieval and Telecommunications p 45 Data are copied not moved from the CR1000 usually to a PC by one or more methods using datalogger support software ...

Page 42: ...table sensors do this accurately and precisely p 533 Smart sensors have internal measurement and processing components and simply output a digital value in binary hexadecimal or ASCII character form The CR1000 sometimes with the assistance of various peripheral devices can measure or read nearly all electronic sensor output types Sensor types supported include Analog o Voltage o Current o Thermoco...

Page 43: ...l signals and converts the measurement to engineering units performs calculations and reduces data to statistical values Most applications do not require that every measurement be stored but rather combined with other measurements in statistical or computational summaries The CR1000 will store data in memory to await transfer to the PC with an external storage devices or telecommunications CR1000 ...

Page 44: ... power supply Be sure that any power supply components match the specifications of the device to which they are connected When connecting power first switch off the power supply then make the connection before switching the supply on The CR1000 is operable with power from 9 6 to 16 Vdc applied at the POWER IN terminals of the green connector on the face of the wiring panel External power connects ...

Page 45: ...t Related Topics Data Retrieval and Telecommunications Quickstart p 45 Data Retrieval and Telecommunications Overview p 88 Data Retrieval and Telecommunications Details p 391 Data Retrieval and Telecommunication Peripherals Lists p 651 If the CR1000 datalogger sits near a PC direct connect serial communication is usually the best solution In the field direct serial a data storage device can be use...

Page 46: ...000 Then after sufficient time has elapsed for measurements to be made and data to be stored data are retrieved to a computer These functions are supported by PC200W and LoggerLink Mobile Short Cut and PC200W are available at no charge at www campbellsci com downloads http www campbellsci com downloads Note More information about software available from Campbell Scientific can be found at www camp...

Page 47: ...o protects low level analog measurements from grounding disturbances 4 7 2 Hardware Setup Note The thermocouple is attached to the CR1000 later in this exercise 4 7 2 1 External Power Supply With reference to the figure Power and Serial Communication Connections p 48 proceed as follows 1 Remove the green power connector from the CR1000 wiring panel 2 Switch off the power supply 3 Connect the posit...

Page 48: ...er The table PC200W EZSetup Wizard Example Selections p 49 indicates what information to enter on each screen of the wizard Click Next at the lower portion of the window to advance See More A video tutorial is available at www youtube com playlist list PL9E364A63D4A3520A feature plcp Other video tutorials are available at www campbellsci com videos After exiting the wizard the main PC200W window b...

Page 49: ...ds Note When using USB serial cables the COM number may change if the cable is moved to a different USB port This will prevent data transfer between the software and CR1000 Should this occur simply move the cable back to the original port If this is not possible close then reopen the PC200W software to refresh the available COM ports Click on Edit Datalogger Setup and change the COM port to the ne...

Page 50: ...ight corner of the PC200W window The icon resembles a clock face 2 The Short Cut window is shown Click New Program 3 In the Datalogger Model drop down list select CR1000 4 In the Scan Interval box enter 1 and select Seconds in the drop down list box Click Next Note The first time Short Cut is run a prompt will appear asking for a choice of ac noise rejection Select 60 Hz for the United States and ...

Page 51: ...election of 1 sensor and PTemp_C as the reference temperature measurement Note BattV battery voltage and PTempC wiring panel temperature are default measurements During operation battery and temperature should be recorded at least daily to assist in monitoring system status 7 At the left portion of the main Short Cut window click Wiring Diagram Attach the physical type T thermocouple to the CR1000...

Page 52: ...k to determine the equivalent temperature Then along came Eric and Evan Campbell Campbell Scientific designed the first CR7 datalogger to make thermocouple measurements without the need for vacuum flasks reference books or three junctions Now there s an idea Nowadays a thermocouple need only consist of two wires of dissimilar metals such as copper and constantan joined at one end The joined end is...

Page 53: ... Store Every field and a drop down list from which to select the time units These are used to set the time intervals when data are stored 10 Only one table is needed for this tutorial so Table 2 can be removed Click 2 Table2 then click Delete Table 11 Change the name of the remaining table from Table1 to OneMin and then change the Store Every interval to 1 Minutes 12 Add measurements to the table ...

Page 54: ...4 5 Procedure Short Cut Steps 13 to 14 13 Click Finish to compile the program Give the program the name MyTemperature A summary screen will appear showing the compiler results Any errors during compiling will be displayed Figure 9 Short Cut Compile Confirmation 54 ...

Page 55: ...connect Figure 10 PC200W Main Window 4 7 5 2 Procedure PC200W Steps 2 to 4 2 Click Set Clock to synchronize the CR1000 clock with the computer clock 3 Click Send Program A warning will appear that data on the datalogger will be erased Click Yes A dialog box will open Browse to the C CampbellSci SCWin folder Select the MyTemperature cr1 file Click Open A status bar will appear while the program is ...

Page 56: ...nitor Data Tab Public Table 4 7 5 3 Procedure PC200W Step 5 5 To view the OneMin table select an empty cell in the display area Click Add In the Add Selection window Tables field click on OneMin then click Paste The OneMin table is now displayed 56 ...

Page 57: ...t Figure 12 PC200W Monitor Data Tab Public and OneMin Tables 4 7 5 4 Procedure PC200W Step 6 6 Click on the Collect Data tab and select data to be collected and the storage location on the PC Figure 13 PC200W Collect Data Tab 57 ...

Page 58: ... to be collected 8 Click on a table in the list to highlight it then click Change Table s Output File to change the name of the destination file 9 Click on Collect A progress bar will appear as data are collected followed by a Collection Complete message Click OK to continue 10 To view data click the icon at the top of the PC200W window to open the View utility Figure 14 PC200W View Data Utility 5...

Page 59: ...t the CR1000_OneMin dat file and click Open 12 The collected data are now shown Figure 15 PC200W View Data Table 4 7 5 7 Procedure PC200W Steps 13 to 14 13 Click the heading of any data column To display the data in that column in a line graph click the icon 14 Close the Graph and View windows and then close the PC200W program 59 ...

Page 60: ...Section 4 System Quickstart Figure 16 PC200W View Line Graph 60 ...

Page 61: ...omponents Sensors Datalogger which includes o Clock o Measurement and control circuitry o Hardware and firmware to communicate with telecommunication devices o User entered CRBasic program Telecommunication link or external storage device Datalogger support software p 512 The figure Data Acquisition Systems Overview p 62 illustrates a common CR1000 based data acquisition system 61 ...

Page 62: ...ion 5 System Overview Figure 17 Data Acquisition System Overview 5 1 Measurements Overview Related Topics Sensors Quickstart p 42 Measurements Overview p 62 Measurements Details p 303 Sensors Lists p 649 62 ...

Page 63: ...pics Analog Measurements Overview p 63 Analog Measurements Details p 305 Analog sensors output a continuous voltage or current signal that varies with the phenomena measured Sensors compatible with the CR1000 output a voltage Current output can be made compatible with a resistive shunt Sensor connection is to H L terminals configurable for differential DIFF or single ended SE inputs For example di...

Page 64: ...rop between the sensor and the signal ground terminal Currents 5 mA are usually considered undesirable These currents may result from resistive bridge sensors using voltage excitation but these currents only flow when the voltage excitation is applied Return currents associated with voltage excitation cannot influence other single ended measurements of small voltage unless the same voltage excitat...

Page 65: ...asurements are usually preferred a single ended measurement is often adequate in applications wherein some types of noise are not a problem and care is taken to avoid problems caused by ground currents Examples of applications wherein a single ended measurement may be preferred include Not enough differential terminals available Differential measurements use twice as many H L terminals as do singl...

Page 66: ...o avoid error 5 1 2 1 2 Differential Measurements Overview Related Topics Differential Measurements Overview p 66 Differential Measurements Details p 308 Summary Use a differential configuration when making voltage measurements unless constrained to do otherwise A differential measurement measures the difference in voltage between two input terminals Its sequence is illustrated in the figure Simpl...

Page 67: ...nfigurations A bridge measurement is a special case voltage measurement Examples include Strain gage resistance in a pressure transducer strain gage correlates to a water pressure Position potentiometer a change in resistance in a wind vane potentiometer correlates to a change in wind direction 5 1 2 3 1 Voltage Excitation Bridge resistance is determined by measuring the difference between a known...

Page 68: ...se Measurements Overview p 68 Pulse Measurements Details p 349 Pulse Measurements Instructions p 553 The output signal generated by a pulse sensor is a series of voltage waves The sensor couples its output signal to the measured phenomenon by modulating wave frequency The CR1000 detects the state transition as each wave varies between voltage extremes high to low or low to high Measurements are pr...

Page 69: ...Signal Types p 69 Figure 23 Pulse Sensor Output Signal Types 5 1 3 2 Pulse Input Channels Table Pulse Input Channels and Measurements p 69 lists devices channels and options for measuring pulse signals Table 3 Pulse Input Terminals and Measurements Pulse Input Terminal Input Type Data Option CRBasic Instruction P Terminal Low level ac High frequency Switch closure Counts Frequency Run average of f...

Page 70: ...mometer 5 1 4 Period Averaging Overview Related Topics Period Averaging Specifications Period Averaging Overview p 70 Period Averaging Details p 360 The CR1000 can measure the period of an analog signal Numbered SE terminals are configurable for period average Voltage gain 1 10 33 100 Maximum frequency 200 kHz Resolution 136 ns Note Both pulse count and period average measurements are used to meas...

Page 71: ...l and industrial measurement applications The CR1000 is equipped to measure these sensors either directly or through interface modules A thermistor included in most sensors can be measured to compensate for temperature errors Measuring the resonant frequency by means of period averaging is the classic technique but Campbell Scientific has developed static and dynamic spectral analysis techniques V...

Page 72: ...owered by 12 Vdc It is fully supported by the CR1000 datalogger Refer to the chart CR1000 Terminal Definitions p 76 which indicates C terminals that can be configured for SDI 12 input For more information about SDI 12 support see section Serial I O SDI 12 Sensor Support Details p 267 5 1 6 2 RS 232 Overview The CR1000 has 6 ports available for RS 232 input as shown in figure Terminals Configurable...

Page 73: ...p 210 Calibration increases accuracy of a measurement device by adjusting its output or the measurement of its output to match independently verified quantities Adjusting sensor output directly is preferred but not always possible or practical By adding FieldCal or FieldCalStrain instructions to the CR1000 CRBasic program measurements of a linear sensor can be adjusted by modifying the programmed ...

Page 74: ...44 PLC Control Modules Overview p 368 PLC Control Modules Lists p 648 PLC Control Instructions p 562 Switched Voltage Output Specifications Switched Voltage Output Overview p 78 Switched Voltage Output Details p 103 This section is slated for expansion Below are a few tips Short Cut programming wizard has provisions for simple on off control PID control can be done with the CR1000 Ask a Campbell S...

Page 75: ...lable in some datalogger support software p 512 packages is used to write more complex programs Measurement data are stored in non volatile memory Most applications do not require that every measurement be recorded Rather measurements are usually combined in statistical or computational summaries The CR1000 has the option of evaluating programmed instructions sequentially sequential mode or in the...

Page 76: ...the interface to most functions These functions are introduced in the following sections while reviewing wiring panel features illustrated in the figure Wiring Panel p 44 The table CR1000 Terminal Definitions p 76 details the functions of the various terminals on the wiring panel Measurement and control peripherals expand the input and output capabilities of the wiring panel Figure 27 Wiring Panel...

Page 77: ...og Input Single ended 1 6 Differential high low 8 Analog period average 1 6 Vibrating wire 2 1 6 Analog Output Switched Precision Voltage 3 Pulse Counting Switch closure 1 0 High frequency 1 0 Low level Vac 2 Digital I O Control 8 Status 8 General I O TX RX 4 Pulse width modulation 8 Timer I O 8 Interrupt 8 Continuous Regulated 3 5 Vdc 1 Continuous Unregulated 3 12 Vdc 2 Switched Regulated 3 5 Vdc...

Page 78: ...verview p 368 PLC Control Modules Lists p 648 PLC Control Instructions p 562 C terminals are selectable as binary inputs control outputs or communication ports See the section Measurement Overview p 62 for a summary of measurement functions Other functions include device driven interrupts asynchronous communications and SDI 12 communications Table CR1000 Terminal Definitions p 76 summarizes availa...

Page 79: ...d with resistive bridge measurements Each terminal will source up to 25 mA Digital I O C terminals configured for on off and PWM pulse width modulation or PDM pulse duration modulation on C4 C5 and C7 Switched 12 Vdc SW12 terminals Primary battery voltage under program control to switch external devices such as humidity sensors requiring nominal 12 Vdc SW12 terminals can source up to 900 mA See th...

Page 80: ...nnection point for a heavy gage earth ground wire A good earth connection is necessary to secure the ground potential of the CR1000 and shunt transients away from electronics Minimum 14 AWG wire is recommended 5 3 2 4 Power Terminals Related Topics Power Supplies Specifications Power Supplies Quickstart p 44 Power Supplies Overview p 85 Power Supplies Details p 100 Power Supplies Products p 657 Po...

Page 81: ...d networks such as PC Smart sensors Modbus and DNP3 networks Ethernet Modems Campbell Scientific PakBus networks Other Campbell Scientific dataloggers Campbell Scientific datalogger peripherals Communication ports include CS I O RS 232 SDI 12 SDM CPI requires a peripheral device Ethernet requires a peripheral device Peripheral Port supports Ethernet and CompactFlash memory card modules 5 3 2 5 1 C...

Page 82: ...verview p 89 for precautions when using memory cards Read More See the section TCP IP p 289 One multi pin port labeled Peripheral Port 5 3 2 5 4 SDI 12 Ports Read More See the section Serial I O SDI 12 Sensor Support Details p 267 SDI 12 is a 1200 baud protocol that supports many smart sensors Each port requires one terminal and supports up to 16 individually addressed sensors Up to four ports con...

Page 83: ...lation maintenance and troubleshooting tool for many applications It allows interrogation and programming of the CR1000 datalogger independent of other telecommunication links More information on the use of the keyboard display is available in the section Custom Menus Overview p 84 p 581 See the appendix Keyboard Displays List p 651 for more information on available products Figure 29 CR1000KD Key...

Page 84: ...playMenu CRBasic programming in the CR1000 facilitates creation of custom menus for the CR1000KD Keyboard Display Figure Custom Menu Example p 84 shows windows from a simple custom menu named DataView DataView appears as the main menu on the keyboard display DataView has menu item Counter and submenus PanelTemps TCTemps and System Menu Counter allows selection of one of four values Each submenu di...

Page 85: ... SC CPI interface 5 3 5 Power Supplies Overview Related Topics Power Supplies Specifications Power Supplies Quickstart p 44 Power Supplies Overview p 85 Power Supplies Details p 100 Power Supplies Products p 657 Power Sources p 101 Troubleshooting Power Supplies p 494 The CR1000 is powered by a nominal 12 Vdc source Acceptable power range is 9 6 to 16 Vdc External power connects through the green ...

Page 86: ...e most settings are retained Operating systems can also be transferred to the CR1000 with a Campbell Scientific mass storage device or memory card OS updates are occasionally made available at www campbellsci com OS and settings remain intact when power is cycled 5 3 7 CRBasic Programming Overview Related Topics CRBasic Programming Overview p 86 CRBasic Programming Details p 122 CRBasic Programmin...

Page 87: ...ged Serial Flash o 512 KB o Device settings o Write protected o Non volatile o CPU drive residence Automatically allocated FAT file system Limited write cycles 100 000 Slow serial accesses Main Memory o 4 MB SRAM o Battery backed o OS variables o CRBasic compiled program binary structure 490 KB maximum o CRBasic variables o Data memory o Communication memory o USR drive User allocated FAT32 RAM dr...

Page 88: ...mass storage media USB drive to the PC 5 3 9 1 PakBus Communications Overview Related Topics PakBus Communications Overview p 88 PakBus Communications Details p 393 PakBus Communications Instructions p 584 PakBus Networking Guide available at www campbellsci com manuals http www campbellsci com manuals The CR1000 communicates with datalogger support software p 654 telecommunication peripherals p 6...

Page 89: ...s storage device are retrieved via a telecommunication link to the CR1000 if the device remains on the CS I O port or by removing the device connecting it to a PC and copying files using Windows File Explorer 5 3 9 4 Memory Card CRD Drive Overview Related Topics Memory Card CRD Drive Overview p 89 Memory Card CRD Drive Details p 376 Memory Cards and Record Numbers p 466 Data Output Writing High Fr...

Page 90: ...ta tables However when the TableFile instruction is used data are also stored in one of several formats in discrete text files in internal or external memory See Data Storage On board p 374 for more information on the use of the TableFile instruction 5 3 9 6 Data Format on Computer CR1000 data stored on a PC with datalogger support software p 654 are formatted as either ASCII or binary depending o...

Page 91: ...s driver of the master and or the slaves The Modbus standard has two communication modes RTU and ASCII However CR1000s communicate in RTU mode exclusively Field instruments can be queried by the CR1000 Because Modbus has a set command structure programming the CR1000 to get data from field instruments is much simpler than from serial sensors Because Modbus uses a common bus and addresses each node...

Page 92: ... p 86 to the CR1000 disable un used services and secure those that are used Security actions to take may include the following Set passcode lockouts Set PakBus TCP password Set FTP username and password Set AES 128 PakBus encryption key Set csipasswd file for securing HTTP and web API Track signatures Encrypt program files if they contain sensitive information Hide program files for extra protecti...

Page 93: ...conds If there is insufficient time to do the background calibration because of a scan consuming user program the CR1000 will display the following warning at compile time Warning Background calibration is disabled 5 3 12 Maintenance Overview Related Topics Maintenance Overview p 93 Maintenance Details p 473 With reasonable care the CR1000 should give many years of reliable service 5 3 12 1 Protec...

Page 94: ...ls p 94 Warning Misuse or improper installation of the internal lithium battery can cause severe injury Fire explosion and severe burns can result Do not recharge disassemble heat above 100 C 212 F solder directly to the cell incinerate or expose contents to water Dispose of spent lithium batteries properly The CR1000 contains a lithium battery that operates the clock and SRAM when the CR1000 is n...

Page 95: ...s only direct serial connection to the CR1000 with hardwire or spread spectrum radio It supports sending a CRBasic program data collection and setting the CR1000 clock PC200W is available at no charge at www campbellsci com downloads http www campbellsci com downloads LoggerLink Mobile Apps Simple tool that allows an iOS or Android device to communicate with IP enabled CR1000s It includes most PC2...

Page 96: ......

Page 97: ...n Resistance Measurements p 337 for more information 12Offset definitions Offset 1 5 x Basic Res 1 0 µV for DIFF measurement w input reversal Offset 3 x Basic Res 2 0 µV for DIFF measurement w o input reversal Offset 3 x Basic Res 3 0 µV for SE measurement Note Excitation reversal reduces offsets by a factor of two 6 0 8 10 30 PULSE COUNTERS P 1 2 6 0 1 8 10 30 Two inputs individually selectable f...

Page 98: ...98 ...

Page 99: ...tion 7 2 Temperature Range The CR1000 is designed to operate reliably from 40 to 75 C 55 C to 85 C optional in non condensing environments 7 3 Enclosures Enclosures Details p 99 Enclosures Products p 659 Illustrated in figure Enclosure p 100 is the typical use of enclosures available from Campbell Scientific designed for housing the CR1000 This style of enclosure is classified as NEMA 4X watertigh...

Page 100: ...irement of a weather station may be substantially higher during extreme cold while at the same time the extreme cold constricts the power available from the power supply The CR1000 is internally protected against accidental polarity reversal on the power inputs The CR1000 has a modest input power requirement For example in low power applications it can operate for several months on non rechargeabl...

Page 101: ...d SW12 terminals and pin 8 on the CS I O port will supply 16 Vdc to a connected peripheral If the connected peripheral or sensor is not designed for that voltage level it may be damaged 7 4 2 Calculating Power Consumption Read More Power Supplies Overview p 85 System operating time for batteries can be determined by dividing the battery capacity ampere hours by the average system current drain amp...

Page 102: ...l the voltage again equals or exceeds the lower limit A second supply can be provided to prevent measurement lapses during vehicle starting The figure Connecting CR1000 to Vehicle Power Supply p 102 illustrates how a second power supply is connected to the CR1000 The diode OR connection causes the supply with the largest voltage to power the CR1000 and prevents the second backup supply from attemp...

Page 103: ...wo continuous 12 Vdc terminals 12V one program controlled switched 12 Vdc terminal SW12 and one continuous 5 Vdc terminal 5V SW12 12V and 5V terminals limit current internally for protection against accidental short circuits Voltage on the 12V and SW12 terminals can vary widely and will fluctuate with the dc supply used to power the CR1000 so be careful to match the datalogger power supply to the ...

Page 104: ...nd their limitations Specifications are applicable only for loads not exceeding 25 mA Read More Table Current Source and Sink Limits p 103 has more information on excitation load capacity CRBasic instructions that control voltage excitation include the following BrFull BrFull6W BrHalf BrHalf3W BrHalf4W ExciteV Note Square wave ac excitation for use with polarizing bridge sensors is configured with...

Page 105: ...cts to control SW12 such as when used for cell phone control should also use the SW12 instruction PortSet is a measurement task instruction Use it when powering analog input sensors that need to be powered just prior to measurement A 12 Vdc switching circuit designed to be driven by a C terminal is available from Campbell Scientific It is listed in the appendix Relay Drivers Products p 649 Note SW...

Page 106: ...s be earth chassis grounded All components of the system dataloggers sensors external power supplies mounts housings etc should be referenced to one common earth chassis ground In the field at a minimum a proper earth ground will consist of a 6 to 8 foot copper sheathed grounding rod driven into the earth and connected to the large brass ground lug on the wiring panel with a 12 AWG wire In low con...

Page 107: ...s or wires connected to instrumentation While elaborate expensive and nearly infallible lightning protection systems are on the market Campbell Scientific for many years has employed a simple and inexpensive design that protects most systems in most circumstances The system employs a lightening rod metal mast heavy gage ground wire and ground rod to direct damaging current away from the CR1000 Thi...

Page 108: ... and low resistance path to earth ground is adequate protection in many installations Figure 34 Lightning Protection Scheme 7 6 2 Single Ended Measurement Reference Low level single ended voltage measurements 200 mV are sensitive to ground potential fluctuation due to changing return currents from 12V SW12 5V and C1 C8 terminals The CR1000 grounding scheme is designed to minimize these 108 ...

Page 109: ...nts Details p 307 for more information Ground potential differences are a common problem when measuring full bridge sensors strain gages pressure transducers etc and when measuring thermocouples in soil 7 6 3 1 Soil Temperature Thermocouple If the measuring junction of a thermocouple is not insulated when in soil or water and the potential of earth ground is for example 1 mV greater at the sensor ...

Page 110: ...lectrode is used for excitation because it is encircled by the ground electrode the path for a ground loop through the soil is greatly reduced Moisture blocks which consist of two parallel plate electrodes are particularly susceptible to ground loop problems Similar considerations apply to the geometry of the electrodes in water conductivity sensors The ground electrode of the conductivity or soil...

Page 111: ...2 7 7 1 Configuration Tools Configuration tools include the following Device Configuration Utility p 111 Network Planner p 112 Status Settings DTI p 114 CRBasic program p 115 Executable CPU files p 115 Keyboard display p 462 Terminal emulator 7 7 1 1 Configuration with DevConfig The most versatile configuration tool is Device Configuration Utility or DevConfig It is bundled with LoggerNet PC400 RT...

Page 112: ...nteract with Network Planner through a drawing canvas upon which are placed PC and datalogger nodes Links representing various telecommunication options are drawn between nodes Activities to take place between the nodes are specified Network Planner automatically specifies settings for individual devices and creates configuring XML files to download to each device through DevConfig p 111 112 ...

Page 113: ...evices is difficult Settings are distributed across a network Different device types need settings coordinated Caveats Network Planner aids in but does not replace the design process It aids development of PakBus networks only It does not make hardware recommendations It does not generate datalogger programs It does not understand distances or topography that is it does not warn when broadcast dis...

Page 114: ...to the LoggerNet Network Map 7 7 1 3 Configuration with Status Settings DTI Related Topics Status Settings and Data Table Information Status Settings DTI p 603 Common Uses of the Status Table p 604 Status Table as Debug Resource p 485 The Status table CR1000 settings and the DataTableInfo table collectively Status Settings DTI contain registers settings and information essential to setup programmi...

Page 115: ...long or complex operations retrieving the Status table repeatedly may cause skipped scans p 487 Status603 Settings DTI p 603 can be set or accessed using CRBasic instructions SetStatus or SetSetting For example to set the setting StationName to BlackIceCouloir the following syntax is used SetSetting StationName BlackIceCouloir where StationName is the keyword for the setting and BlackIceCouloir is...

Page 116: ...s over telecommunications requires much of the available CR1000 memory If the intent is to load operating systems via a telecommunication link and have a default cr1 file in the CR1000 the default cr1 program should not allocate significant memory as might happen by allocating a large USR drive Do not use a DataTable instruction set for auto allocation of memory either Refer to the section Updatin...

Page 117: ...00 Configuration Details Following are a few common configuration actions Updating the operating system p 117 Access a CR1000 register p 114 to help troubleshoot Set the CR1000 clock Save current configuration Restore a configuration Tools available to perform these actions are listed in the following table Table 7 Common Configuration Actions and Tools Action Tools to Use 1 Updating the operating...

Page 118: ... Program p 524 button in the datalogger support software p 654 allows the OS to be sent over all software supported telecommunication systems o Operating systems are very large files be cautious of line charges o Updating the OS may reset CR1000 settings even settings critical to supporting the telecommunication link Newer operating systems minimize this risk Note Beginning with OS 25 the OS has b...

Page 119: ...4 Stop the current program and select the option to delete associated data this will free up SRAM memory allocated for data storage 5 Collect files from the USR drive if applicable 6 Delete the USR drive if applicable 7 Send the new obj OS file to the CR1000 8 Restart the previous program default CR1 will be running after OS compiles Pros Cons This method is preferred because the user must manuall...

Page 120: ...fter the CR1000 compiles the new OS and clears the current run options How From the LoggerNet Connect window perform the following steps 1 Connect to the station 2 Collect data 3 Click the Send New 4 Select the OS file to send 5 Restart the existing program through File Control or send a new program with CRBasic Editor and specify new run options Pros Cons This is the best way to load a new operat...

Page 121: ...h necessitates that you use separate cards or modify the ini file between the two tasks you wish to perform Loading an operating system through this method will do the following 1 Preserve all datalogger settings 2 Delete all data in final storage 3 Preserve USR drive and data stored there 4 Maintains program run options 5 Deletes data generated using the CardOut or TableFile instructions DevConfi...

Page 122: ...is file can be used to load a saved configuration back into the CR1000 by clicking Read File and Apply Figure 38 Summary of CR1000 Configuration 7 8 CRBasic Programming Details Related Topics CRBasic Programming Overview p 86 CRBasic Programming Details p 122 CRBasic Programming Instructions p 537 Programming Resource Library p 169 CRBasic Editor Help Programs are created with either Short Cut p 5...

Page 123: ...n data should be stored Triggers may be a fixed interval a condition or both Table size Set the size of a data table Other on line storage devices Send data to a Campbell Scientific mass storage device or memory card if available 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 pack...

Page 124: ...ublic variables dimension array and declare units Declarations Define data tables DataTable Temp 1 2000 DataInterval 0 10 min 10 Average 1 RefTemp FP2 0 Average 6 TC FP2 0 EndTable Define data table Begin Program BeginProg Set scan interval Scan 1 Sec 3 0 Measurements PanelTemp RefTemp 250 TCDiff TC Offset Measure Processing None in this example Scan loop Call data table CallTable Temp Call data t...

Page 125: ... p 95 Fundamental elements of CRBasic include the following Variables named packets of CR1000 memory into which are stored values that normally vary during program execution Values are typically the result of measurements and processing Variables are given an alphanumeric name and can be dimensioned into arrays of related data Constants discrete packets of CR1000 memory into which are stored speci...

Page 126: ...um size needed Arrays save memory over the use of scalars as there is less meta data required per value However as a rough approximation 192000 4 kB memory or 87000 2 kB memory variables will fill available memory Use variable arrays with aliases instead of individual variables with unique names Aliases consume less memory than unique variable names Confine string concatenation to DIM variables Di...

Page 127: ...re CRBasic Editor Program Send File Control Window p 127 is displayed before the program is sent Select Run Now Run On Power up and Preserve data if no table changed before pressing Send Program Note To retain data Preserve data if no table changed must be selected whether or not a Campbell Scientific mass storage device or memory card is connected Regardless of the program upload tool used if any...

Page 128: ...ated in the Help files of CRBasic Editor p 125 7 8 4 1 1 Multiple Statements on One Line Multiple short statements can be placed on a single text line if they are separated by a colon This is a convenient feature in some programs However in general programs that confine text lines to single statements are easier for humans to read In most cases regarding statements separated by as being separate l...

Page 129: ...declared as Public or Dim Public variables are viewable through numeric monitors p 521 Dim variables cannot be viewed A public variables can be set as read only using the ReadOnly instruction so that it cannot be changed from a numeric monitor The program however continues to have read write access to the variable Declared variables are initialized once when the program starts Additionally variabl...

Page 130: ...he declarations and output sections of a program CRBasic allows mixing data types within a single array of variables however this practice can result in at least one problem The datalogger support software is incapable of efficiently handling different data types for the same field name Consequently the software mangles the field names in data file headers Table 11 Data Types in Variable Memory Na...

Page 131: ...length is limited only by available CR1000 memory 1 CAUTION When using a very long string in a variable declared Public the operations of datalogger support software p 654 will frequently transmit the entire string over the communication link If communication bandwidth is limited or if communications are paid for by they byte declaring the variable Dim may be preferred Table 12 Data Types in Final...

Page 132: ...rmation Uses less space than 32 bit BOOLEAN Holding the same information in BOOLEAN will require 256 bits See Bool8 Data Type p 198 True 1 False 0 NSEC NSEC Time stamp 8 Divided up as four bytes of seconds since 1990 and four bytes of nanoseconds into the second Used to record and process time data See NSEC Data Type p 202 1 nanosecond String String ASCII string Minimum 3 4 with null terminator De...

Page 133: ...PosCounter As Long Public PosNegCounter As Long Boolean Variable Examples Public Switches 8 As Boolean Public FLAGS 16 As Boolean String Variable Example Public FirstName As String 16 allows a string up to 16 characters long DataTable TableName True 1 FP2 Data Storage Example Sample 1 Z FP2 IEEE4 Float Data Storage Example Sample 1 X IEEE4 UINT2 Data Storage Example Sample 1 PosCounter UINT2 LONG ...

Page 134: ...ong variables is recommended Doing so allows for more efficient use of CR1000 resources CRBasic Example 4 Using Variable Array Dimension Indices This program example demonstrates the use of dimension indices in arrays The variable VariableName is declared with three dimensions with 4 in each index This indicates the array has means it has 64 elements Element 24 is loaded with the value 2 718 Dim a...

Page 135: ...flags as Boolean variables and the use of strings to report flag status To run the demonstration send this program to the CR1000 then toggle variables Flag 1 and Flag 2 to true or false to see how the program logic sets the words High or Low in variables FlagReport 1 and FlagReport 2 To set a flag to true when using LoggerNet Connect Numeric Monitor simply click on the forest green dot adjacent to...

Page 136: ...and ignore the rest If an array element is not specifically referenced as is the case in the declaration Dim TempC CRBasic references only the first element of the array TempC 1 See CRBasic example Concatenation of Numbers and Strings p 284 for an example of using the assignment operator p 565 when working with arrays CRBasic Example 6 Using a Variable Array in Calculations This program example de...

Page 137: ...ypes Variables not declared as a specific data type default to data type Float Also demonstrated is the loading of values into variables that are being declared Public aaa As Long 1 Declaring a single variable As Long and loading the value of 1 Public bbb 2 As String 20 String_1 String_2 Declaring an array As String and loading strings in each element Public ccc As Boolean True Declaring a variabl...

Page 138: ...These may be useful in programming 7 8 4 8 Declaring Aliases and Units A variable can be assigned a second name or alias in the CRBasic program Aliasing is particularly useful when using arrays Arrays are powerful tools for complex programming but they place near identical names on multiple variables Aliasing allows the power of the array to be used with the clarity of unique names The declared va...

Page 139: ... of flags 8 through 1 flags 1 to 5 are low 6 to 8 are high CRBasic example Load binary information into a variable p 139 shows an algorithm that loads binary status of flags into a LONG integer variable CRBasic Example 9 Load binary information into a variable This program example demonstrates how binary data are loaded into a variable The binary format 1 high 0 low is useful when loading the stat...

Page 140: ...g instruction These instructions include DataTable Output Trigger Condition s Output Processing Instructions EndTable A data table is essentially a file that resides in CR1000 memory The file is written to each time data are directed to that file The trigger that initiates data storage is tripped either by the CR1000 clock or by an event such as a high temperature The number of data tables declare...

Page 141: ...can also be written to a CR1000 memory drive using the TableFile instruction The first header line is the environment line It consists of eight fields listed in table TOA5 Environment Line p 141 Table 15 TOA5 Environment Line Field Description Changed By 1 TOA5 2 Station name DevConfig or CRBasic program acting on the setting 3 Datalogger model 4 Datalogger serial number 5 Datalogger OS version Ne...

Page 142: ...ing the record data line number As shown in CRBasic example Definition and Use of a Data Table p 142 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...

Page 143: ...et Default setting is 1 True TrigVar may be a variable expression or constant TrigVar does not control intermediate processing Intermediate processing is controlled by the disable variable DisableVar which is a parameter in all output processing instructions see section Output Processing Instructions p 145 Read More Section TrigVar and DisableVar Controlling Data Output and Output Processing p 195...

Page 144: ...tions p 145 for more information Note Program logic that results in lapses includes scan intervals inadequate to the length of the program skipped scans the use of DataInterval in event driven data tables and logic that directs program execution around the CallTable instruction A data table consists of successive 1 KB data frames Each data frame contains a time stamp frame number and one or more r...

Page 145: ... to a data table based on an interval only include measurements from the current interval After each data output interval the memory that contains the measurements for the time series data are cleared If a data output interval is missed because all criteria are not met for output to occur the memory is cleared the next time the data table is called If the OpenInterval instruction is contained in t...

Page 146: ...False DisableVar is False When False is entered as the argument for DisableVar all readings are included in the average The average of variable Oscillator does not include samples occurring when Flag1 is high True which results in an average of 2 when Flag1 is low or False all samples used the average is 1 5 Read More TrigVar and DisableVar p 195 Controlling Data Output and Output Processing p 195...

Page 147: ...fined before the main program body of a program Note A particular subroutine can be called by multiple program sequences simultaneously To preserve measurement and processing integrity the CR1000 queues calls on the subroutine allowing only one call to be processed at a time in the order calls are received This may cause unexpected pauses in the conflicting program sequences 7 8 4 10 3 Include Fil...

Page 148: ...he run on power up program is the current program Otherwise any file that is marked as run now is selected This behavior has always been present and is not affected by this setting 2 If there is a file specified by this setting it is incorporated into the program selected above 3 If there is no current file selected or if the current file cannot be compiled the datalogger will run the program give...

Page 149: ...ally resides on the CPU drive of the CR1000 It is essentially a subroutine that is stored in a file separate from the main program but it compiles as an insert to the main program It can be used once or multiple times and by multiple programs Include files begin with the SlowSequence instruction and can contain any code Procedure to use an include file in this example 1 Copy the code from the CRba...

Page 150: ... SW12 terminal Negative wire to G Public PTemp batt_volt DataTable Test 1 1 DataInterval 0 15 Sec 10 Minimum 1 batt_volt FP2 0 False Sample 1 PTemp FP2 EndTable BeginProg Scan 1 Sec 0 0 PanelTemp PTemp 250 Battery Batt_volt CallTable Test NextScan Include CPU IncludeFile CR1 include file code executed here EndProg CRBasic Example 13 Include File to Control SW12 Terminal This program example demons...

Page 151: ...c Editor Help 7 8 4 11 Execution and Task Priority Execution of program instructions is divided among the following three tasks Measurement task rigidly timed measurement of sensors connected directly to the CR1000 CDM task rigidly timed measurement and control of CDM p 509 peripheral devices SDM task rigidly timed measurement and control of SDM p 527 peripheral devices Processing task converts me...

Page 152: ...to execute at exact times and with the highest priority resulting in more precise timing of measurement and usually more efficient processing and power consumption Pipeline scheduling requires that the program be written such that measurements are executed every scan Because multiple tasks are taking place at the same time the sequence in which the instructions are executed may not be in the order...

Page 153: ... processing tasks similar to the one used in pipeline mode The main difference when running a program in sequential mode is that there is no pre scheduling of measurements instead all instructions are executed in the programmed order A priority scheme is used to avoid conflicting use of measurement hardware The main scan has the highest priority and prevents other sequences from using measurement ...

Page 154: ...uctions Instructions General Guidelines Syntax Form Scan NextScan Use in most programs Begins ends the main scan BeginProg Scan NextScan EndProg SlowSequence EndSequence Use when measurements or processing must run at slower frequencies than that of the main program BeginProg Scan NextScan SlowSequence Scan NextScan EndSequence EndProg SubScan NextSubScan Use when measurements or processing must r...

Page 155: ... mode using a buffer allows the processing in the scan to lag behind measurements at times without affecting measurement timing Use of the CRBasic Editor default size is normal Refer to section SkippedScan p 487 for troubleshooting tips Count number of scans to make before proceeding to the instruction following NextScan A count of 0 means to continue looping forever or until ExitScan In the examp...

Page 156: ...accurate timing needed within most measurement instructions A priority scheme is used in sequential mode to avoid conflicting use of measurement hardware As illustrated in figure Sequential Mode Scan Priority Flow Diagrams p 158 the main scan sequence has the highest priority Other sequences such as slow sequences and calibration scans must wait to access measurement hardware until the main scan i...

Page 157: ...can will not start until it can acquire the semaphore it waits for the slow sequence to release the semaphore A slow sequence scan does not hold the semaphore for the whole of its scan It releases the semaphore after each use of the hardware WaitDigTrig Scans Read More See Synchronizing Measurements p 365 Main scans and slow sequences usually trigger at intervals defined by the Scan instruction So...

Page 158: ... 4 13 1 Measurement and Data Storage Processing CRBasic instructions have been created for making measurements and storing data Measurement instructions set up CR1000 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 pa...

Page 159: ...ameters that allow different types of arguments Common argument types are listed below Allowed argument types are specifically identified in the description of each instruction in CRBasic Editor Help Constant or Expression that evaluates as a constant Variable Variable or Array Constant Variable or Expression Constant Variable Array or Expression Name Name or list of Names Variable or Expression V...

Page 160: ...ction DataTable Name TrigVar Size DataTable Temp TC 100 5000 When the trigger is TC 100 a thermocouple temperature greater than 100 sets the trigger to True and data are stored 7 8 4 15 Programming Expression Types An expression is a series of words operators or numbers that produce a value or result Expressions are evaluated from left to right with deference to precedence rules The result of each...

Page 161: ...roughly One readily available source is the topic Floating Point at www wikipedia org In summary CR1000 programmers should consider at least the following Floating point numbers do not perfectly mimic real numbers Floating point arithmetic does not perfectly mimic true arithmetic Avoid use of equality in conditional statements Use and instead For example use If X Y then do rather than If X Y then ...

Page 162: ...sic example Conversion of FLOAT LONG to Boolean p 162 zero becomes false 0 and non zero becomes true 1 CRBasic Example 18 Conversion of FLOAT LONG to Boolean This program example demonstrates conversion of Float and Long data types to Boolean data type Public Fa As Float Public Fb As Float Public L As Long Public Ba As Boolean Public Bb As Boolean Public Bc As Boolean BeginProg Fa 0 Fb 0 125 L 126...

Page 163: ... Constants Conversion Constants are not declared with a data type so the CR1000 assigns the data type as needed If a constant either entered as a number or declared with CONST can be expressed correctly as an integer the compiler will use the type that is most efficient in each expression The integer version is used if possible for example if the expression has not yet encountered a FLOAT CRBasic ...

Page 164: ...o be absolutely certain a function is true it must be set to TRUE or 1 Note TRUE is 1 so that every bit is set high 1 is B11111111 for all four bytes This allows the AND operation to work correctly The AND operation does an AND boolean function on every bit so TRUE AND X will be non zero if at least one of the bits in X is non zero if X is not zero When a variable of data type BOOLEAN is assigned ...

Page 165: ...uate multiple expressions linked with AND or OR 3 Evaluate multiple AND or OR links The following commands and logical operators are used to construct logical expressions CRBasic example Logical Expression Examples p 165 demonstrate some logical expressions IF AND OR NOT XOR IMP IIF Table 22 Logical Expression Examples If X 5 then Y 0 Sets the variable Y to 0 if the expression X 5 is true i e if X...

Page 166: ...8 4 15 5 String Expressions CRBasic facilitates concatenation of string variables to variables of all data types using and operators To ensure consistent results use when concatenating strings Use when concatenating strings to other variable types CRBasic example String and Variable Concatenation p 166 demonstrates CRBasic code for concatenating strings and integers See section String Operations p...

Page 167: ...ss to Data Tables A data table is a memory location where data records are stored Sometimes the stored data needs to be used in the CRBasic program For example a program can be written to retrieve the average temperature of the last five days for further processing CRBasic has syntax provisions facilitating access to these table data or to meta data relating to the data table Except when using the...

Page 168: ...ovariance RFH Rainflow Histogram LCr Level Crossing WVc WindVector Med Median ETsz ET RSo Solar Radiation from ET TMx Time of Max TMn Time of Min 1 Hst is reported in the form Hst 20 1 0000e 00 0 0000e 00 1 0000e 01 where Hst denotes a histogram 20 20 bins 1 weighting factor 0 lower bound 10 upper bound For example to access the number of watchdog errors use the statement wderr status watchdogerro...

Page 169: ...urce Library This library of notes and CRBasic code addresses a narrow selection of CR1000 applications Consult a Campbell Scientific application engineer if other resources are needed 7 9 1 Advanced Programming Techniques 7 9 1 1 Capturing Events CRBasic example Capturing Events p 169 demonstrates programming to output data to a data table at the occurrence of an event CRBasic Example 22 BeginPro...

Page 170: ... between air and panel temps DeltaT_C AirTemp_C PTemp_C Update Event Counter uses special syntax Event EventCount 1 1 EventCounter Event EventCount 1 1 Call data table s CallTable Event CallTable OneMin NextScan EndProg 7 9 1 2 Conditional Output CRBasic example Conditional Output p 170 demonstrates programming to output data to a data table conditional on a trigger other than time CRBasic Example...

Page 171: ... EndTable BeginProg Scan 1 Sec 1 0 Measure wiring panel temperature PanelTemp PTemp_C _60Hz Measure type T thermocouple TCDiff AirTemp_C 1 mV2_5C 1 TypeT PTemp_C True 0 _60Hz 1 0 Calculate the difference between air and panel temps DeltaT_C AirTemp_C PTemp_C Call data table s CallTable DeltaT NextScan EndProg 7 9 1 3 Groundwater Pump Test CRBasic example Groundwater Pump Test p 171 demonstrates Ho...

Page 172: ...onds 10 30 30 seconds 30 100 60 seconds 100 300 120 seconds 300 1000 300 seconds 1000 600 seconds Declare Variables Public PTemp Public Batt_Volt Public Level Public LevelMeasureCount As Long Public ScanCounter 6 As Long Declare Data Table DataTable LogTable 1 1 Minimum 1 Batt_Volt FP2 0 False Sample 1 PTemp FP2 Sample 1 Level FP2 EndTable Declare Level Measurement Subroutine Sub MeasureLevel Leve...

Page 173: ...nterval Scan 120 mSec 0 200 There are 200 120 second scans in 10 minutes ScanCounter 4 ScanCounter 4 1 Included to show passes through this scan Battery Batt_volt PanelTemp PTemp 250 Call MeasureLevel Call Output Tables CallTable LogTable NextScan Minute 300 to 1000 of test 300 second data output interval Scan 300 mSec 0 140 There are 140 300 second scans in 700 minutes ScanCounter 5 ScanCounter 5...

Page 174: ...eference temperature and the first measurement is calculated the difference is then used to control the status of a program control flag Program control then transitions into device control as the status of the flag is used to determine the state of a control port that controls an LED light emitting diode Battery voltage is measured and stored just because good programming practice dictates it be ...

Page 175: ...minimum in low resolution format Sample 1 Counter Long Stores counter in integer format Sample 1 SiteName String Stores site name as a string Sample 1 HowMany FP2 Stores how many data events in low resolution format EndTable Declare an event driven data output table DataTable Event True 1000 Data table event driven DataInterval 0 5 Sec 10 AND interval driven DataEvent 0 DeltaT_C 3 DeltaT_C 3 0 AND...

Page 176: ...trol the flag based on the difference in temperature If DeltaT 3 then set Flag 1 high otherwise set it low If DeltaT_C 3 Then Flag 1 high Else Flag 1 low EndIf Turn LED connected to Port 1 on when Flag 1 is high If Flag 1 high Then PortSet 1 1 alternate syntax PortSet 1 high Else PortSet 1 0 alternate syntax PortSet 1 low EndIf Count how many times the DataEvent DeltaT_C 3 has occurred The TableNa...

Page 177: ...7 demonstrates programming to create and use a scaling array Several multipliers and offsets are entered at the beginning of the program and then used by several measurement instructions throughout the program CRBasic Example 26 Scaling Array This program example demonstrates the use of a scaling array An array of three temperatures are measured The first is expressed as degrees Celsius the second...

Page 178: ...res 7 9 1 7 1 Text Signature The text signature is the most widely used program signature This signature is calculated from all text in a program including blank lines and comments The program text signature is found in the Status table as ProgSignature See CRBasic example Program Signatures p 178 7 9 1 7 2 Binary Runtime Signature The binary runtime signature is calculated only from program code ...

Page 179: ... of multiple scans Some applications require measurements or processing to occur at an interval different from that of the main program scan Secondary or slow sequence scans are prefaced with the SlowSequence instruction CRBasic Example 28 Use of Multiple Scans This program example demonstrates the use of multiple scans Some applications require measurements or processing to occur at an interval d...

Page 180: ...ding on the conditional settings In addition all Campbell Scientific datalogger except the CR200 accept program files or Include instruction files with DLD extensions This feature circumvents system filters that look at file extensions for specific loggers it makes possible the writing of a single file of code to run on multiple models of CRBasic dataloggers Note Do not confuse CRBasic files with ...

Page 181: ...ch is defined in the following statement Const ProgramSpeed 2 If ProgramSpeed 1 Const ScanRate 1 1 second Const Speed 1 Second ElseIf ProgramSpeed 2 Const ScanRate 10 10 seconds Const Speed 10 Second ElseIf ProgramSpeed 3 Const ScanRate 30 30 seconds Const Speed 30 Second Else Const ScanRate 5 5 seconds Const Speed 5 Second EndIf Public Variables Public ValueRead SelectedSpeed As String 50 Main Pr...

Page 182: ...y Overview p 83 CRBasic Editor Help for DisplayMenu Menus for the CR1000KD Keyboard Display can be customized to simplify routine operations Viewing data toggling control functions or entering notes are common applications Individual menu screens support up to eight lines of text with up to seven variables Use the following CRBasic instructions Refer to CRBasic Editor Help for complete information...

Page 183: ...amming for a custom menu that facilitates viewing data entering notes and controlling a device Following is a list of figures that show the organization of the custom menu that is programmed using CRBasic example Custom Menus p 185 Custom Menu Example Home Screen p 183 Custom Menu Example View Data Window p 183 Custom Menu Example Make Notes Sub Menu p 184 Custom Menu Example Predefined Notes Pick...

Page 184: ...n Figure 45 Custom Menu Example Make Notes Sub Menu Figure 46 Custom Menu Example Predefined Notes Pick List Figure 47 Custom Menu Example Free Entry Notes Window Figure 48 Custom Menu Example Accept Clear Notes Window 184 ...

Page 185: ...o the following CRBasic example Custom Menus p 84 p 581 CRBasic Example 30 Custom Menus This program example demonstrates the building of a custom CR1000KD Keyboard Display menu Declarations supporting View Data menu item Public RefTemp Reference Temp Variable Public TCTemp 2 Thermocouple Temp Array Delarations supporting blank line menu item Const Escape Hit Esc Word indicates action to exit dead...

Page 186: ... DataTable Set up temperature data table DataTable TempC 1 1 Written to every 60 seconds with DataInterval 0 60 Sec 10 Sample 1 RefTemp FP2 Sample of reference temperature Sample 1 TCTemp 1 FP2 Sample of thermocouple 1 Sample 1 TCTemp 2 FP2 Sample of thermocouple 2 EndTable Custom Menu Declarations DisplayMenu CUSTOM MENU DEMO 3 Create Menu Upon power up the custom menu is displayed The system men...

Page 187: ... table CycleNotes Accepted Write Accepted after written Delay 1 500 mSec Pause so user can read Accepted SelectNote Clear pick list note EnterNote Clear free entry note CycleNotes Write as a null prompt EndIf If CycleNotes Clear Then Clear notes when requested SelectNote Clear pick list note EnterNote Clear free entry note CycleNotes Write as a null prompt EndIf Menu Item Control Menu Support Code...

Page 188: ...nes can be written Thousands of values can be loaded in this way Declare Float and Long variables Can also be declared as Dim Public DataSetFloat 10 As Float Public DataSetLong 10 As Long Dim x Write data set to CR1000 memory Data 1 1 2 2 3 3 4 4 5 5 Data 1 1 2 2 3 3 4 4 5 5 DataLong 1 2 3 4 5 DataLong 1 2 3 4 5 Declare data table DataTable DataSet_ True 1 Sample 10 DataSetFloat Float Sample 10 Da...

Page 189: ...t o Negate place a negative or minus sign before the array index For example when negating the least significant dimension in array a b c the notion is array a b c An empty set of parentheses designates an array assigned expression For example reference array or array a b c Only one dimension of the array is operated on at a time To select the dimension to be operated on negate the dimension of in...

Page 190: ...r each column add up the three rows ColumnSum Array 1 1 Array 2 1 Array 3 1 NextScan EndProg Table 25 CRBasic Example Array Assigned Expression Transpose an Array This example transposes a 3x2 array to a 2x3 array Source array image 1 2 3 4 5 6 Destination array image transpose of source 1 3 5 2 4 6 Dimension and initialize source array Public A 3 2 1 2 3 4 5 6 Dimension destination array Public A...

Page 191: ...omparison of each temperature in the array to a scalar value set corresponding alarm boolean value true if temperature exceeds 20 degC TempC_Alarm TempC 20 some not all or most instructions will accept this array notation to auto index through the array round each temperature to the nearest tenth of a degree TempC_Rounded Round TempC 1 element wise subtraction each element in TempC_Rounded is subt...

Page 192: ...o NAN Db 1 1 Da 1 1 DMultiplier DOffset Db 1 2 NAN NextScan EndProg 7 9 6 Data Output Calculating Running Average The AvgRun instruction calculates a running average of a measurement or calculated value A running average Dest is the average of the last N values where N is the number of values as expressed in the running average equation where XN is the most recent value of the source variable and ...

Page 193: ...f points to average Running average duration 4 ms Running average frequency 1 running average duration 250 Hz Input signal frequency 100 Hz Input frequency to running average normalized frequency 100 250 0 4 Sin 0 4π 0 4π 0 757 or read from figure Running Average Frequency Response p 194 where the X axis is 0 4 For a 100 Hz input signal with an amplitude of 10 V peak to peak a running average outp...

Page 194: ...RA held the result of performing a running average on the Accel2 Both values were stored at a rate of 500 Hz Figure Running Average Signal Attenuation p 195 shows the two variables plotted to illustrate the attenuation The running average value has the lower amplitude The resultant delay Dr is calculated as follows Dr scan rate N 1 2 2 ms 10 1 2 9 ms Dr is about 1 3 of the input signal period Figu...

Page 195: ...e for an average to be calculated for the hour each measurement must be added to a total over the hour This accumulation of data is not affected by TrigVar TrigVar controls only the moment when the final calculation is performed and the processed data the average are written to the data table For this summary moment to occur TrigVar and all other conditions such as DataInterval and DataEvent must ...

Page 196: ...the Sample Average and Totalize instructions is called every scan Data are stored when TrigVar is true and TrigVar is True when Counter 2 or Counter 3 Data stored are the sample average and total of the variable Counter 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 Co...

Page 197: ...e parenthesis around the TriggerVariable AND statements DataTable TwoInt int_fast AND TimeIntoInterval 0 5 Sec OR int_slow AND _ TimeIntoInterval 0 15 sec 1 Minimum 1 batt_volt FP2 0 False Sample 1 PTemp FP2 Maximum 1 counter 1 Long False False Minimum 1 counter 1 Long False False Maximum 1 deltaT FP2 False False Minimum 1 deltaT FP2 False False Average 1 deltaT IEEE4 false EndTable Main Program B...

Page 198: ...n of 59 00111011 CR1000 stores these bits in reverse order When datalogger support software p 95 retrieves the BOOL8 value it splits it apart into eight fields of 1 or 0 when storing to an ASCII file Consequently more memory is required for the ASCII file but CR1000 memory is conserved The compact BOOL8 data type also uses less telecommunication band width when transmitted CRBasic example Programm...

Page 199: ...Section 7 Installation Figure 55 Alarms Toggled in Bit Shift Example Figure 56 Bool8 Data from Bit Shift Example Numeric Monitor 199 ...

Page 200: ...blic Flags As Long Public FlagsBool8 4 As Long DataTable Bool8Data True 1 DataInterval 0 1 Sec 10 store bits 1 through 16 in columns 1 through 16 of data file Sample 2 FlagsBool8 1 Bool8 store bits 17 through 32 in columns 17 through 32 of data file Sample 2 FlagsBool8 3 Bool8 EndTable BeginProg Scan 1 Sec 3 0 Reset all bits each pass before setting bits selectively Flags h0 Set bits selectively H...

Page 201: ...f Alarm 20 Then Flags Flags OR h80000 b10000000000000000000 If Alarm 21 Then Flags Flags OR h100000 b100000000000000000000 If Alarm 22 Then Flags Flags OR h200000 b1000000000000000000000 If Alarm 23 Then Flags Flags OR h400000 b10000000000000000000000 If Alarm 24 Then Flags Flags OR h800000 b100000000000000000000000 If Alarm 25 Then Flags Flags OR h1000000 b1000000000000000000000000 If Alarm 26 Th...

Page 202: ...be stored using the RealTime instruction Accessing and storing a time stamp from another datalogger in a PakBus network 7 9 10 1 NSEC Options NSEC is used in a CRBasic program one of the following ways In all cases the time variable is only sampled with a Sample instruction Reps 1 1 Time variable is declared As Long Sample instruction assumes the time variable holds seconds since 1990 and microsec...

Page 203: ... 0 TimeVar FirstTable TimeStamp CallTable FirstTable CallTable SecondTable NextScan EndProg CRBasic Example 36 NSEC Two Element Time Array This program example demonstrates how to determine seconds since 00 00 00 1 January 1990 and microseconds into the last second This is done by retrieving variable TimeStamp into variables TimeOfMaxVar 1 and TimeOfMaxVar 2 Because the variable TimeOfMaxVar is di...

Page 204: ...ough rTime 9 as year month day hour minutes seconds and microseconds using the RealTime instruction The first seven time values are copied to variable rTime2 1 through rTime2 7 Because the variables are dimensioned to 7 or greater NSEC assumes the first seven time factors in the arrays are year month day hour minutes seconds and microseconds Declarations Public rTime 9 As Long or Float Public rTim...

Page 205: ...ng Const UTC_Offset 7 3600 7 hours offset as seconds DataTable TimeTable true 1 Sample 1 TimeLong Nsec EndTable Program BeginProg Scan 1 Sec 0 0 1 Read Public TimeStamp into a LONG numeric variable Note that TimeStamp is a system variable so it is not declared TimeLong Public TimeStamp 1 1 UTC_Offset 2 Store it into a type NSEC datum in final data memory CallTable TimeTable 3 sample time to three ...

Page 206: ... Memory cards add a measure of security in guarding against data loss However no system is infallible Finding a functioning memory card in the mud after a moose has trampled your weather station or a tractor has run an offset disk over your soil moisture station may be difficult The best rule is to collect data from the CR1000 only as often as you can afford to lose the data In other words if you ...

Page 207: ... is about 50 MB large 10 Hz scan frequency and 15 IEEE4 data points CRBasic example Using TableFile with Option 64 with CF Cards p 207 is an example of a micromet application CRBasic Example 39 Using TableFile with Option 64 with CF Card This program example demonstrates the use of TableFile with Option 64 in micrometeorology eddy covariance programs The file naming scheme used in instruction Tabl...

Page 208: ...data type can represent a number as large as 231 or in terms of bytes roughly 2 GB This is the maximum file length that can be represented in the datalogger directory table Q Why does a large card cause long program compile times A Program compile times increase with card and file sizes As the datalogger boots up the card must be searched to determine space available for data storage In addition f...

Page 209: ...s Note More CF card recommendations are presented in the application note CF Card Information which is available at www campbellsci com Q Can closed files be retrieved remotely A Yes Closed files can be retrieved using the Retrieve function in the datalogger support software File Control p 515 utility FTP HTTP or e mail Although open files will appear in the CRD drive directory do not attempt to r...

Page 210: ...ibration Details p 210 Calibration increases accuracy of a sensor by adjusting or correcting its output to match independently verified quantities Adjusting a sensor output signal is preferred but not always possible or practical By using the FieldCal or FieldCalStrain instruction a linear sensor output can be corrected in the CR1000 after the measurement by adjusting the multiplier and offset Whe...

Page 211: ...ructions LoadFieldCal an optional instruction that evaluates the validity of and loads values from a CAL file SampleFieldCal an optional data storage output instruction that writes the latest calibration values to a data table not to the CAL file FieldCal and FieldCalStrain use the following reserved Boolean variable NewFieldCal a reserved Boolean variable under CR1000 control used to optionally t...

Page 212: ...wnVar holds the second of a two point calibration 5 Working only applicable for two point calibrations 6 Calibration complete 7 9 12 4 1 One Point Calibrations Zero or Offset Zero operation applies an offset of equal magnitude but opposite sign For example when performing a zeroing operation on a measurement of 15 3 the value 15 3 will be added to subsequent measurements Offset operation applies a...

Page 213: ... Mode 5 automatic during second point calibration b Mode 6 automatic when calibration is complete 7 9 12 4 3 Zero Basis Point Calibration Zero basis calibration FieldCal instruction Option 4 is designed for use with static vibrating wire measurements It loads values into zero point variables to track conditions at the time of the zero calibration See FieldCal Zero Basis Opt 4 Example p 223 for a d...

Page 214: ... At 30 Day Service SimulatedRHSignal output 100 mV 105 mV KnownRH desiccated chamber 0 0 RHMultiplier 0 05 mV 0 05 mV RHOffset 5 5 25 RH 0 0 1 Send CRBasic example FieldCal Zero p 214 to the CR1000 A terminal configured for excitation has been programmed to simulate a sensor output 2 To place the simulated RH sensor in a simulated calibration condition in the field it would be placed in a desiccat...

Page 215: ...utine by setting variable CalMode 1 When CalMode 6 will occur automatically after 10 measurements the routine is complete Note the new value in variable RHOffset Now enter the following millivolt value as the simulated sensor signal and note how the new offset is added to the measurement SimulatedRHSignal 1000 NOTE This program places a cal file on the CPU drive of the CR1000 The cal file must be ...

Page 216: ... Multiplier is known to be stable but sensor offset drifts and requires regular offset correction using a standard solution The following procedure offsets the measurement to obtain the calibration report shown Table 30 Calibration Report for Salinity Sensor CRBasic Variable At Deployment At Seven Day Service SimulatedSalinitySignal output 1350 mV 1345 mV KnownSalintiy standard solution 30 mg l 30...

Page 217: ...necting the following terminals with a jumper wire to simulate the salinity sensor signal as follows Vx1 SE1 For the simulation the value of the calibration standard and the initial sensor signal are set automatically Start the calibration routine by setting variable CalMode 1 When CalMode 6 will occur automatically after 10 measurements the routine is complete Note the new value in variable Salin...

Page 218: ... the sensor being calibrated is set to a value consistent with the linear relationship that intersects two known points sequentially entered in the FieldCal KnownVar parameter Subsequent measurements are scaled with the same multiplier and offset Example Case A meter measures the volume of water flowing through a pipe Multiplier and offset are known to drift so a two point calibration is required ...

Page 219: ...asic Example 42 FieldCal Two Point Slope and Offset This program example demonstrates the use of FieldCal in calculating and applying a multiplier and offset calibration A multiplier and offset calibration compares signal magnitudes of a sensor to known standards The calculated multiplier and offset scale the reported magnitude of the sensor to a value consistent with the linear relationship that ...

Page 220: ...FOR RETRIEVABLE CALIBRATION RESULTS DataTable CalHist NewFieldCal 200 SampleFieldCal EndTable BeginProg LOAD CALIBRATION CONSTANTS FROM FILE CPU CALHIST CAL Effective after the zero calibration procedure when variable CalMode 6 LoadFieldCal true Scan 100 mSec 0 0 SIMULATE SIGNAL THEN MAKE THE MEASUREMENT Multiplier calibration is applied when variable CalMode 6 ExciteV Vx1 SimulatedFlowSignal 0 Vo...

Page 221: ...y of a simulated soil water content sensor 1 Send CRBasic example FieldCal Multiplier p 221 to the CR1000 2 To simulate the soil water sensor signal place a jumper wire between terminals VX1 and SE1 3 Simulate deployment calibration conditions in two stages as follows a Set variable SimulatedWaterContentSignal to 175 Set variable KnownWC to 10 0 b Start the calibration by setting variable CalMode ...

Page 222: ...erContentSignal 350 NOTE This program places a cal file on the CPU drive of the CR1000 The cal file must be erased to reset the demonstration DECLARE SIMULATED SIGNAL VARIABLE AND SET INITIAL MAGNITUDE Public SimulatedWaterContentSignal 175 mV second setting is 700 mV DECLARE CALIBRATION STANDARD VARIABLE AND SET MAGNITUDE Public KnownWC 10 by Volume second setting is 35 DECLARE MEASUREMENT RESULT...

Page 223: ... strain applications wherein microstrain is the unit of measure The FieldCal instruction FieldCal Examples p 213 is typically used in non microstrain applications Shunt calibration of strain gage systems is common practice However the technique provides many opportunities for misapplication and misinterpretation This section is not intended to be a primer on shunt calibration theory but only to in...

Page 224: ... demonstration program again to the CR1000 Example Case A 1000 Ω strain gage is placed into a resistive bridge at position R1 The resulting circuit is a quarter bridge strain gage with alternate shunt resistor Rc positions shown Gage specifications indicate that the gage factor is 2 0 and that with a 249 kΩ shunt measurement should be about 2000 microstrain Send CRBasic example FieldCalStrain Cali...

Page 225: ...les that are arguments in the Zero Function Public Zero_Mode Public Zero_mVperV Variables that are arguments in the Shunt Function Public Shunt_Mode Public KnownRes Public GF_Adj Public GF_Raw Tables DataTable CalHist NewFieldCal 50 SampleFieldCal EndTable PROGRAM BeginProg Set Gage Factors GF_Raw 2 1 GF_Adj GF_Raw The adj Gage factors are used in the calculation of uStrain If a calibration has be...

Page 226: ...et Shunt_Mode 4 FieldCalStrain 13 MicroStrain 1 GF_Adj 0 Shunt_Mode KnownRes 1 10 GF_Raw 0 CallTable CalHist NextScan EndProg 7 9 12 6 3 FieldCalStrain Quarter Bridge Shunt Example With CRBasic example FieldCalStrain Calibration p 225 sent to the CR1000 and the strain gage stable use the CR1000KD Keyboard Display or software numeric monitor to change the value in variable KnownRes to the nominal r...

Page 227: ...Ω resistor in place to simulate a strain Using the CR1000KD Keyboard Display or software numeric monitor change the value in variable Zero_Mode to 1 to start the zero calibration as shown in figure Zero Procedure Start p 227 When Zero_Mode increments to 6 zero calibration is complete as shown in figure Zero Procedure Finish p 227 Figure 61 Zero Procedure Start Figure 62 Zero Procedure Finish 227 ...

Page 228: ... measurement is made To see this program in action connect the following terminal pairs to simulate sensor connections Vx1 SE1 Vx2 DIFF 2 H DIFF 2 L Ground Symbol With these connections made variables VoltageSE and VoltageDiff will equal 2500 mV Declare variables Public VoltageSE As Float Public VoltageDIFF As Float Declare data table DataTable Voltage True 1 Sample 1 VoltageSE Float Sample 1 Volt...

Page 229: ...Techniques discussed can also be used with the following instructions VoltSE VoltDiff TCDiff TCSE BrFull BrFull6W BrHalf BrHalf3W BrHalf4W The table Summary of Analog Voltage Measurement Rates p 230 summarizes the programming techniques used to make three classes of fast measurement 100 Hz maximum rate 600 Hz maximum rate and 2000 Hz maximum rate 100 Hz measurements can have a 100 duty cycle p 514...

Page 230: ...h 1 1 1 to completion then 2 2 2 to completion then 3 3 3 and so forth Excitation for Bridge Measurements Provided in instruction Provided in instruction Provided in instruction Measurements per excitation must equal Repetitions CRBasic Programming Highlights Suggest using Scan NextScan with ten 10 ms scan interval Program for the use of up to 10 buffers See CRBasic example Measuring VoltSE at 100...

Page 231: ...tSE 1 mV2_5 1 False 100 250 1 0 0 CallTable FastSETable NextScan EndProg 7 9 14 2 Measurement Rate 101 to 600 Hz To measure at rates between 100 and 600 Hz the SubScan NextSubScan instruction pair is added Measurements over 100 Hz do not have 100 duty cycle but are accomplished through measurement bursts Each burst lasts for some fraction of the scan interval During the remainder of the scan inter...

Page 232: ...f its counts Sub scan interval i multiplied by the number of sub scans n equals a measure time fraction MT1 a part of measure time which measure time is represented in the MeasureTime register in table Status Table Fields and Descriptions p 603 The EndScan instruction occupies an additional 100 µs of measure time so the interval of the main scan has to be 100 µs plus measure time outside the SubSc...

Page 233: ...og Burst Mode p 234 In burst mode VoltSE dwells on a single channel and measures it at rates up to 2000 Hz as demonstrated in the CRBasic example Measuring VoltSE at 2000 Hz The example program has an 86 duty cycle That is it makes measurements over only the leading 86 of the scan Note that burst mode places all measurements for a given burst in a single variable array and stores the array in a si...

Page 234: ...The differential analog input terminal number preceded by a dash Valid arguments range from 1 to 8 Measure Offset No change from standard measurement mode False allows for faster measurements Measurements per Excitation Must equal the value entered in Repetitions Reverse Ex No change from standard measurement mode For fastest rate set to False Rev Diff No change from standard measurement mode For ...

Page 235: ...re given in published standards or by the manufacturers for non standard types Measured temperatures are compared against the ITS 90 scale a temperature instrumentation calibration standard PRTCalc follows the principles and equations given in the US ASTM E1137 04 standard for conversion of resistance to temperature For temperature range 0 to 650 C a direct solution to the CVD equation results in ...

Page 236: ...he following tables Note Coefficients are rounded to the seventh significant digit to match the CR1000 math resolution Alpha is defined as α R100 R0 100 R0 α R100 R0 1 100 where R100 and R0 are the resistances of the PRT at 100 C and 0 C respectively Table 35 PRTCalc Type Code 1 Sensor IEC 60751 2008 IEC 751 alpha 0 00385 Now internationally adopted and written into standards ASTM E1137 04 JIS 160...

Page 237: ...Code 3 Sensor US Industrial Standard alpha 0 00391 Reference OMIL R84 2003 Constant Coefficient a 3 9690000E 03 d 2 3364000E 06 e 1 8089360E 05 f 1 1682000E 06 g 1 7010560E 00 h 2 6953500E 00 i 8 8564290E 00 j 2 5190880E 02 Table 38 PRTCalc Type Code 4 Sensor Old Japanese Standard alpha 0 003916 Reference JIS C 1604 1981 National Instruments Constant Coefficient a 3 9739000E 03 d 2 3480000E 06 e 1...

Page 238: ... Instrunet Constant Coefficient a 3 9848000E 03 d 2 3480000E 06 e 1 8226630E 05 f 1 1740000E 06 g 1 6319630E 00 h 2 4709290E 00 i 8 8283240E 00 j 2 5091300E 02 7 9 15 2 PT100 in Four Wire Half Bridge Example shows How to measure a PRT in a four wire half bridge configuration How to compensate for long leads Advantages High accuracy with long leads Example PRT specifications Alpha 0 00385 PRT Type ...

Page 239: ...nput range assume V2 is equal to 25 mV and use Ohm s Law to solve for the resulting current I I 25 mV RS 25 mV 115 54 ohms 0 216 mA Next solve for VX VX I R1 RS Rf 2 21 V If the actual resistances were the nominal values the CR1000 would not over range with VX 2 2 V However to allow for the tolerance in actual resistors set VX equal to 2 1 V e g if the 10 kΩ resistor is 5 low i e RS R1 RS Rf 115 5...

Page 240: ...plete the circuit shown in figure PT100 in Four Wire Half Bridge p 240 Refer to the appendix Signal Conditioners p 647 for information concerning available TIM modules Figure 63 PT100 in Four Wire Half Bridge CRBasic Example 50 PT100 in Four Wire Half Bridge This program example demonstrates the measurement of a 100 ohm PRT using a four wire half bridge See FIGURE PT100 in Four Wire Half Bridge p ...

Page 241: ...V The excitation voltage used is 2 2 V The multiplier used in BRHalf3W is determined in the same manner as in PT100 in Four Wire Half Bridge p 238 In this example the multiplier Rf R0 is assumed to be 100 93 The three wire half bridge compensates for lead wire resistance by assuming that the resistance of wire A is the same as the resistance of wire B The maximum difference expected in wire resist...

Page 242: ...ing diagram Public Rs_Ro Public Deg_C BeginProg Scan 1 Sec 0 0 BrHalf3W Dest Reps Range1 SEChan ExChan MPE Ex_mV True 0 250 100 93 0 BrHalf3W Rs_Ro 1 mV25 1 Vx1 1 2200 True 0 250 100 93 0 PRTCalc Destination Reps Source PRTType Mult Offset PRTCalc Deg_C 1 Rs_Ro 1 1 0 0 NextScan EndProg 7 9 15 4 PT100 in Four Wire Full Bridge Example shows How to measure a PRT in a four wire full bridge Advantages ...

Page 243: ...s desired so the control algorithm will respond to very small changes in temperature The highest resolution is obtained when the temperature range results in a signal VS range that fills the measurement range selected in BRFull The full bridge configuration allows the bridge to be balanced VS 0 V at or near the control temperature Thus the output voltage can go both positive and negative as the ba...

Page 244: ...ublic Rs_Ro Public Deg_C BeginProg Scan 1 Sec 0 0 BrFull Dst Reps Range DfChan Vx1 MPS Ex RevEx RevDf Settle Integ Mult Offset BrFull BrFullOut 1 mV25 1 Vx1 1 2500 True True 0 250 001 02344 BrTrans Rf X 1 X Rs_Ro 50 BrFullOut 1 BrFullOut PRTCalc Destination Reps Source PRTType Mult Offset PRTCalc Deg_C 1 Rs_Ro 2 1 0 0 NextScan EndProg 7 9 16 PLC Control Details Related Topics PLC Control Overview ...

Page 245: ... if processing time is increased ProcHiPri and EndProcHiPri may not be selectable in CRBasic Editor You can type them in anyway and the compiler will recognize them 7 9 17 Serial I O Capturing Serial Data The CR1000 communicates with smart sensors that deliver measurement data through serial data protocols Read More See Telecommunications and Data Retrieval p 391 for background on CR1000 serial co...

Page 246: ...a terminal screen to clear This can be frustrating for a developer who prefers to see information on a screen rather than a blank screen Some third party terminal emulator programs such as Procomm are useful tools in serial I O development since they handle this and other idiosyncrasies of serial communication When a standardized serial protocol is supported by the CR1000 such as PakBus or Modbus ...

Page 247: ...four COM ports SDI 12 is a protocol used by some smart sensors that requires minimal configuration on the CR1000 Read More See SDI 12 Recording p 363 SDI 12 Sensor Support p 267 PakBus Overview p 393 DNP3 p 408 and Modbus p 411 Many instruments require non standard protocols to communicate with the CR1000 Note If an instrument or sensor optionally supports SDI 12 Modbus or DNP3 consider using thes...

Page 248: ...tion protocol Serial communications can be simplex half duplex or full duplex Reading list simplex p 528 duplex p 248 half duplex p 517 and full duplex p 516 Term lf Line feed Often associated with carriage return cr cr lf Term little endian Little end first Placing the most significant integer at the end of a numeric word reading left to right The processor in the CR1000 is MSB or puts the most s...

Page 249: ...ng an RS 232 String p 254 shows the use of SerialOpen Consult CRBasic Editor Help for more information SerialOpen COMPort BaudRate Format TXDelay BufferSize COMPort Refer to CRBasic Editor Help for a complete list of COM ports available for use by SerialOpen BaudRate Baud rate mismatch is frequently a problem when developing a new application Check for matching baud rates Some developers prefer to...

Page 250: ...ialFlush Puts the read and write pointers back to the beginning Returns TRUE or FALSE when set equal to a Boolean variable SerialIn 1 Can wait on the string until it comes in Timeout is renewed after each character is received SerialInRecord tends to obsolete SerialIn Buffer size margin one extra record one byte SerialInBlock 1 For binary data perhaps integers floats data with NULL characters Dest...

Page 251: ...wing procedures Other procedures may be required depending on the application 1 Know what the sensor supports and exactly what the data are Most sensors work well with TTL voltage levels and RS 232 logic Some things to consider o Become thoroughly familiar with the data to be captured o Can the sensor be polled o Does the sensor send data on its own schedule o Are there markers at the beginning or...

Page 252: ...nStringSplit 2 As String Example Public SplitResult 2 As Float 7 9 17 5 3 Serial I O Output Programming Basics Applications with the purpose of transmitting data to another device usually include the following procedures Other procedures may be required depending on the application 1 Open a serial port with SerialOpen to configure it for communications o Parameters are set according to the require...

Page 253: ...place values in variables Example string from humidity temperature and pressure sensor SerialInString RH 60 5 RH T 23 7 C Tdf 15 6 C Td 15 6 C a 13 0 g m3 x 11 1 g kg Tw 18 5 C H2O 17889 ppmV pw 17 81 hPa pws 29 43 hPa h 52 3 kJ kg dT 8 1 C Hex Pairs Bytes are translated to hex pairs consisting of digits 0 to 9 and letters a to f Each pair describes a hexadecimal ASCII ANSI code Some codes transla...

Page 254: ...es as Dim has the effect of consuming less telecommunication bandwidth When public variables are viewed in software the entire Public table is transferred at the update interval If the Public table is large telecommunication bandwidth can be taxed such that other data tables are not collected String Declarations String variables are memory intensive Determine how large strings are and declare vari...

Page 255: ...t string Public SerialInString As String 25 Declare strings to accept parsed data If parsed data are strictly numeric this array can be declared as Float or Long Public InStringSplit 2 As String Alias InStringSplit 1 TempIn Alias InStringSplit 2 RhIn Main Program BeginProg Simulate temperature and RH sensor TempOut 27 435 Set simulated temperature to transmit RhOut 56 789 Set simulated relative hu...

Page 256: ...lier versions of Windows HyperTerminal is not provided with later versions of Windows but can be purchased separately from http www hilgraeve com HyperTerminal automatically converts binary data to ASCII on the screen Binary data can be captured saved to a file and then viewed with a hexadecimal editor Other terminal emulators are available from third party vendors that facilitate capture of binar...

Page 257: ...Section 7 Installation Figure 67 HyperTerminal Connect To Settings Figure 68 HyperTerminal COM Port Settings Tab Click File Properties Settings ASCII Setup and set as shown 257 ...

Page 258: ...10 36 22 C to the CR1000 Use Notepad Microsoft Windows utility or some other text editor that will not place hidden characters in the file Figure 70 HyperTerminal Send Text File Example To send the file click Transfer Send Text File Browse for file then click OK 7 9 17 6 3 Create Text Capture File Figure HyperTerminal Text Capture File Example p 259 shows a HyperTerminal capture file with some dat...

Page 259: ...ame ASCII strings A similar program can be used to emulate CR10X and CR23X dataloggers Solution CRBasic example Measure Sensors Send RS 232 Data p 259 imports and exports serial data with the CR1000 RS 232 port Imported data are expected to have the form of the legacy Campbell Scientific time set C command Exported data has the form of the legacy Campbell Scientific Printable ASCII format Note The...

Page 260: ...KVarHold Public KWHH Public KvarH Public InString As String 25 Public OutString As String 100 Hidden Variables Dim i rTime 9 OneMinData 6 OutFrag 6 As String Dim InStringSize InStringSplit 5 As String Dim Date Month Year DOY Hour Minute Second uSecond Dim LeapMOD4 LeapMOD100 LeapMOD400 Dim Leap4 As Boolean Leap100 As Boolean Leap400 As Boolean Dim LeapYear As Boolean Dim ClkSet 7 As Float One Minu...

Page 261: ...ap year status location LeapMOD4 Year MOD 4 LeapMOD100 Year MOD 100 LeapMOD400 Year MOD 400 If LeapMOD4 0 Then Leap4 True Else Leap4 False If LeapMOD100 0 Then Leap100 True Else Leap100 False If LeapMOD400 0 Then Leap400 True Else Leap400 False If Leap4 True Then LeapYear True If Leap100 True Then If Leap400 True Then LeapYear True Else LeapYear False EndIf EndIf Else LeapYear False EndIf If it is...

Page 262: ...e Is 367 Month 12 Date DOY 335 EndSelect If it is not a leap year use this section Else Select Case DOY Case Is 32 Month 1 Date DOY Case Is 60 Month 2 Date DOY 31 Case Is 91 Month 3 Date DOY 59 Case Is 121 Month 4 Date DOY 90 Case Is 152 Month 5 Date DOY 120 Case Is 182 Month 6 Date DOY 151 Case Is 213 Month 7 Date DOY 181 Case Is 244 Month 8 Date DOY 212 Case Is 274 Month 9 Date DOY 243 262 ...

Page 263: ...ogram KWHH KWH_In KvarH KVarH_I KWHHold KWHH KWHHold KVarHold KvarH KVarHold CallTable OneMinTable Serial I O Section SerialOpen ComRS232 9600 0 0 10000 Serial Time Set Input Section Accept old C command 2008 028 10 36 22 C parse process set clock Note Chr 91 Chr 67 C SerialInRecord ComRS232 InString 91 0 67 InStringSize 01 If InStringSize 0 Then SplitStr InStringSplit InString 5 0 Call DOY2MODAY ...

Page 264: ...Frag 4 07 OutFrag 5 _ CHR 13 CHR 10 add CR LF null Send printable ASCII string out RS 232 port SerialOut ComRS232 OutString 0 220 EndIf NextScan EndProg 7 9 17 7 Serial I O Q A Q I am writing a CR1000 program to transmit a serial command that contains a null character The string to transmit is CHR 02 CHR 01 CWGT0 CHR 03 CHR 00 CHR 13 CHR 10 How does the logger handle the null character Is there a ...

Page 265: ...ets that are preceded with extra sync bytes at the start of the packet For this reason SerialOpen leaves the interface powered up so no incoming bytes are lost When the CR1000 has data to send with the RS 232 port if the data are not a response to a received packet such as sending a beacon it will power up the interface send the data and return to the dormant state with no 40 second timeout Q How ...

Page 266: ...characters can later be accessed with MoveBytes if necessary Q How can a variable populated by SerialIn be used in more than one sequence and still avoid using the variable in other sequences when it contains old data A A simple caution is that the destination variable should not be used in more than one sequence to avoid using the variable when it contains old data However this is not always poss...

Page 267: ...sued and the full sensor response viewed Transparent mode does not record data Programmed mode automates much of the SDI 12 protocol and provides for data recording 7 9 18 1 SDI 12 Transparent Mode System operators can manually interrogate and enter settings in probes using transparent mode Transparent mode is useful in troubleshooting SDI 12 systems because it allows direct communication with pro...

Page 268: ...e manufacturers may allow it to be used in other commands Command body for example M1 an upper case letter the command followed by alphanumeric qualifiers Command termination an exclamation mark An active sensor responds to each command Responses have several standard forms and terminate with CR LF carriage return line feed SDI 12 commands and responses are defined by the SDI 12 Support Group www ...

Page 269: ...ersion number STD 03 01 indicates the sensor revision number is 01 Start Measurement 3 aM atttn CR LF Start Measurement and Request CRC 3 aMC atttn CR LF Additional Measurements 3 aM1 aM9 atttn CR LF Additional Measurements and Request CRC 3 aMC1 aMC9 atttn CR LF Continuous Measurements aR0 aR9 a values CR LF formatted like the D commands Continuous Measurements and Request CRC aRC0 aRC9 a values ...

Page 270: ... 3 NRSYSINC indicates the manufacturer 100000 indicates the sensor model 1 2 is the sensor version 101 is the sensor serial number SDI 12 Start Measurement Commands Measurement commands elicite responses in the form atttnn where a is the sensor address ttt is the time s until measurement data are available nn is the number of values to be returned when one or more subsequent D commands are issued ...

Page 271: ...e CR1000 after the aMv or aCv measurement commands In transparent mode through CR1000 terminal commands you need to issue these commands in series When in automatic mode if the expected number of data values are not returned in response to a aD0 command the datalogger issues aD1 aD2 etc until all data are received In transparent mode you must do likewise The limiting constraint is that the total n...

Page 272: ...n Enter Type 9 in answer to Select 100 in answer to Enter timeout secs Y to ASCII Y SDI 12 communications are then opened for viewing The SDI12Recorder instruction automates the issuance of commands and interpretation of sensor responses Commands entered into the SDIRecorder instruction differ slightly in function from similar commands entered in transparent mode In transparent mode for example th...

Page 273: ... to next CRBasic instruction If ttt expired issues aDv command s See section Alternate Start Concurrent Measurement Command Cv p 273 Sensor responds to aDv command s with data if any If no data loads NAN into variable CR1000 moves to next CRBasic instruction does not re issue aCv command Send Identification I CR1000 issues aI command Start Measurement M Mv MCv CR1000 issues aMv command Sensor resp...

Page 274: ... SDI 12 measurements here SDI12Recorder Temp1 1 0 M 1 0 0 SDI12Recorder Temp2 1 1 M 1 0 0 SDI12Recorder Temp3 1 2 M 1 0 0 SDI12Recorder Temp4 1 3 M 1 0 0 NextScan EndProg However the code sequence has three problems 1 It does not allow measurement of non SDI 12 sensors at the required frequency because the SDI12Recorder instruction takes too much time 2 It does not achieve required five minute sam...

Page 275: ...will be in a high power state continuously To remedy this problem measurements need to be started with C command but stopped short of receiving the next measurement command hard coded part of the C routine after their data are polled The SDI12Recorder instruction C command not C provides this functionality as shown in CRBasic example Using Alternate Concurrent Command aC p 277 A modification of th...

Page 276: ...lTemp Temp 1 250 Measure CR1000 wiring panel temperature to use as base for simulated temperatures Temp 2 Temp 3 and Temp 4 Temp 2 Temp 1 5 Temp 3 Temp 1 10 Temp 4 Temp 1 15 CallTable Temp NextScan SlowSequence Do Note SDI12SensorSetup SDI12SensorResponse must be renewed after each successful SDI12Recorder poll SDI12SensorSetup 1 1 0 95 Delay 1 95 Sec SDI12SensorResponse Temp 1 Loop EndSequence Sl...

Page 277: ...ower budget To make full use of the aC command measurement control logic is used Declare variables Dim X Public RunSDI12 Public Cmd 4 Public Temp_Tmp 4 Public Retry 4 Public IndDone 4 Public Temp_Meas 4 Public GroupDone Main Program BeginProg Preset first measurement command to C For X 1 To 4 cmd X C Next X Set five second scan rate Scan 5 Sec 0 0 Other measurements here Set five minute SDI 12 mea...

Page 278: ...1 EndIf Next X Summarize Measurement Event Success For X 1 To 4 GroupDone GroupDone IndDone X Next X Stop current measurement event reset controls If GroupDone 4 Then RunSDI12 False GroupDone 0 For X 1 To 4 IndDone X 0 Retry X 0 Next X Else GroupDone 0 EndIf EndIf End of measurement sequence NextScan EndProg SDI12Recorder sends any string enclosed in quotation marks in the Command parameter If the...

Page 279: ...ribed in SDI 12 Transparent Mode p 267 issue CRLF Enter key until CR1000 prompt appears Type W and then Enter Type 9 in answer to Select 100 in answer to Enter timeout secs Y to ASCII Y SDI 12 communications are then opened for viewing The SDI12SensorSetup SDI12SensorResponse instruction pair programs the CR1000 to behave as an SDI 12 sensor A common use of this feature is the transfer of data fro...

Page 280: ...pair to program the CR1000 to emulate an SDI 12 sensor A common use of this feature is the transfer of data from the CR1000 to SDI 12 compatible instruments including other Campbell Scientific dataloggers over a single wire interface SDI 12 port to SDI 12 port The recording datalogger simply requests the data using the aD0 command Public PanelTemp Public Batt_volt Public SDI_Source 10 BeginProg Sc...

Page 281: ...12 probe all probes on the same SDI 12 port will wake up However only the probe addressed by the datalogger will respond All other probes will remain active until the timeout period expires Example Probe Water Content Power Usage Quiescent 0 25 mA Measurement 120 mA Measurement time 15 s Active 66 mA Timeout 15 s Probes 1 2 3 and 4 are connected to SDI 12 control port C1 The time line in table Exa...

Page 282: ...8 15 Yes 120 66 66 66 318 16 1D0 Yes 66 66 66 66 264 17 66 66 66 66 264 29 66 66 66 66 264 30 Yes 66 66 66 66 264 31 0 25 0 25 0 25 0 25 1 35 0 25 0 25 0 25 0 25 1 7 9 19 String Operations String operations are performed using CRBasic string functions as listed in String Functions p 574 7 9 19 1 String Operators The table String Operators p 282 lists and describes available string operators String...

Page 283: ...nce between NULL and NULL abc abc 0 Difference between e and c abe abc 2 Difference between c and b ace abe 1 Difference between d and NULL abcd abc 100 ASCII codes of the first characters in each string are compared If the difference between the codes is zero codes for the next characters are compared When unequal codes or NULL are encountered NULL terminates all strings the requested comparison ...

Page 284: ...on of numbers and strings to variables declared As Float and As String Declare Variables Public Num 12 As Float Public Str 2 As String Dim I BeginProg Scan 1 Sec 0 0 I 0 Set I to zero Data type of the following destination variables is Float because Num array is declared As Float I 1 Increment I by 1 to clock through sequential elements of the Num array As shown in the following expression if all ...

Page 285: ...use Str array is declared As String I 0 I 1 Str I 1 2 hey 4 5 6 3hey456 I 1 Str I 1 2 hey 4 5 6 3hey96 NextScan EndProg 7 9 19 3 String NULL Character All strings are automatically NULL terminated NULL is the same as Chr 0 or counts as one of the characters in the string Assignment of just one character is that character followed by a NULL unless the character is a NULL Table 48 String NULL Charac...

Page 286: ...6789 to 123A56789 Given StringVar 7 123456789 Result is 123456789 try does not work StringVar 7 1 4 A Result is 123A NULL 56789 Instead use StringVar 7 MoveBytes Strings 7 1 4 0 A 0 1 Result is 123A56789 7 9 19 5 Extracting String Characters A specific character in the string can be accessed by using the dimensional syntax that is when the third dimension of a string is specified the third dimensi...

Page 287: ... is Str 7 LTrim The battery is 12 4 Volts Str 8 RTrim The battery is 12 4 Volts Str 9 Trim The battery is 12 4 Volts Str 10 UpperCase The battery is 12 4 Volts The battery 12 4 Volts The battery is 12 4 Volts The battery is 12 4 Volts The battery is 12 4 Volts THE BATTERY IS 12 4 VOLTS Str 12 Left The battery is 12 4 Volts 5 Str 13 Right The battery is 12 4 Volts 7 The b Volts CRBasic Example 60 F...

Page 288: ...share the same name and not conflict If global variables are passed to local variables of different type the same type conversion rules apply as apply to conversions among variables declared as Public or Dim See Expressions with Numeric Data Types p 162 for conversion types Note To avoid programming conflicts pass information into local variables and or define some global variables and use them ex...

Page 289: ...eclare Product of PI counter 2 Public pi_product 2 As Float Global variable Used only in subroutine by choice For Next incrementor used in the subroutine Public i_sub As Long Declare Data Table DataTable pi_results True 1 Sample 1 counter IEEE4 EndTable Declare Subroutine Declares j 4 as local array can only be used in subroutine Sub ProcessSub j 2 As Long OutVar 2 As Float For i_sub 1 To 2 j i_su...

Page 290: ...als for those modems For information on available TCP IP PPP devices refer to the appendix Network Links p 652 for model numbers Detailed information on use of TCP IP PPP devices is found in their respective manuals available at www campbellsci com http www campbellsci com and CRBasic Editor Help 7 9 21 1 PakBus Over TCP IP and Callback Once the hardware has been configured basic PakBus communicat...

Page 291: ...ically for any HTML XML and JPEG files found on the CR1000 drives To copy files to these drives choose File Control from the datalogger support software p 512 menu Figure 73 Preconfigured HTML Home Page 7 9 21 3 Custom HTTP Web Server Although the default home page cannot be accessed for editing it can be replaced with the HTML code of a customized web page To replace the default home page save th...

Page 292: ...ogram appears as shown in the figure Home Page Created using WebPageBegin Instruction p 292 The Campbell Scientific logo in the web page comes from a file called SHIELDWEB2 JPG that must be transferred from the PC to the CR1000 CPU drive using File Control in the datalogger support software A second web page shown in figure Customized Numeric Monitor Web Page p 293 called monitor html was created ...

Page 293: ...he end of some lines allows a code statement to be wrapped to the next line Dim Commands As String 200 Public Time 9 RefTemp Public Minutes As String Seconds As String Temperature As String DataTable CRTemp True 1 DataInterval 0 1 Min 10 Sample 1 RefTemp FP2 Average 1 RefTemp FP2 False EndTable Default HTML Page WebPageBegin default html Commands HTTPOut html HTTPOut style body background color ol...

Page 294: ...POut body HTTPOut html WebPageEnd BeginProg Scan 1 Sec 3 0 PanelTemp RefTemp 250 RealTime Time Minutes FormatFloat Time 5 02 0f Seconds FormatFloat Time 6 02 0f Temperature FormatFloat RefTemp 02 02f CallTable CRTemp NextScan EndProg 7 9 21 4 FTP Server The CR1000 automatically runs an FTP server This allows Windows Explorer to access the CR1000 file system with FTP with drives on the CR1000 being...

Page 295: ...to allow serial communication over a TCP IP port This is useful when communicating with a serial sensor over Ethernet with micro serial server third party serial to Ethernet interface to which the serial sensor is connected See the network link manual and the CRBasic Editor Help for the TCPOpen instruction for more information Information on available network links is available in the appendix Net...

Page 296: ...at are stored All output options result in an array of values the elements of which have _WVc n as a suffix where n is the element number The array uses the name of the Speed East variable as its base Table OutputOpt Options p 296 lists and describes OutputOpt options Table 53 WindVector OutputOpt Options Option Description WVc is the Output Array 0 WVc 1 Mean horizontal wind speed S WVc 2 Unit ve...

Page 297: ...fset When this is done a measurement will equal the offset only when wind speed is zero consequently additional code is often included to zero the measurement when it equals the offset so that WindVector can reject measurements when wind speed is zero Standard deviation can be processed one of two ways 1 using every sample taken during the data storage interval enter 0 for the Subinterval paramete...

Page 298: ...ple Vectors In figure Input Sample Vectors p 298 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 the east and north components of the sample vector At the end of data storage interval T the sum of the sample vectors is described by a vector of magnitude U and direction Θu If the input sample interval is t the numbe...

Page 299: ...e of orthogonal sensors where Standard deviation of wind direction Yamartino algorithm where and Ux and Uy are as defined above Mean Wind Vector Resultant mean horizontal wind speed Ū Figure 77 Mean Wind Vector Graph where for polar sensors 299 ...

Page 300: ...n p 300 that where Standard Deviation of Direction Figure 78 Standard Deviation of Direction The Taylor Series for the Cosine function truncated after 2 terms is For deviations less than 40 degrees the error in this approximation is less than 1 At deviations of 60 degrees the error is 10 The speed sample can be expressed as the deviation about the mean speed Equating the two expressions for Cos θ ...

Page 301: ...re not correlated with the deviation in direction This assumption has been verified in tests on wind data by Campbell Scientific the Air Resources Laboratory NOAA Idaho Falls ID and MERDI Butte MT In these tests the maximum differences in and have never been greater than a few degrees The final form is arrived at by converting from radians to degrees 57 296 degrees radian 301 ...

Page 302: ......

Page 303: ...asurement without an accurate time reference has little meaning Data on the CR1000 are stored with time stamps How closely a time stamp corresponds to the actual time a measurement is taken depends on several factors The time stamp in common CRBasic programs matches the time at the beginning of the current scan as measured by the real time clock in the CR1000 If a scan starts at 15 00 00 data outp...

Page 304: ...time stamp will reflect system time instead of scan time CRBasic example Time Stamping with System Time p 304 shows the basic code requirements The DataTime instruction is a more recent introduction that facilitates time stamping with system time See Data Table Declarations p 540 and CRBasic Editor Help for more information CRBasic Example 63 Time Stamping with System Time This program example dem...

Page 305: ...H L terminals configurable for differential DIFF or single ended SE inputs For example differential channel 1 is comprised of terminals 1H and 1L with 1H as high and 1L as low 8 1 2 1 Voltage Measurements Details Related Topicss Voltage Measurements Specifications Voltage Measurements Overview p 63 Voltage Measurements Details p 305 8 1 2 1 1 Voltage Measurement Mechanics Measurement Sequence An a...

Page 306: ...g two different voltage measurement instructions with the same voltage range takes about twice as long as using one instruction with two repetitions Parameters listed in table CRBasic Parameters Varying Measurement Sequence and Timing p 307 vary sequence and timing of voltage measurement instructions Figure 80 Programmable Gain Input Amplifier PGIA A voltage measurement proceeds as follows 1 Set P...

Page 307: ...eates error in the measurement Slow integration removes more noise than fast integration Integration time can be modified to reject 50 Hz and 60 Hz mains power line noise Fast integration may be preferred at times to minimize time skew between successive measurements maximize throughput rate maximize life of the CR1000 power supply minimize polarization of polar sensors such as those for measuring...

Page 308: ...VoltDiff BrFull BrFull6W BrHalf4W TCDiff 8 1 2 1 2 Voltage Measurement Limitations Caution Sustained voltages in excess of 8 6 V applied to terminals configured for analog input can temporarily corrupt all analog measurements Warning Sustained voltages in excess of 16 V applied to terminals configured for analog input will damage CR1000 circuitry Voltage Ranges Related Topicss Voltage Measurements...

Page 309: ...ange selects the next larger range when the signal exceeds 90 of a range Use auto ranging for a signal that occasionally exceeds a particular range for example a type J thermocouple measuring a temperature usually less than 476 C 25 mV range but occasionally as high as 500 C 250 mV range AutoRange should not be used for rapidly fluctuating signals particularly signals traversing multiple voltage r...

Page 310: ... So Vcm V V 2 or the voltage remaining on the inputs when Vdm 0 The total voltage on the V and V inputs is given as V Vcm Vdm 2 and V Vcm Vdm 2 respectively The PGIA ignores or rejects common mode voltages as long as voltages at V and V are within the Input Limits specification which for the CR6 is 5 Vdc relative to ground Input voltages wherein V or V or both are beyond the 5 Vdc limit may suffer...

Page 311: ...les p 327 current loops p 337 resistance p 337 and strain p 342 is located in sections for those measurements Single Ended or Differential Deciding whether a differential or single ended measurement is appropriate is usually by far the most important consideration when addressing voltage measurement quality The decision requires trade offs of accuracy and precision noise cancelation measurement sp...

Page 312: ...ensor and the CR1000 will result in an error in the measurement For example if the measuring junction of a copper constantan thermocouple being used to measure soil temperature is not insulated and the potential of earth ground is 1 mV greater at the sensor than at the point where the CR1000 is grounded the measured voltage will be 1 mV greater than the true thermocouple output or report a tempera...

Page 313: ...table Analog Voltage Measurement Offsets p 313 Note Error discussed in this section and error related specifications of the CR1000 do not include error introduced by the sensor or by the transmission of the sensor signal to the CR1000 Table 56 Analog Voltage Measurement Accuracy1 0 to 40 C 25 to 50 C 55 to 85 C 2 0 06 of reading offset 0 12 of reading offset 0 18 of reading offset 1 Assumes the CR...

Page 314: ...ncountered with thermocouples Offset depends on measurement type and voltage input range Offsets equations are tabulated in table Analog Voltage Measurement Offsets p 313 For example for a differential measurement with input reversal on the 5000 mV input range the offset voltage is calculated as follows offset 1 5 Basic Resolution 1 0 µV 1 5 667 µV 1 0 µV 1001 5 µV where Basic Resolution is the pu...

Page 315: ...ates error in the measurement Slow integration removes more noise than fast integration When the duration of the integration matches the duration of one cycle of ac power mains noise that noise is filtered out The table Analog Measurement Integration p 316 lists valid integration duration arguments Faster integration may be preferred to achieve the following objectives Minimize time skew between s...

Page 316: ...t and normally the minimum 16 667 ms _60Hz Filters 60 Hz noise 20 ms _50Hz Filters 50 Hz noise Ac Power Line Noise Rejection Grid or mains power 50 or 60 Hz 230 or 120 Vac can induce electrical noise at integer multiples of 50 or 60 Hz Small analog voltage signals such as thermocouples and pyranometers are particularly susceptible CR1000 voltage measurements can be programmed to reject filter 50 H...

Page 317: ... 3000 μs 10000 μs 1 Applies to analog input voltage ranges mV2500 and mV5000 2 Excitation time and settling time are equal in measurements requiring excitation The CR1000 cannot excite VX excitation terminals during A to D conversion The one half cycle technique with excitation limits the length of recommended excitation and settling time for the first measurement to one half cycle The CR1000 does...

Page 318: ...tion up to 50000 µs Programmed settling time is a function of arguments placed in the SettlingTime and Integ parameters of a measurement instruction Argument combinations and resulting settling times are listed in table CRBasic Measurement Settling Times p 318 Default settling times those resulting when SettlingTime 0 provide sufficient settling in most cases Additional settling time is often prog...

Page 319: ... further increase results in negligible change in the measured voltage The programmed settling time at this point indicates the settling time needed for the sensor cable combination CRBasic example Measuring Settling Time p 319 presents CRBasic code to help determine settling time for a pressure transducer using a high capacitance semiconductor The code consists of a series of full bridge measurem...

Page 320: ...1 0 0 BrFull PT 4 1 mV7 5 1 Vx1 2500 True True 400 250 1 0 0 BrFull PT 5 1 mV7 5 1 Vx1 2500 True True 500 250 1 0 0 BrFull PT 6 1 mV7 5 1 Vx1 2500 True True 600 250 1 0 0 BrFull PT 7 1 mV7 5 1 Vx1 2500 True True 700 250 1 0 0 BrFull PT 8 1 mV7 5 1 Vx1 2500 True True 800 250 1 0 0 BrFull PT 9 1 mV7 5 1 Vx1 2500 True True 900 250 1 0 0 BrFull PT 10 1 mV7 5 1 Vx1 2500 True True 1000 250 1 0 0 BrFull ...

Page 321: ... the following section is highly technical and is not necessary for the routine operation of the CR1000 The information is included to foster a deeper understanding of the open input detection feature of the CR1000 Summary An option to detect an open input such as a broken sensor or loose connection is available in the CR1000 The option is selected by appending a C to the Range code Using this opt...

Page 322: ...distinct error voltage The cable may even act as an aerial and inject noise which also might not read as an error voltage The sensor may object to the test pulse being connected to its output even for 100 µs There is little or no risk of damage but the sensor output may be caused to temporarily oscillate Programming a longer settling time in the CRBasic measurement instruction to allow oscillation...

Page 323: ...the ground terminal caused by return currents from another device that is powered from the CR1000 wiring panel such as another manufacturer s telecommunication modem or a sensor that requires a lot of power Currents 5 mA are usually undesirable The error can be avoided by routing power grounds from these other devices to a power ground G terminal on the CR1000 wiring panel rather than using a sign...

Page 324: ...on reversal results in a polarity change of the measured voltage so that two measurements with opposite polarity can be subtracted and divided by 2 for offset reduction similar to input reversal for differential measurements Ratiometric differential measurement instructions allow both RevDiff and RevEx to be set True This results in four measurement sequences positive excitation polarity with posi...

Page 325: ...oltage bridge measurements cancels stray voltage offsets For example if 3 µV offset exists in the measurement circuitry a 5 mV signal is measured as 5 003 mV When the input or excitation is reversed the second sub measurement is 4 997 mV Subtracting the second sub measurement from the first and then dividing by 2 cancels the offset 5 003 mV 4 997 mV 10 000 mV 10 000 mV 2 5 000 mV When the CR1000 r...

Page 326: ... automatically performed albeit less effectively by using measurements from the automatic background calibration Disabling RevDiff RevEx or MeasOff speeds up measurement time however the increase in speed comes at the cost of accuracy because of the following 1 RevDiff RevEx and MeasOff are more effective 2 Background calibrations are performed only periodically so more time skew occurs between th...

Page 327: ... dissimilar metal wires form parasitic thermocouple junctions the effects of which cancel if the two wires are at the same temperature Consequently the two wires at the reference junction are placed in close proximity so they remain at the same temperature Knowledge of the reference junction temperature provides the determination of a reference junction compensation voltage corresponding to the te...

Page 328: ...uple is connected to The terminal strip cover should always be used when making thermocouple measurements It insulates the terminals from drafts and rapid fluctuations in temperature as well as conducting heat to reduce temperature gradients In a typical installation where the CR1000 is in a weather tight enclosure not subject to violent swings in temperature or uneven solar radiation loading the ...

Page 329: ...Section 8 Operation Figure 86 Panel Temperature Error Summary Figure 87 Panel Temperature Gradients low temperature to high 329 ...

Page 330: ...n light of this the fixed temperature limits of error e g 1 0 C for type T as opposed to the slope error of 0 75 of the temperature in the table above are probably greater than one would experience when considering temperatures in the environmental range i e the reference junction at 0 C is relatively close to the temperature being measured so the absolute error the product of the temperature diff...

Page 331: ...ple calculations of thermocouple input error demonstrate how the selected input voltage range impacts the accuracy of measurements Figure Input Error Calculation p 332 shows from where various values are drawn to complete the calculations See Measurement Accuracy for more information on measurement accuracy and accuracy calculations When the thermocouple measurement junction is in electrical conta...

Page 332: ...for 250 mV Input Range R 50 to 1768 50 to 320 50 to 770 50 to 1768 not used S 50 to 1768 50 to 330 50 to 820 50 to 1768 not used N 270 to 1300 80 to 105 270 to 260 270 to 725 725 Figure 89 Input Error Calculation Input Error Examples Type T Thermocouple 45 C These examples demonstrate that in the environmental temperature range input offset error is much greater than input gain error because a sma...

Page 333: ...rmocouple voltage increases at temperature extremes particularly when the temperature and thermocouple type require using the 200 250 mV range For example assume type K chromel alumel thermocouples are used to measure temperatures around 1300 C These examples demonstrate that at temperature extremes input offset error is much less than input gain error because the use of a larger input range is re...

Page 334: ...ual readings will vary by greater than this Thermocouple Polynomial Error NIST Monograph 175 gives high order polynomials for computing the output voltage of a given thermocouple type over a broad range of temperatures To speed processing and accommodate the CR1000 math and storage capabilities four separate 6th order polynomials are used to convert from volts to temperature over the range covered...

Page 335: ... polynomial fit ranges given The reference junction temperature measurement can come from a PanelTemp instruction or from any other temperature measurement of the reference junction The standard and extended XT operating ranges for the CR1000 are 25 to 50 C and 55 to 85 C respectively These ranges also apply to the reference junction temperature measurement using PanelTemp Two sources of error ari...

Page 336: ... An external junction in an insulated box is often used to facilitate thermocouple connections It can reduce the expense of thermocouple wire when measurements are made long distances from the CR1000 Making the external junction the reference junction which is preferable in most applications is accomplished by running copper wire from the junction to the CR1000 Alternatively the junction box can b...

Page 337: ...t to rapidly equilibrate any thermal gradients to which the box is subjected It is not necessary to design a constant temperature box It is desirable that the box respond slowly to external temperature fluctuations Radiation shielding must be provided when a junction box is installed in the field Care must also be taken that a thermal gradient is not induced by conduction through the incoming wire...

Page 338: ...urements In addition to RevDiff and MeasOff parameters discussed in the section Offset Voltage Compensation p 323 CRBasic bridge measurement instructions include the RevEx parameter that provides the option to program a second set of measurements with the excitation polarity reversed Much of the offset error inherent in bridge measurements is canceled out by setting RevDiff MeasOff and RevEx to Tr...

Page 339: ... Diagram CRBasic Instruction and Fundamental Relationship Other Relationships Half Bridge 1 CRBasic Instruction BrHalf Fundamental Relationship 2 Three Wire Half Bridge 1 3 CRBasic Instruction BrHalf3W Fundamental Relationship 2 Four Wire Half Bridge 1 3 CRBasic Instruction BrHalf4W Fundamental Relationship 2 339 ...

Page 340: ...hips apply to BrFull and BrFull6W Six Wire Full Bridge 1 CRBasic Instruction BrFull6W Fundamental Relationship 2 1 Key Vx excitation voltage V1 V2 sensor return voltages Rf fixed bridge or completion resistor Rs variable or sensing resistor 2 Where X result of the CRBasic bridge measurement instruction with a multiplier of 1 and an offset of 0 3 See the appendix Resistive Bridge Modules p 647 for ...

Page 341: ...sensing grids The use of single polarity dc excitation with these sensors can result in polarization of sensor materials and the substance measured Polarization may cause erroneous measurement calibration changes or rapid sensor decay Other sensors for example LVDTs linear variable differential transformers require ac excitation because they require inductive coupling to provide a signal Dc excita...

Page 342: ...stimating Measurement Accuracy for Ratiometric Measurement Instructions which should be available at www campbellsci com app notes http www campbellsci com app notes in June of 2015 8 1 2 5 Strain Measurements Details Related Topics Strain Measurements Overview p 68 Strain Measurements Details p 342 FieldCalStrain Examples p 223 A principal use of the four wire full bridge is the measurement of st...

Page 343: ...er two parallel to 5 Full bridge strain gage Half the bridge has two gages parallel to and and the other half to and 6 Full bridge strain gage Half the bridge has two gages parallel to and and the other half to and where Poisson s Ratio 0 if not applicable GF Gage Factor Vr 0 001 Source Zero if BRConfig code is positive Vr 0 001 Source Zero if BRConfig code is negative and where source the result ...

Page 344: ... applications with critical analog voltage measurement requirements A minimum two year recalibration cycle is recommended Unless a Calibrate instruction is present the CR1000 automatically auto calibrates during spare time in the background as an automatic slow sequence p 157 with a segment of the calibration occurring every four seconds If there is insufficient time to do the background calibrati...

Page 345: ...ntegration durations 250 µs 50 Hz half cycle and 60 Hz half cycle result in a maximum of 18 different gains G and 18 offsets for VoltSe measurements B and 18 offsets for VoltDiff measurements B to be determined during CR1000 self calibration maximum of 54 values These values can be viewed in the Status table with entries identified as listed in table Status Table Calibration Entries p 346 Automati...

Page 346: ...tion CalGain 14 Gain 2500 50 Hz Rejection CalGain 15 Gain 250 50 Hz Rejection CalGain 16 Gain 25 50 Hz Rejection CalGain 17 Gain 7 5 50 Hz Rejection CalGain 18 Gain 2 5 50 Hz Rejection CalSeOffset 1 SE Offset 5000 250 ms CalSeOffset 2 SE Offset 2500 250 ms CalSeOffset 3 SE Offset 250 250 ms CalSeOffset 4 SE Offset 25 250 ms CalSeOffset 5 SE Offset 7 5 250 ms CalSeOffset 6 SE Offset 2 5 250 ms CalS...

Page 347: ...jection CalDiffOffset 10 Diff Offset 25 60 Hz Rejection CalDiffOffset 11 Diff Offset 7 5 60 Hz Rejection CalDiffOffset 12 Diff Offset 2 5 60 Hz Rejection CalDiffOffset 13 Diff Offset 5000 50 Hz Rejection CalDiffOffset 14 Diff Offset 2500 50 Hz Rejection CalDiffOffset 15 Diff Offset 250 50 Hz Rejection CalDiffOffset 16 Diff Offset 25 50 Hz Rejection CalDiffOffset 17 Diff Offset 7 5 50 Hz Rejection ...

Page 348: ...ff Offset 2500 60 Hz Rejection 5 LSB 24 Gain 2500 60 Hz Rejection 0 34 mV LSB 25 SE Offset 250 60 Hz Rejection 5 LSB 26 Diff Offset 250 60 Hz Rejection 5 LSB 27 Gain 250 60 Hz Rejection 0 067 mV LSB 28 SE Offset 25 60 Hz Rejection 5 LSB 29 Diff Offset 25 60 Hz Rejection 5 LSB 30 Gain 25 60 Hz Rejection 0 0067 mV LSB 31 SE Offset 7 5 60 Hz Rejection 10 LSB 32 Diff Offset 7 5 60 Hz Rejection 10 LSB ...

Page 349: ...ions p 553 Read More Review the PULSE COUNTERS p 349 and Pulse on C Terminals sections in CR1000 Specifications p 97 Review pulse measurement programming in CRBasic Editor Help for the PulseCount and TimerIO instructions Note Peripheral devices are available from Campbell Scientific to expand the number of pulse input channels measured by the CR1000 Refer to the appendix Measurement and Control Pe...

Page 350: ...Section 8 Operation Figure 91 Pulse Sensor Output Signal Types Figure 92 Switch Closure Pulse Sensor 350 ...

Page 351: ...Low level ac counts PulseCount Low level ac Hz Low level ac running average High frequency counts High frequency Hz High frequency running average Switch closure counts Switch closure Hz Switch closure running average Calculated period TimerIO Calculated frequency Time from edge on previous port Time from edge on port 1 Count of edges Pulse count period Pulse count frequency 351 ...

Page 352: ...nsors C terminals can be conditioned for open collector or open drain with an external pull up resistor as shown in figure Using a Pull up Resistor on C terminals The pull up resistor counteracts an internal 100 kΩ pull down resistor allowing inputs to be pulled to 3 8 V for reliable measurements 8 1 3 2 Low Level Ac Measurements Details Related Topics Low Level Ac Input Modules Overview p 367 Low...

Page 353: ...s Flow meters Measurements include counts frequency in hertz and running average Refer to the section Frequency Resolution p 353 for information about how the resolution of a frequency measurement can be different depending on whether the measurement is made with the PulseCount or TimerIO instruction P Terminals Maximum input frequency 250 kHz CRBasic instructions PulseCount High frequency pulse i...

Page 354: ...tervals Increasing a measurement interval from 1 s to 10 s either by increasing the scan interval when using PulseCount or by averaging when using PulseCount or TimerIO improves the resulting frequency resolution from 1 Hz to 0 1 Hz Averaging can be accomplished by the Average AvgRun and AvgSpa instructions Also PulseCount has the option of entering a number greater than 1 in the POption parameter...

Page 355: ...witch closure frequency is less than the maximum high frequency measurement frequency Sensors that commonly output a switch closure or open collector signal include Tipping bucket rain gages Switch closure anemometers Flow meters Data output options include counts frequency Hz and running average P Terminals An internal 100 kΩ pull up resistor pulls an input to 5 Vdc with the switch open whereas a...

Page 356: ... pulse counters is one count or 1 Hz Counters are read at the beginning of each scan and then cleared Counters will overflow if accumulated counts exceed 16 777 216 resulting in erroneous measurements Counts are the preferred PulseCount output option when measuring the number of tips from a tipping bucket rain gage or the number of times a door opens Many pulse output sensors such as anemometers a...

Page 357: ... on P Terminals Switch Closure on P Terminal Open Collector on on P Terminal Table 80 Switch Closures and Open Collectors on C Terminals Switch Closure on C Terminal No Pull Up Switch Closure on C Terminal 5 Vdc Pull Up Open Collector on C Terminal 5 Vdc Pull Up 357 ...

Page 358: ...als and CRBasic instructions The table Three Differing Specifications Between P and C Terminals p 358 compares specifications for pulse input terminals to emphasize the need for matching the proper device to the application Table 81 Three Specifications Differing Between P and C Terminals P Terminal C Terminal High Frequency Maximum 250 kHz 400 kHz Input Voltage Maximum 20 Vdc 16 Vdc State Transit...

Page 359: ...rough the filter Higher frequency signals are attenuated more If a signal is attenuated enough it may not pass the state transition thresholds required by the detection device as listed in table Pulse Input Terminals and Measurements p 69 To avoid over attenuation sensor output voltage must be increased at higher frequencies For example table Low Level Ac Filter Attenuation p 360 shows that increa...

Page 360: ...minal The specified number of cycles is timed with a resolution of 136 ns making the resolution of the period measurement 136 ns ns divided by the number of cycles chosen Low level signals are amplified prior to a voltage comparator The internal voltage comparator is referenced to the programmed threshold The threshold parameter allows referencing the internal voltage comparator to voltages other ...

Page 361: ...nt A voltage comparator with 20 mV of hysteresis follows the voltage gain stages The effective input referred hysteresis equals 20 mV divided by the selected voltage gain The effective input referred hysteresis on the 25 mV range is 2 mV consequently 2 mV of noise on the input signal could cause extraneous counts For best results select the largest input range smallest gain that meets the minimum ...

Page 362: ... sensor housings can be measured to compensate for temperature errors in the measurement Figure 96 Vibrating Wire Sensor 8 1 5 1 Time Domain Measurement Although obsolete in many applications time domain period averaging vibrating wire measurements can be made on H L terminals The VibratingWire instruction makes the measurement Measurements can be made directly on these terminals but usually are m...

Page 363: ...Input to 5 Volts p 363 shows a circuit that limits voltage to 5 Vdc Figure 97 Circuit to Limit C Terminal Input to 5 Vdc 8 1 6 2 SDI 12 Sensor Support Details Related Topics SDI 12 Sensor Support Overview p 72 SDI 12 Sensor Support Details p 363 Serial I O SDI 12 Sensor Support Programming Resource p 267 SDI 12 Sensor Support Instructions p 555 SDI 12 is a communication protocol developed to trans...

Page 364: ...p 317 8 1 8 2 Pulse Sensors Because of the long interval between switch closures in tipping bucket rain gages appreciable capacitance can build up between wires in long cables A built up charge can cause arcing when the switch closes and so shorten switch life As shown in figure Current Limiting Resistor in a Rain Gage Circuit p 364 a 100 Ω resistor is connected in series at the switch to prevent ...

Page 365: ...mpensates for latencies in many telecommunication systems and can achieve synchronies of 100 ms deviation Errors of 2 to 3 second may be seen on very busy RF connections or long distance internet connections Note Common PC clocks are notoriously inaccurate Information available at http www nist gov pml div688 grp40 its cfm gives some good pointers on keeping PC clocks accurate 2 Digital trigger a ...

Page 366: ...nection internet GPRS private network can synchronize its clock relative to Coordinated Universal Time UTC using the NetworkTimeProtocol instruction Precisions are usually maintained to within 10 ms The NTP server could be another logger or any NTP server such as an email server or nist gov Try to use a local server something where communication latency is low or at least consistent Also try not t...

Page 367: ...mpbell Scientific recommends consulting with an application engineer when deciding which serial input module is suited to a particular application 8 2 4 Terminal Input Modules Read More For more information see appendix Passive Signal Conditioners List p 647 Terminal Input Modules TIMs are devices that provide simple measurement support circuits in a convenient package TIMs include voltage divider...

Page 368: ...riable control A switched 12 Vdc terminal SW12V is also available See the section Switched Unregulated Nominal 12 Volt p 105 8 2 7 1 Terminals Configured for Control C terminals can be configured as output ports so set low 0 Vdc or high 5 Vdc using the PortSet or WriteIO instructions Ports C4 C5 and C7 can be configured for pulse width modulation with maximum periods of 36 4 s 9 1 s and 2 27 s res...

Page 369: ...iver Circuit with Relay p 370 shows a typical relay driver circuit in conjunction with a coil driven relay which may be used to switch external power to a device In this example when the terminal configured for control is set high 12 Vdc from the datalogger passes through the relay coil closing the relay which completes the power circuit and turns on the fan In other applications it may be desirab...

Page 370: ...s Memory Overview p 87 Memory Details p 370 Data Storage Devices List p 653 8 3 1 Storage Media CR1000 memory consists of four non volatile storage media Internal battery backed SRAM Internal flash Internal serial flash External flash optional flash USB drive External CompactFlash optional CF card and module CRD drive p 653 370 ...

Page 371: ...red data is organized as ring memory When the ring is full oldest data are overwritten by newest data The DataTable instruction however has an option to set a data table to Fill and Stop Table 84 CR1000 Memory Allocation Memory Sector Comments Main Battery Backed SRAM 1 4 MB OS variables CRBASIC compiled program binary structure CRBASIC variables Final data memory Communication memory USR FAT32 RA...

Page 372: ...ini External CompactFlash Optional 16 GB CRD drive CRD drive p 653 Holds program files Holds a copy of final storage table data as files when TableFile instruction with Option 64 is used replaces CardOut See Writing High Frequency Data to Memory Cards p 205 for more information When data are requested by a PC data first are provided from SRAM If the requested records have been overwritten in SRAM ...

Page 373: ...ogram Final Data Memory Stores data Fills memory remaining after all other demands are satisfied Configurable as ring or fill and stop memory Compile error occurs if insufficient memory is available for user allocated data tables Given lowest priority in SRAM memory allocation Communication Memory 1 Construction and temporary storage of PakBus packets Communication Memory 2 Constructed Routing Tab...

Page 374: ...ed The USB drive is automatically partitioned when a Campbell Scientific mass storage device p 653 is connected The CRD drive is automatically partitioned when a memory card is installed 8 3 1 1 1 Data Table SRAM Primary storage for measurement data are those areas in SRAM allocated to data tables as detailed in table CR1000 SRAM Memory p 372 Measurement data can be also be stored as discrete file...

Page 375: ...s to USR size When USR size is changed manually the CRBasic program restarts and the programmed size for USR takes immediate effect The USR drive holds any file type within the constraints of the size of the drive and the limitations on filenames Files typically stored include image files from cameras see the appendix Cameras certain configuration files files written for FTP retrieval HTML files f...

Page 376: ...ard from the module while it is being written to can cause data corruption or damage the card Before removing the card press the removal or eject button and wait for the LED to indicate that the card is disabled To prevent losing data collect data from the memory card before sending a program to the datalogger When a program is sent to the datalogger all data on the memory card may be erased Campb...

Page 377: ... more However subsequent compile times are much shorter because the info sector is used to update the bytes free information Table 87 Memory Card States CardStatus CardBytesFr ee CompileResult s LED Situation s Card OK 0 Formatted card inserted powered up 0 Solid green for 20 s Card still inserted but removal button has been pressed 1 CFM100 NL115 removed while logger is running do not do this 0 P...

Page 378: ...n Data File Formats TableFile Format Option Base File Format Elements Included Header Information Time Stamp Record Number 0 1 TOB1 1 TOB1 2 TOB1 3 TOB1 4 TOB1 5 TOB1 6 TOB1 7 TOB1 8 1 TOA5 9 TOA5 10 TOA5 11 TOA5 12 TOA5 13 TOA5 14 TOA5 15 TOA5 16 1 CSIXML 17 CSIXML 18 CSIXML 19 CSIXML 32 1 CSIJSON 33 CSIJSON 34 CSIJSON 35 CSIJSON 64 2 TOB3 1 Formats compatible with datalogger support software p 9...

Page 379: ...n PTemp TS RN Min Smp 2010 12 20 11 31 30 7 13 29 20 77 2010 12 20 11 31 45 8 13 26 20 77 2010 12 20 11 32 00 9 13 29 20 8 CSIXML CSIXML files contain header information and data in an XML p 533 format Example xml version 1 0 standalone yes csixml version 1 0 head environment station name 11467 station name table name Test table name model CR1000 model serial no 11467 serial no os version CR1000 S...

Page 380: ...e CR1000 serial number OS version CRBasic program name program signature data table name Line 2 Data Field Names Lists the name of individual data fields If the field is an element of an array the name will be followed by a comma separated list of subscripts within parentheses that identifies the array index For example a variable named values that is declared as a two by two array i e Public Valu...

Page 381: ... an operating system is sent to the CR1000 using DevConfig or when entering 98765 in the Status table field FullMemReset 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 default Initializes system variables Clears communication memory Recompiles current program Full memory reset do...

Page 382: ...rol Functions File Control Functions Accessed Through Sending programs to the CR1000 Program Send 1 File Control Send 2 DevConfig 3 keyboard or powerup ini with a Campbell Scientific mass storage device or memory card 4 5 web API p 423 HTTPPut Sending a File to a Datalogger Setting program file attributes See File Attributes p 383 File Control 2 power up with Campbell Scientific mass storage devic...

Page 383: ...i See Power up p 386 6 CRBasic instructions commands See Data Table Declarations p 540 and File Management p 382 and CRBasic Editor Help 7 Datalogger support software Retrieve p 515 command 8 3 4 1 File Attributes A feature of program files is the file attribute Table CR1000 File Attributes p 383 lists available file attributes their functions and when attributes are typically used For example a p...

Page 384: ...r files pakbus address number 0 number 4095 name prefix string number_files number 0 number 10000000 This setting specifies the numbers of files of a designated type that are saved when received from a specified node There can be up to four such settings The files are renamed by using the specified file name optionally altered by a serial number inserted before the file type This serial number is ...

Page 385: ...d by looking at the time stamps of the tracing Logged information may be out of sequence Example 3212 USR IPTrace txt 5000 This syntax will create a file on the USR drive called IPTrace txt that will grow to approximately 5 KB in size and then new data will begin overwriting old data 8 3 4 3 Data Preservation Associated with file attributes is the option to preserve data in CR1000 memory when a pr...

Page 386: ... external memory device along with the new OS or CRBasic program file 2 Connect the external device to the CR1000 and then cycle power to the datalogger This simple process results in the file uploading to the CR1000 with optional run attributes such as Run Now Run on Power Up or Run Always set for individual files Simply copying a file to a specified drive with no run attributes or to format a me...

Page 387: ...h a text editor on a PC then saved on a memory drive of the CR1000 The file is saved to the memory drive along with the operating system or user program file using the datalogger support software p 654 File Control Send p 515 command Note Some text editors such as MicroSoft WordPad will attach header information to the powerup ini file causing it to abort Check the text of a powerup ini file in th...

Page 388: ...copying the program file to run Copies the specified file to the designated drive with no run attributes 9 Load OS File obj 13 Run always erase data Copies the specified program to the designated drive and sets the run attribute of the program to Run Always Data on a CF card from the previously running program will be erased 14 Run now erase files Copies the specified program to the designated dri...

Page 389: ... run now program but run on power up program is changed the new run on power up program runs If neither run on power up nor run now programs are changed the previous run on power up program runs 8 3 4 5 File Management Q A Q How do I hide a program file on the CR1000 without using the CRBasic FileManage instruction A Use the CoraScript p 510 File Control command or the web API p 423 FileControl co...

Page 390: ...ssion opening DIR or LABEL as file or trying to open file as DIR or mkdir existing file 14 Opening read only file for write 15 Disk full can t allocate new cluster 16 Root directory is full 17 Bad file ptr pointer or device not initialized 18 Device does not support this operation 19 Bad function argument supplied 20 Seek out of file bounds 21 Trying to mkdir an existing dir 22 Bad partition secto...

Page 391: ...ications in the context of CR1000 operation is the movement of information between the CR1000 and another computing device usually a PC The information can be data program files or control commands Telecommunication systems require three principal components hardware carrier signal and protocol For example a common way to communicate with the CR1000 is with PC200W software by way of a PC COM port ...

Page 392: ...her routers in the network Set PakBus beacons and verify intervals properly For example there is no need to verify routes every five minutes if communications are expected only every 6 hours 8 4 3 Initiating Telecommunications Callback Telecommunication sessions are usually initiated by a PC Once telecommunication is established the PC issues commands to send programs set clocks collect data etc B...

Page 393: ...mpbellsci com manuals The CR1000 communicates with computers or other Campbell Scientific dataloggers with PakBus PakBus is a proprietary telecommunication protocol similar in concept to IP Internet protocol PakBus allows compatible Campbell Scientific dataloggers and telecommunication peripherals to seamlessly join a PakBus network Read More This section is provided as a primer to PakBus communic...

Page 394: ... telecommunication devices that route packets to other linked routers or leaf nodes o Routers can be branch routers Branch routers only know as neighbors central routers routers in route to central routers and routers one level outward in the network o Routers can be central routers Central routers know the entire network A PC running LoggerNet is typically a central router o Routers can be router...

Page 395: ... CR6 Ethernet Port Network link NL100 Serial port network link NL115 Peripheral port network link 1 NL120 Peripheral port network link 1 NL200 Serial port network link NL240 Wireless network link MD485 Multidrop RF401 RF430 RF450 Radio CC640 Camera SC105 Serial interface SC32B Serial interface SC932A Serial interface COM220 Telephone modem COM310 Telephone modem SRM 5A Short haul modem 8 5 3 Linki...

Page 396: ...a one way broadcast All nodes hearing a hello request existing and potential neighbors will issue a hello message to negotiate or re negotiate a neighbor relationship with the broadcasting node 8 5 3 4 Neighbor Lists PakBus devices in a network can be configured with a neighbor list The CR1000 sends out a hello message to each node in the list whose CVI p 511 has expired at a random interval1 If a...

Page 397: ...e hello exchanges in an attempt to regain neighbor status which will increase traffic on the network 8 5 4 PakBus Troubleshooting Various tools and methods have been developed to assist in troubleshooting PakBus networks 8 5 4 1 Link Integrity With beaconing or neighbor filter discovery links are established and verified using relatively small data packets hello messages When links are used for re...

Page 398: ...ch packet size will characterize the link Before pinging all other network traffic scheduled data collections clock checks etc should be temporarily disabled Begin by pinging the first layer of links neighbors from the PC LoggerNet router then proceed to nodes that are more than one hop away Table PakBus Link Performance Gage p 398 provides a link performance gage Table 102 PakBus Link Performance...

Page 399: ... Within the server dynamically discovered routes take precedence over static routes so once the network is learned communications will work smoothly However having the correct static route to begin is often crucial because an attempt to ring a false neighbor can time out before routing can be discovered from the real neighbor Stated another way use the tree configuration when communication require...

Page 400: ...available to each CR1000 CR1000s can also be programmed to exchange data with each other the data exchange feature is not demonstrated in this example 8 5 6 1 LAN Wiring Use three conductor cable to connect CR1000s as shown in figure Configuration and Wiring of CR1000 LAN p 400 Cable length between any two CR1000s must be less than 25 feet 7 6 m COM1 Tx transmit and Rx receive are CR1000 terminals...

Page 401: ... HotSync etc 2 Click on the Connect button at the lower left 3 Set settings using DevConfig as outlined in table PakBus LAN Example Datalogger Communication Settings p 402 Leave unspecified settings at default values Example DevConfig screen captures are shown in figure DevConfig Deployment Datalogger Tab p 401 through figure DevConfig Deployment Advanced Tab p 402 If the CR1000s are not new upgra...

Page 402: ...Section 8 Operation Figure 107 DevConfig Deployment ComPorts Settings Tab Figure 108 DevConfig Deployment Advanced Tab 402 ...

Page 403: ...d Begin End CR1000_1 1 115 2K Fixed 2 2 115 2K Fixed 3 4 Yes CR1000_2 2 115 2K Fixed 1 1 Disabled No CR1000_3 3 115 2K Fixed 1 1 115 2K Fixed 4 4 Yes CR1000_4 4 115 2K Fixed 3 3 Disabled No 1 Setup can be simplified by setting all neighbor lists to Begin 1 End 4 8 5 6 3 LoggerNet Setup Figure 109 LoggerNet Network Map Setup COM port In LoggerNet Setup click Add Root and add a ComPort Then Add a Pa...

Page 404: ...t p 404 set the PakBusPort maximum baud rate to 115200 Leave other settings at the defaults Figure 111 LoggerNet Network Map Setup Dataloggers As shown in figure LoggerNet Device Map Setup Dataloggers p 404 set the PakBus address for each CR1000 as listed in table PakBus LAN Example Datalogger Communication Settings p 402 404 ...

Page 405: ...ddress in the range between one and ten This is displayed and parsed using the following formal syntax route filters source begin source end dest begin dest end source begin uint2 1 source begin 4094 source end uint2 source begin source end 4094 dest begin uint2 1 dest begin 4094 dest end uint2 dest begin dest end 4094 8 5 8 PakBusRoutes PakBusRoutes lists the routes in the case of a router or the...

Page 406: ...it list of PakBus node addresses that the CR1000 will accept as neighbors If the list is empty the default condition any node is accepted as a neighbor This setting will not affect the acceptance of a neighbor if that neighbor address is greater than 3999 The formal syntax for this setting follows neighbor range begin range end range begin pakbus address range end pakbus address pakbus address num...

Page 407: ...o are NOT encrypted The PakBus encryption key can be set in the CR1000 datalogger through DevConfig Deployment tab DevConfig Settings Editor tab PakBusGraph settings editor dialog Keyboard display Be careful to record the encryption key in a secure location If the encryption key is lost it needs to be reset Reset the key on the keyboard display by deleting the bullet characters that appear in the ...

Page 408: ...ited responses to a specific DNP master DNP communications are supported in the CR1000 through the RS 232 port COM1 COM2 COM3 or COM4 or over TCP taking advantage of multiple communication options compatible with the CR1000 e g RF cellular phone satellite DNP3 state and history are preserved through power and other resets in non volatile memory DNP SCADA software enables CR1000 data to move direct...

Page 409: ...ine 20 Syntax DNP ComPort BaudRate DNPSlaveAddr DNPVariable Associates a particular variable array with a DNP object group When the master polls the CR1000 it returns all the variables specified along with their specific groups Also used to set up event data which is sent to the master whenever the value in the variable changes Example at CRBasic example Implementation of DNP3 p 410 line 24 Syntax...

Page 410: ...second scan the master is notified every 10 seconds CRBasic Example 66 Implementation of DNP3 This program example demonstrates a basic implementation of DNP3 in the CR1000 The CR1000 is programmed to return data over IP when polled by the DNP3 master Essential elements of the program are as follows 1 DNP instruction is placed at the beginning of the program between BeginProg and Scan COM port bau...

Page 411: ...is currently always set to zero Number of events is only used for event data DNPVariable IArray 4 32 2 3 B00000000 0 10 DNPVariable BArray 2 1 1 0 B00000000 0 0 DNPVariable BArray 2 2 1 1 B00000000 0 1 Scan 1 Sec 1 0 Wind Speed Direction Sensor measurements WS_ms and WindDir PulseCount WindSpd 1 1 1 3000 2 0 IArray 1 WindSpd 100 BrHalf WindDir 1 mV2500 1 Vx1 1 2500 True 0 _60Hz 355 0 If WindDir 36...

Page 412: ...vely multiplexed to a CR1000 without additional hardware A CR1000 goes into sleep mode after 40 seconds of communication inactivity Once asleep two packets are required before the CR1000 will respond The first packet awakens the CR1000 the second packet is received as data CR1000s through DevConfig or the Status table see the appendix Status Table and Settings p 603 can be set to keep communicatio...

Page 413: ...sters in the Modbus domain are read write In the Campbell Scientific domain the leading digit in Modbus registers is ignored and so are assigned together to a single Dim or Public variable array read write Term RTU PLC Remote Telemetry Units RTUs and Programmable Logic Controllers PLCs were at one time used in exclusive applications As technology increases however the distinction between RTUs and ...

Page 414: ...CRBasic Editor Help ModbusMaster Sets up a CR1000 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 CR1000 as a Modbus slave device Syntax ModbusSlave ComPort BaudRate ModbusAddr DataVariable BooleanVariable MoveBytes Moves binary bytes of data into a differen...

Page 415: ...sters Writes values into a series of holding registers in the ModBusSlave 8 6 2 2 5 Reading Inverse Format Modbus Registers Some Modbus devices require reverse byte order words CDAB vs ABCD This can be true for either floating point or integer formats Since a slave CR1000 uses the ABCD format either the master has to make an adjustment which is sometimes possible or the CR1000 needs to output reve...

Page 416: ...e following example CRBasic Example 67 Concatenating Modbus Long Variables This program example demonstrates concatenation splicing of Long data type variables for Modbus operations Program is compatible with the following or later operating systems CR800 OS v 3 CR1000 OS v 12 CR3000 OS v 5 NOTE The CR1000 uses big endian word order Declarations Public Combo As Long Variable to hold the combined 3...

Page 417: ...use the resident IP stack or when using a cell modem with the PPP IP key enabled More information on some of these protocols is in the following sections DHCP DNS FTP HTML HTTP Micro serial server NTCIP NTP PakBus over TCP IP Ping POP3 SMTP SNMP Telnet Web API p 423 XML The most up to date information on implementing these protocols is contained in CRBasic Editor Help For a list of CRBasic instruc...

Page 418: ...default home page built into the operating system The home page can be accessed using the following URL http ipaddress 80 Note Port 80 is implied if the port is not otherwise specified As shown in the figure Preconfigured HTML Home Page p 291 this page provides links to the newest record in all tables including the Status table Public table and data tables Links are also provided for the last 24 r...

Page 419: ...or HTML code requiring the use of quotation marks CHR 34 is used while regular quotation marks are used to define the beginning and end of alphanumeric strings inside the parentheses of the HTTPOut instruction For additional information see the CRBasic Editor Help In this example program the default home page is replaced by using WebPageBegin to create a file called default html The new default ho...

Page 420: ...Section 8 Operation Figure 113 Home Page Created Using WebPageBegin Instruction Figure 114 Customized Numeric Monitor Web Page 420 ...

Page 421: ...background color oldlace style HTTPOut body title Campbell Scientific CR1000 Datalogger title HTTPOut h2 Welcome To the Campbell Scientific CR1000 Web Site h2 HTTPOut tr td style CHR 34 width 290px CHR 34 HTTPOut a href CHR 34 http www campbellsci com CHR 34 HTTPOut img src CHR 34 CPU SHIELDWEB2 jpg CHR 34 width _ CHR 34 128 CHR 34 height CHR 34 155 CHR 34 class _ CHR 34 style1 CHR 34 a td HTTPOut...

Page 422: ...nt Advanced tab of the CR1000 service in DevConfig Files can be copied pasted between drives Files can be deleted through FTP 8 6 3 5 FTP Client The CR1000 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 Refer to a manual for a Campbell Scientific network link see the appendix Net...

Page 423: ...e ComPort in the ModBusMaster and ModBusSlave instructions See the CRBasic Editor Help for more information See Modbus p 411 8 6 3 11 DHCP When connected to a server with a list of IP addresses available for assignment the CR1000 will automatically request and obtain an IP address through the Dynamic Host Configuration Protocol DHCP Once the address is assigned use DevConfig PakBusGraph Connect or...

Page 424: ...ection is not considered sufficiently robust for API use because of the following 1 the security code is plainly visible in the URI so it can be compromised by eavesdropping or viewing the monitor 2 the range of valid security codes is 1 to 65534 so the security code can be compromised by brute force attacks Instead Basic Access Authentication which is implemented in the API should be used with th...

Page 425: ...e Security p 92 section and csipasswd does not exist then the pass code must be entered to use the CRBasic parameter SetValue If csipasswd does exist a correct user name and password will override the pass code 8 6 3 14 2 Command Syntax API commands follow the syntax ip_adr command CommandName parameters arguments where ip_adr the IP address of the CR1000 CommandName the the API command parameters...

Page 426: ...since record argument interval in seconds when using backfill argument integer number of records when using most recent argument time in defined format when using since time or date range arguments see Time Syntax p 427 section integer record number when using since record argument integer number of seconds when using backfill argument p2 DataQuery Specifies ending date and or time when using date...

Page 427: ...ge p1 2010 07 27T12 00 00 p2 2010 07 27T14 00 00 8 6 3 14 4 Data Management BrowseSymbols Command BrowseSymbols allows a web client to poll the host CR1000 for its data memory structure Memory structure is made up of table name s field name s and array sub scripts These together constitute symbols BrowseSymbols takes the form http ip_address command BrowseSymbols uri source tablename fi eldname fo...

Page 428: ...llowing fields Table 111 BrowseSymbols API Command Response name Specifies the name of the symbol This could be a data source name a station name a table name or a column name uri Specifies the uri of the child symbol type Specifies a code for the type of this symbol The symbol types include the following 6 Table 7 Array 8 Scalar is_enabled Boolean value that is set to true if the symbol is enable...

Page 429: ...d 6 td td true td td false td td true td tr tr td BallastTank2 td td dl BallastTank2 td td 6 td td true td td false td td true td tr tr td BallastTank3 td td dl BallastTank3 td td 6 td td true td td false td td true td tr tr td BallastTank4 td td dl BallastTank4 td td 6 td td true td td false td td true td tr tr td BallastLine td td dl BallastLine td td 6 td td true t d td false td td true td tr t...

Page 430: ...led true is_read_only false can_expand true symbol name BallastTank3 uri dl BallastTank3 type 6 is_enabled true is_read_only false can_expand true symbol name BallastTank4 uri dl BallastTank4 type 6 is_enabled true is_read_only false can_expand true symbol name BallastLine uri dl BallastLine type 6 is_enabled true is_read_only false can_expand true symbol name Public uri dl Public type 6 is_enable...

Page 431: ...rs uri Optional Specifies the URI p 532 for data to be queried Syntax dl tablename fieldname Field name is optional Field name is always specified in association with a table name If field name is not specified all fields are collected If fieldname refers to an array without a subscript all values associated with that array will be output Table name is optional If table name is not used the entire...

Page 432: ...rver may choose to break the data into multiple requests by specifying a value of true for the more flag in the CSIJSON output The more flag is not shown if a complete data set is first returned Examples Command http 192 168 24 106 command DataQuery uri dl MainData mode da te range p1 2012 09 14T8 00 00 p2 2012 09 14T9 00 00 Response collect all data from table MainData within the range of p1 to p...

Page 433: ...HTML page source DOCTYPE HTML PUBLIC W3C DTD HTML 4 01 Transitional EN http www w3 org TR html4 loose dtd HTML HEAD TITLE Table Display TITLE meta http equiv Pragma content no cache meta http equiv expires content 0 HEAD BODY h1 Table Name BallastLine h1 table border 1 cellpadding 2 cellspacing 0 tr valign middle align center th nowrap TimeStamp th th nowrap Record th th nowrap Induced_Water th tr...

Page 434: ... os version CR1000 Std 25 os version dld name CPU IndianaHarbor_081712 CR1 dld name dld sig 33322 dld sig environment fields field name Induced_Water type xsd float process Smp fields head data r time 2012 08 21T22 41 50 no 104 v1 66 v1 r r time 2012 08 21T22 42 00 no 105 v1 66 v1 r r time 2012 08 21T22 42 10 no 106 v1 66 v1 r r time 2012 08 21T22 42 20 no 107 v1 66 v1 r r time 2012 08 21T22 42 30...

Page 435: ... RN Smp Smp Smp Smp Smp Avg Tot 2012 05 03 17 00 00 0 0 0 8949984 0 95232 0 8949984 0 8637322 2 144136 0 09999999 2012 05 03 18 00 00 1 0 0 9106316 0 9731642 0 9210536 0 8845763 72 56885 0 2012 05 03 19 00 00 2 0 0 9210536 0 9679532 0 9106316 0 8637322 72 297 0 2012 05 03 20 00 00 3 0 0 8624293 0 9145398 0 8624293 0 8311631 72 68445 0 2012 05 03 21 00 00 4 0 0 8949984 0 9471089 0 9002095 0 8585211...

Page 436: ...22 70 4076 0 2012 05 05 18 00 00 7 5 0 9223565 0 969256 0 9015122 0 8910902 70 33669 0 2012 05 05 19 00 00 8 5 0 8923929 0 9445034 0 8923929 0 8507045 70 25033 0 2012 05 05 20 00 00 9 5 0 9119344 0 9640449 0 9171454 0 8754569 70 1702 0 2012 05 05 21 00 00 10 5 0 930173 0 9822836 0 9197509 0 8832736 70 1116 0 2012 05 05 22 00 00 11 5 0 9132372 0 9653476 0 908026 0 8611265 70 0032 0 2012 05 05 23 00...

Page 437: ...ples http 192 168 24 106 command SetValueEx uri dl public NaOH_Set pt_Bal2 value 3 14 Response the public variable settable_float is set to 3 14 http 192 168 24 106 command SetValueEx uri dl public flag val ue 1 format html Response the public Boolean variable Flag 1 in is set to True 1 SetValueEx Response The SetValueEx format parameter determines the format of the response If a format is not spe...

Page 438: ...d outcome td td outcome code td tr tr td description td td description text td tr table body html XML Response When xml is entered in the SetValueEx format parameter the response will be CSIXML with a SetValueExResponse root element name Following is an example response SetValueExResponse outcome outcome code description description text JSON Response When json is entered in the SetValueEx format ...

Page 439: ...n the Time Syntax p 427 section 1 optionally specifies the URI for the LoggerNet source station to be set Example http 192 168 24 106 command ClockSet format html time 2012 9 14T15 30 00 000 Response sets the host CR1000 real time clock to 3 30 PM 14 September 2012 ClockSet Response The ClockSet format parameter determines the format of the response If a format is not specified the format defaults...

Page 440: ...son is entered in the ClockSet format parameter the response will be formated as CSIJSON p 90 Following is an example response outcome 1 time 2011 12 01T11 40 32 61 description The clock was set 8 6 3 14 8 Clock Functions ClockCheck Command ClockCheck allows a web client to read the real time clock from the host CR1000 DataQuery takes the form http ip_address command ClockCheck format html ClockCh...

Page 441: ...ssion failed 4 Invalid LoggerNet logon 5 Blocked by LoggerNet security 6 Communication with the specified station failed 7 Communication with the specified station is disabled 8 Blocked by datalogger security 9 Invalid LoggerNet station name 10 The LoggerNet device is busy 11 The URI specified does not reference a LoggerNet station time Specifies the current value of the CR1000 real time clock 2 T...

Page 442: ...mple outcome 1 time 2012 08 24T15 52 26 22 description The clock was checked 8 6 3 14 9 File Management Sending a File to a Datalogger A file can be sent to the CR1000 using an HTTPPut request Sending a file requires a minimum csipasswd access level of 1 all access allowed Unlike other web API commands originating a PUT request from a browser address bar is not possible Instead use JavaScript with...

Page 443: ...Dec 2011 05 31 50 Server CR1000 Std 25 Content Length 0 Connection 0 to host 192 168 7 126 left intact Closing connection 0 When a file with extension OBJ is uploaded to the CR1000 CPU drive the CR1000 sees the file as a new operating system OS and does not actually upload it to CPU Rather it captures it When capture is complete the CR1000 reboots and compiles the new OS in the same manner as if i...

Page 444: ...ly running program delete its associated data tables and run the program specified by file without affecting the program to be run on power up 15 Move the file specified by file2 to the name specified by file 16 Move the file specified by file2 to the name specified by file stop the currently running program delete its associated data tables and run the program specified by file2 while marking it ...

Page 445: ...attempting more communication with the station A value of zero will indicate that communication can resume immediately This parameter is needed because many of the commands will cause the CR1000 to perform a reset In the case of sending an operating system it can take tens of seconds for the datalogger to copy the image from memory into flash and to perform the checking required for loading a new ...

Page 446: ...for each of the files or directories that can be reached through the CR1000 web server The information for each file includes the following Table 123 ListFiles API Command Response path Specifies the path to the file relative to the URL path is_dir A boolean value that will identify that the object is a directory if set to true size An integer that gives the size of for a file in bytes the value o...

Page 447: ...On Power Up b td td b Read Only b td td b Paused b td tr tr td CPU td td true td td 443904 td td 2012 06 22T00 00 00 td td false td td false td td false td td false td tr tr td CPU ModbusMasterTCPExample CR1 td td false td td 967 td td 2012 07 10T18 21 44 td td false td td false td td false td td false td tr tr td CPU CS475 Test CR1 td td false td td 828 td td 2012 07 16T14 16 50 td td false td td...

Page 448: ...te b td td b Run Now b td td b Run On Power Up b td td b Read Only b td td b Paused b td tr tr td CPU td td true td td 50000 td td YYYY mm dd hh mm ss xxx td td false td td false td td false td td false td tr tr td CPU lights web cr1 td td false td td 16994 td td YYYY mm dd hh mm ss xxx td td true td td true td td false td td false td tr table XML Response When xml is entered in the ListFiles form...

Page 449: ... mm ss xxx run_now false run_on_power_up false read_only false paused false path CPU lights web cr1 is_dir false size 16994 last_write yyyy mm ddThh mm ss xxx run_now true run_on_power_up true read_only false paused false 8 6 3 14 12 File Management NewestFile Command NewestFile allows a web client to request a file such as a program or image from the host CR1000 If a wildcard is included in the e...

Page 450: ...g files the server responds with a 404 Not Found HTTP response code 8 7 Datalogger Support Software Details Reading List Datalogger Support Software Quickstart p 46 Datalogger Support Software Overview p 95 Datalogger Support Software Details p 450 Datalogger Support Software Lists p 654 Datalogger support software facilitates program generation editing data retrieval and real time data monitoring...

Page 451: ...are allows you to initialize the setup interrogate the station display data and generate reports from one or more weather stations Note More information about software available from Campbell Scientific can be found at www campbellsci com http www campbellsci com Please consult with a Campbell Scientific application engineer for a software recommendation to fit a specific application 8 8 Keyboard ...

Page 452: ...ial Function End Move cursor to bottom of the list Pg Up Move cursor up one screen Pg Dn Move cursor down one screen BkSpc Delete character to the left Shift Change alpha character selected Num Lock Change to numeric entry Del Delete Ins Insert change graph setup Graph Graph 452 ...

Page 453: ...Section 8 Operation Figure 115 Using the Keyboard Display 453 ...

Page 454: ...Section 8 Operation 8 8 1 Data Display Figure 116 Displaying Data with the Keyboard Display 454 ...

Page 455: ...nd Graphs 8 8 1 2 Real Time Custom The CR1000KD Keyboard Display can be configured with a customized real time display The CR1000 will keep the setup as long as the defining program is running Read More Custom menus can also be programmed See Custom Menus p 182 for more information 455 ...

Page 456: ...Section 8 Operation Figure 118 Real Time Custom 456 ...

Page 457: ...Section 8 Operation 8 8 1 3 Final Memory Tables Figure 119 Final Memory Tables 457 ...

Page 458: ...Section 8 Operation 8 8 2 Run Stop Program Figure 120 Run Stop Program 458 ...

Page 459: ...ogger programs When making minor changes with the CR1000KD Keyboard Display restart the program to activate the changes but be aware that unless programmed for otherwise all variables etc will be reset Remember that the only copy of changes is in the CR1000 until the program is retrieved using datalogger support software or removable memory 459 ...

Page 460: ...Section 8 Operation Figure 122 File Edit 460 ...

Page 461: ...Section 8 Operation 8 8 4 PCCard Memory Card Display Figure 123 PCCard CF Card Display 461 ...

Page 462: ...Section 8 Operation 8 8 5 Ports and Status Read More See the appendix Registers Figure 124 C Terminals Ports Status 8 8 6 Settings Figure 125 Settings 462 ...

Page 463: ...ion Q and A Q What is Gzip A Gzip is the GNU zip archive file format This file format and the algorithms used to create it are open source and free to use for any purpose Files with the gz extension have been passed through these data compression algorithms to make them smaller For more information go to www gnu org Q Is there a difference between Gzip and zip A While similar Gzip and zip use diff...

Page 464: ...rrestrial radio satellite or restricted cellular data plans Q Does my CR1000 support Gzip A Version 25 of the standard CR1000 operating system supports receipt of Gzip compressed program files and OSs Q How do I Gzip a program or operating system A Many utilities are available for the creation of a Gzip file This document specifically addresses the use of 7 Zip File Manager 7 Zip is a free open so...

Page 465: ... the CR1000 web server The CR1000 will not automatically decompress and use compressed files sent with File Control FTP or a low level OS download however these files can be manually decompressed by marking as Run Now using File Control FileManage and HTTP Note Compression has little effect on an encrypted program see FileEncrypt in the CRBasic Editor Help since the encryption process does not pro...

Page 466: ...ere is at least a minimum buffer space for storing the data to CRD which occurs in the background when the CR1000 has a chance to copy data onto the card So for example a data table consisting of one four byte sample not interval driven 20 bytes per record including the 16 byte TOB3 header footer 258 records are allocated for the internal memory for any program that specifies less than 258 records...

Page 467: ...d in the terminal mode helps to visualize more precisely what CPU drive and the CRD drive are doing actual size allocated where they are at the present etc 8 11 Security Details Related Topics Security Overview p 92 Security Details p 467 The CR1000 is supplied void of active security measures By default RS 232 Telnet FTP and HTTP services all of which give high level access to CR1000 data and CRB...

Page 468: ...operable in CR1000KDs with serial numbers less than 1263 Contact Campbell Scientific for information on upgrading the CR1000KD operating system LoggerNet o All datalogger functions and data are easily accessed via RS 232 and Ethernet using Campbell Scientific datalogger support software o Cora command find logger security code Telnet o Watch IP traffic in detail IP traffic can reveal potentially s...

Page 469: ...ut security include the following Status table Security 1 Security 2 and Security 3 registers are writable variables in the Status table wherein the pass codes for security levels 1 through 3 are written respectively CR1000KD Keyboard Display settings Device Configuration Utility DevConfig Security passwords 1 through 3 are set on the Deployment tab SetSecurity instruction SetSecurity is only exec...

Page 470: ...ng or disabling security codes in the settings editor not Status table with the keyboard display Keyboard display security bypass does not allow telecommunication access without first correcting the security code Note These features are not operable in CR1000KDs with serial numbers less than 1263 Contact Campbell Scientific for information on upgrading the CR1000KD operating system 8 11 3 Password...

Page 471: ...yption facility Menus File Save and Encrypt creates an encrypted copy of the original file in PC memory The encrypted file is named after the original but the name is appended with _enc The original file remains intact The FileEncrypt instruction encrypts files already in CR1000 memory The encrypted file overwrites and takes the name of the original The Encryption instruction encrypts and decrypts...

Page 472: ...Management p 382 for more information 8 11 7 Signatures Recording and monitoring system and program signatures are important components of a security scheme Read more about use of signatures in Programming to Use Signatures p 169 and Signatures Example Programs p 178 472 ...

Page 473: ...azard Misuse or improper installation of the internal lithium battery can cause severe injury Do not recharge disassemble heat above 100 C 212 F solder directly to the cell incinerate or expose contents to water Dispose of spent lithium batteries properly The CR1000 contains a lithium battery that operates the clock and SRAM when the CR1000 is not powered The CR1000 does not draw power from the li...

Page 474: ...ts battery part numbers and key specifications Table 127 Internal Lithium Battery Specifications Manufacturer Tadiran Tadiran Model Number TL 5902 S Campbell Scientific Inc pn 13519 Voltage 3 6 V Capacity 1 2 Ah Self discharge rate 1 year 20 C Operating temperature range 55 to 85 C When reassembling the module to the wiring panel check that the module is fully seated or connected to the wiring pan...

Page 475: ...intenance Details Figure 128 Pull Edge Away from Panel Pull one edge of the canister away from the wiring panel to loosen it from three internal connector seatings Figure 129 Remove Nuts to Disassemble Canister 475 ...

Page 476: ...CR1000 is malfunctioning be prepared to perform some troubleshooting procedures while on the phone with the application engineer Many problems can be resolved with a telephone conversation If calibration or repair is needed the following procedures should be followed when sending the product Products may not be returned without prior authorization The following contact information is for US and In...

Page 477: ...b site at www campbellsci com repair A completed form must be either emailed to repair campbellsci com or faxed to 435 227 9579 Campbell Scientific is unable to process any returns until we receive this form If the form is not received within three days of product receipt or is incomplete the product will be returned to the customer at the customer s expense Campbell Scientific reserves the right ...

Page 478: ......

Page 479: ...iable 10 2 Troubleshooting Basic Procedure 1 Check the voltage of the primary power source at the POWER IN terminals on the face of the CR1000 2 Check wires and cables for the following o Loose connection points o Faulty connectors o Cut wires o Damaged insulation which allows water to migrate into the cable Water whether or not it comes in contact with wire can cause system failure Water may incr...

Page 480: ...le to look at the data and determine if it falls within a reasonable range For example consider an application measuring photosynthetic photon flux PPF PPF ranges from 0 dark to about 2000 µmoles m 2 s 1 If the measured value is less than 0 or greater than 2000 an error is probably being introduced somewhere in the system If the measured value is 1000 at noon under a clear summer sky an error is p...

Page 481: ...emory This normally is flagged at compile time in the compile results If this type of error occurs check the following o Copies of old programs on the CPU drive The CR1000 keeps copies of all program files unless they are deleted the drive is formatted or a new operating system is loaded with DevConfig p 111 o That the USR drive if created is not too large The USR drive may be using memory needed ...

Page 482: ...e to automatically select the best input range a NAN indicates that either one or both of the two measurements in the auto range sequence over ranged See the section Calibration Errors p 490 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 can mimic a ...

Page 483: ...able Variable and FS Data Types with NAN and INF p 483 For example INF in a variable declared As LONG is represented by the integer 2147483648 When that variable is used as the source the final memory word when sampled as UINT2 is stored as 0 Table 128 Math Expressions and CRBasic Results Expression CRBasic Expression Result 0 0 0 0 NAN 1 0 1 0 NAN 1 1 1 0 NAN 0 0 1 1 0 NAN 1 0 1 0 NAN 1 1 1 0 NAN...

Page 484: ...47483647 INF TRUE TRUE 2147483647 0 0 NAN NAN NAN 0 3 2147483648 NAN TRUE TRUE 2147483648 1 Except Average outputs NAN 2 Except Average outputs 0 3 65535 in operating systems prior to v 28 10 5 3 4 Output Processing and NAN When a measurement or process results in NAN any output process with DisableVar FALSE that includes an NAN measurement For example Average 1 TC_TempC FP2 False will result in N...

Page 485: ...True 0 250 1 0 0 DisVar Filter If TC_TempC NAN Then DisVar True Else DisVar False EndIf Call Data Tables and Store Data CallTable TempC_Data NextScan EndProg 10 5 4 Status Table as Debug Resource Related Topics Status Settings and Data Table Information Status Settings DTI p 603 Common Uses of the Status Table p 604 Status Table as Debug Resource p 485 Consult the CR1000 Status table when developi...

Page 486: ... some of the more common warning messages are listed in table Warning Message Examples p 486 Table 130 Warning Message Examples Message Meaning CPU DEFAULT CR1 Compiled in PipelineMode Error s in CPU NewProg CR1 line 13 Undeclared variable Battvolt A new program sent to the datalogger failed to compile and the datalogger reverted to running DEFAULT cr1 Warning Cannot open include file CPU Filename...

Page 487: ...ncated to the maximum allowed length Warning Voice word TEH is not in Voice TXT file The misspelled word TEH in the VoiceSpeak instruction is not found in Voice TXT file and will not be spoken by the voice modem 10 5 4 2 SkippedScan Skipped scans are caused by long programs with short scan intervals multiple Scan NextScan instructions outside a SubScan or SlowSequence or by other operations that o...

Page 488: ...tatus table each time the absence of a sixteenth element is encountered The CR1000 attempts to catch VarOutOfBound errors at compile time not to be confused with the CRBasic Editor pre compiler which does not When a VarOutOfBound error is detected at compile time the CR1000 attempts to document which variable is out of bounds at the end of the CompileResults message in the Status table For example...

Page 489: ...e caused by power or transient voltage problems or an operating system or hardware problem If power or transient problems are ruled out the CR1000 probably needs an operating system update or repair p 3 by Campbell Scientific 10 5 4 8 2 Watchdoginfo txt File A WatchdogInfo txt file is created on the CPU drive when the CR1000 experiences a software reset as opposed to a hardware reset that incremen...

Page 490: ...a multimeter p 520 Check for condensation which can sometimes cause leakage from a 12 Vdc source terminal into other places Check for a lose ground wire on a sensor powered from a 12V or SW12 terminal If a multimeter is not available disconnect sensors one at a time that require power from 9 to 16 Vdc If measurements return to normal you have found the cause 10 8 Communications 10 8 1 RS 232 Baud ...

Page 491: ...s used in all communication except with the CR1000KD Keyboard Display Two digits per each buffer size category Most significant digits specify the number of larger buffers Least significant digits specify the number of smaller buffers When TLS p 531 is not active there are four buffer categories tiny little medium and large When TLS is active there is a fifth category huge and more buffers are all...

Page 492: ...ble 132 CommsMemFree 1 Defaults and Use Example TLS Active Buffer Category Condition reset TLS active Buffer count CommsMemFree 1 230999960 Use Example Condition TLS enabled no active TLS connections Connected to LoggerNet on TCP IP Buffer Count CommsMemFree 1 228968437 Numbers of buffers in use reset count in use count tiny 160 137 23 little 99 84 15 medium 99 96 3 large 30 28 2 huge 1 2 2 0 1 If...

Page 493: ...d 1530 which is interpreted as 30 lilfreeq and 15 bigfreeq available with no packets in rcvdq The Ethernet and or the PPP interface feed rcvdq If CommsMemFree 3 has a reading of 21428 then two packets are in the received queue 14 bigfreeq packets are free one in use and 28 lilfreeq are free two in use These three pieces of information are also reported in the IP trace p 518 information every 30 se...

Page 494: ...age test Charging circuit test when using an unregulated solar panel Charging circuit test when using a transformer Adjusting charging circuit If power supply components are working properly and the system has peripherals with high current drain such as a satellite transmitter verify that the power supply is designed to provide adequate power Information on power supplies available from Campbell S...

Page 495: ...charging circuit voltage 10 9 3 1 Battery Test The procedure outlined in this flow chart tests sealed rechargeable or alkaline batteries in the PS100 charging regulator or a sealed rechargeable battery attached to a CH100 charging regulator If a need for repair is indicated after following the procedure see Warranty and Assistance p 3 for information on sending items to Campbell Scientific 495 ...

Page 496: ...ies No Yes Yes Recharge battery Is the battery voltage 12 Vdc Battery voltage is adequate for CR1000 operation However if the CR1000 is to function for a long period Campbell Scientific recommends replacing or if using a sealed rechargeable battery recharging the battery so the voltage is 12 Vdc No Yes The battery is good When using a sealed rechargeable battery that is recharged with primary powe...

Page 497: ... terminal and a G ground terminal on the charging regulator 2 Switch the power switch to ON 3 Measure the dc voltage across the resistor Is the measured voltage 13 3 to 14 1 V Measure the voltage between the two pins in a battery connection receptacle Is the voltage 10 0 to 15 5 Vdc No No Yes Yes 50 Ω Load Test 1 Switch the power switch to OFF 2 Disconnect the power source transformer solar panel ...

Page 498: ...cedure outlined in this flow chart tests PS100 and CH100 charging regulators that use ac ac or ac dc transformers as power source If a need for repair is indicated after following the procedure see Warranty and Assistance p 3 for information on sending items to Campbell Scientific 498 ...

Page 499: ...r switch to ON 3 Measure the dc voltage across the resistor Is the measured voltage 13 3 to 14 1 V Measure the voltage between the two pins in a battery connection receptacle Is the voltage 10 0 to 15 5 Vdc No No Yes Yes 50 Ω Load Test 1 Switch the power switch to OFF 2 Disconnect the power source transformer solar panel 3 Remove the 5 kΩ resistor 4 Place a 50 Ω 1 W resistor between a 12V terminal...

Page 500: ...witch to OFF 2 Disconnect the power source transformer solar panel 3 Remove the 5 kΩ resistor 4 Place a 50 Ω 1 W resistor between a 12V terminal and a G ground terminal on the charging regulator 5 Reconnect the power source and then switch the power switch to ON 7 Measure the voltage across the ends of the resistor Is the voltage 13 0 to 14 0 Vdc 13 3 if circuit just adjusted 8 Switch the power sw...

Page 501: ...Scientific datalogger support software p 95 Terminal Emulator p 530 window DevConfig Campbell Scientific Device Configuration Utility Software Terminal tab HyperTerminal Beginning with Windows Vista HyperTerminal or another terminal emulator utility must be acquired and installed separately As shown in figure DevConfig Terminal Tab p 503 after entering a terminal emulator press Enter a few times u...

Page 502: ... constants defined with ConstTable EndConstTable Only active when ConstTable EndConstTable in the active program D MTdbg task monitor Campbell Scientific engineering tool E Compile errors Lists compile errors for the current program download attempt F VARS without names Campbell Scientific engineering tool G CPU serial flash dump Campbell Scientific engineering tool H Terminal emulator menu Lists ...

Page 503: ...ms Watch In the P Serial Talk Through and W Comms Watch modes the timeout can be changed from the default of 40 seconds to any value ranging from 1 to 86400 seconds 86400 seconds 1 day When using options P or W in a terminal session consider the following Concurrent terminal sessions are not allowed by the CR1000 Opening a new terminal session will close the current terminal session The CR1000 wil...

Page 504: ...the CR1000 through the Connect client or Set Up client in LoggerNet o The program was stopped through datalogger support software File Control or LoggerLink software The CPU drive was inadvertently formated A network peripheral NL115 NL120 NL200 or NL240 was added to the CR1000 when there was previously no network peripheral and so forced the CR1000 to reallocate memory A hardware failure such as ...

Page 505: ... Data Recovery wizard before restarting the CRBasic program In any case even when the recovery runs properly the result will be that good data is recovered mixed with sections of empty or old junk With the entire data dump in one file you can sort through the good and the bad 505 ...

Page 506: ......

Page 507: ...mand execution An argument is placed in a parameter For example in the CRBasic command Battery dest dest is a parameter that defines what argument is to be put in its place in a CRBasic program If a variable named BattV is to hold the result of the battery measurement made by Battery BattV is the argument placed in dest In the statement Battery BattV BattV is the argument Term ASCII ANSI Reading L...

Page 508: ...d as sensor leads since only small currents are carried when measurements are made Term baud rate The rate at which data are transmitted Term 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 tr...

Page 509: ...rmats Term CD100 An optional enclosure mounted keyboard display for use with CR1000 dataloggers See the appendix Keyboard Display List p 651 Term CDM CPI CPI is a proprietary interface for communications between Campbell Scientific dataloggers and Campbell Scientific CDM peripheral devices It consists of a physical layer definition and a data protocol CDM devices are similar to Campbell Scientific...

Page 510: ...he CR1000 operating system Term conditioned output The output of a sensor after scaling factors are applied See unconditioned output p 531 Term connector A connector is a device that allows one or more electron conduits wires traces leads etc to be connected or disconnected as a group A connector consists of two parts male and female For example a common household ac power receptacle is the female...

Page 511: ...ity of neighbors in its neighbor list If a neighbor does not communicate for a period of time equal to 2 5 times the CVI the device will send up to four Hellos If no response is received the neighbor is removed from the neighbor list See the section PakBus Overview p 88 for more information Term data cache The data cache is a set of binary files kept on the hard disk of the computer running the da...

Page 512: ...m collecting final data memory with datalogger support software p 512 Term data output interval Alias output interval The interval between each write of a record p 525 to a final data memory data table Term data output processing instructions CRBasic instructions that process data values for eventual output to final data memory Examples of output processing instructions include Totalize Maximize M...

Page 513: ...with LoggerNet RTDAQ PC400 or at www campbellsci com downloads http www campbellsci com downloads Term DHCP Dynamic Host Configuration Protocol A TCP IP application protocol Term 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 Term Dim A CRBasic command...

Page 514: ...m completes after only 100 millisecond the program can be said to have a 10 duty cycle Term earth ground A grounding rod or other suitable device that electrically ties a system or device to the earth Earth ground is a sink for electrical transients and possibly damaging potentials such as those produced by a nearby lightning strike Earth ground is the preferred reference potential for analog volt...

Page 515: ...s collection of files viewed in File Control If collecting a data file from a CF card with Retrieve first stop the CR1000 program or data corruption may result Format formats the selected CR1000 memory device All files including data on the device will be erased Term File Retrieval tab A feature of LoggerNet Setup Screen In the Setup Screen network map Entire Network click on a CR1000 datalogger n...

Page 516: ...ating point is used for variables and internal calculations FP2 is adequate for most stored data FP2 provides three or four significant digits of resolution and requires half the memory as IEEE4 Term FTP File Transfer Protocol A TCP IP application protocol Term full duplex A serial communication protocol Simultaneous bi directional communications Communications between a CR1000 serial port and a P...

Page 517: ...lf duplex A serial communication protocol Bi directional but not simultaneous communications SDI 12 is a half duplex protocol Reading list simplex p 528 duplex p 248 half duplex p 517 and full duplex p 516 Term handshake handshaking The exchange of predetermined information between two devices to assure each that it is connected to the other When not used as a clock line the CLK HS pin 7 line in t...

Page 518: ...onal or decimal component 15 and 7956 are integers 1 5 and 79 56 are not Term intermediate memory See data output processing memory p 512 Term IP Internet Protocol A TCP IP internet protocol Term IP address A unique address for a device on the internet Term IP trace Function associated with IP data transmissions IP trace information was originally accessed through the CRBasic instruction IPTrace p...

Page 519: ...Display List p 651 for other compatible keyboard displays Term leaf node A PakBus node at the end of a branch When in this mode the CR1000 is not able to forward packets from one of its communication ports to another It will not maintain a list of neighbors but it still communicates with other PakBus dataloggers and wireless sensors It cannot be used as a means of reaching routing to other datalog...

Page 520: ... line or be used with an optically isolated interface see the appendix CS I O Serial Interfaces p 652 to raise the ring line and put the CR1000 in the telecommunication command state o Asynchronous serial communication port that can be configured to communicate with the CR1000 Term modulo divide A math operation Result equals the remainder after a division Term MSB Most significant bit the leading...

Page 521: ...ent node entered as child nodes A node can be both a parent and a child See PakBus Overview p 88 Term NSEC Eight byte data type divided up as four bytes of seconds since 1990 and four bytes of nanoseconds into the second See Data Type p 131 p 130 tables Term null modem A device usually a multi conductor cable which converts an RS 232 port from DCE to DTE or from DTE to DCE Term Numeric Monitor A d...

Page 522: ...tput A loosely applied term Denotes a the information carrier generated by an electronic sensor b the transfer of data from variable memory to final data memory or c the transfer of electric power from the CR1000 or a peripheral to another device Term output array A string of data values output to final data memory Output occurs when the data table output trigger is True Term output interval See d...

Page 523: ...ors commonly measured with period average include water content reflectometers Term peripheral Any device designed for use with the CR1000 or another Campbell Scientific datalogger A peripheral requires the CR1000 to operate Peripherals include measurement control p 85 and data retrieval and telecommunication p 651 modules Term ping A software utility that attempts to contact another device in a n...

Page 524: ...ion sequence of CRBasic instructions Also used to set or clear flags See section PLC Control Overview p 74 Term program statement A complete program command construct confined to one command line or to multiple command lines merged with the line continuation characters space underscore _ A command line even with line continuation cannot exceed 512 characters Term Program Send command Program Send ...

Page 525: ...mmand varies among datalogger support software according to the following LoggerNet Connect Screen Station Status tab Table Fill Times tab Reset Tables PC400 command sequence Datalogger Station Status Table Fill Times Reset Tables RTDAQ command sequence Datalogger Station Status Table Fill Times Reset Tables PC200W command sequence Datalogger Station Status Table Fill Times Reset Tables Term resis...

Page 526: ...ation with smart sensors are flexible Term sample rate The rate at which measurements are made by the CR1000 The measurement sample rate is of interest when considering the effect of time skew or how close in time are a series of measurements or how close a time stamp on a measurement is to the true time the phenomenon being measured occurred A maximum sample rate is the rate at which a measuremen...

Page 527: ...esence of temperature gradients This is the principle behind thermocouple temperature measurement It also causes small correctable voltage offsets in CR1000 measurement circuitry Term ping A CRBasic program execution mode wherein each statement is evaluated in the order it is listed in the program More information is available in section Sequential Mode p 153 See Term pipeline mode p 523 Term sema...

Page 528: ...res p 472 Term single ended A serial communication protocol One direction data only Serial communications between a serial sensor and the CR1000 may be simplex Reading list simplex p 528 duplex p 248 half duplex p 517 and full duplex p 516 Term single ended Denotes a sensor or measurement terminal wherein the analog voltage signal is carried on a single lead and measured with respect to ground 0 V...

Page 529: ...mmand available in most datalogger support software p 95 The following figure is a sample of station status output Term string A datum or variable consisting of alphanumeric characters Term support software See Term datalogger support software p 512 529 ...

Page 530: ...ent SDM or digital and processing Tasks are prioritized when the CRBasic program runs in pipeline mode o A user customized function defined through LoggerNet Task Master Term TCP IP Transmission Control Protocol Internet Protocol Term Telnet A software utility that attempts to contact and interrogate another specific device in a network Telnet is resident in Windows OSs Term terminal Point at whic...

Page 531: ...TL Transistor to Transistor Logic A serial protocol using 0 Vdc and 5 Vdc as logic signal levels Term TLS Transport Layer Security An Internet communication security protocol Term toggle To reverse the current power state Term UINT2 Data type used for efficient storage of totalized pulse counts port status status of 16 ports stored in one variable for example or integer values that store binary fl...

Page 532: ... High level Vac can be the primary power source for Campbell Scientific power supplies Do not connect high level Vac directly to the CR1000 o The CR1000 measures varying frequencies of low level Vac in the range of 20 Vac For example some anemometers output a low level Vac signal Term Vdc Volts direct current Also VDC Two definitions o The CR1000 operates with a nominal 12 Vdc The CR1000 can suppl...

Page 533: ...ngineer Term weather tight Describes an instrumentation enclosure impenetrable by common environmental conditions During extraordinary weather events however seals on the enclosure may be breached Term web API Application Programming Interface see the section Web Service API p 423 for more information Term wild card a character or expression that substitutes for any other character or expression T...

Page 534: ...e correct measurement Each shot represents an attempt to make the measurement The diameter of the projectile represents resolution The objective of a data acquisition system should be high accuracy high precision and to produce data with resolution as high as appropriate for a given application Figure 133 Relationships of Accuracy Precision and Resolution 534 ...

Page 535: ...utions Use of the following trademarks in the CR1000 Operator s Manual does not imply endorsement by their respective owners of Campbell Scientific Crydom Newark Mouser MicroSoft WordPad HyperTerminal LI COR 535 ...

Page 536: ......

Page 537: ...d code examples are available in CRBasic Editor p 125 Help A 1 Program Declarations Instructions used in program declarations are usually placed in a program prior to the BeginProg instruction AngleDegrees Sets math functions to use degrees instead of radians Syntax AngleDegrees EncryptExempt Defines one or more PakBus addresses to which the datalogger will not send encrypted PakBus messages even ...

Page 538: ...ub ExitSub EndSub Declares the name variables and code that form a subroutine Argument list is optional Exit Sub is optional Syntax Sub subname argument list statement block Exit Sub statement block End Sub WebPageBegin WebPageEnd See TCP IP Details p 289 A 1 1 Variable Declarations Modifiers Alias Assigns a second name to a variable Syntax Alias variable alias name Alias array 4 alias name alias ...

Page 539: ...iables Retains values in Dim or Public variables when the CRBasic program restarts after a power failure manual stop or other operations that cause the program to recompile Syntax PreserveVariables Public Declares and dimensions public variables Dimensions are optional Syntax Public variable name x y z ReadOnly Flags a comma separated list of variables Public or Alias name as read only Syntax Read...

Page 540: ... Declarations DataTable EndTable Mark the beginning and end of a data table Syntax DataTable Name TrigVar Size data table modifiers on line storage destinations output processing instructions EndTable DataTime Declaration within a data table that allows time stamping with system time Syntax DataTime Option A 2 1 Data Table Modifiers DataEvent Sets triggers to start and stop storing records within ...

Page 541: ... Data Destinations Note TableFile with Option 64 is the preferred instruction to write data to a Campbell Scientific mass storage device or memory card in most applications See TableFile with Option 64 p 206 for more information CardFlush Immediately writes any buffered data from CR1000 internal memory and file system to a Campbell Scientific mass storage device or memory card TableFile with Optio...

Page 542: ...escription2 A 2 3 1 Single Source Average Stores the average value over the data output interval for the source variable or each element of the array specified Syntax Average Reps Source DataType DisableVar Covariance Calculates the covariance of values in an array over time Syntax Covariance NumVals Source DataType DisableVar NumCov FFT Performs a Fast Fourier Transform on a time series of measur...

Page 543: ... DestPV DestChange Reps Source Hysteresis Sample Stores the current value at the time of output Syntax Sample Reps Source DataType SampleFieldCal Writes field calibration data to a table See Calibration Functions p 598 SampleMaxMin Samples a variable when another variable reaches its maximum or minimum for the defined output period Syntax SampleMaxMin Reps Source DataType DisableVar StdDev Calcula...

Page 544: ...rformed Syntax WindVector Repetitions Speed East Direction North DataType DisableVar Subinterval SensorType OutputOpt Read More See Wind Vector p 296 A 3 Single Execution at Compile The following instructions reside between the BeginProg and Scan instructions ESSInitialize Initialize ESS variables at compile time Used in conjunction with ESSVariables Syntax ESSInitialize MovePrecise Used in conjun...

Page 545: ...am control from the main program to a subroutine Syntax Call subname list of variables CallTable Calls a data table typically for output processing Syntax CallTable TableName Delay Delays the program Syntax Delay Option Delay Units Do While Until Exit Do Loop Repeats a block of statements while a condition is true or until a condition becomes true Syntax Do While Until condition statementblock Exi...

Page 546: ...ent block Next counter counter If Then Else ElseIf EndIf Programs into or around a segment of code conditional on the evaluation of an expression Else is optional ElseIf is optional Note that EndSelect and EndIf call the same function Syntax If condition Then thenstatements Else elsestatements or If condition 1 Then then statements ElseIf condition 2 Then elseif then statements Else else statement...

Page 547: ...ession 2 statement block 2 Case Is expression fragment Case Else statement block 3 EndSelect SlowSequence Marks the beginning of a section of code that will run concurrently with the main program Syntax SlowSequence SubScan NextSubScan Controls a multiplexer or measures some analog inputs at a faster rate than the program scan See Measurement Faster Analog Rates p 229 for information on use of Sub...

Page 548: ...e Syntax While condition StatementBlock Wend A 4 2 Advanced Program Controls Data Read Restore Defines a list of FLOAT constants to be read using Read into a variable array later in the program Syntax Data list of constants Read VarExpr Restore DataLong Read Restore Defines a list of LONG constants to be read using Read into a variable array later in the program Syntax DataLong list of constants R...

Page 549: ...to 3 to avoid resource conflicts Syntax SemaphoreGet SemaphoreRelease Releases semaphore p 527 previously acquired with SemaphoreGet Syntax SemaphoreRelease ShutDownBegin Begins code to be run in the event of a normal shutdown such as when sending a new program Syntax ShutDownBegin ShutDownEnd Ends code to be run in the event of a normal shutdown such as when sending a new program Syntax ShutDownE...

Page 550: ...ction Serial Input Output p 583 and Serial I O p 245 A 5 1 Diagnostics Battery Measures input voltage Syntax Battery Dest ComPortIsActive Returns a Boolean value based on whether or not activity is detected on a COM port Syntax variable ComPortIsActive ComPort InstructionTimes Returns the execution time of each instruction in the program Syntax InstructionTimes Dest PanelTemp Measures the panel te...

Page 551: ...s Thermocouple Measurements Details Thermocouple Measurements Instructions TCDiff Measures a differential thermocouple Syntax TCDiff Dest Reps Range DiffChan TCType TRef RevDiff SettlingTime Integ Mult Offset TCSe Measures a single ended thermocouple Syntax TCSe Dest Reps Range SEChan TCType TRef MeasOfs SettlingTime Integ Mult Offset A 5 4 Resistive Bridge Measurements Related Topics Resistance M...

Page 552: ...bridge Delay is optional Syntax BrHalf Dest Reps Range SEChan Vx ExChan MeasPEx ExmV RevEx SettlingTime Integ Mult Offset BrHalf3W Measures ratio of Rs Rf of a three wire half bridge Syntax BrHalf3W Dest Reps Range SEChan Vx ExChan MeasPEx ExmV RevEx SettlingTime Integ Mult Offset BrHalf4W Measures ratio of Rs Rf of a four wire half bridge Syntax BrHalf4W Dest Reps Range1 Range2 DiffChan Vx ExChan...

Page 553: ...eriodAvg Measures the period of a signal on H L terminals configured for single ended voltage input Syntax PeriodAvg Dest Reps Range Terminal Threshold PAOption Cycles Timeout Mult Offset PulseCount Measures number or frequency of voltages pulses on a P or C terminal configured for pulse input Syntax PulseCount Dest Reps Terminal PConfig POption Mult Offset VibratingWire Measure a vibrating wire s...

Page 554: ...for input or output Syntax PortsConfig Mask Function ReadIO Reads the status of C terminals Syntax ReadIO Dest Mask TimerIO Measures the time between edges state transitions or frequency on C terminals Syntax TimerIO Dest Edges Function Timeout Units A 5 7 1 Control PortSet Sets the specified C terminal high or low Syntax PortSet Terminal State PulsePort Toggles the state of a C terminal delays to...

Page 555: ...SDI 12 Sensor Support Overview p 72 SDI 12 Sensor Support Details p 363 Serial I O SDI 12 Sensor Support Programming Resource p 267 SDI 12 Sensor Support Instructions p 555 SDI12Recorder Issues commands to and retrieves results from an SDI 12 sensor Syntax SDI12Recorder Dest Terminal SDIAddress SDICommand Multiplier Offset SDI12SensorSetup Sets up the CR1000 to act as an SDI 12 sensor SDI12SensorS...

Page 556: ...ble isolation transformers CS110 Measures electric field by means of a CS110 electric field meter Syntax CS110 Dest Leakage Status Integ Mult Offset CS110Shutter Controls the shutter of a CS110 electric field meter Syntax CS110Shutter Status Move CS616 Enables and measures a CS616 water content reflectometer Syntax CS616 Dest Reps SEChan Port MeasPerPort Mult Offset CS7500 Communicates with the CS...

Page 557: ...PS_Array ComPort TimeOffsetSec MaxErrorMsec NMEA_Sentences Note To change from the GPS default baud rate of 38400 specify the new baud rate in the SerialOpen instruction HydraProbe Reads the Stevens Vitel SDI 12 Hydra Probe sensor Syntax HydraProbe Dest SourceVolts ProbeType SoilType LI7200 Communicates with the LI COR LI 7200 open path CO2 and H2O sensor Syntax LI7200 Dest Reps SDMAddress Command...

Page 558: ... Wireless Sensor Network ArrayIndex Returns the index of a named element in an array Syntax ArrayIndex Name CWB100 Sets up the CR1000 to request and accept measurements from the CWB100 wireless sensor base Syntax CWB100 ComPort CWSDest CWSConfig CWB100Diagnostics Sets up the CR1000 to request and accept measurements from the CWB100 wireless sensor base Syntax CWB100 ComPort CWSDest CWSConfig CWB10...

Page 559: ...plier Offset CDM_VW300Config Configures the CDM VW300 dynamic vibrating wire spectrum analyzer Syntax CDM_VW300Config DeviceType CPIAddress SysOptions ChanEnable ResonAmp LowFreq HighFreq ChanOptions Mult Offset SteinA SteinB SteinC RF_MeanBins RF_AmpBins RF_LowLim RF_HighLim RF_Hyst RF_Form CDM_VW300Dynamic Captures dynamic VSPECT p 532 measurements from the CDM VW300 dynamic vibrating wire spect...

Page 560: ...e Reps SDMAdress SDMAO4A Sets output voltage levels in an SDM AO4A continuous analog output device Syntax SDMAO4A Source Reps SDMAdress SDMCAN Reads and controls an SDM CAN interface Syntax SDMCAN Dest SDMAddress TimeQuanta TSEG1 TSEG2 ID DataType SDMCD16AC Controls an SDM CD16AC SDM CD16 or SDM CD16D control device Syntax SDMCD16AC Source Reps SDMAddress SDMCD16Mask Controls an SDM CD16AC SDM CD1...

Page 561: ...Funct4_1 OutputOpt CaptureTrig Mult Offset SDMIO16 Sets up and measures an SDM IO16 I O expansion module Syntax SDMIO16 Dest Status Address Command Mode Ports 16 to 13 Mode Ports 12 to 9 Mode Ports 8 to 5 Mode Ports 4 to 1 Mult Offset SDMSIO4 Controls transmits and receives data from an SDM SIO4 I O expansion module Syntax SDMSIO4 Dest Reps SDMAddress Mode Command Param1 Param2 ValuesPerRep Multip...

Page 562: ...s to be controlled by the SDM task sequencer This enables SDM CD16x control events to occur at a precise time See the appendix Relay Drivers List p 649 Syntax TimedControl Size SyncInterval IntervalUnits DefaultValue CurrentIndex Source ClockOption A 6 PLC Control Instructions Related Topics PLC Control Overview p 74 PLC Control Details p 244 PLC Control Modules Overview p 368 PLC Control Modules ...

Page 563: ...Raise to power Result is always promoted to a FLOAT p 161 data type to avoid problems that may occur when raising an integer to a negative power However loss of precision occurs if result is 24 bits For example 46340 2 will yield 2 147 395 584 not precisely correct whereas 46340 46340 will yield 2 147 395 600 precisely correct Simply use repeated multiplications instead of operators when full 32 b...

Page 564: ...fields This type of data compression is a tactic to conserve memory and communication bandwidth Following is an example of data compressed into an eight byte integer A packed integer that is stored in variable input_val will be unpacked into three integers individually stored in value_1 value_2 and value_3 In the packed integer the information that is unpacked into value_1 is stored in bits 7 and ...

Page 565: ...tion EndProg A 7 4 Compound Assignment Operators Table 137 Compound Assignment Operators Symbol Name Function Exponent assignment Raises the value of a variable to the power of an expression and assigns the result back to the variable Multiplication assignment Multiplies the value of a variable by the value of an expression and assigns the result to the variable Addition assignment Adds the value ...

Page 566: ...R expr2 XOR Performs a logical exclusion on two expressions Syntax result expr1 XOR 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 FalseValue IMP Performs a logical implication on two expressions Syntax result expression1 IMP expression2 A 7 6 Trigonometric Functions A 7 6 1 Intrinsic Trigon...

Page 567: ...ctangent of y x Syntax x ATN y x COS Returns the cosine of an angle specified in radians Syntax x COS source COSH Returns the hyperbolic cosine of an expression or value Syntax x COSH source SIN Returns the sine of an angle Syntax x SIN source SINH Returns the hyperbolic sine of an expression or value Syntax x SINH Expr TAN Returns the tangent of an angle Syntax x TAN source 567 ...

Page 568: ...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 Log X Sqr X X 1 Inverse Hyperbolic Tangent HArctan Log 1 X 1 X 2 Inverse Hyperbolic Secant HArcsec Log Sqr X X 1 1 X Inverse Hyperb...

Page 569: ...T or FIX Return the integer portion of a number Syntax x INT source x Fix source INTDV Performs an integer division of two numbers Syntax X INTDV Y LN or LOG Returns the natural logarithm of a number Ln and Log perform the same function Syntax x LOG source x LN source Note LOGN LOG X LOG N LOG10 The LOG10 function returns the base ten logarithm of a number Syntax x LOG10 number MOD Modulo divide D...

Page 570: ...Source Round Rounds a value to a higher or lower number Syntax variable Round Number Decimal SGN Finds the sign value of a number Syntax x SGN source Sqr Returns the square root of a number Syntax x SQR number A 7 8 Integrated Processing DewPoint Calculates dew point temperature C from dry bulb temperature and relative humidity Syntax DewPoint Dest Temp RH PRT Calculates temperature C from the res...

Page 571: ...Calculates saturation vapor pressure kPa from temperature Syntax SatVP Dest Temp StrainCalc Converts the output of a bridge measurement instruction to microstrain Syntax StrainCalc Dest Reps Source BrZero BrConfig GF v VaporPressure Calculates vapor pressure from temperature and relative humidity Syntax VaporPressure Dest Temp RH WetDryBulb Calculates vapor pressure kPa from wet and dry bulb tempe...

Page 572: ...MaxSpa Dest Swath Source MinSpa Finds the minimum value in an array Syntax MinSpa Dest Swath Source RMSSpa Computes the RMS root mean square value of an array Syntax RMSSpa Dest Swath Source SortSpa Sorts the elements of an array in ascending order Syntax SortSpa Dest Swath Source StdDevSpa Finds the standard deviation of an array Syntax StdDevSpa Dest Swath Source A 7 10 Other Functions AddPrecis...

Page 573: ...the array The results will be a running average of a spatial average on the various source array elements Randomize Initializes the random number generator Syntax Randomize source RND Generates a random number Syntax RND source TotalRun Outputs a running total of a measurement Syntax TotalRun Dest Reps Source Number RunReset A 7 10 1 Histograms Histogram Processes input data as either a standard h...

Page 574: ...ume 4 Issue 1 Syntax RainFlow Source DataType DisableVar MeanBins AmpBins Lowlimit Highlimit MinAmp Form A 8 String Functions Related Topics String Operations p 282 Concatenates string variables Concatenates string and numeric variables Compares two strings returns zero if identical A 8 1 String Operations Table 139 String Operations Operation Notes String constants Constant strings can be used in...

Page 575: ... length of a variable array Syntax ArrayLength Variable ASCII Returns the ASCII ANSI code of a character in a string Syntax Variable ASCII ASCIIString 1 1 X CheckSum Returns a checksum signature for the characters in a string Syntax Variable CheckSum ChkSumString ChkSumType ChkSumSize CHR Inserts an ANSI character into a string Syntax CHR Code Erase Clears all bytes in a variable or variable array...

Page 576: ...Dec Converts a hexadecimal string to a float or integer Syntax Variable HexToDec Expression InStr Finds the location of a string within a string Syntax Variable InStr Start SearchString FilterString SearchOption LTrim Returns a copy of a string with no leading spaces Syntax variable LTrim TrimString Left Returns a substring that is a defined number of characters from the left side of the original ...

Page 577: ...ined number of characters from the right side of the original string Syntax variable Right SearchString NumChars RTrim Returns a copy of a string with no trailing spaces Syntax variable RTrim TrimString StrComp Compares two strings by subtracting the characters in one string from the characters in another Syntax Variable StrComp String1 String2 SplitStr Splits out one or more strings or numeric va...

Page 578: ...integer seconds and nanoseconds into the second since midnight January 1 1990 ClockChange Returns milliseconds of clock change due to any setting of the clock that occurred since the last execution of ClockChange Syntax variable ClockChange ClockReport Sends the CR1000 clock value to a remote datalogger in the PakBus network Syntax ClockReport ComPort RouterAddr PakBusAddr ClockSet Sets the CR1000...

Page 579: ...yntax If IfTime TintoInt Interval Units Then or Variable IfTime TintoInt Interval Units PakBusClock Sets the CR1000clock to the clock of the specified PakBus device Syntax PakBusClock PakBusAddr RealTime Parses year month day hour minute second micro second day of week and or day of year from the CR1000 clock Syntax RealTime Dest SecsSince1990 Returns seconds elapsed since 1990 Data type is LONG U...

Page 580: ... campbellsci com manuals http www campbellsci com manuals DialVoice Defines the dialing string for a COM310 voice modem Syntax DialVoice DialString VoiceBeg EndVoice Marks the beginning and ending of voice code that is executed when the CR1000 detects a ring from a voice modem Syntax VoiceBeg voice code to be executed EndVoice VoiceHangup Hangs up the voice modem Syntax VoiceHangup VoiceKey Recogn...

Page 581: ...e modem Syntax VoiceSpeak String Variable String Precision A 11 Custom Menus Instructions Related Topics Custom Menus Overview p 84 p 581 Data Displays Custom Menus Details p 182 Custom Menus Instruction Set p 581 Keyboard Display Overview p 83 CRBasic Editor Help for DisplayMenu Custom menus are constructed with the following syntax before the BeginProg instruction DisplayMenu MenuName AddToSyste...

Page 582: ... and associated measurement value for an item in a custom menu Syntax MenuItem MenuItemName Variable MenuPick Creates a list of selectable options that can be used when editing a MenuItem value Syntax MenuPick Item1 Item2 Item3 MenuRecompile Creates a custom menu item for recompiling a program after making changes to one or more ConstTable values Syntax MenuRecompile CompileString CompileVar SubMe...

Page 583: ...rialBrk Port Duration SerialClose Closes a communication port that was previously opened by SerialOpen Syntax SerialClose ComPort SerialFlush Clears any characters in the serial input buffer Syntax SerialFlush ComPort SerialIn Sets up a communication port for receiving incoming serial data Syntax SerialIn Dest ComPort TimeOut TerminationChar MaxNumChars SerialInBlock Stores incoming serial data Th...

Page 584: ...SerialOutBlock ComPort Expression NumberBytes A 13 Peer to Peer PakBus Communications Related Topics PakBus Communications Overview p 88 PakBus Communications Details p 393 PakBus Communications Instructions p 584 PakBus Networking Guide available at www campbellsci com manuals http www campbellsci com manuals PakBus is a proprietary networking communication protocol designed to optimize communica...

Page 585: ... Next The Timeout argument is entered in units of hundredths 0 01 of seconds If 0 is entered then the default timeout defined by the time of the best route is used Use PakBusGraph p 654 Hop Metrics to calculate this time Because these communication instructions wait for a response or timeout before the program moves on to the next instruction they should be used in a slow sequence p 157 A slow seq...

Page 586: ...yntax EncryptExempt BeginPakBusAddr EndPakBusAddr GetDataRecord Retrieves the most recent record from a data table in a remote PakBus datalogger and stores the record in the CR1000 Syntax GetDataRecord ResultCode ComPort NeighborAddr PakBusAddr Security Timeout Tries TableNo DestTableName Note CR200 CR510PB CR10XPB and CR23XPB dataloggers do not respond to a GetDataRecord request from other PakBus...

Page 587: ... RoutersNeighbors Returns a list of all PakBus routers and their neighbors known to the CR1000 Syntax RoutersNeighbors DestArray MaxRouters MaxNeighbors 1 Routes Returns a list of known dynamic routes for a PakBus datalogger that has been configured as a router in a PakBus network Syntax Routes Dest SendData Sends the most recent record from a data table to a remote PakBus device Syntax SendData C...

Page 588: ...ta table in a remote datalogger Syntax SendVariables ResultCode ComPort RouterAddr PakBusAddr Security TimeOut TableName FieldName Variable Swath StaticRoute Defines a static route to a PakBus datalogger Syntax StaticRoute ComPort NeighborAddr PakBusAddr TimeUntilTransmit Returns the time remaining in seconds before communication with the host datalogger Syntax variable TimeUntilTransmit Table 140...

Page 589: ...turned Syntax ArrayLength Variable Erase Clears all bytes in a variable or variable array Syntax Erase EraseVar FindSpa Searches a source array for a value and returns the position of the value in the array Syntax FindSpa SoughtLow SoughtHigh Step Source Move Moves the values in a range of variables into different variables or fills a range of variables with a constant Syntax Move Dest DestReps So...

Page 590: ...out exposing source code Syntax Boolean Variable FileEncrypt FileName FileList Returns a list of files that exist on the specified drive Syntax FileList Drive DestinationArray FileManage Manages program files from within a running datalogger program Syntax FileManage Device FileName Attribute FileOpen Opens an ASCII text file or a binary file for writing or reading Syntax FileHandle FileOpen FileN...

Page 591: ... by the FileHandle was created Syntax Variable FileTime FileHandle FileWrite Writes ASCII or binary data to a file referenced in the program by FileHandle Syntax FileWrite FileHandle Source Length Include Inserts code from a file Filename at the position of the Include instruction at compile time Include cannot be nested Syntax Include Device Filename NewFile Determines if a file stored on the CR1...

Page 592: ...t TableName RecsBack ResetTable Used to reset a data table under program control Syntax ResetTable TableName SetSetting Changes the value for a setting or a Status table field Syntax SetSetting FieldName Value SetStatus Changes the value for a setting or a Status table field Syntax SetStatus FieldName Value TableName EventCount Returns the number of data storage events that have occurred for an ev...

Page 593: ...s the number of records allocated for a data table Syntax TableName TableSize 1 1 TableName TimeStamp Returns the time into an interval or a time stamp for a record in a specific data table Syntax TableName TimeStamp m n WorstCase Saves one or more worst case data storage events into separate tables Used in conjunction with DataEvent Syntax WorstCase TableName NumCases MaxMin Change RankVar A 17 T...

Page 594: ...e or more email addresses via an SMTP server Syntax variable EMailSend ServerAddr ToAddr FromAddr Subject Message Attach UserName PassWord Result EthernetPower Controls power state of all Ethernet devices Syntax EthernetPower state FTPClient Sends or retrieves a file via FTP Syntax Variable FTPClient IPAddress User Password LocalFileName RemoteFileName PutGetOption HTTPGET Sends a request to an HT...

Page 595: ...o Returns the IP address of the specified datalogger interface into a string Syntax Variable IPInfo Interface Option IPNetPower Controls power state of individual Ethernet devices Syntax IPNetPower IPInterface State IPRoute Sets the interface to be used Ethernet or PPP when the CR1000 sends an outgoing packet and both interfaces are active Syntax IPRoute IPAddr IPInterface IPTrace Writes IP debug ...

Page 596: ...rmation Base hierarchy for SNMP Syntax SNMPVariable Name OID Type Access Valid TCPClose Closes a TCP IP socket that has been set up for communication Syntax TCPClose TCPSocket TCPOpen Sets up a TCP IP socket for communication Syntax TCPOpen IPAddr TCPPort TCPBuffer UDPDataGram Sends packets of information via the UDP communication protocol Syntax UDPDataGram IPAddr UDPPort SendVariable SendLength ...

Page 597: ...meSpaces A 18 Modem Control Read More For help on datalogger initiated telecommunication see Initiating Telecomms Callback p 392 DialModem Sends a modem dial string out a datalogger communication port Syntax DialModem ComPort BaudRate DialString ResponseString ModemCallback Initiates a call to a computer via a phone modem Syntax ModemCallback Result COMPort BaudRate Security DialString ConnectStri...

Page 598: ...iable Array Swath Object Variation Class Flag Event Expression Number of Events ModBusMaster Sets up a datalogger 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 CR1000 as a ModBus slave device Syntax ModBusSlave ComPort BaudRate ModBusAddr DataVariable Bool...

Page 599: ... NewFieldCal Triggers storage of calibration values when a new cal file has been written Syntax DataTable TableName NewFieldCal Size SampleFieldCal EndTable SampleFieldCal Stores the values in the cal file to a data table Syntax DataTable TableName NewFieldCal Size SampleFieldCal EndTable A 21 Satellite Systems Instructions for ARGOS GOES OMNISAT and INMARSAT C Refer to satellite transmitter manua...

Page 600: ...ID HexadecimalID Frequency ArgosTransmit Initiates a single transmission to an ARGOS satellite when the instruction is executed Syntax ArgosTransmit ResultCode ST20Buffer A 21 2 GOES GOESData Sends data to a Campbell Scientific GOES satellite data transmitter Syntax GOESData Dest Table TableOption BufferControl DataFormat GOESGPS Stores GPS data from the GOES satellite into two variable arrays Syn...

Page 601: ... METEOSAT satellite at a random transmission rate Syntax OmniSatRandomSetup ResultCodeR OmniPlatformID OmniChannel OmniBaud RInterval RCount OmniSatStatus Queries the OMNISAT transmitter for status information Syntax OmniSatStatus OmniStatusResult OmniSatSTSetup Sets up the OMNISAT transmitter to send data over the GOES or METEOSAT satellite at a self timed transmission rate Syntax OmniSatSTSetup ...

Page 602: ...ormation Syntax INSATStatus ResultCode A 22 User Defined Functions Function Return Exit Function EndFunction Creates a user defined CRBasic instruction Syntax Function optional parameters As optional data type Return optional expression ExitFunction optional EndFunction Optional Defines a list of optional parameters that can be passed into a subroutine or function Syntax Function FunctionName Para...

Page 603: ...these groups is linked to the relevant description Some Status Settings DTI have multiple names depending on the interface used to access them No single interface accesses all Status Settings DTI Interfaces used for access include the following Table 141 Status Setting DTI Access Points Access Point Locate in Settings Editor Device Configuration Utility LoggerNet Connect screen PakBus Graph See Da...

Page 604: ...Program II p 609 Data p 609 Memory p 609 Miscellaneous p 609 Obsolete p 609 OS and Hardware Versioning p 610 Power Monitors p 610 Security p 610 Signatures p 610 Table 143 Status Settings DTI Frequently Used Action Status Setting DTI Table Where Located Find the PakBus address of the CR1000 PakBusAddress p 623 Communications PakBus See messages pertaining to compilation of the CRBasic program runn...

Page 605: ...631 UTCOffset p 631 CommActive p 613 CommConfig p 613 CommsMemAlloc p 614 CommsMemFree 1 p 614 CommsMemFree 2 p 614 I IncludeFile p 617 IPAddressCSIO p 618 IPAddressEth p 618 IPGateway p 618 O OSDate p 622 OSSignature p 622 OSVersion p 622 RS232Timeout p 627 RunSignature p 627 V VarOutOfBound p 631 Verify p 632 CommsMemFree 3 p 614 CompileResults p 614 IPGatewayCSIO p 618 IPInfo p 618 IPMaskCSIO p...

Page 606: ...ProcessTime p 625 CalGain p 613 CalSeOffset p 613 CalDiffOffset p 612 Battery p 611 LithiumBattery p 619 MaxProcTime p 620 BuffDepth p 612 MaxBuffDepth p 620 LastSystemScan p 619 LastSlowScan p 619 Low12VCount p 620 Low5VCount p 620 CompileResults p 614 StartUpCode p 629 ProgErrors p 626 SystemProcTime p 629 SlowProcTime p 629 MaxSystemProcTime p 621 MaxSlowProcTime p 620 PortStatus p 624 Table 14...

Page 607: ... p 618 pppDialResponse p 625 IPTraceComport p 619 IPTraceCode p 619 DNS p 615 PakBusTCPClients p 623 IPGateway p 618 IPAddressCSIO p 618 UDPBroadcastFilter p 631 HTTPEnabled p 617 FTPEnabled p 616 TelnetEnabled p 630 PingEnabled p 624 IPMaskCSIO p 618 IPGatewayCSIO p 618 PakBusPort p 623 FTPPort p 617 HTTPPort p 617 PakBusTCPEnabled p 624 FTPUserName p 617 FTPPassword p 616 pppInterface p 625 Tabl...

Page 608: ...axPacketSize p 620 Neighbors p 622 PakBusAddress p 623 PakBusEncryptionKey p 623 PakBusPort p 623 PakBusRoutes p 623 PakBusTCPClients p 623 PakBusTCPEnabled p 624 PakBusTCPPassword p 624 RouteFilters p 626 Verify p 632 Table 154 Status Settings DTI Communications TCP_IP I CSIO1netEnable CSIO2netEnable DNS p 615 EthernetEnable p 616 IPGateway p 618 IPGatewayCSIO p 618 IPInfo p 618 IPTrace p 618 IPT...

Page 609: ...dSlowScan p 628 SlowProcTime p 629 StartTime p 629 StartUpCode p 629 VarOutOfBound p 631 Table 159 Status Settings DTI Data DataFillDays p 615 DataRecordSize p 615 DataTableName p 615 SecsPerRecord p 627 SkippedRecord p 628 Table 160 Status Settings DTI Memory CardBytesFree p 613 CardStatus p 613 CPUDriveFree p 615 DeleteCardFilesOnMismatch p 615 FilesManager p 616 FullMemReset p 617 MemoryFree p ...

Page 610: ... SerialNumber p 628 Table 164 Status Settings DTI Power Monitors Battery p 611 LithiumBattery p 619 Low12VCount p 620 Low5VCount p 620 Table 165 Status Settings DTI Security PakBusTCPPassword p 624 Security 1 p 627 Security 2 p 627 Security 3 p 628 TLS Certificate p 630 TLS Private Key p 630 Table 166 Status Settings DTI Signatures OSSignature p 622 ProgSignature p 626 RunSignature p 627 610 ...

Page 611: ...atus keyword SetSetting SerialOut Array of integers setting baud rates for com ports RS 232 CS I O and C terminals Table 168 Baudrate Array Keywords and Default Settings Array Element Number Port Keyword Default Baud Rate 1 2 3 4 5 6 ComRS232 ComME ComSDC7 ComSDC8 ComSDC10 ComSDC11 115200 115200 115200 115200 115200 115200 7 8 Com1 Com2 0 0 9 10 Com3 Com4 0 0 ComRS232 and ComME CS I O support auto...

Page 612: ...2 ComME ComSDC7 ComSDC8 ComSDC10 ComSDC11 7 8 Com1 Com2 9 10 Com3 Com4 See table Baudrate Beacon and Verify Details read write LONG array seconds 0 0 to 2147483648 BuffDepth Keyboard Status Table line 42 CRBasic variable status keyword Shows the current Pipeline Mode p 152 processing buffer depth which indicates how far the processing task is currently behind the measurement task read only LONG 0 ...

Page 613: ... is configured as a branch router meaning that it will not be required to keep track of neighbors of any routers except those in its own branch So configured the CR1000 ignores any neighbor lists received from addresses in the central routers setting and forwards messages that it receives to the nearest default router if it does not have the destination address for those messages in its routing ta...

Page 614: ...tegories tiny little medium and large When TLS is active there is an additional fifth category huge and there are more buffers allocated for each category See section CommsMemFree 1 p 491 read only LONG TLS Not Active tiny 05 little 15 medium 25 large 15 huge 0 TLS Active tiny 160 little 99 medium 99 large 30 huge 02 CommsMemFree 2 Keyboard Status Table line 34 CRBasic variable status keyword Arra...

Page 615: ...meout When PPP closes it will cancel the timeout and set CommActive as FALSE Further if there is a dialing process going on CommActive is set to TRUE One other event that causes ComME to be active is the GOES instruction In conclusion the name CommActive can be misleading For example if there are no incoming characters to activate the 40 second timeout during which time CommActive is set to TRUE a...

Page 616: ...netPower Keyboard Settings TCP IP line 6 Settings Editor Ethernet Power CRBasic variable settings keyword SetSettings read write UINT2 minute 0 to 4 4 always off Table 173 Status Settings DTI F Keyword Alias Access Description Read Write DataType Units Default Value Normal Range FilesManager Settings Editor Files Manager Keyboard Settings General line 11 CRBasic variable settings keyword SetSettin...

Page 617: ...d write LONG 0 to reset enter 98765 Table 174 Status Settings DTI H Keyword Alias Access Description Read Write DataType Units Default Value Normal Range HTTPEnabled Settings Editor HTTP Enabled Aliased from ServicesEnabled Keyboard Settings TCP IP line 35 CRBasic variable settings keyword SetSettings Replaces old ServicesEnabled Enables True or disables False the HTTP service read write BOOLEAN T...

Page 618: ...P line 9 CRBasic variable settings keyword SetSettings Specifies the address of the IP router to which the CR1000 will forward all non local IP packets for which it has no route A change will cause the CRBasic program to recompile read write 4B STRING 0 0 0 0 0 255 0 255 0 255 0 255 IPGatewayCSIO Settings Editor CS I O Default Gateway Keyboard Settings TCP IP line 15 CRBasic variable settings keyw...

Page 619: ...settings keyword SetSettings Controls configuration of CR1000 as a router or leaf node read write BOOLEAN False True router False leaf node Table 176 Status Settings DTI L Keyword Alias Access Description Read Write DataType Units Default Value Normal Range LastSlowScan Keyboard Status Table line 45 CRBasic variable status keyword Reports the las time a SlowSequence scan in the CRBasic program was...

Page 620: ...only LONG count 0 0 to 99 0 reset Table 177 Status Settings DTI M Keyword Alias Access Description Read Write DataType Units Default Value Normal Range MaxBuffDepth Keyboard Status Table line 43 CRBasic variable status keyword Maximum number of buffers the CR1000 will use to process lagged measurements read write LONG no units 0 MaxPacketSize Settings Editor Max Packet Size Keyboard Settings Gener...

Page 621: ...tatus keyword Reports the time needed to make measurements in the current scan Calculated at compile time Includes integration and settling time In pipeline mode processing occurs concurrent with this time so the sum of MeasureTime and ProcessTime is not equal to the required scan time Assumes all measurement instructions will run each scan See ProcessTime and MaxProcTime read only LONG μs n a n a...

Page 622: ... See section Neighbors p 406 read write STRING 0 0 n a Table 179 Status Settings DTI O Keyword Alias Access Description Read Write DataType Units Default Value Normal Range OSDate Station Status OS Date Keyboard Status Table line 4 CRBasic variable status keyword Release date of the operating system in the format yymmdd read only STRING n a n a OSSignature Station Status OS Signature Keyboard Stat...

Page 623: ... Replaces old TCPPort setting Effective only if the PPP service is enabled using a PPP compatible network link p 652 Specifies the TCP service port for PakBus communications with the CR1000 Unless firewall issues exist this setting probably does not need to be changed from its default value read only LONG 6785 0 to 65535 PakBusRoutes Settings Editor Routes Keyboard Status Table line 53 CRBasic var...

Page 624: ... variable settings keyword SetSettings Enables True or disables False the ICMP ping service Replaces old ServicesEnabled read write BOOLEAN True True or False PortConfig Keyboard Status Table line 51 CRBasic variable status keyword Configuration of C terminals Array elements in numeric order of C terminals read only STRING array Input Input Output SDM SDI 12 Tx Rx PortStatus Keyboard Status Table ...

Page 625: ...g will indicate that DHCP must be used to resolve this address as well as the subnet mask read write STRING 0 0 0 0 0 255 0 255 0 255 0 255 pppIPMask Settings Editor Keyboard Status Table line 25 CRBasic variable settings keyword SetSettings read write STRING none 0 255 0 255 0 255 0 255 pppPassword Settings Editor PPP tab Password Keyboard Status Table line 27 CRBasic variable settings keyword Se...

Page 626: ...s Settings DTI R Keyword Alias Access Description Read Write DataType Units Default Value Normal Range RecNum Keyboard Status Table DTI Table header left CRBasic variable status keyword Record number increments for successive status table data records read only LONG n a 0 to 2 32 RevBoard Keyboard Status Table line 8 CRBasic variable status keyword Electronics board revision in the form xxx yyy wh...

Page 627: ...See ProgSignature p 626 The pre compiler can get the program text but generating the binary signature is not feasible due to endian data size and compiler structure layout differences between the PC and the CR1000 read only LONG n a n a Table 182 Status Settings DTI S Keyword Alias Access Description Read Write DataType Units Default Value Normal Range SecsPerRecord AKA Data table interval Keyboar...

Page 628: ... only LONG array counts 0 0 0 reset SkippedScan Station Status Skipped Scans Keyboard Status Table line 27 CRBasic variable status keyword Number of skipped program scans p 487 that have occurred while running the current program instance Does not include scans intentionally skipped as may occur with the use of ExitScan and Do Loop instructions Includes the number of CPI frame errors See MeasureTi...

Page 629: ...CRBasic variable settings keyword SetSettings StationName Stores a station name in flash memory This is not automatically the same station name as that entered in datalogger support software See the discussion of station names in the datalogger support software manuals The datalogger support software station name is what appears in the header of files of data retrieved to a PC This station name ca...

Page 630: ...olete Replaced by aliased to TLSPassword p 630 TLS Private Key Settings Editor TLS Set Private Key Alias TLS Private Key File Name CRBasic variable settings keyword SetSettings Specifies the file name for the private key in RSA format STRING n a n a TLSConnections Settings Editor Max TLS Server Connections Keyboard Settings TCP IP line 41 CRBasic variable settings keyword SetSettings Relates to th...

Page 631: ... minimum UTCOffset Settings Editor UTC Offset Keyboard display Settings General line 15 CRBasic variable settings keyword SetSettings Difference between local time CR1000 clock and UTC Used in email and HTML headers these protocols require the time stamp to be UTC and by GPS NetworkTimeProtocol and DaylightSavingTime instructions read write LONG seconds 1 disabled 43200 to 43200 1 disable Table 18...

Page 632: ...hbor if no other communication has taken place within the interval Array Element Number Port Keyword 1 2 3 4 5 6 ComRS232 ComME ComSDC7 ComSDC8 ComSDC10 ComSDC11 7 8 Com1 Com2 9 10 Com3 Com4 See table Baudrate Beacon and Verify Details read write LONG seconds 0 0 to 2147483648 Table 186 Status Settings DTI W Keyword Alias Access Description Read Write DataType Units Default Value Normal Range Watc...

Page 633: ...e for printers 7 CLK HS I O Clock Handshake Used with the SDE and TXD lines to address and transfer data to SDs When not used as a clock pin 7 can be used as a handshake line during printer output high enables low disables 8 12 Vdc 9 TXD O Transmit Data Serial data are transmitted from the CR1000 to peripherals on pin 9 logic low marking 0V logic high spacing 5V standard asynchronous ASCII 8 data ...

Page 634: ... The RS 232 port is powered under the following conditions 1 when the setting RS232Power is set or 2 when the SerialOpen for COMRS232 is used in the program These conditions leave RS 232 on with no timeout If SerialClose is used after SerialOpen the port is powered down and left in a sleep mode waiting for characters to come in Under normal operation the port is powered down waiting for input Upon...

Page 635: ...B9 Socket DB9 Socket 1 6 4 2 3 3 2 4 1 6 5 5 7 8 8 7 9 most null modems have no connection 1 9 1 If the null modem cable does not connect pin nine to pin nine the modem will need to be configured to output a RING or other characters previous to the DTR being asserted on the modem TX line to wake the datalogger and activate the DTR line or enable the modem 635 ...

Page 636: ......

Page 637: ...yper Terminal Dec Hex Keyboard Display LoggerNet Hyper Terminal 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 ...

Page 638: ...P 160 a0 á 33 21 161 a1 í 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...

Page 639: ... 47 G G G 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...

Page 640: ...e7 ç τ 104 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 ...

Page 641: ...cription A Polarity 0 1 B C Decimal locaters as defined in the table FP2 Decimal Locater Bits D P 13 bit binary value D being the MSB p 249 Largest 13 bit magnitude is 8191 but Campbell Scientific defines the largest allowable magnitude as 7999 Decimal locaters can be viewed as a negative base 10 exponent with decimal locations as shown in table FP2 Decimal Locater Bits p 641 Table 192 FP2 Decimal...

Page 642: ......

Page 643: ... Modbus programming Modbus p 411 MoveBytes instruction see CRBasic Editor Help SDMGeneric instruction see CRBasic Editor Help Some PakBus instructions like GetDataRecord see CRBasic Editor Help For example when the CR1000 datalogger receives data from a CR9000 datalogger the byte order of a four byte IEEE4 or integer data value has to be reversed before the value shows properly in the CR1000 Table...

Page 644: ......

Page 645: ...scription CR200X Series Dataloggers Limited input not expandable Suited for a network of stations with a small numbers of specific inputs Some models have built in radio transceivers for spread spectrum communication and various frequency bands CR800 Series Dataloggers Limited input but expandable Suited for a network of stations with small numbers of specific inputs The CR850 has a built in keybo...

Page 646: ...T 25 channels multiplexes analog inputs Designed for thermocouples and differential inputs G 3 2 Pulse Input Modules List Related Topics Low Level Ac Input Modules Overview p 367 Low Level Ac Measurements Details p 352 Pulse Input Modules Lists p 646 These modules expand and enhance pulse and frequency input capacity Table 196 Pulse Input Modules Model Description SDM INT8 Eight channel interval t...

Page 647: ...5 1 Resistive Bridge TIM Modules List Table 199 Resistive Bridge TIM1 Modules Model Description 4WFBS120 120 Ω four wire full bridge TIM module 4WFBS350 350 Ω four wire full bridge TIM module 4WFBS1K 1 kΩ four wire full bridge TIM module 3WHB10K 10 kΩ three wire half bridge TIM module 4WHB10K 10 kΩ four wire half bridge TIM module 4WPB100 100 Ω four wire PRT bridge TIM module 4WPB1K 1 kΩ four wire...

Page 648: ...r and insulate input terminals to improve thermocouple measurements Table 203 Terminal Strip Covers Datalogger Terminal Strip Cover Part Number CR6 No cover available CR800 No cover available CR1000 17324 CR3000 18359 G 4 PLC Control Modules Lists Related Topics PLC Control Overview p 74 PLC Control Details p 244 PLC Control Modules Overview p 368 PLC Control Modules Lists p 648 PLC Control Instru...

Page 649: ... 12 Four relays driven by four control ports A6REL 12 Six relays driven by six control ports manual override LR4 Four channel latching relay SDM CD8S Eight channel dc relay controller SDM CD16AC 16 channel ac relay controller SDM CD16S 16 channel dc relay controller SDM CD16D 16 channel 0 or 5 Vdc output module SW12V One channel 12 Vdc control circuit G 4 4 Current Excitation Modules List Current ...

Page 650: ...l volumetric water content Distance Soil volumetric water content profile Soil water potential Electrical current Solar radiation Electric field Lightning Strain Evaporation Surface temperature Freezing rain and ice Turbidity Fuel moisture and temperature Visibility Geographic position GPS Water level and stage Heat vapor and CO2 flux Water flow Leaf wetness Net radiation Water quality ORP pH Wate...

Page 651: ...telecommunication devices are available for use with the CR1000 datalogger G 6 1 Keyboard Display List Related Topics Keyboard Display Overview p 83 Keyboard Display Details p 451 Keyboard Display List p 651 Custom Menus Overview p 84 p 581 Table 211 Datalogger Keyboard Display Availability and Compatibility1 Datalogger Model Compatible Keyboard Displays CR6 CR1000KD 2 p 511 CD100 p 509 CD295 CR80...

Page 652: ...Two required in most installations G 6 3 Hardwire Networking Devices List Table 213 Hardwire Networking Devices Model Description MD485 RS 485 multidrop interface G 6 4 TCP IP Links List Table 214 TCP IP Links Model Description RavenX Series Wireless cellular connects to RS 232 port PPP IP key must be enabled to use CR1000 IP stack NL240 Wireless network link interface connects to CS I O port NL20...

Page 653: ...tter TX320 HDR GOES transmitter DCP200 GOES data collection platform G 7 Data Storage Devices List Related Topics Memory Overview p 87 Memory Details p 370 Data Storage Devices List p 653 Data storage devices allow you to collect data on site with a small device and carry it back to the PC sneaker net Campbell Scientific mass storage devices attach to the CR1000 CS I O port Table 218 Mass Storage ...

Page 654: ...id and Linux applications are also available Note More information about software available from Campbell Scientific can be found at www campbellsci com http www campbellsci com Please consult with a Campbell Scientific application engineer for a software recommendation to fit a specific application G 8 1 Starter Software List Short Cut PC200W and VisualWeather are designed for novice integrators ...

Page 655: ...zed for weather and agricultural applications LoggerLink iOS and Android Datalogger support software for iOS and Android devices IP connection to datalogger only G 8 2 1 LoggerNet Suite List The LoggerNet suite features a client server architecture that facilitates a wide range of applications and enables tailoring software acquisition to specific requirements Table 222 LoggerNet Suite1 2 Software...

Page 656: ...rchased separately be running on the PC 2 RTMC based clients require that LoggerNet or RTDAQ purchased separately be running on the PC G 8 3 Software Tools List Table 223 Software Tools Software Compatibility Description Network Planner PC Windows Available as part of the LoggerNet suite Assists in design of networks and configuration of network elements Device Configuration Utility DevConfig PC W...

Page 657: ...ower Supplies Products Related Topics Power Supplies Specifications Power Supplies Quickstart p 44 Power Supplies Overview p 85 Power Supplies Details p 100 Power Supplies Products p 657 Power Sources p 101 Troubleshooting Power Supplies p 494 Several power supplies are available from Campbell Scientific to power the CR1000 G 9 1 Battery Regulator Combinations List Read More Information on matchin...

Page 658: ...s mounting bracket for Campbell Scientific enclosures BP84 84 Ahr sealed rechargeable battery requires regulator primary source Includes mounting bracket for Campbell Scientific enclosures G 9 3 Regulators List Table 227 Regulators Model Description CH100 12 Vdc charging regulator requires primary source CH200 12 Vdc charging regulator requires primary source G 9 4 Primary Power Sources List Table...

Page 659: ... version available ENC14 16 14 inch x 16 inch weather tight enclosure Pre wired version available ENC16 18 16 inch x 18 inch weather tight enclosure Pre wired version available ENC24 30 24 inch x 30 inch weather tight enclosure ENC24 30S Stainless steel 24 inch x 30 inch weather tight enclosure Table 231 Prewired Enclosures Model Description PWENC12 14 Pre wired 12 inch x 14 inch weather tight enc...

Page 660: ...ed options CM310 1 42 meter 56 in mast stainless steel free standing tripod and guyed options G 12 Enclosures List Table 233 Protection from Moisture Products Model Description 6714 Desiccant 4 Unit Bag Qty 20 Usually used in ENC enclosures to protect the CR1000 A150 L Single Sensor Terminal Case Vented w Desiccant 4091 Desiccant 0 75g Bag Normally used with Sentek water content probes 25366 CS450...

Page 661: ...og to Digital Conversion 305 326 337 507 AND Operator 200 565 Anemometer 70 ANSI 507 637 API 92 423 Argos 599 Arithmatic 161 Arithmetic Functions 568 Array 129 135 162 522 Asynchronous Communication 78 247 A to D 305 326 337 507 Attributes 383 Autobaud 584 Automatic Calibration 323 Automatic Calibration Sequence 153 Automobile Power 102 AutoRange 308 309 B Background Calibration 153 323 326 344 60...

Page 662: ...ion 55 Closed Interval 145 Code 509 Coil 412 Collecting Data 55 57 COM Port Connection 47 Commands SDI 12 268 Comment 126 Common Mode 305 308 309 Common Mode Null 308 309 Communication 47 55 90 391 408 490 491 communication Ports 603 Communications Memory Errors 491 603 Communications Memory Free 491 603 CompactFlash 205 386 461 Compile Errors 481 486 488 Compile Program 180 Compile Results 603 Co...

Page 663: ... Software 95 512 Date 463 dc 513 dc Excitation 104 DCE 81 513 514 521 Debugging 485 Declaration 129 140 537 Declaration Data Table 540 Declaration Modbus 413 Default CR1 116 Desiccant 93 99 513 DevConfig 111 112 513 Device Configuration 111 112 Device Map 398 DHCP 295 513 Diagnosis Power Supply 495 Diagnostics 550 Dial Sequence 151 Dial String 603 Differential 64 65 513 Digital I O 62 73 78 97 368...

Page 664: ... 382 515 File Display 459 File Management 382 589 File Names 389 Files Manager 603 Fill and Stop Memory 370 515 Final Data Memory 515 Final Memory Tables 457 Firmware 86 Fixed Voltage Range 309 Flag 135 414 Floating Point 161 Format Numerical 139 Forward 33 Fragmentation 373 Frequency 69 349 Frequency Resolution 353 FTP 516 FTP Client 294 FTP Server 294 FTP Settings 603 Full Duplex 516 Full Bridge...

Page 665: ... Instructions BrHalf 551 Instructions BrHalf3W 551 Instructions BrHalf4W 551 Instructions Broadcast 396 585 Instructions CalFile 589 Instructions Calibrate 598 602 Instructions Call 545 Instructions CallTable 545 Instructions Case 545 Instructions CDM_VW300Config 559 Instructions CDM_VW300Dynamic 559 Instructions CDM_VW300Rainflow 559 Instructions CDM_VW300Static 559 Instructions Ceiling 568 Instr...

Page 666: ...nstructions FIX 568 Instructions FLOAT 130 162 163 483 516 Instructions Floor 568 Instructions For To Step ExitFor Next 545 Instructions FormatFloat 575 Instructions FormatLong 575 Instructions FormatLongLong 575 Instructions FP2 130 516 641 Instructions FRAC 568 Instructions FTPClient 593 Instructions Function Return Exit Function EndFunctio n 602 Instructions GetDataRecord 585 Instructions GetFi...

Page 667: ...PPOpen 593 Instructions PreserveVariables 538 Instructions PRT 234 235 570 Instructions PRTCalc 570 Instructions Public 524 538 Instructions PulseCount 553 Instructions PulseCountReset 544 Instructions PulsePort 554 Instructions PWR 568 Instructions RainFlow 573 Instructions RainFlowSample 544 573 Instructions Randomize 572 Instructions Read 548 Instructions ReadIO 554 Instructions ReadOnly 129 53...

Page 668: ...52 Instructions TableHide 145 540 Instructions TableName EventCount 592 Instructions TableName FieldName 592 Instructions TableName Output 592 Instructions TableName Record 592 Instructions TableName TableFull 592 Instructions TableName TableSize 592 Instructions TableName TimeStamp 592 Instructions TAN 566 Instructions TANH 566 Instructions TCDiff 551 Instructions TCPClose 593 Instructions TCPOpe...

Page 669: ...t 655 Logic 165 Logical Expression 164 165 Logical Operator 565 Long Lead 317 Loop 519 Loop Counter 519 Low 12 V Counter 603 Low Level Ac 352 367 LSB 248 249 643 M Maintenance 93 473 Manage Files 603 Manual Organization 33 Manually Initiated 520 Marks and Spaces 248 Mass Storage Device 116 375 386 520 653 Math 161 482 563 Mathematical Operation 161 Mathematical Operator 563 MD5 digest 520 ME Pin 6...

Page 670: ...ting System 603 Operating Temperature Range 99 Operator 563 565 Operators Bit Shift 563 OR Diode Circuit 102 OR Operator 200 OS Date 603 OS Signature 603 OS Version 603 Output 522 Output Array 522 OutputOpt 296 Overrange 239 482 521 Overrun 485 603 Overview 75 Overview Power Supply 494 P Packet Size 603 PakBus 88 395 398 522 584 PakBus Address 393 394 603 PakBus Information 603 PakBus LAN 400 PakB...

Page 671: ...am Dimension 134 Program Documenting 126 Program Execution 151 Program Expression 160 Program Field Calibration 211 Program Floating Point Arithmetic 161 Program Large 391 Program Mathematical Operation 161 Program Measurement Instruction 158 Program Modbus 413 Program Name in Parameter 159 Program Output Processing 145 Program Overrun 485 603 Program Parameter Type 159 Program Pipeline Mode 152 P...

Page 672: ...ine Pin 3 525 Ring Memory 370 526 RING Pin 633 Ringing 526 RMS 526 Route Filter 603 Router 394 395 603 RS 232 48 62 73 97 249 490 526 603 RS 232 Pin Out 633 RS 232 Port 81 RS 232 Power States 634 RS 232 Recording 362 RS 232 Sensor 245 364 RTDAQ 654 RTU 413 Running Average 192 Runtime Errors 481 486 488 Runtime Signatures 603 RX 249 RX Pin 633 S Sample Rate 526 Satellite 599 SCADA 91 408 597 Scan 9...

Page 673: ...kipped Scan 144 485 528 603 Skipped Slow Scan 603 Skipped System Scan 603 SMTP 296 528 SNMP 295 SNP 528 Software 95 Software Beginner 48 50 Solar Panel 496 SP 249 Spark Gap 105 Spatial Processing 571 Specifications 97 Square Wave 69 SRAM 370 374 Standard Deviation 300 Star 4 4 Parameter Entry Table 524 Start Bit 249 Start Time 603 Start Up Code 603 Starter Software 48 50 State 79 528 634 State Mea...

Page 674: ...rk 397 Troubleshooting Power Supply 494 Troubleshooting SDI 12 267 Troubleshooting Solar Panel 496 True 165 TTL 531 TTL logic 531 TTL Recording 362 Tutorial 41 Tutorial Exercise 46 TVS 101 TX 249 TX Pin 633 U UDP 593 UINT2 130 531 UPS 44 85 100 531 USB Drive 116 375 386 520 653 User Defined Functions 602 User Program 126 533 USR 375 USR Drive 603 USR Drive Free 603 UTC Offset 603 V Vac 532 Variabl...

Page 675: ... 151 Web Server 291 Wheatstone Bridge 337 Wind Vector 296 298 299 Wind Vector Processing 297 Wireless Sensor Network 558 Wiring 43 47 76 364 Wiring Panel 43 44 47 76 328 Writing Program 125 X XML 533 XOR 565 Z Zero 227 Zero Basis 210 675 ...

Page 676: ......

Page 677: ......

Page 678: ...om br Campbell Scientific Canada Corp CSC 14532 131 Avenue NW Edmonton AB T5L 4X4 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 ca...

Reviews: