Campbell CR3000 Micrologger Operator's Manual - Table Of Contents

Summary of CR3000 Micrologger

  • Page 1

    Ope rato r's m anual cr3000 micrologger® revision: 12/16 want to get going? Go to the quickstart (p. 37) 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 5: Assistance

    Assistance products may not be returned without prior authorization. The following contact information is for canadian and international clients residing in countries served by campbell scientific (canada) corp. Directly. Affiliate companies handle repairs for clients within their territories. Pleas...

  • Page 7: Precautions

    Precautions danger — many hazards are associated with installing, using, maintaining, and working on or around tripods, towers, and any attachments to tripods and towers such as sensors, crossarms, enclosures, antennas, etc. Failure to properly and completely assemble, install, operate, use, and mai...

  • Page 8: Please Read First

    Please read first about this manual please note that this manual was originally produced by campbell scientific inc. (csi) primarily for the us market. Some spellings, weights and measures may reflect this origin. Some useful conversion factors: area: 1 in 2 (square inch) = 645 mm 2 length: 1 in. (i...

  • Page 9: Table Of Contents

    9 table of contents 1. Introduction .............................................................. 31 1.1 hello .............................................................................................. 31 1.2 typography ..............................................................................

  • Page 10

    Table of contents 10 5.1.1.3.2 power out terminals ............................................ 63 5.1.1.4 communication ports — overview ................................. 64 5.1.1.4.1 cs i/o port............................................................ 65 5.1.1.4.2 rs-232 ports ....................

  • Page 11

    Table of contents 11 5.4 measurement and control peripherals — overview ......................... 86 5.5 power supplies — overview ............................................................ 86 5.6 cr3000 setup — overview .............................................................. 87 5.7 crbasic...

  • Page 12

    Table of contents 12 7.5.2 setup tasks .............................................................................. 123 7.5.2.1 operating system (os) — details ................................. 123 7.5.2.1.1 os update with devconfig send os tab .......... 124 7.5.2.1.2 os update with file control ...

  • Page 13

    Table of contents 13 7.6.3.16.2 arithmetic operations ......................................... 171 7.6.3.16.3 expressions with numeric data types ............... 171 7.6.3.16.4 logical expressions ............................................ 173 7.6.3.16.5 string expressions ..........................

  • Page 14

    Table of contents 14 7.7.12.5.3 fieldcal() slope and offset (opt 2) example ..... 238 7.7.12.5.4 fieldcal() slope (opt 3) example ...................... 240 7.7.12.5.5 fieldcal() zero basis (opt 4) example .............. 243 7.7.12.6 field calibration strain examples ...................................

  • Page 15

    Table of contents 15 7.7.18.7 serial i/o q & a ............................................................ 325 7.7.19 string operations...................................................................... 327 7.7.19.1 string operators ............................................................. 3...

  • Page 16

    Table of contents 16 8.1.8.5 sdi-12 sensor cabling .................................................. 422 8.1.9 synchronizing measurements — details ................................. 422 8.1.9.1 synchronizing measurement in the cr3000 — details ..........................................................

  • Page 17

    Table of contents 17 8.8.4.3 manual data-table reset .............................................. 455 8.8.4.4 formatting drives .......................................................... 456 8.8.5 file management in cr3000 memory ..................................... 456 8.8.5.1 file attributes .....

  • Page 18

    Table of contents 18 8.11.2.1 real-time tables and graphs ....................................... 486 8.11.2.2 real-time custom ......................................................... 486 8.11.2.3 final-storage data ......................................................... 488 8.11.3 run/stop prog...

  • Page 19

    Table of contents 19 10.9.2 troubleshooting power supplies — examples ........................ 518 10.9.3 troubleshooting power supplies — procedures ...................... 518 10.9.3.1 battery test.................................................................... 518 10.9.3.2 charging regulator w...

  • Page 20

    Table of contents 20 e.3.1 analog input modules — list .................................................. 604 e.3.2 pulse input modules — list ..................................................... 604 e.3.3 serial i/o modules — list ....................................................... 605 e.3.4 v...

  • Page 21

    Table of contents 21 figure 6: short cut outputs tab ............................................................... 48 figure 7: short cut compile confirmation window and results tab ..... 49 figure 8: pc200w main window............................................................. 50 figure 9: pc20...

  • Page 22

    Table of contents 22 figure 59: custom menu example — control led pick list ............... 226 figure 60: custom menu example — control led boolean pick list . 226 figure 61: quarter-bridge strain gage with rc resistor shunt ............ 245 figure 62: strain gage shunt calibration start .............

  • Page 23

    Table of contents 23 figure 105: power switching without relay........................................... 431 figure 106: preconfigured html home page ....................................... 470 figure 107: home page created using webpagebegin() instruction .... 471 figure 108: customized numeric-mo...

  • Page 24

    Table of contents 24 calibration report for relative humidity sensor ................... 233 calibration report for salinity sensor .................................... 236 calibration report for flow meter .......................................... 238 calibration report for water content sensor .....

  • Page 25

    Table of contents 25 thermocouple error examples ............................................... 366 resistive-bridge circuits with voltage excitation ................. 368 resistive-bridge circuits with current excitation 1 ................. 370 ratiometric-resistance measurement accuracy ............

  • Page 26

    Table of contents 26 program send command ....................................................... 551 info tables and settings interfaces ....................................... 567 info tables and settings: directories .................................... 569 info tables and settings: frequently us...

  • Page 27

    Table of contents 27 fp2 decimal locater bits ..................................................... 599 endianness in campbell scientific instruments .................... 601 dataloggers ........................................................................... 603 analog input modules ...............

  • Page 28

    Table of contents 28 flag declaration and use ..................................... 143 using a variable array in calculations ................ 145 initializing variables ............................................ 147 using the const declaration ............................... 148 load binary info...

  • Page 29

    Table of contents 29 measurement with excitation and delay ........... 254 using sdi12sensor() to test cv command ...... 265 using alternate concurrent command (ac) ...... 266 using an sdi-12 extended command ............... 268 sdi-12 sensor setup .......................................... 269 cond...

  • Page 31: 1. Introduction

    31 1. Introduction 1.1 hello whether in extreme cold in antarctica, scorching heat in death valley, salt spray from the pacific, micro-gravity in space, or the harsh environment of your office, campbell scientific dataloggers support research and operations all over the world. Our customers work a s...

  • Page 32

    Section 1. Introduction 32 in earlier days, campbell scientific dataloggers greeted our customers with a cheery hello at the flip of the on switch. While the user interface of the cr3000 datalogger has advanced beyond those simpler days, you can still hear the cheery hello echoed in voices you hear ...

  • Page 33: 2. Precautions

    33 2. Precautions • danger: 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 spe...

  • Page 35: 3. Initial Inspection

    35 3. Initial inspection • check the ships with tab at http://www.Campbellsci.Com/cr3000 for a list of items shipped with the cr3000. Among other things, the following are provided for immediate use: o screwdriver to connect wires to terminals o type-t thermocouple for use in the quickstart (p. 37) ...

  • Page 37: 4. Quickstart

    37 4. Quickstart the following tutorial introduces the cr3000 by walking you through a programming and data retrieval exercise. 4.1 sensors — quickstart related topics: • sensors — quickstart (p. 37) • measurements — overview (p. 67) • measurements — details (p. 335) • sensors — lists (p. 609) senso...

  • Page 38

    Section 4. Quickstart 38 o modbus o dnp3 o rs-485 refer to the sensors — lists (p. 609) for a list of specific sensors available from campbell scientific. This list may not be comprehensive. A library of sensor manuals and application notes are available at www.Campbellsci.Com to assist in measuring...

  • Page 39

    Section 4. Quickstart 39 figure 1: wiring panel 4.3 power supplies — quickstart related topics: • power input terminals — specifications • power supplies — quickstart (p. 39) • power supplies — overview (p. 86) • power supplies — details (p. 98) • power supplies — products (p. 618) • power sources (...

  • Page 40

    Section 4. Quickstart 40 cr3000s may be ordered with an integrated power supply base. Power to a power supply base is controlled by a manual switch on the right side of the case, below the keyboard display. Power connects through the green power in connector on the face of the cr3000. The positive p...

  • Page 41

    Section 4. Quickstart 41 • options o ethernet o compactflash, mass storage o cellular, telephone o ios, android o pda o multidrop, fiber optic o radio, satellite some comms options can be combined. 4.5 datalogger support software — quickstart related topics: • datalogger support software — quickstar...

  • Page 42

    Section 4. Quickstart 42 note more information about software available from campbell scientific can be found at www.Campbellsci.Com. 4.6 tutorial: measuring a thermocouple this exercise guides you through the following: • attaching a sensor to the cr3000 • creating a program for the cr3000 to measu...

  • Page 43

    Section 4. Quickstart 43 4.6.2.1 connect internal power supply with reference to figure connect power and serial comms (p. 43) some cr3000 dataloggers are shipped with a power supply internal to the removable base. This internal power supply may use alkaline batteries or sealed-rechargeable batterie...

  • Page 44

    Section 4. Quickstart 44 figure 3: connect power and comms (external-power supply) 4.6.2.3 connect comms connect the serial cable between the rs-232 port on the cr3000 and the rs-232 port on the pc. Switch the power supply on. 4.6.3 pc200w software setup 1. Install pc200w software onto the pc. Follo...

  • Page 45

    Section 4. Quickstart 45 information. Monitor data and collect data tabs are also available. Icons across the top of the window access additional functions. Figure 4: pc200w main window pc200w ezsetup wizard prompts screen name information needed introduction provides an introduction to the ezsetup ...

  • Page 46

    Section 4. Quickstart 46 pc200w ezsetup wizard prompts screen name information needed datalogger settings configures how the cr3000 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 ...

  • Page 47

    Section 4. Quickstart 47 5. The next window displays available sensors and devices as shown in the following figure. Expand the sensors folder by clicking on the symbol. This shows several sub-folders. Expand the temperature folder to view available sensors. Note that a wiring panel temperature (pte...

  • Page 48

    Section 4. Quickstart 48 figure 6: short cut outputs tab 4.6.4.4 procedure: (short cut steps 9 to 12) 9. As shown in the right-most pane of the previous figure, two output tables (1 table1 and 2 table2 tabs) are initially configured. Both tables have a store every field and a drop-down list from whi...

  • Page 49

    Section 4. Quickstart 49 figure 7: short cut compile confirmation window and results tab 14. Close this window by clicking on x in the upper right corner. 4.6.5 send program and collect data pc200w datalogger support software objectives: • send the crbasic program created by short cut in the previou...

  • Page 50

    Section 4. Quickstart 50 figure 8: pc200w main window 4.6.5.2 procedure: (pc200w steps 2 to 4) 2. Click set clock (right pane, center) to synchronize the cr3000 clock with the computer clock. 3. Click send program... (right pane, bottom). A warning appears that data on the datalogger will be erased....

  • Page 51

    Section 4. Quickstart 51 figure 9: 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 displaye...

  • Page 52

    Section 4. Quickstart 52 figure 10: 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 11: pc200w collect data tab.

  • Page 53

    Section 4. Quickstart 53 4.6.5.5 procedure: (pc200w steps 7 to 10) 7. Click the onemin box so a check mark appears in the box. Under what to collect, select new data from datalogger. 8. Click on a table in the list to highlight it, then click change table's output file... To change the name of the d...

  • Page 54

    Section 4. Quickstart 54 4.6.5.6 procedure: (pc200w steps 11 to 12) 11. Click on to open a file for viewing. In the dialog box, select the cr3000_onemin.Dat file and click open. 12. The collected data are now shown. Figure 13: pc200w view data table 4.6.5.7 procedure: (pc200w steps 13 to 14) 13. Cli...

  • Page 55

    Section 4. Quickstart 55 figure 14: pc200w view line graph 4.7 data acquisition systems — quickstart related topics: • data acquisition systems — quickstart (p. 55) • data acquisition systems — overview (p. 58) acquiring data with a cr3000 datalogger requires integration of the following into a data...

  • Page 56

    Section 4. Quickstart 56 • data retrieval and comms (p. 40) — data are copied (not moved) from the cr3000, usually to a pc, by one or more methods using datalogger support software. Most of these comms options are bi-directional, which allows programs and settings to be sent to the cr3000. • datalog...

  • Page 57: 5. Overview

    57 5. Overview you have just received a big box (or several big boxes) from campbell scientific, opened it, spread its contents across the floor, and now you sit wondering what to do. Well, that depends. Probably, the first thing you should understand is the basic architecture of a data acquisition ...

  • Page 58

    Section 5. Overview 58 figure 16: data acquisition system — overview 5.1 datalogger — overview the cr3000 datalogger is the main part of the system. It is a precision instrument designed to withstand demanding environments and to use the smallest amount of power possible. It has a central-processing...

  • Page 59

    Section 5. Overview 59 the application program is written in crbasic, which is a programming language that includes measurement, data processing, and analysis routines and the standard basic instruction set. For simpler applications, short cut (p. 555), a user- friendly program generator, can be use...

  • Page 60

    Section 5. Overview 60 figure 17: wiring panel cr3000 wiring panel terminal definitions, 1 l ab el s se 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 diff ┌ 1 ┐ ┌ 2 ┐ ┌ 3 ┐ ┌ 4 ┐ ┌ 5 ┐ ┌ 6 ┐ ┌ 7 ┐ ┌ 8 ┐ ┌ 9 ┐ ┌ 10 ┐ ┌ 11 ┐ ┌ 12 ┐ ┌ 13 ┐ ┌ 14 ┐ h l h l h l h l h l h l h l...

  • Page 61

    Section 5. Overview 61 switched regulated 3 5 vdc switched unregulated 3 12 vdc uart true rs-232 (tx/rx) ttl rs-232 (tx/rx) sdi-12 sdm (data/clock/enable) 1 terminal expansion modules are available. See section measurement and control peripherals — overview (p. 86). 2 static, time domain measurement...

  • Page 62

    Section 5. Overview 62 5.1.1.1 switched voltage output — overview related topics: • switched voltage output — specifications • switched voltage output — overview (p. 62) • switched voltage output — details (p. 424) • current source and sink limits (p. 424) • plc control — overview (p. 91) • plc cont...

  • Page 63

    Section 5. Overview 63 the cr3000 has several terminals designed to supply switched voltage and current to peripherals, sensors, or control devices: • voltage excitation (switched-analog output) — vx terminals supply precise voltage. These terminals are regularly used with resistive-bridge measureme...

  • Page 64

    Section 5. Overview 64 • 5v terminals: regulated 5 vdc at 300 ma. The 5 vdc supply is regulated to within a few millivolts of 5 vdc so long as the main power supply for the cr3000 does not drop below . 5.1.1.4 communication ports — overview related topics: • communication ports — overview (p. 64) • ...

  • Page 65

    Section 5. Overview 65 5.1.1.4.1 cs i/o port read more see serial port pinouts (p. 595). • 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...

  • Page 66

    Section 5. Overview 66 sdi-12 is a 1200 baud protocol that supports many smart sensors. Each port requires one terminal and supports up to 16 individually addressed sensors. • up to four ports configured from c terminals. 5.1.1.4.5 sdm port sdm is a protocol proprietary to campbell scientific that s...

  • Page 67

    Section 5. Overview 67 input terminal. Current loop sensors, however, 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 a...

  • Page 68

    Section 5. Overview 68 analog sensors output a continuous voltage or current signal that varies with the phenomena measured. Sensors compatible with the cr3000 output a voltage. The cr3000 can also measure analog current output when the current is converted to voltage by using a resistive shunt. Sen...

  • Page 69

    Section 5. Overview 69 figure 19: analog sensor wired to single-ended channel #1 figure 20: analog sensor wired to differential channel #1 differential and single-ended input terminals differential diff terminals single-ended se terminals 1h 1 1l 2 2h 3 2l 4 3h 5 3l 6.

  • Page 70

    Section 5. Overview 70 differential and single-ended input terminals differential diff terminals single-ended se terminals 4h 7 4l 8 5h 9 5l 10 6h 11 6l 12 7h 13 7l 14 8h 15 8l 16 9h 17 9l 18 10h 19 10l 20 11h 21 11l 22 12h 23 12l 24 13h 25 13l 26 14h 27 14l 28 5.2.2.1.1 single-ended measurements — ...

  • Page 71

    Section 5. Overview 71 • not enough differential terminals available. Differential measurements use twice as many h/l terminals as do single-ended measurements. • rapid sampling is required. Single-ended measurement time is about half that of differential measurement time. • sensor is not designed f...

  • Page 72

    Section 5. Overview 72 5.2.2.2 current measurements — overview related topics: • current measurements — overview (p. 72) • current measurements — details (p. 380) a measurement of current is accomplished through the use of external resistors to convert current to voltage, then measure the voltage as...

  • Page 73

    Section 5. Overview 73 figure 21: half-bridge wiring example — wind vane potentiometer figure 22: full-bridge wiring example — pressure transducer 5.2.2.3.2 current excitation resistance can also be measured by supplying a precise current and measuring the return voltage. The cr3000 supplies a preci...

  • Page 74

    Section 5. Overview 74 5.2.2.4 strain measurements — overview related topics: • strain measurements — overview (p. 74) • strain measurements — details (p. 378) • fieldcalstrain() examples (p. 243) strain gage measurements are usually associated with structural-stress analysis. 5.2.3 pulse measuremen...

  • Page 75

    Section 5. Overview 75 figure 23: pulse sensor output signal types 5.2.3.2 pulse input channels table pulse input terminals and measurements (p. 75) lists devices, channels and options for measuring pulse signals. Pulse input terminals and measurements pulse input terminal input type data option crb...

  • Page 76

    Section 5. Overview 76 confuse the pulse wire with the positive power wire, or damage to the sensor or cr3000 may result. Some switch closure sensors may require a pull-up resistor. Figure 24: pulse input wiring example — anemometer 5.2.4 period averaging — overview related topics: • period average ...

  • Page 77

    Section 5. Overview 77 measurement interval, as compared to pulse count measurements. The frequency resolution of pulse count measurements can be improved by extending the measurement interval by increasing the scan interval and by averaging. For information on frequency resolution, see frequency re...

  • Page 78

    Section 5. Overview 78 • smart sensors: c terminals, rs-232 port, and cs i/o port with the appropriate interface. • modbus or dnp3 network: rs-232 port and cs i/o port with the appropriate interface • other serial i/o devices: c terminals, rs-232 port, and cs i/o port with the appropriate interface ...

  • Page 79

    Section 5. Overview 79 figure 26: use of rs-232 and digital i/o when reading rs-232 devices 5.2.7 field calibration — overview related topics: • field calibration — overview (p. 79) • field calibration — details (p. 229) calibration increases accuracy of a measurement device by adjusting its output,...

  • Page 80

    Section 5. Overview 80 5.2.9.1 synchronizing measurements in the cr3000 — overview 5.2.9.2 synchronizing measurements in a datalogger network — overview large numbers of sensors, cable length restrictions, or long distances between measurement sites may require use of multiple cr3000s. 5.3 data retr...

  • Page 81

    Section 5. Overview 81 5.3.4 memory card (crd: drive) — overview related topics: • memory card (crd: drive) — overview (p. 81) • memory card (crd: drive) — details (p. 447) • memory cards and record numbers (p. 453) • data output: writing high-frequency data to memory cards (p. 217) • file system er...

  • Page 82

    Section 5. Overview 82 5.3.5 comms protocols the primary communication protocol is pakbus (p. 548). Pakbus is a protocol proprietary to campbell scientific. 5.3.5.1 pakbus comms — overview related topics: • pakbus comms — overview (p. 82) • pakbus networking guide (available at www.Campbellsci.Com/m...

  • Page 83

    Section 5. Overview 83 other comms protocols are also included: • web api (p. 475, p. 475) • modbus (p. 83) • dnp3 (p. 83) refer to specifications (p. 95) for a complete list of supported protocols. See data retrieval and comms peripherals — lists (p. 610) for devices available from campbell scienti...

  • Page 84

    Section 5. Overview 84 5.3.6.3 tcp/ip — overview related topics: • tcp/ip — overview • tcp/ip — details (p. 468) • tcp/ip links — list (p. 612) the following tcp/ip protocols are supported by the cr3000 when using network links (p. 612) that use the resident ip stack or when using a cell modem with ...

  • Page 85

    Section 5. Overview 85 menus — overview (p. 85). The keyboard/display will not operate when a usb cable is plugged into the usb port. 5.3.8.1 integrated keyboard/display the keyboard display, illustrated in figure wiring panel (p. 39), is an integrated feature of the cr3000. 5.3.8.2 character set th...

  • Page 86

    Section 5. Overview 86 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 cr3000. These include: multiplexers multiplexers increase the input capacity of terminals configured for an...

  • Page 87

    Section 5. Overview 87 the cr3000 is internally protected against accidental polarity reversal on the power inputs. The cr3000 has a modest-input power requirement. For example, in low-power applications, it can operate for several months on non-rechargeable batteries. Power systems for longer-term ...

  • Page 88

    Section 5. Overview 88 only one program is active at a given time. Two campbell scientific software applications, short cut and crbasic editor, are used to create cr3000 programs. • short cut creates a datalogger program and wiring diagram in four easy steps. It supports most sensors sold by campbel...

  • Page 89

    Section 5. Overview 89 note all security features can be subverted through physical access to the cr3000. If absolute security is a requirement, the physical cr3000 must be kept in a secure location. 5.9 maintenance — overview related topics: • maintenance — overview (p. 89) • maintenance — details ...

  • Page 90

    Section 5. Overview 90 the cr3000 uses an internal voltage reference to routinely calibrate itself. Campbell scientific recommends factory recalibration as specified in specifications (p. 95). If calibration services are required, see assistance (p. 5). 5.9.4 internal battery — overview related topi...

  • Page 91

    Section 5. Overview 91 • loggerlink mobile apps — simple tools that allow an ios or android device to communicate with ip, wi-fi, or bluetooth enabled cr3000s; includes most pc200w functionality. • pc400 datalogger support software — includes pc200w functions, crbasic editor, and supports all campbe...

  • Page 92

    Section 5. Overview 92 proportional control modules are available. See appendix plc control modules — list (p. 607). Tips for writing a control program: • short cut programming wizard has provisions for simple on/off control. • pid control can be done with the cr3000. Control decisions can be based ...

  • Page 93

    Section 5. Overview 93 • factory calibration (p. 89) • factory calibration or repair procedure (p. 500) the cr3000 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...

  • Page 94

    Section 5. Overview 94 o data memory o communication memory o usr: drive — user allocated — fat32 ram drive — photographic images (see cameras — list (p. 610)) — data files from tablefile() instruction (toa5, tob1, csixml and csijson) o keep memory (p. 543) (os variables not initialized) o dynamic r...

  • Page 95: 6. Specifications

    95 6. Specifications 1.1 -- 8 10 30 cr3000 specifications are valid from ─25° to 50°c in non-condensing environments unless otherwise specified. Recalibration is recommended every three years. Critical specifications and system configurations should be confirmed with a campbell scientific sales engi...

  • Page 97: 7. Installation

    97 7. Installation related topics: • quickstart (p. 37) • specifications (p. 95) • installation (p. 97) • operation (p. 335) 7.1 enclosures — details enclosures — details (p. 97) enclosures — products (p. 621) illustrated in figure enclosure (p. 98) is the typical use of enclosures available from ca...

  • Page 98

    Section 7. Installation 98 figure 28: enclosure 7.2 power supplies — details related topics: • power input terminals — specifications • power supplies — quickstart (p. 39) • power supplies — overview (p. 86) • power supplies — details (p. 98) • power supplies — products (p. 618) • power sources (p. ...

  • Page 99

    Section 7. Installation 99 the cr3000 is internally protected against accidental polarity reversal on the power inputs. The cr3000 has a modest-input power requirement. For example, in low-power applications, it can operate for several months on non-rechargeable batteries. Power systems for longer-t...

  • Page 100

    Section 7. Installation 100 • power supplies — details (p. 98) • power supplies — products (p. 618) • power sources (p. 99) • troubleshooting — power supplies (p. 517) be aware that some vac-to-vdc power converters produce switching noise or ac (p. 529) ripple as an artifact of the ac-to-dc rectific...

  • Page 101

    Section 7. Installation 101 figure 29: connecting to vehicle power supply 7.2.4 uninterruptable power supply (ups) a ups (un-interruptible power supply) is often the best power source for long- term installations. An external ups consists of a primary-power source, a charging regulator external to t...

  • Page 102

    Section 7. Installation 102 a thermal fuse in the alkaline base will allow a current drain of 1.85 a at 20 °c (1.3 a at 50 °c). In event of a short, the thermal fuse will cut power after about 40 seconds. 7.2.7.1 alkaline-battery base consult the appendix power supplies — list (p. 618) for models an...

  • Page 103

    Section 7. Installation 103 alkaline battery temperatures and service temperature percent of service at 20 °c 1 20 °c to 50 °c 100 % 15 °c 98 % 10 °c 94 % 5 °c 90 % 0 °c 86 % –10 °c 70 % –20 °c 50 % –30 °c 30 % 1 data based on one "d" cell under conditions of 50 ma current drain with a 30 Ω load. As...

  • Page 104

    Section 7. Installation 104 green charging input connector located on the side of the base. The charging source powers the cr3000 while float charging the batteries. The batteries power the cr3000 if the charging source is interrupted. The table sealed rechargeable battery and ac transformer specifi...

  • Page 105

    Section 7. Installation 105 6. Reconnect the white power connector to the datalogging module. Re-seat the module and tighten down the knurled thumbscrews. Re-seat the terminal strips if necessary. 7. Switch the power switch to on. 8. Check for normal datalogging function before leaving the site. Sea...

  • Page 106

    Section 7. Installation 106 figure 31: sealed-rechargeable battery wiring cr3000 ac-transformer specifications feature specification input 120 vac, 60 hz isolated output 18 vac 1.11 amp 7.2.7.3 low profile (no battery) base a cr3000 with the low-profile base (see battery bases — list (p. 619)) will ...

  • Page 107

    Section 7. Installation 107 7.3.1 esd protection related topics: • esd protection (p. 107) • lightening protection (p. 108) esd (electrostatic discharge) can originate from several sources, the most common and destructive being lightning strikes. Primary lightning strikes hit the cr3000 or sensors d...

  • Page 108

    Section 7. Installation 108 figure 32: schematic of grounds 7.3.1.1 lightning protection related topics: • esd protection (p. 107) • lightening protection (p. 108) the most common and destructive esds are primary and secondary lightning strikes. Primary lightning strikes hit instrumentation directly...

  • Page 109

    Section 7. Installation 109 note lightning strikes may damage or destroy the cr3000 and associated sensors and power supplies. In addition to protections discussed in , use of a simple lightning rod and low- resistance path to earth ground is adequate protection in many installations. . Figure 33: l...

  • Page 110

    Section 7. Installation 110 these fluctuations by separating signal grounds ( ) from power grounds (g). To take advantage of this design, observe the following rules: • connect grounds associated with 12v, sw12, 5v, and c1 – c8 terminals to g terminals. • connect excitation grounds to the nearest te...

  • Page 111

    Section 7. Installation 111 potentials at the two instruments. For this reason, a differential measurement should be made on the analog output from the external signal conditioner. 7.3.4 ground looping in ionic measurements when measuring soil-moisture with a resistance block, or water conductivity ...

  • Page 112

    Section 7. Installation 112 figure 34: model of a ground loop with a resistive sensor 7.4 protection from moisture — details protection from moisture — overview (p. 89) protection from moisture — details (p. 112) protection from moisture — products (p. 622) when humidity levels reach the dew point, ...

  • Page 113

    Section 7. Installation 113 7.5.1 tools — setup configuration tools include the following: • device configuration utility (p. 113) • network planner (p. 114) • info tables and settings (p. 117) • crbasic program (p. 118) • executable cpu: files (p. 118) • keyboard display (p. 493) • terminal command...

  • Page 114

    Section 7. Installation 114 figure 35: device configuration utility (devconfig) 7.5.1.2 network planner — setup tools network planner is a drag-and-drop application used in designing pakbus datalogger networks. You interact with network planner through a drawing canvas upon which are placed pc and d...

  • Page 115

    Section 7. Installation 115 figure 36: network planner setup 7.5.1.2.1 overview — network planner network planner allows you to • create a graphical representation of a network, as shown in figure network planner setup (p. 115), • determine settings for devices and loggernet, and • program devices a...

  • Page 116

    Section 7. Installation 116 • it does not generate datalogger programs. • it does not understand distances or topography; that is, it does not warn when broadcast distances are exceeded, nor does it identify obstacles to radio transmission. For more detailed information on network planner, please co...

  • Page 117

    Section 7. Installation 117 7.5.1.3 info tables and settings — setup tools related topics: • info tables and settings (p. 567) • common uses of the status table (p. 569) • status table as debug resource (p. 510) info tables and settings contain fields, settings, and information essential to setup, p...

  • Page 118

    Section 7. Installation 118 operations, retrieving these tables repeatedly may cause skipped scans (p. 512). 7.5.1.4 crbasic program — setup tools info tables and settings can be set or accessed using crbasic instructions setstatus() or setsetting(). For example, to set the setting stationname to bl...

  • Page 119

    Section 7. Installation 119 7.5.1.5.1 default.Cr3 file a file named default.Cr3 can be stored on the cr3000 cpu: drive. At power up, the cr3000 loads default.Cr3 if no other program takes priority (see executable file run priorities (p. 122)) . Default.Cr3 can be edited to preserve critical datalogg...

  • Page 120

    Section 7. Installation 120 or with comms. There is no restriction on the length of the file. Crbasic example using an "include file" (p. 121) shows a program that expects a file to control power to a modem. Consider the the example "include file", cpu:pakbus_broker.Dld. The rules used by the cr3000...

  • Page 121

    Section 7. Installation 121 figure 38: "include" file settings with pakbusgraph using an "include" file 'this program example demonstrates the use of an 'include' file. An 'include' file is a crbasic file that usually 'resides on the cpu: drive of the cr3000. It is essentially a subroutine that is '...

  • Page 122

    Section 7. Installation 122 public ptemp, batt_volt datatable (test,1,-1) datainterval (0,15,sec,10) minimum (1,batt_volt,fp2,0,false) sample (1,ptemp,fp2) endtable beginprog scan (1,sec,0,0) paneltemp (ptemp,250) battery (batt_volt) calltable test nextscan include "cpu:includefile.Cr1" ' endprog 'i...

  • Page 123

    Section 7. Installation 123 6. If there is no default.Cr3 file or it cannot be compiled, the cr3000 will not automatically run any program. 7.5.2 setup tasks following are a few common configuration actions: • updating the operating system (p. 123). • access cr3000 infor tables and settings (p. 117)...

  • Page 124

    Section 7. Installation 124 note the following precautions: • since sending an os resets cr3000 memory, data loss will certainly occur. Depending on several factors, the cr3000 may also become incapacitated for a time. O is sending the os necessary to correct a critical problem? If not, consider wai...

  • Page 125

    Section 7. Installation 125 pros/cons this is a good way to recover a cr3000 that has gone into an unresponsive state. Often, an operating system can be loaded even if you are unable to communicate with the cr3000 through other means. Loading an operating system through this method will do the follo...

  • Page 126

    Section 7. Installation 126 4. Stop current program deletes data and clears run options 5. Deletes data generated using the cardout() or tablefile() instructions 7.5.2.1.3 os update with send program command a send program command is a feature of devconfig and other datalogger support software (p. 6...

  • Page 127

    Section 7. Installation 127 4. Select the os file to send 5. Restart the existing program through file control, or send a new program with crbasic editor and specify new run options. Pros/cons this is the best way to load a new operating system on the cr3000 and have its settings retained (most of t...

  • Page 128

    Section 7. Installation 128 loading an operating system through this method will do the following: 1. Preserve all datalogger settings 2. Delete all data in final storage 3. Preserve usr drive and data stored there 4. Maintains program run options 5. Deletes data generated using the cardout() or tab...

  • Page 129

    Section 7. Installation 129 figure 39: summary of cr3000 configuration 7.6 crbasic programming — details related topics: • crbasic programming — overview (p. 87) • crbasic programming — details (p. 129) • programming resource library (p. 181) • crbasic editor help programs are created with either sh...

  • Page 130

    Section 7. Installation 130 crbasic program structure program element 1 purpose const declare fixed constants. Public declare and dimension variables viewable during program execution. Dim declare and dimension variables not viewable during program execution. Alias assign aliases to variables. Units...

  • Page 131

    Section 7. Installation 131 crbasic program structure 'declarations 'define constants const revdiff = 1 const del = 0 'default const integ = 250 const mult = 1 const offset = 0 declare constants 'define public variables public reftemp public tc(6) 'define units units reftemp = degc units tc = degc d...

  • Page 132

    Section 7. Installation 132 'begin program beginprog 'set scan interval scan (1,sec,3,0) 'measurements paneltemp (reftemp,250) tcdiff (tc()...Offset) measure 'processing (none in this 'example) scan loop 'call data table calltable temp call data table 'controls (none in this 'example) 'loop to next ...

  • Page 133

    Section 7. Installation 133 modification of the ascii text file that constitutes the cr3000 application program. Crbasic editor is a component of loggernet , rtdaq , and pc400 datalogger support software (p. 90). Fundamental elements of crbasic include the following: • variables — named packets of c...

  • Page 134

    Section 7. Installation 134 inserting comments 'this program example demonstrates the insertion of comments into a program. Comments are 'placed in two places: to occupy single lines, such as this explanation does, or to be 'placed after a statement. 'declaration of variables starts here. Public sta...

  • Page 135

    Section 7. Installation 135 7.6.3.1.1 multiple statements on one line multiple short statements can be placed on a single text line if they are separated by a colon (:). This is a convenient feature in some programs. However, in general, programs that confine text lines to single statements are easi...

  • Page 136

    Section 7. Installation 136 • alias • stationname the table rules for names (p. 169) lists declaration names and allowed lengths. See predefined constants (p. 148) for other naming limitations. 7.6.3.3 declaring variables a variable is a packet of memory that is given an alphanumeric name. Measureme...

  • Page 137

    Section 7. Installation 137 7.6.3.3.1 declaring data types variables and data values stored in final memory can be configured with various data types to optimize program execution and memory usage. The declaration of variables with the dim or public instructions allows an optional type descriptor as...

  • Page 138

    Section 7. Installation 138 data types in variable memory name comman d description word size (bytes) notes resolution / range string as string ascii string minimum : 3 (4 with null terminato r) default: 24 maximu m: limited only to the size of available cr3000 memory. See caution. 1 string size is ...

  • Page 139

    Section 7. Installation 139 data types in final-storage memory name argument description word size (bytes) notes resolution / range long long signed integer 4 use to store count data in the range of ±2,147,483,648 speed: integer math is faster than floating point math. Resolution: 32 bits. Compare t...

  • Page 140

    Section 7. Installation 140 data types in final-storage memory name argument description word size (bytes) notes resolution / range nsec nsec time stamp 8 divided up as four bytes of seconds since 1990 and four bytes of nanoseconds into the second. Used to record and process time data. See nsec data...

  • Page 141

    Section 7. Installation 141 'boolean variable examples public switches(8) as boolean public flags(16) as boolean 'string variable example public firstname as string * 16 'allows a string up to 16 characters long datatable (tablename,true,-1) 'fp2 data storage example sample (1,z,fp2) 'ieee4 / float ...

  • Page 142

    Section 7. Installation 142 with (x,y,z) being the indices, have (x • y • z) number of variables in a cubic x-by- y-by-z matrix. Dimensions greater than three are not permitted by crbasic. When using variables in place of integers as dimension indices (see crbasic example using variable array dimens...

  • Page 143

    Section 7. Installation 143 works best in practice. Crbasic example flag declaration and use (p. 143) demonstrates changing words in a string based on a flag. Flag declaration and use 'this program example demonstrates the declaration and use of flags as boolean variables, 'and the use of strings to...

  • Page 144

    Section 7. Installation 144 when a function() function returns a pointer, apply the ! Operator to the function call, as shown in the following example: function constrainfunc(value as long,low as long,high as long) as long if !Value then return low elseif !Value > !High then return high else return ...

  • Page 145

    Section 7. Installation 145 using a variable array in calculations 'this program example demonstrates the use of a variable array to reduce code. In this 'example, two variable arrays are used to convert four temperature measurements from 'degree c to degrees f. Public tempc(4) public tempf(4) dim t...

  • Page 146

    Section 7. Installation 146 • perform a mathematical or logical operation for each element in a dimension using scalar or similarly located elements in different arrays and dimensions here are some syntax rules and behaviors. Given the array, array(a,b,c): • the () pair must always be present, i.E.,...

  • Page 147

    Section 7. Installation 147 initializing variables 'this program example demonstrates how variables can be declared as specific data types. 'variables not declared as a specific data type default to data type float. Also 'demonstrated is the loading of values into variables that are being declared. ...

  • Page 148

    Section 7. Installation 148 size of the mantissa, which is ±16,777,216. If the attempt is made to express a floating-point constant outside of this range, precision may be lost. Constants in a constant table can also be changed using the setsetting() instruction and the constant table using the cr10...

  • Page 149

    Section 7. Installation 149 program needs to access that value, the program must use the the alias-derived name. Variables in one, two, and three dimensional arrays can be assigned units. Units are not used elsewhere in programming, but add meaning to resultant data table headers. If different units...

  • Page 150

    Section 7. Installation 150 load binary information into a variable 'this program example demonstrates how binary data are loaded into a variable. The binary 'format (1 = high, 0 = low) is useful when loading the status of multiple flags 'or ports into a single variable. For example, storing the bin...

  • Page 151

    Section 7. Installation 151 multi-statement declarations can be located as follows: • prior to beginprog, • after endsequence or an infinite scan() / nextscan and before endprog or slowsequence • immediately following slowsequence. Slowsequence code starts executing after any declaration sequence. O...

  • Page 152

    Section 7. Installation 152 typical data table toa5 cr3000 cr3000 1048 cr3000.Std.13.06 cpu:data.Cr3 35723 onemin timestamp record battvolt_avg ptempc_avg tempc_avg(1) tempc_avg(2) ts rn volts deg c deg c deg c avg avg avg avg 7/11/2007 16:10 0 13.18 23.5 23.54 25.12 7/11/2007 16:20 1 13.18 23.5 23....

  • Page 153

    Section 7. Installation 153 identifies the array index. For example, a variable named values, which is declared as a two-by-two array in the datalogger program, will be represented by four field names: values(1,1), values(1,2), values(2,1), and values(2,2). Scalar variables will not have array subscr...

  • Page 154

    Section 7. Installation 154 datatable (table1,true,-1) datainterval (0,1440,min,0) 'optional instruction to trigger table at 24-hour interval minimum (1,batt_volt,fp2,false,false) 'optional instruction to determine minimum batt_volt endtable 'main program beginprog scan (5,sec,1,0) 'default datalogg...

  • Page 155

    Section 7. Installation 155 begin overwriting the oldest data) at about the same time. Approximately 2 kb of extra data-table space are allocated to minimize the possibility of new data overwriting the oldest data in ring memory when datalogger support software (p. 90) collects the oldest data at th...

  • Page 156

    Section 7. Installation 156 data frame before the next record is written. Consequently, programs that lapse frequently waste significant memory. If lapses is set to an argument of 20, the memory allocated for the data table is increased by enough memory to accommodate 20 sub-headers (320 bytes). If ...

  • Page 157

    Section 7. Installation 157 note array-based dataloggers, such as cr10x and cr23x, use open intervals exclusively. Data output processing instructions data-storage processing instructions (aka, "output processing" instructions) determine what data are stored in a data table. When a data table is cal...

  • Page 158

    Section 7. Installation 158 use of the disable variable 'this program example demonstrates the use of the 'disable' variable, or disablevar, which 'is a parameter in many output processing instructions. Use of the 'disable' variable 'allows source data to be selectively included in averages, maxima,...

  • Page 159

    Section 7. Installation 159 note a particular subroutine can be called by multiple program sequences simultaneously. To preserve measurement and processing integrity, the cr3000 queues calls on the subroutine, allowing only one call to be processed at a time in the order calls are received. This may...

  • Page 160

    Section 7. Installation 160 7.6.3.12 execution and task priority execution of program instructions is divided among the following three tasks: • measurement task — rigidly timed measurement of sensors connected directly to the cr3000 • cdm task — rigidly timed measurement and control of cdm/cpi (p. ...

  • Page 161

    Section 7. Installation 161 program tasks measurement task digital task processing task • analog measurements • excitation • read pulse counters (pulse()) • read control ports (getport()) • set control ports (setport()) • vibratingwire( ) • periodavg() • cs616() • calibrate() • sdm instructions, exc...

  • Page 162

    Section 7. Installation 162 3. Measurements in slow sequences 4. Processing tasks 7.6.3.12.2 sequential mode sequential mode executes instructions in the sequence in which they are written in the program. Sequential mode may be slower than pipeline mode since it executes only one line of code at a t...

  • Page 163

    Section 7. Installation 163 7.6.3.13 execution timing timing of program execution is regulated by timing instructions listed in the following table. Program timing instructions instructions general guidelines syntax form scan() / nextscan use in most programs. Begins / ends the main scan. Beginprog ...

  • Page 164

    Section 7. Installation 164 beginprog / scan() / nextscan / endprog syntax 'this program example demonstrates the use of beginprog/endprog and scan()/nextscan syntax. Public paneltemp_ datatable (paneltempdata,true,-1) datainterval (0,1,min,10) sample (1,paneltemp_,fp2) endtable beginprog ' scan (1,...

  • Page 165

    Section 7. Installation 165 splicing, measurements in a slow sequence may span across multiple-scan intervals in the main program. When no measurements need to be spliced, the slow-sequence scan will run independent of the main scan, so slow sequences with no measurements can run at intervals ≤ main...

  • Page 166

    Section 7. Installation 166 permission to proceed with a measurement is granted by the measurement semaphore (p. 554). Main scans with measurements have priority to acquire the semaphore before measurements in a calibration or slow-sequence scan. The semaphore is taken by the main scan at its beginn...

  • Page 167

    Section 7. Installation 167 figure 40: sequential-mode scan priority flow diagrams 7.6.3.14 programming instructions in addition to basic syntax, additional instructions are included in crbasic to facilitate measurements and store data. See crbasic editor help (p. 132) for a comprehensive list of th...

  • Page 168

    Section 7. Installation 168 paneltemp(dest,integ) paneltemp is the keyword. Two parameters follow: dest, a destination variable name in which the temperature value is stored; and integ, of a length of time to integrate the measurement. To place the panel temperature measurement in the variable refte...

  • Page 169

    Section 7. Installation 169 caution concerning characters allowed in names, characters not listed in in the table, rules for names, may appear to be supported in a specific operating system. However, they may not be supported in future operating systems. Rules for names name category 1 maximum lengt...

  • Page 170

    Section 7. Installation 170 'datatable(name, trigvar, size) datatable (temp, tc > 100, 5000) when the trigger is tc > 100, a thermocouple temperature greater than 100 sets the trigger to true and data are stored. 7.6.3.16 programming expression types an expression is a series of words, operators, or...

  • Page 171

    Section 7. Installation 171 discuss floating-point arithmetic thoroughly. One readily available source is the topic floating point at www.Wikipedia.Org. In summary, cr3000 programmers should consider at least the following: • floating-point numbers do not perfectly mimic real numbers. • floating-poi...

  • Page 172

    Section 7. Installation 172 boolean from float or long when a float or long is converted to a boolean as shown in crbasic example conversion of float / long to boolean (p. 172), zero becomes false (0) and non-zero becomes true (-1). Conversion of float / long to boolean 'this program example demonst...

  • Page 173

    Section 7. Installation 173 evaluation of integers 'this program example demonstrates the evaluation of integers. Public i as long public x as float beginprog i = 126 x = (i+3) * 3.4 'i+3 is evaluated as an integer, then converted to float data type before it is 'multiplied by 3.4. Endprog constants...

  • Page 174

    Section 7. Installation 174 argument true is predefined in the cr3000 operating system to only equal -1, so only the argument -1 is always translated as true. Consider the expression if condition(1) = true then ... This condition is true only when condition(1) = -1. If condition(1) is any other non-...

  • Page 175

    Section 7. Installation 175 using true or false conditions with logic operators such as and and or, logical expressions can be encoded to perform one of the following three general logic functions. Doing so facilitates conditional processing and control applications: 1. Evaluate an expression, take ...

  • Page 176

    Section 7. Installation 176 logical expression examples the not operator complements every bit in the word. A boolean can be false (0 or all bits set to 0) or true (- 1 or all bits set to 1). Complementing a boolean turns true to false (all bits complemented to 0). Example program '(a and b) = (26 a...

  • Page 177

    Section 7. Installation 177 'program beginprog scan (1,sec,0,0) 'assign strings to string variables word(1) = "good" word(2) = "morning" word(3) = "dave" word(4) = "i'm" word(5) = "sorry" word(6) = "afraid" word(7) = "i" word(8) = "can't" word(9) = "do" word(10) = "that" word(11) = " " word(12) = ",...

  • Page 178

    Section 7. Installation 178 • prc is the abbreviation of the name of the data process used. See table data process abbreviations (p. 178) for a complete list of these abbreviations. This is not needed for values from status or public tables. • fieldname index is the array element number in fields th...

  • Page 179

    Section 7. Installation 179 where wderr is a declared variable, status is the table name, and watchdogerrors is the keyword for the watchdog error field. Seven special variable names are used to access information about a table. • eventcount • eventend • output • record • tablefull • tablesize • tim...

  • Page 180

    Section 7. Installation 180 the week, such as monday or friday. See crbasic editor help topic function/endfunction 7.6.4 sending crbasic programs the cr3000 requires that a crbasic program file be sent to its memory to direct measurement, processing, and data storage operations. The program file can...

  • Page 181

    Section 7. Installation 181 editor. Compile > compile, save, send displays the window shown in figure crbasic editor program send file control window (p. 181) before the program is sent. To keep data, select run now, run on power-up, and preserve data if no table changed, then press send program. No...

  • Page 182

    Section 7. Installation 182 beginprog / scan / nextscan / endprog syntax 'this program example demonstrates detection and recording of an event. An event has a 'beginning and an end. This program records an event as occurring at the end of the event. 'the event recorded is the transition of a delta ...

  • Page 183

    Section 7. Installation 183 conditional output 'this program example demonstrates the conditional writing of data to a data table. It 'also demonstrates use of stationname() and units instructions. 'declare station name (saved to status table) stationname (delta_temp_station) 'declare variables publ...

  • Page 184

    Section 7. Installation 184 groundwater pump test 'this program example demonstrates the use of multiple scans in a program by running a 'groundwater pump test. Note that scan() time units of sec have been changed to msec for 'this demonstration to allow the program to run its course in a short time...

  • Page 185

    Section 7. Installation 185 'minute 10 to 30 of test: 30-second data-output interval scan (30,msec,0,40) 'there are 40 30-second scans in 20 minutes scancounter(2) = scancounter(2) + 1 'included to show passes through this scan battery (batt_volt) paneltemp (ptemp,250) call measurelevel 'call output...

  • Page 186

    Section 7. Installation 186 7.7.1.4 miscellaneous features crbasic example miscellaneous program features (p. 186) shows how to use several crbasic features: data type, units, names, event counters, flags, data- output intervals, and control statements. Miscellaneous program features 'this program e...

  • Page 187

    Section 7. Installation 187 'optional – declare a station name into a location in the status table. Stationname (cr1000_on_desk) 'optional -- declare units. Units are not used in programming, but only appear in the 'data file header. Units batt_volt = volts units ptemp = deg c units airtemp = deg c ...

  • Page 188

    Section 7. Installation 188 scan (1,sec,1,0) 'measurements 'battery voltage battery (batt_volt) 'wiring panel temperature paneltemp (ptemp_c,250) 'type t thermocouple measurements: tcdiff (airtemp_c,1,mv20c,1,typet,ptemp_c,true,0,_60hz,1,0) tcdiff (airtemp_f,1,mv20c,1,typet,ptemp_c,true,0,_60hz,1.8,...

  • Page 189

    Section 7. Installation 189 pulsecountreset is needed in applications wherein two separate pulsecount() instructions in separate scans measure the same pulse input terminal. While the compiler does not allow multiple pulsecount() instructions in the same scan to measure the same terminal, multiple s...

  • Page 190

    Section 7. Installation 190 scan (5,sec,1,0) 'measure reference temperature paneltemp (ptemp_c,250) 'measure three thermocouples and scale each. Scaling factors from the scaling array 'are applied to each measurement because the syntax uses an argument of 3 in the reps 'parameter of the tcdiff() ins...

  • Page 191

    Section 7. Installation 191 program signatures 'this program example demonstrates how to request the program text signature (progsig = status.Progsignature), and the 'binary run-time signature (runsig = status.Runsignature). It also calculates two 'executable code segment signatures (exesig(1), exes...

  • Page 192

    Section 7. Installation 192 use of multiple scans 'this program example demonstrates the use of multiple scans. Some applications require 'measurements or processing to occur at an interval different from that of the main 'program scan. Secondary scans are preceded with the slowsequence instruction....

  • Page 193

    Section 7. Installation 193 loading large data sets 'this program example demonstrates how to load a set of data into variables. Twenty values 'are loaded into two arrays: one declared as float, one declared as long. Individual data 'lines can be many more values long than shown (limited only by max...

  • Page 194

    Section 7. Installation 194 • mathematical • logical examples include: • process a variable array without use of for/next • create boolean arrays based on comparisons with another array or a scalar variable • copy a dimension to a new location • perform logical operations for each element in a dimen...

  • Page 195

    Section 7. Installation 195 • if indices are not specified, or none have been preceded with a minus sign, the least significant dimension of the array is assumed. • the offset into the dimension being accessed is given by (a,b,c). • if the array is referenced as array(), the starting point is array(...

  • Page 196

    Section 7. Installation 196 beginprog scan (1,sec,0,0) for i = 1 to 2 'for each column of the source array a(), copy the column into a row of the 'destination array at() at(i,-1)() = a(-1,i)() next i nextscan endprog array assigned expression: comparison / boolean evaluation 'example: comparison / b...

  • Page 197

    Section 7. Installation 197 array assigned expression: fill array dimension 'example: fill array dimension public a(3) public b(3,2) public c(4,3,2) public da(3,2) = {1,1,1,1,1,1} public db(3,2) public dmultiplier(3) = {10,100,1000} public doffset(3) = {1,2,3} beginprog scan (1,sec,0,0) a() = 1 'set...

  • Page 198

    Section 7. Installation 198 note this instruction should not normally be inserted within a for/next construct with the source and destination parameters indexed and reps set to 1. Doing so will perform a single running average, using the values of the different elements of the array, instead of perf...

  • Page 199

    Section 7. Installation 199 for the example above, the delay is: delay in time = (1 ms) • (4 – 1) / 2 = 1.5 ms example: an accelerometer was tested while mounted on a beam. The test had the following characteristics: o accelerometer resonant frequency ≈ 36 hz o measurement period = 2 ms o running av...

  • Page 200

    Section 7. Installation 200 figure 42: running-average frequency response figure 43: running-average signal attenuation.

  • Page 201

    Section 7. Installation 201 7.7.5 data output: two intervals in one data table two data-output intervals in one data table 'this program example demonstrates the use of two time intervals in a data table. One time 'interval in a data table is the norm, but some applications require two. ' 'allocate ...

  • Page 202

    Section 7. Installation 202 'call output tables calltable twoint nextscan endprog 7.7.6 data output: triggers and omitting samples trigvar is the third parameter in the datatable() instruction. It controls whether or not a data record is written to final memory. Trigvar control is subject to other c...

  • Page 203

    Section 7. Installation 203 figure 44: data from trigvar program using trigvar to trigger data storage 'this program example demonstrates the use of the trigvar parameter in the datatable() 'instruction to trigger data storage. In this example, the variable counter is 'incremented by 1 at each scan....

  • Page 204

    Section 7. Installation 204 of information (eight states with one bit per state). To store the same information using a 32 bit boolean data type, 256 bits are required (8 states * 32 bits per state). When programming with bool8 data type, repetitions in the output processing datatable() instruction ...

  • Page 205

    Section 7. Installation 205 figure 45: alarms toggled in bit shift example figure 46: bool8 data from bit shift example (numeric monitor).

  • Page 206

    Section 7. Installation 206 figure 47: bool8 data from bit shift example (pc data file) bool8 and a bit shift operator 'this program example demonstrates the use of the bool8 data type and the ">>" bit-shift 'operator. Public alarm(32) public flags as long public flagsbool8(4) as long datatable (boo...

  • Page 207

    Section 7. Installation 207 '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 ...

  • Page 208

    Section 7. Installation 208 flagsbool8(1) = flags and &hff 'and 1st 8 bits of "flags" & 11111111 flagsbool8(2) = (flags >> 8) and &hff 'and 2nd 8 bits of "flags" & 11111111 flagsbool8(3) = (flags >> 16) and &hff 'and 3rd 8 bits of "flags" & 11111111 flagsbool8(4) = (flags >> 24) and &hff 'and 4th 8 ...

  • Page 209

    Section 7. Installation 209 nsec — one element time array 'this program example demonstrates the use of nsec data type to determine seconds since '00:00:00 1 january 1990. A time stamp is retrieved into variable timevar(1) as seconds 'since 00:00:00 1 january 1990. Because the variable is dimensione...

  • Page 210

    Section 7. Installation 210 'program beginprog scan (1,sec,0,0) paneltemp (ptempc,250) maxvar = firsttable.Ptempc_max timeofmaxvar = firsttable.Ptempc_tmx calltable firsttable calltable secondtable nextscan endprog nsec — seven and nine element time arrays 'this program example demonstrates the use ...

  • Page 211

    Section 7. Installation 211 nsec —convert timestamp to universal time 'this program example demonstrates the use of nsec data type to convert a data time stamp 'to universal time. ' 'application: the cr3000 needs to display universal time (ut) in human readable 'string forms. The cr3000 can calculat...

  • Page 212

    Section 7. Installation 212 7.7.9.1 outputopt parameters in the cr3000 windvector() instruction, the outputopt parameter defines the processed data that are stored. All output options result in an array of values, the elements of which have _wvc(n) as a suffix, where n is the element number. The arr...

  • Page 213

    Section 7. Installation 213 note cup anemometers typically have a mechanical offset which is added to each measurement. A numeric offset is usually encoded in the crbasic program to compensate for the mechanical offset. When this is done, a measurement will equal the offset only when wind speed is z...

  • Page 214

    Section 7. Installation 214 7.7.9.2.2 calculations input sample vectors figure 48: input sample vectors in figure input sample vectors (p. 214), the short, head-to-tail vectors are the input sample vectors described by s i and Θ i , the sample speed and direction, or by ue i and un i , the east and ...

  • Page 215

    Section 7. Installation 215 or, in the case 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 49: mean wind-vector graph where for polar sensors:.

  • Page 216

    Section 7. Installation 216 or, in the case of orthogonal sensors: resultant mean wind direction, Θu: standard deviation of wind direction, σ (Θu), using campbell scientific algorithm: the algorithm for σ (Θu) is developed by noting, as shown in the figure standard deviation of direction (p. 216), t...

  • Page 217

    Section 7. Installation 217 equating the two expressions for cos (θ') and using the previous equation for s i ; solving for (Θ i ') 2 , one obtains; summing (Θ i ') 2 over n samples and dividing by n yields the variance of Θu. Note the sum of the last term equals 0. The term, is 0 if the deviations ...

  • Page 218

    Section 7. Installation 218 • data file format examples (p. 450) • data storage drives table (p. 445) the usual method for writing high-frequency time series data to memory cards, especially in high-speed measurement applications, is to use the tablefile() instruction with option 64. It supports 16 ...

  • Page 219

    Section 7. Installation 219 • allowing multiple small files to be written from the same data table so that storage for a single table can exceed 2 gb. Tablefile() controls the size of its output files through the numrecs, timeintointerval, and interval parameters. • faster compile times when small f...

  • Page 220

    Section 7. Installation 220 7.7.10.4 converting tob3 files with cardconvert the tob3 format that is used to write data to memory cards saves disk space. However, the resulting binary files must be converted to another format to be read or used by other programs. The cardconvert software, included in...

  • Page 221

    Section 7. Installation 221 interval that will be included in each file. For example, if the maximum file size specified is 2 gb, the datalogger must scan through and pre-allocate 2 gb of card memory. However, if smaller files are specified, then compile times are reduced because the datalogger is o...

  • Page 222

    Section 7. Installation 222 q: can data be accessed? A: yes. Data in the open or most recent file can be collected using the collect or custom collect utilities in loggernet, pc400, or rtdaq. Data can also be viewed using datalogger support software or accessed through the datalogger using data tabl...

  • Page 223

    Section 7. Installation 223 common applications. Individual menu screens support up to eight lines of text with up to seven variables. Use the following crbasic instructions. Refer to crbasic editor help for complete information. Displaymenu() marks the beginning and end of a custom menu. Only one a...

  • Page 224

    Section 7. Installation 224 custom menu example — accept / clear notes window (p. 225) custom menu example — control sub menu (p. 226) custom menu example — control led pick list (p. 226) custom menu example — control led boolean pick list (p. 226) figure 52: custom menu example — home screen figure...

  • Page 225

    Section 7. Installation 225 figure 55: custom menu example — predefined notes pick list figure 56: custom menu example — free entry notes window figure 57: custom menu example — accept / clear notes window.

  • Page 226

    Section 7. Installation 226 figure 58: custom menu example — control sub menu figure 59: custom menu example — control led pick list figure 60: custom menu example — control led boolean pick list note see figures custom menu example — home screen (p. 224) through custom menu example — control led bo...

  • Page 227

    Section 7. Installation 227 custom menus 'this program example demonstrates the building of a custom cr1000kd keyboard/display menu. 'declarations supporting view data menu item public reftemp 'reference temp variable public tctemp(2) 'thermocouple temp array 'delarations supporting blank line menu ...

  • Page 228

    Section 7. Installation 228 menuitem ("accept/clear",cyclenotes) menupick (accept,clear) endsubmenu submenu ("control ") 'create submenu named paneltemps menuitem ("count to led",countdown) 'create menu item countdown menupick (15,30,45,60) 'create a pick list for countdown menuitem ("manual led",to...

  • Page 229

    Section 7. Installation 229 7.7.12 field calibration — details related topics: • field calibration — overview (p. 79) • field calibration — details (p. 229) calibration increases accuracy of a sensor by adjusting or correcting its output to match independently verified quantities. Adjusting a sensor...

  • Page 230

    Section 7. Installation 230 • fieldcal() — the principal instruction used for non-strain gage type sensors. For introductory purposes, use one fieldcal() instruction and a unique set of fieldcal() variables for each sensor. For more advanced applications, use variable arrays. • fieldcalstrain() — th...

  • Page 231

    Section 7. Installation 231 • valid mode variable entries are 1 or 4. Before, during, and after calibration, one of the following codes will be stored in the calmode variable: fieldcal() codes value returned state -1 error in the calibration setup -2 multiplier set to 0 or nan ; measurement = nan -3...

  • Page 232

    Section 7. Installation 232 7.7.12.4.2 two-point calibrations (gain and offset) use this two-point calibration procedure to adjust multipliers (slopes) and offsets (y intercepts). See fieldcal() slope and offset (opt 2) example (p. 238) and fieldcal() slope (opt 3) example (p. 240) for demonstration...

  • Page 233

    Section 7. Installation 233 • two-point slope only • zero basis (designed for use with static vibrating wire measurements) these demonstration programs are provided as an aid in becoming familiar with the fieldcal() features at a test bench without actual sensors. For the purpose of the demonstratio...

  • Page 234

    Section 7. Installation 234 3. To start the 'calibration', set variable calmode = 1. When calmode increments to 6, zero calibration is complete. Calibrated rhoffset will equal - 5% at this stage of this example. 4. To continue this example and simulate a zero-drift condition, set variable simulatedr...

  • Page 235

    Section 7. Installation 235 'declare variable for fieldcal() control public calmode 'declare data table for retrievable calibration results datatable (calhist,newfieldcal,200) samplefieldcal endtable beginprog 'load calibration constants from file cpu:calhist.Cal 'effective after the zero calibratio...

  • Page 236

    Section 7. Installation 236 calibration report for salinity sensor crbasic variable at deployment at seven-day service simulatedsalinitysignal output 1350 mv 1345 mv knownsalintiy (standard solution) 30 mg/l 30 mg/l salinitymultiplier 0.05 mg/l/mv 0.05 mg/l/mv salinityoffset -37.50 mg/l -37.23 mg/l ...

  • Page 237

    Section 7. Installation 237 fieldcal() offset 'this program example demonstrates the use of fieldcal() in calculating and applying an 'offset calibration. An offset calibration compares the signal magnitude of a sensor to a 'known standard and calculates an offset to adjust the sensor output to the ...

  • Page 238

    Section 7. Installation 238 'simulate signal then make the measurement 'zero calibration is applied when variable calmode = 6 excitev (vx1,simulatedsalinitysignal,0) voltse (salinity,1,mv2000,1,1,0,250,0.05,salinityoffset) 'perform an offset calibration. 'start by setting variable calmode = 1. Finis...

  • Page 239

    Section 7. Installation 239 a. For the first point, set variable simulatedflowsignal = 300. Set variable knownflow = 30.0. B. Start the calibration by setting variable calmode = 1. C. When calmode increments to 3, for the second point, set variable simulatedflowsignal = 550. Set variable knownflow =...

  • Page 240

    Section 7. Installation 240 'measurements), the routine is complete. Note the new values in variables flowmultiplier and 'flowoffest. Now enter a new value in the simulated sensor signal as follows and note 'how the new multiplier and offset scale the measurement: ' simulatedflowsignal = 1000 'note:...

  • Page 241

    Section 7. Installation 241 parameter. Subsequent measurements are scaled with the same multiplier. Fieldcal() option 3 does not affect offset. Some measurement applications do not require determination of offset. Frequency analysis, for example, may only require relative data to characterize change...

  • Page 242

    Section 7. Installation 242 fieldcal() multiplier 'this program example demonstrates the use of fieldcal() in calculating and applying a 'multiplier only calibration. A multiplier calibration compares the signal magnitude of a 'sensor to known standards. The calculated multiplier scales the reported...

  • Page 243

    Section 7. Installation 243 'perform a multiplier calibration. 'start by setting variable calmode = 1. Finished when variable calmode = 6. 'fieldcal(function, measurevar, reps, multvar, offsetvar, mode, knownvar, index, avg) fieldcal (3,wc,1,wcmultiplier,0,calmode,knownwc,1,30) 'if there was a calib...

  • Page 244

    Section 7. Installation 244 fieldcalstrain() with the manufacturer's gage factor (gf), becoming the adjusted gage factor (gf adj ), which is then used as the gage factor in straincalc(). Gf is stored in the cal file and continues to be used in subsequent calibrations. Non-linearity of the bridge is ...

  • Page 245

    Section 7. Installation 245 figure 61: quarter-bridge strain gage with rc resistor shunt fieldcalstrain() calibration 'this program example demonstrates the use of the fieldcalstrain() instruction by measuring 'quarter-bridge strain-gage measurements. Public raw_mvperv public microstrain 'variables ...

  • Page 246

    Section 7. Installation 246 scan (100,msec,100,0) 'measure bridge resistance brfull (raw_mvperv,1,mv50,1,vx1,1,2500,true ,true ,0,250,1.0,0) 'calculate strain for 1/4 bridge (1 active element) straincalc (microstrain,1,raw_mvperv,zero_mvperv,1,gf_adj,0) 'steps (1) & (3): zero calibration 'balance br...

  • Page 247

    Section 7. Installation 247 figure 63: strain gage shunt calibration finish 7.7.12.6.4 fieldcalstrain() quarter-bridge zero continuing from fieldcalstrain() quarter-bridge shunt example (p. 246), keep the 249 kΩ resistor in place to simulate a strain. Using the cr1000kd keyboard/display or software ...

  • Page 248

    Section 7. Installation 248 7.7.13 measurement: fast analog voltage measurement speed requirements vary widely. The following are examples: • an agricultural weather station measures weather and soil sensors once every 10 seconds. • a station that warns of rising water in a stream bed measures at 10...

  • Page 249

    Section 7. Installation 249 o brhalf3w() o brhalf4w() o therm107() o therm108() o therm109() • differential instructions: o voltdiff() o tcdiff() o brfull() o brfull6w() o resistance() to do this, use the same programming techniques demonstrated in the following example programs. Actual measurements...

  • Page 250

    Section 7. Installation 250 analog voltage measurement: cluster burst 'this program makes 500 measurements of two single-ended channels at 500 hz. 'sample pattern is 1,2,1,2. Measurement cycle is repeated every 1 sec. The following 'programming features are key to making this application work: '--pi...

  • Page 251

    Section 7. Installation 251 dwell burst measurement 'this program makes 1735 measurements of two single-ended channels at '2000 hz. Sample pattern is 1,1,1..., pause, 2,2,2..., pause. 'measurement cycle is repeated every 2 sec. The following programming features are 'key to making this application w...

  • Page 252

    Section 7. Installation 252 voltage measurement instruction parameters for dwell burst parameters description destination a variable array dimensioned to store all measurements from one input. For example, the declaration, dim fasttemp(500) dimensions array fasttemp() to store 500 measurements, whic...

  • Page 253

    Section 7. Installation 253 • when testing and troubleshooting fast measurements, the following status table registers may provide useful information: o skippedscan (p. 590) o measuretime (p. 585) o processtime (p. 588) o maxproctime (p. 584) o buffdepth (p. 577) o maxbuffdepth (p. 584) • when the n...

  • Page 254

    Section 7. Installation 254 o subscan()/nextsubscan introduces potential problems. These are discussed in subscan() / next sub (p. 165). O subscan()/nextsubscan counts cannot be larger than 65535. O for subscan()/nextsubscan to work, set scan()/nextscan interval large enough for counts to finish bef...

  • Page 255

    Section 7. Installation 255 'excite - delay 1 second - differential measurement: excitev (vx2,2500,0) ' delay (0,1000,msec) voltdiff (voltagediff,1,mv5000,2,true,0,250,1.0,0) 'write data to final-data memory calltable voltage nextscan endprog 7.7.15 serial i/o: sdi-12 sensor support — details relate...

  • Page 256

    Section 7. Installation 256 to enter the sdi-12 transparent mode, enter the datalogger support software terminal emulator as shown in the figure entering sdi-12 transparent mode (p. 256). Press enter until the cr3000 responds with the prompt cr3000>. Type sdi12 at the prompt and press enter. In resp...

  • Page 257

    Section 7. Installation 257 an active sensor responds to each command. Responses have several standard forms and terminate with (carriage return–line feed). Sdi-12 commands and responses are defined by the sdi-12 support group (www.Sdi-12.Org) and are summarized in the table standard sdi-12 command ...

  • Page 258

    Section 7. Installation 258 sdi-12 commands for transparent mode command name command syntax 1 response 2 notes 1 if the terminator ' ! ' is not present, the command will not be issued. The crbasic sdi12recorder() instruction, however, will still pick up data resulting from a previously issued c! Co...

  • Page 259

    Section 7. Installation 259 100000 indicates the sensor model. 1.2 is the sensor version. 101 is the sensor serial number. Sdi-12 start measurement commands measurement commands elicite responses in the form: atttnn where: a is the sensor address ttt is the time (s) until measurement data are availa...

  • Page 260

    Section 7. Installation 260 syntax: ac! Aborting an sdi-12 measurement command a measurement command (m! Or c!) is aborted when any other valid command is sent to the sensor. Sdi-12 send data command send data commands are normally issued automatically by the cr3000 after the amv! Or acv! Measuremen...

  • Page 261

    Section 7. Installation 261 example syntax: ar5! 7.7.15.2 sdi-12 recorder mode the cr3000 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 be captured in programmed mode by placing a variable declared as str...

  • Page 262

    Section 7. Installation 262 sdi-12 commands for programmed (sdirecorder()) mode command name sdirecorder() sdicommand argument sdi-12 command sent sensor response 1 cr3000 response notes cr3000: if ttt = 0, issues adv! Command(s). If nnn = 0 then nan put in the first element of the array. Sensor: re...

  • Page 263

    Section 7. Installation 263 7.7.15.2.1 alternate start concurrent measurement command note acv and acv! Are different commands — acv does not end with !. The sdirecorder() acv command facilitates using the sdi-12 standard start concurrent command (acv!) without the back-to-back measurement sequence ...

  • Page 264

    Section 7. Installation 264 'non-sdi-12 measurements here nextscan slowsequence scan (5,min,0,0) sdi12recorder (temp(1),1,0,"m!",1.0,0) sdi12recorder (temp(2),1,1,"m!",1.0,0) sdi12recorder (temp(3),1,2,"m!",1.0,0) sdi12recorder (temp(4),1,3,"m!",1.0,0) nextscan endsequence endprog however, problems ...

  • Page 265

    Section 7. Installation 265 12 sensor. The trick is to synchronize the returned sdi-12 values with the main scan. Acv start alternate concurrent measurement. Syntax: acv using sdi12sensor() to test cv command 'this program example demonstrates how to use crbasic to simulate four sdi-12 sensors. This...

  • Page 266

    Section 7. Installation 266 slowsequence do sdi12sensorsetup (1,5,2,95) delay (1,95,sec) sdi12sensorresponse (temp(3)) loop endsequence slowsequence do sdi12sensorsetup (1,7,3,95) delay (1,95,sec) sdi12sensorresponse (temp(4)) loop endsequence endprog using alternate concurrent command (ac) 'this pr...

  • Page 267

    Section 7. Installation 267 'measure sdi-12 sensors sdi12recorder (temp_tmp(1),1,0,cmd(1),1.0,0) sdi12recorder (temp_tmp(2),1,1,cmd(2),1.0,0) sdi12recorder (temp_tmp(3),1,2,cmd(3),1.0,0) sdi12recorder (temp_tmp(4),1,3,cmd(4),1.0,0) 'control measurement event for x = 1 to 4 if cmd(x) = "c!" then retr...

  • Page 268

    Section 7. Installation 268 program can be coded to parse the response and issue subsequent sdi-12 commands based on a customized evaluation of the response. See serial i/o input programming basics (p. 311). Using an sdi-12 extended command 'this program example demonstrates the use of sdi-12 extend...

  • Page 269

    Section 7. Installation 269 123, the sdi-12 recorder will accept only a response of n = 1 when issuing an amx! Command, or a response of nn = 12 when issuing an acx! Command. When programmed as an sdi-12 sensor, the cr3000 will respond to sdi-12 commands m, mc, c, cc, r, rc, v, ?, and i. See table s...

  • Page 270

    Section 7. Installation 270 sdi-12 sensor configuration crbasic example — results measurement command from sdi-12 recorder source variables accessed from the cr3000 acting as a sdi-12 sensor contents of source variables 0m! Source(1), source(2) temperature °c, battery voltage 0m0! Same as 0m! 0m1! S...

  • Page 271

    Section 7. Installation 271 power draw would be excessive. Spreading sensors over several sdi-12 terminals will help reduce power consumption. Example power usage profile for a network of sdi-12 probes time into measuremen t process (s) command all probes awake time out expires probe 1 (ma 1 ) probe...

  • Page 272

    Section 7. Installation 272 as an example, pseudo code using this feature might be written as: const destination = loggertype #if destination = 3000 then #elseif destination = 1000 then #elseif destination = 800 then #elseif destination = 6 then #else #endif for example, this logic allows a simple c...

  • Page 273

    Section 7. Installation 273 'public variables public valueread, selectedspeed as string * 50 'main program beginprog 'return the selected speed and logger type for display. #if loggertype = 3000 selectedspeed = "cr3000 running at " & speed & " intervals." #elseif loggertype = 1000 selectedspeed = "c...

  • Page 274

    Section 7. Installation 274 • prts are not usually manufactured ready to use for most cr3000 prt setups. This section gives procedures and diagrams for many circuit setups. It also has relatively simplified examples of each circuit type and associated crbasic programming. 7.7.17.1 measurement theory...

  • Page 275

    Section 7. Installation 275 prt measurement circuit overview configuration features note • voltage excitation four-wire half-bridge (p. 277) • high accuracy over long leads • more input terminals: four per sensor • slower: four differential sub measurements per measurement best voltage excitation co...

  • Page 276

    Section 7. Installation 276 • rtd type for examples: 100 Ω prt (a.K.A, pt100), α = 0.00385 • temperature measurement range for examples: –40 to 60 °c • general forms of callander-van dusen equations using crbasic notation: o t = g * k^4 + h * k^3 + i * k^2 + j * k (temperatures o t = (sqrt(d * (rs/r...

  • Page 277

    Section 7. Installation 277 input limits (mv) cr6 cr800/cr1000 cr3000 ±5000 ±5000 ±5000 excitation ranges cr6 cr800/cr1000 cr3000 ±2500 mv ±2500 mv ±5000 mv ±2.000 ma n/a ±2.500 ma 7.7.17.3 example: 100 Ω prt in four -wire half bridge with voltage excitation (pt100 / brhalf4w() ) figure 67: pt100 br...

  • Page 278

    Section 7. Installation 278 procedure 1. Build circuit 1 : a. Use figure: pt100 brhalf4w() four-wire half-bridge schematic (p. 277) as a template. B. Rf should approximately equal the resistance of the pt100 at 0 °c. Use a 1%, 10 ppm/°c resistor. 2. Wire circuit to datalogger: use figure: pt100 brha...

  • Page 279

    Section 7. Installation 279 d. Calculate rs 0 rs 0 = x 0 • rf = 100000 mΩ wow! We are lucky to have a perfect prt! In the real world, prt resistance at 0 °c will probably la nd on either side of 100 Ω. 5. Measure the sensor: if you are doing a dry run, assume the temperature is 10 °c. A. Enter crbas...

  • Page 280

    Section 7. Installation 280 crbasic programs and notes pt100 brhalf4w() four-wire half-bridge calibration 'this program example demonstrates the calibration of a 100-ohm prt (pt100) in a four-wire 'half bridge with voltage excitation. See adjacent procedure and schematic. 'declare constants and vari...

  • Page 281

    Section 7. Installation 281 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 (...

  • Page 282

    Section 7. Installation 282 bridge resistor values (mΩ) rf 100000 procedure 1. Build circuit 1 : a. Use figure: pt100 brhalf3w() three-wire half-bridge schematic (p. 281) 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 ...

  • Page 283

    Section 7. Installation 283 c. Measure the prt. If you are doing a dry run, assume the result of brhalf3w() = x 0 . = 0.01000 d. Calculate rs 0 rs 0 = x 0 • 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 100 Ω. 5...

  • Page 284

    Section 7. Installation 284 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 va...

  • Page 285

    Section 7. Installation 285 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. 281)) . The maximum difference expected in wire res...

  • Page 286

    Section 7. Installation 286 ii. Select a 1% resistor for r2 with a resistance that is approximately equal to the resistance of the prt at 10 °c. See procedure information (pt100 brfull() full bridge) (p. 296). Since a 103.9 Ω resistor is hard to find, use a 100 Ω resistor. It is close enough. Use 5 ...

  • Page 287

    Section 7. Installation 287 pt100 brfull() four-wire full-bridge calibration 'this program example demonstrates the calibration 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 '...

  • Page 288

    Section 7. Installation 288 c. Measure with brfull(). If you are doing a dry run, assume the result of resistance() = x 10 = 0.7491. D. Calculate rs 10 : x2 10 = (x 10 / 1000) + (r2 / (r1 + r2) = 0.02036 rs 10 = (r4 • x2 10 ) / (1 – x2 10 ) = 103900 6. Calculate rs 10 /rs 0 , k, and temperature: a. ...

  • Page 289

    Section 7. Installation 289 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 '...

  • Page 290

    Section 7. Installation 290 calibrate prt used: x cal = (1000*(v1 cal /vx)), where (1000*(v1 cal /vx)) is the output of brfull() with mult = 1, offset = 0 x3 cal = (x cal *0.001) + (r2/(r1+r2)) related: v1 cal = vx*((r3 cal /(r3 cal +r4)) – (r2/(r1+r2))) slope, offset, and xp m = 0.001 b = (r2/(r1+r...

  • Page 291

    Section 7. Installation 291 figure 70: pt100 resistance() basic-circuit schematic procedure information resistance() basic circuit equation x = v / ix = rs procedure 1. Build circuit 1 : a. Use figure: pt100 resistance() basic-circuit schematic (p. 291) as a template. B. For rf, choose a 1%, 10 ppm/...

  • Page 292

    Section 7. Installation 292 4. Calibrate the pt100: if the prt accuracy specification is good enough, and you trust it, assume rs 0 = 100000 mΩ. Otherwise, do the following procedure: a. Enter crbasic example: pt100 resistance basic-circuit calibration (p. 293) into the cr3000. It is already program...

  • Page 293

    Section 7. Installation 293 crbasic programs and notes pt100 resistance() basic-circuit calibration 'this program example demonstrates the calibration of a 100-ohm prt (pt100) 'with current excitation. See previous procedure and schematic. 'declare constants and variables: public x 'raw output from ...

  • Page 294

    Section 7. Installation 294 measuring multiple prts (pt100 resistance() basic-circuit series) if you connect only one prt to a [u] [ix] terminal configured for current excitation, the previous procedure serves well. However, if multiple prts are measured from a single excitation terminal, the sum of...

  • Page 295

    Section 7. Installation 295 figure 71: pt100 resistance() basic-circuit series schematic pt100 resistance() basic-circuit measurement 'this program example demonstrates the measurement of 100-ohm prt (pt100) with 'current excitation. See previous procedure and schematic. 'declare constants and varia...

  • Page 296

    Section 7. Installation 296 7.7.17.7 example: 100 Ω prt in four -wire full bridge with current excitation (pt100 / full-bridge resistance() ) figure 72: pt100 resistance() four-wire full-bridge schematic procedure information four-wire half-bridge equations for prt example x = v1 / ix x = ((r3 • (r1...

  • Page 297

    Section 7. Installation 297 resistance() four-wire full-bridge bridge-resistance (rb) values rs –40 rs 0 rs 10 rs 60 °c –40 0 10 60 rb 2551036 2554990 2555969 2560810 procedure 1. Build circuit 1 : a. Use figure: pt100 resistance() four-wire full-bridge schematic (p. 296) as a template. B. Choose a ...

  • Page 298

    Section 7. Installation 298 4. Calibrate the pt100: if the prt accuracy specification is good enough, and you trust it, assume rs 0 = 100000 mΩ. Otherwise, do the following procedure: a. Enter crbasic example: pt100 resistance() full-bridge calibration (p. 299) into the cr3000. It is already program...

  • Page 299

    Section 7. Installation 299 crbasic programs and notes pt100 resistance() four-wire full-bridge calibration 'this program example demonstrates the calibration of a 100-ohm prt (pt100) in a four-wire 'full bridge with current excitation. See previous procedure and schematic ' 'declare constants and v...

  • Page 300

    Section 7. Installation 300 7.7.17.8 prt callendar-van dusen coefficients 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 call...

  • Page 301

    Section 7. Installation 301 prttype codes depend on the alpha value of the prt, which is determined and published by the prt manufacturer. Prtcalc()prttype = 1 , α = 0.00385 1 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...

  • Page 302

    Section 7. Installation 302 prtcalc()prttype = 3 , α = 0.00391 1 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...

  • Page 303

    Section 7. Installation 303 prtcalc()prttype = 5 , α = 0.00375 1 constant coefficient h -5.4315860e+00 i 9.9196550e+00 j 2.6238290e+02 1 honeywell industrial sensors, α = 0.00375 (reference: honeywell) prtcalc()prttype = 6 , α = 0.003926 1 constant coefficient a 3.9848000e-03 d -2.3480000e-06 e 1.82...

  • Page 304

    Section 7. Installation 304 7.7.18.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 cr3000...

  • Page 305

    Section 7. Installation 305 when a standardized serial protocol is supported by the cr3000, such as pakbus or modbus, translation of bytes is relatively easy and transparent. However, when bytes require specialized translation, specialized code is required in the crbasic program, and development tim...

  • Page 306

    Section 7. Installation 306 7.7.18.3 protocols pakbus is the protocol native to the cr3000 and transparently handles routine point-to-point and network communications among pcs and campbell scientific dataloggers. Modbus and dnp3 are industry-standard networking scada protocols that optionally opera...

  • Page 307

    Section 7. Installation 307 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-dup...

  • Page 308

    Section 7. Installation 308 term: rs-232c refers to the standard used to define the hardware signals and voltage levels. The cr3000 supports several options of serial logic and voltage levels including rs-232 logic at ttl levels and ttl logic at ttl levels. Term: rx receive term: sp space term: star...

  • Page 309

    Section 7. Installation 309 • 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 argument (0 or -nnnn) and ensure this option supports pakbus ® in ...

  • Page 310

    Section 7. Installation 310 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 (a...

  • Page 311

    Section 7. Installation 311 7.7.18.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 th...

  • Page 312

    Section 7. Installation 312 — example: public serialinstring as string * 25 o observe the input string in the input string variable in a numeric monitor (p. 547). Note serialin() and serialinrecord() both receive data. Serialinrecord() is best for receiving streaming data. Serialin() is best for rec...

  • Page 313

    Section 7. Installation 313 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() command). O example: serialout (com1,serialoutstring,"",0,...

  • Page 314

    Section 7. Installation 314 • binary — bytes are processed on a bit-by-bit basis. Character 0 (null, &b00) is a valid part of binary data streams. However, the cr3000 uses null terminated strings, so anytime a null is received, a string is terminated. The termination is usually premature when readin...

  • Page 315

    Section 7. Installation 315 7.7.18.5.6 serial i/o example i crbasic example receiving an rs-232 string (p. 315) is provided as an exercise in serial input / output programming. The example only requires the cr3000 and a single-wire jumper between com1 tx and com2 rx. The program simulates a temperat...

  • Page 316

    Section 7. Installation 316 'output string via the serial port serialout (com1,serialoutstring,"",0,100) 'serial in code 'receives string "27.435,56.789" via com2 'uses * and # character as filters serialopen (com2,9600,0,0,10000) 'open a serial port 'receive serial data as a string '42 is ascii cod...

  • Page 317

    Section 7. Installation 317 figure 73: hyperterminal new connection description figure 74: hyperterminal connect-to settings.

  • Page 319

    Section 7. Installation 319 7.7.18.6.2 create send-text file create a file from which to send a serial string. The file shown in the figure hyperterminal send-text file example (p. 319) will send the string [2008:028:10:36:22]c to the cr3000. Use notepad (microsoft windows utility) or some other tex...

  • Page 320

    Section 7. Installation 320 acquisition network. The network administrator prefers to synchronize the cr510 clocks from a central computer using the legacy campbell scientific c command. The cr510 datalogger is hard-coded to output printable ascii and recognize the c command. Cr3000 dataloggers, how...

  • Page 321

    Section 7. Installation 321 'hidden variables dim i, rtime(9), onemindata(6), outfrag(6) as string dim instringsize, instringsplit(5) as string dim date, month, year, doy, hour, minute, second, usecond dim leapmod4, leapmod100, leapmod400 dim leap4 as boolean , leap100 as boolean , leap400 as boolea...

  • Page 322

    Section 7. Installation 322 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 month = 1 date = doy...

  • Page 323

    Section 7. Installation 323 'if it is not a leap year, use this section. Else select case doy case is month = 1 date = doy case is month = 2 date = doy + -31 case is month = 3 date = doy + -59 case is month = 4 date = doy + -90 case is month = 5 date = doy + -120 case is month = 6 date = doy + -151 ...

  • Page 324

    Section 7. Installation 324 kwhh = kwh_in kvarh = kvarh_i kwhhold = kwhh + kwhhold kvarhold = kvarh + kvarhold calltable onemintable '////////////////////serial i/o section///////////////////// serialopen (comrs232,9600,0,0,10000) '///////////////serial time set input section/////////////// 'accept ...

  • Page 325

    Section 7. Installation 325 'send printable ascii string out rs-232 port serialout (comrs232,outstring,"",0,220) endif nextscan endprog 7.7.18.7 serial i/o q & a q: i am writing a cr3000 program to transmit a serial command that contains a null character. The string to transmit is: chr(02)+chr(01)+"...

  • Page 326

    Section 7. Installation 326 packet. For this reason serialopen() leaves the interface powered up so no incoming bytes are lost. When the cr3000 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 t...

  • Page 327

    Section 7. Installation 327 q: what are the termination conditions that will stop incoming data from being stored? A: termination conditions: • terminationchar argument is received • maxnumchars argument is met • timeout argument is exceeded serialin() does not stop storing when a null character (&h...

  • Page 328

    Section 7. Installation 328 7.7.19.1 string operators the table string operators (p. 328) 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 ...

  • Page 329

    Section 7. Installation 329 string operators operator description , >, , , >=, = ascii codes of the first characters in each string are compared. If the difference between the codes is zero, codes for the next characters are compared. When unequal codes or null are encountered (null terminates all s...

  • Page 330

    Section 7. Installation 330 beginprog scan (1,sec,0,0) i = 0 'set i to zero 'data type of the following destination variables is float 'because num() array is declared as float. I += 1 'increment i by 1 to clock through sequential elements of the num() array 'as shown in the following expression, if...

  • Page 331

    Section 7. Installation 331 7.7.19.3 string null character all strings are automatically null terminated. Null is the same as chr(0) or "", counts as one of the characters in the string. Assignment of just one character is that character followed by a null, unless the character is a null. String nul...

  • Page 332

    Section 7. Installation 332 7.7.19.4 inserting string characters example: objective: use movebytes() to change "123456789" to "123a56789" given: stringvar(7) = "123456789" 'result is "123456789" try (does not work): stringvar(7,1,4) = "a" 'result is "123a56789" instead, use: stringvar(7) = movebytes...

  • Page 333

    Section 7. Installation 333 j() and outvar are local since they are declared as parameters in the sub() instruction, sub process(j(4) as long,outvar). Variable j() is a four-element array and variable outvar is a single-element array. The call statement, call processsub (counter(1),pi_product) passe...

  • Page 334

    Section 7. Installation 334 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 335: 8. Operation

    335 8. Operation related topics: • quickstart (p. 37) • specifications (p. 95) • installation (p. 97) • operation (p. 335) 8.1 measurements — details related topics: • sensors — quickstart (p. 37) • measurements — overview (p. 67) • measurements — details (p. 335) • sensors — lists (p. 609) several ...

  • Page 336

    Section 8. Operation 336 • program execution times are usually short, so time stamp skew is only a few milliseconds. Most measurement requirements allow for a few milliseconds of skew. • data processed into averages, maxima, minima, and so forth are composites of several measurements. Associated tim...

  • Page 337

    Section 8. Operation 337 'allow data to be stored 510 ms into the scan with a s.51 time stamp slowsequence do waittriggersequence calltable (test) loop endprog other time-processing crbasic instructions are governed by these same rules. Consult crbasic editor help for more information on specific in...

  • Page 338

    Section 8. Operation 338 the following topics discuss methods of generally improving voltage measurements. Related information for special case voltage measurements (thermocouples (p. 355), current loops (p. 380), resistance (p. 367), and strain (p. 378)) is located in sections for those measurement...

  • Page 339

    Section 8. Operation 339 terminals are not available, an analog multiplexer should be acquired to expand differential input capacity. Because a single-ended measurement is referenced to cr3000 ground, any difference in ground potential between the sensor and the cr3000 will result in an error in the...

  • Page 340

    Section 8. Operation 340 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 comme...

  • Page 341

    Section 8. Operation 341 ac noise rejection on small signals the cr3000 rejects ac power line noise on all voltage ranges except mv5000 and mv1000 by integrating the measurement over exactly one full ac cycle before a- to-d (p. 529) conversion as listed in table ac noise rejection on small signals (...

  • Page 342

    Section 8. Operation 342 ac noise rejection on large signals 1 restated, when the cr3000 is programmed to use the half-cycle 50 hz or 60 hz rejection techniques, a sensor does not see a continuous excitation of the length entered as the settling time before the second measurement — if the settling t...

  • Page 343

    Section 8. Operation 343 figure 80: input voltage rise and transient decay crbasic measurement settling times settlingtime argument integ argument resultant settling time 1 0 250 200 µs 0 _50hz 3 ms 0 _60hz 3 ms integer ≥ 100 integer μs entered in settlingtime argument 1 200 µs is the minimum settli...

  • Page 344

    Section 8. Operation 344 simply connects between the ix terminal and the ixr terminal. The capacitor has no polarity. • in difficult cases, settling error can be measured as described in measuring settling time (p. 344). Measuring settling time settling time for a particular sensor and cable can be ...

  • Page 345

    Section 8. Operation 345 beginprog scan (1,sec,3,0) brfull (pt(1),1,mv20,1,vx1,2500,true,true,100, 250,1.0,0) brfull (pt(2),1,mv20,1,vx1,2500,true,true,200, 250,1.0,0) brfull (pt(3),1,mv20,1,vx1,2500,true,true,300, 250,1.0,0) brfull (pt(4),1,mv20,1,vx1,2500,true,true,400, 250,1.0,0) brfull (pt(5),1,...

  • Page 346

    Section 8. Operation 346 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/2000 23:34 0 0.03638599 0.03901386 0.04022673 0.04042887 0.04103531 0.04123745 1/3/2000 23:34 1 0.03658813 0.03921601 0.04002459 0.04042887 0.04103531 0.04143...

  • Page 347

    Section 8. Operation 347 • if the open circuit is at the end of a very long cable, the test pulse (300 mv) may not charge the cable (with its high capacitance) up to a voltage that generates nan or a distinct error voltage. The cable may even act as an aerial and inject noise which also might not re...

  • Page 348

    Section 8. Operation 348 voltage offset can be the source of significant error. For example, an offset of 3 μv on a 2500 mv signal causes an error of only 0.00012%, but the same offset on a 0.25 mv signal causes an error of 1.2%. The primary sources of offset voltage are ground currents and the seeb...

  • Page 349

    Section 8. Operation 349 • 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 ...

  • Page 350

    Section 8. Operation 350 offset voltage compensation options crbasic measurement instruction input reversal (revdiff =true) excitation reversal (revex = true) measure offset during measurement (measoff = true) measure offset during background calibration (revdiff = false) (revex = false) (measoff = ...

  • Page 351

    Section 8. Operation 351 there are four delays per measure. The cr3000 processes the four sub- measurements into the reported measurement. In cases of excitation reversal, excitation time for each polarity is exactly the same to ensure that ionic sensors do not polarize with repetitive measurements....

  • Page 352

    Section 8. Operation 352 measurement accuracy read more for an in-depth treatment of accuracy estimates, see the technical paper measurement error analysis soon available at www.Campbellsci.Com/app-notes. Accuracy describes the difference between a measurement and the true value. Many factors affect...

  • Page 353

    Section 8. Operation 353 analog voltage measurement resolution input voltage range (mv) differential measurement with input reversal ( µ v) basic resolution ( µ v) ±5000 83.33 167 ±1000 16.67 33.4 ±200 3.33 6.67 ±50 0.83 1.67 ±20 0.33 0.67 note — see specifications (p. 95) for a complete tabulation ...

  • Page 354

    Section 8. Operation 354 figure 82: example voltage measurement accuracy band, including the effects of percent of reading and offset, for a differential measurement with input reversal at a temperature between 0 to 40 °c. Measurement accuracy example the following example illustrates the effect per...

  • Page 355

    Section 8. Operation 355 where percent-of- reading = 5000 mv • ±0.04% = ±2 mv and offset = (1.5 • 167 µv) + 1 µv = 0.252 mv therefore, accuracy = ±2 mv + 0.251 mv = ±2.252 mv electronic noise electronic "noise" can cause significant error in a voltage measurement, especially when measuring voltages ...

  • Page 356

    Section 8. Operation 356 the micro-volt resolution and low-noise voltage measurement capability of the cr3000 is well suited for measuring thermocouples. A thermocouple consists of two wires, each of a different metal or alloy, joined at one end to form the measurement junction. At the opposite end,...

  • Page 357

    Section 8. Operation 357 used to calculate the temperature from resistance, the accuracy of panel temperature is estimated in figure: panel temperature error summary (p. 358). In summary, error is estimated at ± 0.1 °c over 0 to 40 °c, ± 0.3 °c from –25 to 50 °c, and ± 0.8 °c from –55 to 85 °c. The ...

  • Page 358

    Section 8. Operation 358 figure 83: panel temperature error summary figure 84: panel temperature gradients (low temperature to high).

  • Page 359

    Section 8. Operation 359 figure 85: panel temperature gradients (high temperature to low) thermocouple limits of error the standard reference that lists thermocouple output voltage as a function of temperature (reference junction at 0°c) is the nist (national institute of standards and technology) m...

  • Page 360

    Section 8. Operation 360 voltage vs. Temperature curve) are needed for the various thermocouples. Lacking this information, a reasonable approach is to apply the percentage errors, with perhaps 0.25% added on, to the difference in temperature being measured by the thermocouple. Limits of error for t...

  • Page 361

    Section 8. Operation 361 voltage range for maximum thermocouple resolution 1 thermocouple type and temperature range (°c) temperature range (°c) for±20 mv input range temperature range (°c) for ±50 mv input range temperature range (°c) for ±200 mv input range t: –270 to 400 –270 to 395 not used not ...

  • Page 362

    Section 8. Operation 362 input error examples: type t thermocouple @ 45°c these examples demonstrate that in the environmental temperature range, input- offset error is much greater than input-gain error because a small input range is used. Conditions: cr3000 module temperature, –25 to 50 °c tempera...

  • Page 363

    Section 8. Operation 363 conditions cr3000 module temperature, –25 to 50 °c temperature = 1300 °c reference temperature = 25 °c delt a t (temperature difference) = 1275 °c thermocouple output multiplier at 1300 °c = 34.9 µv °c -1 thermocouple output = 1275 °c • 34.9 µv °c -1 = 44500 µv input range =...

  • Page 364

    Section 8. Operation 364 thermocouple polynomial error nist monograph 175 gives high-order polynomials for computing the output voltage of a given thermocouple type over a broad range of temperatures. To speed processing and accommodate the cr3000 math and storage capabilities, four separate 6th-ord...

  • Page 365

    Section 8. Operation 365 the reference junction temperature measurement can come from a paneltemp() instruction or from any other temperature measurement of the reference junction. The standard and extended (-xt) operating ranges for the cr3000 are –25 to 50 °c and –40 to 85 °c, respectively. These ...

  • Page 366

    Section 8. Operation 366 thermocouple error examples source error: °c : % of total error differential without input reversal 250 µs integration differential with input reversal 50/60 hz rejection integration ansi tc error (1 °c) tc error 1% slope ansi tc error (1 °c) tc error 1% slope reference temp...

  • Page 367

    Section 8. Operation 367 when an external-junction box is also the reference junction, the points a, a', b, and b' need to be very close in temperature (isothermal) to measure a valid reference temperature, and to avoid thermoelectric-offset voltages. The box should contain elements of high thermal ...

  • Page 368

    Section 8. Operation 368 offset voltages compensation applies to bridge measurements. In addition to revdiff and measoff parameters discussed in offset voltage compensation (p. 347), crbasic bridge measurement instructions include the revex parameter that provides the option to program a second set ...

  • Page 369

    Section 8. Operation 369 resistive-bridge circuits with voltage excitation resistive-bridge type and circuit diagram crbasic instruction and fundamental relationship relational formulas four-wire half-bridge 1,3 crbasic instruction: brhalf4w() fundamental relationship 2 : full-bridge 1,3 crbasic ins...

  • Page 370

    Section 8. Operation 370 resistive-bridge circuits with current excitation 1 resistive-bridge type and circuit diagram crbasic instruction and fundamental relationship relational formulas four-wire resistance 2 crbasic instruction: resistance(). Fundamental relationship 3 : full bridge 2 crbasic ins...

  • Page 371

    Section 8. Operation 371 four-wire full-bridge measurement and processing 'this program example demonstrates the measurement and processing of a four-wire resistive 'full bridge. In this example, the default measurement stored in variable x is 'deconstructed to determine the resistance of the r1 res...

  • Page 372

    Section 8. Operation 372 measurements • voltage measurement accuracy, self- calibration, and ratiometric measurements • estimating measurement accuracy for ratiometric measurement instructions. Note error discussed in this section and error-related specifications of the cr3000 do not include error i...

  • Page 373

    Section 8. Operation 373 8.1.2.4 auto self-calibration — details related topics • auto self-calibration — overview (p. 92) • auto self-calibration — details (p. 373) • auto self-calibration — errors (p. 515) • offset voltage compensation (p. 347) • factory calibration (p. 89) • factory calibration o...

  • Page 374

    Section 8. Operation 374 21 segments. So, (21 segments) • (4 s / seg ment) = 84 s per complete auto self- calibration. The worst- case is (91 segments) • (4 s / segment) = 364 s per complete auto self-calibration. During instrument power-up, the cr3000 computes calibration coefficients by averaging ...

  • Page 375

    Section 8. Operation 375 an example use of the calibrate() instruction programmed to calibrate all input ranges is given in the following crbasic code snip: 'calibrate(dest,range) calibrate (cal(1),true) where dest is an array of 45 variables, and range ≠ 0 to calibrate all input ranges. Results of ...

  • Page 376

    Section 8. Operation 376 calseoffset() field descriptions ±mv input range integration calseoffset(6) 5000 60 hz rejection calseoffset(7) 1000 60 hz rejection calseoffset(8) 200 60 hz rejection calseoffset(9) 50 60 hz rejection calseoffset(10) 20 60 hz rejection calseoffset(11) 5000 50 hz rejection c...

  • Page 377

    Section 8. Operation 377 calibrate() instruction results cal() array field descriptions of array elements typical value differential (diff) single-ended (se) offset or gain ±mv input range integration 1 se offset 5000 250 ms ±25 lsb 2 diff offset 5000 250 ms ±25 lsb 3 gain 5000 250 ms –1.67 mv/lsb 4...

  • Page 378

    Section 8. Operation 378 calibrate() instruction results cal() array field descriptions of array elements typical value differential (diff) single-ended (se) offset or gain ±mv input range integration 31 se offset 5000 50-hz rejection ±25 lsb 32 diff offset 5000 50-hz rejection ±25 lsb 33 gain 5000 ...

  • Page 379

    Section 8. Operation 379 straincalc() instruction equations straincalc() brconfig code configuration 1 quarter-bridge strain gage 1 : 2 half-bridge strain gage 1 . One gage parallel to strain, the other at 90° to strain: 3 half-bridge strain gage. One gage parallel to + , the other parallel to - 1 :...

  • Page 380

    Section 8. Operation 380 straincalc example: see fieldcalstrain() examples (p. 243). 8.1.2.6 current measurements — details related topics: • current measurements — overview (p. 72) • current measurements — details (p. 380) for a complete treatment of current-loop sensors (4 to 20 ma, for example), ...

  • Page 381

    Section 8. Operation 381 the cr6 has fixed input ranges for voltage measurements and an auto-range to automatically determine the appropriate input voltage range for a given measurement. The table analog voltage input ranges and options (p. 381) lists these input ranges and codes. An approximate 9% ...

  • Page 382

    Section 8. Operation 382 analog voltage input ranges and options range code description 2 append with c to enable common-mode null / open-input detect (example: mv200c) input limits / common-mode range related topics: • voltage measurements — specifications • voltage measurements — overview (p. 68) ...

  • Page 383

    Section 8. Operation 383 the conclusion follows that the common-mode range is not a fixed number, but instead decreases with increasing differential voltage. For differential voltages that are small compared to the input limits, common-mode range is essentially equivalent to input limits. Yet for a ...

  • Page 384

    Section 8. Operation 384 voltage measurements are made using a successive approximation a-to-d (p. 529) converter to achieve a resolution of 16 bits. Prior to the a-to-d, a high impedance programmable-gain instrumentation amplifier (pgia) amplifies the signal. See figure programmable gain input ampl...

  • Page 385

    Section 8. Operation 385 store measurements from up to 14 differential or 28 single-ended channels configured from h/l terminals at the minimum scan interval of 10 ms (100 hz) using fast-measurement-programming techniques as discussed in measurement: fast analog voltage (p. 248). The maximum convers...

  • Page 386

    Section 8. Operation 386 with reference to the figure programmable gain input amplifier (pgia) (p. 384), during a single-ended measurement, the high signal (h) is routed to v+. The low signal (l) is automatically connected internally to signal ground with the low signal tied to ground ( ) at the wir...

  • Page 387

    Section 8. Operation 387 addressing voltage measurement quality: • preventing and attacking measurement noise problems • benefits of input reversal and excitation reversal for voltage measurements • voltage measurement accuracy, self- calibration, and ratiometric measurements • estimating measuremen...

  • Page 388

    Section 8. Operation 388 • sensors with a high signal-to-noise ratio, such as a relative-humidity sensor with a full-scale output of 0 to 1000 mv, can normally be measured as single-ended without a significant reduction in accuracy or precision. Sensors with a low signal-to-noise ratio, such as ther...

  • Page 389

    Section 8. Operation 389 • 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 may result in most of signal decaying before the measurement is complete. Note see ...

  • Page 390

    Section 8. Operation 390 figure 91: ac power noise rejection techniques ac noise rejection on small signals the cr3000 rejects ac power line noise on all voltage ranges except mv5000 and mv1000 by integrating the measurement over exactly one full ac cycle before a- to-d (p. 529) conversion as listed...

  • Page 391

    Section 8. Operation 391 ac noise rejection on large signals 1 ac-power line frequency measurement integration time crbasic integration code default settling time maximum recommended settling time 2 60 hz 250 μs • 2 _60hz 3000 μs 8330 μs 50 hz 250 μs • 2 _50hz 3000 μs 10000 μs 1 applies to analog in...

  • Page 392

    Section 8. Operation 392 programmed settling time is a function of arguments placed in the settlingtime and integ parameters of a measurement instruction. Argument combinations and resulting settling times are listed in table crbasic measurement settling times (p. 343). Default settling times (those...

  • Page 393

    Section 8. Operation 393 • 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 ample settling time. The settling time required can be measured with the cr3000. • w...

  • Page 394

    Section 8. Operation 394 measuring settling time 'this program example demonstrates the measurement of settling time using a single 'measurement instruction multiple times in succession. In this case, the program measures 'the temperature of the cr3000 wiring panel. Public reftemp 'declare variable ...

  • Page 395

    Section 8. Operation 395 figure 93: 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/2000 23:34 0 0.03638599 0.03901386 0.04022673 0.04042887 0.04103531 0.04123745 1/3/2000 23:34 1 0.03658813 0....

  • Page 396

    Section 8. Operation 396 with c enable open-input detect for all input ranges. See table: analog input voltage ranges and options (p. 381). 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 groun...

  • Page 397

    Section 8. Operation 397 offset voltage compensation related topics • auto self-calibration — overview (p. 92) • auto self-calibration — details (p. 373) • auto self-calibration — errors (p. 515) • offset voltage compensation (p. 347) • factory calibration (p. 89) • factory calibration or repair pro...

  • Page 398

    Section 8. Operation 398 because of passive voltage cancelation 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...

  • Page 399

    Section 8. Operation 399 effect is caused by dielectric absorption of the integrator capacitor and cannot be overcome by circuit design. Remedies include the following: • program longer settling times • use an individual instruction for each input terminal, the effect of which is to reset the integr...

  • Page 400

    Section 8. Operation 400 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 cr3000 reverses differential inputs or excitation polarity, it delays the same settling time after ...

  • Page 401

    Section 8. Operation 401 note when measurement duration must be minimal to maximize measurement frequency, consider disabling revdiff, revex, and measoff when cr3000 module temperatures and return currents are slow to change. Time skew between measurements time skew between consecutive voltage measu...

  • Page 402

    Section 8. Operation 402 analog voltage measurement offsets differential measurement with input reversal differential measurement without input reversal single-ended 1.5 • basic resolution + 1.0 µv 3 • basic resolution + 2.0 µv 3 • basic resolution + 3.0 µv note — the value for basic resolution is f...

  • Page 403

    Section 8. Operation 403 figure 94: example voltage measurement accuracy band, including the effects of percent of reading and offset, for a differential measurement with input reversal at a temperature between 0 to 40 °c. Measurement accuracy example the following example illustrates the effect per...

  • Page 404

    Section 8. Operation 404 where percent-of- reading = 5000 mv • ±0.04% = ±2 mv and offset = (1.5 • 167 µv) + 1 µv = 0.252 mv therefore, accuracy = ±2 mv + 0.251 mv = ±2.252 mv electronic noise electronic "noise" can cause significant error in a voltage measurement, especially when measuring voltages ...

  • Page 405

    Section 8. Operation 405 note peripheral devices are available from campbell scientific to expand the number of pulse input channels measured by the cr3000. See measurement and control peripherals — list (p. 604). The figure pulse sensor output signal types (p. 75) illustrates pulse signal types mea...

  • Page 406

    Section 8. Operation 406 figure 97: terminals configurable for pulse input pulse measurements: terminals and programming measurement p terminals c terminals crbasic instruction low-level ac, counts pulsecount() low-level ac, hz pulsecount() low-level ac, running average pulsecount() high frequency, ...

  • Page 407

    Section 8. Operation 407 pulse measurements: terminals and programming measurement p terminals c terminals crbasic instruction time from edge on port 1 timerio() count of edges timerio() pulse count, period timerio() pulse count, frequency timerio() 8.1.3.1 pulse measurement terminals p terminals • ...

  • Page 408

    Section 8. Operation 408 measurements include the following: • counts • frequency (hz) • running average rotating magnetic-pickup sensors commonly generate ac voltage ranging from thousandths of volts at low-rotational speeds to several volts at high-rotational speeds. Terminals configured for low-l...

  • Page 409

    Section 8. Operation 409 p terminals • maximum input frequency = 250 khz • crbasic instructions: pulsecount() high-frequency pulse inputs are routed to an inverting cmos input buffer with input hysteresis. The cmos input buffer is at output 0 level with inputs ≥ 2.2 v and at output 1 level with inpu...

  • Page 410

    Section 8. Operation 410 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 resolut...

  • Page 411

    Section 8. Operation 411 closure frequency is less than the maximum high-frequency measurement frequency. Sensors that commonly output a switch closure or open-collector signal include: • tipping-bucket rain gages • switch closure anemometers • flow meters data output options include counts, frequen...

  • Page 412

    Section 8. Operation 412 measurements include time between edges expressed as frequency (hz) or period (µs). C terminals • maximum input frequency • crbasic instruction: timerio() • rising or falling edges of a square-wave signal are detected: o rising edge — transition from 3.5 vdc. O falling edge ...

  • Page 413

    Section 8. Operation 413 the pulsecount() instruction, whether measuring pulse inputs on p or c terminals, uses dedicated 24-bit counters to accumulate all counts over the programmed scan interval. The resolution of pulse counters is one count or 1 hz. Counters are read at the beginning of each scan...

  • Page 414

    Section 8. Operation 414 switch closures and open collectors switch closure on c terminal: 5 vdc pull-up open collector on c terminal: 5 vdc pull-up switch closure on c terminal: 12 vdc pull-up open collector on c terminal: 12 vdc pull-up internal cr3000 circuitry that supports open-collector and sw...

  • Page 415

    Section 8. Operation 415 specifications for pulse input terminals to emphasize the need for matching the proper device to the application. Three specifications differing between p and c terminals p terminal c terminal high-frequency maximum 250 khz 400 khz input voltage maximum 20 vdc 16 vdc state t...

  • Page 416

    Section 8. Operation 416 time constants (τ) measurement τ p terminal low-level ac mode table: low-level ac amplitude and maximum measured frequency (p. 416) p terminal high-frequency mode 1.2 p terminal switch closure mode 3300 c terminal high-frequency mode 0.025 c terminal switch closure mode 0.02...

  • Page 417

    Section 8. Operation 417 8.1.4 vibrating wire measurements — details related topics: • vibrating wire measurements — specifications • vibrating wire measurements — overview (p. 77) • vibrating wire measurements — details (p. 417) the cr3000 can measure vibrating wire or vibrating-strip sensors, incl...

  • Page 418

    Section 8. Operation 418 for most applications, the advanced techniques of static and dynamic vspect measurements are preferred. 8.1.5 period averaging — details related topics: • period average measurements — specifications • period average measurements — overview (p. 76) • period average measureme...

  • Page 419

    Section 8. Operation 419 figure 100: input conditioning circuit for period averaging 8.1.6 reading smart sensors — details related topics: • reading smart sensors — overview (p. 77) • reading smart sensors — details (p. 419) 8.1.6.1 rs-232 and ttl — details related topics: • rs-232 and ttl — details...

  • Page 420

    Section 8. Operation 420 note c terminals configured as tx transmit only 0 to 5 vdc logic. However, c terminals configured as rx read most true rs-232 signals. When connecting serial sensors to a c terminal configured as rx, the sensor power consumption may increase by a few milliamps due to voltage...

  • Page 421

    Section 8. Operation 421 8.1.8 cabling effects — details related topics: • cabling effects — overview (p. 79) • cabling effects — details (p. 421) sensor cabling can have significant effects on sensor response and accuracy. This is usually only a concern with sensors acquired from manufacturers othe...

  • Page 422

    Section 8. Operation 422 8.1.8.4 rs-232 sensor cabling rs-232 sensor cable lengths should be limited to 50 feet. 8.1.8.5 sdi-12 sensor cabling the sdi-12 standard allows cable lengths of up to 200 feet. Campbell scientific does not recommend sdi-12 sensor lead lengths greater than 200 feet; however,...

  • Page 423

    Section 8. Operation 423 2. Digital trigger — a digital trigger, rather than a clock, can provide the synchronization signal. When cabling can be run from cr3000 to cr3000, each cr3000 can catch the rising edge of a digital pulse from the master cr3000 and synchronize measurements or other functions...

  • Page 424

    Section 8. Operation 424 8.2 switched-voltage output — details related topics: • switched voltage output — specifications • switched voltage output — overview (p. 62) • switched voltage output — details (p. 424) • current source and sink limits (p. 424) • plc control — overview (p. 91) • plc control...

  • Page 425

    Section 8. Operation 425 current source and sink limits terminal limit 1 4 polyfuse protected. See footnote 3. 5 current is limited by a current limiting circuit, which holds the current at the maximum by dropping the voltage when the load is too great. 8.2.1 switched-voltage excitation four switche...

  • Page 426

    Section 8. Operation 426 8.2.3 continuous-regulated (5v terminal) the 5v terminal is regulated and remains near 5 vdc ( ±4%) so long as the cr3000 supply voltage remains above 9.6 vdc. It is intended for power sensors or devices requiring a 5 vdc power supply. It is not intended as an excitation sou...

  • Page 427

    Section 8. Operation 427 at 20 °c. Voltage on a sw12 terminal will change with cr3000 supply voltage. Crbasic instruction sw12() controls the sw12 terminals. Configure sw12() as a measurement or processing task in the instruction. Use it as a processing task when controlling power to sdi-12 and seri...

  • Page 428

    Section 8. Operation 428 tips for writing a control program: • short cut programming wizard has provisions for simple on/off control. • pid control can be done with the cr3000. Control decisions can be based on time, an event, or a measured condition. Example: in the case of a cell modem, control is...

  • Page 429

    Section 8. Operation 429 v o = 4.9 v – (330 Ω • i o ) where v o is the drive limit, and i o is the current required by the external device. Figure current sourcing from c terminals configured for control (p. 429) plots the relationship. Figure 103: current sourcing from c terminals configured for co...

  • Page 430

    Section 8. Operation 430 8.4.2 analog output modules read more for more information see appendix continuous analog output (cao) modules — list (p. 607). The cr3000 can scale measured or processed values and transfer these values in digital form to either its on-board cao ports or to an analog output...

  • Page 431

    Section 8. Operation 431 figure 104: relay driver circuit with relay figure 105: power switching without relay 8.4.4 pulse input modules read more for more information see pulse input modules — list (p. 604). Pulse input expansion modules are available for switch-closure, state, pulse count and freq...

  • Page 432

    Section 8. Operation 432 low-level ac input modules increase the number of low-level ac signals a cr3000 can monitor by converting low-level ac to high-frequency pulse. 8.4.5 serial i/o modules — details read more for more information see appendix serial i/o modules list (p. 605). Capturing input fr...

  • Page 433

    Section 8. Operation 433 support field maintenance tasks such as viewing and collecting data, setting the clock, and downloading programs. • pc400 datalogger support software supports a variety of comms options, manual data collection, and data monitoring displays. Short cut and crbasic editor are i...

  • Page 434

    Section 8. Operation 434 a: compressing a file has the potential of significantly reducing its size. Actual reduction depends primarily on the number and proximity of redundant blocks of information in the file. A reduction in file size means fewer bytes are transferred when sending a file to a data...

  • Page 435

    Section 8. Operation 435 c) when prompted, set the archive format to “gzip”. D) select ok. The resultant file names will be of the type “myprogram.Cr3.Gz” and “cr3000.Std.25.Obj.Gz”. Note that the file names end with “.Gz”. The ".Gz” extension must be preceded with the original file extension (.Cr3,...

  • Page 436

    Section 8. Operation 436 typical gzip file compression results file original size bytes compressed size bytes cr3000 operating system 1,753,976 671,626 small program 2,600 1,113 large program 32,157 7,085 8.7 security — details related topics: • security — overview (p. 88) • security — details (p. 4...

  • Page 437

    Section 8. Operation 437 note all security features can be subverted through physical access to the cr3000. If absolute security is a requirement, the physical cr3000 must be kept in a secure location. 8.7.1 vulnerabilities while "security through obscurity" may have provided sufficient protection i...

  • Page 438

    Section 8. Operation 438 • ftp o send and change datalogger programs. O send data that have been written to a file. • http o send datalogger programs. O view table data. O get historical records or other files present on the datalogger drive spaces. O more access is given when a .Csipasswd is in pla...

  • Page 439

    Section 8. Operation 439 methods of enabling pass-code lockout security include the following: • settings – security(1) (p. 589), security(2) and security(3) registers are writable variables in the status table wherein the pass codes for security levels 1 through 3 are written, respectively. • cr100...

  • Page 440

    Section 8. Operation 440 keyboard display security bypass does not allow comms access without first correcting the security code. 8.7.3 passwords passwords are used to secure ip based communications. They are set in various comms schemes with the .Csipasswd file, crbasic pakbus instructions, crbasic...

  • Page 441

    Section 8. Operation 441 8.7.3.4 settings — passwords settings, which are accessible with devconfig (p. 113), enable the entry of the following passwords: • ppp password • pakbus/tcp password • ftp password • tls password (transport layer security (tls) enabled) • tls private key password • aes-128 ...

  • Page 442

    Section 8. Operation 442 cr3000 can locate and use hidden files on the fly, but a listing of the file or the file name are not available for viewing. See file management in cr3000 memory (p. 456). 8.7.7 signatures recording and monitoring system and program signatures are important components of a s...

  • Page 443

    Section 8. Operation 443 table cr3000 memory allocation (p. 443) and table cr3000 sram memory (p. 444, http://www. ) illustrate the structure of cr3000 memory around these media. The cr3000 uses and maintains most memory features automatically. However, users should periodically review areas of memo...

  • Page 444

    Section 8. Operation 444 cr3000 memory allocation external compactflash (p. 532) (optional) crd: drive (p. 613) — fat32 recommended. Holds program files. Holds a copy of final-storage table data as files when tablefile() instruction with option 64 (p. 218) is used (replaces cardout()). When data are...

  • Page 445

    Section 8. Operation 445 cr3000 sram memory use comments —————————— —— communication memory 1 construction and temporary storage of pakbus packets. —————————— —— communication memory 2 constructed routing table: list of known nodes and routes to nodes. Routers use more space than leaf nodes because ...

  • Page 446

    Section 8. Operation 446 8.8.1.1.1 data table sram primary storage for measurement data are those areas in sram allocated to data tables as detailed in table cr3000 sram memory (p. 444, http://www. ). Measurement data can be also be stored as discrete files on usr: or usb: by using tablefile() instr...

  • Page 447

    Section 8. Operation 447 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. 610)) , certain configuration files, files written for ftp retrieval, html fil...

  • Page 448

    Section 8. Operation 448 devices — list (p. 613). Purchasing industrial grade memory cards from campbell scientific is recommended. Use of consumer grade cards substantially increases the risk of data loss. Caution use care when inserting or removing memory cards. Removing a card from the module whi...

  • Page 449

    Section 8. Operation 449 memory card states cardstatus cardbytesfree compileresults led status card ok >0 formatted card inserted, powered up. >0 solid green for 20 s card still inserted, but removal button has been pressed. -1 cfm100/nl115 removed while logger is running (do not do this). >0 progra...

  • Page 450

    Section 8. Operation 450 tablefile() instruction data file formats tablefile() format option base file format elements included header information time stamp record number 2 tob1 3 tob1 4 tob1 5 tob1 6 tob1 7 tob1 8 1 toa5 9 toa5 10 toa5 11 toa5 12 toa5 13 toa5 14 toa5 15 toa5 16 1 csixml 17 csixml ...

  • Page 451

    Section 8. Operation 451 example: "tob1","11467","cr1000","11467","cr1000.Std.20","cpu:file format.Cr1","61449","test" "seconds","nanoseconds","record","battfivoltfimin","ptemp" "seconds","nanoseconds","rn","","" "","","","min","smp" "ulong","ulong","ulong","fp2","fp2" }Ÿp' e1hŒŸp' e1h›Ÿp' e1hªŸp' e...

  • Page 452

    Section 8. Operation 452 example: "signature": 38611,"environment": {"stationfiname": "11467","tablefiname": "test","model": "cr1000","serialfino": "11467", "osfiversion": "cr1000.Std.21.03","progfiname": "cpu:file format.Cr1"},"fields": [{"name": "battfivoltfimin","type": "xsd:float", "process": "m...

  • Page 453

    Section 8. Operation 453 record element 1 – timestamp data without timestamps are usually meaningless. Nevertheless, the tablefile() instruction optionally includes timestamps in some formats. Record element 2 – record number record numbers are optionally provided in some formats as a means to ensur...

  • Page 454

    Section 8. Operation 454 5. When cardout() or tablefile() with option 64 is used but the card is not present, zero bytes are reported in the status table. 6. In both the internal memory and memory card data-table spaces, about 2 kb of extra space is allocated (about 100 extra records in the above ex...

  • Page 455

    Section 8. Operation 455 8.8.4.1 full memory reset full memory reset occurs when an operating system is sent to the cr3000 using devconfig or when entering 98765 in the status table field fullmemreset (p. 581). A full memory reset does the following: • clears and formats cpu: drive (all program file...

  • Page 456

    Section 8. Operation 456 8.8.4.4 formatting drives cpu:, usr:, usb:, and crd: 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 will cease running and any sram data associa...

  • Page 457

    Section 8. Operation 457 file control functions file control functions accessed through stopping program execution file control 2 , web api filecontrol renaming a file filerename() 6 time-stamping a file filetime() 6 list files file control 2 , filelist() 6 , web api listfiles create a data file fro...

  • Page 458

    Section 8. Operation 458 note activation of the run-on-power-up file can be prevented by holding down the del key on the cr1000kd keyboard/display while the cr3000 is powering up. Cr3000 file attributes attribute function program send option that sets the attribute run always (run on power- up + run...

  • Page 459

    Section 8. Operation 459 special node pakbus address of 3210 can be used if the files are sent with ftp protocol, or 3211 if the files are written with crbasic. Note this setting will operate only on a file whose name is not a null string. Example: (129,cpu:northwest.Jpg,2) (130,crd:southeast.Jpg,20...

  • Page 460

    Section 8. Operation 460 crbasic editor compile, save and send (p. 534) command, options to preserve (not erase) or not preserve (erase) data are presented. The logic in the following example summarizes the disposition of cr3000 data depending on the data preservation option selected. If "preserve d...

  • Page 461

    Section 8. Operation 461 powerup.Ini commands include the following functions: • sending programs to the cr3000. • optionally setting run attributes of cr3000 program files. • sending an os to the cr3000. • formatting memory drives. • deleting data files associated with the previously running progra...

  • Page 462

    Section 8. Operation 462 where, • command is one of the numeric commands in table: powerup.Ini script commands and application (p. 462). • file is the accompanying operating system or user program file. File name can be up to 22 characters long. • device is the cr3000 memory drive to which the accom...

  • Page 463

    Section 8. Operation 463 powerup.Ini script commands and applications powerup.Ini script command description applications 13 run always, erase data copies a program to a drive and sets the run attribute to run always. Data on a cf card from the previously running program will be erased. 14 run now, ...

  • Page 464

    Section 8. Operation 464 power-up.Ini execution after powerup.Ini is processed, the following rules determine what cr3000 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 ...

  • Page 465

    Section 8. Operation 465 file system error codes error code description 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 la...

  • Page 466

    Section 8. Operation 466 file system error codes error code description 42 controller failure error 43 pathname exceeds _max_pathname 8.8.8 memory q & a q: can a user create a program too large to fit on the cpu: drive (>100k) and have it run from the crd: drive (memory card)? A: the program does no...

  • Page 467

    Section 8. Operation 467 • when using getvariables() / sendvariables() to send values between dataloggers, put the data in an array and use one command to get the multiple values. Using one command to get 10 values from an array and swath of 10 is much more efficient (requires only 1 transaction) th...

  • Page 468

    Section 8. Operation 468 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. 82) • alternate comms protocols — details (p. 468) the cr...

  • Page 469

    Section 8. Operation 469 on use of tcp/ip/ppp devices is found in their respective manuals (available at www.Campbellsci.Com) and crbasic editor help. 8.10.1.1 fyis — os2; os28 • tcp/ip info no longer in status table — get from datalogger settings. • cr3000 now adopts auto ip address of 169.254.67.8...

  • Page 470

    Section 8. Operation 470 8.10.1.5 ftp client the cr3000 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 lin...

  • Page 471

    Section 8. Operation 471 8.10.1.6.2 custom http web server although the default home page cannot be accessed for editing, it can be replaced with the html code of a customized web page. To replace the default home page, save the new home page under the name default.Html and copy it to the datalogger...

  • Page 472

    Section 8. Operation 472 figure 108: customized numeric-monitor web page custom web page html 'this program example demonstrates the creation of a custom web page that resides in the 'webpagebegin to cr3000. In this example program, the default home page is replaced by 'using create a file called de...

  • Page 473

    Section 8. Operation 473 httpout ("") httpout (" 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) +"/>") httpout (" httpout (" time: " + time(4) + ":" + minutes + ":" + seconds + " httpo...

  • Page 474

    Section 8. Operation 474 the modbusmaster() and modbusslave() instructions. See the crbasic editor help for more information. See modbus — details (p. 476). 8.10.1.9 pakbus over tcp/ip and callback once the hardware has been configured, basic pakbus communication over tcp/ip is possible. These funct...

  • Page 475

    Section 8. Operation 475 8.10.1.13 smtp simple mail transfer protocol (smtp) is the standard for e-mail transmissions. The cr3000 can be programmed to send e-mail messages on a regular schedule or based on the occurrence of an event. 8.10.1.14 web api the cr3000 has a web api. See crbasic editor hel...

  • Page 476

    Section 8. Operation 476 8.10.3 modbus — details the cr3000 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, instrume...

  • Page 477

    Section 8. Operation 477 8.10.3.1.1 glossary of modbus terms term: coils (00001 to 09999) originally, "coils" referred to relay coils. In cr3000s, coils are exclusively terminals configured for control, software flags, or a boolean-variable array. Terminal configured for control are inferred if para...

  • Page 478

    Section 8. Operation 478 addressed by default. A typical crbasic program for a modbus application declares variables and ports, or variables and flags, or variables and boolean variables. Modbus registers: crbasic port, flag, and variable equivalents crbasic port, flag, or variable example crbasic d...

  • Page 479

    Section 8. Operation 479 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 univ...

  • Page 480

    Section 8. Operation 480 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 cr3000 uses the abcd format, either the master has to make an adjustment, wh...

  • Page 481

    Section 8. Operation 481 8.10.3.5 modbus security q: what security options does the cr3000 offer for modbus? A: the modbus protocol itself does not include security features, so the cr3000 does not offer security on modbusmaster() or modbusslave(). Following are security issues that come up: • mac a...

  • Page 482

    Section 8. Operation 482 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 modbusmaster() / modbusslave() with serialopen() and set the numeric format of the com port with any of the available formats, including the o...

  • Page 483

    Section 8. Operation 483 8.11 keyboard/display — details related topics: • keyboard/display — overview (p. 84) • keyboard/display — details (p. 483) • keyboard/display — list (p. 611) • custom menus — overview (p. 85) note see displaying data: custom menus — details (p. 222). This section illustrate...

  • Page 484

    Section 8. Operation 484 special keyboard/display key functions key special function [pg up] move cursor up one screen [pg dn] move cursor down one screen [bkspc] delete character to the left [shift] change alpha character selected [num lock] change to numeric entry [del] • delete • when pressed dur...

  • Page 485

    Section 8. Operation 485 8.11.2 data display figure 110: keyboard and display: displaying data.

  • Page 486

    Section 8. Operation 486 8.11.2.1 real-time tables and graphs figure 111: cr1000kd real-time tables and graphs. 8.11.2.2 real-time custom the cr1000kd keyboard/display can be configured with a customized real-time display. The cr3000 will keep the setup as long as the defining program is running. Re...

  • Page 487

    Section 8. Operation 487 figure 112: cr1000kd real-time custom.

  • Page 488

    Section 8. Operation 488 8.11.2.3 final-storage data figure 113: keyboard and display: final storage data.

  • Page 489

    Section 8. Operation 489 8.11.3 run/stop program figure 114: keyboard and display: run/stop program.

  • Page 490

    Section 8. Operation 490 8.11.4 file management figure 115: keyboard and display: file management 8.11.4.1 file edit the crbasic editor is recommended for writing and editing datalogger programs. When making minor changes with the cr1000kd keyboard/display, restart the program to activate the change...

  • Page 491

    Section 8. Operation 491 figure 116: keyboard and display: file edit.

  • Page 492

    Section 8. Operation 492 8.11.5 pccard (memory card) management figure 117: keyboard and display: pccard (memory card) management 8.11.6 port status and status table read more see info tables and settings (p. 567)..

  • Page 493

    Section 8. Operation 493 figure 118: keyboard and display: port status and status table 8.11.7 settings figure 119: keyboard and display: settings.

  • Page 494

    Section 8. Operation 494 8.11.7.1 cr1000kd: set time / date 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.7.2 cr1000kd: pakbus settings in the settings menu, move the cursor to the pakbus® element and press enter t...

  • Page 495

    Section 8. Operation 495 • low-power standby — whenever possible • low-power bus — sets bus and modules to low power.

  • Page 497

    497 9. Maintenance — details related topics: • maintenance — overview (p. 89) • maintenance — details (p. 497) • protect the cr3000 from humidity and moisture. • replace the internal lithium battery periodically. • send to campbell scientific for factory calibration every three years. 9.1 protection...

  • Page 498

    Section 9. Maintenance — details 498 supplies approximately 3.6 vdc. Replace the battery when voltage is approximately 2.7 vdc. • when the lithium battery is removed (or is allowed to become depleted below 2.7 vdc and cr3000 primary power is removed), the crbasic program and most settings are mainta...

  • Page 499

    Section 9. Maintenance — details 499 turn off the cr3000 by switching off power at the switch located on the base, and / or remove the external power connection. Loosen the two thumbscrews on the face of the cr3000 and remove it from the base. If the cr3000 has a battery base, carefully disconnect t...

  • Page 500

    Section 9. Maintenance — details 500 figure 123: 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 cr3000. Take particular care to ensure the back cover is seated tightly before repla...

  • Page 501

    Section 9. Maintenance — details 501 campbell scientific, inc. Directly. Affiliate companies handle repairs for customers within their territories. Please visit www.Campbellsci.Com to determine which campbell scientific company serves your country. To obtain a returned materials authorization (rma),...

  • Page 503: 10.  Troubleshooting

    503 10. Troubleshooting if a system is not operating properly, please contact a campbell scientific support engineer for assistance. When using sensors, peripheral devices, or comms hardware, look to the manuals for those products for additional help. Note if a campbell scientific product needs to b...

  • Page 504

    Section 10. Troubleshooting 504 example, if a sensor signal-to-data conversion is faulty, create a program that only measures that sensor and stores the data, absent from all other inputs and data. Write these mini-programs before going to the field, if possible. 10.3 troubleshooting — error sources...

  • Page 505

    Section 10. Troubleshooting 505 o channel assignments, input-range codes, and measurement mode arguments are common sources of error. • hardware o mis-wired sensors or power sources are common. O damaged hardware o water, humidity, lightning, voltage transients, emf o visible symptoms o self-diagnos...

  • Page 506

    Section 10. Troubleshooting 506 doubt. The pc compiler version is shown on the first line of the compile results. • the program has large memory requirements for data tables or variables and the cr3000 does not have adequate memory. This normally is flagged at compile time, in the compile results. I...

  • Page 507

    Section 10. Troubleshooting 507 10.5.3.1 measurements and nan a nan indicates an invalid measurement. 10.5.3.1.1 voltage measurements the cr3000 has the following user-selectable voltage ranges: ±5000 mv, ±1000 mv, ±200 mv, and ±50 mv. Input signals that exceed these ranges result in an over-range i...

  • Page 508

    Section 10. Troubleshooting 508 inf, in a variable declared as long, is represented by the integer – 2147483648. When that variable is used as the source, the final-memory word when sampled as uint2 is stored as 0. Math expressions and crbasic results expression crbasic expression result 0 / 0 0 / 0...

  • Page 509

    Section 10. Troubleshooting 509 variable and final-storage data types with nan and ±inf final-storage 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 ...

  • Page 510

    Section 10. Troubleshooting 510 using nan to filter data 'this program example demonstrates the use of nan to filter what data are used in output processing functions such as 'averages, maxima, and minima. 'declare variables and units public tc_refc public tc_tempc public disvar as boolean 'define d...

  • Page 511

    Section 10. Troubleshooting 511 messages may not be obvious because the display is limited. Much of this information is more easily accessed through the datalogger support software (p. 90) station status report. The message reports the following: • program compiled ok • warnings about possible probl...

  • Page 512

    Section 10. Troubleshooting 512 warning message examples message meaning warning: compact flash module not detected: cardout not used. Cardout() instructions in the program will be ignored because no memory card was detected when the program compiled. Warning: endif never reached at runtime. Program...

  • Page 513

    Section 10. Troubleshooting 513 scans that store data are not skipped. If any scan skips repeatedly, optimization of the datalogger program or reduction of on-line processing may be necessary. Skipped scans in pipeline mode indicate an increase in the maximum buffer depth is needed. Try increasing t...

  • Page 514

    Section 10. Troubleshooting 514 the cr3000 does not catch all out-of-bounds errors, so take care that all arrays are sized as needed. 10.5.4.8 watchdog errors watchdog errors indicate the cr3000 has crashed and reset itself. A few watchdogs indicate the cr3000 is working as designed and are not a co...

  • Page 515

    Section 10. Troubleshooting 515 10.5.4.8.2 watchdoginfo.Txt file a watchdoginfo.Txt file is created on the cpu: drive when the cr3000 experiences a software reset (as opposed to a hardware reset that increment the watchdogerror field in the status table). Postings of watchdoginfo.Txt files are rare....

  • Page 516

    Section 10. Troubleshooting 516 • check for condensation, which can sometimes cause leakage from a 12 vdc source terminal into other places. • check for a lose ground wire on a sensor powered from a 12v or sw12 terminal. • if a multimeter is not available, disconnect sensors, one at a time, that req...

  • Page 517

    Section 10. Troubleshooting 517 of the host pcs are different. All campbell scientific datalogger support software include an option to change pc pakbus addressing. See commmemfree (p. 578). 10.8.3 comms memory errors the status array commsmemfree() (p. 578, p. 579, p. 579) may indicate when a commu...

  • Page 518

    Section 10. Troubleshooting 518 if power supply components are working properly and the system has peripherals with high current drain, such as a satellite transmitter, verify that the power supply is designed to provide adequate power. Information on power supplies available from campbell scientifi...

  • Page 519

    Section 10. Troubleshooting 519 battery test if using a rechargeable power supply, disconnect the charging source (i.E., solar panel or ac transformer) from the battery pack. Wait 20 minutes before proceeding with this test. Test voltage at charging regulator set a voltmeter to read dc voltage as hi...

  • Page 520

    Section 10. Troubleshooting 520 charging regulator with solar-panel test disconnect any wires attached to the 12v and g (ground) terminals on the ps100 or ch100 charging regulator. Unplug any batteries. Connect the solar panel to the two chg terminals. Polarity of inputs does not matter. Only the so...

  • Page 521

    Section 10. Troubleshooting 521 10.9.3.3 charging regulator with transformer test the procedure outlined in this flow chart tests ps100 and ch100 charging regulators that use ac/ac or ac/dc transformers as power source. If a need for repair is indicated after following the procedure, see assistance ...

  • Page 522

    Section 10. Troubleshooting 522 10.9.3.4 adjusting charging voltage note campbell scientific recommends that a qualified electronic technician perform the following procedure. The procedure outlined in this flow chart tests and adjusts ps100 and ch100 charging regulators. If a need for repair or cal...

  • Page 523

    Section 10. Troubleshooting 523 figure 124: potentiometer r3 on ps100 and ch100 charger / regulator 10.10 troubleshooting — using terminal mode table cr3000 terminal commands (p. 524) lists terminal mode options. With exception of perhaps the c command, terminal options are not necessary to routine ...

  • Page 524

    Section 10. Troubleshooting 524 esc or a 40 second timeout will terminate on-going commands. Concurrent terminal sessions are not allowed and will result in dropped communications. Cr3000 terminal commands command description use 0 scan processing time; real time in seconds lists technical data conc...

  • Page 525

    Section 10. Troubleshooting 525 cr3000 terminal commands command description use p serial talk through issue commands from keyboard that are passed through the logger serial port to the connected device. Similar in concept to sdi12 talk through. No timeout when connected via pakbus. Reboot program r...

  • Page 526

    Section 10. Troubleshooting 526 10.10.1 serial talk through and comms watch the options do not have a timeout when connected in terminal mode via pakbus. Otherwise p: serial talk and w: comms watch ("sniff") modes, the timeout can be changed from the default of 40 seconds to any value ranging from 1...

  • Page 527

    Section 10. Troubleshooting 527 the compile, save and send feature of older versions of crbasic editor. O a new program (even the same program) was inadvertently sent to the cr3000 through the connect client or set up client in loggernet. O the program was stopped through datalogger support software...

  • Page 528

    Section 10. Troubleshooting 528 • check for a loose ground wire on a sensor powered from 12v. • if a volt meter is not available, disconnect any sensor that is powered from a 12v source to see if the measurements come back to normal. If multiple sensors are power by 12v, disconnect one at a time. 10...

  • Page 529: 11.  Glossary

    529 11. Glossary 11.1 terms term: ac see vac (p. 561). Term: accuracy a measure of the correctness of a measurement. See also the appendix accuracy, precision, and resolution (p. 563). Term: a-to-d analog-to-digital conversion. The process that translates analog voltage levels to digital values. Ter...

  • Page 530

    Section 11. Glossary 530 term: ascii / ansi related topics: • term: ascii / ansi (p. 530) • ascii / ansi table abbreviation for american standard code for information interchange / american national standards institute. An encoding scheme in which numbers from 0-127 (ascii) or 0-255 (ansi) are used ...

  • Page 531

    Section 11. Glossary 531 term: binary describes data represented by a series of zeros and ones. Also describes the state of a switch, either being on or off. Term: bool8 a one-byte data type that holds eight bits (0 or 1) of information. Bool8 uses less space than the 32 bit boolean data type. Term:...

  • Page 532

    Section 11. Glossary 532 term: cdm/cpi cpi is a proprietary interface for communications between campbell scientific dataloggers and campbell scientific cdm peripheral devices. It consists of a physical layer definition and a data protocol. Cdm devices are similar to campbell scientific sdm devices ...

  • Page 533

    Section 11. Glossary 533 term: compile the software process of converting human-readable program code to binary machine code. Cr3000 user programs are compiled internally by the cr3000 operating system. Term: conditioned output the output of a sensor after scaling factors are applied. See unconditio...

  • Page 534

    Section 11. Glossary 534 term: cr carriage return term: crbasic editor the crbasic programming editor; supplied as part of loggernet, pc400, and rtdaq software term: crbasic editor compile, save and send crbasic editor menu command that compiles, saves, and sends the program to the datalogger. Term:...

  • Page 535

    Section 11. Glossary 535 term: datalogger support software campbell scientific software that includes at least the following functions: o datalogger comms o downloading programs o clock setting o retrieval of measurement data see datalogger support software — overview (p. 90) and the appendix datalo...

  • Page 536

    Section 11. Glossary 536 summaries to final-data memory takes place when the trigger argument in the datatable() instruction is set to true. Term: data output processing memory sram memory automatically allocated for intermediate calculations performed by crbasic data output processing instructions....

  • Page 537

    Section 11. Glossary 537 term: dim a crbasic command for declaring and dimensioning variables. Variables declared with dim remain hidden during datalogger operations. Term: dimension verb. To code a crbasic program for a variable array as shown in the following examples: o dim example(3) creates the...

  • Page 538

    Section 11. Glossary 538 possibly damaging potentials, such as those produced by a nearby lightning strike. Earth ground is the preferred reference potential for analog voltage measurements. Note that most objects have a "an electrical potential" and the potential at different places on the earth — ...

  • Page 539

    Section 11. Glossary 539 term: fft fast fourier transform. A technique for analyzing frequency-spectrum data. Term: file control file control is a feature of loggernet, pc400 and rtdaq datalogger support software (p. 90). It provides a view of the cr3000 file system and a menu of file management com...

  • Page 540

    Section 11. Glossary 540 term: flash a type of memory media that does not require battery backup. Flash memory, however, has a lifetime based on the number of writes to it. The more frequently data are written, the shorter the life expectancy. Term: float four-byte floating-point data type. Default ...

  • Page 541

    Section 11. Glossary 541 term: garbage the refuse of the data communication world. When data are sent or received incorrectly (there are numerous reasons why this happens), a string of invalid, meaningless characters (garbage) often results. Two common causes are: 1) a baud-rate mismatch and 2) sync...

  • Page 542

    Section 11. Glossary 542 term: hertz (hz) si unit of frequency. Cycles or pulses per second. Term: html hypertext markup language. Programming language used for the creation of web pages. Term: http hypertext transfer protocol. A tcp/ip application protocol. Term: ieee4 four-byte, floating-point dat...

  • Page 543

    Section 11. Glossary 543 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 memory see data output processing memory (p. 536). Term: ip internet protocol. A tcp/ip internet protocol. Term: ip address a unique ...

  • Page 544

    Section 11. Glossary 544 address, station name, beacon intervals, neighbor lists, routing table, and communication timeouts. Term: keyboard/display the cr3000 has an integrated keyboard/display. See appendix keyboard/display — list (p. 611) for other compatible keyboard/displays. Term: leaf node a p...

  • Page 545

    Section 11. Glossary 545 term: manually initiated initiated by the user, usually with a cr1000kd keyboard/display (p. 611), as opposed to occurring under program control. Term: mass storage device usb: "thumb" drive. See data storage devices — list (p. 613). Term: md5 digest 16 byte checksum of the ...

  • Page 546

    Section 11. Glossary 546 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 crbasic measurement instruction, that designates the slope (aka, scaling factor or gain) in a linear functi...

  • Page 547

    Section 11. Glossary 547 term: null-modem a device, usually a multi-conductor cable, which converts an rs-232 port from dce to dte or from dte to dce. Term: numeric monitor a digital monitor in datalogger support software (p. 90) or in a keyboard/display (p. 84). Term: offset a term, often a paramet...

  • Page 548

    Section 11. Glossary 548 memory, or c) the transfer of electric power from the cr3000 or a peripheral to another device. Term: output array a string of data values output to final-data memory. Output occurs when the data table output trigger is true. Term: output interval see data output interval (p...

  • Page 549

    Section 11. Glossary 549 battv is the argument. Term: period average a measurement technique using a high-frequency digital clock to measure time differences between signal transitions. Sensors commonly measured with period average include water-content reflectometers. Term: peripheral any device de...

  • Page 550

    Section 11. Glossary 550 term: precision a measure of the repeatability of a measurement. Also see accuracy, precision, and resolution (p. 563). Term: preservevariables crbasic instruction that protects public variables from being erased when a program is recompiled. Term: print device any device ca...

  • Page 551

    Section 11. Glossary 551 program send command software command command location loggernet send new... Connect screen pc400 send program clock/program tab rtdaq send program clock/program tab pc200w send program clock/program tab term: public a crbasic command for declaring and dimensioning variables...

  • Page 552

    Section 11. Glossary 552 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. Lo...

  • Page 553

    Section 11. Glossary 553 term: ringing oscillation of sensor output (voltage or current) that occurs when sensor excitation causes 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 ...

  • Page 554

    Section 11. Glossary 554 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 even second after compilation. Term: scan time when time functions are run ...

  • Page 555

    Section 11. Glossary 555 term: send send button in datalogger support software (p. 90). Sends a crbasic program or operating system to a cr3000. Term: serial a loose term denoting output of a series of ascii, hex, or binary characters or numbers in electronic form. Term: settings editor an editor fo...

  • Page 556

    Section 11. Glossary 556 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 sequence a usually slower secondary scan in the crbasic program. The main scan has priority over a slow sequence. Term: smtp...

  • Page 557

    Section 11. Glossary 557 term: station status command a command available in most datalogger support software (p. 90). The following figure is a sample of station status output. Term: string a datum or variable consisting of alphanumeric characters..

  • Page 558

    Section 11. Glossary 558 term: support software see datalogger support software (p. 535). Term: swept frequency a succession of frequencies from lowest to highest used as the method of wire excitation with vspect (p. 562) measurements. Term: synchronous the transmission of data between a transmittin...

  • Page 559

    Section 11. Glossary 559 term: telnet a software utility that attempts to contact and interrogate another specific device in a network. Telnet is resident in windows oss. Term: terminal point at which a wire (or wires) connects to a wiring panel or connector. Wires are usually secured in terminals b...

  • Page 560

    Section 11. Glossary 560 term: tls transport layer security. An internet communication security protocol. Term: toggle to reverse the current power state. Term: uint2 data type used for efficient storage of totalized pulse counts, port status (status of 16 ports stored in one variable, for example) ...

  • Page 561

    Section 11. Glossary 561 term: variable a packet of sram given an alphanumeric name. Variables reside in variable memory. Term: variable memory that portion of sram reserved for storing variables. Variable memory can be, and regularly is, overwritten with new values or strings as directed by the crb...

  • Page 562

    Section 11. Glossary 562 term: volts si unit for electrical potential. Term: vspect trademark for campbell scientific's proprietary spectral-analysis, frequency domain, vibrating wire measurement technique term: watchdog timer an error-checking system that examines the processor state, software time...

  • Page 563

    Section 11. Glossary 563 term: wild card a character or expression that substitutes for any other character or expression. Term: xml extensible markup language. Term: user program the crbasic program written by you in short cut program wizard or crbasic editor. 11.2 concepts 11.2.1 accuracy, precisi...

  • Page 564

    Section 11. Glossary 564 figure 126: relationships of accuracy, precision, and resolution.

  • Page 565: 12.  Attributions

    565 12. Attributions use of the following trademarks in the cr3000 operator's manual does not imply endorsement by their respective owners of campbell scientific: • crydom • newark • mouser • microsoft • wordpad • hyperterminal • li-cor.

  • Page 567

    567 appendix a. Info tables and settings related topics: • info tables and settings (p. 567) • common uses of the status table (p. 569) • status table as debug resource (p. 510) info tables and settings contain fields, settings, and information essential to setup, programming, and debugging of many ...

  • Page 568

    Appendix a. Info tables and settings 568 note communication and processor bandwidth are consumed when generating the status and and other information tables. If the cr3000 is very tight on processing time, as may occur in very long or complex operations, retrieving these tables repeatedly may cause ...

  • Page 569

    Appendix a. Info tables and settings 569 • skippedsystemscan • skippedslowscan • maxproctime • maxbuffdepth • maxsystemproctime • maxslowproctime • skippedrecord a.1 info tables and settings directories links in the following tables will help you navigate through the info tables and settings system:...

  • Page 570

    Appendix a. Info tables and settings 570 info tables and settings: frequently used action status/setting/dti table where located programming errors progerrors (p. 588) crbasic program ii (p. 575) progsignature (p. 588) skippedscan (p. 590) startupcode (p. 591) data tables datafilldays() (p. 580) dat...

  • Page 571

    Appendix a. Info tables and settings 571 info tables and settings: keywords caooffset() (p. 578) cardbytesfree (p. 578) cardstatus (p. 578) centralrouters() (p. 578) h httpenabled (p. 582) httpport (p. 582) n neighbors() (p. 585) r revboard (p. 589) routefilters (p. 589) rs232handshaking (p. 589) rs...

  • Page 574

    Appendix a. Info tables and settings 574 a.1.1.4 info tables and settings: communications info tables and settings: communications, general baudrate() (p. 577) commsmemalloc (p. 578) commsmemfree(1) (p. 578) commsmemfree(2) (p. 579) commsmemfree(3) (p. 579) rs232handshaking (p. 589) rs232power (p. 5...

  • Page 575

    Appendix a. Info tables and settings 575 a.1.1.5 info tables and settings: programming info tables and settings: crbasic program i buffdepth (p. 577) compileresults (p. 579) includefile (p. 582) lastslowscan() (p. 583) maxbuffdepth (p. 584) maxproctime (p. 584) maxslowproctime() (p. 584) measureops ...

  • Page 576

    Appendix a. Info tables and settings 576 info tables and settings: obsolete iptrace (p. 583) pakbusnodes (p. 586) servicesenabled() (p. 590) tcpclientconnections (p. 591) tcpport (p. 591) tlsenabled info tables and settings: os and hardware versioning osdate (p. 586) ossignature (p. 586) osversion (...

  • Page 577

    Appendix a. Info tables and settings 577 in many cases, the info tables and settings keyword can be used to pull that field into a running crbasic program. See info tables and settings — setup tools (p. 117). Two data types are identified as being associated with info tables and settings. These are ...

  • Page 578

    Appendix a. Info tables and settings 578 calgain() 2 numeric y • status table field: ≈47 array of floating-point values reporting calibration gain (mv) for each integration / range combination. Updated by auto self-calibration. Calseoffset 2 () numeric y • status table field: ≈48 array of integers r...

  • Page 579

    Appendix a. Info tables and settings 579 comms memfree(1) numeric y • status table field: ≈27 succession of two-digit values in a single integer. Each value represents the number of buffers allocated to one of five communication buffer pools: huge( ≈18 kb each), large (≈3 kb each), medium (≈530 byte...

  • Page 581

    Appendix a. Info tables and settings 581 info tables and settings: e keyword data type r ead o n ly • where to find description errorcalib numeric y • status table field: ≈25 number of erroneous calibration values measured. Erroneous values are discarded. Auto self-calibration runs in a hidden slow-...

  • Page 584

    Appendix a. Info tables and settings 584 lastsystemscan numeri c y • status table field: ≈36 reports the time of the of the last auto (background) calibration, which runs in a hidden slow-sequence type scan. See maxsystemproctime (p. 584), skippedsystemscan (p. 590), and systemproctime (p. 591). Lit...

  • Page 585

    Appendix a. Info tables and settings 585 maxsystem proctime numeric y • status table field: ≈40 maximum time (μs) required to process the auto (background) calibration, which runs in a hidden slow-sequence type scan. Displays 0 until an auto self-calibration runs. Enter 0 to reset. Measureops numeri...

  • Page 586

    Appendix a. Info tables and settings 586 info tables and settings: o keyword data type r ead o n ly • 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 589

    Appendix a. Info tables and settings 589 using public.Record(1,1), the nextscan that occurs in the main sequence (not in any of the slow sequences) increments the record number. Range = 0 to 2 32 . Revboard string y • status table field: 5 electronics board revision in the form xxx.Yyy, where xxx = ...

  • Page 591

    Appendix a. Info tables and settings 591 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. Startupcode numeric y • status table field: ≈19 indicates how the running program was compil...

  • Page 593

    Appendix a. Info tables and settings 593 info tables and settings: w keyword data type r ead o n ly • where to find description watchdogerrors numeric y • station status field: watchdog errors • status table field: 11 number of watchdog errors that have occurred while running this program. Resets au...

  • Page 595

    595 appendix b. Serial port pinouts b.1 cs i/o communication port pin configuration for the cr3000 cs i/o port is listed in table pinout of cr3000 cs i/o d-type connector port (p. 595). Pinout of cr3000 cs i/o d-type connector port pin number function input (i) output (o) description 1 5 vdc o 5 vdc...

  • Page 596

    Appendix b. Serial port pinouts 596 b.2 rs-232 communication port b.2.1 pin outs pin configuration for the cr3000 rs-232 nine-pin port is listed in table pinout of cr3000 rs-232 d-type connector port (p. 596). Information for using a null modem with rs-232 is given in table standard null-modem cable...

  • Page 597

    Appendix b. Serial port pinouts 597 standard null-modem cable pin out female db9 socket female db9 socket 1 & 6 ————— 4 2 ————— 3 3 ————— 2 4 ————— 1 & 6 5 ————— 5 7 ————— 8 8 ————— 7 9 most null modems have no connection 1 9 1 if the null-modem cable does not connect pin 9 to pin 9, configure the m...

  • Page 599: Appendix C. Fp2 Data Format

    599 appendix c. Fp2 data format fp2 data are two-byte big-endian values. See endianness (p. 601). Representing bits in each byte pair as abcdefgh ijklmnop, bits are described in table fp2 data-format bit descriptions (p. 599). Fp2 data-format bit descriptions bit description a polarity, 0 = +, 1 = –...

  • Page 601: Appendix D. Endianness

    601 appendix d. Endianness synonyms: • "byte order" and "endianness" • "little endian" and "least-significant byte first" • "big endian" and "most-significant byte first" endianness lies at the root of an instrument processor. It is determined by the processor manufacturer. A good discussion of endi...

  • Page 603

    603 appendix e. Supporting products — list supporting products power and expand the measurement and control capability of the cr3000. Products listed are manufactured by a campbell scientific group company unless otherwise noted. Consult product literature at www.Campbellsci.Com or a campbell scient...

  • Page 604

    Appendix e. Supporting products — list 604 dataloggers model description cr3000 micrologger 28 analog input terminals, four pulse input terminals, eight control / i/o terminals. Faster than cr1000. Expandable. Cr9000x-series measurement, control, and i/o modules high speed, configurable, modular, ex...

  • Page 605

    Appendix e. Supporting products — list 605 pulse input modules model description sdm-int8 eight-channel interval timer sdm-sw8a eight-channel, switch closure module llac4 four-channel, low-level ac module e.3.3 serial i/o modules — list serial i/o peripherals expand and enhance input capability and ...

  • Page 606

    Appendix e. Supporting products — list 606 e.3.5.1 resistive-bridge tim modules — list resistive bridge tim 1 modules model description 4wfbs120 120 Ω, four-wire, full-bridge tim module 4wfbs350 350 Ω, four-wire, full-bridge tim module 4wfbs1k 1 kΩ, four-wire, full-bridge tim module 3whb10k 10 kΩ, t...

  • Page 607

    Appendix e. Supporting products — list 607 transient voltage suppressors model description 16981 surge-suppressor kit for goes transmitters 6536 4-wire surge protector for srm-5a 4330 2-wire surge protector for land-line telephone modems svp48 general purpose, multi-line surge protector e.3.6 termin...

  • Page 608

    Appendix e. Supporting products — list 608 built-in cao channels. Expansion modules are required only if additional capacity is needed. Continuous-analog output (cao) modules model description sdm-ao4a four-channel, continuous analog voltage output sdm-cvo4 four-channel, continuous voltage and curre...

  • Page 609: E.5  Sensors — Lists

    Appendix e. Supporting products — list 609 e.5 sensors — lists related topics: • sensors — quickstart (p. 37) • measurements — overview (p. 67) • measurements — details (p. 335) • sensors — lists (p. 609) most electronic sensors, regardless of manufacturer, will interface with the cr3000. Some senso...

  • Page 610: E.6  Cameras — List

    Appendix e. Supporting products — list 610 e.5.2 wireless-network sensors — list wireless sensors use the campbell wireless sensor (cws) spread-spectrum radio technology. The following wireless sensor devices are available. Wireless sensor modules model description cwb100 series radio-base module fo...

  • Page 611

    Appendix e. Supporting products — list 611 many comms devices are available for use with the cr3000 datalogger. E.7.1 keyboard/display — list related topics: • keyboard/display — overview (p. 84) • keyboard/display — details (p. 483) • keyboard/display — list (p. 611) • custom menus — overview (p. 8...

  • Page 612

    Appendix e. Supporting products — list 612 hardwire, single-connection comms devices model description fc100 fiber optic modem. Two required in most installations. E.7.3 hardwire, networking devices — list hardwire, networking devices model description md485 rs-485 multidrop interface e.7.4 tcp/ip l...

  • Page 613

    Appendix e. Supporting products — list 613 e.7.6 private-network radios — list m private-network radios model description rf401 series spread-spectrum, 100 mw, cs i/o connection to remote cr3000 datalogger. Compatible with rf430. Rf430 series spread-spectrum, 100 mw, usb connection to base pc. Compa...

  • Page 614

    Appendix e. Supporting products — list 614 cf card storage module model description cfm100 cf card slot only nl115 network link with cf card slot e.9 datalogger support software — list related topics: • datalogger support software — quickstart (p. 41) • datalogger support software — overview (p. 90)...

  • Page 615

    Appendix e. Supporting products — list 615 e.9.2 datalogger support software — list pc200w , pc400, rtdaq, and loggernet provide increasing levels of power required for integration, programming, data retrieval and comms applications. Datalogger support software (p. 90) for ios, android, and linux ap...

  • Page 616

    Appendix e. Supporting products — list 616 e.9.2.1 loggernet suite — list the loggernet suite features a client-server architecture that facilitates a wide range of applications and enables tailoring software acquisition to specific requirements. Loggernet suite — list 1,2 software description logge...

  • Page 617

    Appendix e. Supporting products — list 617 loggernet suite — list 1,2 software description 1 clients require that loggernet — purchased separately — be running on the pc. 2 rtmc-based clients require that loggernet or rtdaq — purchased separately — be running on the pc. E.9.3 software tools — list s...

  • Page 618: E.10

    Appendix e. Supporting products — list 618 software development kits software compatibility description 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 logger...

  • Page 619

    Appendix e. Supporting products — list 619 battery / regulator combinations model description ps100 12 ahr, rechargeable battery and regulator (requires primary source). Ps200 smart 12 ahr, rechargeable battery, and regulator (requires primary source). Ps24 24 ahr, rechargeable battery, regulator, a...

  • Page 620

    Appendix e. Supporting products — list 620 cr3000 battery bases model description 10695 (-nb) base with no battery. An external 12 vdc power supply must be used. 10519 (-alk) base with ten alkaline d-cell batteries. 10518 (-rc) rechargeable base with two 6 vdc, 7 ahr, sealed-rechargeable batteries. ...

  • Page 621: E.11

    Appendix e. Supporting products — list 621 e.10.5 24 vdc power supply 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 — ...

  • Page 622: E.12

    Appendix e. Supporting products — list 622 e.12 tripods, towers, and mounts — list tripods, towers, and mounts model 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 met...

  • Page 623

    Appendix e. Supporting products — list 623 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 enclosure humidity sensor 1...

  • Page 625: Index

    625 index . .Csipasswd ......................................................440 1 12 volt supply ...............................................426 12v terminal .................................................63, 426 2 24 vdc power supply kits — list ................621 5 5 volt pin .................

  • Page 626

    Index 626 battery / regulator combinations — list .... 618 battery backup ............................................. 40, 90 battery connection ....................................... 43, 101 battery test ................................................... 518 baud ...................................

  • Page 627

    Index 627 configure hyperterminal .............................316 connect comms ............................................44 connect external power supply ....................43 connect internal power supply .....................43 connection .....................................................3...

  • Page 628

    Index 628 201, 453, 488 data table header ........................................ 174 data table name .......................................... 135, 567 data table sram ........................................ 446 data type ...................................................... 137, 138, 171, 172,...

  • Page 629

    Index 629 364, 365, 366 esd ...............................................................66, 537, 538, 562 esd protection ..............................................107, 108 ess ................................................................538 ethernet port ......................................

  • Page 630

    Index 630 forward ......................................................... 31 fp2 data format ........................................... 599 fragmentation ............................................... 445 frequency ..................................................... 75, 404 frequency measureme...

  • Page 631

    Index 631 intermediate storage ......................................536 internal battery ..............................................40, 90 internal battery — details .............................497 internal battery — overview ........................90 internal battery — quickstart ...............

  • Page 632

    Index 632 memory — size ............................................ 567 memory card -- 10 30 .................................. 81, 154, 217, 460, 492, 532 memory card (crd: drive) ......................... 447; drive) — overview ........................ 81 memory cards and record numbers ............

  • Page 633

    Index 633 pakbus ...........................................................82, 548 pakbus address .............................................567 pakbus comms — overview ........................82 pakbus information .......................................567 pakbus instructions ......................

  • Page 634

    Index 634 progerrors ..................................................... 513 program ......................................................... 87 program — alias .......................................... 148 program — array ......................................... 144 program — compile errors .....

  • Page 635

    Index 635 r rain gage ......................................................421 range limit ...................................................137 ratiometric ....................................................371 rc resistor shunt .........................................245 read only variables .....

  • Page 636

    Index 636 sdi-12 sensor support — details ................ 420 sdi-12 sensor support — overview ............ 78 sdi-12 transparent mode ............................ 255 sdi-12 transparent mode commands ......... 256 sdm .............................................................. 62, 67, 554 sdm p...

  • Page 637

    Index 637 sp...................................................................308 spark gap ......................................................107 specifications ................................................95 square wave ..................................................75 sram ................

  • Page 638

    Index 638 burst ................................................ 531; calibration wizard ........................... 531; callback .......................................... 531; cardconvert software ..................... 531; cdm/cpi ........................................ 532; cf ...................

  • Page 639

    Index 639 modulo divide ..................................545; msb ................................................307, 545; multi-meter ......................................546; multiplier .........................................546; mv ...................................................546; nan ...

  • Page 640

    Index 640 voltage divider ................................ 561; volts ................................................ 562; vspect ......................................... 562; watchdog timer ............................... 562; weather-tight ................................... 562; web api ..........

  • Page 641

    Index 641 usr drive .....................................................567 usr drive free .............................................567 utc offset ....................................................567 v vac .................................................................561 variable ...........

  • Page 644

    Campbell scientific companies campbell scientific, inc. 815 west 1800 north logan, utah 84321 united states www.Campbellsci.Com • info@campbellsci.Com campbell scientific africa pty. Ltd. Po box 2450 somerset west 7129 south africa www.Campbellsci.Co.Za • cleroux@csafrica.Co.Za campbell scientific s...