PHM 프로젝트 (1-1)
포스트
취소

PHM 프로젝트 (1-1)

S-Prodis

  • 국산 공장 시뮬레이션 툴
  • 플로우차트 형태로 만들어져 코딩을 하지 못해도 사용 가능 → 현장 실무 담당자들이 사용 가능한 소프트웨어
  • 다양한 분석 도구 지원
  • 소재의 입고부터 생산, 제품 출하까지 전 공정의 시뮬레이션 적용: 공장 환경에만 최적화되어 공장 이외의 시스템에는 사용 어려움
  • toc 이론: 약점을 순서대로 개선해야 똑바로 나아진다

실습

  • 라인 밸런싱이라는 건 각 공정들을 서로 비슷한 만큼 운영되게 만드는 것. 높은 건(피치타임) 낮추고 낮은 건 높이기.
  • 보틀넥은 세 파트로 구성된다
    • 블로킹: 보틀넥 앞부분. 뒤에 길이 막혀서 못가고 있음.
    • 보틀넥: 제일 바쁘게 일하느라 여유가 1도 없고, 정체를 유발하고 있음.
    • 스타빙: 보틀넥 뒷부분. 앞에서 작업 끝날 때까지 내내 기다림. 할일이 없음.

  1. 설치하기: setup.exe 실행하고 시키는 대로 하기
  2. 레이아웃 만들기: Layout13 프로그램 실행하면 빈 레이아웃 나옴
    1. 크기 설정

    2. 설비 배치

    3. 물류 경로 배치

    4. 물류 연결 후 저장

  3. 프로세스 작성

    1. 생산품 만들기

    2. 공정 배치

    3. 공정 연결 후 저장

  4. 생산계획 작성

  5. 장비 파라미터 설정

  6. 시뮬레이션 실행

  7. 그래프 확인: 상세한 내용은 밑에서 정리하겠음
  8. 조건 바꿔가면서 최적화
    • 조건 바꾸면 UPH부터 확인해보고, 다른 그래프 쭉 확인하면서 원하는 지표 개선하기

  • 시뮬레이션의 목적은 공장의 문제점을 데이터로 파악하고 개선안을 찾아 적용해보고 최적의 개선안을 도출하는 것

예제 공장의 생산성 분석 및 개선하기

  1. 어디가 병목이야? 가공설비가 병목이야.
    • 근거: 간트차트에서 가공설비만 뼈빠지게 구르고 있었음

    • 장비 가동실적을 봐봐 → 거기서 물류 가동실적을 봐봐 → 지게차 1대 혼자서 99%로 일하고 있어 가동률 개높아

      • 좋은거야 나쁜거야? 이 상황은 안좋은거야 혼자 뼈빠지게 일하니까 병목이 되잖아
      • 가동률이 높으면 좋긴 한데, 적당히 높아야지 이렇게 높으니까 안되는 거야
  2. 왜 병목이야?
    • 버퍼가 꽉 차서 다음 일을 못했어
    • 옮기는 속도가 느려서 버퍼를 제때 비우지 못한거임
  3. 이제 해결을 해봐 (before는 모두 같은 조건)
    1. 지게차를 늘리거나
      • 지게차 1대 → 2대: 이 조치만으로 이론상 최대 효율로 수렴
    2. 레이아웃을 바꿔
      • 창고를 세척설비 옆으로 옮겼어 → UPH 31에서 34로 상승, 장비 가동률 전체적으로 고르게 개선됨
        검사설비를 그 창고 바로 뒤로 옮겨 → 강사님 기준 UPH 상승했으나 나는 그냥 그대로 나오더라 원래도 34였어서 더이상 높이기 어려운듯
    3. 원래 이거 하면 안되는건데 한번 차이를 확인해보려고 하는 거예요~ 지게차의 로딩/언로딩 시간을 줄여 → 마찬가지로 이론상 최대 효율로 수렴
      • 기본 10초였으나 7초까지 줄이니까 개선됨

시간 단위 구분

  • 리드타임: 제품 1개당 생산 소요 시간 평균
    • 순수 공정 시간을 합산하기만 하는 게 아니라, 버퍼에서 대기한 시간도 포함되는 거임
    • 버퍼를 줄이면 리드타임 자체는 짧아진다.
    • 근데 버퍼에는 현재 작업 중인 물건도 포함되기 때문에 너무 줄이면 오히려 비효율이 생긴다. 적어도 다음 작업감 1개 정도는 들고 있으면 좋겠죠? 그게 안전재고다.
    • 그러니까 적당한 재공재고는 딱 안전재고만큼만. UPH가 가장 높아지면서 리드타임이 최대한 짧아지게 하기.
  • 사이클타임: 특정 공정 소요 시간, 기계가 하는 일 / 사람이 하면 스탠다드 타임(유휴시간이 추가됨)
  • 택타임: 스탠다드 타임과 유사함. 제품 1개를 만든 후 다음 제품을 만들기까지의 간격. 라인 수가 많을수록 택타임이 짧아진다. 대략 어느 정도의 주기로 몇 개의 제품을 생산할 수 있는지 나타냄.

생각을 해봐

차를 주문했어 근데 2달 후에나 받을 수 있대. 왜 그래?

도요타의 JIT을 생각해봐. 재공 재고 제로래. 주문이 없으면 공장이 놀아.

버퍼가 있으면 공장의 비효율이 약간 가려져. 버퍼가 없으면 언밸런스가 바로 티가 나거든요.

JIT를 하면 그게 바로 보여(버퍼 없단 말). 그걸 두겠냐? 개선을 하겠지.

JIT를 제대로 못하면 무슨 문제가 생겨? 재공 재고 파악을 똑바로 못해. 일은 없는데 작업자들은 근무를 해야만 해. 그럼 뭘 해? 뒤로 넘어가야 할 재공재고를 안넘기고 슬쩍 치워놔. 그리고 새로 일을 해. 심지어는 공회전도 해. 이건 작업자 잘못이 아니라 관리자 잘못이에요. 자원을 잘못 쓰고 있는 거야. 그래서 새차가 2달이 걸려.

재공재고는 거기에 있는 것만으로 소소한 사고(누구 발에 치임 등)로 불량이 될 수도 있고, 기껏 만들어놨더니 나중에 단종돼서 안팔릴 수도 있어. 재공재고는 있을수록 안좋아요.

버퍼를 최적화해보자

  • 기존 버퍼 일괄 10개 → UPH 평균 31.25, 리드타임 평균 1시간 35분

  • 버퍼 1개 → UPH 평균 20.41
  • 버퍼 3개 → 31.25
  • 버퍼 2개 → UPH 31.25, 리드타임 24분

  • 버퍼를 줄이면 무조건 좋겠어요?
    • 이 공장이 제품을 딱 1종류만 생산한다 하면 딱 좋지
    • 근데 생각을 해봐요 다른 제품도 동시에 생산 중인데 서로 다른 제품의 부품이 동시에 조립 공정으로 왔어. 둘이 합칠 수는 없는데 버퍼가 다 찼어. 이건 데드락이에요. 다 멈추는 거야. + 아니면 특정 제품만 지나가고 어떤 제품은 멈춰서 못지나가기도
  • 물리적으로 버퍼를 줄이면 저렇게 돼요. 근데 소프트웨어적으로 버퍼를 제한할 수도 있잖아요
    • 물리적 공간은 fully open해놓고 각 제품마다 버퍼를 따로 관리하는 거야. 동시에 A 제품 버퍼 2개 채울 수 있고 B 제품 버퍼 2개 채울 수 있게 하는 거야. 그러면 같이 생산하면서도 제어가 되지.
    • 이게 칸반이에요
    • 총 버퍼는 10칸인데 A 재공품 박스 3개, B 재공품 박스 3개로 제한하면 실질적인 최대 버퍼는 6개죠? 제품 각각은 최대 버퍼가 3개로 관리되는 거야.
    • 근데 뭐 현장에서 진짜 박스 갯수 세서 하는 건 아니고 이걸 MES가 관리함

칸반 설정하기

  • 칸반 설정하는 방법
    1. ‘제품정보’ 입력창으로 이동
    2. 각 공정 사이 연결선 더블클릭
    3. 속성창 아래쪽에 ‘kanban 설정’ 있음. 활성화하고 갯수 지정하기
  • 전체적인 버퍼는 10칸으로 두고, 칸반을 각각 3개씩 해
    • 제품 보관할 때는 칸반 필요 없어요 그냥 넣으면 돼요
  • 리드타임을 다시 확인해봐 22분 나와 → 버퍼 자체를 줄였을 때보다 2분 더 줄었죠?
  • 리드타임 개선과 공정 개선은 다른 개념이에요 지금 하는 건 한번 해보자 하고 확인하는 거예요
    • 생산성은 하나만 보는 게 아니라 품질, 리드타임 등등 다양한 걸 포함하는 거예요
    • 리드타임을 줄이는 건 그 중 하나인거고 리드타임을 안줄이는 건 생산성 개선이 아니에요 그러니까 줄이자는 거예요 ← 뭔소리세요??
  • 칸반과 버퍼의 차이 리플레이
    • 버퍼는 작업 공간이에요 전역변수야. 뭘 넣든 그냥 개큰 통임.
    • A라는 제품은 가공기를 쓸거야. 근데 B는 가공기를 안 써(그렇다 치자). 그럼 가공기의 버퍼에 대해서는 A와 B가 상관이 없죠?
    • 근데 A, B, C가 다 가공기를 쓸 거야. 칸반이 없으면 어떻게 해? 버퍼 10칸 중에 A가 8칸 채워도 할 말이 없어요. 그래도 되는거야.
    • 칸반은 지역변수야. 전체 버퍼는 10칸이지만 A는 그 중에 3칸만 쓸 수 있어. 그럼 나머지는 다른 제품이 나눠서 쓰겠지.
  • 그렇다면 하나의 제품만 생산할건데 버퍼와 칸반에 따라 성능 차이가 나는 이유?
    • push 생산과 pull 생산의 차이다.
    • 버퍼만 있는 경우에는 공간을 꽉꽉 채우는 걸 지향한다. 계속 밀어내는거야. 뒤에 자리가 있든 없든 그냥 보내.
    • 근데 pull은 뭐냐면 내가 끝나야 주세요~ 하는거야. 출발 자체가 느려지지. 원하는 시간에만 들어오게 돼.
    • 아까 본 리드타임 뭐였어요? 투입부터 수납까지잖아. 근데 pull 생산 뭐야? 내가 시키기 전까지 투입을 안 해. 출고가 안 되잖아. 그러니까 의미없이 대기하는 시간이 줄어들어서 리드타임이 줄어든 거야.
    • 그러니 사실 실제 제품이 생산되는 양이라든가 하는, ‘리드타임 이외의 부분’은 큰 변화가 없어요.

작업자 최적화하기

  • 예제 공장에 작업자가 추가된다. 절곡, 검사 공정을 작업자가 수동으로 할거야
  • 작업자는 ‘명’ 단위로 세지 않고 그룹으로 센다. 뭐 그렇다 함.
  • 지금 쓰는 툴에는 전담 작업자라는 게 있다. 이건 설비를 놓으면 자동으로 생기고, on/off를 하는 것뿐이다. 하지만? 지금 배울 것은 전담 작업자 말고 이동하는 작업자다. 이거 안쓰는거예요 알아만 둬.

  • 일단 작업자 들어가기 전 UPH 31.25 → 작업자가 들어가도 UPH는 31.25
    • 왜 그럴까? 간트차트를 봐. 쉬는시간이 약간 있어요~
    • 작업자의 작업실적을 봐. 95%쯤 하네.
    • 맨-머신 차트 봐요. 작업자가 머신을 왔다갔다 한 과정을 간트차트로 그린거임. 뭐 그럭저럭 열심히 일했어요.
  • 이제 작업자의 작업 시간을 늘려. 모든 공정 내내 붙어있어야 돼.
    • UPH는 24.39가 됐어
    • 작업자 부하율(작업실적 바그래프)은 100%야. 울겠지.
      • 사실 실제로는 작업자의 작업 시간에 유휴시간이 포함되기 때문에, 100% 굴린다고 착취 아니에요~
      • 하지만 지연은 발생했지
  • 이거 어째 해결해?
    • 작업자를 둘로 늘려 → UPH가 31.25로 회복됨
      • 뭐 작업자 개개인은 조금 놀겠죠 그래도 맨-머신 차트 보면 뭐 둘이 알아서 잘 나눠서 일한 편이에요
  • 작업자한테 물류 시키는 거 비효율적이긴 해요. 근데 현장에서는 시켜요. 그게 그렇게 딱딱 구분이 안되거든. 이 툴에서도 물류 설정해놓으면 작업자가 작업 없을 때 물류를 합니다.

그래프 종류

  • 라인 밸런싱: 공정 시간 기반 이론적 수치

    • 라인 밸런싱이라는 건 각 공정들을 서로 비슷한 만큼 운영되게 만드는 것. 높은 건(피치타임) 낮추고 낮은 건 높이기.
    • 가공공정 혼자 100%죠? 병목 후보로 예상이 된다~ 남들 60-80% 일할 때 혼자 100% 일해야 한다.
    • 편성 효율 76%는 이론적으로 최대한 최적화를 했을 때 이 공장에서 나올 수 있는 최고 효율
  • 실적 라인 밸런싱: 시뮬레이션 결과 기반 수치

    • 사실 이건 이미 최적화가 어느 정도 된 공장의 실적 그래프. 모든 항목이 골고루 파랗게 칠해진 게 일을 고르게 나눠서 하고 있다는 뜻
    • 그러니까 편성 효율 실적도 이론 최대치에 거의 근접하게 나왔죠
  • 간트 차트: 설비 별 가동 및 유휴시간 다이어그램

    • 분홍색은 일한 시간, 흰색은 쉰 시간
    • 일한 시간 사이에 쉬는 시간이 적은 게 좋다
    • 지금 그래프는 대부분 고르게 일한 편
  • UPH: 시간 당 생산량 → before & after 확인 목적

    • 화면 오른쪽 Lot명 아래 Lot를 클릭하면 그 Lot의 평균을 그래프에 그려줌
    • 평균 UPH가 32.26
    • 이 지표 자체만으로는 나타낼 수 있는 의미가 그다지 없고, 공정 최적화 이후에 얼마나 증감했는지 확인하는 게 의미가 있음
    • 증가해야 좋다
  • 장비/물류 가동실적

    • ‘가동실적’ 실행 시 나오는 그래프 창 하단 ‘차트보기’까지 눌러야 볼 수 있는 화면.
    • 누가 일을 많이 했는지 확인할 수 있다
    • 골고루 높은 게 좋다
  • activity relationship: 각 설비 간 상관관계 확인

    • 캡쳐 화면대로 설정하면 설비끼리 얼마나 연관이 있는지 확인할 수 있음.
    • 이 그래프는 세척기와 제품창고가 가장 상관관계가 크게 나왔다.
    • 어떤 대상을 개선하고자 할 때 그와 연관되어 같이 개선해야 하거나, 혹은 대신 개선해야 할 항목을 탐색하는 데 참고할 수 있을 것
  • 리드타임
    1. ‘리드타임’ 실행 후 창 하단 ‘공정 간 LeadTime’ 클릭
    2. 화면 중앙쯤에 있는 ... 버튼으로 시작 공정과 대상 공정 지정
    3. 그 밑에 ‘계산’ 버튼으로 리드타임 계산
    4. 최솟값은 당연 이론적 리드타임으로 나오지만 봐야 할 것은 최대, 평균 리드타임. ‘List 표시’ 버튼을 누르면 제품별 리드타임도 볼 수 있다.

    • 이 결과는 이미 최적화가 된 공장의 리드타임. 최솟값과 최댓값이 그다지 차이나지 않으며, 최댓값이 연달아 나타나지도 않는다.
    • 리드타임이 왜 길어지는가? 재공품으로 대기하는 시간이 길었기 때문. → 리드타임을 줄이려면? 재공품으로 대기하는 시간을 줄이면 된다 = 물류창고에서 재료가 나온 순간부터는 기다림 없이 쭉쭉 작업 진행할 수 있도록 해야 한다
  • 맨-머신 차트

    • 인간 작업자가 얼마나 머신을 왔다갔다 하면서 작업했는지 보여주는 목적의 간트차트
    • 주황색이 이동하는 데 쓴 시간 → 뭘 줄인다면 이걸 줄여볼 수도 있겠죠?
    • 빈 공간은 그냥 쉰 시간 → 월급루팡한 시간이기 때문에 줄이면 좋다

프로젝트에 대해서

  • UPH: 시간당 생산량
  • UPPH: 시간당 개인별 생산량(사람 포함됨) → UPH / 사람 수
  • UPMH: UPH를 머신 수로 나눔
  • 물류 작업자 교차점 수: 없으면 좋음. 어쩔 수 없다면 1-2개. 많을수록 안 좋다. 물류와 작업자가 만나면 위험하다.
  • 최소 운영 인원: 공장을 똑바로 운영하려면 최소 몇 명이 필요한지

  • 사이클타임 수정 금지
  • 그 외엔 원하는 대로 다 수정해보기
  • 로딩/언로딩은 바꾸려면 타당한 이유가 있어야 한다
  • 예산/비용 노상관 그냥 하고 싶은 거 다 하세요
  • 근데 마지막 발표에는 그런 내용 넣으면 가산점 정도는? 줄지도
이 기사는 저작권자의 CC BY-NC-ND 4.0 라이센스를 따릅니다.

CPS/PHM 설비예지보전 (5)

PHM 프로젝트 (1-2)