Campbell CR1000 Operator's Manual

Other manuals for CR1000: Operator's Manual, Operator's Manual
Manual is about: Measurement and Control System

Summary of CR1000

  • Page 1

    Ope rato r's m anual cr1000 datalogger revision: 12/16 want to get going? Go to the quickstart (p. 35) section. C o p y r i g h t © 2 0 0 0 – 2 0 1 6 c a m p b e l l s c i e n t i f i c , i n c ..

  • Page 3: Warranty

    3 warranty the cr1000 measurement and control datalogger is warranted for three (3) years subject to this limited warranty: limited warranty: products manufactured by csi are warranted by csi to be free from defects in materials and workmanship under normal use and service for twelve months from the...

  • Page 5: Assistance

    5 assistance products may not be returned without prior authorization. The following contact information is for us and international customers residing in countries served by campbell scientific, inc. Directly. Affiliate companies handle repairs for customers within their territories. Please visit w...

  • Page 7: Precautions

    7 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 m...

  • Page 8

    8 utility and electrical • you can be killed or sustain serious bodily injury if the tripod, tower, or attachments you are installing, constructing, using, or maintaining, or a tool, stake, or anchor, come in contact with overhead or underground utility lines. • maintain a distance of at least one-a...

  • Page 9: Table Of Contents

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

  • Page 10

    Table of contents 10 5.1.1.4 communication ports — overview ................................. 62 5.1.1.4.1 cs i/o port............................................................ 63 5.1.1.4.2 rs-232 ports ......................................................... 63 5.1.1.4.3 peripheral port ...........

  • Page 11

    Table of contents 11 5.7 crbasic programming — overview ................................................ 85 5.8 security — overview ........................................................................ 86 5.9 maintenance — overview ....................................................................

  • Page 12

    Table of contents 12 7.5.2.3 saving and restoring configurations — installation .... 121 7.6 crbasic programming — details ................................................... 122 7.6.1 program structure..................................................................... 122 7.6.2 writing and editin...

  • Page 13

    Table of contents 13 7.6.4.1 preserving data at program send .................................. 173 7.7 programming resource library ...................................................... 174 7.7.1 advanced programming techniques ....................................... 174 7.7.1.1 capturing events ....

  • Page 14

    Table of contents 14 7.7.13 measurement: fast analog voltage ......................................... 240 7.7.13.1 tips — fast analog voltage ......................................... 245 7.7.14 measurement: excite, delay, measure ..................................... 247 7.7.15 serial i/o: sdi-12 ...

  • Page 15

    Table of contents 15 8.1.2.1 voltage measurement quality ....................................... 322 8.1.2.2 thermocouple measurements — details ....................... 339 8.1.2.2.1 thermocouple error analysis ............................. 340 8.1.2.2.2 use of external reference junction .............

  • Page 16

    Table of contents 16 8.4.3 plc control modules — overview ......................................... 413 8.4.3.1 relays and relay drivers .............................................. 413 8.4.3.2 component-built relays ................................................ 413 8.4.4 pulse input modules .....

  • Page 17

    Table of contents 17 8.10.1.1 fyis — os2; os28 ....................................................... 452 8.10.1.2 dhcp ............................................................................ 453 8.10.1.3 dns ............................................................................... 453 8...

  • Page 18

    Table of contents 18 10. Troubleshooting ..................................................... 487 10.1 troubleshooting — essential tools ................................................ 487 10.2 troubleshooting — basic procedure ............................................... 487 10.3 troubleshooti...

  • Page 19

    Table of contents 19 12. Attributions ............................................................. 549 appendices a. Info tables and settings ........................................ 551 a.1 info tables and settings directories .................................................... 553 a.1.1.1 info t...

  • Page 20

    Table of contents 20 e.7.2 hardwire, single-connection comms devices — list .......... 596 e.7.3 hardwire, networking devices — list .................................. 596 e.7.4 tcp/ip links — list .............................................................. 596 e.7.5 telephone modems — list ........

  • Page 21

    Table of contents 21 figure 27: custom menu example ........................................................... 84 figure 28: enclosure ................................................................................. 95 figure 29: connecting to vehicle power supply ....................................

  • Page 22

    Table of contents 22 figure 77: panel temperature error summary ....................................... 341 figure 78: panel temperature gradients (low temperature to high) ....... 342 figure 79: panel temperature gradients (high temperature to low) ....... 342 figure 80: input error calculation ......

  • Page 23

    Table of contents 23 list of tables pc200w ezsetup wizard prompts ............................................. 43 cr1000 wiring panel terminal definitions ................................ 58 differential and single-ended input terminals ........................... 68 pulse input terminals and measu...

  • Page 24

    Table of contents 24 ascii / ansi equivalents ....................................................... 288 cr1000 serial ports ................................................................. 289 string operators ....................................................................... 311 string conc...

  • Page 25

    Table of contents 25 file control functions ............................................................ 439 cr1000 file attributes .......................................................... 441 powerup.Ini script commands and applications ................... 446 file system error codes................

  • Page 26

    Table of contents 26 info tables and settings: i ...................................................... 566 info tables and settings: l ..................................................... 567 info tables and settings: m ................................................... 568 info tables and settin...

  • Page 27

    Table of contents 27 enclosures — products .......................................................... 605 prewired enclosures ............................................................... 606 tripods, towers, and mounts ................................................. 606 protection from moisture...

  • Page 28

    Table of contents 28 nsec —convert timestamp to universal time ...................................................................................................... 203 using tablefile() with option 64 with memory card ...................................................................................

  • Page 29: 1.  Introduction

    29 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 30

    Section 1. Introduction 30 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 cr1000 datalogger has advanced beyond those simpler days, you can still hear the cheery hello echoed in voices you hear ...

  • Page 31: 2.  Precautions

    31 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 33: 3.  Initial Inspection

    33 3. Initial inspection • check the ships with tab at http://www.Campbellsci.Com/cr1000 for a list of items shipped with the cr1000. 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. 35) ...

  • Page 35: 4.  Quickstart

    35 4. Quickstart the following tutorial introduces the cr1000 by walking you through a programming and data retrieval exercise. 4.1 sensors — quickstart related topics: • sensors — quickstart (p. 35) • measurements — overview (p. 65) • measurements — details (p. 319) • sensors — lists (p. 593) senso...

  • Page 36

    Section 4. Quickstart 36 o modbus o dnp3 o rs-485 refer to the sensors — lists (p. 593) 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 37

    Section 4. Quickstart 37 figure 1: wiring panel 4.3 power supplies — quickstart related topics: • power input terminals — specifications • power supplies — quickstart (p. 37) • power supplies — overview (p. 85) • power supplies — details (p. 96) • power supplies — products (p. 603) • power sources (...

  • Page 38

    Section 4. Quickstart 38 external power connects through the green power in connector on the face of the cr1000. The positive power lead connects to 12v . The negative lead connects to g . The connection is internally reverse-polarity protected. The cr1000 is internally protected against accidental ...

  • Page 39

    Section 4. Quickstart 39 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 — quickstart (p. 39) • datalogger support software — overview...

  • Page 40

    Section 4. Quickstart 40 4.6 tutorial: measuring a thermocouple this exercise guides you through the following: • attaching a sensor to the cr1000 • creating a program for the cr1000 to measure the sensor • making a simple measurement • storing measurement data on the cr1000 • collecting data from t...

  • Page 41

    Section 4. Quickstart 41 4.6.2.1 connect external power supply with reference to figure: connect power and serial comms (p. 41), proceed as follows: 1. Remove the green power connector from the cr1000 wiring panel. 2. Switch power supply to off . 3. Connect the positive lead of the power supply to t...

  • Page 42

    Section 4. Quickstart 42 4.6.3 pc200w software setup 1. Install pc200w software onto the pc. Follow on-screen prompts during the installation process. Use the default folders. 2. Open pc200w . Your pc should display a window similar to figure pc200w main window (p. 42). When pc200w is first run, the...

  • Page 43

    Section 4. Quickstart 43 pc200w ezsetup wizard prompts screen name information needed introduction provides an introduction to the ezsetup wizard along with instructions on how to navigate through the wizard. Datalogger type and name select the cr1000 from the list box. Accept the default name of cr...

  • Page 44

    Section 4. Quickstart 44 4.6.4.1 procedure: (short cut steps 1 to 5) 1. Click on the short cut icon in the upper-right corner of the pc200w window. The icon resembles a clock face. 2. The short cut window is shown. Click new program . 3. In the datalogger model drop-down list, select cr1000 . 4. In ...

  • Page 45

    Section 4. Quickstart 45 4.6.4.2 procedure: (short cut steps 6 to 7) 6. Double-click type t (copper-constantan) thermocouple to add it into the selected column. A dialog window is presented with several fields. By immediately clicking ok , you accept default options that include selection of 1 senso...

  • Page 46

    Section 4. Quickstart 46 10. Only one table is needed for this tutorial, so remove table 2. Click 2 table2 tab, then click delete table . 11. Change the name of the remaining table from table1 to onemin , and then change the store every interval to 1 minutes . 12. Add measurements to the table by se...

  • Page 47

    Section 4. Quickstart 47 4.6.5.1 procedure: (pc200w step 1) 1. From the pc200w clock/program tab, click on connect (upper left) to connect the cr1000 to the pc. As shown in the following figure, when connected, the connect button changes to disconnect . Caution this procedure assumes there are no da...

  • Page 48

    Section 4. Quickstart 48 figure 8: pc200w monitor data tab – public table 4.6.5.3 procedure: (pc200w step 5) 5. To view the onemin table, select an empty cell in the display area. Click add . In the add selection window tables field, click on onemin , then click paste . The onemin table is now displ...

  • Page 49

    Section 4. Quickstart 49 figure 9: pc200w monitor data tab — public and onemin tables 4.6.5.4 procedure: (pc200w step 6) 6. Click on the collect data tab and select data to be collected and the storage location on the pc. Figure 10: pc200w collect data tab.

  • Page 50

    Section 4. Quickstart 50 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...

  • Page 51

    Section 4. Quickstart 51 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 cr1000_onemin.Dat file and click open . 12. The collected data are now shown. Figure 12: pc200w view data table 4.6.5.7 procedure: (pc200w steps 13 to 14) 13. Cl...

  • Page 52

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

  • Page 53

    Section 4. Quickstart 53 • data retrieval and comms (p. 38) — data are copied (not moved) from the cr1000, 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 cr1000. • datalog...

  • Page 55: 5.  Overview

    55 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 56

    Section 5. Overview 56 figure 15: data acquisition system — overview 5.1 datalogger — overview the cr1000 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 57

    Section 5. Overview 57 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. 539), a user-friendly program generator, can be used...

  • Page 58

    Section 5. Overview 58 figure 16: wiring panel cr1000 wiring panel terminal definitions lab el s se 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 com 1 com 2 com 3 com 4 diff ┌ 1 ┐ ┌ 2 ┐ ┌ 3 ┐ ┌ 4 ┐ ┌ 5 ┐ ┌ 6 ┐ ┌ 7 ┐ ┌ 8 ┐ tx r x t x r x t x r x t x r x h l h l h l h l h l h l h l h l vx1 vx2 vx3 p1...

  • Page 59

    Section 5. Overview 59 switch closure 10 high frequency 10 low-level vac 2 digital i/o control 8 status 8 general i/o (tx,rx) 4 pulse-width modulation 3 timer i/o 8 interrupt 8 continuous regulated 3 5 vdc 1 continuous unregulated 3 12 vdc 2 switched regulated 3 5 vdc 8 switched unregulated 3 12 vdc...

  • Page 60

    Section 5. Overview 60 5.1.1.1 switched voltage output — overview related topics: • switched voltage output — specifications • switched voltage output — overview (p. 60) • switched voltage output — details (p. 407) • current source and sink limits (p. 408) • plc control — overview (p. 89) • plc cont...

  • Page 61

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

  • Page 62

    Section 5. Overview 62 5.1.1.4 communication ports — overview related topics: • communication ports — overview (p. 62) • data retrieval and comms — overview (p. 77) • cpi port and cdm devices — overview (p. 64) • pakbus — overview (p. 79) • rs-232 and ttl (p. 403) the cr1000 is equipped with hardwar...

  • Page 63

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

  • Page 64

    Section 5. Overview 64 5.1.1.4.4 sdi-12 ports read more see the section serial i/o: sdi-12 sensor support — details (p. 248). 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 conf...

  • Page 65

    Section 5. Overview 65 neglected. The following terminals are provided for connection of sensor and cr1000 datalogger grounds: • signal ground reference for single-ended analog inputs, pulse inputs, excitation returns, and as a ground for sensor shield wires. Signal returns for pulse inputs should u...

  • Page 66

    Section 5. Overview 66 5.2.2 analog measurements — overview related topics: • analog measurements — overview (p. 66) • analog measurements — details (p. 321) analog sensors output a continuous voltage or current signal that varies with the phenomena measured. Sensors compatible with the cr1000 outpu...

  • Page 67

    Section 5. Overview 67 unless the same voltage-excitation terminal is enabled during the unrelated measurements. • measured voltage is less than 200 mv. Figure 18: analog sensor wired to single-ended channel #1 figure 19: analog sensor wired to differential channel #1.

  • Page 68

    Section 5. Overview 68 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 4h 7 4l 8 5h 9 5l 10 6h 11 6l 12 7h 13 7l 14 8h 15 8l 16 5.2.2.1.1 single-ended measurements — overview related topics: • single-ended measurements...

  • Page 69

    Section 5. Overview 69 however, be aware that because a single-ended measurement is referenced to cr1000 ground, any difference in ground potential between the sensor and the cr1000 will result in error, as emphasized in the following examples: • if the measuring junction of a thermocouple used to m...

  • Page 70

    Section 5. Overview 70 5.2.2.3 resistance measurements — overview related topics: • resistance measurements — specifications • resistance measurements — overview (p. 70) • resistance measurements — details (p. 351) • measurement: rtd, prt, pt100, pt1000 (p. 266) many analog sensors use some kind of ...

  • Page 71

    Section 5. Overview 71 figure 21: full-bridge wiring example — pressure transducer 5.2.2.4 strain measurements — overview related topics: • strain measurements — overview (p. 71) • strain measurements — details (p. 362) • fieldcalstrain() examples (p. 236) strain gage measurements are usually associ...

  • Page 72

    Section 5. Overview 72 c terminals configurable for input for the following: • state • edge counting • edge timing note a period-averaging sensor has a frequency output, but it is connected to a se terminal configured for period-average input and measured with the periodaverage() instruction. See pe...

  • Page 73

    Section 5. Overview 73 pulse input terminals and measurements pulse input terminal input type data option crbasic instruction p terminal • low-level ac • high-frequency • switch-closure • counts • frequency • run average of frequency pulsecount() c terminal • low-level ac with llac4 (p. 588) module ...

  • Page 74

    Section 5. Overview 74 5.2.4 period averaging — overview related topics: • period average measurements — specifications • period average measurements — overview (p. 74) • period average measurements — details (p. 402) cr1000 se terminals can be configured to measure period average. Note both pulse c...

  • Page 75

    Section 5. Overview 75 measuring the resonant frequency by means of period averaging is the classic technique, but campbell scientific has developed static and dynamic spectral-analysis techniques ( vspect (p. 546)) that produce superior noise rejection, higher resolution, diagnostic data, and, in t...

  • Page 76

    Section 5. Overview 76 5.2.6.2 rs-232 — overview the cr1000 has 6 ports available for rs-232 input as shown in figure terminals configurable for rs-232 input (p. 76). As indicated in figure use of rs-232 and digital i/o when reading rs-232 devices (p. 76), rs-232 sensors can often be connected to c ...

  • Page 77

    Section 5. Overview 77 5.2.7 field calibration — overview related topics: • field calibration — overview (p. 77) • field calibration — details (p. 221) calibration increases accuracy of a measurement device by adjusting its output, or the measurement of its output, to match independently verified qu...

  • Page 78

    Section 5. Overview 78 the cr1000 communicates with external devices to receive programs, send data, or join a network. Data are usually moved through a comms link consisting of hardware and a protocol using campbell scientific datalogger support software (p. 599). Data can also be shuttled with ext...

  • Page 79

    Section 5. Overview 79 • before removing a card from the card module, or removing the card module from the cr1000, disable the card by pressing the initiate removal button (not the eject button), wait for the green light. • do not remove a memory card while the drive is active or data corruption and...

  • Page 80

    Section 5. Overview 80 (internet protocol). By using signatured data packets, pakbus increases the number of communication and networking options available to the cr1000. Communication can occur via tcp/ip, on the rs-232 port, cs i/o port, and c terminals. Advantages of pakbus are as follows: • simu...

  • Page 81

    Section 5. Overview 81 5.3.6.1 modbus — overview related topics: • modbus — overview (p. 81) • modbus — details (p. 460) the cr1000 supports modbus master and modbus slave communications for inclusion in modbus scada networks. Modbus is a widely used scada communication protocol that facilitates exc...

  • Page 82

    Section 5. Overview 82 • dhcp • dns • ftp • html • http • micro-serial server • modbus tcp/ip • ntcip • ntp • pakbus over tcp/ip • ping • pop3 • smtp • snmp • telnet • web api • xml • udp • ipv4 • ipv6 5.3.7 comms hardware — overview the cr1000 can accommodate, in one way or another, nearly all comm...

  • Page 83

    Section 5. Overview 83 figure 26: cr1000kd keyboard/display 5.3.8.1 character set the keyboard display character set is accessed using one of the following three procedures: • the 16 keys default to ▲, ▼, ◄, ►, home, pgup, end, pgdn, del, and ins . • to enter numbers, first press num lock . Num lock...

  • Page 84

    Section 5. Overview 84 counter , and submenus paneltemps , tctemps and system menu . Counter allows selection of one of four values. Each submenu displays two values from cr1000 memory. Paneltemps shows the cr1000 wiring-panel temperature at each scan, and the one-minute sample of panel temperature....

  • Page 85

    Section 5. Overview 85 5.5 power supplies — overview the cr1000 is powered by a nominal 12 vdc source. Acceptable power range is 9.6 to 16 vdc.External power connects through the green power in connector on the face of the cr1000. The positive power lead connects to 12v . The negative lead connects ...

  • Page 86

    Section 5. Overview 86 • crbasic programming — details (p. 122) • programming resource library (p. 174) • crbasic editor help a crbasic program directs the cr1000 how and when sensors are to be measured, calculations made, and data stored. A program is created on a pc and sent to the cr1000. The cr1...

  • Page 87

    Section 5. Overview 87 • track signatures • encrypt program files if they contain sensitive information • hide program files for extra protection • secure the physical cr1000 and power supply under lock and key note all security features can be subverted through physical access to the cr1000. If abs...

  • Page 88

    Section 5. Overview 88 5.9.3 factory calibration — overview related topics • auto self-calibration — overview (p. 91) • auto self-calibration — details (p. 356) • auto self-calibration — errors (p. 499) • offset voltage compensation (p. 331) • factory calibration (p. 88) • factory calibration or rep...

  • Page 89

    Section 5. Overview 89 datalogger support software handles communication between a computer or device and the cr1000. A wide array of software are available, but the following are the most commonly used: • short cut program generator for windows (scwin) — generates simple crbasic programs without th...

  • Page 90

    Section 5. Overview 90 • move a head gate to regulate water flows in a canal system. • control ph dosing and aeration for water quality purposes. • control a gas analyzer to stop operation when temperature is too low. • control irrigation scheduling. Controlled devices can be physically connected to...

  • Page 91

    Section 5. Overview 91 note start is inclusive and stop is exclusive in the range of time that will return a true result. For example: timeisbetween (0,10,60,min) will return true at 8:00:00.00 and false at 08:10:00.00. 5.12 auto self-calibration — overview related topics • auto self-calibration — o...

  • Page 92

    Section 5. Overview 92 • main memory o battery backed o os variables o crbasic compiled program binary structure (490 kb maximum) o crbasic variables o data memory o communication memory o usr: drive — user allocated — fat32 ram drive — photographic images (see cameras — list (p. 594)) — data files ...

  • Page 93: 6.  Specifications

    93 6. Specifications cr1000 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 engineer before pu...

  • Page 95: 7.  Installation

    95 7. Installation related topics: • quickstart (p. 35) • specifications (p. 93) • installation (p. 95) • operation (p. 319) 7.1 enclosures — details enclosures — details (p. 95) enclosures — products (p. 605) illustrated in figure enclosure (p. 95) is the typical use of enclosures available from ca...

  • Page 96

    Section 7. Installation 96 7.2 power supplies — details related topics: • power input terminals — specifications • power supplies — quickstart (p. 37) • power supplies — overview (p. 85) • power supplies — details (p. 96) • power supplies — products (p. 603) • power sources (p. 97) • troubleshooting...

  • Page 97

    Section 7. Installation 97 the cr1000 is internally protected against accidental polarity reversal on the power inputs. A transient voltage suppressor (tvs) diode at the power in 12v terminals provides protection from intermittent high voltages by clamping these transients to within the range of 19 ...

  • Page 98

    Section 7. Installation 98 connection causes the supply with the largest voltage to power the cr1000 and prevents the second backup supply from attempting to power the vehicle. Figure 29: connecting to vehicle power supply 7.2.4 uninterruptable power supply (ups) a ups (un-interruptible power supply...

  • Page 99

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

  • Page 100

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

  • Page 101

    Section 7. Installation 101 note lightning strikes may damage or destroy the cr1000 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 31: li...

  • Page 102

    Section 7. Installation 102 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 neare...

  • Page 103

    Section 7. Installation 103 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 104

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

  • Page 105

    Section 7. Installation 105 7.5.1 tools — setup configuration tools include the following: • device configuration utility (p. 105) • network planner (p. 106) • info tables and settings (p. 109) • crbasic program (p. 110) • executable cpu: files (p. 110) • keyboard display (p. 477) • terminal command...

  • Page 106

    Section 7. Installation 106 figure 33: 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 107

    Section 7. Installation 107 figure 34: 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. 107), • determine settings for devices and loggernet , and • program devices ...

  • Page 108

    Section 7. Installation 108 • 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 c...

  • Page 109

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

  • Page 110

    Section 7. Installation 110 note communication and processor bandwidth are consumed when generating the status and and other information tables. If the cr1000 is very tight on processing time, as may occur in very long or complex operations, retrieving these tables repeatedly may cause skipped scans...

  • Page 111

    Section 7. Installation 111 to be used, each file needs to be created and then placed on the cpu: drive of the cr1000. The 'include' file and default.Cr1 file consist of crbasic code. Powerup.Ini has a different, limited programming language. 7.5.1.5.1 default.Cr1 file a file named default.Cr1 can b...

  • Page 112

    Section 7. Installation 112 3. Enter the path and name of the file in the include file setting using devconfig or pakbusgraph . Figures "include file" settings with devconfig (p. 113) and "include file" settings with pakbusgraph (p. 113) show methods to set required settings with devconfig or with c...

  • Page 113

    Section 7. Installation 113 figure 35: "include" file settings with devconfig figure 36: "include" file settings with pakbusgraph.

  • Page 114

    Section 7. Installation 114 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 cr1000. It is essentially a subroutine that is 'stored in a file separate from the main program, but...

  • Page 115

    Section 7. Installation 115 7.5.1.5.3 executable file run priorities 1. When the cr1000 powers up, it executes commands in the powerup.Ini file (on campbell scientific mass storage device or memory card including commands to set the crbasic program file attributes to run now or run on power-up . 2. ...

  • Page 116

    Section 7. Installation 116 common configuration actions and tools action tools to use 1 updating the operating system devconfig (p. 105) software, program send (p. 535), memory card (p. 78), mass storage device access a register devconfig , pakbus graph , crbasic program, 'include' file (p. 111), d...

  • Page 117

    Section 7. Installation 117 datalogger support software allows the os to be sent over all software supported comms systems. O operating systems are very large files — be cautious of line charges . O updating the os may reset cr1000 settings, even settings critical to supporting the comms link. Newer...

  • Page 118

    Section 7. Installation 118 7.5.2.1.2 os update with file control this method is very similar to sending an os as a program, with the exception that you have to manually prepare the datalogger to accept the new os. How 1. Connect to the cr1000 with connect or devconfig 2. Collect data 3. Transfer a ...

  • Page 119

    Section 7. Installation 119 program send command locations datalogger support software name of button location of button devconfig send program logger control tab lower left loggernet send new... Connect window, lower right pc400 send program main window, lower right pc200w send program main window,...

  • Page 120

    Section 7. Installation 120 pakbustcp client connections are maintained. Plus, if you are using a tcp/ip connection, the file transfer is much faster than loading a new os directly through devconfig . The bad news is that, since it clears the run options for the current program, you can lose communi...

  • Page 121

    Section 7. Installation 121 devconfig send os tab: • if you are having trouble communicating with the cr1000 • if you want to return the cr1000 to a known configuration send program (p. 535) or send new... Command: • if you want to send an os remotely • if you are not too concerned about the consequ...

  • Page 122

    Section 7. Installation 122 figure 37: summary of cr1000 configuration 7.6 crbasic programming — details related topics: • crbasic programming — overview (p. 85) • crbasic programming — details (p. 122) • programming resource library (p. 174) • crbasic editor help programs are created with either sh...

  • Page 123

    Section 7. Installation 123 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 124

    Section 7. Installation 124 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 125

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

    Section 7. Installation 126 recorder basic). Crbasic editor is a text editor that facilitates creation and modification of the ascii text file that constitutes the cr1000 application program. Crbasic editor is a component of loggernet , rtdaq , and pc400 datalogger support software (p. 88). Fundamen...

  • Page 127

    Section 7. Installation 127 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 128

    Section 7. Installation 128 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 ea...

  • Page 129

    Section 7. Installation 129 • alias • stationname the table rules for names (p. 162) lists declaration names and allowed lengths. See predefined constants (p. 141) 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 130

    Section 7. Installation 130 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 131

    Section 7. Installation 131 data types in variable memory name command 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 cr1000 memory. See caution. 1 string size is d...

  • Page 132

    Section 7. Installation 132 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 ...

  • Page 133

    Section 7. Installation 133 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 134

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

    Section 7. Installation 135 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 dimensi...

  • Page 136

    Section 7. Installation 136 works best in practice. Crbasic example flag declaration and use (p. 136) 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 137

    Section 7. Installation 137 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 138

    Section 7. Installation 138 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 139

    Section 7. Installation 139 • scale an array dimension • 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 mu...

  • Page 140

    Section 7. Installation 140 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 141

    Section 7. Installation 141 limited by the 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 tabl...

  • Page 142

    Section 7. Installation 142 crbasic 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 differe...

  • Page 143

    Section 7. Installation 143 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 144

    Section 7. Installation 144 • after endsequence or an infinite scan() / nextscan and before endprog or slowsequence • immediately following slowsequence. Slowsequence code starts executing after any declaration sequence. Only declaration sequences can occur after endsequence and before slowsequence ...

  • Page 145

    Section 7. Installation 145 typical data table toa5 cr1000 cr1000 1048 cr1000.Std.13.06 cpu:data.Cr1 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 146

    Section 7. Installation 146 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 s...

  • Page 147

    Section 7. Installation 147 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 148

    Section 7. Installation 148 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. 88) collects the oldest data at th...

  • Page 149

    Section 7. Installation 149 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 150

    Section 7. Installation 150 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 151

    Section 7. Installation 151 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 152

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

  • Page 153

    Section 7. Installation 153 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 cr1000 • cdm task — rigidly timed measurement and control of cdm/cpi (p. ...

  • Page 154

    Section 7. Installation 154 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 instruction...

  • Page 155

    Section 7. Installation 155 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 156

    Section 7. Installation 156 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 157

    Section 7. Installation 157 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 158

    Section 7. Installation 158 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 159

    Section 7. Installation 159 permission to proceed with a measurement is granted by the measurement semaphore (p. 539). 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 160

    Section 7. Installation 160 figure 38: 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. 125) for a comprehensive list of th...

  • Page 161

    Section 7. Installation 161 variable reftemp , using a 250 µs integration time, the syntax is as shown in crbasic example measurement instruction syntax (p. 161). Measurement instruction syntax 'this program example demonstrates the use of a single measurement instruction. In this 'case, the program...

  • Page 162

    Section 7. Installation 162 rules for names name category 1 maximum length (number of characters) allowed characters variable or array 39 letters a to z, a to z, _ (underscore), and numbers 0 to 9. Names must start with a letter or underscore. Crbasic is not case sensitive. Units are excepted from t...

  • Page 163

    Section 7. Installation 163 7.6.3.16 programming expression types an expression is a series of words, operators, or numbers that produce a value or result. Expressions are evaluated from left to right, with deference to precedence rules. The result of each stage of the evaluation is of type long (in...

  • Page 164

    Section 7. Installation 164 • floating-point arithmetic does not perfectly mimic true arithmetic. • avoid use of equality in cond itional statements. Use >= and for example, use if x >= y then do rather than if x = y then do . • when programming extended-cyclical summation of non-integers, use the a...

  • Page 165

    Section 7. Installation 165 conversion of float / long to boolean 'this program example demonstrates conversion of float and long data types to boolean 'data type. Public fa as float public fb as float public l as long public ba as boolean public bb as boolean public bc as boolean beginprog fa = 0 f...

  • Page 166

    Section 7. Installation 166 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 167

    Section 7. Installation 167 argument true is predefined in the cr1000 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 n...

  • Page 168

    Section 7. Installation 168 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 169

    Section 7. Installation 169 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 an...

  • Page 170

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

    Section 7. Installation 171 • prc is the abbreviation of the name of the data process used. See table data process abbreviations (p. 171) 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 172

    Section 7. Installation 172 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 173

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

  • Page 174

    Section 7. Installation 174 editor. Compile > compile, save, send displays the window shown in figure crbasic editor program send file control window (p. 174) 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 ....

  • Page 175

    Section 7. Installation 175 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 176

    Section 7. Installation 176 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 177

    Section 7. Installation 177 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 178

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

    Section 7. Installation 179 7.7.1.4 miscellaneous features crbasic example miscellaneous program features (p. 179) 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 ex...

  • Page 180

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

    Section 7. Installation 181 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,mv2_5c,1,typet,ptemp_c,true,0,_60hz,1,0) tcdiff (airtemp_f,1,mv2_5c,1,typet,ptemp_c,true,0,_60hz,1....

  • Page 182

    Section 7. Installation 182 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 183

    Section 7. Installation 183 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 184

    Section 7. Installation 184 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 185

    Section 7. Installation 185 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 186

    Section 7. Installation 186 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 187

    Section 7. Installation 187 • 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 dim...

  • Page 188

    Section 7. Installation 188 • 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 arra...

  • Page 189

    Section 7. Installation 189 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 190

    Section 7. Installation 190 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 191

    Section 7. Installation 191 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 p...

  • Page 192

    Section 7. Installation 192 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 193

    Section 7. Installation 193 figure 40: running-average frequency response figure 41: running-average signal attenuation 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...

  • Page 194

    Section 7. Installation 194 'declare public variables public ptemp, batt_volt, airtempc, deltat public int_fast as boolean public int_slow as boolean public counter(4) as long 'declare data table ' 'table is output on one of two intervals, depending on condition. 'note the parenthesis around the tri...

  • Page 195

    Section 7. Installation 195 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 conditional instructions such as the datainterval() and...

  • Page 196

    Section 7. Installation 196 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. The data table, which includes the s...

  • Page 197

    Section 7. Installation 197 when datalogger support software (p. 88) retrieves the bool8 value, it splits it apart into eight fields of -1 or 0 when storing to an ascii file. Consequently, more memory is required for the ascii file, but cr1000 memory is conserved. The compact bool8 data type also us...

  • Page 198

    Section 7. Installation 198 figure 44: bool8 data from bit shift example (numeric monitor) figure 45: bool8 data from bit shift example (pc data file).

  • Page 199

    Section 7. Installation 199 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 (bool8data,true,-1) datainterval (0,1,sec,10) 'store bits 1 thro...

  • Page 200

    Section 7. Installation 200 if alarm(26) then flags = flags or &h2000000 ' &b10000000000000000000000000 if alarm(27) then flags = flags or &h4000000 ' &b100000000000000000000000000 if alarm(28) then flags = flags or &h8000000 ' &b1000000000000000000000000000 if alarm(29) then flags = flags or &h1000...

  • Page 201

    Section 7. Installation 201 1. Time variable is declared as long. Sample() instruction assumes the time variable holds seconds since 1990 and microseconds into the second is 0. The value stored in final-data memory is a standard time stamp. See crbasic example nsec — one element time array (p. 201)....

  • Page 202

    Section 7. Installation 202 nsec — two element time array 'this program example demonstrates how to determine seconds since 00:00:00 1 january 1990, 'and microseconds into the last second. This is done by retrieving variable timestamp into 'variables timeofmaxvar(1) and timeofmaxvar(2). Because the ...

  • Page 203

    Section 7. Installation 203 'program beginprog scan (1,sec,0,0) realtime (rtime) for x = 1 to 7 rtime2(x) = rtime(x) next calltable secondtable nextscan endprog nsec —convert timestamp to universal time 'this program example demonstrates the use of nsec data type to convert a data time stamp 'to uni...

  • Page 204

    Section 7. Installation 204 7.7.9 data output: wind vector the windvector() instruction processes wind-speed and direction measurements to calculate mean speed, mean vector magnitude, and mean vector direction over a data-storage interval. Measurements from polar (wind speed and direction) or orthog...

  • Page 205

    Section 7. Installation 205 7.7.9.2 wind vector processing windvector() uses a zero-wind-speed measurement when processing scalar wind speed only. Because vectors require magnitude and direction, measurements at zero wind speed are not used in vector speed or direction calculations. This means, for ...

  • Page 206

    Section 7. Installation 206 7.7.9.2.1 measured raw data • s i : horizontal wind speed • Θ i : horizontal wind direction • ue i : east-west component of wind • un i : north-south component of wind • n: number of samples 7.7.9.2.2 calculations input sample vectors figure 46: input sample vectors in fi...

  • Page 207

    Section 7. Installation 207 unit vector mean wind direction, where or, in the case of orthogonal sensors where standard deviation of wind direction (yamartino algorithm) where, and ux and uy are as defined above. Mean wind vector resultant mean horizontal wind speed, Ū:.

  • Page 208

    Section 7. Installation 208 figure 47: mean wind-vector graph where for polar sensors: or, in the case of orthogonal sensors: resultant mean wind direction, Θu: standard deviation of wind direction, σ (Θu), u sing campbell scientific algorithm: the algorithm for σ (Θu) is developed by noting, as sho...

  • Page 209

    Section 7. Installation 209 figure 48: standard deviation of direction figure 49: standard deviation of direction the taylor series for the cosine function, truncated after 2 terms is: for deviations less than 40 degrees, the error in this approximation is less than 1%. At deviations of 60 degrees, ...

  • Page 210

    Section 7. Installation 210 and have never been greater than a few degrees. The final form is arrived at by converting from radians to degrees (57.296 degrees/radian). 7.7.10 data output: writing high-frequency data to memory cards related topics: • memory card (crd: drive) — overview (p. 78) • memo...

  • Page 211

    Section 7. Installation 211 note memory cards add a measure of security in guarding against data loss. However, no system is infallible. Finding a functioning memory card in the mud after a moose has trampled your weather station or a tractor has run an offset disk over your soil-moisture station ma...

  • Page 212

    Section 7. Installation 212 using tablefile() with option 64 with memory card 'this program example demonstrates the use of tablefile() with option 64 in micrometeorology 'eddy-covariance programs. The file naming scheme used in instruction tablefile() is 'customized using variables, constants, and ...

  • Page 213

    Section 7. Installation 213 note to avoid data corruption and loss, memory card removal must always be initiated by pressing the initiate removal button on the face of the nl115 or cfm100 modules. The card must be ejected only after the status light shows a solid green. Q: why are individual files l...

  • Page 214

    Section 7. Installation 214 • faster read/write times • better vibration and shock resistance • longer life spans (more read/write cycles) note more cf card recommendations are presented in the application note, cf card information , which is available at www.Campbellsci.Com . Q: can closed files be...

  • Page 215

    Section 7. Installation 215 exchange is delayed by an additional 5 minutes, 5 minutes of data at the beginning of the last 45 minute interval (since it is the oldest data) will be overwritten in cpu memory before transfer to the new card and lost. 1 other options of tablefile() do not pre-allocate m...

  • Page 216

    Section 7. Installation 216 menupick() allows only true or false or declared equivalents. Otherwise, many items are allowed in the pick list. Order of items in list is determined by order of instruction; however, item displayed initially in menuitem() is determined by the value of the item. Submenu(...

  • Page 217

    Section 7. Installation 217 figure 52: custom menu example — make notes sub menu figure 53: custom menu example — predefined notes pick list figure 54: custom menu example — free entry notes window.

  • Page 218

    Section 7. Installation 218 figure 55: custom menu example — accept / clear notes window figure 56: custom menu example — control sub menu figure 57: custom menu example — control led pick list.

  • Page 219

    Section 7. Installation 219 figure 58: custom menu example — control led boolean pick list note see figures custom menu example — home screen (p. 216) through custom menu example — control led boolean pick list (p. 219) in reference to the following crbasic example. Custom menus 'this program exampl...

  • Page 220

    Section 7. Installation 220 'define temperature datatable 'set up temperature data table. Datatable (tempc,1,-1) 'written to every 60 seconds with: datainterval (0,60,sec,10) sample (1,reftemp,fp2) 'sample of reference temperature sample (1,tctemp(1),fp2) 'sample of thermocouple 1 sample (1,tctemp(2...

  • Page 221

    Section 7. Installation 221 'menu item "make notes" support code if cyclenotes = "accept" then calltable notes 'write data to notes data table cyclenotes = "accepted" 'write "accepted" after written delay (1,500,msec) 'pause so user can read "accepted" selectnote = "" 'clear pick list note enternote...

  • Page 222

    Section 7. Installation 222 captures are used in the following procedures. Running through these procedures will give you a foundation for how field calibration works, but use of the calibration wizard for routine work is recommended. More detail is available in crbasic editor help . 7.7.12.1 field ...

  • Page 223

    Section 7. Installation 223 fieldcal() and fieldcalstrain() use the following reserved boolean variable: • newfieldcal — a reserved boolean variable under cr1000 control used to optionally trigger a data storage output table one time after a calibration has succeeded. See crbasic editor help for ope...

  • Page 224

    Section 7. Installation 224 fieldcal() codes value returned state -1 error in the calibration setup -2 multiplier set to 0 or nan ; measurement = nan -3 reps is set to a value other than 1 or the size of measurevar 0 no calibration 1 ready to calculate ( knownvar holds the first of a two point calib...

  • Page 225

    Section 7. Installation 225 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. 230) and fieldcal() slope (opt 3) example (p. 233) for demonstration...

  • Page 226

    Section 7. Installation 226 • 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 227

    Section 7. Installation 227 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 simulate...

  • Page 228

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

    Section 7. Installation 229 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 230

    Section 7. Installation 230 'the simulated sensor signal and note how the new offset is added to the measurement: ' simulatedsalinitysignal = 1345 'note: this program places a .Cal file on the cpu: drive of the cr1000. The .Cal file must 'be erased to reset the demonstration. 'declare simulated sign...

  • Page 231

    Section 7. Installation 231 example case: a meter measures the volume of water flowing through a pipe. Multiplier and offset are known to drift, so a two-point calibration is required periodically at known flow rates. The following procedure adjusts multiplier and offset to correct for meter drift a...

  • Page 232

    Section 7. Installation 232 d. Resume the calibration by setting variable calmode = 4 6. When variable calmode increments to 6 , the calibration is complete. The corrected multiplier is -0.08 ; offset is 53.9 . Fieldcal() two-point slope and offset 'this program example demonstrates the use of field...

  • Page 233

    Section 7. Installation 233 '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 calibration procedure (when variable calmode = 6) loadfieldcal (tr...

  • Page 234

    Section 7. Installation 234 calibration report for water content sensor crbasic variable at deployment simulatedwatercontentsignal 175 mv knownwc 10 % simulatedwatercontentsignal 700 mv knownwc 35 % wcmultiplier 0.0476 %/mv the following procedure sets the sensitivity of a simulated soil water-conte...

  • Page 235

    Section 7. Installation 235 ' vx1 --- se 1 'for the simulation, the value of the calibration standard and the initial 'sensor' signal 'are set automatically. Start the multiplier routine by setting variable calmode = 1. When 'calmode = 6 (occurs automatically after 10 measurements), the routine is c...

  • Page 236

    Section 7. Installation 236 avw200-series two-channel vspect vibrating wire measurement device cr6 measurement and control datalogger operators manual 7.7.12.6 field calibration strain examples related topics: • strain measurements — overview (p. 71) • strain measurements — details (p. 362) • fieldc...

  • Page 237

    Section 7. Installation 237 crbasic example fieldcalstrain() calibration (p. 237) is provided to demonstrate use of fieldcalstrain() features. If a strain gage configured as shown in figure quarter-bridge strain gage with rc resistor shunt (p. 237) is not available, strain signals can be simulated b...

  • Page 238

    Section 7. Installation 238 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 that are arguments in the zero function public zero_mode publ...

  • Page 239

    Section 7. Installation 239 7.7.12.6.3 fieldcalstrain() quarter-bridge shunt example with crbasic example fieldcalstrain() calibration (p. 237) sent to the cr1000, and the strain gage stable, use the cr1000kd keyboard/display or software numeric monitor to change the value in variable knownres to th...

  • Page 240

    Section 7. Installation 240 figure 62: zero procedure start figure 63: zero procedure finish 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 ...

  • Page 241

    Section 7. Installation 241 maximum measurement speeds using voltse() voltse() measurement type maximum speed on n channels fast scan() 100 hz, n = 16 cluster burst 1,2 1000 hz, n = 1 500 hz, n =3 dwell burst 1,3 ≤ 1735 samples @ 2000 hz, n = 1 1 bursts are programmed episodes of rapid analog measur...

  • Page 242

    Section 7. Installation 242 fast analog voltage measurement: fast scan() 'this program makes 100 hz measurements of one single-ended channel. The 'following programming features are key to making this application work: '--pipelinemode enabled '--measurement speed set with scan() interval=10 and unit...

  • Page 243

    Section 7. Installation 243 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: '--p...

  • Page 244

    Section 7. Installation 244 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 245

    Section 7. Installation 245 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 246

    Section 7. Installation 246 • when testing and troubleshooting fast measurements, the following status table registers may provide useful information: o skippedscan (p. 574) o measuretime (p. 569) o processtime (p. 572) o maxproctime (p. 568) o buffdepth (p. 561) o maxbuffdepth (p. 568) • when the n...

  • Page 247

    Section 7. Installation 247 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 before the next scan() / nextscan interval . 7.7.14 measurement: excite, delay, measure this example demo...

  • Page 248

    Section 7. Installation 248 7.7.15 serial i/o: sdi-12 sensor support — details related topics: • sdi-12 sensor support — overview (p. 75) • sdi-12 sensor support — details (p. 404) • serial i/o: sdi-12 sensor support — programming resource (p. 248) see the table cr1000 terminal definitions (p. 58) f...

  • Page 249

    Section 7. Installation 249 figure 64: entering sdi-12 transparent mode 7.7.15.1.1 sdi-12 transparent mode commands commands have three components: • sensor address ( a ) — a single character, and is the first character of the command. Sensors are usually assigned a default address of zero by the ma...

  • Page 250

    Section 7. Installation 250 sdi-12 commands for transparent mode command name command syntax 1 response 2 notes break continuous spacing for at least 12 milliseconds none address query ?! A acknowledge active a! A change address aab! B (support for this command is required only if the sensor support...

  • Page 251

    Section 7. Installation 251 sdi-12 address commands address and identification commands request metadata about the sensor. Connect only a single probe when using these commands. ?! Requests the sensor address. Response is address, a . Syntax: ?! Aab! Changes the sensor address. A is the current addr...

  • Page 252

    Section 7. Installation 252 where: a is the sensor address ttt is the time (s) until measurement data are available nn is the number of values to be returned when one or more subsequent d! Commands are issued. Amv! Starts a standard measurement. Qualifier v is a variable between 1 and 9. If supporte...

  • Page 253

    Section 7. Installation 253 sdi-12 send data command send data commands are normally issued automatically by the cr1000 after the amv! Or acv! Measurement commands. In transparent mode through cr1000 terminal commands, you need to issue these commands in series. When in automatic mode, if the expect...

  • Page 254

    Section 7. Installation 254 for troubleshooting purposes, responses to sdi-12 commands can be captured in programmed mode by placing a variable declared as string in the variable parameter. Variables not declared as string will capture only numeric data. Another troubleshooting tool is the terminal-...

  • Page 255

    Section 7. Installation 255 sdi-12 commands for programmed (sdirecorder()) mode command name sdirecorder() sdicommand argument sdi-12 command sent sensor response 1 cr1000 response notes cr1000: else, issues adv! Command(s) sensor: responds with data cr1000: issues acv! Command (to request data for ...

  • Page 256

    Section 7. Installation 256 consider an application wherein four sdi-12 temperature sensors need to be near-simultaneously measured at a five minute interval within a program that scans every five seconds. The sensors requires 95 seconds to respond with data after a measurement request. Complicating...

  • Page 257

    Section 7. Installation 257 endsequence endprog however, problems 2 and 3 still are not resolved. These can be resolved by using the concurrent measurement command, c! . All measurements will be made at about the same time and execution time will be about 95 seconds, well within the 5 minute scan ra...

  • Page 258

    Section 7. Installation 258 using sdi12sensor() to test cv command 'this program example demonstrates how to use crbasic to simulate four sdi-12 sensors. This program can be used to 'produce measurements to test the crbasic example using alternate concurrent command (ac) (p. 259). Public temp(4) dat...

  • Page 259

    Section 7. Installation 259 slowsequence do sdi12sensorsetup (1,7,3,95) delay (1,95,sec) sdi12sensorresponse (temp(4)) loop endsequence endprog using alternate concurrent command (ac) 'this program example demonstrates the use of the special sdi-12 concurrent measurement 'command (ac) when back-to-b...

  • Page 260

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

    Section 7. Installation 261 the 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. 294). Using an sdi-12 extended command 'this program example demonstrates the use of sdi-12 ex...

  • Page 262

    Section 7. Installation 262 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 cr1000 will respond to sdi-12 commands m , mc , c , cc , r , rc , v , ? , and i . Se...

  • Page 263

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

  • Page 264

    Section 7. Installation 264 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 265

    Section 7. Installation 265 #elseif destination = 1000 then #elseif destination = 800 then #elseif destination = 6 then #else #endif for example, this logic allows a simple change of a constant to direct, which measurement instructions to include. Crbasic editor features a pre-compile option that en...

  • Page 266

    Section 7. Installation 266 #elseif loggertype = 800 selectedspeed = "cr800 running at " & speed & " intervals." #elseif loggertype = 6 selectedspeed = "cr6 running at " & speed & " intervals." #else selectedspeed = "unknown logger " & speed & " intervals." #endif 'open the serial port serialopen (c...

  • Page 267

    Section 7. Installation 267 7.7.17.1 measurement theory (prt) rtds (resistance temperature detectors) are resistive devices made of platinum, nickel, copper, or other material. Platinum rtds, known as prts (platinum resistance thermometers) are very accurate temperature measurement sensors. This dis...

  • Page 268

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

  • Page 269

    Section 7. Installation 269 pt100 temperature and ideal resistances (rs); α = 0.00385 1 rs –40 rs 0 rs 10 rs 60 °c –40 0 10 60 mΩ 84270 100000 103900 123240 1 commonly available tables provide these resistance values. Callandar- van dusen coefficients for pt100, α = 0.00385 constants coefficient a 3...

  • Page 270

    Section 7. Installation 270 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 65: pt100 brhalf4w() four-wire half-bridge schematic procedure data...

  • Page 271

    Section 7. Installation 271 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 brhalf4w() four-wire half-bridge schematic (p. 270) as the wiring diagram. 3. Calculate excitation voltage 2 : use the foll...

  • Page 272

    Section 7. Installation 272 5. Measure the sensor: if you are doing a dry run, assume the temperature is 10 °c. A. Enter crbasic example: pt100 brhalf4w() four-wire half-bridge measurement (p. 273) into the cr1000. It is already programmed with the excitation voltage from step 3 and rs 0 from step 4...

  • Page 273

    Section 7. Installation 273 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 274

    Section 7. Installation 274 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 275

    Section 7. Installation 275 procedure information brhalf3w() three-wire half-bridge equations x = rs / rf rs = rf • x vx = vs/(rs/(rf + rs)) bridge resistor values (mΩ) rf 100000 procedure 1. Build circuit 1 : a. Use figure: pt100 brhalf3w() three-wire half-bridge schematic (p. 274) as a template. B...

  • Page 276

    Section 7. Installation 276 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 brhalf3w() three-wire half-bridge calibration (p. 277) into the cr1000. It is alread...

  • Page 277

    Section 7. Installation 277 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 278

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

  • Page 279

    Section 7. Installation 279 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 bridg e). Since a 103.9 Ω resistor is hard to find, use a 100 Ω resistor. It is close enough. Use 5 ppm/°c r...

  • Page 280

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

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

    Section 7. Installation 282 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 283

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

    Section 7. Installation 284 note prt() (not prtcalc() ) is obsolete. Prtcalc() uses the following inverse callendar-van dusen equations to calculate temperature from resistance. For temperatures t = g • k • j + k 2 • i + k 3 • h + k 4 , where k = r s /r 0 – 1 (eq. 1) for temperatures ≥0 °c: t = (sqr...

  • Page 285

    Section 7. Installation 285 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.1455000e+00 j 2.5581900e+02 1 compliant with the following standards: iec 60751:2008 (iec 751), astm e1137-04...

  • Page 286

    Section 7. Installation 286 prtcalc() prttype = 3 , α = 0.00391 1 g 1.7010560e+00 h -2.6953500e+00 i 8.8564290e+00 j 2.5190880e+02 1 us industrial standard, α = 0.00391 (reference: omil r84 (2003)) prtcalc() prttype = 4 , α = 0.003916 1 constant coefficient a 3.9739000e-03 d -2.3480000e-06 e 1.81398...

  • Page 287

    Section 7. Installation 287 prtcalc() prttype = 6 , α = 0.003926 1 constant coefficient a 3.9848000e-03 d -2.3480000e-06 e 1.8226630e-05 f -1.1740000e-06 g 1.6319630e+00 h -2.4709290e+00 i 8.8283240e+00 j 2.5091300e+02 1 standard its- 90 sprt, α = 0.003926 (reference: minco / instrunet) 7.7.17.7 sel...

  • Page 288

    Section 7. Installation 288 if the byte is displayed on a terminal as it was received, it will appear as an ascii / ansi character or control code. Table ascii / ansi equivalents (p. 288) shows a sample of ascii / ansi character and code equivalents. Ascii / ansi equivalents byte received ascii char...

  • Page 289

    Section 7. Installation 289 connect sensor rx (receive, pin 2) to a u or c terminal set up for tx (c1, c3, c5, c7). • connect sensor tx (transmit, pin 3) to a u or c terminal set up for rx (c2, c4, c6, c8) • connect sensor ground (pin 5) to datalogger ground ( g terminal) note rx and tx lines on nin...

  • Page 290

    Section 7. Installation 290 read more see sdi-12 sensor support — details (p. 404), pakbus comms — overview (p. 79), dnp3 — details (p. 459), and modbus — details (p. 460). Many instruments require non-standard protocols to communicate with the cr1000. Note if an instrument or sensor optionally supp...

  • Page 291

    Section 7. Installation 291 term: duplex a serial communication protocol. Serial communications can be simplex, half-duplex, or full-duplex. Reading list: simplex (p. 540), duplex (p. 291), half duplex (p. 526), and full duplex (p. 524). Term: lf l ine f eed. Often associated with carriage return ()...

  • Page 292

    Section 7. Installation 292 term: sp space term: start bit is the bit used to indicate the beginning of data. Term: stop bit is the end of the data bits. The stop bit can be 1, 1.5 or 2. Term: tx transmit 7.7.18.5 serial i/o crbasic programming to transmit or receive rs-232 or ttl signals, a serial ...

  • Page 293

    Section 7. Installation 293 serialclose() must be executed before serialopen() can be used again to reconfigure the same serial port, or before the port can be used to communicate with a pc. 7.7.18.5.1 serial i/o programming basics serialopen() 1 • closes ppp (if active) • returns true or false when...

  • Page 294

    Section 7. Installation 294 serialoutblock() 1,3 • binary • can run in pipeline mode inside the digital measurement task (along with sdm instructions) if the comport parameter is set to a constant such as com1 , com2 , com3 , or com4 , and the number of bytes is also entered as a constant. Serialout...

  • Page 295

    Section 7. Installation 295 o can the sensor be polled? O does the sensor send data on its own schedule? O are there markers at the beginning or end of data? Markers are very useful for identifying a variable length record. O does the record have a delimiter character such as a comma, space, or tab?...

  • Page 296

    Section 7. Installation 296 4. Parse (split up) the serial string using splitstr() o separates string into numeric and / or string variables. O example: splitstr (instringsplit,serialinstring,"",2,0) o declare an array to accept the parsed data. — example: public instringsplit(2) as string — example...

  • Page 297

    Section 7. Installation 297 o declare the output string variable large enough to hold the entire concatenation. O example: public serialoutstring as string * 100 • serialout() and serialoutblock() output the same data, except that serialoutblock() transmits null values while serialout() strings are ...

  • Page 298

    Section 7. Installation 298 7.7.18.5.5 serial i/o memory considerations several points regarding memory should be considered when receiving and processing serial data. • serial buffer: the serial port buffer, which is declared in serialopen() , must be large enough to hold all data a device will sen...

  • Page 299

    Section 7. Installation 299 receiving an rs-232 string 'this program example demonstrates cr1000 serial i/o features by: ' 1. Simulating a serial sensor ' 2. Transmitting a serial string via com1 tx. 'the serial string is received at com2 rx via jumper wire. Simulated 'air temperature = 27.435 f, re...

  • Page 300

    Section 7. Installation 300 7.7.18.6 serial i/o application testing a common problem when developing a serial i/o application is the lack of an immediately available serial device with which to develop and test programs. Using hyperterminal , a developer can simulate the output of a serial device or...

  • Page 302

    Section 7. Installation 302 figure 71: hyperterminal ascii setup 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. 302) will send the string [2008:028:10:36:22]c to the cr1000. Use notepad (microso...

  • Page 304

    Section 7. Installation 304 measure sensors / send rs-232 data 'this program example demonstrates the import and export serial data via the cr1000 rs-232 'port. Imported data are expected to have the form of the legacy campbell scientific 'time set c command: ' [yr:day:hr:mm:ss]c 'exported data has ...

  • Page 305

    Section 7. Installation 305 'check if it is a leap year: 'if year mod 4 = 0 and year mod 100 0, then it is a leap year or 'if year mod 4 = 0, year mod 100 = 0, and year mod 400 = 0, then it 'is a leap year leapyear = 0 'reset leap year status location leapmod4 = year mod 4 leapmod100 = year mod 100 ...

  • Page 306

    Section 7. Installation 306 case is month = 10 date = doy + -274 case is month = 11 date = doy + -305 case is month = 12 date = doy + -335 endselect '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 dat...

  • Page 307

    Section 7. Installation 307 '//////////////////////////// program //////////////////////////// beginprog stationid = 4771 scan (1,sec, 3, 0) '/////////////////measurement section//////////////////////// 'pulsecount(kwh_in, 1, 1, 2, 0, 1, 0) 'activate this line in working program kwh_in = 4.5 'simula...

  • Page 308

    Section 7. Installation 308 'assign +/- sign for i=1 to 6 if onemindata(i) then 'note: chr45 is - sign outfrag(i)=chr(45) & formatfloat ( abs (onemindata(i)),"%05g") else 'note: chr43 is + sign outfrag(i)=chr(43) & formatfloat ( abs (onemindata(i)),"%05g") endif next i 'concatenate printable ascii s...

  • Page 309

    Section 7. Installation 309 both conditions power-up the interface and leave it on with no timeout. If serialclose() is used after serialopen() , the port is powered down and in a state waiting for characters to come in. Under normal operation, the port is powered down waiting for input. After recei...

  • Page 310

    Section 7. Installation 310 a : open the port in binary mode (mode 3) instead of pakbus-enabled mode (mode 0). Q : tests with an oscilloscope showed the sensor was responding quickly, but the data were getting held up in the internals of the cr1000 somewhere for 30 ms or so. Characters at the start ...

  • Page 311

    Section 7. Installation 311 into an array of values (characters, floats, or longs), such as move() , movebytes() , getvariables() , serialinrecord() , serialinblock() . In all cases, when writing to an array of values, it is important to understand what you are reading, if you are reading it asynchr...

  • Page 312

    Section 7. Installation 312 string operators operator description "abc" - "abc" = 0 difference between e and c "abe" - "abc" = 2 difference between c and b "ace" - "abe" = 1 difference between d and null "abcd" - "abc" = 100 , > , , , >= , = ascii codes of the first characters in each string are com...

  • Page 313

    Section 7. Installation 313 concatenation of numbers and strings 'this program example demonstrates the concatenation of numbers and strings to variables 'declared as float and as string. ' 'declare variables public num(12) as float public str(2) as string dim i beginprog scan (1,sec,0,0) i = 0 'set...

  • Page 314

    Section 7. Installation 314 'following destination variables is string because str() array is declared as string. I = 0 i += 1 str(i) = 1 + 2 + "hey" + 4 + 5 + "6" '= 3hey456 i += 1 str(i) = 1 + 2 + "hey" + (4 + 5) + "6" '= 3hey96 nextscan endprog 7.7.19.3 string null character all strings are autom...

  • Page 315

    Section 7. Installation 315 some smart sensors send strings containing null characters. To manipulate a string that has null characters within it (in addition to being terminated with another null), use movebytes() instruction. 7.7.19.4 inserting string characters example: objective: use movebytes()...

  • Page 316

    Section 7. Installation 316 crbasic example subroutine with global and local variables (p. 316) shows the use of global and local variables. Variables counter() and pi_product are global. Variable i_sub is global but used exclusively by subroutine process . Variables j() and outvar are local since t...

  • Page 317

    Section 7. Installation 317 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 319: 8.  Operation

    319 8. Operation related topics: • quickstart (p. 35) • specifications (p. 93) • installation (p. 95) • operation (p. 319) 8.1 measurements — details related topics: • sensors — quickstart (p. 35) • measurements — overview (p. 65) • measurements — details (p. 319) • sensors — lists (p. 593) several ...

  • Page 320

    Section 8. Operation 320 time-stamp skew is not a problem with most applications because, • 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, an...

  • Page 321

    Section 8. Operation 321 scan (1,sec,10,0) 'delay -- in an operational program, delay may be caused by other code delay (1,500,msec) 'measure value -- can be any analog measurement paneltemp (value,0) 'immediately call slowsequence to execute calltable() triggersequence (1,0) nextscan 'allow data to...

  • Page 322

    Section 8. Operation 322 8.1.2.1 voltage measurement quality read more consult the following technical papers at www.Campbellsci.Com/app-notes for in-depth treatments of several topics addressing voltage measurement quality: • preventing and attacking measurement noise problems • benefits of input r...

  • Page 323

    Section 8. Operation 323 • sensor is not designed for differential measurements. Many campbell scientific sensors are not designed for differential measurement, but the draw backs of a single-ended measurement are usually mitigated by large programmed excitation and/or sensor output voltages. Sensor...

  • Page 324

    Section 8. Operation 324 • minimize polarization of polar sensors such as those for measuring conductivity, soil moisture, or leaf wetness. Polarization may cause measurement errors or sensor degradation. • improve accuracy of an lvdt measurement. The induced voltage in an lvdt decays with time as c...

  • Page 325

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

  • Page 326

    Section 8. Operation 326 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 327

    Section 8. Operation 327 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. 327). Default settling times (those...

  • Page 328

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

  • Page 329

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

  • Page 330

    Section 8. Operation 330 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 331

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

    Section 8. Operation 332 summary measurement offset voltages are unavoidable, but can be minimized. Offset voltages originate with: • ground currents • seebeck effect • residual voltage from a previous measurement remedies include: • connect power grounds to power ground terminals ( g ) • use input ...

  • Page 333

    Section 8. Operation 333 measurements without input reversal, this offset voltage measurement is performed as part of the routine auto-calibration of the cr1000. Single-ended measurement instructions voltse() and tcse() measoff parameter determines whether the offset voltage measured is done at the ...

  • Page 334

    Section 8. Operation 334 table: offset voltage compensation options (p. 334) lists some of the tools available to minimize the effects of offset voltages. Offset voltage compensation options crbasic measurement instruction input reversal ( revdiff = true ) excitation reversal ( revex = true ) measur...

  • Page 335

    Section 8. Operation 335 1. Switches to the measurement terminals 2. Sets the excitation, and then settle, and then measure 3. Reverse the excitation, and then settles, and then measure 4. Reverse the excitation, reverse the input terminals, settle, measure 5. Reverse the excitation, settle, measure...

  • Page 336

    Section 8. Operation 336 where a-to-d conversion time equals 15 µs. If reps (repetitions) > 1 (multiple measurements by a single instruction), no additional time is required. If reps = 1 in consecutive voltage instructions, add 15 µs per instruction. Measurement accuracy read more for an in-depth tr...

  • Page 337

    Section 8. Operation 337 analog voltage measurement resolution input voltage range (mv) differential measurement with input reversal ( µ v) basic resolution ( µ v) ± 5000 667 1333 ± 2500 333 667 ± 250 33.3 66.7 25 3.33 6.7 7.5 1.0 2.0 2.5 0.33 0.67 note — see specifications (p. 93) for a complete ta...

  • Page 338

    Section 8. Operation 338 figure 76: 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 339

    Section 8. Operation 339 where percent-of- reading = 2500 mv • ±0.06% = ±1.5 mv and offset = (1.5 • 667 µv) + 1 µv = 1.00 mv therefore, accuracy = ±1.5 mv + 1.00 mv = ±2.5 mv electronic noise electronic "noise" can cause significant error in a voltage measurement, especially when measuring voltages ...

  • Page 340

    Section 8. Operation 340 the micro-volt resolution and low-noise voltage measurement capability of the cr1000 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 341

    Section 8. Operation 341 used to calculate the temperature from resistance, the accuracy of panel temperature is estimated in figure: panel temperature error summary (p. 341). 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 342

    Section 8. Operation 342 figure 78: panel temperature gradients (low temperature to high) figure 79: 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°...

  • Page 343

    Section 8. Operation 343 accepted as an industry standard (ansi mc 96.1, 1975). Table limits of error for thermocouple wire (p. 343) gives the ansi limits of error for standard and special grade thermocouple wire of the types accommodated by the cr1000. When both junctions of a thermocouple are at t...

  • Page 344

    Section 8. Operation 344 resolution (p. 344) lists high resolution ranges available for various thermocouple types and temperature ranges. The following four example calculations of thermocouple input error demonstrate how the selected input voltage range impacts the accuracy of measurements. Figure...

  • Page 345

    Section 8. Operation 345 figure 80: input error calculation input error examples: type t thermocouple @ 45°c these examples demonstrate that in the environmental temperature range, input-offset error is much greater than input-gain error because a small input range is used. Conditions: cr1000 module...

  • Page 346

    Section 8. Operation 346 error calculations with input reversal = true µv error = gain term + offset term = (830.7 µv • 0.12%) + (1.5 • 0.67 µv + 1.0 µv) = 0.997 µv + 2.01 µv = 3.01 µv (= 0.071 °c) error calculations with input reversal = false µv error = gain term + offset term = (830.7 µv • 0.12%)...

  • Page 347

    Section 8. Operation 347 = 53.4 µv + 101.0 µv = 154 µv (= 4.41 °c) error calculations with input reversal = false µv error = gain term + offset term = (44500 µv * 0.12%) + (3 * 66.7 µv + 2.0 µv) = 53.4 µv + 200 µv = 7.25 µv (= 7.25 °c) ground looping error when the thermocouple measurement junction ...

  • Page 348

    Section 8. Operation 348 limits of error on cr1000 thermocouple polynomials tc type range °c limits of error °c relative to nist standards t – 270 to 400 –270 to –200 18 @ –270 –200 to –100 ±0.08 –100 to 100 ±0.001 100 to 400 ±0.015 j – 150 to 760 ±0.008 –100 to 300 ±0.002 e – 240 to 1000 –240 to –1...

  • Page 349

    Section 8. Operation 349 reference temperature compensation range and error tc type range °c limits of error °c 1 t –100 to 100 ± 0.001 e –150 to 206 ± 0.005 j –150 to 296 ± 0.005 k –50 to 100 ± 0.01 1 relative to its-90 standard in nist monograph 175 thermocouple error summary errors in the thermoc...

  • Page 350

    Section 8. Operation 350 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 351

    Section 8. Operation 351 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 352

    Section 8. Operation 352 331), crbasic bridge measurement instructions include the revex parameter that provides the option to program a second set of measurements with the excitation polarity reversed. Much of the offset error inherent in bridge measurements is canceled out by setting revdiff , mea...

  • Page 353

    Section 8. Operation 353 resistive-bridge circuits with voltage excitation resistive-bridge type and circuit diagram crbasic instruction and fundamental relationship relational formulas full-bridge 1,3 crbasic instruction: brfull() fundamental relationship 2 : these relationships apply to brfull() a...

  • Page 354

    Section 8. Operation 354 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 355

    Section 8. Operation 355 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 cr1000 do not include error i...

  • Page 356

    Section 8. Operation 356 8.1.2.4 auto self-calibration — details related topics • auto self-calibration — overview (p. 91) • auto self-calibration — details (p. 356) • auto self-calibration — errors (p. 499) • offset voltage compensation (p. 331) • factory calibration (p. 88) • factory calibration o...

  • Page 357

    Section 8. Operation 357 ranges and one segment for the wiring-panel temperature measurement, totaling 21 segments. So, (21 segments) • (4 s / segment) = 84 s per complete auto self-calibration. The worst- case is (91 segments) • (4 s / segment) = 364 s per complete auto self-calibration. During ins...

  • Page 358

    Section 8. Operation 358 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 54 variables, and range ≠ 0 to calibrate all input ranges. Results of ...

  • Page 359

    Section 8. Operation 359 calseoffset() field descriptions ±mv input range integration calseoffset(1) 5000 250 ms calseoffset(2) 2500 250 ms calseoffset(3) 250 250 ms calseoffset(4) 25 250 ms calseoffset(5) 7.5 250 ms calseoffset(6) 2.5 250 ms calseoffset(7) 5000 60 hz rejection calseoffset(8) 2500 6...

  • Page 360

    Section 8. Operation 360 caldiffoffset() field descriptions field ±mv input range integration caldiffoffset(1) 5000 250 ms caldiffoffset(2) 2500 250 ms caldiffoffset(3) 250 250 ms caldiffoffset(4) 25 250 ms caldiffoffset(5) 7.5 250 ms caldiffoffset(6) 2.5 250 ms caldiffoffset(7) 5000 60 hz rejection...

  • Page 361

    Section 8. Operation 361 calibrate() instruction results cal() array field descriptions of array elements typical value differential (diff) single-ended (se) offset or gain ±mv input range integration 10 se offset 25 250 ms ±5 lsb 11 diff offset 25 250 ms ±5 lsb 12 gain 25 250 ms –0.0067 mv/lsb 13 s...

  • Page 362

    Section 8. Operation 362 calibrate() instruction results cal() array field descriptions of array elements typical value differential (diff) single-ended (se) offset or gain ±mv input range integration 40 se offset 2500 50 hz rejection ±5 lsb 41 diff offset 2500 50 hz rejection ±5 lsb 42 gain 2500 50...

  • Page 363

    Section 8. Operation 363 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 364

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

  • Page 365

    Section 8. Operation 365 an approximate 9% range overhead exists on fixed input voltage ranges. In other words, over-range on the ± 2500 mv input range occurs at approximately 2725 mv and –2725 mv. The cr1000 indicates a measurement over-range by returning a nan (not a number) for the measurement. A...

  • Page 366

    Section 8. Operation 366 input limits / common-mode range related topics: • voltage measurements — specifications • voltage measurements — overview (p. 66) • voltage measurements — details (p. 364) note this section contains advanced information not required for normal operation of the cr1000. Summa...

  • Page 367

    Section 8. Operation 367 vdc. Consequently, the term input limits is used to specify the valid voltage range of the v+ and v– inputs into the pgia. Figure 82: pgia with input signal decomposition 8.1.2.7.2 voltage measurement mechanics measurement sequence an analog voltage measurement as illustrate...

  • Page 368

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

  • Page 369

    Section 8. Operation 369 store measurements from up to eight differential or 16 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. 240). The maximum conv...

  • Page 370

    Section 8. Operation 370 with reference to the figure programmable gain input amplifier (pgia) (p. 368), 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 371

    Section 8. Operation 371 8.1.2.7.3 voltage measurement quality read more consult the following technical papers at www.Campbellsci.Com/app-notes for in-depth treatments of several topics addressing voltage measurement quality: • preventing and attacking measurement noise problems • benefits of input...

  • Page 372

    Section 8. Operation 372 • sensor is not designed for differential measurements. Many campbell scientific sensors are not designed for differential measurement, but the draw backs of a single-ended measurement are usually mitigated by large programmed excitation and/or sensor output voltages. Sensor...

  • Page 373

    Section 8. Operation 373 • minimize polarization of polar sensors such as those for measuring conductivity, soil moisture, or leaf wetness. Polarization may cause measurement errors or sensor degradation. • improve accuracy of an lvdt measurement. The induced voltage in an lvdt decays with time as c...

  • Page 374

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

  • Page 375

    Section 8. Operation 375 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 376

    Section 8. Operation 376 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. 327). Default settling times (those...

  • Page 377

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

  • Page 378

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

  • Page 379

    Section 8. Operation 379 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 380

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

    Section 8. Operation 381 summary measurement offset voltages are unavoidable, but can be minimized. Offset voltages originate with: • ground currents • seebeck effect • residual voltage from a previous measurement remedies include: • connect power grounds to power ground terminals ( g ) • use input ...

  • Page 382

    Section 8. Operation 382 measurements without input reversal, this offset voltage measurement is performed as part of the routine auto-calibration of the cr1000. Single-ended measurement instructions voltse() and tcse() measoff parameter determines whether the offset voltage measured is done at the ...

  • Page 383

    Section 8. Operation 383 table: offset voltage compensation options (p. 334) lists some of the tools available to minimize the effects of offset voltages. Offset voltage compensation options crbasic measurement instruction input reversal ( revdiff = true ) excitation reversal ( revex = true ) measur...

  • Page 384

    Section 8. Operation 384 1. Switches to the measurement terminals 2. Sets the excitation, and then settle, and then measure 3. Reverse the excitation, and then settles, and then measure 4. Reverse the excitation, reverse the input terminals, settle, measure 5. Reverse the excitation, settle, measure...

  • Page 385

    Section 8. Operation 385 time skew between measurements time skew between consecutive voltage measurements is a function of settling and integration times, a-to-d conversion, and the number entered into the reps parameter of the voltdiff() or voltse() instruction. A close approximation is: time skew...

  • Page 386

    Section 8. Operation 386 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 i...

  • Page 387

    Section 8. Operation 387 figure 88: 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 388

    Section 8. Operation 388 where percent-of- reading = 2500 mv • ±0.06% = ±1.5 mv and offset = (1.5 • 667 µv) + 1 µv = 1.00 mv therefore, accuracy = ±1.5 mv + 1.00 mv = ±2.5 mv electronic noise electronic "noise" can cause significant error in a voltage measurement, especially when measuring voltages ...

  • Page 389

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

  • Page 390

    Section 8. Operation 390 figure 91: 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 391

    Section 8. Operation 391 pulse measurements: terminals and programming count of edges timerio() pulse count, period timerio() pulse count, frequency timerio() 8.1.3.1 pulse measurement terminals p terminals • input voltage range = –20 to 20 v if pulse input voltages exceed ± 20 v, third-party extern...

  • Page 392

    Section 8. Operation 392 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 393

    Section 8. Operation 393 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 394

    Section 8. Operation 394 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 395

    Section 8. Operation 395 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 396

    Section 8. Operation 396 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 397

    Section 8. Operation 397 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 398

    Section 8. Operation 398 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 cr1000 circuitry that supports open-collector and sw...

  • Page 399

    Section 8. Operation 399 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 400

    Section 8. Operation 400 time constants (τ) measurement τ p terminal low-level ac mode table: low-level ac amplitude and maximum measured frequency (p. 400) 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 401

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

  • Page 402

    Section 8. Operation 402 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. 74) • period average measureme...

  • Page 403

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

  • Page 404

    Section 8. Operation 404 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 405

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

  • Page 406

    Section 8. Operation 406 8.1.9 synchronizing measurements — details related topics: • synchronizing measurements — overview (p. 77) • synchronizing measurements — details (p. 406) 8.1.9.1 synchronizing measurement in the cr1000 — details measurements are sychnronized in the cr1000 by the task sequen...

  • Page 407

    Section 8. Operation 407 which is the resolution used by pakbus clock-sync functions. In networks without routers, repeaters, or retries, the communication time will cause an additional error (typically a few 10s of milliseconds). Pakbus clock commands set the time at the end of a scan to minimize t...

  • Page 408

    Section 8. Operation 408 the cr1000 wiring panel is a convenient power distribution device for powering sensors and peripherals that require a 5 vdc, or 12 vdc source. It has two continuous 12 vdc terminals ( 12v ), one program-controlled, switched, 12 vdc terminal ( sw12 ), and one continuous 5 vdc...

  • Page 409

    Section 8. Operation 409 crbasic instructions that control voltage excitation include the following: • brfull () • brfull6w () • brhalf () • brhalf3w () • brhalf4w () • excitev () note square-wave ac excitation for use with polarizing bridge sensors is configured with the revex parameter of the brid...

  • Page 410

    Section 8. Operation 410 when controlling power to sdi-12 and serial sensors that use sdi12recorder() or serialin() instructions respectively. Crbasic programming using if then constructs to control sw12 , such as when used for cell phone control, should also use the sw12() instruction. See executio...

  • Page 411

    Section 8. Operation 411 control decisions can be based on time, an event, or a measured condition. Example: in the case of a cell modem, control is based on time. The modem requires 12 vdc power, so connect its power wire to the cr1000 sw12v terminal. The following code snip turns the modem on for ...

  • Page 412

    Section 8. Operation 412 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. 412) plots the relationship. Figure 97: current sourcing from c terminals configured for control 8.4 measurement and cont...

  • Page 413

    Section 8. Operation 413 8.4.2 analog output modules read more for more information see appendix continuous analog output (cao) modules — list (p. 592). The cr1000 can scale measured or processed values and transfer these values in digital form to an analog output device. The analog output device pe...

  • Page 414

    Section 8. Operation 414 figure 98: relay driver circuit with relay figure 99: power switching without relay 8.4.4 pulse input modules read more for more information see pulse input modules — list (p. 588). Pulse input expansion modules are available for switch-closure, state, pulse count and freque...

  • Page 415

    Section 8. Operation 415 low-level ac input modules increase the number of low-level ac signals a cr1000 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. 589). Capturing input fr...

  • Page 416

    Section 8. Operation 416 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 417

    Section 8. Operation 417 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 418

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

  • Page 419

    Section 8. Operation 419 typical gzip file compression results file original size bytes compressed size bytes cr1000 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. 86) • security — details (p. 4...

  • Page 420

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

  • Page 421

    Section 8. Operation 421 o view the datalogger program, which may contain sensitive intellectual property, security codes, usernames, passwords, connection information, and detailed or revealing code comments. • ftp o send and change datalogger programs. O send data that have been written to a file....

  • Page 422

    Section 8. Operation 422 methods of enabling pass-code lockout security include the following: • settings – security(1) (p. 573), 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 423

    Section 8. Operation 423 keyboard display security bypass does not allow comms access without first correcting the security code. Note these features are not operable in cr1000kds with serial numbers less than 1263. Contact campbell scientific for information on upgrading the cr1000kd operating syst...

  • Page 424

    Section 8. Operation 424 8.7.3.4 settings — passwords settings, which are accessible with devconfig (p. 105), 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 425

    Section 8. Operation 425 cr1000 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 cr1000 memory (p. 439). 8.7.7 signatures recording and monitoring system and program signatures are important components of a s...

  • Page 426

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

  • Page 427

    Section 8. Operation 427 cr1000 memory allocation memory sector comments external compactflash (p. 516) (optional) crd: drive (p. 597) — fat32 recommended. Holds program files. Holds a copy of final-storage table data as files when tablefile() instruction with option 64 (p. 210) is used (replaces ca...

  • Page 428

    Section 8. Operation 428 cr1000 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 429

    Section 8. Operation 429 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 cr1000 sram memory (p. 427, http://www. ). Measurement data can be also be stored as discrete files on usr: or usb: by using tablefile() instr...

  • Page 430

    Section 8. Operation 430 manually, the crbasic program restarts and the programmed size for usr: takes immediate effect. The usr: drive holds any file type within the constraints of the size of the drive and the limitations on filenames. Files typically stored include image files from cameras (see c...

  • Page 431

    Section 8. Operation 431 the crd: drive uses compactflash (cf) card memory cards exclusively. Its primary purpose is the storage of data files in a compact binary format. The cr1000 requires addition of a peripheral card slot. See appendix data storage devices — list (p. 597). Purchasing industrial ...

  • Page 432

    Section 8. Operation 432 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 433

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

  • Page 434

    Section 8. Operation 434 data file format examples tob1 tob1 files may contain an ascii header and binary data. The last line in the example contains cryptic text which represents binary data. Example: "tob1","11467","cr1000","11467","cr1000.Std.20","cpu:file format.Cr1","61449","test" "seconds","na...

  • Page 435

    Section 8. Operation 435 csijson csijson files contain header information and data in a json (p. 528) format. Example: "signature": 38611,"environment": {"stationfiname": "11467","tablefiname": "test","model": "cr1000","serialfino": "11467", "osfiversion": "cr1000.Std.21.03","progfiname": "cpu:file ...

  • Page 436

    Section 8. Operation 436 line 4 – data-processing descriptors entries describe what type of processing was performed in the cr1000 to produce corresponding data, e.G., smp indicates samples, min indicates minima. If there is no recognized processing for a field, it is assigned an empty string. There...

  • Page 437

    Section 8. Operation 437 kb so that there is at least a minimum buffer space for storing the data to crd: (which occurs in the background when the cr1000 has a chance to copy data onto the card). So, for example, a data table consisting of one four-byte sample, not interval driven, 20 bytes per reco...

  • Page 438

    Section 8. Operation 438 the following features are available for complete or selective reset of cr1000 memory: • full memory reset • program send reset • manual data-table reset • formatting memory drives 8.8.4.1 full memory reset full memory reset occurs when an operating system is sent to the cr1...

  • Page 440

    Section 8. Operation 440 file control functions file control functions accessed through retrieving programs from the cr1000 retrieve 7 , file control 2 , keyboard with campbell scientific mass storage device or memory card 4 , web api newestfile prescribes the disposition (preserve or delete) of old...

  • Page 441

    Section 8. Operation 441 8.8.5.1 file attributes a feature of program files is the file attribute. Table cr1000 file attributes (p. 441) lists available file attributes, their functions, and when attributes are typically used. For example, a program file sent with the support software program send (...

  • Page 442

    Section 8. Operation 442 8.8.5.2 files manager filesmanager := { "(" pakbus-address "," name-prefix "," number-files ")" }. Pakbus-address := number. ; 0 name-prefix := string. Number_files := number. ; 0 this setting specifies the numbers of files of a designated type that are saved when received f...

  • Page 443

    Section 8. Operation 443 example: (3212, usr:iptrace.Txt, 5000) this syntax will create a file on the usr: drive called iptrace.Txt that will grow to approximately 5 kb in size, and then new data will begin overwriting old data. 8.8.5.3 data preservation associated with file attributes is the option...

  • Page 444

    Section 8. Operation 444 this simple process results in the file uploading to the cr1000 with optional run attributes, such as run now , run on power up , or run always set for individual files. Simply copying a file to a specified drive with no run attributes, or to format a memory drive, is also p...

  • Page 446

    Section 8. Operation 446 powerup.Ini script commands and applications powerup.Ini script command description applications 11 run always, preserve data copies a program file to a drive and sets the run attribute to run always . Data on a cf card from the previously running program will be preserved i...

  • Page 447

    Section 8. Operation 447 example power-up.Ini files 'code format and syntax 'command = numeric power-up command 'file = file associated with the action 'device = device to which file is copied. Defaults to cpu: 'command,file,device 13,write2crd_2.Cr1,cpu: 'run program on power-up 'copy program file ...

  • Page 448

    Section 8. Operation 448 a: use the corascript (p. 517) file-control command, or the web api (p. 459, p. 459) filecontrol command. 8.8.6 file names the maximum size of the file name that can be stored, run as a program, or ftp transferred in the cr1000 is 59 characters. If the name is longer than 59...

  • Page 449

    Section 8. Operation 449 file system error codes error code description 19 bad function argument supplied 20 seek out-of-file bounds 21 trying to mkdir an existing dir 22 bad partition sector signature 23 unexpected system id byte in partition entry 24 path already open 25 access to uninitialized ra...

  • Page 450

    Section 8. Operation 450 8.9 data retrieval and comms — details related topics: • data retrieval and comms — quickstart (p. 38) • data retrieval and comms — overview (p. 77) • data retrieval and comms — details (p. 450) • data retrieval and comms peripherals — lists (p. 595) comms, in the context of...

  • Page 451

    Section 8. Operation 451 retrieval is managed by the pc, several pcs can have access to a cr1000 without disrupting the continuity of data. Pakbus® allows multiple pcs to communicate with the cr1000 simultaneously when proper comms networks are installed. Typically, the pc initiates comms with the c...

  • Page 452

    Section 8. Operation 452 8.10.1 tcp/ip — details related topics: • tcp/ip — overview • tcp/ip — details (p. 452) • tcp/ip links — list (p. 596) the following tcp/ip protocols are supported by the cr1000 when using network links (p. 596) that use the resident ip stack or when using a cell modem with ...

  • Page 453

    Section 8. Operation 453 • added a default public/internet dns server if none is assigned. This should result in less "why isn't my emailsend to email.Server.Com not working?" • apologies to those who have figured out how to read our iptrace information — it has changed quite a bit. • network time p...

  • Page 454

    Section 8. Operation 454 http:\\ipaddress:80 note port 80 is implied if the port is not otherwise specified. As shown in figure preconfigured html home page (p. 454), this page provides links to the newest record in all tables, including the status table, public table, and data tables. Links are als...

  • Page 455

    Section 8. Operation 455 in this example program, the default home page is replaced by using webpagebegin to create a file called default.Html. The new default home page created by the program appears as shown in the figure home page created using webpagebegin() instruction (p. 455). The campbell sc...

  • Page 456

    Section 8. Operation 456 figure 102: 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 cr1000. In this example program, the default home page is replaced by 'using create a file called de...

  • Page 457

    Section 8. Operation 457 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 458

    Section 8. Operation 458 the modbusmaster() and modbusslave() instructions. See the crbasic editor help for more information. See modbus — details (p. 460). 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 459

    Section 8. Operation 459 8.10.1.13 smtp simple mail transfer protocol (smtp) is the standard for e-mail transmissions. The cr1000 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 cr1000 has a web api. See crbasic editor hel...

  • Page 460

    Section 8. Operation 460 8.10.3 modbus — details the cr1000 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 461

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

  • Page 462

    Section 8. Operation 462 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 463

    Section 8. Operation 463 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 uni...

  • Page 464

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

  • Page 465

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

  • Page 466

    Section 8. Operation 466 a: yes. Precede modbusmaster() / modbusslave() with serialopen() and set the numeric format of the com port with any of the available formats, including the option of 7 data bits, even parity. Serialopen() and modbusmaster() can be used once and placed before scan() . 8.10.3...

  • Page 467

    Section 8. Operation 467 note see data displays: custom menus — details (p. 215). A keyboard is available for use with the cr1000. See keyboard/display — list (p. 595) for information on available keyboard/displays. This section illustrates the use of the keyboard/display using default menus. Some k...

  • Page 468

    Section 8. Operation 468 special keyboard/display key functions key special function [bkspc] delete character to the left [shift] change alpha character selected [num lock] change to numeric entry [del] • delete • when pressed during power up, del changes the ppp interface to inactive (only if set a...

  • Page 469

    Section 8. Operation 469 8.11.2 data display figure 104: cr1000kd: displaying data.

  • Page 470

    Section 8. Operation 470 8.11.2.1 real-time tables and graphs figure 105: 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 cr1000 will keep the setup as long as the defining program is running. Re...

  • Page 471

    Section 8. Operation 471 figure 106: cr1000kd real-time custom.

  • Page 472

    Section 8. Operation 472 8.11.2.3 final-storage data figure 107: cr1000kd: final storage data.

  • Page 473

    Section 8. Operation 473 8.11.3 run/stop program figure 108: cr1000kd: run/stop program.

  • Page 474

    Section 8. Operation 474 8.11.4 file management figure 109: cr1000kd: 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 changes, but be aw...

  • Page 475

    Section 8. Operation 475 figure 110: cr1000kd: file edit.

  • Page 476

    Section 8. Operation 476 8.11.5 pccard (memory card) management figure 111: cr1000kd: pccard (memory card) management 8.11.6 port status and status table read more see info tables and settings (p. 551)..

  • Page 477

    Section 8. Operation 477 figure 112: cr1000kd: port status and status table 8.11.7 settings figure 113: cr1000kd: settings.

  • Page 478

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

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

  • Page 481

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

  • Page 482

    Section 9. Maintenance — details 482 • when the lithium battery is removed (or is allowed to become depleted below 2.7 vdc and cr1000 primary power is removed), the crbasic program and most settings are maintained, but the following are lost: o run-now and run-on power-up settings. O routing and com...

  • Page 483

    Section 9. Maintenance — details 483 figure 115: loosen retention screws fully loosen (only loosen) the two knurled thumbscrews. They will remain attached to the module..

  • Page 484

    Section 9. Maintenance — details 484 figure 116: pull edge away from panel pull one edge of the canister away from the wiring panel to loosen it from three internal connector seatings..

  • Page 485

    Section 9. Maintenance — details 485 figure 117: remove nuts to disassemble canister remove six nuts, then open the clam shell. Figure 118: remove and replace battery remove the lithium battery by gently prying it out with a small flat point screwdriver. Reverse the disassembly procedure to reassemb...

  • Page 486

    Section 9. Maintenance — details 486 9.3 factory calibration or repair procedure related topics • auto self-calibration — overview (p. 91) • auto self-calibration — details (p. 356) • auto self-calibration — errors (p. 499) • offset voltage compensation (p. 331) • factory calibration (p. 88) • facto...

  • Page 487: 10.  Troubleshooting

    487 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 488

    Section 10. Troubleshooting 488 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 489

    Section 10. Troubleshooting 489 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 490

    Section 10. Troubleshooting 490 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 cr1000 does not have adequate memory. This normally is flagged at compile time, in the compile results. I...

  • Page 491

    Section 10. Troubleshooting 491 10.5.3.1 measurements and nan a nan indicates an invalid measurement. 10.5.3.1.1 voltage measurements the cr1000 has the following user-selectable voltage ranges: ±5000 mv, ±2500 mv, ±250 mv, and ±25 mv. Input signals that exceed these ranges result in an over-range i...

  • Page 492

    Section 10. Troubleshooting 492 ( table: variable and fs data types with nan and ±inf (p. 492) ). For example, inf , in a variable declared as long , is represented by the integer – 2147483648 . When that variable is used as the source, the final-memory word when sampled as uint2 is stored as 0. Mat...

  • Page 493

    Section 10. Troubleshooting 493 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 494

    Section 10. Troubleshooting 494 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 495

    Section 10. Troubleshooting 495 10.5.4.1 compileresults compileresults reports messages generated by the cr1000 at program upload and compile-time. Messages may also added as the program runs. Error messages may not be obvious because the display is limited. Much of this information is more easily a...

  • Page 496

    Section 10. Troubleshooting 496 warning message examples message meaning cannot be a variable. From the voice.Txt file. 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. W...

  • Page 497

    Section 10. Troubleshooting 497 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 498

    Section 10. Troubleshooting 498 the cr1000 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 cr1000 has crashed and reset itself. A few watchdogs indicate the cr1000 is working as designed and are not a co...

  • Page 499

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

  • Page 500

    Section 10. Troubleshooting 500 • 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 501

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

  • Page 502

    Section 10. Troubleshooting 502 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 503

    Section 10. Troubleshooting 503 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 504

    Section 10. Troubleshooting 504 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 505

    Section 10. Troubleshooting 505 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 506

    Section 10. Troubleshooting 506 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 507

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

  • Page 508

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

  • Page 509

    Section 10. Troubleshooting 509 cr1000 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 510

    Section 10. Troubleshooting 510 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 511

    Section 10. Troubleshooting 511 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 cr1000 through the connect client or set up client in loggernet . O the program was stopped through datalogger support softwa...

  • Page 512

    Section 10. Troubleshooting 512 • 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 513: 11.  Glossary

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

  • Page 514

    Section 11. Glossary 514 term: ascii / ansi related topics: • term: ascii / ansi (p. 514) • 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 515

    Section 11. Glossary 515 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 516

    Section 11. Glossary 516 term: cd100 an optional enclosure mounted keyboard/display for use with cr1000 dataloggers. See the appendix keyboard/display — list (p. 595). Term: cdm/cpi cpi is a proprietary interface for communications between campbell scientific dataloggers and campbell scientific cdm ...

  • Page 517

    Section 11. Glossary 517 term: command line one line in a crbasic program. Maximum length, even with the line continuation characters ( _), is 512 characters. A command line usually consists of one program statement, but it may consist of mulitple program statements separated by a (:). Term: compile...

  • Page 518

    Section 11. Glossary 518 term: cpu central processing unit. The brains of the cr1000. Also refers to two the following two memory areas: o cpu: memory drive o memory used by the cpu to store table data. Term: cr1000kd an optional hand-held keyboard/display for use with the cr1000 datalogger. See the...

  • Page 519

    Section 11. Glossary 519 removed from the neighbor list. See the section pakbus — overview (p. 79) for more information. Term: data cache the data cache is a set of binary files kept on the hard disk of the computer running the datalogger support software (p. 519). A binary file is created for each ...

  • Page 520

    Section 11. Glossary 520 term: data output interval alias: output interval the interval between each write of a record (p. 536) to a final-storage memory data table. Term: data output processing instructions crbasic instructions that process data values for eventual output to final-data memory. Exam...

  • Page 521

    Section 11. Glossary 521 term: devconfig software device configuration utility (p. 105), available with loggernet , rtdaq , pc400 , or at www.Campbellsci.Com/downloads . Term: dhcp dynamic host configuration protocol. A tcp/ip application protocol. Term: differential a sensor or measurement terminal...

  • Page 522

    Section 11. Glossary 522 term: duplex a serial communication protocol. Serial communications can be simplex, half-duplex, or full-duplex. Reading list: simplex (p. 540), duplex (p. 291), half duplex (p. 526), and full duplex (p. 524). Term: duty cycle the percentage of available time a feature is in...

  • Page 523

    Section 11. Glossary 523 term: execution time time required to execute an instruction or group of instructions. If the execution time of a program exceeds the scan() interval , the program is executed less frequently than programmed and the status table skippedscan (p. 496) field will increment. Ter...

  • Page 524

    Section 11. Glossary 524 term: fill and stop memory a memory configuration for data tables forcing a data table to stop accepting data when full. Term: final-storage memory the portion of cr1000 sram memory allocated for storing data tables with output arrays. Once data are written to final-data mem...

  • Page 525

    Section 11. Glossary 525 reading list: simplex (p. 540), duplex (p. 291), half duplex (p. 526), and full duplex (p. 524). Term: frequency domain frequency domain describes data graphed on an x-y plot with frequency as the x axis. Vspect (p. 546) vibrating wire data are in the frequency domain. Term:...

  • Page 526

    Section 11. Glossary 526 term: half-duplex a serial communication protocol. Bi-directional, but not simultaneous, communications. Sdi-12 is a half-duplex protocol. Reading list: simplex (p. 540), duplex (p. 291), half duplex (p. 526), and full duplex (p. 524). Term: handshake, handshaking the exchan...

  • Page 527

    Section 11. Glossary 527 term: inf a data word indicating the result of a function is infinite or undefined. Term: initiate comms a name given to a processes by which the cr1000 initiates comms with a pc running loggernet . Also known as callback (p. 515). Term: input/output instructions used to ini...

  • Page 528

    Section 11. Glossary 528 term: isolation hardwire comms devices and cables can serve as alternate paths to earth ground and entry points into the cr1000 for electromagnetic noise. Alternate paths to ground and electromagnetic noise can cause measurement errors. Using opto-couplers in a connecting de...

  • Page 529

    Section 11. Glossary 529 term: long data type used when declaring integers. Term: loop a series of instructions in a crbasic program that are repeated a the programmed number of times. The loop ends with an end instruction. Term: loop counter increments by one with each pass through a loop. Term: ma...

  • Page 530

    Section 11. Glossary 530 term: modem/terminal any device that has the following: o ability to raise the cr1000 ring line or be used with an optically isolated interface (see the appendix chardwire, single-connection comms devices — list (p. 596) to raise the ring line and put the cr1000 in the comms...

  • Page 531

    Section 11. Glossary 531 term: neighbor device device in a pakbus network that communicate directly with a device without being routed through an intermediate device. See pakbus (p. 533). Term: nist national institute of standards and technology term: node devices in a network — usually a pakbus net...

  • Page 532

    Section 11. Glossary 532 term: ohm's law describes the relationship of current and resistance to voltage. Voltage equals the product of current and resistance (v = i • r). Term: on-line data transfer routine transfer of data to a peripheral left on-site. Transfer is controlled by the program entered...

  • Page 533

    Section 11. Glossary 533 term: pakbus a proprietary comms protocol similar to ip (p. 527) protocol developed by campbell scientific to facilitate communications between campbell scientific instrumentation. See pakbus — overview (p. 79) for more information. Term: pakbusgraph software shows the relat...

  • Page 534

    Section 11. Glossary 534 term: pipeline mode a crbasic program execution mode wherein instructions are evaluated in groups of like instructions, with a set group prioritization. More information is available in section pipeline mode (p. 154). See sequential mode (p. 539). Term: poisson ratio a ratio...

  • Page 535

    Section 11. Glossary 535 term: processing instructions crbasic instructions used to further process input-data values and return the result to a variable where it can be accessed for output processing. Arithmetic and transcendental functions are included. Term: program control instructions modify th...

  • Page 536

    Section 11. Glossary 536 term: ratiometric describes a type of measurement or a type of math. Ratiometric usually refers to an aspect of resistive-bridge measurements — either the measurement or the math used to process it. Measuring ratios and using ratio math eliminates several sources of error fr...

  • Page 537

    Section 11. Glossary 537 term: resistor a device that provides a known quantity of resistance. Term: resolution a measure of the fineness of a measurement. See also accuracy, precision, and resolution (p. 547). Term: ring line ring line is pulled high by an external device to notify the cr1000 to co...

  • Page 538

    Section 11. Glossary 538 term: sample rate the rate at which measurements are made by the cr1000. The measurement sample rate is of interest when considering the effect of time skew, or how close in time are a series of measurements, or how close a time stamp on a measurement is to the true time the...

  • Page 539

    Section 11. Glossary 539 principle behind thermocouple temperature measurement. It also causes small, correctable voltage offsets in cr1000 measurement circuitry. Term: sequential mode a crbasic program execution mode wherein each statement is evaluated in the order it is listed in the program. More...

  • Page 540

    Section 11. Glossary 540 term: signature a number which is a function of the data and the sequence of data in memory. It is derived using an algorithm that assures a 99.998% probability that if either the data or the data sequence changes, the signature changes. See sections security — overview (p. ...

  • Page 541

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

  • Page 542

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

  • Page 543

    Section 11. Glossary 543 term: tcp/ip transmission control protocol / internet protocol. Term: telnet a software utility that attempts to contact and interrogate another specific device in a network. Telnet is resident in windows oss. Term: terminal point at which a wire (or wires) connects to a wir...

  • Page 544

    Section 11. Glossary 544 term: ttl t ransistor-to- t ransistor l ogic. A serial protocol using 0 vdc and 5 vdc as logic signal levels. Term: tls t ransport l ayer s ecurity. An internet communication security protocol. Term: toggle to reverse the current power state. Term: uint2 data type used for e...

  • Page 545

    Section 11. Glossary 545 term: url uniform resource locater 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 value...

  • Page 546

    Section 11. Glossary 546 term: voltage divider a circuit of resistors that ratiometrically divides voltage. For example, a simple two-resistor voltage divider can be used to divide a voltage in half. So, when fed through the voltage divider, 1 mv becomes 500 µv, 10 mv becomes 5 mv, and so forth. Res...

  • Page 547

    Section 11. Glossary 547 term: web api application programming interface. 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 crbas...

  • Page 548

    Section 11. Glossary 548 figure 121: relationships of accuracy, precision, and resolution.

  • Page 549: 12.  Attributions

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

  • Page 551

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

  • Page 552

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

  • Page 553

    Appendix a. Info tables and settings 553 • 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 554

    Appendix a. Info tables and settings 554 info tables and settings: frequently used action status/setting/dti table where located progsignature (p. 572) skippedscan (p. 574) startupcode (p. 575) data tables datafilldays() (p. 564) data (p. 559) skippedrecord() (p. 574) memory fullmemreset (p. 565) me...

  • Page 555

    Appendix a. Info tables and settings 555 info tables and settings: keywords cardbytesfree (p. 562) cardstatus (p. 562) centralrouters() (p. 562) h httpenabled (p. 566) httpport (p. 566) n neighbors() (p. 569) r revboard (p. 573) routefilters (p. 573) rs232handshaking (p. 573) rs232power (p. 573) u u...

  • Page 558

    Appendix a. Info tables and settings 558 a.1.1.4 info tables and settings: communications info tables and settings: communications, general baudrate() (p. 561) commsmemalloc (p. 562) commsmemfree(1) (p. 562) commsmemfree(2) (p. 563) commsmemfree(3) (p. 563) rs232handshaking (p. 573) rs232power (p. 5...

  • Page 559

    Appendix a. Info tables and settings 559 a.1.1.5 info tables and settings: programming info tables and settings: crbasic program i buffdepth (p. 561) compileresults (p. 563) includefile (p. 566) lastslowscan() (p. 567) maxbuffdepth (p. 568) maxproctime (p. 568) maxslowproctime() (p. 568) measureops ...

  • Page 560

    Appendix a. Info tables and settings 560 info tables and settings: miscellaneous paneltemp (p. 571) portconfig() (p. 571) portstatus() (p. 571) recnum (p. 572) stationname (p. 575) sw12volts (p. 575)( ) timestamp (p. 575) utcoffset (p. 576) watchdogerrors (p. 577) info tables and settings: obsolete ...

  • Page 561

    Appendix a. Info tables and settings 561 • settings — the cr1000 has over 200 settings. Most of these are best accessed using device configuration utility , which provides more information about their use. • datatableinfo table — a data table that is automatically created when a program produces oth...

  • Page 562

    Appendix a. Info tables and settings 562 info tables and settings: c keyword data type r ead o nl y • where to find description caldiffoffset() 2 numeric • status table field: ≈ 49 array of integers reporting differential offsets (mv) for each integration / range combination. Updated by auto self-ca...

  • Page 563

    Appendix a. Info tables and settings 563 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 (keyboard / display communications excepted): huge( ≈18 kb...

  • Page 565

    Appendix a. Info tables and settings 565 info tables and settings: e keyword data type r ead o nl y • 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 568

    Appendix a. Info tables and settings 568 lithiumbattery numeric y • station status field: lithium battery • status table field: ≈14 voltage of the internal lithium battery. Updated only at cr1000 power up. Normal range: 2.7 to 3.6 vdc. Replace lithium battery if executes (once per minute). Low12vcou...

  • Page 569

    Appendix a. Info tables and settings 569 measureops numeric y • status table field: ≈30 reports the number of task-sequencer opcodes required to do all measurements. Calculated at compile time. Includes opcodes for calibration (compile time), auto (background) calibration (system), and slow sequence...

  • Page 570

    Appendix a. Info tables and settings 570 info tables and settings: o keyword data type r ead o nl y • 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 573

    Appendix a. Info tables and settings 573 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 = hardware revision number; yyy = clock chip software revision. Stored in flash memory. ...

  • Page 575

    Appendix a. Info tables and settings 575 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 577

    Appendix a. Info tables and settings 577 info tables and settings: w keyword data type r ead o nl y • 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 579

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

  • Page 580

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

  • Page 581

    Appendix b. Serial port pinouts 581 standard null-modem cable pin out female db9 socket female db9 socket 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 modem to output ring (or other char...

  • Page 583: Appendix C. Fp2 Data Format

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

  • Page 585: Appendix D. Endianness

    585 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 587

    587 appendix e. Supporting products — list supporting products power and expand the measurement and control capability of the cr1000. 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 588

    Appendix e. Supporting products — list 588 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, expandable e.2 measurement and c...

  • Page 589

    Appendix e. Supporting products — list 589 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 590

    Appendix e. Supporting products — list 590 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Ω...

  • Page 591

    Appendix e. Supporting products — list 591 transient voltage suppressors model description 16982 surge-suppressor kit for rf416 radio & cr216 datalogger 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 ...

  • Page 592

    Appendix e. Supporting products — list 592 e.4.2 continuous-analog output (cao) modules — list cao modules enable the cr1000 to output continuous, adjustable voltages that may be required for strip charts and variable-control applications. Continuous-analog output (cao) modules model description sdm...

  • Page 593: E.5  Sensors — Lists

    Appendix e. Supporting products — list 593 e.5 sensors — lists related topics: • sensors — quickstart (p. 35) • measurements — overview (p. 65) • measurements — details (p. 319) • sensors — lists (p. 593) most electronic sensors, regardless of manufacturer, will interface with the cr1000. Some senso...

  • Page 594: E.6  Cameras — List

    Appendix e. Supporting products — list 594 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 595

    Appendix e. Supporting products — list 595 e.7 data retrieval and comms peripherals — list related topics: • data retrieval and comms — quickstart (p. 38) • data retrieval and comms — overview (p. 77) • data retrieval and comms — details (p. 450) • data retrieval and comms peripherals — lists (p. 59...

  • Page 596

    Appendix e. Supporting products — list 596 e.7.2 hardwire, single-connection comms devices — list hardwire, single-connection comms devices model description sc32b optically isolated cs i/o to pc rs-232 interface (requires pc rs-232 cable) sc929 cs i/o to pc rs-232 interface cable sc-usb optically i...

  • Page 597

    Appendix e. Supporting products — list 597 e.7.5 telephone modems — list m telephone modems model description com220 9600 baud com320 9600 baud, synthesized voice ravenx series cellular network link e.7.6 private-network radios — list m private-network radios model description rf401 series spread-sp...

  • Page 598

    Appendix e. Supporting products — list 598 mass-storage devices model description sc115 2 gb flash memory drive (thumb drive) cf card storage-modules attach to the cr1000 peripheral port. Use only industrial-grade cf cards 16 gb or smaller. Cf card storage module model description cfm100 cf card slo...

  • Page 599

    Appendix e. Supporting products — list 599 starter software model description short cut easy-to-use crbasic-programming wizard, graphical user interface; pc, windows® compatible. Pc200w starter software easy-to-use, basic datalogger support software (p. 519) for direct comms connections, pc, windows...

  • Page 600

    Appendix e. Supporting products — list 600 datalogger support software software compatibility description rtdaq pc, windows datalogger support software for industrial and real time applications. Visualweather pc, windows datalogger support software specialized for weather and agricultural applicatio...

  • Page 601

    Appendix e. Supporting products — list 601 loggernet suite — list 1,2 software description rtmcpro an enhanced version of rtmc . Rtmc pro provides additional capabilities and more flexibility, including multi-state alarms, email-on-alarm conditions, hyperlinks, and ftp file transfer. Rtmcrt allows v...

  • Page 602

    Appendix e. Supporting products — list 602 e.9.4 software development kits — list software development kits software compatibility description loggernet-sdk pc, windows allows software developers to create custom client applications that communicate through a loggernet server with any datalogger sup...

  • Page 603: E.10

    Appendix e. Supporting products — list 603 e.10 power supplies — list related topics: • power input terminals — specifications • power supplies — quickstart (p. 37) • power supplies — overview (p. 85) • power supplies — details (p. 96) • power supplies — products (p. 603) • power sources (p. 97) • t...

  • Page 604

    Appendix e. Supporting products — list 604 batteries model description bp12 12 ahr, sealed-rechargeable battery (requires regulator & primary source). Includes mounting bracket for campbell scientific enclosures. Bp24 24 ahr, sealed-rechargeable battery (requires regulator & primary source). Include...

  • Page 605: E.11

    Appendix e. Supporting products — list 605 primary power sources model description dcdc18r 12 vdc to 18 vdc boost regulator (allows automotive supply voltages to recharge sealed, rechargeable batteries) e.10.5 24 vdc power supply kits — list 24 vdc power supply kits model description 28370 24 vdc, 3...

  • Page 606: E.12

    Appendix e. Supporting products — list 606 prewired enclosures model description pwenc12/14 pre-wired 12 inch x 14 inch weather-tight enclosure. Pwenc14/16 pre-wired 14 inch x 16 inch weather-tight enclosure. Pwenc16/18 pre-wired 16 inch x 18 inch weather-tight enclosure. E.12 tripods, towers, and m...

  • Page 607: E.13

    Appendix e. Supporting products — list 607 e.13 protection from moisture — list protection from moisture — products model description 6714 desiccant 4 unit bag (qty 20). Usually used in enc enclosures to protect the cr1000. A150-l single sensor terminal case, vented w/desiccant. 4091 desiccant 0.75g...

  • Page 609: Index

    609 index . .Csipasswd ......................................................423 1 12 volt supply ...............................................409 12v terminal .................................................61, 409 2 24 vdc power supply kits — list ................605 5 5 volt pin .................

  • Page 610

    Index 610 battery backup ............................................. 38, 88 battery connection ....................................... 41, 98 battery test ................................................... 502 baud .............................................................. 42, 105, 500 baud r...

  • Page 611

    Index 611 configure hyperterminal .............................300 connect comms ............................................41 connect external power supply ....................41 connection .....................................................36, 40, 57 conserving bandwidth ..........................

  • Page 612

    Index 612 data table name .......................................... 128, 551 data table sram ........................................ 429 data type ...................................................... 130, 131, 164, 165, 199 data type — bool8 ...................................... 196 data type —...

  • Page 613

    Index 613 esd protection ..............................................99, 100 ess ................................................................522 ethernet port ..................................................64 ethernet settings ............................................551 example ...........

  • Page 614

    Index 614 full memory reset ....................................... 438 full-bridge .................................................... 351 full-memory reset ....................................... 551 function codes — modbus .......................... 463 functions (with a capital f) ................

  • Page 615

    Index 615 ip - modbus ...................................................464 ip address .....................................................527, 551 ip gateway ....................................................551 ip information ...............................................551 j junction box .....

  • Page 616

    Index 616 micro-serial server ....................................... 457 milli .............................................................. 529 millivoltage measurement ............................ 364 miscellaneous features ................................. 179 modbus ..............................

  • Page 617

    Index 617 passwords ......................................................423 pay attention to specifications .....................398 pc program ...................................................500 pc support software .....................................88 pc200w ...................................

  • Page 618

    Index 618 program — execution................................... 153 program — expression ................................. 162, 163 program — field calibration ........................ 222 program — floating point arithmetic .......... 163 program — large ......................................... 4...

  • Page 619

    Index 619 reftemp ........................................................340, 341, 342, 349, 350, 351 regulator .......................................................536 regulators — list ..........................................604 relay .............................................................

  • Page 620

    Index 620 sensor power ................................................ 84, 407 sensor support .............................................. 319 sensor-input modules — list ....................... 588 sensors — quickstart ................................. 35 sensors — lists ...........................

  • Page 621

    Index 621 strain .............................................................362 strain calculation ..........................................362 strain measurements — details ....................362 strain measurements — overview ................71 string concatenation ...............................

  • Page 622

    Index 622 crbasic editor ............................... 518; crbasic editor compile, save and send .................................. 518; crd ................................................ 518; cs i/o ............................................. 518; cvi ...........................................

  • Page 623

    Index 623 output processing memory ..............532; pakbus.............................................533; pakbusgraph software ....................533; parameter .........................................533; period average .................................533; peripheral ...........................

  • Page 624

    Index 624 thermocouple ............................................... 40, 341, 342, 343, 344, 348, 350, 351 thermocouple error analysis ....................... 340 thermocouple measurement......................... 102, 339, 340, 342, 343 thermocouple measurements — details ...... 339 throughput ......

  • Page 625

    Index 625 vibrating wire measurements — details .....401 vibrating wire measurements — overview ................................................74 vibrating wire modules ................................415 viewing data .................................................42, 46 visual weather .............

  • Page 628

    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...