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:

  1. 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.
Aufrufparameter

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

_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]

Rückgabetabelle

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
(Ausgabezeile)

END_TIME

timestamp without time zone

Endzeitpunkt der Gruppierung
(Ausgabezeile)

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 Zeitverstellevents 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.
Für eine Korrektur muss der TIME_ADJUST Wert prinzipiell zu den Zeiten die man ermitteln will anteilig oder ganz addiert werden.

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
Fadenbruch, große Knoten

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
Nadelbruch

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_...
= Maschine steht in einem unbekannten State.

Zustände und Events für die gilt:
Maschinen-Status ist dem SKR nicht bekannt da für den Zeitraum keine Daten vorliegen

Mögliche Ursachen:

  • Maschine war noch nicht während des gesamten Zeitraums, der bei der Erstellung der Secondary Database angegebenen wurde, im SKR aufgenommen
  • Datenpuffer der Maschine war nicht ausreichend um die Events zu speichern, während die Maschine längere Zeit keine Verbindung zum SKR hatte.
  • SKR wurde an der Maschine zeitweise deaktiviert

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
Hinweis: Abgrenzung zu NODATA_...
= State der Maschine ist wegen fehlender Daten dem SKR nicht bekannt.

Zustände und Events für die gilt:

Maschinen-Status ist dem SKR nicht bekannt.

Mögliche Ursache:

  • Maschine meldet einen neuen State, der dem SKR noch nicht bekannt ist
  • Das Maschinen-Betriebssystem ist fehlerhaft

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

);