Efficiency Evaluation
With this report, the efficiency can be evaluated according to different criteria.
Internally, this report is the basis for the graphical representation of the efficiency report.
Notes:
- The result table contains over 30 columns.
With evaluations over shorter time periods, some will be empty or contain only zeros. - These columns should not be displayed (dynamically).
Example:
The SHOCK_DURATION column only contains <> 0 data if a shock stop motion occurred in the evaluation time period.
Parameter | Type | Description |
---|---|---|
__sSchema | text | Schema of the secondary database tables. When working with temporary tables, _sDestSchema immer == ‘‘ must always be true |
_sTable_Prefix | text, | Prefix of the secondary database tables |
_aSortorder | text[] | Sorting (Array of column names) Example. ARRAY['MC_SORT_ID','START_TIME'] |
_bGroupByMachine | boolean | Group by machine |
_bGroupByShift | boolean | Group by shift |
_bGroupByUserName | boolean | Group by user (at the machine) |
_bGroupByPattern | boolean | Group by pattern |
_bGroupBySeq | boolean | Group by sequence |
_bGroupByTicketUid | boolean | Group by PPS-UID of the ticket. |
_bGroupByTicketProductionId | boolean | Group by production ID of the ticket. |
_bGroupByTicketProductionSub1Id | boolean | Group by production SubId 1 of the ticket. |
_bGroupByTicketProductionSub2Id | boolean | Group by production SubId 2 of the ticket. |
_bGroupByTicketCustomerId | boolean | Group by customer ID of the ticket. |
_bGroupByTicketArticleId | boolean | Group by article ID of the ticket. |
_bgroupbyday | boolean | Group by tags |
_bgroupbyweek | boolean | Group by weeks |
_bgroupbymonth | boolean | Group by months |
_aFilterShift | integer[] | Filter by shift(s) Example: Issue only shift 1 and 3: |
_aFilterUsername | text[] | Filter by users (knitter) Example: ARRAY[‚User_1,'User_3'] |
_aFilterPattern | text[] | Filter by sequences Example: ARRAY['S-kUuG01','P-Sjo9v3'] |
_aFilterSeq | text[] | Filter by sequences Example: ARRAY['SEQ-WNJhP3','SEQ-wMWzx2'] |
_aFilterTicketUid | bigint[][] | Filter by internal Ticket UID Example: ARRAY[3374994314,3738720541] |
_aFilterTicketProductionId | text[] | Filter by production ID of the ticket Example: ARRAY['2E0Hl4-H8T803-cId-8','2E0Hl4-H8T803-cId-8'] |
_aFilterTicketProductionsub1Id | text[] | Filter by Sub1Id production ticket Example: ARRAY['SubId_2','SubId_21'] |
_aFilterTicketProductionsub2Id | text[] | Filter by production Sub2Id of the ticket Example: ARRAY['-'] |
_aFilterTicketCustomerId | text[] | Filter by customer ID the ticket Example: ARRAY['cId-2','cId-4'] |
_aFilterTicketArticleid | text[] | Filter by article ID the ticket Example: ARRAY['H8T803'] |
_aFilterUserState | Smallint[] | Filter by user state Example: ARRAY[4,3] |
_aFilterSintralState | Smallint[] | Filter by Sintral state Example: ARRAY[4,3] |
Column | Type | Content |
---|---|---|
AGG_MC_ID | integer[] | SKR machine ID |
AGG_MC_SORT_ID | smallint[] | For alphabetical sorting by machine name |
AGG_SHIFT_STATE | smallint[] | Shift or NULL if _bGroupByShift == false |
AGG_USER_NAME | smallint[] | User or NULL if _bGroupByShift == false |
AGG_TICKET_CUSTOMER_ID | text[] | Ticket UID or NULL if _bGroupByTicketCustomerId == false |
AGG_TICKET_ARTICLE_ID | text[] | Article ID of ticket or NULL if _bGroupByTicketArticleId == false |
AGG_TICKET_PRODUCTION_ID | text[] | Production ID of ticket or NULL if _bGroupByTicketProductionId == false |
AGG_TICKET_PRODUCTION_SUB1_ID | text[] | Production Sub1 ID of ticket or NULL if _bGroupByTicketProductionId == false |
AGG_TICKET_PRODUCTION_SUB2_ID | text[] | Ticket production Sub2 ID or NULL if *_bGroupByTicketProductionId == false |
AGG_SEQ_NAME | text[] | Sequence name or NULL if _bGroupBySeq == false |
AGG_PATTERN_NAME | text[] | Pattern name or NULL if _bGroupByPattern == false |
AGG_TICKET_UID | bigint[] | Ticket UID or NULL if _bGroupByTicketUId == false |
START_TIME | timestamp without time zone | Start time of the grouping |
END_TIME | timestamp without time zone | End time of the grouping |
OVERALL_DURATION | interval | Total duration of all states |
TIME_ADJUST | interval | Specifies the time adjustments at the machine during the evaluated time period, which were added up by the SKR. Due to summer / standard time changeovers the days were actually shorter or longer. For times beyond this, the value serves only for estimating the time errors that exist. A correction of the times output is very complex and requires a detailed analysis of all the performed time changeovers and their reasons. With unusual large times that are far beyond the precision of a quartz clock, you should determine the cause. Unusual causes can be defects of the real time clocks or incorrect manual changes of the time settings. To maintain these times small, ensure that the time zone setting of the machine is correct and that the machine is always connected with SKR. Via the EventList report (EventType 101, EventID 1), you can determine when larger time differences occurred. |
| ||
RUN _DURATION | interval | Duration of the productive time. |
STOP_DURATION | interval | Duration of the stop motion |
STOP_DURATION_INCLUDING_POWER_OFF | interval | Duration of the stop motion |
EFFICIENCY_INCLUDING_POWER_OFF_PC | interval | Efficiency by % |
STOP_DURATION_WHILE_POWERED_ON | interval | Duration of the stop motion |
EFFICIENCY_WHILE_POWERED_ON_PC | interval | Efficiency by % |
OPERATOR_PRODUCTIVE_DURATION | interval | Duration, while the operator was able to maintain the machine producing as far as he was able to. Calculated based on: RUN_DURATION + ENGAGING_DURATION + PIECE_COUNTER_ZERO_DURATION + PROGRAMMING_DURATION + MCSTATE_UNKNOWN_DURATION |
OPERATOR_NON_PRODUCTIVE_DURATION | interval | Duration while the operator possibly left the machine unnecessarily at standstill. Calculated based on: (STOP_DURATION - (NO_DATA_DURATION + OFF_DURATION)) - (ENGAGING_DURATION + PIECE_COUNTER_ZERO_DURATION + PROGRAMMING_DURATION + BOOT_DURATION + MCSTATE_UNKNOWN_DURATION) |
OPERATOR_EFFICIENCY_PC | interval | Efficiency of the operator in %. Calculated based on: OPERATOR_PRODUCTIVE_DURATION*100/( OPERATOR_PRODUCTIVE_DURATION+ OPERATOR_NON_PRODUCTIVE_DURATION) |
ENGAGING_DURATION | interval | Stop motion duration by the operator via the engaging rod |
YARN_FEED_DURATION | interval | Stop motion duration by the yarn control unit or lateral yarn tensioners |
PIECE_COUNTER_ZERO_DURATION | interval | Duration while piece counter on zero |
RESISTANCE_DURATION | interval | Duration of stop by resistance |
POSITION_NEEDLE_SENSOR_DURATION | interval | Stop motion duration by position needle sensor |
TAKE_DOWN_DURATION | interval | Stop motion duration by fabric take-down |
PROGRAMMING_DURATION | interval | Duration of the pattern editing on the machine |
OTHER_DURATION | interval | Stop motion duration for other reasons |
SHOCK_DURATION | interval | Duration of shock stop motions |
RACKING_DURATION | interval | Duration of Racking Error |
NODATA_DURATION Note: Differentiation to MCSTATE_UNKNOWN_... | interval | Duration for which applies: Possible causes:
SKR was temporarily deactivated at the machine |
OFF_DURATION | interval | Duration while the machine is switched off |
BOOT_DURATION | interval | Duration for boot processes of the machine |
MCSTATE_UNKNOWN_DURATION | interval | Duration for which applies: Machine status is unknown by the SKR. Possible cause:
The machine operating system is faulty |
| ||
[DEBUG_SRC_MIN_UID] | bigint | Debug info: |
Code example sample_eval_efficiency_report.sql
Important:
It is assumed that the evaluation auxiliary tables report_01.sample_xxxxxxxx are already generated.
Generating evaluation auxiliary tables (cursor run - UDF)
For a productive system, enter an empty field ‘‘ instead of report_01, schema. But it must be identical to that which was specified when generating the auxiliary tables.
select skrpps_02.skr_mcid2mcname( "MC_ID",'skr'::cstring) AS "MC_NAME"
,* from skrpps_02.eval_efficiency_report
(
'report_01' -- Schema
,'sample' –-Prefix name of help tables
, NULL -- ARRAY['MC_SORT_ID','START_TIME DESC'] – Sorting according to…
,true -- GroupBy Machine ?
,false -- GroupBy Shift ?
,false -- GroupBy UserName
,true -- GroupBy Pattern ?
,false -- GroupBy Sequence
,false -- GroupBy "TICKET_UID" bigint,
,false -- GroupBy "TICKET_PRODUCTION_ID" text,
,false -- GroupBy "TICKET_PRODUCTION_SUB1_ID" text,
,false -- GroupBy "TICKET_PRODUCTION_SUB2_ID" text,
,false -- GroupBy "TICKET_CUSTOMER_ID" text,
,false -- GroupBy "TICKET_ARTICLE_ID" text,
,false -- GroupBy "Day" text,
,false -- GroupBy "Week" text,
,false -- GroupBy "Month" text,
,NULL -- ARRAY[2,3] -- Filter by shift
,NULL -- ARRAY['User_3','User_4'] -- Selection/Filter UserName
,NULL -- ARRAY['S-kUuG0','P-Sjo9v3'] -- Selection/Filter Pattern
,NULL -- ARRAY['SEQ-WNJhP3','SEQ-9bEqD1'] -- Selection/Filter Sequence
,NULL -- ARRAY[3374994314,3738720541] -- Selection/Filter FilterTicketUid bigint[]
,NULL -- ARRAY['2E0Hl4-H8T803-cId-8','2E0Hl4-H8T803-cId-8'] -- Selection/Filter FilterTicketProductionId text[]
,NULL -- ARRAY['SubId_2','SubId_21'] -- Selection/Filter FilterTicketProductionSub1Id text[]
,NULL -- ARRAY['-'] -- Selection/Filter FilterTicketProductionSub2Id text[]
,NULL -- ARRAY['cId-2','cId-4'] -- Selection/Filter FilterTicketCustomerId text[]
,NULL -- ARRAY['H8T803'] -- Selection/Filter FilterTicketArticleId text[]
,NULL -- ARRAY[4,3] -- Selection/Filter UserState
,NULL -- ARRAY[4,3] -- Selection/Filter SintralState
);