效率评估
利用这个报表,可根据不同的标准来评估效率。
在系统内部,此报告是效率报告图形展示的基础。
注意:
- 结果表包30多个列。
有些较短时段的评估可能是空的或仅包含零值。 - 这些列不应该显示(动态)。
示例:
如果一个震动自停发生在评估时间段,SHOCK_DURATION 列仅包含<> 0数据。
参数 | 型号 | 描述 |
---|---|---|
__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: |
_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[] | 按机器名称按字母顺序排序 |
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添加。 由于夏季时间/标准时间的转换,实际天数会稍短或稍长。对于超出这个值的时间,该值仅用于估计存在的时间错误。 时间输出修正非常复杂,需要对所有执行时间转换和原因进行详细分析。 对于异常的超出石英钟精度的较大时间差异,要确认原因。 不正常的原因有可能是实际时钟有故障,或手动时间设置错误。 为了减小这些值,要确保机器的时区设置正确,而且机器始终与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 在机器上被临时禁用 |
OFF_DURATION | interval | 关机时长 |
BOOT_DURATION | interval | 机器启动过程时长 |
MCSTATE_UNKNOWN_DURATION | interval | 符合以下情形的时长: 机器状态不为 SKR 所知。 可能的原因:
机器操作系统故障。 |
| ||
[DEBUG_SRC_MIN_UID] | bigint | 调试信息: |
代码示例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
);