Run/Stop-Statistik auswerten
Mit diesem Report lassen sich Zeiten in denen die Maschine gelaufen oder gestanden ist nach unterschiedlichsten Kriterien ermitteln. Sind …_STATE_COUNT und …_STATE_EVENT identisch, wurde die zugehörige Dauer vollständig im angegebenen Auswertzeitfenster erfasst.
Ist der _STATE_COUNT größer, lag der Beginn vor dem Auswertezeitraum. Meist sind diese zwei Spalten weniger von Interesse außer man ist daran interessiert, die Dauer von ihrem ersten Auftreten an zu erfassen.
Dieser Report ist intern die Basis für die grafische Stopp Historie und den Effizienz Report.
Hinweise:
- Die Ergebnistabelle enthält über 60 Spalten. Bei Auswertungen über kürzere Zeiträume werden mit Sicherheit die meisten komplett leer sein oder nur Nullen enthalten.
Diese Spalten sollten dann (dynamisch) nicht angezeigt werden.
Beispiel:
Die Spalten SHOCK_STATE_... enthalten nur Daten <> 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 |
---|---|---|
MC_ID | integer | SKR Maschine Id |
MC_SORT_ID | smallint | Zum alphabetischen Sortieren nach dem Maschinenname (Der Maschinenname kann mit Hilfe der MC_ID ermittelt werden) |
SHIFT_STATE | smallint | Schicht oder NULL wenn _bGroupByShift == false |
USER_NAME | smallint | Benutzer oder NULL wenn _bGroupByShift == false |
TICKET_CUSTOMER_ID | text | Ticket UID oder NULL wenn _bGroupByTicketCustomerId == false |
TICKET_ARTICLE_ID | text | Ticket Artikel ID oder NULL wenn _bGroupByTicketArticleId == false |
TICKET_PRODUCTION_ID | text | Ticket Produktion ID oder NULL wenn _bGroupByTicketProductionId == false |
TICKET_PRODUCTION_SUB1_ID | text | Ticket Produktion Sub1 ID oder NULL wenn _bGroupByTicketProductionId == false |
TICKET_PRODUCTION_SUB2_ID | text | Ticket Produktion Sub2 ID oder NULL wenn *_bGroupByTicketProductionId == false |
SEQ_NAME | text | Sequenz Name oder NULL wenn _bGroupBySeq == false |
PATTERN_NAME | text | Muster Name oder NULL wenn _bGroupByPattern == false |
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 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-Status | Produktive Zeiten | |
RUN _DURATION | interval | Dauer dieses States |
RUN_STATE_COUNT | integer | Anzahl der Zeiträume in diesem State |
RUN_EVENT_COUNT | integer | Anzahl der Statewechsel-Events zu diesem State |
| ||
STOP-Status | Abstellungen | |
STOP_DURATION | interval | Dauer dieses States |
STOP_STATE_COUNT | integer | Anzahl der Zeiträume in diesem State |
STOP_EVENT_COUNT | integer | Anzahl der Statewechsel-Events zu diesem State |
| ||
ENGAGING-Status | Abstellungen durch den Bediener über die Einrückstange | |
ENGAGING_DURATION | interval | Dauer dieses States |
ENGAGING_STATE_COUNT | integer | Anzahl der Zeiträume in diesem State |
ENGAGING_EVENT_COUNT | integer | Anzahl der Statewechsel-Events zu diesem State |
| ||
YARN_FEED-Status | Abstellungen durch die Fadenkontrolleinheit oder seitliche Fadenspanner | |
YARN_FEED_DURATION | interval | Dauer dieses States |
YARN_FEED_STATE_COUNT | integer | Anzahl der Zeiträume in diesem State |
YARN_FEED_EVENT_COUNT | integer | Anzahl der Statewechsel-Events zu diesem State |
| ||
PIECE_COUNTER_ZERO-Status | Stückzähler steht auf Null | |
PIECE_COUNTER_ZERO_DURATION | interval | Dauer dieses States |
PIECE_COUNTER_ZERO_DURATION | integer | Anzahl der Zeiträume in diesem State |
PIECE_COUNTER_ZERO_DURATION | integer | Anzahl der Statewechsel-Events zu diesem State |
| ||
RESISTANCE -Status | Widerstandsabstellungen | |
RESISTANCE_DURATION | interval | Dauer dieses States |
RESISTANCE_STATE_COUNT | integer | Anzahl der Zeiträume in diesem State |
RESISTANCE_EVENT_COUNT | integer | Anzahl der Statewechsel-Events zu diesem State |
| ||
POSITION_NEEDLE_SENSOR-Status | Abstellungen durch den Positions-Nadelfühler | |
POSITION_NEEDLE_SENSOR_DURATION | interval | Dauer dieses States |
POSITION_NEEDLE_SENSOR_STATE_COUNT | integer | Anzahl der Zeiträume in diesem State |
POSITION_NEEDLE_SENSOR_EVENT_COUNT | integer | Anzahl der Statewechsel-Events zu diesem State |
| ||
TAKE_DOWN-Status | Abstellungen durch den Gestrickabzug | |
TAKE_DOWN_DURATION | interval | Dauer dieses States |
TAKE_DOWN_STATE_COUNT | integer | Anzahl der Zeiträume in diesem State |
TAKE_DOWN_EVENT_COUNT | integer | Anzahl der Statewechsel-Events zu diesem State |
| ||
PROGRAMMING-Status | Zeiten der Musterbearbeitung auf der Maschine | |
PROGRAMMING_DURATION | interval | Dauer dieses States |
PROGRAMMING_STATE_COUNT | integer | Anzahl der Zeiträume in diesem State |
PROGRAMMING_EVENT_COUNT | integer | Anzahl der Statewechsel-Events zu diesem State |
| ||
OTHER-Status | Abstellungen aus anderen Gründen | |
OTHER_DURATION | interval | Dauer dieses States |
OTHER_STATE_COUNT | integer | Anzahl der Zeiträume in diesem State |
OTHER_EVENT_COUNT | integer | Anzahl der Statewechsel-Events zu diesem State |
| ||
SHOCK-Status | Schockabstellungen | |
SHOCK_DURATION | interval | Dauer dieses States |
SHOCK_STATE_COUNT | integer | Anzahl der Zeiträume in diesem State |
SHOCK_EVENT_COUNT | integer | Anzahl der Statewechsel-Events zu diesem State |
| ||
RACKING-Status | Versatzfehler | |
RACKING_DURATION | interval | Dauer dieses States |
RACKING_STATE_COUNT | integer | Anzahl der Zeiträume in diesem State |
RACKING_EVENT_COUNT | integer | Anzahl der Statewechsel-Events zu diesem State |
| ||
NODATA-Status Hinweis: Abgrenzung zu MCSTATE_UNKNOWN_... | Zustände und Events für die gilt: Mögliche Ursachen:
| |
NODATA_DURATION | interval | Dauer dieses States |
NODATA_STATE_COUNT | integer | Anzahl der Zeiträume in diesem State |
NODATA_EVENT_COUNT | integer | Anzahl der Statewechsel-Events zu diesem State |
| ||
OFF-Status | Maschine ist abgeschaltet | |
OFF_DURATION | interval | Dauer dieses States |
OFF_STATE_COUNT | integer | Anzahl der Zeiträume in diesem State |
OFF_EVENT_COUNT | integer | Anzahl der Statewechsel-Events zu diesem State |
| ||
BOOT-Status | Bootvorgänge der Maschine | |
BOOT_DURATION | interval | Dauer dieses States |
BOOT_STATE_COUNT | integer | Anzahl der Zeiträume in diesem State |
BOOT_EVENT_COUNT | integer | Anzahl der Statewechsel-Events zu diesem State |
| ||
MCSTATE_UNKNOWN-Status | Zustände und Events für die gilt: Maschinen-Status ist dem SKR nicht bekannt. Mögliche Ursache:
| |
MCSTATE_UNKNOWN_DURATION | interval | Dauer dieses States |
MCSTATE_UNKNOWN_STATE_COUNT | integer | Anzahl der Zeiträume in diesem State |
MCSTATE_UNKNOWN_EVENT_COUNT | integer | Anzahl der Statewechsel-Events zu diesem State |
| ||
[DEBUG_SRC_MIN_UID] | bigint | Debuginfo: Startzeitpunkt Uid in <prefix>_collected_filter_rows |
Beispielcode „sample_eval_stop_statistik.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_statistic_ex
(
'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
);