评估运行/停机统计
利用这个报表,可以根据各种标准确定机器运行或停止的时间。如果 …_STATE_COUNT 和 …_STATE_EVENT 一致,则相应的时间间隔已在指定的评估时间窗口注册。
如果 _STATE_COUNT 大,那么起始时间早于评估时间段。通常,这两列数据的意义不大,除非要记录从其首次出现开始的时长时才有意义。
在系统内部,此报告是自停历史记录和效率报告的基础。
注意:
- 结果表包60多个列。在较短时间段内的评估肯定将是完全为空或仅为零。
这些列不应该显示(动态)。
示例:
SHOCK_STATE_... 列仅包含<> 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 | 按工票分组(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: |
_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] |
列 | 型号 | 内容 |
---|---|---|
MC_ID | integer | SKR 机器 ID |
MC_SORT_ID | smallint | 按机器名称按字母顺序排序 (可以借助MC_ID确定机器名) |
SHIFT_STATE | smallint | 班次,或者 NULL,如果_bGroupByShift == false |
USER_NAME | smallint | 用户,或者 NULL,如果_bGroupByShift == false |
TICKET_CUSTOMER_ID | text | 工票UID 或者 NULL,如果_bGroupByTicketCustomerId == false |
TICKET_ARTICLE_ID | text | 工票货品 ID 或者 NULL,如果 _bGroupByTicketArticleId == false |
TICKET_PRODUCTION_ID | text | 工票生产 ID 或者 NULL, 如果_bGroupByTicketProductionId == false |
TICKET_PRODUCTION_SUB1_ID | text | 工票生产子ID1 或者 NULL,如果_bGroupByTicketProductionId == false |
TICKET_PRODUCTION_SUB2_ID | text | 工票生产子ID2 或者 NULL,如果*_bGroupByTicketProductionId == false |
SEQ_NAME | text | 顺序名或者 NULL,如果_bGroupBySeq == false |
PATTERN_NAME | text | 花型名称或NULL,如果_bGroupByPattern == false |
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 状态 | 生产时间 | |
RUN _DURATION | interval | 该状态持续时间 |
RUN_STATE_COUNT | integer | 该状态下的时间段数量 |
RUN_EVENT_COUNT | integer | 关于该状态的状态改变事件数量 |
| ||
STOP 状态 | 停机动作 | |
STOP_DURATION | interval | 该状态持续时间 |
STOP_STATE_COUNT | integer | 该状态下的时间段数量 |
STOP_EVENT_COUNT | integer | 关于该状态的状态改变事件数量 |
| ||
ENGAGING 状态 | 由用户进行的使用操纵杆的停机 | |
ENGAGING_DURATION | interval | 该状态持续时间 |
ENGAGING_STATE_COUNT | integer | 该状态下的时间段数量 |
ENGAGING_EVENT_COUNT | integer | 关于该状态的状态改变事件数量 |
| ||
YARN_FEED 状态 | 由于纱线控制装置或侧面纱线张力器引起的停机 | |
YARN_FEED_DURATION | interval | 该状态持续时间 |
YARN_FEED_STATE_COUNT | integer | 该状态下的时间段数量 |
YARN_FEED_EVENT_COUNT | integer | 关于该状态的状态改变事件数量 |
| ||
PIECE_COUNTER_ZERO 状态 | 衣片计数器为 填零 | |
PIECE_COUNTER_ZERO_DURATION | interval | 该状态持续时间 |
PIECE_COUNTER_ZERO_DURATION | integer | 该状态下的时间段数量 |
PIECE_COUNTER_ZERO_DURATION | integer | 关于该状态的状态改变事件数量 |
| ||
RESISTANCE 状态 | 遇阻力停机 | |
RESISTANCE_DURATION | interval | 该状态持续时间 |
RESISTANCE_STATE_COUNT | integer | 该状态下的时间段数量 |
RESISTANCE_EVENT_COUNT | integer | 关于该状态的状态改变事件数量 |
| ||
POSITION_NEEDLE_SENSOR 状态 | 探针引起的自停 | |
POSITION_NEEDLE_SENSOR_DURATION | interval | 该状态持续时间 |
POSITION_NEEDLE_SENSOR_STATE_COUNT | integer | 该状态下的时间段数量 |
POSITION_NEEDLE_SENSOR_EVENT_COUNT | integer | 关于该状态的状态改变事件数量 |
| ||
TAKE_DOWN 状态 | 由织物牵拉造成的自停 | |
TAKE_DOWN_DURATION | interval | 该状态持续时间 |
TAKE_DOWN_STATE_COUNT | integer | 该状态下的时间段数量 |
TAKE_DOWN_EVENT_COUNT | integer | 关于该状态的状态改变事件数量 |
| ||
PROGRAMMING 状态 | 机器上的花型编辑时间 | |
PROGRAMMING_DURATION | interval | 该状态持续时间 |
PROGRAMMING_STATE_COUNT | integer | 该状态下的时间段数量 |
PROGRAMMING_EVENT_COUNT | integer | 关于该状态的状态改变事件数量 |
| ||
OTHER 状态 | 其他原因自停 | |
OTHER_DURATION | interval | 该状态持续时间 |
OTHER_STATE_COUNT | integer | 该状态下的时间段数量 |
OTHER_EVENT_COUNT | integer | 关于该状态的状态改变事件数量 |
| ||
SHOCK 状态 | 震动自停 | |
SHOCK_DURATION | interval | 该状态持续时间 |
SHOCK_STATE_COUNT | integer | 该状态下的时间段数量 |
SHOCK_EVENT_COUNT | integer | 关于该状态的状态改变事件数量 |
| ||
RACKING 状态 | 横移错误 | |
RACKING_DURATION | interval | 该状态持续时间 |
RACKING_STATE_COUNT | integer | 该状态下的时间段数量 |
RACKING_EVENT_COUNT | integer | 关于该状态的状态改变事件数量 |
| ||
NODATA 状态 注意:与MCSTATE_UNKNOWN_...不同 | 适用的状态和事件: 可能的原因:
| |
NODATA_DURATION | interval | 该状态持续时间 |
NODATA_STATE_COUNT | integer | 该状态下的时间段数量 |
NODATA_EVENT_COUNT | integer | 关于该状态的状态改变事件数量 |
| ||
OFF 状态 | 机器已关闭。 | |
OFF_DURATION | interval | 该状态持续时间 |
OFF_STATE_COUNT | integer | 该状态下的时间段数量 |
OFF_EVENT_COUNT | integer | 关于该状态的状态改变事件数量 |
| ||
BOOT 状态 | 机器的启动进程 | |
BOOT_DURATION | interval | 该状态持续时间 |
BOOT_STATE_COUNT | integer | 该状态下的时间段数量 |
BOOT_EVENT_COUNT | integer | 关于该状态的状态改变事件数量 |
| ||
MCSTATE_UNKNOWN 状态 | 适用的状态和事件: 机器状态不为 SKR 所知。 可能的原因:
| |
MCSTATE_UNKNOWN_DURATION | interval | 该状态持续时间 |
MCSTATE_UNKNOWN_STATE_COUNT | integer | 该状态下的时间段数量 |
MCSTATE_UNKNOWN_EVENT_COUNT | integer | 关于该状态的状态改变事件数量 |
| ||
[DEBUG_SRC_MIN_UID] | bigint | 调试信息:<prefix>_collected_filter_rows 中开始时间 UID |
代码示例 „sample_eval_stop_statistik.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_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
);