Stopp Historie
Mit diesem Report, lassen sich Abstellzeiten relativ nach Prozent und in absoluter Dauer nach unterschiedliche Kriterien ermitteln.
Dieser Report ist die Basis für die grafische Stop History.
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 Auswertungs-Zeitraum 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 Ticket (PPS-UID) gruppieren |
_bGroupByTicketProductionId | boolean | Nach Ticket Produktion ID gruppieren |
_bGroupByTicketProductionSub1Id | boolean | Nach Ticket Produktion SubId 1 gruppieren |
_bGroupByTicketProductionSub2Id | boolean | Nach Ticket Produktion SubId 2 gruppieren |
_bGroupByTicketCustomerId | boolean | Nach Ticket Kunden Id gruppieren |
_bGroupByTicketArticleId | boolean | Nach Ticket Artikel Id 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 Ticket Produktion Sub2Id filtern Beispiel: ARRAY['-'] |
_aFilterTicketCustomerId | text[] | Über Ticket Customer Id filtern Beispiel: ARRAY['cId-2','cId-4'] |
_aFilterTicketArticleid | text[] | Über Ticket Artikel Id 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 (Der Maschinenname kann mit Hilfe der MC_ID ermittelt werden) |
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[] | Ticket Artikel ID oder NULL wenn _bGroupByTicketArticleId == false |
AGG_TICKET_PRODUCTION_ID | text[] | Ticket Produktion ID oder NULL wenn _bGroupByTicketProductionId == false |
AGG_TICKET_PRODUCTION_SUB1_ID | text[] | Ticket Produktion Sub1 ID 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 |
OVERALL_DURATION_WHILEMCON | interval | Gesamtdauer in der Maschine eingeschaltet war und Daten vorlagen. |
TIME_ADJUST | interval | Gibt im Auswertezeitraum Zeitverstellungen an der Maschine an, die von SKR aufsummiert wurden. 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 |
EFFICIENCY_INCLUDING_POWER_OFF_PC | double | Effizienz der Maschine in %. Beinhaltet Zeiten, in denen die Maschine ausgeschaltet war. |
STOP_DURATION_WHILEMCON | interval | Gesamtdauer in der Maschine stand, eingeschaltet war und Daten vorlagen. |
EFFICIENCY_WHILEMCON_PC | double | Effizienz der Maschine in %, während der Maschine eingeschaltet war und Daten vorlagen. |
ENGAGING_DURATION | interval | Abstelldauer durch den Bediener über die Einrückstange |
ENGAGING_PC | double | Dauer in % 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) |
YARN_FEED_DURATION | interval | Abstelldauer verursacht durch die Fadenkontrolleinheit oder seitliche Fadenspanner |
YARN_FEED_PC | double | Abstelldauer in % verursacht durch die Fadenkontrolleinheit oder seitliche Fadenspanner |
PIECE_COUNTER_ZERO_DURATION | interval | Dauer mit Stückzähler auf Null stehend |
PIECE_COUNTER_ZERO_PC | double | Dauer in % mit Stückzähler auf Null stehend |
RESISTANCE_DURATION | interval | Dauer der Widerstandsabstellungen |
RESISTANCE_PC | double | Dauer in % der Widerstandsabstellungen |
POSITION_NEEDLE_SENSOR_DURATION | interval | Abstelldauer durch den Positions-Nadelfühler |
POSITION_NEEDLE_SENSOR_PC | double | Abstelldauer in %, verursacht durch den Positions-Nadelfühler |
TAKE_DOWN_DURATION | interval | Abstelldauer durch den Gestrickabzug |
TAKE_DOWN_PC | double | Abstelldauer in %, verursacht durch den Gestrickabzug |
PROGRAMMING_DURATION | interval | Dauer der Musterbearbeitungen auf der Maschine |
PROGRAMMING_PC | double | Dauer in % der Musterbearbeitungen auf der Maschine |
OTHER_DURATION | interval | Abstelldauer aus anderen Gründen |
OTHER_PC | double | Abstelldauer in %, verursacht aus anderen Gründen |
SHOCK_DURATION | interval | Dauer der Schockabstellungen |
SHOCK_PC | double | Dauer in % der Schockabstellungen |
RACKING_DURATION | interval | Dauer der Versatzfehler |
RACKING_PC | double | Dauer in % 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 Maschine abgeschaltet ist |
BOOT_DURATION | interval | Dauer für Bootvorgänge der Maschine |
BOOT_PC | double | Dauer in % 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 |
MCSTATE_UKNOWN_PC | double | Dauer in % 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: Startzeitpunkt Uid in <prefix>_collected_filter_rows |
Beispielcode „sample_eval_stop_history_report.sql“
Wichtig:
Es wird davon ausgegangen, dass die Auswert-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_stop_history_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
);