TN - 1196 Using Downtime In InSight
Description
This article from InSource shows how to configure and capture basic downtime in InSight using the manual data entry method (no IO driven directly from InSight), and also by pushing up IO to determine equipment state.
- Author: Lewis Talley
- Published: 11/30/2021
- Applies to: InSight (various)
Details
The downtime configuration can be accessed from the administration section within InSight. The document will reference the basics of the "Equipment Efficiency Model" section as shown below (refer back to this as necessary):
All of the spreadsheets referenced in this article can be downloaded from their corresponding sections from within each tile as shown:
Start with the equipment model spreadsheet (labeled step 1 above). The format of the spreadsheet is as follows:
Namespace
|
Name
|
Description
|
Location
|
Austin
|
Filler 1
|
Pack Area - Filler 1
|
Texas/Austin Plant/Pack Area
|
Austin
|
Capper 1
|
Pack Area - Capper 1
|
Texas/Austin Plant/Pack Area
|
Next we will use the equipment states spread sheet (labeled step 2 above). The format of the spreadsheet is as follows:
Name
|
Description
|
StateType
|
Color
|
RUNNING
|
Running State
|
Runtime
|
Green
|
UNPLANNED DT
|
Unplanned Downtime State
|
Downtime
|
Red
|
PLANNED DT
|
Planned Downtime State
|
Idle
|
Yellow
|
NOT OCCUPIED
|
Unoccupied State
|
Idle
|
Yellow
|
At this point you can to basic equipment state event capture directly from the InSight portal (no IO required). This would presume that you would want to “drive” InSight from the user interface directly as shown:
Now let’s assume that we want to capture some reasons for why a piece of equipment is in the state that it is in. For that we will use the sub category of “Utilization Reasons” (labeled as step 3 above). This category contains the following elements:
Depending on how you want to organize your reasons you will probably want to start with “Utilization Reason Groups”. The format of the spreadsheet is as follows:
GroupName
|
Description
|
ParentGroupName
|
Running
|
Running Group
|
|
Planned Stoppages
|
Planned Stoppages Group
|
|
Unplanned Stoppages
|
Unplanned Stoppages Group
|
|
Not Occupied
|
Not Occupied Group
|
|
Maintenance
|
Maintenance Group
|
Planned Stoppages
|
From there you can associate a reason group to a reason by using the “Generic Utilization Reason”. The format of the spreadsheet is as follows:
Name
|
Description
|
AutomationValue
|
EquipmentState
|
ReasonGroupAssignment
|
Running
|
Running at or above nominal speed
|
1
|
RUNNING
|
Running
|
Speed Loss
|
Running below nominal speed
|
2
|
RUNNING
|
Running
|
Planned Maintenance
|
Planned maintenance activity
|
50
|
PLANNED DT
|
Maintenance
|
At this point you will have the capability to capture and categorize downtimes by the grouping provided directly from the InSight portal (no IO required). This also presumes that you want to “drive” InSight directly from its user interface as shown. This is an extension to above by now adding the capability to organize and map downtime reasons to reason groups.
Now let’s add some IO to determine the utilization state of the equipment. This can be done with either an Integer value or a String value. To follow with this article, I have built 2 AppServer objects Capper1 and Filler1 with Capper1 having an Integer called UtilReasonInt and Filler1 having a string called UtilReasonString (these are published to my InSight solution). For this we will need to add the reference to the Utilization Reason Tag in InSight that maps to the automation value in the “Automated Data Collection” section.
From here open the “Utilization Reason Tag” section. The format of the spreadsheet is as follows:
Namespace |
Name |
UtilizationReasonTagReference |
DefaultUtilizationReason |
Austin |
Filler 1 |
Downtime Testing.Filler1.UtilReasonString |
Running |
Austin |
Capper 1 |
Downtime Testing.Capper1.UtilReasonInt |
Running |
Lastly we will need to import from the “Equipment Automation Values” from within the Utilizations Reason section. The format of the spreadsheet is as follows:
Namespace |
Name |
AutomationValue |
UtilizationReason |
Description |
EquipmentState |
Austin |
Filler 1 |
2001 |
Filler running |
Filler in running state |
RUNNING |
Austin |
Filler 1 |
2002 |
PE_101 fault |
Infeed photoeye fault |
UNPLANNED DT |
Austin |
Filler 1 |
2003 |
PE_233 fault |
Outfeed photoeye fault |
UNPLANNED DT |
Austin |
Capper 1 |
111 |
Capper running |
Capper in running state |
RUNNING |
Note that you will need to “fill in” your corresponding automation value (in this case I have an integer for Capper1). So in the above example, when Downtime Testing.Capper1.UtilReasonInt = 111, the Capper is “Running”. I can also change Downtime Testing.Filler1.UtilReasonString = “PE_101 fault”, and that will mean the filler is down for an Infeed photoeye fault. Note that the string value for the utilization reason is case sensitive.