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:

Call-up parameters

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:
ARRAY[1,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]

Return Table

Column

Type

Content

AGG_MC_ID

integer[]

SKR machine ID

AGG_MC_SORT_ID

smallint[]

For alphabetical sorting by machine name
The machine name can be determined with the help of the MC_ID.

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
(Output line)

END_TIME

timestamp without time zone

End time of the grouping
(Output line)

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.
In principle, for a correction, the TIME_ADJUST value must be added partially or in total to the times that are to be determined.

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
With times, while the machine was switched off.

EFFICIENCY_INCLUDING_POWER_OFF_PC

interval

Efficiency by %
With times, while the machine was switched off.

STOP_DURATION_WHILE_POWERED_ON

interval

Duration of the stop motion
Without times, while the machine was switched off.

EFFICIENCY_WHILE_POWERED_ON_PC

interval

Efficiency by %
Without times, while the machine was switched off.

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
Yarn breakage, big knot

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
Needle breakage

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_...
= Machine is in an unknown state.

interval

Duration for which applies:
Machine status is unknown by the SKR as there are no data for that time period

Possible causes:

  • The machine was not yet included in the SKR during the entire time period, which was specified when generating the secondary database.
  • The data buffer of the machine was not sufficient to store the events, during the larger time, when the machine had no connection to the SKR.

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
Note: Differentiation to NODATA_...
= State of the machine is unknown to the machine due to missing data.

interval

Duration for which applies:

Machine status is unknown by the SKR.

Possible cause:

  • The machine notifies a new state, which is not yet known by the SKR

The machine operating system is faulty

 

[DEBUG_SRC_MIN_UID]

bigint

Debug info:
Start time UID in <prefix>_collected_filter_rows

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

);