'제품 감지 NG' > '조립불량' >대략 몇초 정도 소요한 건지 구하기

FCT machine 로그에 manual mode 변환 찾기 교체 정확한 시간을 근거로 교체 갯수 선정 가능 >> 해당 부분을 제외해서 >> 계측기 및 설비 이상 문제 예상 관련 검토해보기 >> 검사 시간으로 체크하기 / 1주일간 체크 해서 정규 분포로 오른쪽 꼬리가 긴것, BOXPLOT으로 CT 이상치를 구하고 그에 해당하는 바코드를 가지고 STATION별

20251010 20:18:00 ~ 23:59:00 까지 Non-PD 20251001 09:15:00 ~ 13:00:00 까지 PD

a.스키마 : d1_machine_log

a.테이블 : Main_machine_log

Non-PD : TRAY에서 제품을 FCT까지의 적재 시간 구하기, 1TRAY에 21개 제품 있음

  1. 시간 범위 : a.테이블 end_day : 20251010, time : 20:18:00 ~ 23:59:00

  2. 조건 범위

    2-1) a.테이블 contents : PLC: UP1 : 투입 ~ PLC: UP1 : 배출 에 해당하는 컬럼 time의 속성값을 범위로 할 것

    → 해당 범위들을 컬럼 no를 추가하여 속성값으로 1,2,3…순서를 넣어서 구분

    2-2) 1st 적재 제품 시간은 a.테이블 contents : PLC: UP1 : 투입 ~ PLC: FCT1 : 투입 or PLC: FCT2 : 투입 까지의 컬럼 time의 속성값 차이를 새로운 컬럼 ct 를 만들어 소수점 2자리까지 기입

    → contents : PLC: UP1 : 투입 에 해당하는 컬럼 time의 속성값들은 각각 새로운 컬럼 from_contents와 from_time의 속성값으로 들어 갈것

    → contents : PLC: FCT1 : 투입 or PLC: FCT2에 해당하는 컬럼 time의 속성값들은 각각 새로운 컬럼 to_contents와 to_time의 속성값으로 들어 갈것

    → contents : PLC: FCT1 : 투입 or PLC: FCT2내용 중 FCT1과 FCT2는 새로운 컬럼 to_station의 속성값으로 들어갈 것

    컬럼 ct의 속성값_예시) [21:12:15.09] PLC: UP1 : 투입

                                           [21:12:17.51] PLC: FCT1 : 투입
    
                                           > 1st  : 2.42
    
                                    [21:12:15.09] PLC: UP1 : 투입
    
                                    [21:12:17.51] PLC: FCT2 : 투입
    
                                          > 1st  : 2.42
    

2-3) 2~ 21st까지는 아래의 조건에 따라 산출될 것

→ a.테이블 contents : PLC: VISION1 : 투입 ~ contents : PLC: FCT1 : 투입 or PLC: FCT2 : 투입까지의 컬럼 time의 속성값 차이를 새로운 컬럼 ct에 속성값으로 넣을 것, 소수점 2자리까지 나타낼 것

→ contents : PLC: VISION1 : 투입 에 해당하는 컬럼 time의 속성값들은 각각 새로운 컬럼 from_contents와 from_time의 속성값으로 들어 갈것

→ contents : PLC: FCT1 : 투입 or PLC: FCT2에 해당하는 컬럼 time의 속성값들은 각각 새로운 컬럼 to_contents와 to_time의 속성값으로 들어 갈것

→ contents : PLC: FCT1 : 투입 or PLC: FCT2 내용 중 FCT1과 FCT2는 새로운 컬럼 to_station의 속성값으로 들어갈 것

컬럼 ct의 속성값_예시) [21:12:15.09] PLC: VISION1 : 투입

                                      [21:12:17.51] PLC: FCT1 : 투입

                                      > 2st  : 2.42

                               [21:12:15.09] PLC: VISION1 : 투입 

                               [21:12:17.51] PLC: FCT2 : 투입

                                     > 2st  : 2.42

2-4) 첨부파일과 같이 dataframe 출력될 것

id no seq from_contents from_time to_contents to_station to_time ct
1 1 1st PLC: UP1 21:12:15.09 PLC: FCT1 : 투입 FCT1 21:12:17.51 2.42
2 1 2st PLC: VISION1 : 투입 PLC: FCT2 : 투입 FCT2
3 1 3st PLC: VISION1 : 투입 PLC: FCT1 : 투입 FCT3

2-5) a.테이블 contents : PLC: UP4 : 투입 ~ PLC: UP4 : 배출 에 해당하는 컬럼 time의 속성값을 범위로 할 것

→ 해당 범위들을 컬럼 no를 추가하여 속성값으로 1,2,3…순서를 넣어서 구분

2-6) 1st 적재 제품 시간은 a.테이블 contents : PLC: UP4 : 투입 ~ PLC: FCT3 : 투입 or PLC: FCT4 : 투입 까지의 컬럼 time의 속성값 차이를 새로운 컬럼 ct 를 만들어 소수점 2자리까지 기입

→ contents : PLC: UP4 : 투입 에 해당하는 컬럼 time의 속성값들은 각각 새로운 컬럼 from_contents와 from_time의 속성값으로 들어 갈것

→ contents : PLC: FCT3 : 투입 or PLC: FCT4에 해당하는 컬럼 time의 속성값들은 각각 새로운 컬럼 to_contents와 to_time의 속성값으로 들어 갈것

→ contents : PLC: FCT3 : 투입 or PLC: FCT4 내용 중 FCT3과 FCT4는 새로운 컬럼 to_station의 속성값으로 들어갈 것

컬럼 ct의 속성값_예시) [21:12:15.09] PLC: UP4 : 투입

                                      [21:12:17.51] PLC: FCT3 : 투입

                                      > 1st  : 2.42

                               [21:12:15.09] PLC: UP4 : 투입

                               [21:12:17.51] PLC: FCT4 : 투입

                                     > 1st  : 2.42

2-7) 2~ 21st까지는 아래의 조건에 따라 산출될 것

→ a.테이블 contents : PLC: VISION2 : 투입 ~ contents : PLC: FCT3 : 투입 or PLC: FCT4 : 투입까지의 컬럼 time의 속성값 차이를 새로운 컬럼 ct에 속성값으로 넣을 것, 소수점 2자리까지 나타낼 것

→ contents : PLC: VISION2 : 투입 에 해당하는 컬럼 time의 속성값들은 각각 새로운 컬럼 from_contents와 from_time의 속성값으로 들어 갈것

→ contents : PLC: FCT3 : 투입 or PLC: FCT4 에 해당하는 컬럼 time의 속성값들은 각각 새로운 컬럼 to_contents와 to_time의 속성값으로 들어 갈것

→ contents : PLC: FCT3 : 투입 or PLC: FCT4 내용 중 FCT3과 FCT4는 새로운 컬럼 to_station의 속성값으로 들어갈 것

컬럼 ct의 속성값_예시) [21:12:15.09] PLC: VISION2 : 투입

                                      [21:12:17.51] PLC: FCT3 : 투입

                                      > 2st  : 2.42

                               [21:12:15.09] PLC: VISION2 : 투입 

                               [21:12:17.51] PLC: FCT4 : 투입

                                     > 2st  : 2.42

2-8) 2번째 첨부파일과 같이 dataframe 출력될 것

id no seq from_contents from_time to_contents to_station to_time ct
1 1 1st PLC: UP4 21:12:15.09 PLC: FCT3 : 투입 21:12:17.51 2.42
2 1 2st PLC: VISION2 : 투입 PLC: FCT4 : 투입
3 1 3st PLC: VISION2 : 투입 PLC: FCT2 : 투입
  1. 각 출력된 dataframe에 컬럼 seq, to_station의 속성값 별로 컬럼 ct의 속성값을 boxplot으로 GMM으로 나타내서 정상과 비정상 그래프를 나타낼 것

    → 샘플 수가 많은 부분을 정상, 같을 경우 평균값이 작은 부분을 정상

  2. 컬럼 seq, to_station의 속성값별로 비정상을 제외하고 정상의 평균값들을 새로운 loading_ct컬럼을 추가해서 속성값으로 넣을것ㅕㄴ