Presentation is loading. Please wait.

Presentation is loading. Please wait.

The Need for Speed: When you need a faster datalogger

Similar presentations


Presentation on theme: "The Need for Speed: When you need a faster datalogger"— Presentation transcript:

1 The Need for Speed: When you need a faster datalogger

2 Overview Compile Modes and Task Management
Hardware overview and measurement structure Serving Data Examples

3 Compile Modes and Task Management

4 Compile Modes Sequential Mode Pipeline Mode
Each instruction executes in the order it appears in the program. Pipeline Mode Breaks up the program into tasks.

5 Sequential Mode Advantages
Programmer has flow control Easy to read Measurements tasks inside of a processing task (logic statement etc.) InstructionTimes()

6 Control that manages access to limited resources
Semaphore Control that manages access to limited resources Main scan holds semaphore until complete Slow scans release semaphore after each slice

7 Main Scan Timing: Sequential Mode
What is the downside of running the main scan at maximum speed

8 Sequential Mode: Skipped Scans
Main Scan = 5 Scan 1 Skipped Scan! Scan 3 Skipped Scan! Scan 4 Skipped Scan! Main Scan = 10 Scan 1 Scan 2 Skipped Scan!

9 Slow Sequence Run outside the main scan at lower priority Sliced into the executing task when time is available Up to 4 user defined slow sequence tasks Autocalibration and the Watchdog task are slow sequence tasks

10 Sequential Mode: Slow Sequence
Main Scan Scan 1 Scan 2 Slow Sequence With a 5 sec main scan what is the minimum slow sequence scan rate? What would happen if one slow sequence task took longer than 7 units?

11 Pipeline Mode Advantages
Faster Simultaneous measurement and processing Differentiate tasks Ex: Delay() Buffered Measurement times fixed Conserves power CR300

12 Buffers Each buffer is the amount of memory allocated to process one scan The actual amount of memory depends on the program Shares memory space with output tables (4 Mb) Scan(10, sec,3,0) Minimum of 2 buffers

13 Buffers Good for programs that will occasionally have large processing requirements Communications, Histogram, etc Insufficient buffer depth will cause a buffer overflow, generating skipped scans Only the main scan is buffered

14 Hardware: Analog terminals
Measurement Task Hardware: Analog terminals SE/Diff channels, VX, IX, U channels Instructions Voltage Measurements: VoltSE(), VoltDiff(), Excitation: ExciteV() Resistive Measurements: BrFull(), BrHalf()

15 Hardware: Digital Terminals
Processing Task Hardware: Digital Terminals Control, Pulse, U channels, RS232, CSI/O, Ethernet, CPI Instructions Serial I/O (SerialOut,SDI12, etc) Conditionals (If..Then…Else) Protocols: , FTP, SDI12, ModBus… Calculations/ Output procesing

16 Task Priority Each instruction broken into tasks and queued
Interrupt driven Task priority Measurement Task Processing Task Analog Measurements Processing Excitation Output Pulse Counters Serial I/0 Control ports SDM

17 Pipeline Mode: Timing M P M P Main Scan = 10 Scan 1 Scan 2 Scan 3

18 Pipeline Mode: Buffers and Skipped Scans
Main Scan = 6 Scan 1 Scan 2 Scan 3 Scan 4 Scan 5 M P Buffer How many buffers are necessary to avoid skipped scans PC2 PC4 PB4 PA4 PC1 PB1 PA1 PC2 PB2 PA2 PC5 PB5 PA5 Buffer Overflow!

19 Pipeline Mode: Slow Sequence
Processing and measurement broken up means it can fit into smaller slices All measurements sliced in before any processing

20 Slow Sequence Timing: Pipeline Mode
Main Scan Scan 1 Scan 2 Scan 3 Scan 4 Scan 5 M P Slow Sequence M P Scan 1 Scan 2 Scan 3 Scan 4 Scan 5 M P

21 Hardware overview and measurement structure

22 CR1000 Fastest Recorded Measurement
The Fastest the CR1000 can take a measurements and record the data without skipping Scans is approximately 100Hz Approximately 1300uS for measurement time. The remaining time is allocated for processing ADC measurement values, background calibration tasks, and recording data.

23 CR6 Fastest Recorded Measurement
The Fastest the CR6 can take a measurements and record the data without skipping scans is approximately 250Hz Approximately 1600uS for measurement time. The remaining time is allocated for processing ADC measurement values, background calibration tasks, and recording data.

24 CR300 Fastest Recorded Measurement
The Fastest the CR300 can take a measurements and record the data without skipping Scans is approximately 16Hz Approximately 1400uS for measurement time. The remaining time is allocated for processing measurement, buffering data, flash erase and flash write tasks. Fast Measurement Slow to Record. The CR300 Writes to flash and it is extremely slow compared the SRAM in other Dataloggers. Flash Requires erase events where as RAM you can overwrite individual bits.

25 CR1000x Fastest Recorded Measurement
The Fastest the CR1000X can take a measurements and record the data without skipping scans is approximately 333Hz Approximately 1000uS for measurement time. The remaining time is allocated for processing ADC measurement values, background calibration tasks, and recording data.

26 Reps(Number of measurements on consecutive channels)
VoltDiff ( Variable , Reps , Range , Channel , RevDiff , SettlingTime , Fn1 , Mult , Offset ) VoltDiff ( Variable1 , 1 , Range , 1 , False , SettlingTime , Fn1 , Mult , Offset ) VoltDiff ( Variable2 , 1 , Range , 2 , False , SettlingTime , Fn1 , Mult , Offset ) VoltDiff ( Variable3 , 1 , Range , 3 , False , SettlingTime , Fn1 , Mult , Offset ) VS VoltDiff ( Variable() , 3 , Range , 1 , False , SettlingTime , Fn1 , Mult , Offset )

27 RevDiff(Determines if inputs are reversed for a second measurement)
VoltDiff ( Variable , Reps , Range , Channel , RevDiff , SettlingTime , Fn1 , Mult , Offset ) VoltDiff ( Variable , 1 , Range , Channel , FALSE , SettlingTime , Fn1 , Mult , Offset ) VS VoltDiff ( Variable , 1 , Range , Channel , TRUE , SettlingTime , Fn1 , Mult , Offset )

28 Fn1(Determines the lowest frequency that will be notched out by the sync filter.CR6,CR300,CR1000x) Integ(Time in microseconds to integrate. CR800,CR1000,CR3000) VoltDiff ( Variable , Reps , Range , Channel , RevDiff , SettlingTime , Fn1 , Mult , Offset )

29 CDMs Increase the channel count of your dataloggers and allow you to make multiple measurements simultaneously with the datalogger, rather than multiplexing one measurement at a time.

30 Burst(Number of consecutive measurements on the same channel)
VoltDiff ( Variable , Reps , Range , Channel , RevDiff , SettlingTime , Fn1 , Mult , Offset ) Note: The Measurement Burst rate is determined by the Fn1 for the CR6 CR300 and CR1000x dataloggers. For the CR800,CR1000,and CR3000 the settling time parameter is used to determent the Burst rate. VoltDiff ( Variable , 5 , Range , -1 , False , SettlingTime , Fn1 , Mult , Offset )

31 Serving Data Examples

32 Serving Data

33 FTP- Most commonly, FTPClient() is used to send data or image files from the datalogger’s local file system to a remote FTP server hosted by a computer or another datalogger CR300 – Fast, Requires lots of RAM only 512KB available CR1000 – Extremely Slow, 4MB of RAM available CR1000X/CR6 – Fast, 4MB of RAM available

34 EmailRelay() Demonstration
Approximate time to process CR seconds CR seconds CR seconds CR1000X seconds

35 Speed Summary Pipeline Mode Measurement Hardware
CR1000 vs CR6 vs CDM Data Storage Speed vs Measurement speed Instruction parameters Reps, Fn1, Settling time, Burst Serving Data

36 Thank You


Download ppt "The Need for Speed: When you need a faster datalogger"

Similar presentations


Ads by Google