====Count Example: Number of State Changes Per Day==== In this example, we want to know how many times our machine stopped and started every day. Our machine has a simple 'running' signal that is 0 when the system is off, and 1 when it's on. ===Available Information=== ^Asset^Property^Desc^ |Main Machine|Running|A digital value showing if the machine is running| ===Initial Layout=== {{start_counter.png}} To begin with, we have one [[counter_pivot|Pivot]] node named //Pivot On//, and one [[counter_totaliser|Total Output]] node named //Total// The output node is fed from an [[ardi_point|ARDI Point]] (a point of data from the field), while the pivot is driven from a [[timing_diff|Time Difference]] node. ===Step 1: Choose the Pivot=== Our first step is to choose //what we are going to pivot on//. Fortunately, the default should work fine here. Simply choose a date in **YYYY-MM-DD HH:MM:SS** format that you want to use as the 'base' of your day. For example, if your official 'day' starts at 9:00AM, you might want to use that time as the basis of your days. To set the name of the node, * Right click on the top-left node, choose Title and type 'Day Number' ===Step 2: Choose the Data to Count=== Next, we need to choose //the data we want to count//. The counter will increase by 1 every time the incoming data //changes//. Because this is an enumeration/discrete point of data, we'll replace our **ARDI Point** with an **ARDI Status**. * Right-click on the //ARDI Point//, choose 'Remove' * Right-click in empty space, choose 'Add', 'ARDI' and 'ARDI Status' * Choose **Main Machine.Running** as the property. * Connect the output of this new point to the **Counter** node. {{complete_mode_count.png}} ===Analytic Complete=== And you're done - by pressing **Save and Visualise**, you'll have a simple analytic showing the number of times your machine changed state. {{pivot_mode_display.png}} ===Doing More=== One issue is that we're counting //all// changes - meaning we're counting every time the machine turns on **and** off. It would be more meaningful to our users if we just counted the times it //switched on//. We can use the [[counter_ignore|Ignore]] node to ignore transitions from 1 to 0 and only count those from 0 to 1. * Right-click an empty area, choose 'Add', 'Count' and 'Ignore' * Drag the //false// output of the ARDI Status node to the 'Active' input of the new Ignore node. This now tells the algorithm to //ignore// (ie. don't count) any transitions where the running status is 0. In effect, this only counts those movements from 0 to 1, rather than 1 to 0. {{complete_mode_count_extra.png}}