停机记录

通过此报告,可以根据不同的标准将停机时间为相对百分比,也可以确定为绝对时长。

该报告是停机历史记录图形表示的基础。

注意:

  1. 结果表包30多个列。有些较短时段的评估可能是空的或仅包含零值。
    这些列不应该显示(动态)。
    示例:
    如果一个震动自停发生在评估时间段,SHOCK_DURATION. 列仅包含<> 0数据。
调用参数

参数

型号

描述

__sSchema

text

辅助数据库表的 schema。

使用临时表时,_sDestSchema 必须始终为 == ‘‘

_sTable_Prefix

text,

辅助数据库表的前缀

_aSortorder

text[]

排序(列标题数组)

示例 。 ARRAY['MC_SORT_ID','START_TIME']

_bGroupByMachine

boolean

按机器分组

_bGroupByShift

boolean

按班次分组

_bGroupByUserName

boolean

按用户分组(在机器上)

_bGroupByPattern

boolean

按花型分组

_bGroupBySeq

boolean

按顺序分组

_bGroupByTicketUid

boolean

按工票分组(PPSUID)

_bGroupByTicketProductionId

boolean

按工票生产 ID 分组

_bGroupByTicketProductionSub1Id

boolean

按工票生产子 ID1 分组

_bGroupByTicketProductionSub2Id

boolean

按工票生产子 ID2 分组

_bGroupByTicketCustomerId

boolean

按工票客户 ID 分组

_bGroupByTicketArticleId

boolean

按工票货品 ID 分组

_bgroupbyday

boolean

按标签分组

_bgroupbyweek

boolean

按星期分组

_bgroupbymonth

boolean

按月分组

_aFilterShift

integer[]

按班次筛选

示例:仅针对班次1和3:
ARRAY[1,3]

_aFilterUsername

text[]

按用户筛选(挡车工)

示例: ARRAY[‚User_1,'User_3']

_aFilterPattern

text[]

按顺序筛选

示例: ARRAY['S-kUuG01','P-Sjo9v3']

_aFilterSeq

text[]

按顺序筛选

示例: ARRAY['SEQ-WNJhP3','SEQ-wMWzx2']

_aFilterTicketUid

bigint[][]

按内部工票UID 筛选

示例: ARRAY[3374994314,3738720541]

_aFilterTicketProductionId

text[]

按生产工票ID筛选

示例: ARRAY['2E0Hl4-H8T803-cId-8','2E0Hl4-H8T803-cId-8']

_aFilterTicketProductionsub1Id

text[]

按工票生产sub1D筛选

示例: ARRAY['SubId_2','SubId_21']

_aFilterTicketProductionsub2Id

text[]

按工票生产sub2D筛选

示例: ARRAY['-']

_aFilterTicketCustomerId

text[]

按工票客户 ID 筛选

示例: ARRAY['cId-2','cId-4']

_aFilterTicketArticleid

text[]

按工票货品 ID 筛选

示例: ARRAY['H8T803']

_aFilterUserState

Smallint[]

按用户状态筛选

示例: ARRAY[4,3]

_aFilterSintralState

Smallint[]

按Sintral状态筛选

示例: ARRAY[4,3]

返回表

型号

内容

AGG_MC_ID

integer[]

SKR 机器 ID

AGG_MC_SORT_ID

smallint[]

按机器名称按字母顺序排序

(可以借助MC_ID确定机器名)

AGG_SHIFT_STATE

smallint[]

班次,或者 NULL,如果_bGroupByShift == false

AGG_USER_NAME

smallint[]

用户,或者 NULL,如果_bGroupByShift == false

AGG_TICKET_CUSTOMER_ID

text[]

工票UID 或者 NULL,如果_bGroupByTicketCustomerId == false

AGG_TICKET_ARTICLE_ID

text[]

工票货品 ID 或者 NULL,如果 _bGroupByTicketArticleId == false

AGG_TICKET_PRODUCTION_ID

text[]

工票生产 ID 或者 NULL, 如果_bGroupByTicketProductionId == false

AGG_TICKET_PRODUCTION_SUB1_ID

text[]

工票生产子ID1 或者 NULL,如果_bGroupByTicketProductionId == false

AGG_TICKET_PRODUCTION_SUB2_ID

text[]

工票生产子ID2 或者 NULL,如果*_bGroupByTicketProductionId == false

AGG_SEQ_NAME

text[]

顺序名或者 NULL,如果_bGroupBySeq == false

AGG_PATTERN_NAME

text[]

花型名称或NULL,如果_bGroupByPattern == false

AGG_TICKET_UID

bigint[]

工票UID 或者 NULL,如果_bGroupByTicketUId == false

START_TIME

timestamp without time zone

分组开始时间
(输出行)

END_TIME

timestamp without time zone

分组结束时间
(输出行)

OVERALL_DURATION

interval

所有状态的总时长

OVERALL_DURATION_WHILEMCON

interval

机器开启状态并且有数据时的总时长。

TIME_ADJUST

interval

设定机器上的时间调整,在评估阶段,哪个时间段要由SKR添加。
由于夏季时间/标准时间的转换,实际天数会稍短或稍长。对于超出这个值的时间,该值仅用于估计存在的时间错误。时间输出修正非常复杂,需要对所有执行时间更换事件和原因进行详细分析。

对于异常的超出石英钟精度的较大时间差异,要确认原因。

不正常的原因有可能是实际时钟有故障,或手动时间设置错误。
原则上,校正时,TIME_ADJUST值必须部分或全部加到待确定的时间。

为了减小这些值,要确保机器的时区设置正确,而且机器始终与SKR连接。

通过EventList报告(EventType101,EventID1),可以确定较大的时间差异是何时发生的。

 

RUN _DURATION

interval

生产时长。

STOP_DURATION

interval

自停时长

EFFICIENCY_INCLUDING_POWER_OFF_PC

double

机器效率%

包括关机时间。

STOP_DURATION_WHILEMCON

interval

机器开启状态并且有数据时的总时长。

EFFICIENCY_WHILEMCON_PC

double

机器处于开启状态并且有数据时的效率 % 。

ENGAGING_DURATION

interval

操作员通过操纵杆停机的时长

ENGAGING_PC

double

操作工使机器处于非必要停机状态的时长 %。

根据以下因素计算:

(STOP_DURATION - (NO_DATA_DURATION + OFF_DURATION)) -

(ENGAGING_DURATION +

PIECE_COUNTER_ZERO_DURATION +

PROGRAMMING_DURATION +

BOOT_DURATION +

MCSTATE_UNKNOWN_DURATION)

YARN_FEED_DURATION

interval

纱线控制装置或侧面纱线张力器自停时长
断纱,大结头

YARN_FEED_PC

double

纱线控制装置或侧面纱线张力器自停时长 %
断纱,大结头

PIECE_COUNTER_ZERO_DURATION

interval

计数器为 0 的时长

PIECE_COUNTER_ZERO_PC

double

计数器为 0 的时长 %

RESISTANCE_DURATION

interval

阻力自停时长

RESISTANCE_PC

double

阻力自停时长 %

POSITION_NEEDLE_SENSOR_DURATION

interval

探针自停时长
断针

POSITION_NEEDLE_SENSOR_PC

double

探针自停时长 %
断针

TAKE_DOWN_DURATION

interval

织物牵拉自停时长

TAKE_DOWN_PC

double

织物牵拉自停时长 %

PROGRAMMING_DURATION

interval

机上花型编辑时长

PROGRAMMING_PC

double

机上花型编辑时长 %

OTHER_DURATION

interval

其他原因自停时长

OTHER_PC

double

其他原因自停时长 %

SHOCK_DURATION

interval

震动自停时长

SHOCK_PC

double

震动自停时长 %

RACKING_DURATION

interval

横移错误时长

RACKING_PC

double

横移错误时长 %

NODATA_DURATION

注意:与MCSTATE_UNKNOWN_...不同
= 机器处于一种未知状态。

interval

符合以下情形的时长:
由于那个时间段没有数据,SKR 无法获知机器状态。

可能的原因:

  • 在整个时间段,机器尚未收录在 SKR 里,这个时间段是创建辅助数据库时设定的。
  • 在机器与SKR之间长时间未连接的情况下,机器的数据缓冲器空间不足以存储这个时间段里发生的事件。

SKR 在机器上被临时禁用

OFF_DURATION

interval

关机时长 %

BOOT_DURATION

interval

机器启动过程时长

BOOT_PC

double

机器启动过程时长 %

MCSTATE_UNKNOWN_DURATION
注意:与NODATA_...不同
= 由于数据丢失造成的未知机器状态

interval

符合以下情形的时长:

机器状态不为 SKR 所知。

可能的原因:

  • 机器通知一个新状态,这个状态尚未被SKR所知。

机器操作系统故障。

MCSTATE_UKNOWN_PC

double

符合以下情形的时长 %:

机器状态不为 SKR 所知。

可能的原因:

  • 机器通知一个新状态,这个状态尚未被SKR所知。

机器操作系统故障。

 

[DEBUG_SRC_MIN_UID]

bigint

调试信息:<prefix>_collected_filter_rows 中开始时间 UID

代码示例 "sample_eval_stop_history_report.sql"

重要点:

假设评估辅表report_01.sample_xxxxxxxx已经生成。
创建评估辅表(光标运行- UDF)

为高效工作,输入一个空的字段‘‘而不是report_01,架构。但必须与创建辅表时指定的内容相同。

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

);