각각의 공정별 물류 이송 흐름도, 공정시간, 속도 시뮬레이션 프로그램 개발 RGV(Rail Guided Vehicle) 이동설비 투입수량 최적화 프로그램 캡스톤 디자인 최종 프로젝트 2017.06.09 인천대학교 산업경영공학과 권용수 성용협 김승호 김종학 임민수
Contents 1. Introduction 2. Modeling 3. Simulation 4. Result 5. Analysis
1. Introduction 과제 선정 배경 다양한 전공지식 활용 캡스톤 디자인(졸업작품)은 산업경영공학에서 배운 지식을 토대로 수행하는 것이 가장 바람직하다고 생각함 전공수업에서 배운 다양한 지식을 활용할 수 있는 주제를 선정 중 ㈜준트랙의 기업과제가 적합하다고 판단하여 선정 과제 해결을 위해 수리모델링, 프로그래밍, 시뮬레이션 등의 지식을 바탕으로 본 과제 프로그램을 개발
1. Introduction 기업소개 ㈜준트랙 자동 운송시스템(RGV) 제조 전문 기업 레일 위를 셔틀이 개별 구동하여 이송하는 시스템
1. Introduction 기업과제 개요 및 애로사항 기업과제 개요 애로사항 1 2 부품조립, 여러 공정 간의 물류이송 등 복잡한 작업공정에 탁월한 시스템 최근 각 공정의 이송설비(셔틀) 투입수량에 대한 정확한 데이터를 요구하는 고객이 증가하는 추세 작업공정의 흐름도, 공정시간, 속도 등에 최적화된 이송설비(셔틀)의 수량산출과 시뮬레이션을 통한 가시화 이를 활용하여 보다 최적화된 제품 견적 및 데이터를 제공 2 애로사항 현재 고객들에게 이송설비(셔틀)의 투입 수량을 경험에 의해 대략적으로 산출하여 제시하고 있음 각 공정의 작업 비효율성 초래 및 이송설비 수량 적합성 확인조차 불가 각 공정에 최적화된 이송설비(셔틀)의 투입 수량 산출의 요구 이를 고객에게 효과적으로 제시할 수 있는 시각적인 시뮬레이션 프로그램 개발 필요
1. Introduction 연구 목표 주어진 공정의 분석 및 Rule 발견 < 기존공정도 > 주어진 공정의 분석 및 Rule 발견 공정에 최적화된 셔틀수량 산출을 위한 수리모델 개발 시뮬레이션을 통해 수리모델의 타당성 검증 고객에게 보다 최적화된 이송설비 견적 및 데이터 제시
2. Modeling 수리모델 식 셔틀의 공정 총 운반 횟수 = 일일 목표 생산량 Son(Shouttle Optimize number) = 셔틀 최적화 대 수 Smc(Shuttle meand capacity) = 셔틀의 평균 수행능력 PT(Process Time) = 공정 프로세스 타임 PR(Process Rail) = 공정 프로세스 레일거리 PR/2 = PR만큼의 거리 이동 시 소요시간 UT(Unloading Time) = 언로딩 시간 Qv(Queue variable) = 셔틀의 대기시간 결정 인수 시간단위는 모두 초 Qv란? 0.1~1 사이의 결정인수로 본 과제의 공정에서 각 공정의 Process.Queue =>1 초과하면 목표 생산량을 충족 할 수 없다. 즉 Process.Queue와 Qv는 반비례 관계로 Process.Queue를 낮게 제한 할 수록 본 과제의 공정의 최대의 생산성을 보장 할 수 있다. 셔틀의 공정 총 운반 횟수 = 일일 목표 생산량 : 셔틀이 공정에서 1회 운반 시 생산량 1개 생성 ex) 일일 목표생산량= 600개 → 총 600회 운반 필요 Smc(셔틀의 평균 수행능력) = 공정시간 내 셔틀의 평균 운반 횟수 : 분모의 ∑부분은 모든 공정을 수행하는 데 걸리는 시간으로 공정 프로세스타임, 각 공정 별 이동 시 걸리는 시간, 언로딩 시간, QV*PTP 의 합으로 계산하며, 이를 공정 개수 Pn(5개)으로 나누면 공정1~5 평균 수행시간이 산출됨 공정의 총 작업시간(일일 작업시간 8시간 = 28800초)을 5개 공정의 평균 수행시간으로 나누어 셔틀의 평균 수행능력을 산출할 수 있음 즉, 셔틀 최적화 대수 = 셔틀의 공정 총 운반횟수 / 셔틀의 평균 수행능력
2. Modeling JAVA 프로그래밍 public class Juntrack_shuttle_calc { public static void main(String[] args) { // TODO Auto-generated method stub double Sum=0; double Sum_Worktime =0; double Shuttlemeanworktime = 0; double Shuttlemeancapacity = 0; double Shuttle_min_number = 0; int Unload_time = 5; // Unloading Time int Total_work_time = 28800; // 하루 총 작업시간 초 환산 double Q_variable = 1.0; //Q_variable 대기시간 인수 double Shuttle_Cycle = 600; //공정 셔틀 Cycle //공정 Process time List<Double> Processtime = new ArrayList<Double>(); Processtime.add(240.0); // 공정1 Processtime.add(240.0); // 공정2 Processtime.add(240.0); // 공정3 Processtime.add(240.0); // 공정4 Processtime.add(240.0); // 공정5
수리모델 식을 JAVA를 통해 코딩 한 후 각 변수에 공정 데이터를 넣은 결과 최적셔틀 수량 = 11대 로 산출 2. Modeling JAVA 프로그래밍 List<Double> Process_distance = new ArrayList<Double> (); Process_distance.add(20.0); // 공정1 레일 거리 Process_distance.add(40.0); // 공정2 레일 거리 Process_distance.add(60.0); // 공정3 레일 거리 Process_distance.add(80.0); // 공정4 레일 거리 Process_distance.add(100.0); // 공정5 레일 거리 for(int i=0; i<5; i++){ Sum_Worktime = Processtime.get(i) + (Process_distance.get(i)/2) + Unload_time + (Q_variable*Processtime.get(i)); // Processtime + Process_distance_time + Unload_time + Process_Q_time Sum = Sum + Sum_Worktime ; Shuttlemeanworktime = Sum/(i+1) ; } Shuttlemeancapacity = Total_work_time/Shuttlemeanworktime ; //셔틀 평균 Capacity Shuttle_min_number = (int)(Shuttle_Cycle / Shuttlemeancapacity)+1; //최적 셔틀의 수 System.out.println(Shuttle_min_number); 수리모델 식을 JAVA를 통해 코딩 한 후 각 변수에 공정 데이터를 넣은 결과 최적셔틀 수량 = 11대 로 산출
3. Simulation 가정사항 시뮬레이션 가정 공정 소개 모든 데이터는 ㈜준트랙에서 제공받은 것을 기반으로 함 셔틀의 가속,감속으로 인한 영향은 미비하기 때문에 무시 각 공정당 대기 가능한 셔틀의 수량 3대 Loading 및 Unloading의 위치는 동일함 공정 소개 공정은 총 5개의 Processing Line으로 각 1개의 공정은 UNIF(240,242)의 Process Time을 가짐 셔틀의 속도는 30m/minute 하루 목표 생산량 600개
3. Simulation 시뮬레이션 모델의 Flow chart 1. Material의 생성 및 할당 2. Unload 공정의 생산 간격 = 240초 Entity 생성 → Shuttle 호출 → Process → 운송 반복생산 시스템 1~5 공정 모두 동일한 시스템을 가진다. 2. Unload Unload Station으로 이동한 생산품을 Unload 하는 과정 3. Shuttle의 Start Station 원위치 작업을 끝낸 셔틀이 다시 Start Station으로 이동하여 재운송을 준비하는 시스템
3. Simulation ARENA를 이용한 시뮬레이션 모델의 전체구성
3. Simulation 입력자료 분석
3. Simulation 입력자료 분석
4. Result 실험결과 셔틀수 20개 ~ 11개 11개 ~ Out put 유지구간 Out put 감소구간 최적값 셔틀수 20개 ~ 11개 11개 ~ 생산량 600개로 일정 셔틀이 제시간에 대기라인으로 도착 셔틀수가 많아질수록 셔틀 낭비 Out put 유지구간 셔틀의 개수가 너무 적어짐 기계의 유휴시간이 늘어남 생산량이 지속적으로 감소 Out put 감소구간
5. Analysis & Result 결과분석 및 기대효과 11대 결과분석 수리 모델 식에 의한 셔틀 수 산출 결과 Qv값이 1.0일 때, 11대 Qv값이 0.9일 때, 11대 Qv값이 0.8일 때, 10대 . 시뮬레이션 모델에 의한 셔틀 수 산출 결과 11대 수리 모델(Qv값 1.0일 때) 및 시뮬레이션 모델 산출 결과, 최적 셔틀 수 총 11대 => 하루 작업 8시간 기준 목표 생산량 600개 달성 셔틀 수 11대 이후부터는 더 이상 셔틀을 기다리는 (대기중인)공정이 없기 때문에 무의미한 증가로 판단 => 생산량이 증가하지 않음 9대 이하부터는 공정이 밀려 원활한 시뮬레이션 불가 생산량 변화에 따라 유연하게 시뮬레이션 검증을 통한 최적 셔틀 수 산출 가능 수리 모델과 시뮬레이션 모델 비교 결과, Qv값의 조절이 최종 산출 결과 값의 영향을 끼친다고 판단 => 따라서 보다 정교한 수리 모델 성립을 위해 Qv값의 정확도를 산출하는 것이 추후 개선사항
5. Analysis & Result 결과분석 및 기대효과 기대효과 비용 절약 설계 역량 향상 고객사 만족도 보완점 기존 작업장 셔틀 수 20대에서 11대로 최적화 셔틀 9개 감소로 약 3500만원의 비용 절약 (셔틀 개당 300~400만원) 기존 경험적 판단에만 의존한 것이 아닌 체계적인 수리 모델 및 시뮬레이션을 통해 보다 정교한 시스템 설계 구축 시뮬레이션 애니메이션을 통한 시각적 부분 강화로 설계 타당성 확보 고객사 만족도 기존 고객사의 RGV 시스템 구축과 관련한 셔틀 수 제시 상황에서 타당한 설계 근거 부재로 인해 고객사의 신뢰도를 확보하는데 큰 어려움을 겪음. 따라서 위와 같은 체계적 인 모델을 이용하여 타당성을 확보하여 고객사의 신뢰도와 만족도를 향상 보완점 공정의 밀림 현상은 고려하지 않아 오차 발생 가능 정확도 향상을 위해 셔틀의 가속, 감속으로 인한 영향 고려
Thank you 참고문헌 : ARENA를 이용한 시뮬레이션 Mikell P. Groover,“현대 생산자동화와 CIM”, ㈜시그마프레스, 2010