Effizienz Auswertung
Mit diesem Report lässt sich die Effizienz nach unterschiedlichen Kriterien ermitteln.
Dieser Report ist die Basis für den grafischen Effizienz-Report.
Hinweise:
- Die Ergebnistabelle enthält über 30 Spalten.
Bei Auswertungen über kürzere Zeiträume, werden einige leer sein oder nur Nullen enthalten. - Diese Spalten sollten dann (dynamisch) nicht angezeigt werden.
Beispiel:
Die Spalte SHOCK_DURATION enthält nur dann <> 0 wenn im Auswertungszeitraum eine Schockabstellung aufgetreten ist.
Parameter | Type | Beschreibung |
---|---|---|
__sSchema | text | Schema der sekundären Datenbank-Tabellen. Wenn mit temporären Tabellen gearbeitet wird muss _sDestSchema immer == ‘‘ sein |
_sTable_Prefix | text, | Prefix der sekundären Datenbank-Tabellen |
_aSortorder | text[] | Sortierung (Array aus Spaltennamen) Beispiel. ARRAY['MC_SORT_ID','START_TIME'] |
_bGroupByMachine | boolean | Nach Maschine gruppieren |
_bGroupByShift | boolean | Nach Schicht gruppieren |
_bGroupByUserName | boolean | Nach Benutzer (an der Maschine) gruppieren |
_bGroupByPattern | boolean | Nach Muster gruppieren |
_bGroupBySeq | boolean | Nach Sequenz gruppieren |
_bGroupByTicketUid | boolean | Nach PPS-UID des Tickets gruppieren |
_bGroupByTicketProductionId | boolean | Nach Produktion-ID des Tickets gruppieren |
_bGroupByTicketProductionSub1Id | boolean | Nach Produktion SubId 1 des Tickets gruppieren |
_bGroupByTicketProductionSub2Id | boolean | Nach Produktion SubId 2 des Tickets gruppieren |
_bGroupByTicketCustomerId | boolean | Nach Kunden-ID des Tickets gruppieren |
_bGroupByTicketArticleId | boolean | Nach Artikel-ID des Tickets gruppieren |
_bgroupbyday | boolean | Nach Tag gruppieren |
_bgroupbyweek | boolean | Nach Woche gruppieren |
_bgroupbymonth | boolean | Nach Monat gruppieren |
_aFilterShift | integer[] | Über Schicht(en) filtern Beispiel: nur Schicht 1 und 3 ausgeben: |
_aFilterUsername | text[] | Über Benutzer (Stricker) filtern Beispiel: ARRAY[‚User_1,'User_3'] |
_aFilterPattern | text[] | Über Sequenzen filtern Beispiel: ARRAY['S-kUuG01','P-Sjo9v3'] |
_aFilterSeq | text[] | Über Sequenzen filtern Beispiel: ARRAY['SEQ-WNJhP3','SEQ-wMWzx2'] |
_aFilterTicketUid | bigint[][] | Über interne Ticket UID filtern Beispiel: ARRAY[3374994314,3738720541] |
_aFilterTicketProductionId | text[] | Über Ticket Produktion-ID filtern Beispiel: ARRAY['2E0Hl4-H8T803-cId-8','2E0Hl4-H8T803-cId-8'] |
_aFilterTicketProductionsub1Id | text[] | Über Ticket Produktion Sub1Id filtern Beispiel: ARRAY['SubId_2','SubId_21'] |
_aFilterTicketProductionsub2Id | text[] | Über Produktion Sub2Id des Tickets filtern Beispiel: ARRAY['-'] |
_aFilterTicketCustomerId | text[] | Über Kunden-ID des Tickets filtern Beispiel: ARRAY['cId-2','cId-4'] |
_aFilterTicketArticleid | text[] | Über Artikel-ID des Tickets filtern Beispiel: ARRAY['H8T803'] |
_aFilterUserState | Smallint[] | Über Benutzerzustand filtern Beispiel: ARRAY[4,3] |
_aFilterSintralState | Smallint[] | Über Sintralzustand filtern Beispiel: ARRAY[4,3] |
Spalte | Type | Inhalt |
---|---|---|
AGG_MC_ID | integer[] | SKR Maschine-ID |
AGG_MC_SORT_ID | smallint[] | Zum alphabetischen Sortieren nach dem Maschinenname |
AGG_SHIFT_STATE | smallint[] | Schicht oder NULL wenn _bGroupByShift == false |
AGG_USER_NAME | smallint[] | Benutzer oder NULL wenn _bGroupByShift == false |
AGG_TICKET_CUSTOMER_ID | text[] | Ticket UID oder NULL wenn _bGroupByTicketCustomerId == false |
AGG_TICKET_ARTICLE_ID | text[] | Artikel ID des Tickets oder NULL wenn _bGroupByTicketArticleId == false |
AGG_TICKET_PRODUCTION_ID | text[] | Produktion ID des Tickets oder NULL wenn _bGroupByTicketProductionId == false |
AGG_TICKET_PRODUCTION_SUB1_ID | text[] | Produktion Sub1 ID des Tickets oder NULL wenn _bGroupByTicketProductionId == false |
AGG_TICKET_PRODUCTION_SUB2_ID | text[] | Ticket Produktion Sub2 ID oder NULL wenn *_bGroupByTicketProductionId == false |
AGG_SEQ_NAME | text[] | Sequenz Name oder NULL wenn _bGroupBySeq == false |
AGG_PATTERN_NAME | text[] | Muster Name oder NULL wenn _bGroupByPattern == false |
AGG_TICKET_UID | bigint[] | Ticket UId oder NULL wenn _bGroupByTicketUId == false |
START_TIME | timestamp without time zone | Startzeitpunkt der Gruppierung |
END_TIME | timestamp without time zone | Endzeitpunkt der Gruppierung |
OVERALL_DURATION | interval | Gesamte Dauer aller States |
TIME_ADJUST | interval | Gibt im Auswertezeitraum Zeitverstellungen an der Maschine an, die von SKR aufsummiert wurden. Bei Sommer-\Winterzeitverstellungen sind die Tage tatsächlich kürzer oder länger gewesen. Für darüber hinausgehende Zeiten, dient der Wert lediglich zur Abschätzung welche Zeitfehler vorliegen. Eine Korrektur der Ausgegebenen Zeiten ist sehr komplex und erfordert eine detaillierte Analyse aller durchgeführten Zeitverstellungen und deren Gründe. Bei ungewöhnlich hohen Zeiten, die weit über der Genauigkeit einer Quarzuhr liegen, sollten Sie dem Grund nachgehen. Unübliche Gründe können defekte der Echtzeituhren oder falsche, manuelle Änderungen an den Zeiteinstellungen sein. Um diese Zeiten klein zu halten, stellen Sie sicher, dass die Zeitzoneneinstellung an der Maschine korrekt und die Maschine immer mit SKR verbunden ist. Wann größere Zeitdifferenzen aufgetreten sind, können Sie über den EventList Report (EventType 101, EventID 1) feststellen. |
| ||
RUN _DURATION | interval | Dauer der produktiven Zeit |
STOP_DURATION | interval | Dauer der Abstellung |
STOP_DURATION_INCLUDING_POWER_OFF | interval | Dauer der Abstellung |
EFFICIENCY_INCLUDING_POWER_OFF_PC | interval | Effizienz in % |
STOP_DURATION_WHILE_POWERED_ON | interval | Dauer der Abstellung |
EFFICIENCY_WHILE_POWERED_ON_PC | interval | Effizienz in % |
OPERATOR_PRODUCTIVE_DURATION | interval | Dauer, in der der Maschinenbediener soweit ihm möglich, die Maschine am Produzieren gehalten hat. Errechnet aus: RUN_DURATION + ENGAGING_DURATION + PIECE_COUNTER_ZERO_DURATION + PROGRAMMING_DURATION + MCSTATE_UNKNOWN_DURATION |
OPERATOR_NON_PRODUCTIVE_DURATION | interval | Dauer, in der der Maschinenbediener die Maschine hat möglicherweise unnötig stehen lassen. Errechnet aus: (STOP_DURATION - (NO_DATA_DURATION + OFF_DURATION)) - (ENGAGING_DURATION + PIECE_COUNTER_ZERO_DURATION + PROGRAMMING_DURATION + BOOT_DURATION + MCSTATE_UNKNOWN_DURATION) |
OPERATOR_EFFICIENCY_PC | interval | Effizienz des Maschinenbedieners in %. Errechnet aus: OPERATOR_PRODUCTIVE_DURATION*100/( OPERATOR_PRODUCTIVE_DURATION+ OPERATOR_NON_PRODUCTIVE_DURATION) |
ENGAGING_DURATION | interval | Abstelldauer durch den Bediener über die Einrückstange |
YARN_FEED_DURATION | interval | Abstelldauer durch die Fadenkontrolleinheit oder seitliche Fadenspanner |
PIECE_COUNTER_ZERO_DURATION | interval | Dauer mit Stückzähler auf Null |
RESISTANCE_DURATION | interval | Abstelldauer der Widerstandsabstellungen |
POSITION_NEEDLE_SENSOR_DURATION | interval | Abstelldauer durch den Positions-Nadelfühler |
TAKE_DOWN_DURATION | interval | Abstelldauer durch den Gestrickabzug |
PROGRAMMING_DURATION | interval | Dauer der Musterbearbeitungen auf der Maschine |
OTHER_DURATION | interval | Abstelldauer aus anderen Gründen |
SHOCK_DURATION | interval | Dauer der Schockabstellungen |
RACKING_DURATION | interval | Dauer der Versatzfehler |
NODATA_DURATION Hinweis: Abgrenzung zu MCSTATE_UNKNOWN_... | interval | Dauer für die gilt: Mögliche Ursachen:
SKR wurde an der Maschine zeitweise deaktiviert |
OFF_DURATION | interval | Dauer, in der die Maschine abgeschaltet ist |
BOOT_DURATION | interval | Dauer für Bootvorgänge der Maschine |
MCSTATE_UNKNOWN_DURATION | interval | Dauer für die gilt: Maschinen-Status ist dem SKR nicht bekannt. Mögliche Ursache:
Das Maschinen-Betriebssystem ist fehlerhaft |
| ||
[DEBUG_SRC_MIN_UID] | bigint | Debuginfo: |
Beispielcode „sample_eval_efficiency_report.sql“
Wichtig:
Es wird davon ausgegangen, dass die Auswertungs-Hilfstabellen report_01.sample_xxxxxxxx bereits erzeugt sind.
Auswert-Hilfstabellen erzeugen (Cursorlauf - UDF)
Für ein Produktivsystem statt Schema report_01, ein leeres Feld ‘‘ einsetzen. Es muss aber identisch zu dem sein, was bei der Erzeugung der Hilfstabellen angegeben wurde.
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
);