0

Time per Stop Reason

Some of our machines have a "stop code", "stop description", or "fault code" tag. When the machine is stopped, this is populated with a value. In a trend chart for example, we can see that reason 46 has about 12 minutes of downtime for it from the first two non-zero times in the trendline below. 

Could I have a bar chart or some other way to see minutes per reason in the selected time period? I've done that for 0 (stopped) vs 1 (running) using DurationInStateNonZero but in this case with a single tag and different values, I wasn't immediately sure how to do that (e.g. I didn't find an aggregate or way to have a calculated tag for "DurationInState = 46", DurationInState 33, etc.... 

5replies Oldest first
  • Oldest first
  • Newest first
  • Active threads
  • Popular
    • Jeff Knepper
    • Helping you release your data rockstar!
    • Jeff_Knepper
    • 2 yrs ago
    • Reported - view

    How many reason codes do you have James?

    Like
    • Jeff Hi Jeff, I'm not sure but let's assume 10-20

      Like
      • Jeff Knepper
      • Helping you release your data rockstar!
      • Jeff_Knepper
      • 2 yrs ago
      • Reported - view

      James Wise Oh my! If it were only 2 or 3 I would say build individual calculated tags for each one that watches the main stop code tag and then outputs a new tag for each of the possible stop code reasons as a Boolean.  You could then run the DurationInStateZero or NonZero for each of your reason Booleans and display on Bar Graph.  I would not advise this for your solution, just too many reason codes.  We have some good partner software, Flow, that would handle this and offer even more.  Best of all it is also offers HTML5 visualization that can be incorporated with Axiom.  I will ask graeme. welton to fill in the details.

      Like
  • Hi James

    This is a really good use-case for Flow.  Being a partner product, I know the guys at Canary won't mind me sharing this with you on the Canary forum.  There are 2 ways to do what you are looking for, depending on how much information you require.

    1. Create a Flow measure for the time period (e.g. Hourly), point it to the Canary "fault code" tag, select the "Time in State" primary aggregation with a state of 46.  Flow will then calculate the downtime duration caused by fault 46 for every hourly time period.  You can backfill this to as far back as you need to.  You can also perform a secondary rollup aggregation to calculate how much downtime was caused by fault 46 per day for example.  You can then trend the hourly or daily values in a Flow dashboard, or push the values back to a Canary tag to display in Axiom.

    2. The previous method would effectively be "hard coded" for fault code 46.  A more generic option would be to create a Flow event for "Downtime".  You would define start and end triggers for the "Downtime" event using the "Machine Running" tag.  This will automatically transform the time based tag data into downtime transactions, each with a duration already calculated.  You can then configure additional "context" you would like to capture against each event transaction.  So in your example, you would attach the "fault code" tag as context you would like to capture.  You can even give each fault code a description (e.g. 46 = "Machine starved", etc.).  Using this method will capture all downtime events and "allocate" the reason to them.  You could allocate additional information to each event transaction (e.g. "Product", "Operator", "Work Order", etc.).  This information can then be visualized on a Flow dashboard in a Pareto Chart.

    Hope this gives you a taste of the capabilities of Flow.  This is a common use case.

    Cheers

    Graeme

    Like 1
  • Thank you both Graeme and Jeff . The Stop Reasons pareto at the bottom of Graeme's reply is exactly what I'm looking to have. I've been interested in Flow but haven't finalized yet. I'll follow-up.

    Like
print this pagePrint this page
Like Follow
  • Status Answered
  • 2 yrs agoLast active
  • 5Replies
  • 101Views
  • 3 Following