效率评估

利用这个报表,可根据不同的标准来评估效率。

在系统内部,此报告是效率报告图形展示的基础。

注意:

调用参数

参数

型号

描述

__sSchema

text

辅助数据库表的 schema。

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

_sTable_Prefix

text,

辅助数据库表的前缀

_aSortorder

text[]

排序(列标题数组)

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

_bGroupByMachine

boolean

按机器分组

_bGroupByShift

boolean

按班次分组

_bGroupByUserName

boolean

按用户分组(在机器上)

_bGroupByPattern

boolean

按花型分组

_bGroupBySeq

boolean

按顺序分组

_bGroupByTicketUid

boolean

按工票的 PPS-UID 分组。

_bGroupByTicketProductionId

boolean

按工票生产 ID 分组。

_bGroupByTicketProductionSub1Id

boolean

按工票生产SubId 1分组。

_bGroupByTicketProductionSub2Id

boolean

按工票生产SubId 2分组。

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

按内部Ticket UID筛选

示例: ARRAY[3374994314,3738720541]

_aFilterTicketProductionId

text[]

按工票生产 ID 筛选

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

_aFilterTicketProductionsub1Id

text[]

按生产工票 Sub1Id 筛选

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

_aFilterTicketProductionsub2Id

text[]

按工票生产 Sub2Id 筛选

示例: 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

所有状态的总时长

TIME_ADJUST

interval

设定机器上的时间调整,在评估阶段,哪个时间段要由SKR添加。

由于夏季时间/标准时间的转换,实际天数会稍短或稍长。对于超出这个值的时间,该值仅用于估计存在的时间错误。

时间输出修正非常复杂,需要对所有执行时间转换和原因进行详细分析。

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

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

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

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

 

RUN _DURATION

interval

生产时长。

STOP_DURATION

interval

自停时长

STOP_DURATION_INCLUDING_POWER_OFF

interval

自停时长
包括关机的时间。

EFFICIENCY_INCLUDING_POWER_OFF_PC

interval

效率百分比 %
包括关机的时间。

STOP_DURATION_WHILE_POWERED_ON

interval

自停时长
不包括关机时间。

EFFICIENCY_WHILE_POWERED_ON_PC

interval

效率百分比 %
不包括关机时间。

OPERATOR_PRODUCTIVE_DURATION

interval

操作工能够将机器产能保持在最大能力范围内的时长。

根据以下因素计算:

RUN_DURATION + ENGAGING_DURATION + PIECE_COUNTER_ZERO_DURATION + PROGRAMMING_DURATION + MCSTATE_UNKNOWN_DURATION

OPERATOR_NON_PRODUCTIVE_DURATION

interval

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

根据以下因素计算:

(STOP_DURATION - (NO_DATA_DURATION + OFF_DURATION)) -

(ENGAGING_DURATION +

PIECE_COUNTER_ZERO_DURATION +

PROGRAMMING_DURATION +

BOOT_DURATION +

MCSTATE_UNKNOWN_DURATION)

OPERATOR_EFFICIENCY_PC

interval

操作员效率%

根据以下因素计算:

OPERATOR_PRODUCTIVE_DURATION*100/( OPERATOR_PRODUCTIVE_DURATION+ OPERATOR_NON_PRODUCTIVE_DURATION)

ENGAGING_DURATION

interval

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

YARN_FEED_DURATION

interval

由于纱线控制装置或侧面纱线张力器引起的停机时间
断纱,大结头

PIECE_COUNTER_ZERO_DURATION

interval

计数器为 0 的时长

RESISTANCE_DURATION

interval

阻力自停时长

POSITION_NEEDLE_SENSOR_DURATION

interval

探针自停时长
断针

TAKE_DOWN_DURATION

interval

织物牵拉自停时长

PROGRAMMING_DURATION

interval

机上花型编辑时长

OTHER_DURATION

interval

其他原因自停时长

SHOCK_DURATION

interval

震动自停时长

RACKING_DURATION

interval

横移错误时长

NODATA_DURATION

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

interval

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

可能的原因:

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

SKR 在机器上被临时禁用

OFF_DURATION

interval

关机时长

BOOT_DURATION

interval

机器启动过程时长

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

interval

符合以下情形的时长:

机器状态不为 SKR 所知。

可能的原因:

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

机器操作系统故障。

 

[DEBUG_SRC_MIN_UID]

bigint

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

代码示例sample_eval_efficiency_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_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

);