background image

Section 7.  Installation 

 

197 

 

    

'If bit in    OR bit in     The result

 

    

'Flags Is     Bin/Hex Is    Is

 

    

'----------   ----------    ----------

 

    

'     0            0             0

 

    

'     0            1             1

 

    

'     1            0             1

 

    

'     1            1             1

 

 
    

'Binary equivalent of Hex:

 

    

If

 Alarm(1) 

Then

 Flags = Flags 

OR

 &h1          

'                               &b1

 

    

If

 Alarm(2) 

Then

 Flags = Flags 

OR

 &h2          

'                              &b10

 

    

If

 Alarm(3) 

Then

 Flags = Flags 

OR

 &h4          

'                             &b100

 

    

If

 Alarm(4) 

Then

 Flags = Flags 

OR

 &h8          

'                            &b1000

 

    

If

 Alarm(5) 

Then

 Flags = Flags 

OR

 &h10         

'                           &b10000

 

    

If

 Alarm(6) 

Then

 Flags = Flags 

OR

 &h20         

'                          &b100000

 

    

If

 Alarm(7) 

Then

 Flags = Flags 

OR

 &h40         

'                         &b1000000

 

    

If

 Alarm(8) 

Then

 Flags = Flags 

OR

 &h80         

'                        &b10000000

 

    

If

 Alarm(9) 

Then

 Flags = Flags 

OR

 &h100        

'                       &b100000000

 

    

If

 Alarm(10) 

Then

 Flags = Flags 

OR

 &h200       

'                      &b1000000000

 

    

If

 Alarm(11) 

Then

 Flags = Flags 

OR

 &h400       

'                     &b10000000000

 

    

If

 Alarm(12) 

Then

 Flags = Flags 

OR

 &h800       

'                    &b100000000000

 

    

If

 Alarm(13) 

Then

 Flags = Flags 

OR

 &h1000      

'                   &b1000000000000

 

    

If

 Alarm(14) 

Then

 Flags = Flags 

OR

 &h2000      

'                  &b10000000000000

 

    

If

 Alarm(15) 

Then

 Flags = Flags 

OR

 &h4000      

'                 &b100000000000000

 

    

If

 Alarm(16) 

Then

 Flags = Flags 

OR

 &h8000      

'                &b1000000000000000

 

    

If

 Alarm(17) 

Then

 Flags = Flags 

OR

 &h10000     

'               &b10000000000000000

 

    

If

 Alarm(18) 

Then

 Flags = Flags 

OR

 &h20000     

'              &b100000000000000000

 

    

If

 Alarm(19) 

Then

 Flags = Flags 

OR

 &h40000     

'             &b1000000000000000000

 

    

If

 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) 

Then

 Flags = Flags 

OR

 &h2000000   

'      &b10000000000000000000000000

 

    

If

 Alarm(27) 

Then

 Flags = Flags 

OR

 &h4000000   

'     &b100000000000000000000000000

 

    

If

 Alarm(28) 

Then

 Flags = Flags 

OR

 &h8000000   

'    &b1000000000000000000000000000

 

    

If

 Alarm(29) 

Then

 Flags = Flags 

OR

 &h10000000  

'   &b10000000000000000000000000000

 

    

If

 Alarm(30) 

Then

 Flags = Flags 

OR

 &h20000000  

'  &b100000000000000000000000000000

 

    

If

 Alarm(31) 

Then

 Flags = Flags 

OR

 &h40000000  

' &b1000000000000000000000000000000

 

    

If

 Alarm(32) 

Then

 Flags = Flags 

OR

 &h80000000  

'&b10000000000000000000000000000000

 

 
    

'Note &HFF = &B11111111. By shifting at 8 bit increments along 32-bit 'Flags' (Long

 

    

'data type), the first 8 bits in the four Longs FlagsBool8(4) are loaded with alarm

 

    

'states. Only the first 8 bits of each Long 'FlagsBool8' are stored when converted

 

    

'to Bool8.

 

 
    

'Logical AND bitwise comparison

 

 
    

'If bit in    OR bit in    The result

 

    

'Flags Is     Bin/Hex Is   Is

 

    

'----------   ----------   ----------

 

    

'    0            0            0

 

    

'    0            1            0

 

    

'    1            0            0

 

    

'    1            1            1

 

 

Summary of Contents for CR800 Series

Page 1: ...OPERATOR S MANUAL CR800 Series Dataloggers Revision 12 16 Want to get going Go to the Quickstart p 35 section C o p y r i g h t 2 0 0 0 2 0 1 6 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: ...ll 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 acc...

Page 4: ......

Page 5: ... 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 repair...

Page 6: ......

Page 7: ...lations and the integrity and location of structures or land to which towers tripods and any attachments are attached Installation sites should be evaluated and approved by a qualified engineer If questions or concerns arise regarding installation use or maintenance of tripods towers attachments or electrical connections consult with a licensed and qualified engineer or electrician General Prior t...

Page 8: ... Work and Weather Exercise extreme caution when performing elevated work Use appropriate equipment and safety practices During installation and maintenance keep tower and tripod sites clear of un trained or non essential personnel Take precautions to prevent elevated tools and objects from dropping Do not perform any work in inclement weather including wind rain snow lightning etc Maintenance Peri...

Page 9: ...gram with Short Cut 43 4 6 4 1 Procedure Short Cut Steps 1 to 5 44 4 6 4 2 Procedure Short Cut Steps 6 to 7 45 4 6 4 3 Procedure Short Cut Step 8 45 4 6 4 4 Procedure Short Cut Steps 9 to 12 45 4 6 4 5 Procedure Short Cut Steps 13 to 14 46 4 6 5 Send Program and Collect Data 46 4 6 5 1 Procedure PC200W Step 1 47 4 6 5 2 Procedure PC200W Steps 2 to 4 47 4 6 5 3 Procedure PC200W Step 5 48 4 6 5 4 Pr...

Page 10: ...ors Overview 74 5 2 6 1 SDI 12 Sensor Support Overview 74 5 2 6 2 RS 232 Overview 75 5 2 7 Field Calibration Overview 75 5 2 8 Cabling Effects Overview 76 5 2 9 Synchronizing Measurements Overview 76 5 2 9 1 Synchronizing Measurements in the CR800 Overview 76 5 2 9 2 Synchronizing Measurements in a Datalogger Network Overview 76 5 3 Data Retrieval and Comms Overview 76 5 3 1 Data File Formats in C...

Page 11: ... 7 3 3 2 External Signal Conditioner 100 7 3 4 Ground Looping in Ionic Measurements 101 7 4 Protection from Moisture Details 102 7 5 CR800 Setup Details 102 7 5 1 Tools Setup 103 7 5 1 1 DevConfig Setup Tools 103 7 5 1 2 Network Planner Setup Tools 104 7 5 1 2 1 Overview Network Planner 105 7 5 1 2 2 Basics Network Planner 106 7 5 1 3 Info Tables and Settings Setup Tools 107 7 5 1 4 CRBasic Progra...

Page 12: ...les 141 7 6 3 11 2 Declaring Subroutines 148 7 6 3 11 3 Declaring Subroutines 149 7 6 3 11 4 Declaring Incidental Sequences 149 7 6 3 12 Execution and Task Priority 150 7 6 3 12 1 Pipeline Mode 151 7 6 3 12 2 Sequential Mode 152 7 6 3 13 Execution Timing 153 7 6 3 13 1 Scan NextScan 153 7 6 3 13 2 SlowSequence EndSequence 154 7 6 3 13 3 SubScan NextSubScan 155 7 6 3 13 4 Scan Priorities in Sequent...

Page 13: ...ing 215 7 7 11 3 Field Calibration Wizard Overview 215 7 7 11 4 Field Calibration Numeric Monitor Procedures 215 7 7 11 4 1 One Point Calibrations Zero or Offset 216 7 7 11 4 2 Two Point Calibrations gain and offset 217 7 7 11 4 3 Zero Basis Point Calibration 217 7 7 11 5 Field Calibration Examples 217 7 7 11 5 1 FieldCal Zero or Tare Opt 0 Example 218 7 7 11 5 2 FieldCal Offset Opt 1 Example 220 ...

Page 14: ...7 7 17 5 4 Serial I O Translating Bytes 289 7 7 17 5 5 Serial I O Memory Considerations 289 7 7 17 5 6 Serial I O Example I 290 7 7 17 6 Serial I O Application Testing 292 7 7 17 6 1 Configure HyperTerminal 292 7 7 17 6 2 Create Send Text File 294 7 7 17 6 3 Create Text Capture File 294 7 7 17 6 4 Serial I O Example II 295 7 7 17 7 Serial I O Q A 300 7 7 18 String Operations 303 7 7 18 1 String Op...

Page 15: ...bling 386 8 1 8 2 Pulse Sensor Cabling 386 8 1 8 3 RS 232 Sensor Cabling 386 8 1 8 4 SDI 12 Sensor Cabling 386 8 1 9 Synchronizing Measurements Details 387 8 1 9 1 Synchronizing Measurement in the CR800 Details 387 8 1 9 2 Synchronizing Measurements in a Datalogger Network Details 387 8 2 Switched Voltage Output Details 388 8 2 1 Switched Voltage Excitation 389 8 2 2 Continuous Regulated 5V Termin...

Page 16: ... 8 4 File Management in CR800 Memory 416 8 8 4 1 File Attributes 418 8 8 4 2 Files Manager 419 8 8 4 3 Data Preservation 420 8 8 4 4 Powerup ini File Details 421 8 8 4 4 1 Creating and Editing Powerup ini 422 8 8 4 5 File Management Q A 424 8 8 5 File Names 424 8 8 6 File System Errors 425 8 9 Data Retrieval and Comms Details 426 8 9 1 Protocols 426 8 9 2 Conserving Bandwidth 427 8 9 3 Initiating ...

Page 17: ...inal Storage Data 449 8 11 3 Run Stop Program 450 8 11 4 File Management 451 8 11 4 1 File Edit 451 8 11 5 Port Status and Status Table 453 8 11 6 Settings 454 8 11 6 1 CR1000KD Set Time Date 454 8 11 6 2 CR1000KD PakBus Settings 454 8 11 7 Configure Display 455 8 12 CPI Port and CDM Devices Details 455 9 Maintenance Details 457 9 1 Protection from Moisture Details 457 9 2 Internal Battery Details...

Page 18: ...Test 478 10 9 3 2 Charging Regulator with Solar Panel Test 479 10 9 3 3 Charging Regulator with Transformer Test 481 10 9 3 4 Adjusting Charging Voltage 482 10 10 Troubleshooting Using Terminal Mode 483 10 10 1Serial Talk Through and Comms Watch 486 10 11 Troubleshooting Using Logs 486 10 12 Troubleshooting Data Recovery 486 10 13 Troubleshooting Miscellaneous Errors 487 10 13 1Voltage Calibration...

Page 19: ... 4 1 Digital I O Modules List 565 E 4 2 Continuous Analog Output CAO Modules List 565 E 4 3 Relay Drivers List 566 E 4 4 Current Excitation Modules List 566 E 5 Sensors Lists 567 E 5 1 Wired Sensor Types List 567 E 5 2 Wireless Network Sensors List 568 E 6 Cameras List 568 E 7 Data Retrieval and Comms Peripherals List 568 E 7 1 Keyboard Display List 569 E 7 2 Hardwire Single Connection Comms Devic...

Page 20: ...ensor Wired to Differential Channel 1 67 FIGURE 20 Half Bridge Wiring Example Wind Vane Potentiometer 69 FIGURE 21 Full Bridge Wiring Example Pressure Transducer 70 FIGURE 22 Pulse Sensor Output Signal Types 71 FIGURE 23 Pulse Input Wiring Example Anemometer 72 FIGURE 24 Terminals Configurable for RS 232 Input 75 FIGURE 25 Use of RS 232 and Digital I O when Reading RS 232 Devices 75 FIGURE 26 CR10...

Page 21: ...minal New Connection Description 292 FIGURE 69 HyperTerminal Connect To Settings 293 FIGURE 70 HyperTerminal COM Port Settings Tab Click File Properties Settings ASCII Setup and set as shown 293 FIGURE 71 HyperTerminal ASCII Setup 294 FIGURE 72 HyperTerminal Send Text File Example 294 FIGURE 73 HyperTerminal Text Capture File Example 295 FIGURE 74 Ac Power Noise Rejection Techniques 317 FIGURE 75 ...

Page 22: ...CR1000KD Configure Display 455 FIGURE 110 Remove Retention Nuts 459 FIGURE 111 Pull Edge Away from Panel 459 FIGURE 112 Remove Nuts to Disassemble Canister 460 FIGURE 113 Remove and Replace Battery 460 FIGURE 114 Potentiometer R3 on PS100 and CH100 Charger Regulator 483 FIGURE 115 DevConfig Terminal Tab 485 FIGURE 116 Relationships of Accuracy Precision and Resolution 523 List of Tables PC200W EZS...

Page 23: ... Values mΩ 266 PRTCalc PRTType 1 α 0 003851 276 PRTCalc PRTType 2 α 0 003921 277 PRTCalc PRTType 3 α 0 003911 277 PRTCalc PRTType 4 α 0 0039161 277 PRTCalc PRTType 5 α 0 003751 278 PRTCalc PRTType 6 α 0 0039261 278 ASCII ANSI Equivalents 279 CR800 Serial Ports 281 String Operators 303 String Concatenation Examples 304 String NULL Character Examples 306 Analog Measurement Integration 316 Ac Noise R...

Page 24: ... Drives 409 TableFile Instruction Data File Formats 411 File Control Functions 417 CR800 File Attributes 418 Powerup ini Script Commands and Applications 423 File System Error Codes 425 Modbus to Campbell Scientific Equivalents 437 Modbus Registers CRBasic Port Flag and Variable Equivalents 438 Supported Modbus Function Codes 440 Special Keyboard Display Key Functions 444 Internal Lithium Battery ...

Page 25: ...ings Signatures 536 Info Tables and Settings B 537 Info Tables and Settings C 537 Info Tables and Settings D 540 Info Tables and Settings E 540 Info Tables and Settings F 541 Info Tables and Settings H 541 Info Tables and Settings I 542 Info Tables and Settings L 543 Info Tables and Settings M 544 Info Tables and Settings N 545 Info Tables and Settings O 545 Info Tables and Settings P 546 Info Tab...

Page 26: ...Vdc Power Supply Kits 578 Enclosures Products 578 Prewired Enclosures 579 Tripods Towers and Mounts 579 Protection from Moisture Products 580 List of CRBasic Examples Simple Default cr8 File to Control SW12 Terminal 109 Using an Include File 111 Include File to Control SW12 Terminal 112 Inserting Comments 124 Data Type Declarations 130 Using Variable Array Dimension Indices 132 Flag Declaration an...

Page 27: ... NSEC Seven and Nine Element Time Arrays 200 NSEC Convert Timestamp to Universal Time 201 Custom Menus 212 FieldCal Zero 219 FieldCal Offset 222 FieldCal Two Point Slope and Offset 224 FieldCal Multiplier 227 FieldCalStrain Calibration 230 Fast Analog Voltage Measurement Fast Scan 234 Analog Voltage Measurement Cluster Burst 235 Dwell Burst Measurement 236 Measurement with Excitation and Delay 239...

Page 28: ... with Global and Local Variables 308 Time Stamping with System Time 312 Measuring Settling Time 320 Four Wire Full Bridge Measurement and Processing 335 Measuring Settling Time 358 Custom Web Page HTML 433 Concatenating Modbus Long Variables 443 Using NAN to Filter Data 470 Reboot under program control with Restart instruction 488 Reboot under program control with FileManage instruction 488 ...

Page 29: ...you progressively deeper into the complexity of CR800 functions You may not find it necessary to progress beyond the Quickstart or Overview Quickstart is a cursory view of CR800 data acquisition and walks you through a procedure to set up a simple system Overview reviews salient topics that are covered in depth in subsequent sections and appendices Review the exhaustive table of contents to learn ...

Page 30: ...ody text input commands output responses GUI commands text on product labels names of data tables Italic glossary entries and titles of publications software sections tables figures and examples Bold italic CRBasic instruction parameters and arguments within the body text 8 pt blue cross reference page numbers In the PDF version of the manual click on the page number to jump to the cross reference...

Page 31: ... over voltage o Protect from water o Protect from ESD p 97 IMPORTANT Note the following about the internal battery o When primary power is continuously connected to the CR800 the battery will last up to 10 years or more o When primary power is NOT connected to the CR800 the battery will last about three years o o See section Internal Battery Details p 457 for more information IMPORTANT Maintain a ...

Page 32: ......

Page 33: ...0 inspect 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 c...

Page 34: ......

Page 35: ...s or pulse output signals Suitable sensors do this accurately and precisely p 522 Smart sensors have internal measurement and processing components and simply output a digital value in binary hexadecimal or ASCII character form The CR800 sometimes with the assistance of various peripheral devices can measure or read nearly all electronic sensor output types Sensor types supported include Analog o ...

Page 36: ...ces data to statistical values Most applications do not require that every measurement be stored Instead individual measurements can be combined into statistical or computational summaries The CR800 will store data in memory to await transfer to the PC with an external storage devices or telecommunication device 4 2 1 CR800 Module CR800 electronics are protected in a sealed stainless steel shell T...

Page 37: ... power supply components match the specifications of the device to which they are connected When connecting power first switch off the power supply make the connection then turn the power supply on The CR800 operates 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 through the green POWER IN connector on ...

Page 38: ...d memory 4 4 Data Retrieval and Comms Quickstart Related Topics Data Retrieval and Comms Quickstart p 38 Data Retrieval and Comms Overview p 76 Data Retrieval and Comms Details p 426 Data Retrieval and Comms Peripherals Lists p 568 If the CR800 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 used dur...

Page 39: ...sic program must be loaded into the CR800 to enable it to make measurements read sensors and store data Use Short Cut to write simple CRBasic programs without the need to learn the CRBasic programming language Short Cut is an easy to use wizard that steps you through the program building process After the CRBasic program is written it is loaded onto the CR800 Then after sufficient time has elapsed...

Page 40: ...ilable nine pin RS 232 serial port or with a USB port and a USB to RS 232 adapter Nine pin female to nine pin male RS 232 cable one is shipped with the CR800 PC200W software which is available on the Campbell Scientific resource DVD or thumb drive or at www campbellsci com Note If the CR800 datalogger is to be connected to the PC during normal operations use the Campbell Scientific SC32B interface...

Page 41: ... on the PC If your CR800 is Wi Fi enabled and you wish to use the Wi Fi link for this exercise go to On Board Wi Fi Switch the power supply ON 4 6 3 PC200W Software Setup 1 Install PC200W software onto the PC Follow on screen prompts during the installation process Use the default folders 2 Open PC200W Your PC should display a window similar to figure PC200W Main Window p 42 When PC200W is first r...

Page 42: ...deo tutorials are available at www campbellsci com videos After exiting the wizard the main PC200W window becomes visible This window has several tabs The Clock Program tab displays clock and program information Monitor Data and Collect Data tabs are also available Icons across the top of the window access additional functions FIGURE 3 PC200W Main Window ...

Page 43: ...s Click on Edit Datalogger Setup and change the COM port to the new port number Datalogger Settings Configures how the CR800 communicates with the PC For this tutorial accept the default settings Datalogger Settings Security For this tutorial Security Code should be set to 0 and PakBus Encryption Key should be left blank Communication Setup Summary Summary of settings in previous screens No change...

Page 44: ... ac noise rejection Select 60 Hz for the United States and other areas using 60 Hz ac voltage Select 50 Hz for most of Europe and other areas that operate at 50 Hz A second prompt lists sensor support options Campbell Scientific Inc US is probably the best fit if you are outside Europe 5 The next window displays Available Sensors and Devices as shown in the following figure Expand the Sensors fold...

Page 45: ... main Short Cut window click Wiring Diagram Attach the physical type T thermocouple to the CR800 as shown in the diagram Click on 3 Sensors in the left pane to return to the sensor selection screen 4 6 4 3 Procedure Short Cut Step 8 8 As shown in the following figure click Next to advance to the Outputs tab which displays the list Selected Sensors to the left and data storage tables to the right u...

Page 46: ...emp_C and Temp_C 4 6 4 5 Procedure Short Cut Steps 13 to 14 13 Click Finish at the bottom of the Short Cut window to compile the program At the prompt name the program MyTemperature A summary screen like the one in the following figure will appear showing the pre compiler results Pre compile errors if any are displayed here FIGURE 6 Short Cut Compile Confirmation Window and Results Tab 14 Close th...

Page 47: ...URE 7 PC200W Main Window 4 6 5 2 Procedure PC200W Steps 2 to 4 2 Click Set Clock right pane center to synchronize the CR800 clock with the computer clock 3 Click Send Program right pane bottom A warning appears 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 cr8 file Click Open A status bar will appear wh...

Page 48: ...n the CR800 Public table FIGURE 8 PC200W Monitor Data Tab Public Table 4 6 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 ...

Page 49: ...9 FIGURE 9 PC200W Monitor Data Tab Public and OneMin Tables 4 6 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 10 PC200W Collect Data Tab ...

Page 50: ...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 11 PC200W View Data Utility ...

Page 51: ...t the CR800_OneMin dat file and click Open 12 The collected data are now shown FIGURE 12 PC200W View Data Table 4 6 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 ...

Page 52: ...ny part of the system can lead to bad data or no data The concept of a data acquisition system is illustrated in figure Data Acquisition System Components p 53 Following is a list of typical system components Sensors p 35 Electronic sensors convert the state of a phenomenon to an electrical signal Datalogger p 36 The CR800 measures electrical signals or reads serial characters It converts the meas...

Page 53: ...ograms and settings The software manages the comms link and has options for data display Programmable Logic Control p 87 Some data acquisition systems require the control of external devices to facilitate a measurement or to control a device based on measurements The CR800 is adept at programmable logic control Measurement and Control Peripherals p 82 Sometimes system requirements exceed the capac...

Page 54: ......

Page 55: ...tart p 35 section of this manual and work through the tutorial When you have done that and then read the following you should have the needed framework A Campbell Scientific data acquisition system is made up of the following five basic components Sensors Datalogger which includes o Clock o Measurement and control circuitry o Memory o Hardware and firmware to communicate with comms devices o User ...

Page 56: ...nstrument designed to withstand demanding environments and to use the smallest amount of power possible It has a central processing unit CPU analog and digital measurement inputs analog and digital outputs and memory An operating system firmware coordinates the functions of these parts in conjunction with the on board clock and the CRBasic application program ...

Page 57: ...al summaries such as averages and standard deviations Programs are run by the CR800 in either sequential mode p 514 or the more efficient pipeline mode p 509 In sequential mode each instruction is executed sequentially in the order it appears in the program In pipeline mode the CR800 determines the order of instruction execution 5 1 1 Wiring Panel Overview In the following figure the CR800 wiring ...

Page 58: ...COM 1 COM 2 DIFF 1 2 3 T x R x T x R x H L H L H L VX1 VX2 P1 P2 C1 C2 C3 C4 5V 12V SW1 RS CS Max Function Analog Input Single ended 6 Differential high low 3 Analog period average 6 Vibrating wire2 6 Analog Output Switched Precision Voltage 2 Pulse Counting Switch closure 6 High frequency 6 Low level Vac 2 ...

Page 59: ...rements Overview p 73 3 Check the table Current Source and Sink Limits p 389 4 Requires an interfacing device for sensor input See section Data Retrieval and Comms Peripherals Lists p 568 5 1 1 1 Switched Voltage Output Overview Related Topics Switched Voltage Output Specifications Switched Voltage Output Overview p 59 Switched Voltage Output Details p 388 Current Source and Sink Limits p 389 PLC ...

Page 60: ...oring with C Terminals 5 1 1 2 Voltage Excitation Overview Related Topics Voltage Excita p 60 tion Specifications Voltage Excitation Overview p 60 The CR800 has several terminals designed to supply switched voltage to peripherals sensors or control devices Voltage Excitation switched analog output Vx terminals supply precise voltage These terminals are regularly used with resistive bridge measurem...

Page 61: ...a power source for sensors and peripherals The following voltages are available 12V terminals unregulated nominal 12 Vdc This supply closely tracks the primary CR800 supply voltage so it may rise above or drop below the power requirement of the sensor or peripheral Precautions should be taken to prevent damage to sensors or peripherals from over or under voltage conditions and to minimize the erro...

Page 62: ...eripheral device Ethernet requires a peripheral device CS I O Port Read More See Serial Port Pinouts p 553 One nine pin port labeled CS I O for communicating with a PC or modem through Campbell Scientific communication interfaces modems or peripherals CS I O comms interfaces are listed in the appendix Serial I O Modules List p 563 Note Keep CS I O cables short maximum of a few feet 5 1 1 4 1 RS 23...

Page 63: ... individually addressed sensors Up to two ports configured from C terminals 5 1 1 4 3 SDM Port SDM is a protocol proprietary to Campbell Scientific that supports several Campbell Scientific digital sensor and comms input and output expansion peripherals and select smart sensors One SDM port configured from C1 C2 and C3 terminals 5 1 1 4 4 CPI Port and CDM Devices Overview Related Topics CPI Port a...

Page 64: ...er should be grounded to power ground G Power ground return for 5V SW12 12V terminals current loop sensors and C configured for control Use of G grounds for these outputs minimizes potentially large current flow through the analog voltage measurement section of the wiring panel which can cause single ended voltage measurement errors Earth ground lug connection point for a heavy gage earth ground w...

Page 65: ...put when the current is converted to voltage by using a resistive shunt Sensor connection is to H L terminals configured 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 5 2 2 1 Voltage Measurements Overview Related Topics Voltage Measurements Specifications Voltage Measurements Overview p 65 Voltag...

Page 66: ...ns that often indicate that a differential measurement should be used Ground currents cause voltage drop 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 excitat...

Page 67: ... terminal configured for single ended input and the reference ground While differential measurements are usually preferred a single ended measurement is often adequate in applications wherein some types of noise are not present and care is taken to avoid problems caused by ground currents p 501 Examples of applications wherein a single ended measurement may be preferred include Not enough differen...

Page 68: ...spite the use of a common ground A differential measurement should be made on the analog output from the external signal conditioner to avoid error 5 2 2 1 2 Differential Measurements Overview Related Topics Differential Measurements Overview p 68 Differential Measurements Details p 351 Summary Use a differential configuration when making voltage measurements unless constrained to do otherwise A d...

Page 69: ...PRT PT100 PT1000 p 258 This manual does not give instruction on how to build variable resistors into a resistor bridge Sensor manufacturers consider many criteria when deciding what type of resistive bridge to use for their sensors The CR800 can measure most bridge circuit configurations 5 2 2 3 1 Voltage Excitation Bridge resistance is determined by measuring the difference between a known voltag...

Page 70: ...ications Pulse Measurements Overview p 70 Pulse Measurements Details p 369 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 CR800 detects the state transition as each wave varies between voltage extremes high to low or low to high Measurements are processed and presented as co...

Page 71: ...iod average input and measured with the PeriodAverage instruction See Period Averaging Overview p 73 5 2 3 1 Pulses Measured The CR800 measures three types of pulse outputs which are illustrated in the figure Pulse Sensor Output Signal Types p 71 FIGURE 22 Pulse Sensor Output Signal Types 5 2 3 2 Pulse Input Channels Table Pulse Input Terminals and Measurements p 71 lists devices channels and opti...

Page 72: ...urement Tips p 377 An example of a pulse sensor connection is illustrated in figure Pulse Input Wiring Example Anemometer Switch p 72 Pulse sensors have two active wires one of which is ground Connect the ground wire to a signal ground terminal Connect the other wire to a P terminal Sometimes the sensor will require power from the CR800 so there may be two added wires one of which will be power gr...

Page 73: ...s whereas period average measurements work well since they can be placed in the scan to execute only when the sensor is powered and transmitting the signal Period average measurements use a high frequency digital clock to measure time differences between signal transitions whereas pulse count measurements simply accumulate the number of counts As a result period average measurements offer much bet...

Page 74: ...ic measurement and sends measurement and measurement related data to the CR800 Smart sensors vary widely in output modes Many have multiple output options Output options supported by the CR800 include SDI 12 p 240 RS 232 p 279 Modbus p 436 and DNP3 p 436 The following smart sensor types can be measured on the indicated terminals SDI 12 devices C Synchronous Devices for Measurement SDM C Smart sens...

Page 75: ...can often be connected to C terminal pairs configured for serial I O to the RS 232 port or to the CS I O port with the proper adapter Ports can be set up for baud rate parity stop bit and so forth as described in CRBasic Editor Help FIGURE 24 Terminals Configurable for RS 232 Input FIGURE 25 Use of RS 232 and Digital I O when Reading RS 232 Devices 5 2 7 Field Calibration Overview Related Topics F...

Page 76: ...engineered for optimal performance with factory installed cables 5 2 9 Synchronizing Measurements Overview Related Topics Synchronizing Measurements Overview p 76 Synchronizing Measurements Details p 387 5 2 9 1 Synchronizing Measurements in the CR800 Overview 5 2 9 2 Synchronizing Measurements in a Datalogger Network Overview Large numbers of sensors cable length restrictions or long distances be...

Page 77: ...d on a SC115 Campbell Scientific mass storage device can be retrieved via a comms link to the CR800 if the device remains on the CS I O port Data can also be retrieved by removing the device connecting it to a PC and copying off files using Windows File Explorer 5 3 4 Comms Protocols The primary communication protocol is PakBus p 508 PakBus is a protocol proprietary to Campbell Scientific 5 3 4 1 ...

Page 78: ... datalogger support software must know the CR800 PakBus address The PakBus address is changed using the CR1000KD Keyboard Display p 443 DevConfig utility p 103 CR800 Status table p 527 or PakBus Graph p 508 software 5 3 5 Alternate Comms Protocols Overview Related Topics Alternate Comms Protocols Overview p 78 Alternate Comms Protocols Details p 428 Other comms protocols are also included Web API ...

Page 79: ...eried by the CR800 Because Modbus has a set command structure programming the CR800 to get data from field instruments is much simpler than from serial sensors Because Modbus uses a common bus and addresses each node field instruments are effectively multiplexed to a CR800 without additional hardware 5 3 5 2 DNP3 Overview Related Topics DNP3 Overview p 79 DNP3 Details p 436 The CR800 supports DNP3...

Page 80: ...direct connect devices that require no configuration of the CR800 All other comms methods require peripheral devices some require that CR800 settings be configured differently than the defaults 5 3 7 Keyboard Display Overview The CR1000KD Keyboard Display is a powerful tool for field use The CR1000KD illustrated in figure CR1000KD Keyboard Display p 81 is purchased separately from the CR800 The ke...

Page 81: ...press Num Lock Num Lock stays set until pressed again Above all keys except Num Lock and Shift are characters printed in blue To enter one of these characters press Shift one to three times to select the position of the character as shown above the key then press the key For example to enter Y press Shift Shift Shift PgDn To insert a space Spc or change case Cap press Shift one to two times for th...

Page 82: ...isplays two values from CR800 memory PanelTemps shows the CR800 wiring panel temperature at each scan and the one minute sample of panel temperature TCTemps displays two thermocouple temperatures FIGURE 27 Custom Menu Example 5 4 Measurement and Control Peripherals Overview Modules are available from Campbell Scientific to expand the number of terminals on the CR800 These include Multiplexers Mult...

Page 83: ...o Vdc wall adapter a peripheral charging regulator and a rechargeable battery can be used to construct a UPS un interruptible power supply 5 6 CR800 Setup Overview Related Topics CR800 Setup Overview p 83 CR800 Setup Details p 102 Status Settings and Data Table Information Info Tables and Settings p 527 The CR800 is shipped factory ready with an operating system OS installed Settings default to th...

Page 84: ...iting For complex applications experienced programmers often create essential measurement and data storage code with Short Cut then add more complex code with CRBasic Editor Note Once a Short Cut generated program has been edited with CRBasic Editor it can no longer be modified with Short Cut 5 8 Security Overview The CR800 is supplied void of active security measures By default RS 232 Telnet FTP ...

Page 85: ...its peripherals must be protected from moisture Moisture in the electronics will seriously damage and probably render un repairable the CR800 Water can come in liquid form from flooding or sprinkler irrigation but most often it comes as condensation In most cases protection from water is easily accomplished by placing the CR800 in a weather tight enclosure with desiccant and by elevating the enclo...

Page 86: ...212 F solder directly to the cell incinerate or expose contents to water Dispose of spent lithium batteries properly The CR800 contains a lithium battery that operates the clock and powers SRAM when the CR800 is not externally powered Voltage of the battery is monitored from the CR800 Status table LithiumBattery p 543 Replace the battery as directed in Internal Battery Details p 457 The lithium ba...

Page 87: ...udes PC200W functions CRBasic Editor and supports all Campbell Scientific communications hardware except satellite in attended mode LoggerNet Datalogger Support Software Includes all PC400 functions and supports all Campbell Scientific communication options except satellite attended and automatically includes many enhancements such as graphical data displays and a display builder Note More informa...

Page 88: ...ll modem control is based on time The modem requires 12 Vdc power so connect its power wire to the CR800 SW12V terminal The following code snip turns the modem on for ten minutes at the top of the hour using the TimeIntoInterval instruction embedded in an If Then logic statement If TimeIntoInterval 0 60 Min Then PortSet 9 1 Port 9 is the SW12V Port Turn phone on If TimeIntoInterval 10 60 Min Then ...

Page 89: ...oltage Compensation p 323 Factory Calibration p 86 Factory Calibration or Repair Procedure p 461 The CR800 auto self calibrates to compensate for changes caused by changing operating temperatures and aging Disable auto self calibration when it interferes with execution of very fast programs and less accuracy can be tolerated 5 13 Memory Overview Related Topics Memory Overview p 89 Memory Details p...

Page 90: ...and CSIJSON o Keep memory p 503 OS variables not initialized o Dynamic runtime memory allocation Note CR800s with serial numbers smaller than 3605 were usually supplied with only 2 MB of SRAM Memory for data can be increased with the addition of a mass storage device thumb drive that connects to CS I O See Data Storage Devices List p 571 for information on available memory expansion products By de...

Page 91: ...is value returned from measurement with Multiplier 1 Offset 0 BRHalf Instruction X V1 VX BRFull Instruction X 1000 x V1 VX expressed as mV V 1 Note V1 is calculated from the ratiometric measurement accuracy See manual section Resistance Measurements 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 mea...

Page 92: ......

Page 93: ...e of enclosure is classified as NEMA 4X watertight dust tight corrosion resistant indoor and outdoor use Enclosures have back plates to which are mounted the CR800 datalogger and associated peripherals Back plates are perforated on one inch centers with a grid of holes that are lined as needed with anchoring nylon inserts The CR800 base has mounting holes through which small screws are inserted in...

Page 94: ...wer applications it can operate for several months on non rechargeable batteries Power systems for longer term remote applications typically consist of a charging source a charge controller and a rechargeable battery When ac line power is available a Vac to Vac or Vac to Vdc wall adapter a peripheral charging regulator and a rechargeable battery can be used to construct a UPS un interruptible powe...

Page 95: ... increase measurement noise and so increase measurement error Noise from grid or mains power also may be transmitted through the transformer or induced electro magnetically from nearby motors heaters or power lines High quality power regulators typically reduce noise due to power regulation Using the optional 50 Hz or 60 Hz rejection arguments for CRBasic analog input measurement instructions see ...

Page 96: ...wer Supply Installation When connecting external power to the CR800 remove the green POWER IN connector from the CR800 face Insert the positive 12 Vdc lead into the green connector then insert the negative lead Re seat the green connector into the CR800 The CR800 is internally protected against reversed external power polarity Should this occur correct the wire connections and the CR800 will resum...

Page 97: ...e damage to the datalogger and sensors by providing a low resistance path around the system to a point of low potential Campbell Scientific recommends that all dataloggers be earth chassis grounded All components of the system dataloggers sensors external power supplies mounts housings etc should be referenced to one common earth chassis ground In the field at a minimum a proper earth ground will ...

Page 98: ... lines 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 CR800...

Page 99: ...rod and low resistance path to earth ground is adequate protection in many installations FIGURE 31 Lightning Protection Scheme 7 3 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 C4 terminals The CR800 grounding scheme is designed to minimize these ...

Page 100: ...e sensor and the CR800 will result in a measurement error Differential measurements MUST be used when the input ground is known to be at a different ground potential from CR800 ground See the section Single Ended Measurements Details p 350 for more information Ground potential differences are a common problem when measuring full bridge sensors strain gages pressure transducers etc and when measuri...

Page 101: ...Rg is large the error is negligible Note that the geometry of the electrodes has a great effect on the magnitude of this error The Delmhorst gypsum block used in the Campbell Scientific 227 probe has two concentric cylindrical electrodes The center electrode is used for excitation because it is encircled by the ground electrode the path for a ground loop through the soil is greatly reduced Moistur...

Page 102: ... lithium battery Adequate desiccant should be placed in the instrumentation enclosure to provide added protection 7 5 CR800 Setup Details Related Topics CR800 Setup Overview p 83 CR800 Setup Details p 102 Status Settings and Data Table Information Info Tables and Settings p 527 Your new CR800 is already configured to communicate with Campbell Scientific datalogger support software p 86 on the RS 2...

Page 103: ...Net PC400 RTDAQ or it can be downloaded from www campbellsci com downloads It has the following basic features Extensive context sensitive help Connects directly to the CR800 over a serial or IP connection Facilitates access to most settings status fields and info table information fields Includes a terminal emulator that facilitates access to the command prompt of the CR800 DevConfig Help guides ...

Page 104: ...r networks You interact with Network Planner through a drawing canvas upon which are placed PC and datalogger nodes Links representing various comms 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 103 ...

Page 105: ...ices and LoggerNet and Program devices and LoggerNet with new settings Why is Network Planner needed PakBus protocol allows complex networks to be developed Setup of individual devices 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 ...

Page 106: ...uld be specified Verification intervals will depend on the activities between devices Beacon intervals will be assigned but will have default values Network role for example router or leaf node will be assigned based on device links Device Links and Communication Resources Disallow links that will not work Comparative desirability of links Prevent over allocation of resources Optimal RS 232 and CS...

Page 107: ...d listed in these groups is linked to the relevant description Some info tables and settings have multiple names depending on the interface used to access them The names are listed with the descriptions No single interface accesses all info tables and settings Interfaces used for access include the following Info Tables and Settings Interfaces Interface Location Settings Editor Device Configuratio...

Page 108: ...a comms link either directly or as discussed in CRBasic Program Setup Tools p 108 as part of the CRBasic program These conveniences come with the risk of inadvertently changing settings and disabling communications Such an occurrence will likely require an on site visit to correct the problem if at least one of the provisions discussed in this section is not put in place For example wireless ether...

Page 109: ...ile It must be restricted to few lines of code This program controls the SW12 switched power terminal which may be helpful in assuring that the default power state of a remote modem is ON BeginProg Scan 1 Sec 0 0 If TimeIntoInterval 15 60 Sec Then SW12 1 If TimeIntoInterval 45 60 Sec Then SW12 0 NextScan EndProg 7 5 1 5 2 Include File An alternative to a subroutine is an include file An include fi...

Page 110: ... 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 given by this setting as the current program 4 If the program run by this setting cannot be run or if no program is specified the datalogger will attempt to run the program named default cr8 on its CPU drive 5 If there is no default cr8 file or if that fi...

Page 111: ...c Editor name it IncludeFile cr8 and save it to the same PC folder on which resides the main program file this make pre compiling possible Including the SlowSequence instruction as the first statement is required followed by any other code 2 Send the include file to the CPU drive of the CR800 using the File Control menu of the datalogger support software Be sure to de select the Run Now and Run On...

Page 112: ...1 5 3 Executable File Run Priorities 1 When the CR800 powers up it executes commands in the powerup ini file on Campbell Scientific mass storage device including commands to set the CRBasic program file attributes to Run Now or Run On Power up 2 When the CR800 powers up a program file marked as Run On Power up will be the current program 3 If there is a file specified in the Include File Name sett...

Page 113: ...h CRBasic program Include file p 109 Default cr8 file p 109 Set the CR800 clock DevConfig PC200W PC400 LoggerNet Save restore configuration DevConfig 1 Tools are listed in order of preference 7 5 2 1 Operating System OS Details The CR800 is shipped with the operating system pre loaded Check the pre loaded version by connecting your PC to the CR800 using the procedure outlined in DevConfig Help OS ...

Page 114: ...arge files be cautious of line charges o Updating the OS may reset CR800 settings even settings critical to supporting the comms link Newer operating systems minimize this risk Note Beginning with OS 25 the OS has become large enough that a CR800 with serial number 3604 which has only 2 MB of SRAM may not have enough memory to receive it under some circumstances If problems are encountered with a ...

Page 115: ...anually prepare the datalogger to accept the new OS How 1 Connect to the CR800 with Connect or DevConfig 2 Collect data 3 Transfer a default CR1 p 109 program file to the CR800 CPU drive 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 applic...

Page 116: ...Main window lower right This method results in the CR800 retaining its settings a feature since OS version 16 The new OS file is temporarily stored in CR800 SRAM memory which necessitates the following Sufficient memory needs to be available Before attempting to send the OS you may need to delete other files in the CPU and USR drives and you may need to remove the USR drive altogether Since OS 25 ...

Page 117: ...er use Also if sufficient memory is not available instability may result It s probably best to clear out the memory before attempting to send the new OS file If you have defined a USR drive you will probably need to remove it as well Loading an operating system through this method will do the following 1 Preserve all CR800 settings 2 Delete all data in final storage 3 Stop current program Stop and...

Page 118: ...File Control tab If you want to update the OS remotely If your only connection to the CR800 is over IP If you have IP access and want to change the OS for testing purposes External memory and PowerUp ini file If you want to change the OS without a PC 7 5 2 2 Factory Defaults Installation In DevConfig clicking the Factory Defaults button at the base of the Settings Editor tab sends a command to the...

Page 119: ...ad the instructions for the use of each in their respective Help systems 7 6 1 Program Structure Essential elements of a CRBasic program are listed in the table CRBasic Program Structure p 119 and demonstrated in CRBasic example Program Structure p 120 CRBasic Program Structure Program Element1 Purpose Const Declare fixed constants Public Declare and dimension variables viewable during program exe...

Page 120: ...evice if available BeginProg Begin the action part of the program Scan Set the interval for a series of measurements Measurements Make measurements Processing Process measurement and other data CallTable Call data tables to process and store data Controls Check measurements and initiate any control actions NextScan Loop back to Scan and wait for the next scan EndProg End the program 1 Fine points ...

Page 121: ...ult 1 Const Offset 0 Declare constants Define public variables Public RefTemp Public TC 6 Define Units Units RefTemp degC Units TC DegC Declare public 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 ...

Page 122: ...sic code required to perform the tasks Short Cut creates a wiring diagram to simplify connection of sensors and external devices Quickstart p 35 works through a measurement example using Short Cut For many complex applications Short Cut is still a good place to start When as much information as possible is entered Short Cut will create a program template from which to work already formatted with m...

Page 123: ...l occur To correct the error simply change the variable name by adding or deleting one or more letters numbers or the underscore _ from the variable name then recompile and resend the program CRBasic Editor Help provides a list of keywords and predefined constants Common instructions instructions called commands in BASIC and operators used in most BASIC languages including program control statemen...

Page 124: ...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 Dimension string variables only to the size required Read More More information on string variable memory use and conservation is available...

Page 125: ... B C D does not mean If A then B implied EndIf C D Rather it does mean If A then B C D implied EndIf 7 6 3 1 2 One Statement on Multiple Lines Long statements that overrun the CRBasic Editor page width can be continued on the next line if the statement break includes a space and an underscore _ The underscore must be the last character in a text line other than additional white space Note CRBasic ...

Page 126: ...are used in the Function or Sub declaration or that are declared within the body of the function or subroutine are local to that function or subroutine Variable names can be up to 39 characters in length but most variables should be no more than 35 characters long This allows for four additional characters that are added as a suffix to the variable name when it is output to a data table Variable n...

Page 127: ...oftware is incapable of efficiently handling different data types for the same field name Consequently the software mangles the field names in data file headers Data Types in Variable Memory Name Command Description Word Size Bytes Notes Resolution Range Float As Float or As IEEE4 IEEE floating point 4 Data type of all variables unless declared otherwise IEEE Standard 754 24 bits about 7 digits 1 ...

Page 128: ...ing size is 4 3 usable See CRBasic Editor Help for more information Maximum length is limited only by available CR800 memory As a special case a string can be declared as String 1 This allows the efficient storage of a single character The string will take up 4 bytes in memory and when stored in a data table but it will hold only one character 1 CAUTION When using a very long string in a variable ...

Page 129: ... storage values outside the range 0 65535 yield unusable data INF converts to 65535 NAN converts to 0 0 to 65535 UINT4 UINT4 Unsigned integer 4 Use to store positive count data 2147483647 Other uses include storage of long ID numbers such as are read from a bar reader serial numbers or address May also be required for use in some Modbus devices 0 to 4 294 967 295 232 Boolean Boolean Signed integer...

Page 130: ...ng Operations p 303 and Serial I O p 279 Unless declared otherwise string size is 24 bytes or characters String size is allocated in multiples of four bytes for example String 25 String 26 String 27 and String 28 allocate 28 bytes 27 usable Minimum string size is 4 3 usable See CRBasic Editor Help for more information Maximum length is limited only by available CR800 memory As a special case a str...

Page 131: ...ta Storage Example Sample 8 Switches Boolean BOOL8 Data Storage Example Sample 2 FLAGS Bool8 NSEC Data Storage Example Sample 1 CR800Time Nsec EndTable BeginProg Program logic goes here EndProg 7 6 3 3 2 Dimensioning Numeric Variables Some applications require multi dimension arrays Array dimensions are analogous to spatial dimensions distance area and volume A single dimension array declared as P...

Page 132: ... VariableName aaa bbb ccc 2 718 NextScan EndProg 7 6 3 3 3 Dimensioning String Variables Strings can be declared to a maximum of two dimensions The third dimension is used for accessing characters within a string See String Operations p 303 String length can also be declared See table Data Types in Variable Memory p 127 A one dimension string array called StringVar with five elements in the array ...

Page 133: ...As Boolean Public FlagReport 2 As String BeginProg Scan 1 Sec 0 0 If Flag 1 True Then FlagReport 1 High Else FlagReport 1 Low EndIf If Flag 2 True Then FlagReport 2 High Else FlagReport 2 Low EndIf NextScan EndProg 7 6 3 4 Using Variable Pointers A pointer is the memory address of a variable Use a pointer as a convenient way to reference the memory location of a variable rather than referencing it...

Page 134: ...tatements Public TempC1 Public TempC2 Public TempC3 Public TempC4 can simply be condensed to Public TempC 4 This statement creates in memory the four variables TempC 1 TempC 2 TempC 3 and TempC 4 A variable array is useful in program operations that affect many variables in the same way CRBasic example Using a Variable Array in Calculations p 135 shows compact code that converts four temperatures ...

Page 135: ...ling scaling copying etc The main applications are as follows a initiating an array b scaling an array for example converting all of the FREQ HZ returned by a group of AVW200 s into digits strain level etc c creating boolean arrays based on comparisons with a scalar or another array The main drivers at the time of starting down this path were 1 multiple years of feedback from customers asking me h...

Page 136: ...cal and Global Variables Advanced programs may use subroutines p 307 or functions each of which can have a set of Dim variables dedicated to that subroutine or function These are called local variables Names of local variable can be identical to names of global variables p 500 and to names of local variables declared in other subroutines and functions This feature allows creation of a CRBasic libr...

Page 137: ...lare and use constants If declared using ConstTable EndConstTable instructions constants can be changed on the CR1000KD Keyboard Display while the program is running Configure Settings Constant Table Changes can also be made with the C command in a terminal emulator see Troubleshooting Using Terminal Mode p 483 Constants in memory are four byte signed integers or floating point numbers of up to ab...

Page 138: ...lude instruction names and valid alphanumeric names for instruction parameters On account the list of predefined constants is long and frequently increases as the operating system is developed the best course is to compile programs frequently during CRBasic program development The compiler will catch the use of any reserved words Following are listed predefined constants that are assigned a value ...

Page 139: ...ommon is the use of base 10 numbers Scientific notation binary and hexadecimal formats can also be used as shown in the table Formats for Entering Numbers in CRBasic p 139 Only standard base 10 notation is supported by Campbell Scientific hardware and software displays Formats for Entering Numbers in CRBasic Format Example Base 10 Equivalent Value Standard 6 832 6 832 Scientific notation 5 67E 8 5...

Page 140: ...nteger variable Public FlagInt As Long Public Flag 8 As Boolean Public I DataTable FlagOut True 1 Sample 1 FlagInt UINT2 EndTable BeginProg Scan 1 Sec 3 0 FlagInt 0 For I 1 To 8 If Flag I true Then FlagInt FlagInt 2 I 1 EndIf Next I CallTable FlagOut NextScan EndProg 7 6 3 11 Multi Statement Declarations Multi statement declarations are used to declare data tables subroutines functions and inciden...

Page 141: ...gger that initiates data storage is tripped either by the CR800 clock or by an event such as a high temperature The maximum number of data tables is 253 prior to OS 28 the limit was 30 data tables but the maximum can vary with other programming considerations If your need for data tables approaches the maximum only testing will define your limit Data tables may store individual measurements indivi...

Page 142: ...ch line consists of one or more fields The first four lines constitute the file header Subsequent lines contain data Note Discrete data files ASCII or binary can also be written to a CR800 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 142 TOA5 Environment Line Field Description Changed ...

Page 143: ... fourth line of the header reports abbreviations of the data process used to produce the field of data See the table Data Process Abbreviations p 168 Subsequent lines are observed data and associated record keeping The first field being a time stamp and the second being the record data line number As shown in CRBasic example Declaration and Use of a Data Table p 143 data table declaration begins w...

Page 144: ... must be a letter or underscore Note While other characters may pass the precompiler and compiler runtime errors may occur if these naming rules are not adhered to TrigVar Controls whether or not data records are written to storage Data records are written to storage if TrigVar is true and if other conditions such as DataInterval are met Default setting is 1 True TrigVar may be a variable expressi...

Page 145: ...oner than expected DataInterval instruction parameter Lapses controls the CR800 response to a lapse See table DataInterval Lapse Parameter Options p 146 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 Ca...

Page 146: ...easurements from only the current interval Intermediate memory that contains measurements is cleared the next time the data table is called regardless of whether or not a record was written to the data table Typically time series data averages totals maxima etc that are output to a data table based on an interval only include measurements from the current interval After each data output interval t...

Page 147: ... Types p 127 for more information on available data types DisableVar controls whether a measurement or value is included in an output processing function A measurement or value is not included if DisableVar is true 0 For example if the disable variable in an Average instruction is true the current value will not be included in the average CRBasic example Use of the Disable Variable p 147 and CRBas...

Page 148: ...Min 10 Average 1 Oscillator FP2 DisableVar EndTable Main Program BeginProg Scan 1 Sec 1 0 Reset and Increment Counter If Oscillator 2 Then Oscillator 0 Oscillator Oscillator 1 Process and Control If Oscillator 1 If Flag 1 True Then DisableVar True EndIf Else DisableVar False EndIf Call Data Tables and Store Data CallTable OscAvgData NextScan EndProg Numbers of Records The exact number of records t...

Page 149: ...nature In contrast the following sequences are used only in specific applications Also see ApplyAndRestartSequence instruction Shut Down Sequences The ShutDownBegin ShutDownEnd instructions are used to define code that will execute whenever the currently running program is shutdown by prescribed means More information is available in CRBasic Editor Help Dial Sequences The DialSequence EndDialSeque...

Page 150: ...re executed in either pipeline or sequential mode When in pipeline mode tasks run more or less in parallel When in sequential mode tasks run more or less in sequence When a program is compiled the CR800 evaluates the program and automatically determines which mode to use Using the PipelineMode or SequentialMode instruction at the beginning of the program will force the program into one mode or the...

Page 151: ...ing place at the same time the sequence in which the instructions are executed may not be in the order in which they appear in the program Therefore conditional measurements are not allowed in pipeline mode Because of the precise execution of measurement instructions processing in the current scan including update of public variables and data storage is delayed until all measurements are complete ...

Page 152: ...ardware until the main scan including processing is complete Other tasks such as processing from other sequences and communications can occur while the main sequence is running Once the main scan has finished other sequences have access to measurement hardware with the order of priority being the auto self calibration sequence followed by the slow sequences in the order they are declared in the pr...

Page 153: ...tScan EndSequence EndProg SubScan NextSubScan Use when measurements or processing must run at faster frequencies than that of the main program BeginProg Scan SubScan NextSubScan NextScan EndProg 7 6 3 13 1 Scan NextScan Simple CR800 programs are often built entirely within a single Scan NextScan structure with only variable and data table declarations outside the scan Scan NextScan creates an infi...

Page 154: ...When running in pipeline 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 SkippedScan p 472 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...

Page 155: ...ssing and communication to allow 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 157 the main scan sequence has the highest priority Other sequences such as slow sequences and auto self calibration scans must wait to access...

Page 156: ...s to the top of the queue the main scan 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 Details p 387 Main scans and slow sequences usually trigger at ...

Page 157: ...7 6 3 14 1 Measurement and Data Storage Processing CRBasic instructions have been created for making measurements and storing data Measurement instructions set up CR800 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 ...

Page 158: ...struction to make measurement NextScan EndProg 7 6 3 14 2 Argument Types Most CRBasic commands instructions have sub commands parameters Parameters are populated by the programmer with arguments Many instructions have parameters 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...

Page 159: ... checking that is applied to variables constants subroutines tables and other names Constant 38 Units 38 Alias 39 Station name 64 Data table name 20 Field name 39 Field name description 64 1 Variables constants units aliases station names field names data table names and file names can share identical names that is once a name is used it is reserved only in that category See Predefined Constants p...

Page 160: ...ariables or 2 if the result is to be tested for equivalence against another value See Floating Point Arithmetic p 160 for limits Two types of expressions mathematical and programming are used in CRBasic A useful property of expressions in CRBasic is that they are equivalent to and often interchangeable with their results Consider the expressions x z 1 8 32 mathematical expression If x 23 then y 5 ...

Page 161: ...ten out in CRBasic syntax much as they are in common algebraic notation For example to convert Celsius temperature to Fahrenheit the syntax is TempF TempC 1 8 32 Read More Code space can be conserved while filling an array or partial array with the same value See an example of how this is done in the CRBasic example Use of Move to Conserve Code Space p 161 CRBasic example Use of Variable Arrays to...

Page 162: ...loaded into the FLOAT Booleans are converted to 1 or 0 LONG integers greater than 24 bits 16 777 215 the size of the mantissa for a FLOAT will lose resolution when converted to FLOAT LONG from FLOAT or Boolean When converted to Long Boolean is converted to 1 or 0 When a FLOAT is converted to a LONG it is truncated This conversion is the same as the INT function Arithmetic Functions The conversion ...

Page 163: ...be As FLOAT Constants to LONGs or FLOATs This program example demonstrates conversion of constants to Long or Float data types Public L As Long Public F1 As Float Public F2 As Float Const ID 10 BeginProg F1 F2 ID L ID 5 EndProg In the just previous CRBasic example L is an integer F1 and F2 are FLOATS The numeral 5 is loaded As FLOAT to add efficiently with constant ID which was compiled As FLOAT f...

Page 164: ...r the CR800 internally converts it to 1 The CR800 is able to translate the conditions listed in table Binary Conditions of TRUE and FALSE p 164 to binary form 1 or 0 using the listed instructions and saving the binary form in the memory location indicated Table Logical Expression Examples p 165 explains some logical expressions Non Zero True Sometimes Any argument other than 0 or 1 will be transla...

Page 165: ...ssions TABLE Logical Expression Examples p 165 demonstrate some logical expressions IF AND OR NOT XOR IMP IIF 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 is greater than or equal to 5 The CR800 evaluates the expression X 5 and registers in system memory a 1 if the expression is true or a 0 if the expression is false If X 5 OR Z 2 then...

Page 166: ...ndProg 7 6 3 16 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 Ope...

Page 167: ...ord 11 Word 9 Word 11 Word 10 Word 12 _ Word 11 Word 3 Word 14 Word 15 CallTable HAL NextScan EndProg 7 6 3 17 Programming Access 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...

Page 168: ...red Data Process Abbreviations Abbreviation Process Name Tot Totalize Avg Average Max Maximum Min Minimum SMM Sample at Max or Min Std Standard Deviation MMT Moment No abbreviation Sample Hst Histogram 1 H4D Histogram4D FFT FFT Cov Covariance 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 ...

Page 169: ...lowing resources provide information on using signatures Signature instruction in Diagnostics RunSignature p 548 ProgSignature p 548 OSSignature p 545 Security Overview p 84 Many signatures are recorded in the Status table which is a type of data table Signatures recorded in the Status table can be copied to a variable using the programming technique described in the Programming Access to Data Tab...

Page 170: ...a from the CR800 before sending a program otherwise data may be lost Note See File Management p 416 and the Campbell Scientific mass storage device documentation available at www campbellsci com 7 6 4 1 Preserving Data at Program Send You can send CRBasic programs to the CR800 in multiple ways Depending on the way you choose the CR800 keeps or deletes data already stored in memory Regardless of th...

Page 171: ...First Click Next Click LoggerNet Connect Program Send PC400 Clock Program Send Program PC200W Clock Program Send Program RTDAQ Clock Program Send Program DevConfig Logger Control Send Program 1 Reset memory and set CRBasic program attributes to Run Always FIGURE 39 CRBasic Editor Program Send File Control window 7 7 Programming Resource Library This library of notes and CRBasic code addresses a na...

Page 172: ...hin a data table with a more frequent record interval than the expected frequency of the event Declare Variables Public PTemp_C AirTemp_C DeltaT_C Public EventCounter Declare Event Driven Data Table DataTable Event True 1000 DataEvent 0 DeltaT_C 3 DeltaT_C 3 0 Sample 1 PTemp_C FP2 Sample 1 AirTemp_C FP2 Sample 1 DeltaT_C FP2 EndTable Declare Time Driven Data Table DataTable OneMin True 1 DataInter...

Page 173: ...at the Scan rate once per second when condition is met because DataInterval instruction is not included in the table declaration after the DataTable declaration DataTable DeltaT DeltaT_C 3 1 Sample 1 Status StationName String Sample 1 DeltaT_C FP2 Sample 1 PTemp_C FP2 Sample 1 AirTemp_C FP2 EndTable BeginProg Scan 1 Sec 1 0 Measure wiring panel temperature PanelTemp PTemp_C _60Hz Measure type T th...

Page 174: ...t Data Output Interval 0 10 10 seconds 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 Measuremen...

Page 175: ...ut interval 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 ScanCount...

Page 176: ... reference 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 b...

Page 177: ...age 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...

Page 178: ... 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 TableName EventCount syntax is used to return the number of data storage events that ha...

Page 179: ...and offsets are entered at the beginning of the program and then used by several measurement instructions throughout the program 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 as Kelvin and the third as degrees Fahrenheit Declare viewable variables Public PTemp_C Public Temp...

Page 180: ...tures to stored data allows system administrators to track program changes and data quality The following program signatures are available text signature binary runtime signature executable code signatures 7 7 1 7 1 Text Signature The text signature is the most widely used It is calculated from all text in a program including blank lines and comments It is found in ProgSignature field of the Statu...

Page 181: ...ure initialize executable code signature function Scan 1 Sec 0 0 ProgSig Status ProgSignature Set variable to Status table entry ProgSignature RunSig Status RunSignature Set variable to Status table entry RunSignature x 24 ExeSig 1 Signature signature includes code since initial Signature instruction y 43 ExeSig 2 Signature Signature includes all code since ExeSig 1 Signature CallTable Signatures ...

Page 182: ...er1 1 CallTable DataTable1 Call DataTable1 NextScan End main scan SlowSequence Begin slow sequence Declare Public Variables for Secondary Scan can be declared at head of program Public Batt_Volt Public Counter2 Declare Data Table DataTable DataTable2 1 1 DataTable2 is event driven The event is the scan Sample 1 Batt_Volt FP2 Sample 1 Counter2 FP2 EndTable Scan 5 Sec 0 0 Begin 1st secondary scan Co...

Page 183: ...aSetLong 10 As Long Dim x Write data set to CR800 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 DataSetLong Long EndTable BeginProg Assign Float data to variable array declared As Float For x 1 To 10 Read DataSetFloat x Next x Assign Long data to variable array decla...

Page 184: ...x rules Definitions o Least significant dimension the last or right most figure in an array index For example in the array array a b b is the least significant dimension index In the array array a b c c is least significant 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 o...

Page 185: ...and Rows This example sums three rows and two columns of a 3x2 array Source array image 1 23 2 34 3 45 4 56 5 67 6 78 Public Array 3 2 1 23 2 34 3 45 4 56 5 67 6 78 load values into source array Public RowSum 3 Public ColumnSum 2 BeginProg Scan 1 Sec 0 0 For each row add up the two columns RowSum Array 1 1 Array 1 2 For each column add up the three rows ColumnSum Array 1 1 Array 2 1 Array 3 1 Next...

Page 186: ...0 80 Public TempF_Alarm 3 As Boolean BeginProg Scan 1 Sec 0 0 element wise comparison 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 ...

Page 187: ...responding multiplier and offset copy the result into the first column of Db then set second column of Db to NAN Db 1 1 Da 1 1 DMultiplier DOffset Db 1 2 NAN NextScan EndProg 7 7 4 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...

Page 188: ...tion The signal is attenuated by a synchronizing filter with an order of 1 simple averaging Sin πX πX where X is the ratio of the input signal frequency to the running average frequency running average frequency 1 time length of the running average Example Scan period 1 ms N value 4 number of points to average Running average duration 4 ms Running average frequency 1 running average duration 250 H...

Page 189: ...0 72π 0 72π 0 34 So the recorded amplitude was about 1 3 of the input signal amplitude A CRBasic program was written with variables Accel2 and Accel2RA The raw measurement was stored in Accel2 Accel2RA 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 190 shows the two variables plotted to illustrat...

Page 190: ...Section 7 Installation 190 FIGURE 40 Running Average Frequency Response FIGURE 41 Running Average Signal Attenuation ...

Page 191: ...enthesis around the TriggerVariable AND statements DataTable TwoInt int_fast AND TimeIntoInterval 0 5 Sec OR int_slow AND _ TimeIntoInterval 0 15 sec 15000 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 Be...

Page 192: ...r example 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 DataEve...

Page 193: ... 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 Counter FP2 False EndTable BeginProg Scan 1 Sec 0 0 Counter Counter 1 If Counter 5 Then Counter 0 EndIf CallTable Test NextScan EndProg 7 7 7 Data Output Using Data Type Bool8 Variables used exclusively to store e...

Page 194: ...mory is required for the ASCII file but CR800 memory is conserved The compact BOOL8 data type also uses less comms band width when transmitted CRBasic example Bool8 and Bit Shift Operators p 196 programs the CR800 to monitor the state of 32 alarms as a tutorial exercise The alarms are toggled by manually entering zero or non zero e g 0 or 1 in each public variable representing an alarm as shown in...

Page 195: ...Section 7 Installation 195 FIGURE 43 Alarms Toggled in Bit Shift Example FIGURE 44 Bool8 Data from Bit Shift Example Numeric Monitor ...

Page 196: ...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 Hex is used to ...

Page 197: ...00 If 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 2...

Page 198: ...e stored using the RealTime instruction Accessing and storing a time stamp from another datalogger in a PakBus network 7 7 8 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 microsecon...

Page 199: ...ec 0 0 TimeVar FirstTable TimeStamp CallTable FirstTable CallTable SecondTable NextScan EndProg 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 dimensioned to 2 ...

Page 200: ...Time 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 rTime2 7 A...

Page 201: ...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 string forms using the TableName FieldName notation Form 1 mm dd yyyy hr ...

Page 202: ...ific s wind speed weighted algorithm Use of the resultant mean horizontal wind direction is not recommended for straight line Gaussian dispersion models but may be used to model transport direction in a variable trajectory model 3 WVc 1 Unit vector mean wind direction Θ1 4 WVc 1 Unit vector mean wind direction Θ1 WVc 2 Standard deviation of wind direction σ Θu This standard deviation is calculated...

Page 203: ...ite Meteorological Program Guidance for Regulatory Modeling Applications Standard deviation of horizontal wind fluctuations from sub intervals is calculated as follows where is the standard deviation over the data storage interval and are sub interval standard deviations A sub interval is specified as a number of scans The number of scans for a sub interval is given by Desired sub interval secs sc...

Page 204: ...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 number of samples in data storage interval T is N T t The mean vector magnitude is Ū U N Scalar mean horizontal wind speed S where in the case of orthogonal s...

Page 205: ...se 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 47 Mean Wind Vector Graph where for polar sensors ...

Page 206: ...as shown in the figure Standard Deviation of Direction p 206 that where FIGURE 48 Standard Deviation of Direction FIGURE 49 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 deviati...

Page 207: ... 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 7 7 10 Displaying Data Custom Menus Details Related Topics Custom Menus Overview p 82 Data Displays Custom Menus Details p 207 Keyboard Display Overview p 80 CRBasic Editor Help for DisplayMenu...

Page 208: ...ly True or False or declared equivalents Otherwise many items are allowed in the pick list Order of items in list is determined by order of instruction however item displayed initially in MenuItem is determined by the value of the item SubMenu EndSubMenu Defines the beginning and end of a second level menu Note SubMenu label must be at least six characters long to mask default display clock CRBasi...

Page 209: ...Menu Example Control LED Pick List p 211 Custom Menu Example Control LED Boolean Pick List p 211 FIGURE 50 Custom Menu Example Home Screen FIGURE 51 Custom Menu Example View Data Window FIGURE 52 Custom Menu Example Make Notes Sub Menu ...

Page 210: ...Section 7 Installation 210 FIGURE 53 Custom Menu Example Predefined Notes Pick List FIGURE 54 Custom Menu Example Free Entry Notes Window FIGURE 55 Custom Menu Example Accept Clear Notes Window ...

Page 211: ...FIGURE 57 Custom Menu Example Control LED Pick List FIGURE 58 Custom Menu Example Control LED Boolean Pick List Note See figures Custom Menu Example Home Screen p 209 through Custom Menu Example Control LED Boolean Pick List p 211 in reference to the following CRBasic example ...

Page 212: ...lic StartFlag As Boolean LED Control Process Variable Public CountDown As Long LED Count Down Variable Public ToggleLED As Boolean LED Control Variable Define Note DataTable Set up Notes data table written DataTable Notes 1 1 to when a note is accepted Sample 1 SelectNote String Sample Pick List Note Sample 1 EnterNote String Sample Free Entry Note EndTable Define temperature DataTable Set up temp...

Page 213: ...hermocouples TCDiff TCTemp 2 mV2_5C 1 TypeT RefTemp True 0 _60Hz 1 0 0 CallTable TempC Call data table Menu Item Make Notes Support Code If CycleNotes Accept Then CallTable Notes Write data to Notes data 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 p...

Page 214: ...meric monitor screen captures are used in the following procedures Running through these procedures will give you a foundation for how field calibration works but use of the calibration wizard for routine work is recommended More detail is available in CRBasic Editor Help 7 7 11 1 Field Calibration CAL Files Calibration data are stored automatically usually on the CR800 CPU drive in CAL cal files ...

Page 215: ...erved Boolean variable NewFieldCal a reserved Boolean variable under CR800 control used to optionally trigger a data storage output table one time after a calibration has succeeded See CRBasic Editor Help for operational details on CRBasic instructions 7 7 11 3 Field Calibration Wizard Overview The LoggerNet and RTDAQ field calibration wizards step you through the procedure by performing the mode ...

Page 216: ...calibration 5 Working only applicable for two point calibrations 6 Calibration complete 7 7 11 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 an offset of equal magnitude and same s...

Page 217: ...4 Set KnownVar variable to first known point 5 Set Mode variable 1 to start first part of calibration a Mode 2 automatic during the first point calibration b Mode 3 automatic when the first point is completed 6 Place sensor into second known point condition 7 Set KnownVar variable to second known point 8 Set Mode 4 to start second part of calibration a Mode 5 automatic during second point calibrat...

Page 218: ...alue of the FieldCal KnownVar parameter which is set to 0 Subsequent measurements have the same offset subtracted Option 0 does not affect the multiplier argument Example Case A sensor measures the relative humidity RH of air Multiplier is known to be stable but sensor offset drifts and requires regular zeroing in a desiccated chamber The following procedure zeros the RH sensor to obtain the calib...

Page 219: ...multiplier This program demonstrates the zero calibration with the following procedure Simulate a signal from a relative humidity sensor Measure the sensor signal Calculate and apply a zero calibration You can set up the simulation by loading this program into the CR800 and interconnecting the following terminals with a jumper wire to simulate the relative humidity sensor signal as follows Vx1 SE1...

Page 220: ...etVar Mode KnownVar Index Avg FieldCal 0 RH 1 0 RHOffset CalMode KnownRH 1 30 If there was a calibration store calibration values into data table CalHist CallTable CalHist NextScan EndProg 7 7 11 5 2 FieldCal Offset Opt 1 Example Most CRBasic measurement instructions have a multiplier and offset parameter FieldCal Option 1 adjusts the offset argument such that the output of the sensor being calibr...

Page 221: ... placed in a 30 mg l standard solution place a jumper wire between terminals VX1 and SE1 The following variables are preset by the program SimulatedSalinitySignal 1350 KnownSalinity 30 3 To start a simulated calibration set variable CalMode 1 When CalMode increments to 6 offset calibration is complete The calibrated offset will equal 37 48 mg l 4 To continue this example and simulate an offset dri...

Page 222: ... by setting variable CalMode 1 When CalMode 6 will occur automatically after 10 measurements the routine is complete Note the new value in variable SalinityOffset Now enter the following millivolt value as the simulated sensor signal and note how the new offset is added to the measurement SimulatedSalinitySignal 1345 NOTE This program places a cal file on the CPU drive of the CR800 The cal file mu...

Page 223: ...tially 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 periodically at known flow rates The following procedure adjusts multiplier and offset to correct for meter drift as shown in ...

Page 224: ...s 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 intersects known points sequentially entered in to the ...

Page 225: ...S 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 VoltSE Flow 1 mV2500 1 1 0 250 FlowM...

Page 226: ...r Water Content Sensor CRBasic Variable At Deployment SimulatedWaterContentSignal 175 mV KnownWC 10 SimulatedWaterContentSignal 700 mV KnownWC 35 WCMultiplier 0 0476 mV The following procedure sets the sensitivity of a simulated soil water content sensor 1 Send CRBasic example FieldCal Multiplier p 226 to the CR800 2 To simulate the soil water sensor signal place a jumper wire between terminals VX...

Page 227: ...6 occurs automatically after 10 measurements the routine is complete Note the new value in variable WCMultiplier Now enter a new value in the simulated sensor signal as follows and note how the new multiplier scales the measurement SimulatedWaterContentSignal 350 NOTE This program places a cal file on the CPU drive of the CR800 The cal file must be erased to reset the demonstration DECLARE SIMULAT...

Page 228: ...itates shunt calibration of strain gage systems and is designed exclusively for strain applications wherein microstrain is the unit of measure The FieldCal instruction see Field Calibration Examples p 217 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 misinterpret...

Page 229: ...o delete cal files and then send the demonstration program again to the CR800 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 ...

Page 230: ...at 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 been don...

Page 231: ...hen set Shunt_Mode 4 FieldCalStrain 13 MicroStrain 1 GF_Adj 0 Shunt_Mode KnownRes 1 10 GF_Raw 0 CallTable CalHist NextScan EndProg 7 7 11 6 3 FieldCalStrain Quarter Bridge Shunt Example With CRBasic example FieldCalStrain Calibration p 230 sent to the CR800 and the strain gage stable use the CR1000KD Keyboard Display or software numeric monitor to change the value in variable KnownRes to the nomin...

Page 232: ...49 kΩ 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 232 When Zero_Mode increments to 6 zero calibration is complete as shown in figure Zero Procedure Finish p 232 FIGURE 62 Zero Procedure Start FIGURE 63 Zero Procedure Finish ...

Page 233: ...al of signal integration time is larger than 15000 and when SettlingTime is less than 500 µs While programming the CR800 for fast measurements you must balance the need for data integrity with the need for speed Maximum Measurement Speeds Using VoltSE VoltSE Measurement Type Maximum Speed on n Channels Fast Scan 100 Hz n 6 Cluster Burst1 2 1000 Hz n 1 500 Hz n 3 Dwell Burst1 3 1735 samples 2000 Hz...

Page 234: ... one single ended channel The following programming features are key to making this application work PipelineMode enabled Measurement speed set with Scan Interval 10 and Units mSec Scan BufferOption increased to 5 PipeLineMode Public FastContinuousSE 1 DataTable FastContinuousSEData 1 1 Sample 1 FastContinuousSE FP2 EndTable BeginProg Scan Interval Units BufferOption Count Scan 10 mSec 5 0 VoltSe ...

Page 235: ...s not fast enough to keep up with the sample rate The result is a periodic skipped scan which allows processing to catch up To program for measurements without skipped scans modify the measurement speed For example set Scan Interval 3 Units Sec SubScan SubInterval 3 Units mSec and Count 666 PipeLineMode Public ClusterBurstSE 2 DataTable ClusterBurstSEData 1 1 Sample 2 ClusterBurstSE FP2 EndTable B...

Page 236: ...record in the data table The exact sampling interval is calculated as follows SampleTime 1 085069 INT SampleInterval 1 085069 0 5 At scan interval 2 s CR800 processing is not fast enough to keep up with the 93750 Hz measurements The result is that the CR800 skips every other scan to catch up If no skipped scans is wanted more than maximum speed make adjustments to the program For example set Scan ...

Page 237: ...No change from standard measurement mode For fastest rate set to False 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 fastest rate set to False SampleInterval was SettlingTime Sample interval in µs This argument determines the measurement ...

Page 238: ...tScan Interval consider the following two points o Status table MeasureTime p 544 field reports the measurement time that occupies the Scan NextScan Interval MeasureTime includes time needed to make measurements inside and outside SubScan NextSubScan o NextScan needs 100 µs to run One Scan NextScan buffer holds the raw measurements made in one main scan inside and outside the sub scan For example ...

Page 239: ...y This program example demonstrates how to perform an excite delay measure operation In this example the system requires 1 s of excitation to stabilize before the sensors are measured A single ended measurement is made and a separate differential 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 Groun...

Page 240: ... www campbellsci com The CR800 supports SDI 12 communication through two modes transparent mode and programmed mode Transparent mode facilitates sensor setup and troubleshooting It allows commands to be manually issued 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 7 14 1 SDI 12 Trans...

Page 241: ...or terminal C1 An Entering SDI12 Terminal response indicates that SDI 12 transparent mode is active and ready to transmit SDI 12 commands and display responses FIGURE 64 Entering SDI 12 Transparent Mode 7 7 14 1 1 SDI 12 Transparent Mode Commands Commands have three components Sensor address a a single character and is the first character of the command Sensors are usually assigned a default addre...

Page 242: ...addresses Start Concurrent Measurement aC atttnn CR LF Additional Concurrent Measurements aC1 aC9 atttnn CR LF Additional Concurrent Measurements and Request CRC aCC1 aCC9 atttnn CR LF Send Data aD0 aD9 a values CR LF or a values CRC CR LF Send Identification aI allccccccccmmmmmmvvvxxx xx CR LF For example 013CampbellCS1234003STD 03 01 means address 0 SDI 12 protocol version number 1 3 manufacture...

Page 243: ...onnect only a single probe when using these commands Requests the sensor address Response is address a Syntax aAb Changes the sensor address a is the current address and b is the new address Response is the new address Syntax aAb aI Requests the sensor identification Response is defined by the sensor manufacturer but usually includes the sensor address SDI 12 version manufacturer s name and sensor...

Page 244: ...n example the response from the command 5M is 500410 where 5 reports the sensor SDI 12 address 004 indicates the data will be available in 4 seconds 10 indicates that 10 values will be available The command 5M7 elicites a similar response but the appendage 7 instructs the sensor to return the voltage of the internal battery aC Start concurrent measurement The CR800 requests a measurement continues...

Page 245: ...ts with each iteration aDv Request data from the sensor Example Syntax aD0 SDI 12 Continuous Measurement Command aR0 to aR9 Sensors that are continuously monitoring such as a shaft encoder do not require an M command They can be read directly with the Continuous Measurement Command R0 to R9 For example if the sensor is operating in a continuous measurement mode then aR0 will return the current rea...

Page 246: ... between the request for measurement and the request for data In programmed mode the CR800 provides command and timing services within a single line of code For example when the SDI12Recorder instruction is programmed with the M command note that the SDI 12 address is a separate instruction parameter the CR800 issues the aM and aD0 commands with proper elapsed time between the two The CR800 automa...

Page 247: ...v command s with data if any If no data loads NAN into variable CR800 moves to next CRBasic instruction does not re issue aCv command Send Identification I CR800 issues aI command Start Measurement M Mv MCv CR800 issues aMv command Sensor responds with atttnn CR800 If nnn 0 then NAN put in the first element of the array CR800 waits until ttt3 seconds unless a service request is received Issues aDv...

Page 248: ...ent is to issue a M measurement command to each sensor as shown in the following CRBasic example Public BatteryVolt Public Temp1 Temp2 Temp3 Temp4 BeginProg Scan 5 Sec 0 0 Non 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...

Page 249: ...0 SDI12Recorder Temp 2 1 1 C 1 0 0 SDI12Recorder Temp 3 1 2 C 1 0 0 SDI12Recorder Temp 4 1 3 C 1 0 0 NextScan EndProg A new problem introduced by the C command however is that it causes high power usage by the CR800 This application has a very tight power budget Since the C command reissues a measurement request immediately after receiving data the sensors will be in a high power state continuousl...

Page 250: ...o Test Cv Command This program example demonstrates how to use CRBasic to simulate four SDI 12 sensors This program can be used to produce measurements to test the CRBasic example Using Alternate Concurrent Command aC p 251 Public Temp 4 DataTable Temp True 0 DataInterval 0 5 Min 10 Sample 4 Temp FP2 EndTable BeginProg Scan 5 Sec 0 0 PanelTemp Temp 1 250 Measure CR800 wiring panel temperature to u...

Page 251: ...use of the special SDI 12 concurrent measurement command aC when back to back measurements are not desired as can occur in an application that has a tight power 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 P...

Page 252: ...rst variable then move to next instruction If ttt expired issue aDv command s If Temp_Tmp X 2e9 OR Temp_Tmp X 1e9 Then cmd X C Start sending C command ElseIf Temp_Tmp X NAN Then Comms failed or sensor not attached cmd X C Start measurement over Else C C command sequence complete Move Temp_Meas X 1 Temp_Tmp X 1 Copy measurements to SDI_Val 10 cmd X C Start next measurement with C IndDone X 1 EndIf ...

Page 253: ...blic SDI12command As String Public SDI12result As String Main Program BeginProg Scan 20 Sec 3 0 PanelTemp PTemp 250 SDI12command XT FormatFloat PTemp 4 2f SDI12Recorder SDI12result 1 0 SDI12command 1 0 0 NextScan EndProg 7 7 14 3 SDI 12 Sensor Mode The CR800 can be programmed to act as an SDI 12 recording device or as an SDI 12 sensor For troubleshooting purposes responses to SDI 12 commands can b...

Page 254: ...Sequence for each SDI 12 port configured as a sensor 2 The CR800 will handle additional measurement aMx commands When an SDI 12 recorder issues aMx commands as shown in CRBasic example SDI 12 Sensor Setup p 254 measurement results are returned as listed in table SDI 12 Sensor Setup Results p 255 SDI 12 Sensor Setup This program example demonstrates the use of the SDI12SensorSetup SDI12SensorRespon...

Page 255: ...ame as 0M 0M1 Source 3 Source 4 Temperature F battery voltage 0M2 Source 5 Source 6 Temperature C battery mV 0M3 Source 7 Source 8 Temperature F battery mV 0M4 Source 9 Source 10 Serial number lithium battery voltage 7 7 14 4 SDI 12 Power Considerations When a command is sent by the CR800 to an SDI 12 probe all probes on the same SDI 12 port will wake up However only the probe addressed by the dat...

Page 256: ...0 66 66 66 318 15 Yes 120 66 66 66 318 16 1D0 Yes 66 66 66 66 264 17 29 66 66 66 66 264 30 Yes 66 66 66 66 264 Sleep 0 25 0 25 0 25 0 25 1 1 Current use 0 25 mA sleep 66 mA awake 120 mA measuring 7 7 15 Compiling Conditional Code 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...

Page 257: ...a larger master program This option can also be used at the pre compiler command line by using p outfile name This feature allows the smallest size program file possible to be sent to the CR800 which may help keep costs down over very expensive comms links CRBasic example Conditional Code p 257 shows a sample program that demonstrates use of conditional compilation features in CRBasic Within the p...

Page 258: ... SerialOpen ComC1 9600 10 0 10000 Main Scan Scan ScanRate Sec 0 0 Measure using different parameters and a different SE channel depending on the datalogger type the program is running in If LoggerType 3000 This instruction is used if the datalogger is a CR3000 VoltSe ValueRead 1 mV1000 22 0 0 _50Hz 0 1 30 ElseIf LoggerType 1000 This instruction is used if the datalogger is a CR1000 VoltSe ValueRea...

Page 259: ...sistance of a PRT increases as it is warmed Industrial standards define how PRTs respond to temperature see PRT Callendar Van Dusen Coefficients p 275 There are many ways to measure a PRT with a CR800 datalogger When using Vx terminals the most direct route is to measure a four wire PRT in a three wire half bridge Other ways to measure a PRT are listed in TABLE PRT Measurement Circuit Overview p 2...

Page 260: ...rt leads Best resolution since the bridge balances at the temperature range midpoint 7 7 16 2 General Procedure PRT Following is a general procedure for using a PRT 1 Build circuit 2 Wire circuit to the CR800 3 Calculate excitation voltage 4 Calibrate PRT 5 Measure PRT and convert output to temperature Several procedures follow that step you through use of common resistive bridge configurations to...

Page 261: ... these resistance values Callandar Van Dusen Coefficients for PT100 α 0 00385 Constants Coefficient a 3 9083000E 03 d 2 3100000E 06 e 1 7584810E 05 f 1 1550000E 06 g 1 7909000E 00 h 2 9236300E 00 i 9 1455000E 00 j 2 5581900E 02 Input Ranges mV CR6 CR800 CR1000 CR3000 5000 5000 5000 1000 2500 1000 200 250 200 25 50 7 5 20 2 5 Input Limits mV CR6 CR800 CR1000 CR3000 5000 5000 5000 ...

Page 262: ...e Half Bridge with Voltage Excitation PT100 BrHalf4W FIGURE 65 PT100 BrHalf4W Four Wire Half Bridge Schematic Procedure Data BrHalf4W Four Wire Half Bridge Equations X RS Rf RS Rf X VX VS Rf RS R1 RS Bridge Resistor Values mΩ R1 Rf 10000000 100000 Procedure 1 Build circuit1 a Use FIGURE PT100 BrHalf4W Four Wire Half Bridge Schematic p 262 as a template ...

Page 263: ...ge in the 25 mV input range Rf 100000 mΩ 100 Ω R1 10000000 mΩ 10 kΩ RSmax 123240 mΩ PT100 at 60 C 3 so VXmax 2053 mV 4 Calibrate the PT100 If the PRT accuracy specification is good enough and you trust it assume RS0 100000 mΩ Otherwise do the following procedure a Enter CRBasic EXAMPLE PT100 BrHalf4W Four Wire Half Bridge Calibration p 264 into the CR800 It is already programmed with the excitatio...

Page 264: ...n mathematical terms because the result of the measurement is a ratio rather than an absolute magnitude but it does matter in terms of reducing the effect of electromagnetic noise and of losing of resolution A maximum excitation helps drown out noise A minimum input voltage range helps preserve resolution 3 Get this value from a PRT resistance to temperature table CRBasic Programs and Notes PT100 ...

Page 265: ..._RS0 RS RS0 Calculate temperature from RS_RS0 PRTCalc Dest Reps Source PRTType Mult Offset PRTCalc DegC 1 RS_RS0 1 1 0 0 NextScan EndProg Notes Why use four wire half bridge Use a four wire half bridge when lead resistance is more than a few thousandths of an ohm such as occurs with long lead lengths Why use 10 kΩ series resistor Referring to figure PT100 BrHalf4W Four Wire Half Bridge Schematic p...

Page 266: ...ire Half Bridge Schematic Procedure Information BrHalf3W Three Wire Half Bridge Equations X RS Rf RS Rf X VX VS RS Rf RS Bridge Resistor Values mΩ Rf 100000 Procedure 1 Build circuit1 a Use FIGURE PT100 BrHalf3W Three Wire Half Bridge Schematic p 266 as a template b For Rf choose a 1 10 ppm C 10000000 mΩ 10 kΩ resistor 2 Wire circuit to datalogger Use FIGURE PT100 BrHalf3W Three Wire Half Bridge S...

Page 267: ...lf3W Three Wire Half Bridge Calibration p 268 into the CR800 It is already programmed with the excitation voltage from step 3 b Place the PRT in an ice bath 0 C c Measure the PRT If you are doing a dry run assume the result of BrHalf3W X0 0 01000 d Calculate RS0 RS0 X0 Rf 100000 mΩ Wow We are lucky to have a perfect PRT In the real world PRT resistance at 0 C will probably land on either side of 1...

Page 268: ...rature table CRBasic Programs and Notes PT100 BrHalf3W Three Wire Half Bridge Calibration This program example demonstrates the calibration of a 100 ohm PRT PT100 in a three wire half bridge with voltage excitation See previous procedure and schematic Declare constants and variables Const Rf 10000000 Value of bridge resistor Public X Raw output from the bridge Public RS0 Calculated PT100 resistanc...

Page 269: ... 1 1 0 0 NextScan EndProg Notes 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 see FIGURE PT100 BrHalf3W Three Wire Half Bridge Schematic p 266 The maximum difference expected in wire resistance is 2 but is more likely to be on the order of 1 The average resistance of 22 AWG wire is 16 5 Ω per 1000 f...

Page 270: ... to the resistance of the PRT at 10 C See Procedure Information PT100 BrFull Full Bridge Since a 103 9 Ω resistor is hard to find use a 100 Ω resistor It is close enough Use 5 ppm C resistors Frequently all the resistors in a full bridge are submerged in the medium to be measured so they may see large temperature changes 5 ppm resistors are more thermally stable than 10 ppm resistors 2 Wire circui...

Page 271: ... excitation See previous procedure and schematic Declare constants and variables Const R1 5000000 Value of R1 bridge resistor Const R2 120000 Value of R2 bridge resistor Const R4 5000000 Value of R4 bridge resistor Public X1 Raw output from the bridge Public X2 Calculated intermediate value Public RS0 Calculated PT100 resistance at 0 C BeginProg Scan 1 Sec 0 0 Measure X1 BrFull Dest Reps Range Dif...

Page 272: ...he CR800 It is already programmed with the excitation voltage from step 3 and RS0 from step 4 b Place PT100 in medium to measure c Measure with BrFull If you are doing a dry run assume the result of Resistance X10 0 7491 d Calculate RS10 X210 X10 1000 R2 R1 R2 0 02036 RS10 R4 X210 1 X210 103900 6 Calculate RS10 RS0 K and temperature a RS10 RS0 1 039 b K RS10 RS0 1 0 039 c T g K 4 h K 3 i K 2 j K 9...

Page 273: ...True True 0 250 1 0 Calculate X2 X2 X1 1000 R2 R1 R2 Calculate RS0 RS0 R4 X2 1 X2 NextScan EndProg PT100 BrFull Four Wire Full Bridge Measurement This program example demonstrates the measurement of a 100 ohm PRT PT100 in a four wire full bridge with voltage excitation See previous procedure and schematic Declare constants and variables Const R1 5000000 Value of R1 bridge resistor Const R2 120000 ...

Page 274: ...hips are used in or are related to the previous procedure Maximum Excitation Voltage Used V1 maxT maximum voltage in the CR800 analog voltage input range VXMAX V1 maxT R3 maxT R3 maxT R4 R2 R1 R2 Related V1 maxT VX R3 maxT R3 maxT R4 R2 R1 R2 Calibrate PRT Used XCAL 1000 V1CAL VX where 1000 V1CAL VX is the output of BrFull with Mult 1 Offset 0 X3CAL XCAL 0 001 R2 R1 R2 Related V1CAL VX R3CAL R3CAL...

Page 275: ... As shown in the preceding PRT measurement examples use the PRTCalc instruction in the CRBasic program to process PRT resistance measurements NOTE PRT not PRTCalc is obsolete PRTCalc uses the following inverse Callendar Van Dusen equations to calculate temperature from resistance For temperatures 0 C T g K j K2 i K3 h K4 where K RS R0 1 Eq 1 For temperatures 0 C T sqrt d RS R0 e a f Eq 2 Eq 1 conf...

Page 276: ...ers Source Multiplier Offset See the calibration sections in the previous PRT procedures for more information The following tables show sets of a d e f g h i and j coefficients that are used in the Eqs 1 and 2 depending on the PRTType code entered in PRTCalc Coefficients are rounded to the seventh significant digit to match CR800 math resolution PRTType codes depend on the alpha value of the PRT w...

Page 277: ...ial Standard α 0 00392 Reference Logan Enterprises PRTCalc PRTType 3 α 0 003911 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 1 US Industrial Standard α 0 00391 Reference OMIL R84 2003 PRTCalc PRTType 4 α 0 0039161 Constant Coefficient a 3 9739000E 03 d 2 3480000E 06 e 1 8139880E 05 f 1 1740000E ...

Page 278: ...cient a 3 8100000E 03 d 2 4080000E 06 e 1 6924100E 05 f 1 2040000E 06 g 2 1790930E 00 h 5 4315860E 00 i 9 9196550E 00 j 2 6238290E 02 1 Honeywell Industrial Sensors α 0 00375 Reference Honeywell PRTCalc PRTType 6 α 0 0039261 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 1 Standard ITS 90 SPRT α 0...

Page 279: ...und on CR800 serial communications 7 7 17 1 Introduction Serial denotes transmission of bits 1s and 0s sequentially or serially A byte is a packet of sequential bits RS 232 and TTL standards use bytes containing eight bits each Consider an instrument that transmits the byte 11001010 to the CR800 The instrument does this by translating 11001010 into a series of higher and lower voltages which it tr...

Page 280: ...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 CR800 such as PakBus or Modbus translation of bytes is relatively easy and transparent However when bytes requi...

Page 281: ... used by some smart sensors that requires minimal configuration on the CR800 Read More See SDI 12 Sensor Support Details p 385 PakBus Comms Overview p 77 DNP3 Details p 436 and Modbus Details p 436 Many instruments require non standard protocols to communicate with the CR800 Note If an instrument or sensor optionally supports SDI 12 Modbus or DNP3 consider using these protocols before programming ...

Page 282: ...n the CR800 is MSB or puts the most significant integer first See the appendix Endianness p 559 Term cr Carriage return Term data bits Number of bits used to describe the data and fit between the start and stop bits Sensors typically use 7 or 8 data bits Term duplex A serial communication protocol Serial communications can be simplex half duplex or full duplex Reading list simplex p 515 duplex p 2...

Page 283: ...at contains no information A mark is a logic 1 and negative voltage A space is a logic 0 and positive voltage Term MSB Most significant bit the leading bit See Endianness p 559 Term RS 232C Refers to the standard used to define the hardware signals and voltage levels The CR800 supports several options of serial logic and voltage levels including RS 232 logic at TTL levels and TTL logic at TTL leve...

Page 284: ...nnn where nnnn is the baud rate or 0 auto baud rate detect is enabled Autobaud is useful when using the CS I O and RS 232 ports since it allows ports to be simultaneously used for sensor and PC comms Format Determines data type and if PakBus communications can occur on the COM port If the port is expected to read sensor data and support normal PakBus telemetry operations use an auto baud rate argu...

Page 285: ...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 Destination can be of any type Buffer size margin one extra record one byte SerialOutBlock 1 3 Binary Can run in pipeline mode inside the digital measurement task along with SDM instructions if the COMPort parameter is set...

Page 286: ...Measurement instruction if expression evaluates to a constant 7 7 17 5 2 Serial I O Input Programming Basics Applications with the purpose of receiving data from another device usually include the following 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 ...

Page 287: ...r SerialInRecord Example SerialInRecord Com2 SerialInString 42 0 35 01 o Declare the string variable large enough to accept the string Example Public SerialInString As String 25 o Observe the input string in the input string variable in a numeric monitor p 506 Note SerialIn and SerialInRecord both receive data SerialInRecord is best for receiving streaming data SerialIn is best for receiving discr...

Page 288: ...e CR800 o Match the port baud rate to the baud rate of the device in CRBasic o Use a fixed baud rate rather than auto baud when possible 2 Build the output string o Example SerialOutString 27 435 56 789 o Tip concatenate add strings together using instead of o Tip use CHR instruction to insert ASCII ANSI characters into a string 3 Output string via the serial port SerialOut or SerialOutBlock comma...

Page 289: ...exadecimal ASCII ANSI code Some codes translate to alpha numeric values others to symbols or non printable control characters Example sting from temperature sensor SerialInString 23 30 31 38 34 0D which translates to 01 84 cr Binary Bytes are processed on a bit by bit basis Character 0 Null b00 is a valid part of binary data streams However the CR800 uses Null terminated strings so anytime a Null ...

Page 290: ...ed at the update interval If the Public table is large comms 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 variables just large enough to hold the string If the sensor sends multiple strings at once consider declaring a single string variable and read incoming strings one at...

Page 291: ...ng 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 humidity...

Page 292: ... earlier 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 b...

Page 293: ...Section 7 Installation 293 FIGURE 69 HyperTerminal Connect To Settings FIGURE 70 HyperTerminal COM Port Settings Tab Click File Properties Settings ASCII Setup and set as shown ...

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

Page 295: ...se same ASCII strings A similar program can be used to emulate CR10X and CR23X dataloggers Solution CRBasic example Measure Sensors Send RS 232 Data p 296 imports and exports serial data with the CR800 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 ...

Page 296: ...ta 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 Minute Data Table DataTable OneMinTable true 1 OpenInterval sets interval same as found in CR510 DataInterval 0 1 Min 10 Totalize 1 KWHH ...

Page 297: ...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 a leap year use this section If LeapYear True Then Select Case DOY Case Is 32 Month 1 Date DOY Case Is 61 Month 2 Date DOY 31 Case Is 92 Month 3 Date DOY 60 Case Is 122 Mon...

Page 298: ... 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 Case Is 305 Month 10 Date DOY 273 Case Is 336 Month 11 Date DOY 304 Case Is 366 Month 12 Date DOY 334 EndSelect EndIf...

Page 299: ...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 Call subroutine to convert day of year to month day ClkSet 1 Year ClkSet 2 Month ClkSet 3 Date ClkSet 4 Hour ClkSet 5 Minute ClkSet 6 Second ClkSet 7 uSecond Note ClkSet array requires year mont...

Page 300: ...hat 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 way that we can get the logger to send this A Strings created with CRBasic are NULL terminated Adding strings together means the second string will start at the first null it finds in the first string Use SerialOutBlock instruction which l...

Page 301: ...s the interface powered up so no incoming bytes are lost When the CR800 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 can I reference specific characters in a string A The third dimension of a string variable provides acce...

Page 302: ...a string variable a NULL character received will terminate the string but nevertheless characters after a NULL character will continue to be received into the variable space until one of the termination conditions is met These 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 ...

Page 303: ...sic string functions 7 7 18 1 String Operators The table String Operators p 303 lists and describes available string operators String operators are case sensitive String Operators Operator Description Concatenates strings Forces numeric values to strings before concatenation Example 1 2 3 a 5 6 7 123a567 Adds numeric values until a string is encountered When a string is encountered it is appended ...

Page 304: ...er strings abc123 characters a or chr numbers or variables The table String Concatenation Examples p 304 lists some expressions and expected results CRBasic example Concatenation of Numbers and Strings p 304 demonstrates several concatenation examples When non string values are concatenated with strings once a string is encountered all subsequent operands will first be converted to a string before...

Page 305: ...owing are examples of using and when one or more parameters are strings Parameters are processed in the standard order of operations In the order of operation once a string or an is processed all following parameters will be processed concatenated as strings I 1 Num I 1 2 3 4 1234 I 1 Num I 1 2 3 4 1234 I 1 Num I 1 2 3 4 334 I 1 Num I 1 2 3 4 64 I 1 Num I 1 2 3 4 5 6 33456 I 1 Num I 1 2 3 4 5 6 33...

Page 306: ...of just one character is that character followed by a NULL unless the character is a NULL String NULL Character Examples Expression Comments Resul t LongVar 5 Subtract NULL ASCII code results 35 LongVar 6 StrComp Also subtracts NULL 35 Example Objective Insert a NULL character into a string and then reconstitute the string Given StringVar 3 123456789 Execute StringVar 3 1 4 123 NULL 56789 Results ...

Page 307: ... multiple times in a program scan To ease integration of proven code segments into new programs To compartmentalize programs to improve organization By executing the Call instruction the main program can call a subroutine from anywhere in the program A subroutine has access to all global variables p 500 Variables local p 504 to a subroutine are declared within the subroutine instruction Local vari...

Page 308: ...h Global and Local Variables This program example demonstrates the use of global and local variables with subroutines Global variables are those declared anywhere in the program as Public or Dim Local variables are those declared in the Sub instruction Program Function Passes two variables to a subroutine The subroutine increments each variable once per second multiplies each by pi then passes res...

Page 309: ...Section 7 Installation 309 BeginProg counter 1 1 counter 2 2 Scan 1 Sec 0 0 Pass Counter array to j array pi_pruduct to OutVar Call ProcessSub counter pi_product CallTable pi_results NextScan EndProg ...

Page 310: ......

Page 311: ...nctions 8 1 1 1 Time Stamps A measurement without an accurate time reference has little meaning Data on the CR800 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 CR800 If a sca...

Page 312: ... code Programming the CR800 such that the time stamp reflects the system time rather than the scan time When CallTable is executed from within the Scan NextScan construct as is normally done the time stamp reflects scan time By executing the CallTable instruction outside the Scan NextScan construct the time stamp will reflect system time instead of scan time CRBasic example Time Stamping with Syst...

Page 313: ...essing CRBasic instructions are governed by these same rules Consult CRBasic Editor Help for more information on specific instructions 8 1 2 Analog Measurements Details Related Topics Analog Measurements Overview p 65 Analog Measurements Details p 313 The CR800 measures the following sensor analog output types Voltage o Single ended o Differential Current using a resistive shunt Resistance Full br...

Page 314: ...asurement 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 speed available measurement hardware and fiscal constraints In broad terms analog voltage is best measured differentially because these measurements include noise reduction features listed be...

Page 315: ... the potential of earth ground is 1 mV greater at the sensor than at the point where the CR800 is grounded the measured voltage will be 1 mV greater than the true thermocouple output or report a temperature that is approximately 25 C too high A common problem with ground potential difference occurs in applications wherein external signal conditioning circuitry is powered by the same source as the ...

Page 316: ...ion duration is effectively rejected by an analog integrator If reversing the differential inputs or reversing the excitation is specified there are two separate integrations per measurement if both reversals are specified there are four separate integrations Analog Measurement Integration Integration Time ms Integration Parameter Argument Comments 0 to 16000 µs 0 to 16000 250 µs is considered fas...

Page 317: ...ejecting ac line noise when measuring with the 2500 mV mV2500 and 5000 mV mV5000 ranges the CR800 makes two fast measurements separated in time by one half line cycle A 60 Hz half cycle is 8333 µs so the second measurement must start 8333 µs after the first measurement integration began The A to D conversion time is approximately 170 µs leaving a maximum input settling time of approximately 8160 µ...

Page 318: ...he settling time before the second measurement if the settling time entered is greater than one half cycle This causes a truncated second excitation Depending on the sensor used a truncated second excitation may cause measurement errors Signal Settling Time Settling time allows an analog voltage signal to settle closer to the true magnitude prior to measurement To minimize measurement error signal...

Page 319: ...th increasing settling time For example a 1 ms increase in settling time for a bridge instruction with input reversal and excitation reversal results in a 4 ms increase in time for the CR800 to perform the instruction FIGURE 75 Input voltage rise and transient decay CRBasic Measurement Settling Times SettlingTime Argument Integ Argument Resultant Settling Time1 0 250 450 µs 0 _50Hz 3 ms 0 _60Hz 3 ...

Page 320: ...o changes in measured voltage are attributable to settling time rather than changes in pressure Reviewing CRBasic Programming Details p 119 may help in understanding the CRBasic code in the example The first six measurements are shown in table First Six Values of Settling Time Data p 321 Each trace in figure Settling Time for Pressure Transducer p 321 contains all twenty PT mV V values left axis f...

Page 321: ...True 900 250 1 0 0 BrFull PT 10 1 mV7 5 1 Vx1 2500 True True 1000 250 1 0 0 BrFull PT 11 1 mV7 5 1 Vx1 2500 True True 1100 250 1 0 0 BrFull PT 12 1 mV7 5 1 Vx1 2500 True True 1200 250 1 0 0 BrFull PT 13 1 mV7 5 1 Vx1 2500 True True 1300 250 1 0 0 BrFull PT 14 1 mV7 5 1 Vx1 2500 True True 1400 250 1 0 0 BrFull PT 15 1 mV7 5 1 Vx1 2500 True True 1500 250 1 0 0 BrFull PT 16 1 mV7 5 1 Vx1 2500 True Tr...

Page 322: ... This prevents otherwise undetectable measurement errors Range codes appended with C enable open input detect for all input ranges except the 5000 mV input range See TABLE Analog Input Voltage Ranges and Options p 346 Appending the Range code with a C results in a 50 µs internal connection of the V input of the PGIA to a large over voltage The V input is connected to ground Upon disconnecting the ...

Page 323: ...nnected to a voltage greater than 2500 mV while the L terminal is connected to ground The resulting common mode voltage is 1250 mV which is not adequate to null residual common mode voltage but is adequate to facilitate a type of open input detect This requires inclusion of an If Then Else statement in the CRBasic program to test the results of the measurement For example The result of a VoltDiff ...

Page 324: ... can be caused by the excitation of resistive bridge sensors but these do not usually cause offset error These currents typically only flow when a voltage excitation is applied Return currents associated with voltage excitation cannot influence other single ended measurements because the excitation is usually turned off before the CR800 moves to the next measurement However if the CRBasic program ...

Page 325: ...urement sequences positive excitation polarity with positive differential input polarity negative excitation polarity with positive differential input polarity positive excitation polarity with negative differential input polarity positive excitation polarity then negative excitation differential input polarity For ratiometric single ended measurements such as a BrHalf setting RevEx True results i...

Page 326: ...urements 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 CR800 reverses differentia...

Page 327: ...t measurement From Auto Self Calibration If RevDiff RevEx or MeasOff is disabled False offset voltage compensation is continues to be automatically performed albeit less effectively by using measurements from the auto self 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 an...

Page 328: ...here percents of reading are tabulated in the table Analog Voltage Measurement Accuracy p 328 and offsets are tabulated in the table Analog Voltage Measurement Offsets p 328 Note Error discussed in this section and error related specifications of the CR800 do not include error introduced by the sensor or by the transmission of the sensor signal to the CR800 Analog Voltage Measurement Accuracy1 0 t...

Page 329: ...e decreases Offset is small but could be significant in applications wherein the sensor signal voltage is very small such as is encountered with thermocouples Offset depends on measurement type and voltage input range Offsets equations are tabulated in table Analog Voltage Measurement Offsets p 328 For example for a differential measurement with input reversal on the 5000 mV input range the offset...

Page 330: ... offset have on measurement accuracy The effect of offset is usually negligible on large signals Example Sensor signal voltage 2500 mV CRBasic measurement instruction VoltDiff Programmed input voltage range Range mV2500 2500 mV Input measurement reversal RevDiff True CR800 circuitry temperature 10 C Accuracy of the measurement is calculated as follows accuracy percent of reading offset ...

Page 331: ...composition p 348 illustrates the common mode component Vcm and the differential mode component Vdm of a voltage signal Vcm is the average of the voltages on the V and V inputs 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 VL Vcm Vdm 2 respectively 8 1 2 2 Thermocouple Measurements Details Thermocouple measurement...

Page 332: ...nts from changing the wiring panel temperature Use only one differential measurements and multiplex these through an AM16 32B multiplexer terminating the thermocouples on the multiplexer and getting the reference temperature at the wiring panel of the well insulated multiplexer 8 1 2 3 Resistance Measurements Details Related Topics Resistance Measurements Specifications Resistance Measurements Ove...

Page 333: ...MeasOff and RevEx When more than one measurement per sensor are necessary such as occur with the BrHalf3W BrHalf4W and BrFull6W instructions input and excitation reversal are applied separately to each measurement For example in the four wire half bridge BrHalf4W when excitation is reversed the differential measurement of the voltage drop across the sensor is made with excitation at both polaritie...

Page 334: ...ndamental Relationship2 These relationships apply to BrFull and BrFull6W Six Wire Full Bridge1 CRBasic Instruction BrFull6W Fundamental Relationship2 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 appendi...

Page 335: ...clude electrolytic tilt sensors soil moisture blocks water conductivity sensors and wetness 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...

Page 336: ...urement offset 1 1 Voltage measurement is variable V1 or V2 in the table Resistive Bridge Circuits with Voltage Excitation p 333 Offset is the same as that for simple analog voltage measurements See the table Analog Voltage Measurement Offsets p 328 Assumptions that support the ratiometric accuracy specification include CR800 is within factory calibration specification Excitation voltages less tha...

Page 337: ...ion The voltage reference should be periodically checked and re calibrated by Campbell Scientific for applications with critical analog voltage measurement requirements A minimum two year recalibration cycle is recommended Unless a Calibrate instruction is present the CR800 auto self calibrates during spare time in the background as a slow sequence p 156 with a segment of the calibration occurring...

Page 338: ...and VoltDiff instructions on a given input range with the same integration durations use the same G values but different B values The six input voltage ranges 5000 mV 2500 mV 250 mV and 25 mV in combination with the three most common integration 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...

Page 339: ...1 CalGain Field Descriptions Field mV Input Range Integration CalGain 1 5000 250 ms CalGain 2 2500 250 ms CalGain 3 250 250 ms CalGain 4 25 250 ms CalGain 5 7 5 250 ms CalGain 6 2 5 250 ms CalGain 7 5000 60 Hz Rejection CalGain 8 2500 60 Hz Rejection CalGain 9 250 60 Hz Rejection CalGain 10 25 60 Hz Rejection CalGain 11 7 5 60 Hz Rejection CalGain 12 2 5 60 Hz Rejection CalGain 13 5000 50 Hz Rejec...

Page 340: ...set 13 5000 50 Hz Rejection CalSeOffset 14 2500 50 Hz Rejection CalSeOffset 15 250 50 Hz Rejection CalSeOffset 16 25 50 Hz Rejection CalSeOffset 17 7 5 50 Hz Rejection CalSeOffset 18 2 5 50 Hz Rejection CalDiffOffset Field Descriptions Field mV Input Range Integration CalDiffOffset 1 5000 250 ms CalDiffOffset 2 2500 250 ms CalDiffOffset 3 250 250 ms CalDiffOffset 4 25 250 ms CalDiffOffset 5 7 5 25...

Page 341: ...SE Offset 5000 250 ms 5 LSB 2 Diff Offset 5000 250 ms 5 LSB 3 Gain 5000 250 ms 1 34 mV LSB 4 SE Offset 2500 250 ms 5 LSB 5 Diff Offset 2500 250 ms 5 LSB 6 Gain 2500 250 ms 0 67 mV LSB 7 SE Offset 250 250 ms 5 LSB 8 Diff Offset 250 250 ms 5 LSB 9 Gain 250 250 ms 0 067 mV LSB 10 SE Offset 25 250 ms 5 LSB 11 Diff Offset 25 250 ms 5 LSB 12 Gain 25 250 ms 0 0067 mV LSB 13 SE Offset 7 5 250 ms 10 LSB 14...

Page 342: ...fset 7 5 60 Hz Rejection 10 LSB 33 Gain 7 5 60 Hz Rejection 0 002 mV LSB 34 SE Offset 2 5 60 Hz Rejection 20 LSB 35 Diff Offset 2 5 60 Hz Rejection 20 LSB 36 Gain 2 5 60 Hz Rejection 0 00067 mV LSB 37 SE Offset 5000 50 Hz Rejection 5 LSB 38 Diff Offset 5000 50 Hz Rejection 5 LSB 39 Gain 5000 50 Hz Rejection 0 67 mV LSB 40 SE Offset 2500 50 Hz Rejection 5 LSB 41 Diff Offset 2500 50 Hz Rejection 5 L...

Page 343: ...y StrainCalc use the full bridge schematic In strain gage parlance quarter bridge half bridge and full bridge refer to the number of active elements in the full bridge schematic In other words a quarter bridge strain gage has one active element a half bridge has two and a full bridge has four StrainCalc requires a bridge configuration code The table StrainCalc Instruction Equations p 343 shows the...

Page 344: ...e has two gages parallel to and and the other half to and 1 1 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 of the full bridge measurement X 1000 V1 Vx when multiplier 1 and offset 0 zero gage offset to establish an arbitrary zero see FieldCalStrain in FieldCal Examp...

Page 345: ...tage Ranges Related Topics Voltage Measurements Specifications Voltage Measurements Overview p 65 Voltage Measurements Details p 345 In general use the smallest fixed input range that accommodates the full scale output of the sensor This results in the best measurement accuracy and resolution The CR6 has fixed input ranges for voltage measurements and an auto range to automatically determine the a...

Page 346: ...ange AutoRange should not be used for rapidly fluctuating signals particularly signals traversing multiple voltage ranges rapidly The possibility exists that the signal can change ranges between the internal range check and the actual measurement Analog Voltage Input Ranges and Options Range Code Description mV5000 measures voltages between 5000 mV mV25001 measures voltages between 2500 mV mV2502 ...

Page 347: ...e 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 from undetected measurement errors The Common Mode Range defines the range of c...

Page 348: ...sive approximation 6 Measurement scaled with multiplier and offset 7 Scaled value placed in memory FIGURE 79 Simplified voltage measurement sequence Voltage measurements are made using a successive approximation A to D p 489 converter to achieve a resolution of 14 bits Prior to the A to D a high impedance programmable gain instrumentation amplifier PGIA amplifies the signal See figure Programmable...

Page 349: ...lected terminals InChan to the PGIA and delay for the entered settling time SettlingTime 4 Integrate the signal see Measurement Integration p 350 and perform the A to D conversion 5 Repeat for excitation reversal and input reversal as determined by parameters RevEx and RevDiff 6 Apply multitplier Mult and offset Offset to measured result See Basic Voltage Measurements Specifications for measuremen...

Page 350: ...ion of polar sensors such as those for measuring conductivity soil moisture or leaf wetness Polarization may cause measurement errors or sensor degradation improve accuracy of an LVDT measurement The induced voltage in an LVDT decays with time as current in the primary coil shifts from the inductor to the series resistance a long integration time may result in most of signal decaying before the me...

Page 351: ...l of an H L terminal pair differential corresponds to V The L terminal corresponds to V The differential configuration is used with the following CRBasic instructions VoltDiff BrFull BrFull6W BrHalf4W TCDiff 8 1 2 7 3 Voltage Measurement Quality Read More Consult the following technical papers at www campbellsci com app notes for in depth treatments of several topics addressing voltage measurement...

Page 352: ...mode noise rejection which filters capacitively coupled noise Active Noise Rejection o Input reversal Review Input and Excitation Reversal p 326 for details Increases by twice the input reversal signal integration time Reasons for using single ended measurements however include Not enough differential terminals available Differential measurements use twice as many H L terminals as do single ended ...

Page 353: ...he two instruments So as a precaution a differential measurement should be made on the analog output from an external signal conditioner differential measurements MUST be used when the low input is known to be different from ground Integration The CR800 incorporates circuitry to perform an analog integration on voltages to be measured prior to the A to D p 489 conversion Integrating the the analog...

Page 354: ...n Integration Time ms Integration Parameter Argument Comments 0 to 16000 µs 0 to 16000 250 µs is considered fast and normally the minimum 16 667 ms _60Hz Filters 60 Hz noise 20 ms _50Hz Filters 50 Hz noise Ac Power 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 pyr...

Page 355: ...ng time is approximately 9830 µs 10 000 µs 170 µs The CR800 does not prevent or warn against setting the settling time beyond the half cycle limit Table Ac Noise Rejection on Large Signals p 317 lists details of the half cycle ac power line noise rejection technique Ac Noise Rejection on Large Signals1 Ac Power Line Frequency Measurement Integration Time CRBasic Integration Code Default Settling T...

Page 356: ... before the next measurement The rate at which the signal settles is determined by the input settling time constant which is a function of both the source resistance and fixed input capacitance 3 3 nfd of the CR800 Rise and decay waveforms are exponential Figure Input Voltage Rise and Transient Decay p 319 shows rising and decaying waveforms settling closer to the true signal magnitude Vso The Set...

Page 357: ... sensors require long lead lengths use the following general practices to minimize settling errors Do not use wire with PVC insulated conductors PVC has a high dielectric constant which extends input settling time Where possible run excitation leads and signal leads in separate shields to minimize transients When measurement speed is not a prime consideration additional time can be used to ensure ...

Page 358: ...tains all twenty PT mV V values left axis for a given record number along with an average value showing the measurements as percent of final reading right axis The reading has settled to 99 5 of the final value by the fourteenth measurement which is contained in variable PT 14 This is suitable accuracy for the application so a settling time of 1400 µs is determined to be adequate Measuring Settlin...

Page 359: ... 1 Vx1 2500 True True 1700 250 1 0 0 BrFull PT 18 1 mV7 5 1 Vx1 2500 True True 1800 250 1 0 0 BrFull PT 19 1 mV7 5 1 Vx1 2500 True True 1900 250 1 0 0 BrFull PT 20 1 mV7 5 1 Vx1 2500 True True 2000 250 1 0 0 CallTable Settle NextScan EndProg FIGURE 83 Settling Time for Pressure Transducer First Six Values of Settling Time Data TIMESTAMP REC PT 1 PT 2 PT 3 PT 4 PT 5 PT 6 Smp Smp Smp Smp Smp Smp 1 3...

Page 360: ...floating the measurement will over range since the injected over voltage will still be present on the input with NAN as the result Range codes and applicable over voltage magnitudes are found in TABLE Range Code Option C Over Voltages p 323 The C option may not work or may not work well in the following applications If the input is not a truly open circuit such as might occur on a wet cut cable en...

Page 361: ...ange code can be tested for values 1 A result of X 1 indicates an open input for the primary measurement V1 where X V1 Vx and Vx is the excitation voltage A similar strategy can be used with other bridge measurements Offset Voltage Compensation Related Topics Auto Self Calibration Overview p 89 Auto Self Calibration Details p 337 Auto Self Calibration Errors p 475 Offset Voltage Compensation p 323...

Page 362: ...tion occurring between matched high and low pairs such as 1H 1L So use differential measurements when measuring critical low level voltages especially those below 200 mV such as are output from pyranometers and thermocouples Differential measurements also have the advantage of an input reversal option RevDiff When RevDiff is True two differential measurements are made the first with a positive pol...

Page 363: ... is made during the self calibration When analog voltage signals are measured in series by a single measurement instruction such as occurs when VoltSE is programmed with Reps 2 or more measurements on subsequent terminals may be affected by an offset the magnitude of which is a function of the voltage from the previous measurement While this offset is usually small and negligible when measuring la...

Page 364: ...ignal 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 CR800 reverses differential inputs or excitation polarity it delays the same settling time after the reversal as it does before the firs...

Page 365: ...med albeit less effectively by using measurements from the auto self 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 Auto self calibrations are performed only periodically so more time skew occurs between the auto self calibration offsets a...

Page 366: ...are tabulated in the table Analog Voltage Measurement Offsets p 328 Note Error discussed in this section and error related specifications of the CR800 do not include error introduced by the sensor or by the transmission of the sensor signal to the CR800 Analog Voltage Measurement Accuracy1 0 to 40 C 25 to 50 C 55 to 85 C2 0 06 of reading offset 0 12 of reading offset 0 18 of reading offset 1 Assum...

Page 367: ...is the principle component so accuracy improves as input voltage decreases Offset is small but could be significant in applications wherein the sensor signal voltage is very small such as is encountered with thermocouples Offset depends on measurement type and voltage input range Offsets equations are tabulated in table Analog Voltage Measurement Offsets p 328 For example for a differential measur...

Page 368: ...following example illustrates the effect percent of reading and offset have on measurement accuracy The effect of offset is usually negligible on large signals Example Sensor signal voltage 2500 mV CRBasic measurement instruction VoltDiff Programmed input voltage range Range mV2500 2500 mV Input measurement reversal RevDiff True CR800 circuitry temperature 10 C Accuracy of the measurement is calcu...

Page 369: ...configuration that improves voltage measurements Figure PGIA with Input Signal Decomposition p 348 illustrates the common mode component Vcm and the differential mode component Vdm of a voltage signal Vcm is the average of the voltages on the V and V inputs 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 VL Vcm Vdm ...

Page 370: ...uency switch closure The figure Switch Closure Pulse Sensor p 370 illustrates the basic internal circuit and the external connections of a switch closure pulse sensor The table Pulse Measurements Terminals and Programming p 371 summarizes available measurements terminals available for those measurements and the CRBasic instructions used The number of terminals configurable for pulse input is deter...

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

Page 372: ...uency sensors C terminals can be conditioned for open collector or open drain with an external pull up resistor as shown in figure Connecting Switch Closures to C Terminals Configured for Control 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...

Page 373: ...urements High frequency square wave signals can be measured on P or C terminals Common sensors that output high frequency include Photo chopper anemometers Flow meters Measurements include counts frequency in hertz and running average Refer to the section Frequency Resolution p 374 for information about how the resolution of a frequency measurement can be different depending on whether the measure...

Page 374: ...ever is greater Example E for a 10 Hz input signal Scan Rising Edge Scan E 5 0 50 50 0 5 5 5 0 05 0 5 1 TimerIO instruction measures frequencies of 1 kHz with higher frequency resolution over short sub second intervals In contrast sub second frequency measurement with PulseCount produce measurements of lower resolution Consider a 1 kHz input Table Frequency Resolution Comparison p 375 lists freque...

Page 375: ...t is also incremented for each transition When the TimerIO instruction executes it uses the difference of time between the edge prior to the last execution and the edge prior to this execution as the time difference The number of transitions that occur between these two times divided by the time difference gives the calculated frequency For multiple edges occurring between execution intervals this...

Page 376: ...ency 90 Hz CRBasic instruction PulseCount C Terminals Switch closure mode is a special case edge count function that measures dry contact switch closures or open collectors The operating system filters bounces Connection configurations are illustrated in table Switch Closures and Open Collectors p 378 Maximum input frequency 150 Hz CRBasic instruction PulseCount 8 1 3 5 Edge Timing Edge time and p...

Page 377: ... time until the next scan is serviced This is done so that the CR800 processor does not get occupied by excessive interrupts A small RC filter retrofitted to the sensor switch should fix the problem 8 1 3 8 Pulse Measurement Tips Basic connection of pulse output sensors is illustrated in table Switch Closures and Open Collectors p 378 p 378 The PulseCount instruction whether measuring pulse inputs...

Page 378: ...4 p 562 module to convert non TTL level signals including low level ac signals to TTL levels for input into C terminals As shown in the table Switch Closures and Open Collectors p 378 C terminals with regard to the 6 2 V Zener diode have an input resistance of 100 kΩ with input voltages 6 2 Vdc For input voltages 6 2 Vdc C terminals have an input resistance of only 220 Ω Switch Closures and Open C...

Page 379: ...supports open collector and switch closure measurements FYI 8 1 3 8 1 Pay Attention to Specifications Pay attention to specifications Take time to understand the signal to be measured and compatible input terminals and CRBasic instructions TABLE Three Specifications Differing Between P and C Terminals p 380 compares specifications for pulse input terminals to emphasize the need for matching the pr...

Page 380: ...er time constant The higher the τ value the less noise that gets through the filter But the higher the τ value the lower the signal frequency must be to pass the detection thresholds Detection thresholds τ values and low level ac pulse input ranges are listed in TABLE Time Constants p 380 A deduction from the specifications is that while a C terminal measured with the TimerIO frequency measurement...

Page 381: ...erminal high frequency mode 1 2 P terminal switch closure mode 3300 C terminal high frequency mode 0 025 C terminal switch closure mode 0 025 Low Level Ac Pules Input Ranges Sine Wave Input mV RMS Maximum Frequency Hz 20 20 200 200 2000 10 000 5000 20 000 FIGURE 88 Amplitude reduction of pulse count waveform before and after 1 µs µs time constant filter ...

Page 382: ... cuts the lines of flux in the pickup coil the same frequency is induced on the signal wires in the cable connecting the sensor to the CR800 or interface Measuring the resonant frequency by means of period averaging is the classic technique but Campbell Scientific has developed static and dynamic spectral analysis techniques VSPECT p 521 that produce superior noise rejection higher resolution diag...

Page 383: ...ensor signals For sensor amplitudes less than 20 mV peak to peak a dc blocking capacitor is recommended to center the signal at CR800 ground threshold 0 Figure Input Conditioning Circuit for Period Averaging p 384 shows an example circuit A threshold other than zero results in offset voltage drift limited accuracy 10 mV and limited resolution 1 2 mV The minimum pulse width requirements increase ma...

Page 384: ... interface device See Hardware Single Connection Comms Devices List p 569 If additional serial inputs are required serial input expansion modules can be connected See Serial I O Modules List p 563 Serial data are usually captured as text strings which are then parsed split up as defined in the CRBasic program Note When connecting serial sensors to a C terminal configured as Rx the sensor power con...

Page 385: ...col requiring only a single communication wire Typically the data acquisition unit also supplies power 12 Vdc and ground to the SDI 12 sensor SDI12Recorder instruction communicates with SDI 12 sensors on terminals configured for SDI 12 input See the table CR800 Terminal Definitions p 58 to determine those terminals configurable for SDI 12 communications 8 1 7 Field Calibration Overview Related Top...

Page 386: ...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 386 a 100 Ω resistor is connected in series at the switch to prevent arcing This resistor is installed on all rain gages currently sold by Campbell Scientific FIGURE 92 Curr...

Page 387: ... to synchronize measurements across a network include 1 LoggerNet p 86 when reliable comms are common to all CR800s in a network the LoggerNet automated clock check provides a simple time synchronization function Accuracy is limited by the system clock on the PC running the LoggerNet server Precision is limited by network transmission latencies LoggerNet compensates for latencies in many comms sys...

Page 388: ...e sufficient to keep clocks within 30 ms of each other With any synchronization method care should be taken as to when and how things are executed Nudging the clock can cause skipped scans or skipped records if the change is made at the wrong time or changed by too much 5 GPS clocks in CR800s can be synchronized to within about 10 ms of each other using the GPS instruction CR800s built since Octob...

Page 389: ...V terminals Greatly reduced output voltages on these terminals may occur if the current limits are exceeded See Terminals Configured for Control p 392 for more information Current Source and Sink Limits Terminal Limit1 VX or EX voltage excitation 2 25 mA maximum SW123 900 mA 20 C 630 mA 50 C 450 mA 70 C 360 mA 85 C 12V SW12 combined 4 1 85 A 20 C 1 33 A 50 C 1 00 A 70 C 0 74 A 85 C 5V CS I O combi...

Page 390: ...ion source for bridge measurements However measurement of the 5V terminal output by means of jumpering to an analog input on the same CR800 will facilitate an accurate bridge measurement if 5V must be used Note Table Current Source and Sink Limits p 389 has more information on excitation load capacity 8 2 3 Continuous Unregulated Voltage 12V Terminal Use 12V terminals to continuously power devices...

Page 391: ...ted Topics PLC Control Overview p 87 PLC Control Modules Overview p 394 PLC Control Modules Lists p 565 Switched Voltage Output Specifications Switched Voltage Output Overview p 59 Switched Voltage Output Details p 388 Current Source and Sink Limits p 389 The CR800 can control instruments and devices such as the following Wireless cellular modem to conserve power GPS receiver to conserve power Tri...

Page 392: ...se SW12 0 Turn phone off EndIf TimeIsBetween returns TRUE for the entire interval specified whereas TimeIntoInterval returns TRUE only for the one scan that matches the interval specified For example using the preceding code snips if the CRBasic program is sent to the datalogger at one minute past the hour the TimeIsBetween instruction will evaluate as TRUE on its first scan The TimeIntoInterval i...

Page 393: ... expand the CR800 input and output capacities Some peripherals are designed as SDM synchronous devices for measurement or CDM CPI devices for measurement SDM and CDM devices are intelligent peripherals that receive instruction from and send data to the CR800 using proprietary communication protocols through SDM terminals and CPI interfaces The following sections discuss peripherals according to me...

Page 394: ...c terminal SW12V is also available See Switched Unregulated Nominal 12 Volt p 391 8 4 3 1 Relays and Relay Drivers Read More See Relay Drivers Modules List p 566 Several relay drivers are manufactured by Campbell Scientific Compatible inexpensive and reliable single channel relay drivers for a wide range of loads are also available from electronic vendors such as Crydom Newark and Mouser p 525 8 4...

Page 395: ...re information see Pulse Input Modules List p 562 Pulse input expansion modules are available for switch closure state pulse count and frequency measurements and interval timing 8 4 4 1 Low Level Ac Input Modules Overview Related Topics Low Level Ac Input Modules Overview p 395 Low Level Ac Measurements Details p 372 Pulse Input Modules List p 562 ...

Page 396: ...es for measurement of analog current sensors 8 4 7 Vibrating Wire Modules Read More For complete information see Vibrating Wire Modules List p 563 Vibrating wire modules interface vibrating wire transducers to the CR800 8 5 Datalogger Support Software Details Related Topics Datalogger Support Software Quickstart p 39 Datalogger Support Software Overview p 86 Datalogger Support Software Details p 3...

Page 397: ...n of LoggerNet Remote The Windows based client applications in LoggerNet Remote are run on a separate computer and are used to manage the LoggerNet Linux server VISUALWEATHER Weather Station Software supports Campbell Scientific weather stations Version 3 0 or higher supports custom weather stations or the ET107 ET106 and MetData1 pre configured weather stations The software allows you to initiali...

Page 398: ...te terrestrial radio satellite or restricted cellular data plans Q Does my CR800 support Gzip A Version 25 of the standard CR800 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...

Page 399: ...and in the datalogger support software p 86 Compressed programs can also be sent using HTTP PUT to the CR800 web server The CR800 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 encryp...

Page 400: ...r tampering The following may be reasons to concern yourself with datalogger security Collection of sensitive data Operation of critical systems Networks accessible by many individuals If you are concerned about security especially TCP IP threats you should send the latest operating system to the CR800 disable un used services and secure those that are used Security actions to take may include the...

Page 401: ...le powering up a CR800 will cause it to abort loading a program and provides a 120 second window to begin changing or disabling security codes in the settings editor not Status table with the keyboard display o Keyboard display security bypass does not allow comms access without first correcting the security code o Note These features are not operable in CR1000KDs with serial numbers less than 126...

Page 402: ...ly lock out innocent tinkering and discourage wannabe hackers on non IP based comms links However any serious hacker with physical access to the datalogger or to the comms hardware can with only minimal trouble overcome the five digit pass codes Systems adequately secured with pass code lockouts are probably limited to the following Private non IP radio networks Direct links hardwire RS 232 short ...

Page 403: ...o unlocks levels 2 and 3 Functions affected by each level of security are Level 1 Collecting data setting the clock and setting variables in the Public table are unrestricted requiring no security code If Security1 code is entered read write values in the Status table can be changed and the datalogger program can be changed or retrieved Level 2 Data collection is unrestricted requiring no security...

Page 404: ...800 settings 8 7 3 1 csipasswd The csipasswd file is a file created and edited through DevConfig p 103 and which resides on the CPU drive of the CR800 It contains credentials usernames and passwords required to access datalogger functions over IP comms See CRBasic Editor Help subject Web Service API for details concerning the csipasswd file 8 7 3 2 PakBus Instructions The following CRBasic PakBus ...

Page 405: ...c Editor encryption 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 CR800 memory The encrypted file overwrites and takes the name of the original The Encryption instruction encrypts ...

Page 406: ...ple Programs p 180 8 7 8 Read Only Variables The following example of variable declaration demonstrates how to display a value in numeric display Connect or RTMC or on a CR1000KD but not allow the person viewing it to make changes Var can be viewed and changed Reg and Coil can only be viewed The CRBasic program can read from and write to all variables Public Var Public Reg 4 Coil 4 as Boolean Read...

Page 407: ...ting System Flash Memory2 Operating system Serial number Board revision Boot code Erased when loading new OS Boot code erased only if changed Internal Serial Flash3 Status CPUDriveFree p 539 Device settings PakBus address and settings station name Rebuilt when a setting changes CPU drive program files field calibration files other files not frequently overwritten When a program is compiled and run...

Page 408: ...y the CRBasic program These values may persist through power up recompile and watchdog events if the PreserveVariables instruction is in the running program Final Storage 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 pri...

Page 409: ... data tables as detailed in table CR800 SRAM Memory p 408 http www Measurement data can be also be stored as discrete files on USR or USB by using TableFile instruction The CR800 can be programmed to store each measurement or more commonly to store processed values such as averages maxima minima histograms FFTs etc Data are stored periodically or conditionally in data tables in SRAM as directed by...

Page 410: ...hen 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 Cameras List p 568 certain configuration files files written for FTP retrieval HTML files for viewing with w...

Page 411: ...Instruction Data File Formats p 411 For a format to be compatible with datalogger support software p 86 graphing and reporting tools header time stamps and record numbers are usually required Fully compatible formats are indicated with an asterisk A more detailed discussion of data file formats is available in the Campbell Scientific publication LoggerNet Instruction Manual which is available at w...

Page 412: ...ng utilities 2 See Writing High Frequency Data to Memory Cards for more information on using option 64 Data File Format Examples TOB1 TOB1 files may contain an ASCII header and binary data The last line in the example contains cryptic text which represents binary data Example TOB1 11467 CR1000 11467 CR1000 Std 20 CPU file format CR1 61449 Test SECONDS NANOSECONDS RECORD battfivoltfiMin PTemp SECON...

Page 413: ...ad environment station name 11467 station name table name Test table name model CR1000 model serial no 11467 serial no os version CR1000 Std 20 os version dld name CPU file format CR1 dld name environment fields field name battfivoltfiMin type xsd float process Min field name PTemp type xsd float process Smp fields head data r time 2010 12 20T11 37 45 no 10 v1 13 29 v1 v2 21 04 v2 r r time 2010 12...

Page 414: ... model name CR800 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 Pu...

Page 415: ...a second restart at zero will occur about once every 68 years yes years 8 8 3 Resetting the CR800 A reset is referred to as a memory reset Be sure to backup the current CR800 configuration before a reset in case you need to revert to the old settings The following features are available for complete or selective reset of CR800 memory Full memory reset Program send reset Manual data table reset For...

Page 416: ...rogram send 8 8 3 3 Manual Data Table Reset Data table memory is selectively reset from Support software Station Status p 516 command CR1000KD Keyboard Display Data Reset Data Tables 8 8 3 4 Formatting Drives CPU USR andUSB drives can be formatted individually Formatting a drive erases all files on that drive If the currently running user program is found on the drive to be formatted the program w...

Page 417: ...rams from the CR800 Retrieve7 File Control2 keyboard with Campbell Scientific mass storage device4 web API NewestFile Prescribes the disposition preserve or delete of old data files on Campbell Scientific mass storage device File Control2 power up with Campbell Scientific mass storage device5 web API p 435 FileControl Deleting files from memory drives File Control2 power up with Campbell Scientifi...

Page 418: ... or remove the card SC115 to look for the appropriate files with _toa5 8 8 4 1 File Attributes A feature of program files is the file attribute Table CR800 File Attributes p 418 lists available file attributes their functions and when attributes are typically used For example a program file sent with the support software Program Send p 510 command runs a immediately run now and b when power is cyc...

Page 419: ...his 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 used by the datalogger to know which file to delete after the serial number exceeds the specified numb...

Page 420: ... 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 8 4 3 Data Preservation Associated with file attributes is the option to preserve data in CR800 memory when a program is sent This option applies to final storage data SRAM memory cards and datalogger support software ...

Page 421: ...e to a specified drive with no run attributes or to format a memory drive is also possible Command options for powerup ini options also allow final storage memory management on memory cards comparable to the datalogger support software p 86 File Control feature Options for powerup ini also allow final storage memory management comparable File Control p 498 Caution Test the powerup ini file and pro...

Page 422: ...le Control Send p 498 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 the CR800 with the CR1000KD Keyboard Display to see what the CR800 actually sees Comments can be added to the file by preceding them with a single quote character All text after the comment mark on the same...

Page 423: ...pport files such as Include p 502 or program support files to the CPU drive before copying the program file with run attributes set to Run always erase data 9 Load OS File obj Loads a obj file to the CPU drive and then loads the obj file as the new CR800 operating system 13 Run always erase data Copies a program to a drive and sets the run attribute to Run Always 14 Run now erase files Copies a pr...

Page 424: ...cessed the following rules determine what CR800 program to run If the run now program is changed then it is the program that runs If no change is made to 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 8 4 5 File Management Q A Q How do I hide a progra...

Page 425: ...er of available files exceeded 5 No file entry exists in directory 6 Disk change occurred 7 Part of the path subdirectory was not found 8 File at EOF 9 Bad cluster encountered 10 No file buffer available 11 Filename too long or has bad chars 12 File in path is not a directory 13 Access permission opening DIR or LABEL as file or trying to open file as DIR or mkdir existing file 14 Opening read only...

Page 426: ...able 42 Controller failure error 43 Pathname exceeds _MAX_PATHNAME 8 9 Data Retrieval and Comms Details Related Topics Data Retrieval and Comms Quickstart p 38 Data Retrieval and Comms Overview p 76 Data Retrieval and Comms Details p 426 Data Retrieval and Comms Peripherals Lists p 568 Comms in the context of CR800 operation is the movement of information between the CR800 and another computing de...

Page 427: ... intervals properly For example there is no need to verify routes every five minutes if communications are expected only every 6 hours 8 9 3 Initiating Comms Callback Comms sessions are usually initiated by a PC Once comms are established the PC issues commands to send programs set clocks collect data etc Because data retrieval is managed by the PC several PCs can have access to a CR800 without di...

Page 428: ... SDC devices are connected Results of the query can be seen in the DevConfig and PakBusGraph settings tables SDC queries occur whether or not an SDC device is attached 8 10 Alternate Comms Protocols Related Topics Alternate Comms Protocols Overview p 78 Alternate Comms Protocols Details p 428 The CR800 communicates with datalogger support software p 86 and other Campbell Scientific dataloggers p 5...

Page 429: ... OS2 OS28 TCP IP info no longer in status table get from datalogger settings CR800 now adopts auto IP address of 169 254 67 85 if available if DHCP server not available or static IP address is not set This makes it easier for PC to CR800 ad hoc connections Added limited DNS server capability CR800 intercepts respond to cr1000 com Added a default public internet DNS server if none is assigned This ...

Page 430: ...eted through FTP 8 10 1 5 FTP Client The CR800 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 TCP IP Links List p 570 available at www campbellsci com or CRBasic Editor Help for details and sample programs 8 10 1 6 HTTP...

Page 431: ...ebPageEnd and HTTPOut to create HTML code Note that for 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...

Page 432: ...Section 8 Operation 432 FIGURE 97 Home Page Created Using WebPageBegin Instruction FIGURE 98 Customized Numeric Monitor Web Page ...

Page 433: ...round color oldlace style HTTPOut body title Campbell Scientific CR800 Datalogger title HTTPOut h2 Welcome To the Campbell Scientific CR800 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 p h2 C...

Page 434: ...nual and the CRBasic Editor Help for the TCPOpen instruction for more information 8 10 1 8 Modbus TCP IP The CR800 can perform Modbus communication over TCP IP using the Modbus TCP IP interface To set up Modbus TCP IP specify port 502 as the ComPort in the ModBusMaster and ModBusSlave instructions See the CRBasic Editor Help for more information See Modbus Details p 436 8 10 1 9 PakBus Over TCP IP...

Page 435: ...ed to access the same commands that are available through the support software terminal emulator p 518 Start a Telnet session by opening a DOS command prompt and type in Telnet xxx xxx xxx xxx Enter where xxx xxx xxx xxx is the IP address of the network device connected to the CR800 8 10 1 13 SMTP Simple Mail Transfer Protocol SMTP is the standard for e mail transmissions The CR800 can be programm...

Page 436: ...is available at https www campbellsci com app notes 8 10 3 Modbus Details The CR800 supports Modbus master and Modbus slave communications for inclusion in Modbus SCADA networks Modbus is a widely used SCADA communication protocol that facilitates exchange of information and data between computers HMI software instruments RTUs and Modbus compatible sensors The CR800 communicates with Modbus over R...

Page 437: ...in Data Form Campbell Scientific Domain Coils Single bit Ports flags boolean variables Digital registers 16 bit word Floating point variables Input registers 16 bit word Floating point variables Holding registers 16 bit word Floating point variables RTU PLC CR800 Master Usually a computer Slave Usually a CR800 Field instrument Sensor 8 10 3 1 1 Glossary of Modbus Terms Term coils 00001 to 09999 Or...

Page 438: ...2 Programming for Modbus 8 10 3 2 1 Declarations Modbus Programming Table Modbus Registers CRBasic Port Flag and Variable Equivalents p 438 shows the linkage between terminals configured for control flags and Boolean variables and Modbus registers Modbus does not distinguish between terminals configured for control flags or Boolean variables By declaring only terminals configured for control or fl...

Page 439: ...Moves binary bytes of data into a different memory location when translating big endian to little endian data See the appendix Endianness p 559 Syntax MoveBytes Dest DestOffset Source SourceOffset NumBytes ReadOnly Set a variable to read only Syntax ReadOnly 8 10 3 2 3 Addressing ModbusAddr Modbus devices have a unique address in each network Addresses range from 1 to 247 Address 0 is reserved for...

Page 440: ...ModBusSlave 15 Force multiple coils ports Forces multiple coils ports in the ModBusSlave to either on or off 16 Write multiple registers Writes values into a series of holding registers in the ModBusSlave 8 10 3 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 CR...

Page 441: ...ctions on the CR800 with third party Modbus software Further information is available at the following links www simplyModbus ca FAQ htm www Modbus org tech php www lammertbies nl comm info modbus html 8 10 3 4 Modbus over IP When the CR800 acts as the Modbus master a TCPOpen instruction must precede the ModbusMaster instruction The connection handle returned by TCPOpen is used for the ComPort par...

Page 442: ...Prog setup modbus tcp ip slave readonly instruction above makes reg and coil read only not writable ModbusSlave 502 0 1 Reg Coil 2 Scan 5 Sec 0 0 var var 1 increment var MBReg MBReg 0 1 increment all the registers MBCoil NOT MBCoil toggle all the coils NextScan EndProg 8 10 3 6 Modbus Over RS 232 7 E 1 Q Can Modbus be used over an RS 232 link 7 data bits even parity one stop bit A Yes Precede ModB...

Page 443: ... h0002 Most significant word Scan 1 Sec 0 0 In the case of the CR800 being the ModBus master then the ModbusMaster instruction would be used instead of fixing the variables as shown between the BeginProg and SCAN instructions ModbusMaster Result COMRS232 115200 5 3 Register 1 2 3 100 MoveBytes DestVariable DestOffset SourceVariable SourceOffSet NumberOfBytes MoveBytes Combo 2 Register_LSW 2 2 Move...

Page 444: ...o enter Y press Shift Shift Shift PgDn To insert a space Spc or change case Cap press Shift one to two times for the position then press BkSpc To insert a character not printed on the keyboard enter Ins scroll down to Character press Enter then press to scroll to the desired character in the list that is presented then press Enter Special Keyboard Display Key Functions Key Special Function 2 and 8...

Page 445: ...pecial Function Del Delete When pressed during power up Del changes the PPP interface to inactive only if set as RS232 This allows you to get into RS232 for PakBus if PPP is keeping you out Ins Insert change graph configuration Graph Graph FIGURE 99 CR1000KD Navigation ...

Page 446: ...Section 8 Operation 446 8 11 2 Data Display FIGURE 100 CR1000KD Displaying Data ...

Page 447: ...Tables and Graphs 8 11 2 2 Real Time Custom The CR1000KD Keyboard Display can be configured with a customized real time display The CR800 will keep the setup as long as the defining program is running Read More Custom menus can also be programmed See Displaying Data Custom Menus Details p 207 ...

Page 448: ...Section 8 Operation 448 FIGURE 102 CR1000KD Real Time Custom ...

Page 449: ...Section 8 Operation 449 8 11 2 3 Final Storage Data FIGURE 103 CR1000KD Final Storage Data ...

Page 450: ...Section 8 Operation 450 8 11 3 Run Stop Program FIGURE 104 CR1000KD Run Stop Program ...

Page 451: ...editing datalogger 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 CR800 until the program is retrieved using datalogger support software or removable memory ...

Page 452: ...Section 8 Operation 452 FIGURE 106 CR1000KD File Edit ...

Page 453: ...Section 8 Operation 453 8 11 5 Port Status and Status Table Read More See Info Tables and Settings p 527 FIGURE 107 CR1000KD Port Status and Status Table ...

Page 454: ...ate Move the cursor to time element and press Enter to change it Then move the cursor to Set and press Enter to apply the change 8 11 6 2 CR1000KD PakBus Settings In the Settings menu move the cursor to the PakBus element and press Enter to change it After modifying press Enter to apply the change ...

Page 455: ...d CDM Devices Overview p 63 CPI Port and CDM Devices Details p 455 See Appendix C in CDM VW300 Dynamic Vibrating Wire Analyzers instruction manual which is available at www campbellsci com manuals CPI has the following power levels Off not used High power fully active Low power standby whenever possible Low power bus sets bus and modules to low power ...

Page 456: ......

Page 457: ...iccant should be placed in the instrumentation enclosure to provide added protection 9 2 Internal Battery Details CAUTION Fire explosion and severe burn hazard 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...

Page 458: ...eed resetting when the battery is replaced o Final memory data tables A replacement lithium battery can be purchased from Campbell Scientific or another supplier Table Internal Lithium Battery Specifications p 458 lists battery part numbers and key specifications Internal Lithium Battery Specifications Manufacturer Tadiran Tadiran Model Number TL 5902 S Campbell Scientific Inc pn 13519 Voltage 3 6...

Page 459: ...Retention Nuts Fully loosen only loosen the two knurled thumbscrews They will remain attached to the module FIGURE 111 Pull Edge Away from Panel Pull one edge of the canister away from the wiring panel to loosen it from three internal connector seatings ...

Page 460: ... then open the clam shell FIGURE 113 Remove and Replace Battery Remove the lithium battery by gently prying it out with a small flat point screwdriver Reverse the disassembly procedure to reassemble the CR800 Take particular care to ensure the canister is reseated tightly into the three connectors ...

Page 461: ...ies Please visit www campbellsci com to determine which Campbell Scientific company serves your country To obtain a Returned Materials Authorization RMA contact CAMPBELL SCIENTIFIC INC phone 435 227 9000 After a support engineer determines the nature of the problem an RMA number will be issued Please write this number clearly on the outside of the shipping container Campbell Scientific s shipping ...

Page 462: ......

Page 463: ...are you for the field visit Product documentation in a reliable format and easily readable at the installation site Sun glare dust and moisture often make electronic media difficult to use and unreliable 10 2 Troubleshooting Basic Procedure 1 Check the voltage of the primary power source at the POWER IN terminals on the face of the CR800 2 Check wires and cables for the following o Loose connectio...

Page 464: ...verification which is use of outside references to verify the function of dis function of a component of the system For example a multimeter is an independent measurement device that can be used to check sensor signal sensor resistance power supplies cable continuity excitation and control outputs and so forth A very good place to start looking for trouble is in the data produced by the system At ...

Page 465: ...le fields and provides some insights as to how to use the information in troubleshooting Review Status Table as Debug Resource p 470 Many of these errors match up with like sounding errors in the Station Status utility in datalogger support software 10 5 Troubleshooting CRBasic Programs Analyze data soon after deployment to ensure the CR800 is measuring and storing data as intended Most measuremen...

Page 466: ... check whether the CR800 is fast enough to do all that the program specifies in the time allocated If a program is tight on time look further at the execution times Check the measurement and processing times in the Status table MeasureTime ProcessTime MaxProcTime for all scans then try experimenting with the InstructionTimes instruction in the program Analyzing InstructionTimes results can be diff...

Page 467: ...e under the following conditions CR800 is busy with terminal commands When the command is an invalid command When the sensor aborts with CR LF and there is no data When 0 is returned for the number of values in response to the M or C command 10 5 3 2 Floating Point Math NAN and INF Related Topics Floating Point Arithmetic p 160 Floating Point Math NAN and INF p 467 TABLE Data Types in Variable Mem...

Page 468: ...Data Type Associated Stored Values Variable Type Test Expressio n Public Dim Variables FP2 IEEE4 UINT2 UNIT4 STRING BOOL BOOL8 LONG As FLOAT 1 0 INF INF1 INF1 655352 4294967295 INF TRUE TRUE 2 147 483 647 0 0 NAN NAN NAN 0 2147483648 NAN TRUE TRUE 2 147 483 648 As LONG 1 0 2 147 483 64 7 7999 2 147484E09 65535 2147483647 2147483647 TRUE TRUE 2 147 483 647 0 0 2 147 483 64 8 7999 2 147484E09 0 2147...

Page 469: ...rocessing 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 NAN being stored as final storage data for that interval However if DisableVar is set to TRUE each time a measurement results in NAN only non NAN measurements will be included in the output process CRBasic e...

Page 470: ...re PanelTemp TC_RefC 250 Measure Thermocouple Temperature TCDiff TC_TempC 1 mV2_5 1 TypeT TC_RefC 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 Info Tables and Settings p 527 Common Uses of the Status Table p 529 Status Table as Debug ...

Page 471: ...corruption When seen on a regular basis with a given program an operating system error is indicated Mem3 fail messages are not caused by user error and only rarely by a hardware fault Report any occurrence of this error to a Campbell Scientific support engineer especially if the problem is reproducible Any program generating these errors is unlikely to be running correctly Examples of some of the ...

Page 472: ...again on power up the CR800 should be repaired by a qualified technician Warning Slow Seq 1 Scan 1 will skip scans if running with Scan 1 SlowSequence scan rate is main scan rate This will cause skipped scans on the SlowSequence Warning Table tablename is declared but never called No data will be stored in tablename because there is no CallTable instruction in the program that references that tabl...

Page 473: ...s skipped which usually occurs because a scan is skipped SkippedRecord is not incremented by all events that leave gaps in data including cycling power to the CR800 10 5 4 5 ProgErrors Should be 0 If not investigate 10 5 4 6 MemoryFree A number less than 4 kB is too small and may lead to memory buffer related errors 10 5 4 7 VarOutOfBounds Related Topics Declaring Arrays p 134 VarOutOfBounds p 473...

Page 474: ...ire assistance include the following Memory corruption Check for memory failures with M command in terminal mode p 483 Operating system problem Hardware problem Watchdog errors may cause comms disruptions which can make diagnosis and remediation difficult The CR1000KD Keyboard Display will often work as a user interface when comms fail Information on CR800 crashes may be found in three places Watc...

Page 475: ... The comms memory information can also be a clue for PakBus and TCP triggered watchdogs For example if COM1 is the source of the watchdog knowing exactly what is connected to the port and at what baud rate and frequency how often the port is communicating are valuable pieces of information 10 6 Troubleshooting Operating Systems Updating the CR800 operating system will sometimes fix a problem Opera...

Page 476: ... a simple way to test a PC serial port is to physically connect pin 2 on the serial port with pin 3 This connects the transmit to the receive Using a terminal emulator you should be able to type a character on the PC keyboard and have it show up on the terminal emulator screen If it does not show up you either have the wrong com port selected in the terminal emulator set up or there may be some ot...

Page 477: ...urces p 95 Troubleshooting Power Supplies p 477 10 9 1 Troubleshooting Power Supplies Overview Power supply systems may include batteries charging regulators and a primary power source such as solar panels or ac ac or ac dc transformers attached to mains power All components may need to be checked if the power supply is not functioning properly Check connections Check polarity of connections Base ...

Page 478: ... o Charger regulators o Solar panels o Transformers Likely causes o Batteries may need to be replaced or recharged o Charger regulators may need to be fixed or re calibrated o Solar panels or transformers may need to be fixed or replaced 10 9 3 Troubleshooting Power Supplies Procedures Required Equipment o Voltmeter o 5 kΩ resistor o 50 Ω 1 watt resistor for the charging circuit tests and to adjus...

Page 479: ...tery batteries No Yes Yes Recharge battery Is the battery voltage 12 Vdc Battery voltage is adequate for CR800 operation However if the CR800 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 pri...

Page 480: ... 12V 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 pa...

Page 481: ...transformer is damaged and should be replaced No No Yes Yes Reconnect the power source transformer solar panel to the CHG terminals on the charging regulator Measure the voltage between the two CHG terminals Is the voltage 17 Vdc Vac No Yes 5 kΩ Load Test 1 Place a 5 kΩ resistor between a 12V terminal and a G ground terminal on the charging regulator 2 Switch the power switch to ON 3 Measure the d...

Page 482: ...URE Potentiometer R3 on PS100 and CH100 Charging Regulators p 483 so that voltage across the 5 kΩ resistor is 13 3 Vdc Can the output voltage be set to 13 3 V No 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 and a G ground terminal on the charging regulator 5 Re...

Page 483: ...a terminal emulator program Terminal emulator programs are available in Campbell Scientific datalogger support software p 86 Terminal Emulator p 518 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 DevConfi...

Page 484: ... as non error checked ASCII 9 Read inloc binary Lists binary form of Public table A Operating system copyright Lists copyright notice and version of operating system B Task sequencer op codes Technical data regarding the task sequencer C Modify constant table Edit constants defined with ConstTable EndConstTable Only active when ConstTable EndConstTable in the active program D MTdbg task monitor Ca...

Page 485: ...haracters are not echoed printed on terminal screen SDI12 SDI12 talk through Issue commands from keyboard that are passed through the CR800 SDI 12 port to the connected device Similar in concept to Serial Talk Through T Unused U Data recovery Provides the means by which data lost when a new program is loaded may be recovered See section Troubleshooting Data Recovery p 486 for details V Low level m...

Page 486: ...y currently running terminal function including the comms watch will immediately stop So in programs that frequently open and close a serial port the probability is higher that a non PakBus character will arrive at the closed serial port thus closing an existing talk through or comms watch session If this occurs the FileManager setting to send comms watch or sniffer to a file is immune to this pro...

Page 487: ...royed only lost track of So the wizard recovers data from the entire memory whether or not that memory has been written to or written to recently Once you have run through the recovery procedure consider the following If a CRD drive memory card or a USB drive Campbell Scientific mass storage device has been removed since the data was originally stored then the Datalogger Data Recovery is run the m...

Page 488: ... to collect data from the CR800 before rebooting as there is a good chance data will be lost during the process If you can connect using DevConfig try to save CR800 settings Reboot manually in terminal mode p 483 REBOOT Reboot under program control with Restart instruction Reboot under program control with Restart instruction Public Reboot BeginProg Scan If Reboot Then Reboot false Restart EndIf N...

Page 489: ...s of a power consuming device Term analog Data presented as continuously variable electrical signals Term argument Parameter p 508 part of a procedure or command definition Argument p 489 part of a procedure call or command 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 CRB...

Page 490: ...ignate the beginning and ending points of the information see synchronous p 517 Indicates the sending and receiving devices are not synchronized using a clock signal Term AWG AWG gauge is the accepted unit when identifying wire diameters Larger AWG values indicate smaller cross sectional diameter wires Smaller AWG values indicate large diameter wires For example a 14 AWG wire is often used for gro...

Page 491: ... ports Term burst Refers to a burst of measurements Analogous to a burst of light a burst of measurements is intense such that it features a series of measurements in rapid succession and is not continuous Term calibration wizard The calibration wizard facilitates the use of the CRBasic field calibration instructions FieldCal and FieldCalStrain It is found in LoggerNet 4 0 or higher or RTDAQ Term ...

Page 492: ...litates collection on demand of final data memory This feature is found in PC200W PC400 LoggerNet and RTDAQ software Term COM port COM is a generic name given to physical and virtual serial communication ports Term command Usually refers to a CRBasic command Term command line One line in a CRBasic program Maximum length even with the line continuation characters space underscore _ is 512 character...

Page 493: ...rm control I O C terminals configured for controlling or monitoring a device Term CoraScript CoraScript is a command line interpreter associated with LoggerNet datalogger support software Refer to the LoggerNet manual available at www campbellsci com for more information Term CPU Central processing unit The brains of the CR800 Also refers to two the following two memory areas o CPU memory drive o ...

Page 494: ...d disk of the computer running the datalogger support software p 494 A binary file is created for each table in each datalogger These files mimic the storage areas in datalogger memory and by default are two times the size of the datalogger storage area When the software collects data from a CR800 the data are stored in the binary file for that CR800 Various software functions retrieve data from t...

Page 495: ...een each write of a record p 511 to a final storage 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 Minimize and Average Data sources for these instructions are values or strings in variable memory The results of intermediate calcula...

Page 496: ...on Utility p 103 available with LoggerNet RTDAQ PC400 or at 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 for dec...

Page 497: ...me a feature is in an active state For example if the CR800 is programmed with 1 second scan interval but the program 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 s...

Page 498: ...or result Field Final storage data tables are made up of records and fields Each row in a table represents a record and each column represents a field The number of fields in a record is determined by the number and configuration of output processing instructions that are included as part of the DataTable declaration Term FFT Fast Fourier Transform A technique for analyzing frequency spectrum data...

Page 499: ...bles with output arrays Once data are written to final data memory they cannot be changed but only overwritten when they become the oldest data Final data memory is configured as ring memory p 512 by default with new data overwriting the oldest data Term final storage data Data that resides in final data memory Term Flash A type of memory media that does not require battery backup Flash memory how...

Page 500: ...e thermocouple at 1 kHz will give a high sample rate but does not ensure the measurement has a high frequency response A fine wire thermocouple which changes output quickly with changes in temperature is more likely to have a high frequency response Term garbage The refuse of the data communication world When data are sent or received incorrectly there are numerous reasons why this happens a strin...

Page 501: ...lex p 515 duplex p 282 half duplex p 501 and full duplex p 500 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 the datalogger CS I O port is primarily used to detect the presence or absence of peripherals Term hello exchange The process of verifying a nod...

Page 502: ...tiates comms with a PC running LoggerNet Also known as Callback p 491 Term input output instructions Used to initiate measurements and store the results in input storage or to set or read control logic ports Term instruction Usually refers to a CRBasic command Term integer A number written without a fractional or decimal component 15 and 7956 are integers 1 5 and 79 56 are not Term intermediate me...

Page 503: ...O interfaces as a CR800 accessory for use on the CS I O port See the appendix Serial I O Modules List p 563 Term JSON Java Script Object Notation A data file format available through the CR800 or LoggerNet Term keep memory keep memory is non volatile memory that preserves some settings p 527 during a power up or program start up reset Examples include PakBus address station name beacon intervals n...

Page 504: ... Term loop A series of instructions in a CRBasic program that are repeated a the programmed number of times The loop ends with an end instruction Term loop counter Increments by one with each pass through a loop Term mains power the national power grid Term manually initiated Initiated by the user usually with a CR1000KD Keyboard Display p 569 as opposed to occurring under program control Term mas...

Page 505: ...onous serial communication port that can be configured to communicate with the CR800 Term modulo divide A math operation Result equals the remainder after a division Term MSB Most significant bit the leading bit See Endianness p 559 Term multi meter An inexpensive and readily available device useful in troubleshooting data acquisition system faults Term multiplier A term often a parameter in a CRB...

Page 506: ...y with all nodes accessed by the same device parent node entered as child nodes A node can be both a parent and a child See PakBus Overview p 77 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 127 tables Term null modem A device usually a multi conductor cable which converts an RS 232 port from DCE to DTE o...

Page 507: ... user written CRBasic programs The operating system is preloaded into the CR800 at the factory but can be re loaded or upgraded by you using Device Configuration Utility p 103 software The most recent CR800 operating system obj file is available at www campbellsci com downloads Term output A loosely applied term Denotes a the information carrier generated by an electronic sensor b the transfer of ...

Page 508: ...efinition Argument p 489 part of a procedure call or command 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 Batte...

Page 509: ... the resistance of a resistor changes as the temperature of the resistor changes The unit of TCR is ppm C parts per million per degree Celsius A positive TCR means that resistance increases as temperature increases For example a resistor with a specification of 10 ppm C will not increase in resistance by more than 0 000010 Ω per ohm over a 1 C increase of the resistor temperature or by more than 0...

Page 510: ...with the line continuation characters space underscore _ A command line even with line continuation cannot exceed 512 characters Term Program Send command Program Send is a feature of datalogger support software p 86 Command wording varies among software according to the following table Program Send Command Software Command Command Location LoggerNet Send New Connect screen PC400 Send Program Cloc...

Page 511: ...of the DataTable declaration Term regulator A setting a Status table element or a DataTableInformation table element Term regulator A device for conditioning an electrical power source Campbell Scientific regulators typically condition ac or dc voltages greater than 16 Vdc to about 14 Vdc Term Reset Tables command Reset Tables command resets data tables configured for fill and stop Location of the...

Page 512: ... parasitic capacitances and inductances to resonate Term RMS Root mean square or quadratic mean A measure of the magnitude of wave or other varying quantities around zero Term router Device configured as a router is able to forward PakBus packets from one port to another To perform its routing duties a CR800 configured as a router maintains its own list of neighbors and sends this list to other ro...

Page 513: ...program If the Scan Interval is evenly divisible into 24 hours 86 400 seconds it is synchronized with the 24 hour clock so that the program is executed at midnight and every Scan Interval thereafter The program is executed for the first time at the first occurrence of the Scan Interval after compilation If the Scan Interval does not divide evenly into 24 hours execution will start on the first eve...

Page 514: ...nts from slow sequences including the auto self calibration Locking measurement resources at the scan level gives non interrupted measurement execution of the main scan Term send Send button in datalogger support software p 86 Sends a CRBasic program or operating system to a CR800 Term serial A loose term denoting output of a series of ASCII HEX or binary characters or numbers in electronic form T...

Page 515: ...mplex Reading list simplex p 515 duplex p 282 half duplex p 501 and full duplex p 500 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 Term skipped scans Occur when the CRBasic program is too long for the scan interval Skipped scans can cause errors in pulse measurements Term slow sequen...

Page 516: ... 516 Term Station Status command A command available in most datalogger support software p 86 The following figure is a sample of station status output Term string A datum or variable consisting of alphanumeric characters ...

Page 517: ...ime functions are run outside the Scan NextScan construct the time registered by the instruction will be based on the system clock which has a 10 ms resolution See scan time p 513 Term table Final storage data tables are made up of records and fields Each row in a table represents a record and each column represents a field The number of fields in a record is determined by the number and configura...

Page 518: ...e with temperature The change is wide stable and well characterized The output of a thermistor is usually non linear so measurement requires linearization by means of a Steinhart Hart or polynomial equation CRBasic instructions Therm107 Therm108 and Therm109 use Steinhart Hart equations Term time domain Time domain describes data graphed on an X Y plot with time on the X axis Time series data are ...

Page 519: ...f a sensor or the output of a sensor before scaling factors are applied See conditioned output p 492 Term UPS Uninterruptible Power Supply A UPS can be constructed for most datalogger applications using ac line power an ac ac or ac dc wall adapter a charge controller and a rechargeable battery The CR800 needs and external charge controller Term user program The CRBasic program written by you in Sh...

Page 520: ...nnect high level Vac directly to the CR800 o The CR800 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 CR800 operates with a nominal 12 Vdc The CR800 can supply nominal 12 Vdc regulated 5 Vdc regulated 3 3 Vdc and variable excitation in the 2 5 Vdc range o Th...

Page 521: ...sor neglecting standard system updates o Counters are outside the limits o Voltage surges o Voltage transients When a reset occurs a counter is incremented in the WatchdogTimer entry of the Status table p 533 A low number 1 to 10 of watchdog timer resets is of concern but normally indicates that the situation should just be monitored A large number of errors 10 accumulating over a short period ind...

Page 522: ...sion is a measure of the repeatability of a group of measurements Resolution is a measure of the fineness of a measurement Together the three define how well a data acquisition system performs To understand how the three relate to each other consider target practice as an analogy Table Accuracy Precision and Resolution p 522 shows four targets The bull s eye on each target represents the absolute ...

Page 523: ...Section 11 Glossary 523 FIGURE 116 Relationships of Accuracy Precision and Resolution ...

Page 524: ......

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

Page 526: ......

Page 527: ...ables and Settings Directories p 529 list several groupings of keywords Each keyword listed in these groups is linked to the relevant description Some info tables and settings have multiple names depending on the interface used to access them The names are listed with the descriptions No single interface accesses all info tables and settings Interfaces used for access include the following Info Ta...

Page 528: ...tings force the CR800 program to recompile which may cause loss of data Before changing settings collect your data IP Address IP Default Gateway Subnet Mask PPP Interface PPP dial string PPP dial response Baud rate change on control ports Maximum number of TLS server connections USR drive size PakBus encryption key PakBus TCP server port HTTP service port FTP service port PakBus TCP service port P...

Page 529: ...cations TCP IP II p 534 Memory p 535 Miscellaneous p 535 Obsolete p 536 OS and Hardware Versioning p 536 Power Monitors p 536 Radio RF407 Settings Ethernet p 532 Settings PPP p 532 Settings CS I O p 532 Settings Network Services p 532 Settings WiFi Settings Editor Only p 533 Communications TCP IP III p 534 CRBasic Program I p 535 CRBasic Program II p 535 Data p 535 Data Table Information Table DTI...

Page 530: ...w12VCount p 543 A 1 1 2 Info Tables and Settings Keywords Info Tables and Settings Keywords B Battery p 537 Baudrate p 537 Beacon p 537 BuffDepth p 537 E ErrorCalib p 540 EthernetEnable p 540 EthernetPower p 540 M MaxBuffDepth p 544 MaxPacketSize p 544 MaxProcTime p 544 MaxSlowProcTime p 544 MaxSystemProcTime p 544 pppIPAddr p 547 pppIPMask p 547 pppPassword p 547 pppUsername p 547 ProcessTime p 5...

Page 531: ...2 P PakBusAddress p 546 PakBusEncryptionKey p 546 PakBusPort p 546 PakBusRoutes p 546 S SecsPerRecord p 549 Security 1 p 549 Security 2 p 549 Security 3 p 549 SerialNumber p 549 W WatchdogErrors p 552 CPUDriveFree p 539 CSIO1netEnable p 539 CSIO2netEnable p 539 IPTrace p 542 IPTraceCode p 542 IPTraceComport p 542 IsRouter p 543 PakBusTCPClients p 546 PakBusTCPEnabled p 546 PakBusTCPPassword p 546 ...

Page 532: ...PP pppInterface p 547 pppInfo pppIPAddr p 547 pppIPMask p 547 pppUsername p 547 pppPassword p 547 pppDial p 547 pppDialResponse p 547 Info Tables and Settings KD Settings CS I O IP CSIO1netEnable p 539 CSIO2netEnable p 539 CSIOInfo p 539 IPAddressCSIO p 542 IPMaskCSIO p 542 IPGatewayCSIO p 542 Info Tables and Settings KD Settings TCP IP on CR1000KD Keyboard Display FTPEnabled p 541 TelnetEnabled p...

Page 533: ... p 550 ProgName p 548 StartTime p 550 RunSignature p 548 ProgSignature p 548 MemorySize p 544 MemoryFree p 544 CommsMemFree 1 p 538 CommsMemFree 2 p 538 PakBusRoutes p 546 Messages p 545 WatchdogErrors p 552 PanelTemp p 546 Battery p 537 LithiumBattery p 543 CommsMemFree 3 p 538 FullMemReset p 541 MeasureOps p 544 MeasureTime p 544 CalGain p 537 Low12VCount p 543 Low5VCount p 543 CompileResults p ...

Page 534: ...p 546 RouteFilters p 548 Verify p 552 Info Tables and Settings Communications TCP_IP I CSIO1netEnable p 539 CSIO2netEnable p 539 DNS p 540 EthernetEnable p 540 IPGateway p 542 IPGatewayCSIO p 542 IPInfo p 542 IPTrace p 542 IPTraceCode p 542 IPTraceComport p 542 EthernetPower p 540 IPAddressCSIO p 542 IPAddressEth p 542 IPMaskCSIO p 542 IPMaskEth p 542 PingEnabled p 546 TelnetEnabled p 551 Info Tab...

Page 535: ...CalDiffOffset p 537 CalGain p 537 CalSeOffset p 538 ErrorCalib p 540 LastSystemScan p 543 MaxSystemProcTime p 544 SkippedSystemScan p 550 SystemProcTime p 550 Info Tables and Settings Data DataFillDays p 540 DataRecordSize p 540 DataTableName p 540 SecsPerRecord p 549 SkippedRecord p 549 Info Tables and Settings Data Table Information Table DTI Keywords DataFillDays p 540 DataRecordSize p 540 Data...

Page 536: ...nSignature p 548 A 2 Info Tables and Settings Descriptions The CR800 has several places where system information and settings are stored or changed Status table an automatically created data table In general status fields should not be expected to give an instantaneous update of the value being read In most cases the values give a reasonable snapshot of the status of the system For most applicatio...

Page 537: ... calibration executes once per minute Baudrate Numeric Settings Editor Com Ports Settings Baud Rate Array of integers setting baud rates for communication COM ports Beacon Numeric Settings Editor Com Ports Settings Beacon Interval Governs the interval at which the CR800 broadcasts PakBus messages on the selected COM port to discover new neighboring nodes and it governs the default verification int...

Page 538: ...in a single integer Each value represents the number of buffers allocated to one of five communication buffer pools keyboard display communications excepted huge 18 kB each large 3 kB each medium 530 bytes each little 100 bytes each and tiny 16 bytes each When the system requires a buffer one is taken from the smallest suitably sized pool that has at least one available When the communication task...

Page 539: ...tatus field Results for Last Program Compiled Status table field 18 Contains error messages generated at compilation or during runtime Updated after compile Also appended to at run time for run time errors such as variable out of bounds CPUDriveFree Numeric Y Keyboard Settings Datalogger Bytes remaining on the CPU drive CSIO1net Enable Numeric Settings Editor CS I O IP Enabled 2 CSIO2net Enable Nu...

Page 540: ... Network Services Specifies the addresses of two domain name servers that the CR800 can use to resolve domain names to IP addresses Note that if DHCP is used to resolve IP information the addresses obtained via DHCP are appended to this list Defaults to 0 0 0 0 Form 0 255 0 255 0 255 0 255 Info Tables and Settings E Keyword Data Type Read Only Where to Find Description ErrorCalib Numeric Y Status ...

Page 541: ...t mapping rules in a network address translation firewall Default 21 FTPUserName String Settings Editor Network Services FTP User Name Specifies the user name that is used to log in to the FTP server An empty string or anonymous the default inactivates the FTP server Zero to 63 characters FullMemReset Numeric Status table field 30 Enter 98765 to start a full memory reset Info Tables and Settings H...

Page 542: ... to recompile IPGateway CSIO String Settings Editor CS I O IP Gateway Specifies the gateway for CS I O A change will cause the CRBasic program to recompile IPInfo1 String Settings Editor Ethernet information box Indicates current parameters for IP connection IPInfo is a status field but the CR800 processes it as a setting to minimize bandwidth It requires about 1 5 KB when all IP interfaces are ac...

Page 543: ...ch runs in a hidden slow sequence type scan See MaxSystemProcTime p 544 SkippedSystemScan p 550 and SystemProcTime p 550 LithiumBattery Numeric Y Station Status field Lithium Battery Status table field 14 Voltage of the internal lithium battery Updated only at CR800 power up Normal range 2 7 to 3 6 Vdc Replace lithium battery if 2 7 Vdc Updates when auto self calibration executes once per minute L...

Page 544: ...e type scan Displays 0 until an auto self calibration runs Enter 0 to reset MeasureOps Numeric Y Status table field 30 Reports the number of task sequencer opcodes required to do all measurements Calculated at compile time Includes opcodes for calibration compile time auto background calibration system and slow sequences Assumes all measurement instructions run each scan Updated after compile and ...

Page 545: ... PakBus neighbors allowed for communication ports NoSvc String CPIInfo table Array of integers indicating PakBus neighbors allowed for communication ports Info Tables and Settings O Keyword Data Type Read Only Where to Find Description OSDate String Y Station Status field OS Date Status table field 2 Release date of the operating system in the format yymmdd Updated at startup OSSignature Numeric Y...

Page 546: ... Filters Status table field 45 Lists routes or router neighbors known to the CR800 at the time the setting was read Each route is represented by four components separated by commas and enclosed in parentheses port via neighbor adr pakbus adr response time Default 1 4089 4089 1000 Updates when routes are added or deleted PakBusTCP Clients String Settings Editor Network Services PakBus TCP Clients U...

Page 547: ...ecompiles if changed from NULL to not NULL or from not NULL to NULL pppInfo String Settings Editor PPP PPP Network Status pppInterface Numeric Settings Editor PPP Config Port Used Sets the CR800 PPP port Warning if this value is set to CS I O ME do not attach other devices to the CS I O port A change will cause the CRBasic program to recompile pppIPAddr String Settings Editor PPP IP Address IP add...

Page 548: ...low sequences increments the record number Range 0 to 232 RevBoard String Y Status table field 5 Electronics board revision in the form xxx yyy where xxx hardware revision number yyy clock chip software revision Stored in flash memory Updated at startup RouteFilters String Settings Editor Advanced Route Filters Restricts routing or processing of some PakBus message types RS232 Handshaking Numeric ...

Page 549: ... level in an array of three security codes Not shown if security is enabled 0 disables all security Security 2 Numeric Settings Editor Datalogger Security Level 2 Second level in an array of three security codes Not shown if security is enabled 0 disables levels 2 and 3 Security 3 Numeric Settings Editor Datalogger Security Level 3 Third level in an array of three security codes Not shown if secur...

Page 550: ...d SystemProcTime p 550 SlowProcTime Numeric Y Status table field 39 Time μs required to process a SlowSequence scan See LastSlowScan p 543 MaxSlowProcTime p 544 SkippedSlowScan p 550 Default is a large number until a SlowSequence runs StartTime NSEC Y Station Status field Start Time Status table field 8 Time date and time the CRBasic program started Updates at beginning of program compile StartUpC...

Page 551: ... that a record was generated Info Tables and Settings U Keyword Data Type Read Only Where to Find Description UDPBroadcast Filter UINT2 Settings Editor Advanced IP Broadcast Filtered Default 0 USRDriveFree Numeric Y Keyboard Settings Advanced Bytes remaining on the USR drive USR drive is user created and normally used to store jpg and other files Default 0 USRDriveSize Numeric Settings Editor Adva...

Page 552: ...here index is a variable Updated at run time when the error occurs Verify Numeric Settings Editor ComPorts Settings Verify Interval Array of integers indicating the intervals s that are reported as the link verification intervals in PakBus hello transaction messages Indirectly governs the rate at which the CR800 attempts to start a hello transaction if no other communication has taken place within...

Page 553: ...pin 4 5 ME O Modem enable raised when the CR800 determines that a modem raised the ring line 6 SDE O Synchronous device enable addresses synchronous devices SD used as an enable line for printers 7 CLK HS I O Clock handshake with the SDE and TXD lines addresses and transfers 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...

Page 554: ...DB9 cable can connect the computer DTE device to the CR800 DCE device The following table describes RS 232 pin function with standard DCE naming notation Note Pins 1 4 6 and 9 function differently than a standard DCE device This is to accommodate a connection to a modem or other DCE device via a null modem Pin Out of CR800 RS 232 D Type Connector Port Pin Number Function Input I Output O Descripti...

Page 555: ...ers to come in Under normal operation the port is powered down waiting for input Upon receiving input there is a 40 second software timeout before shutting down The 40 second timeout is generally circumvented when communicating with datalogger support software p 86 because it sends information as part of the protocol that lets the CR800 know it can shut down the port When in sleep mode hardware is...

Page 556: ......

Page 557: ...ption 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 283 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 557 FP2 Decimal Locater Bits...

Page 558: ......

Page 559: ...ta p 279 Modbus programming Modbus p 436 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 CR10...

Page 560: ......

Page 561: ...cting as a master peer or slave Dataloggers communicate in a network via PakBus Modbus DNP3 RS 232 SDI 12 or CANbus using the SDM CAN module Dataloggers Model Description 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 ...

Page 562: ...ist Input peripherals expand sensor input capacity of the CR800 condition sensor signals or distribute the measurement load E 3 1 Analog Input Modules List Analog input modules increase CR800capacity Some multiplexers allow multiplexing of excitation analog output terminals Analog Input Modules Model Description AM16 32B 64 channels configurable for many sensor types Muliplex analog inputs and exc...

Page 563: ...n module SDM IO16 16 channel I O expansion module E 3 4 Vibrating Wire Input Modules List Vibrating wire input modules improve the measurement of vibrating wire sensors CDM modules require the SC CPI interface module to connect to the CR800 datalogger Vibrating Wire Input Modules Model Description CDM VW300 Two channel dynamic VSPECT vibrating wire measurement device CDM VW305 Eight channel dynami...

Page 564: ... 4WPB1K 1 kΩ four wire PRT bridge TIM module 1 Teriminal Input Module E 3 5 2 Voltage Divider Modules List Voltage Divider Modules Model Description VDIV10 1 10 1 voltage divider VDIV2 1 2 1 voltage divider CVD20 Six channel 20 1 voltage divider E 3 5 3 Current Shunt Modules List Current Shunt Modules Model Description CURS100 100 ohm current shunt module E 3 5 4 Transient Voltage Suppressors List...

Page 565: ...1000 17324 CR3000 18359 E 4 PLC Control Modules Lists Related Topics PLC Control Overview p 87 PLC Control Modules Overview p 394 PLC Control Modules Lists p 565 Switched Voltage Output Specifications Switched Voltage Output Overview p 59 Switched Voltage Output Details p 388 Current Source and Sink Limits p 389 E 4 1 Digital I O Modules List Digital I O expansion modules expand the number of chan...

Page 566: ...ontrol 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 E 4 4 Current Excitation Modules List Current excitation modules are usually u...

Page 567: ...systems Wired Sensor Types Air temperature Pressure Roadbed water content Relative humidity Snow depth Barometric pressure Snow water equivalent Conductivity Soil heat flux Digital camera Soil temperature Dissolved oxygen Soil volumetric water content Distance Soil volumetric water content profile Soil water potential Electrical current Solar radiation Electric field Lightning Strain Evaporation S...

Page 568: ...oxygen Soil heat flux Infrared surface temperature Soil temperature Leaf wetness Solar radiation Pressure Surface temperature Quantum sensor Wind speed wind direction Rain E 6 Cameras List A camera can be an effective data gathering device Campbell Scientific cameras are rugged built for reliable performance at environmental extremes Images can be stored automatically to a Campbell Scientific data...

Page 569: ...play CR1000KD2 requires special OS CD100 requires special OS CD295 1 Keyboard displays are either integrated into the datalogger or communicate through the CS I O port 2 The CR1000KD can be mounted to a surface by way of the two 4 40 x 0 187 screw holes at the back E 7 2 Hardwire Single Connection Comms Devices List Hardwire Single Connection Comms Devices Model Description SC32B Optically isolate...

Page 570: ...Description RavenX Series Wireless cellular connects to RS 232 port PPP IP key must be enabled to use CR800 IP stack NL240 Wireless network link interface connects to CS I O port NL201 Network link interface connects to CS I O port E 7 5 Telephone Modems List m Telephone Modems Model Description COM220 9600 baud COM320 9600 baud synthesized voice RAVENX Series Cellular network link E 7 6 Private N...

Page 571: ...ces List Related Topics Memory Overview p 89 Memory Details p 406 Data Storage Devices List p 571 TABLE Info Tables and Settings Memory p 535 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 CR800 CS I O port Mass Storage Devices Model Description SC115 2 GB flash memory drive t...

Page 572: ...und at www campbellsci com E 9 1 Starter Software List Short Cut PC200W and VisualWeather are designed for novice integrators but still have features useful in advanced applications Starter Software Model Description Short Cut Easy to use CRBasic programming wizard graphical user interface PC Windows compatible PC200W Starter Software Easy to use basic datalogger support software p 494 for direct ...

Page 573: ...er support software for industrial and real time applications VisualWeather PC Windows Datalogger support software specialized for weather and agricultural applications LoggerLink iOS and Android Datalogger support software for iOS and Android devices IP connection to datalogger only E 9 2 1 LoggerNet Suite List The LoggerNet suite features a client server architecture that facilitates a wide rang...

Page 574: ...ail on alarm conditions hyperlinks and FTP file transfer RTMCRT Allows viewing and printing multi tab displays of real time data Displays are created in RTMC or RTMC Pro RTMC Web Server Converts real time data displays into HTML files allowing the displays to be shared via an Internet browser CSIWEBS Web server Converts RTMC and RTMC Pro displays into HTML CSIWEBSL Web server for Linux Converts RT...

Page 575: ...ption LoggerNet SDK PC Windows Allows software developers to create custom client applications that communicate through a LoggerNet server with any datalogger supported by LoggerNet Requires LoggerNet LoggerNetS SDK PC Windows LoggerNet Server SDK Allows software developers to create custom client applications that communicate through a LoggerNet server with any datalogger supported by LoggerNet I...

Page 576: ...Several power supplies are available from Campbell Scientific to power the CR800 E 10 1 Battery Regulator Combinations List Read More Information on matching power supplies to particular applications can be found in the Campbell Scientific Application Note Power Supplies available at www campbellsci com Battery Regulator Combinations Model Description PS100 12 Ahr rechargeable battery and regulato...

Page 577: ...gulator primary source Includes mounting bracket for Campbell Scientific enclosures BP84 84 Ahr sealed rechargeable battery requires regulator primary source Includes mounting bracket for Campbell Scientific enclosures E 10 3 Regulators List Regulators Model Description CH100 12 Vdc charging regulator requires primary source CH200 12 Vdc charging regulator requires primary source E 10 4 Primary Po...

Page 578: ...y Kits List 24 Vdc Power Supply Kits Model Description 28370 24 Vdc 3 8 A NEC Class 2 battery not included 28371 24 Vdc 10 A battery not included 28372 24 Vdc 20 A battery not included E 11 Enclosures List Enclosures Products Model Description ENC10 12 10 inch x 12 inch weather tight enclosure will not house CR3000 ENC12 14 12 inch x 14 inch weather tight enclosure Pre wired version available ENC1...

Page 579: ...del Description CM106B 3 meter 10 ft tripod tower galvanized steel CM110 3 meter 10 ft tripod tower stainless steel CM115 4 5 meter 15 ft tripod tower stainless steel CM120 6 meter 20 ft tripod tower stainless steel UT10 3 meter 10 ft free standing tower aluminum UT20 6 meter 20 ft free standing tower aluminum guying is an option UT30 10 meter 30 ft free standing tower aluminum guying is an option...

Page 580: ... 20 Usually used in ENC enclosures to protect the CR800 A150 L Single Sensor Terminal Case Vented w Desiccant 4091 Desiccant 0 75g Bag Normally used with Sentek water content probes 25366 CS450 CS451 CS455 and CS456 Replacement Desiccant Tube Normally used with CS4xx sensors 10525 Desiccant and Document Holder User Installed Normally use with ENC enclosures 3885 Desiccant 1 2 Unit Bag Qty 50 CS210...

Page 581: ...res Amps 489 Analog 64 489 Analog Control 394 Analog Input 67 91 Analog Input Expansion 91 393 Analog Input Modules 393 Analog Input Modules List 562 Analog Input Range 91 345 Analog Measurement 466 Analog Measurements Details 313 Analog Measurements Overview 65 Analog Output 60 91 394 Analog Output Modules 394 Analog Sensor 386 Analog Sensor Cabling 386 Analog to Digital Conversion 327 332 345 48...

Page 582: ...Calibration Two Point Field Calibration 217 Callback 427 434 491 502 Cameras List 568 CAO 394 Capturing CRBasic Code 30 Capturing Events 171 Card Bytes Free 527 Card Status 527 Care 85 457 CE Compliance 91 Character Set 81 444 Charging Circuit 481 482 Charging Regulator with Solar Panel Test 479 Charging Regulator with Transformer Test 481 Circuit 333 384 395 Clients 573 CLK HS Pin 553 Clock Accur...

Page 583: ...53 Current 389 Current Loop Sensor 64 68 344 Current Measurements Details 344 Current Measurements Overview 68 Current Sourcing Limit 391 392 Current Excitation Modules List 566 Current Shunt Modules List 564 Custom Display 447 Custom HTTP Web Server 431 Custom Menu 82 Custom Menus Overview 82 CVI 494 D Data Acquisition System Sensor 35 Data Acquisition Systems Quickstart 52 Data bits 282 Data Col...

Page 584: ... I O 59 64 91 392 Digital Register 437 Digital I O Modules List 565 Dimension 131 496 Dimensioning Numeric Variables 131 Dimensioning String Variables 132 Diode OR Circuit 95 Disable Variable 146 148 192 466 DisableVar 192 466 Display 80 443 Display Custom 447 Displaying Data Custom Menus Details 207 DNP3 79 DNP3 Details 436 DNP3 Overview 79 DNS 430 497 Documentation 123 Drive USR 527 DTE 61 496 4...

Page 585: ...set Opt 2 Example 223 FieldCal Zero Basis Opt 4 Example 8 10 30 228 FieldCal Zero or Tare Opt 0 Example 218 FieldCalStrain Quarter Bridge Shunt Example 231 FieldCalStrain Quarter Bridge Zero 232 FieldCalStrain Shunt Calibration Concepts 228 FieldCalStrain Shunt Calibration Example 229 FIGURE Ac power line noise rejection techniques 8 10 30 317 354 File Attributes 418 File Compression 113 397 File ...

Page 586: ...s and Settings Directories 529 Information Services 428 Initial Inspection 33 Initialize 126 Initializing Variables 136 Initiate Comms 427 434 502 Initiating Comms Callback 427 Input Channel 67 Input Expansion Module 82 Input Filters and Signal Attenuation 380 Input Limits 91 345 346 Input Range 91 345 Input Register 438 Input Reversal 326 Input Output Instructions 502 Inserting Comments into Prog...

Page 587: ...Sequence 350 Measurement Synchronizing 387 Measurement Time 527 Measurement Timing 350 Measurement and Control Peripherals Details 393 Measurement and Control Peripherals List 562 Measurement and Control Peripherals Overview 82 Measurement and Data Storage Processing 157 Measurement Theory PRT 259 Measurements Details 311 Measurements Overview 64 Measurements and NAN 466 Memory 89 161 406 Memory D...

Page 588: ...469 OutputOpt 202 OutputOpt Parameters 202 Overrange 466 506 Overrun 470 527 Overview 55 56 Overview Network Planner 105 Overview Power Supply 477 P Packet Size 527 PakBus 77 508 PakBus Address 527 PakBus Comms Overview 77 PakBus Information 527 PakBus Instructions 404 PakBus Over TCP IP and Callback 434 Panel Temperature 527 Parameter 508 Parameter Type 158 Pass Code Lockout 402 Pass Code Lockout...

Page 589: ...or 202 Processing Instructions 510 Processing Instructions Output 495 Processor 91 ProgErrors 473 Program 83 Program Alias 138 Program Array 134 Program Compile Errors 465 471 473 Program Constant 137 Program Data Storage Processing Instruction 157 Program Data Table 141 Program Data Type 127 Program DataInterval Instruction 145 Program DataTable Instruction 144 Program Declaration 125 140 Program...

Page 590: ...ses Measured 71 Pulse Width Modulation 60 392 PWM 60 392 Q Quarter Bridge 228 332 Quarter Bridge Shunt 231 Quarter Bridge Zero 232 Quickstart 35 Quickstart Tutorial 35 R Rain Gage 386 Range Limit 127 Ratiometric 335 RC Resistor Shunt 230 Read Only Variables 406 Reading Inverse Format Modbus Registers 440 Reading Smart Sensors Details 384 Reading Smart Sensors Overview 74 Real Time Custom 447 Real ...

Page 591: ... Send Program and Collect Data 46 Sending CRBasic Programs 170 Sensor 35 83 567 Sensor Analog 345 Sensor Bridge 332 Sensor Voltage 345 Sensor Power 83 388 Sensor Support 311 Sensor Input Modules List 562 Sensors Quickstart 35 Sensors Lists 567 Sequence 140 Sequence Dial 149 Sequence Incidental 149 Sequence Modem Hangup 149 Sequence Shut Down 149 Sequence Web Page 149 Sequential Mode 152 391 Serial...

Page 592: ... List 572 State 60 515 555 State Measurement 59 Statement Aggregation 125 Status 453 Status Table 529 Status Table as Debug Resource 470 Status Table WatchdogErrors 474 Stop bits 283 Storage Media 406 Strain 343 Strain Calculation 343 Strain Measurements Details 343 Strain Measurements Overview 70 String Concatenation 304 String Expression 166 String Expressions 166 String NULL Character 306 Strin...

Page 593: ...Script 493 CPU 493 cr 282 493 CR1000KD 493 CRBasic Editor 493 CRBasic Editor Compile Save and Send 494 CS I O 494 CVI 494 data bits 282 data cache 494 data output interval 495 data output processing instructions 495 data output processing memory 495 data point 495 data table 495 datalogger support software 494 dc 495 DCE 496 desiccant 496 DevConfig software 496 DHCP 496 differential 496 digital re...

Page 594: ...tput array 507 output interval 507 output processing instructions 507 output processing memory 508 PakBus 508 PakBusGraph software 508 parameter 508 period average 508 peripheral 508 ping 509 pipeline mode 509 Poisson ratio 509 ppm resistor specification 509 precision 509 PreserveVariables 509 print device 509 print peripheral 510 processing instructions 510 program control instructions 510 Progra...

Page 595: ...Time Skew 248 327 513 Time Stamps 311 Time Zone 198 Time Domain Measurement 382 Timer Input on I O NAN Conditions 377 Timestamp 145 198 527 Timing 350 441 TIMs 396 Tips Fast Analog Voltage 237 Toggle 519 Tools Setup 103 Transducer 35 321 Transformer 83 481 Transient 64 85 94 470 497 521 Transient Voltage Suppressors List 564 Transparent Mode SDI 12 483 Trigger Output 192 Trigger Variable 192 Trigg...

Page 596: ...1 46 Visual Weather 572 Volt Meter 520 Voltage Excitation Overview 60 Voltage Calibration Error 487 Voltage Divider Modules List 564 Voltage Excitation 69 Voltage Measurement 345 Voltage Measurement Limitations 345 Voltage Measurement Mechanics 348 Voltage Measurement Quality 314 351 Voltage Measurements 467 Voltage Measurements Details 345 Voltage Measurements Overview 65 Volts 521 Vulnerabilitie...

Page 597: ......

Page 598: ...Rua Apinagés nbr 2018 Perdizes CEP 01258 00 São Paulo SP BRASIL www campbellsci com br vendas campbellsci com br Campbell Scientific Canada Corp 14532 131 Avenue NW Edmonton AB T5L 4X4 CANADA www campbellsci ca dataloggers campbellsci ca Campbell Scientific Centro Caribe S A 300 N Cementerio Edificio Breller Santo Domingo Heredia 40305 COSTA RICA www campbellsci cc info campbellsci cc Campbell Sci...

Reviews: