반응형

언어 자료구조 알고리즘 1251

[C# 실습,공장 UI 구현] 반도체 증착공정 및 Burn in 테스트 설비 시뮬레이션

앞에서 반도체 증착공정 설비를 제작하고 이를 시각화하는 설비 컨트롤 예광탄 코드를 소개했어요. 설비 컨트롤 예광탄의 코드를 이용하여 설비 컨트롤 라이브러리를 만드세요. 이번 코드는 설비와 설비 커트롤 라이브러리를 참조하여 공장 UI에 관한 글입니다. 1. Form1의 이름을 MainForm으로 변경하세요.(파일이름을 바꾸세요.) 2. MainForm에 자식 컨트롤을 배치합니다. 설비를 추가할 수 있고 추가할 설비를 관리할 수 있는 컨트롤을 배치합니다. MainForm.Designer.cs namespace 증착_및_BurnInTest_공장_시뮬레이션 { partial class MainForm { /// /// 필수 디자이너 변수입니다. /// private System.ComponentModel.ICo..

[C# 실습,설비 컨트롤 예광탄] 반도체 증착공정 및 Burn in 테스트 설비 시뮬레이션

이전 게시글에는 반도체 증착 공정 및 Burn in 테스트 설비를 작성하기 위한 예광탄을 소개했어요. 이번 게시글은 설비를 화면에 시각화하고 제어하기 위한 설비 컨트롤을 만들기 위한 예광탄 만들기예요. 1. 앞에서 작성한 소스 코드를 이용하여 설비 라이브러리를 만드세요. - 클래스 라이브러리(.NET Framework) 프로젝트틀 생성하세요. - 기본으로 제공하는 Class1.cs 파일은 제거합니다. - 이전 게시글에 있는 소스 코드 중에 Program.cs를 제외한 나머지 소스 코드를 추가합니다. - 빌드 2. 설비 예광탄 프로젝트를 Windows Forms(.NET Framework)으로 생성하세요. - 1에서 만든 설비 라이브러리를 참조 추가합니다. 3. 설비 예광탄 프로젝트에 사용자 정의 컨트롤(..

[C# 실습,예광탄] 반도체 증착공정 및 Burn in 테스트 설비 시뮬레이션

[C# 실습, 시나리오] 반도체 증착공정 및 Burn in 테스트 설비 시뮬레이션 반도체 증착공정 및 BurnIn테스트 부분을 클래스 라이브러리로 작성하기 위한 예광탄입니다. DeposType: 증착 방법 namespace 증착_공정_및_Burn_in_테스트_설비_콘솔_예광탄 { public enum DeposType { DT_NONE, PVD, CVD, ALD } } Paper.cs: 100개의 셀로 구성하고 있는 페이퍼 using System; namespace 증착_공정_및_Burn_in_테스트_설비_콘솔_예광탄 { public class Paper { bool[] cells = new bool[100]; public bool this[int ccnt]//ccnt는 1~100 유효 { get { i..

[C# 실습, 시나리오] 반도체 증착공정 및 Burn in 테스트 설비 시뮬레이션

* 반도체 증착공정 및 Burn in 테스트 설비 시뮬레이션 * - 생산 라인 추가 - 증착 방법 설정(PVD, CVD, ALD) - PVD(물리기상증착법) 속도:100, 품질:88~98 - CVD(화학기상증착법) 속도:98, 품질:90~100 - ALD(원자층증착법) 속도:60, 품질:95~100 - 재료 추가 증착 이전 공정까지 진행한 반제품 개수 입력 - 가동 - 생산 라인을 선택 - 가동 멈춤 - 생산 라인을 멈춤 *생산한 제품은 테스트 공정을 수행한다. *설비에서 수행할 수 있는 기능을 원격(설비에서 떨어진 곳, 예:중앙 제어실)에서 제어할 수 있다.

[C# 실습] 레코드 코팅 - 기계(서버)와 제어기(클라이언트)

이전 게시글은 RCMachineControl을 제어하는 UI 프로그램에 관한 것입니다. 이번에는 이전 게시글의 UI 프로그램을 다른 프로그램에서 제어할 수 있게 변형할 거예요. 여기에서는 이전에 작성한 UI 프로그램에 서버 기능을 추가하여 레코드 코팅 기계라 말할게요. 그리고 클라이언트 기능과 함께 제어기도 함께 작성합니다. 통신으로 주고 받을 메시지 종류 Basic설정(1, 레코드 면적, 코팅 액 투입 구 반경, 스핀 스피드) 소스 레코드 추가(2, 개수,0,0) 코팅액 추가(3, 병수,0,0) 기계 가동(4,0,0,0) 기계 멈춤(5,0,0,0) 기계(서버 코드 수정) 패킷을 수신하였을 때 이를 폼에게 전달하기 위한 이벤트 인자 클래스와 대리자를 정의합니다. RecvPacketEventArgs.cs ..

[C# 실습] 레코드 코팅 - 기계 구현(Windows Forms)

이전 게시글에는 레코드 코팅 기계 컨트롤(RCMachineControl)을 만드는 코드를 소개했어요. 해당 글에서는 레코드 코팅 기계(RCMachine)개체를 Form1 Load시점에 하드코딩으로 만들어 컨트롤에 설정하고 가동하게 작성하였습니다. 이번에는 UI 컨트롤을 통해 레코드 코팅 기계 컨트롤을 제어하는 코드를 소개할게요. 1. Form1에 제어하기 위한 컨트롤을 추가 배치합니다. nud로 시작하는 컨트롤은 NumericUpdawn컨트롤입니다. 2. Form의 Load이벤트 핸들러와 각 버튼의 클릭 이벤트 핸들러를 추가한 후에 다음처럼 구현합니다. using Microsoft.Win32; using RCMachineControlLib; using System; using System.Windows...

[C# 실습, 사용자 정의 컨트롤 제작 예광탄] 레코드 코팅

1. 앞에서 작성하였던 RCMachine.cs와 CotingEventArgs.cs 파일로 구성한 클래스 라이브러리를 만듭니다. 2. Windows Forms 앱(.NET Framework) 프로젝트("RCManchine_공장_예광탄")를 생성합니다. 3. 생성한 프로젝트에 사용자 정의 컨트롤(Windows Forms)을 추가합니다. 파일명: RCMachineControl.cs 4. DPanel 클래스를 추가합니다. 더블 버퍼링이 가능한 패널을 정의한 클래스입니다. DPanel.cs namespace RCManchine_공장_예광탄 { public class DPanel:System.Windows.Forms.Panel { public DPanel() { SetStyle(System.Windows.Forms..

[C# 실습] 레코드 코팅 - 더블 버퍼링 가능한 Panel 정의하기

레코딩 코팅 머신을 화면에 시각화하기 위한 컨트롤을 만들 때 필요한 클래스 - 여기에서는 원본 레코드와 생산 레코드, 면적, 투입구를 시각화할 때 패널을 사용합니다. - 여기에서는 레코딩 코팅 머신을 가동하였을 때 생산할 때마다 시각화할 때 패널 내부가 깜빡이는 것이 심한 현상을 방지하기 위해 더블 버퍼링이 가능한 패널을 사용합니다. DPanel.cs namespace RCManchine_공장_예광탄 { public class DPanel:System.Windows.Forms.Panel { public DPanel() { SetStyle(System.Windows.Forms.ControlStyles.OptimizedDoubleBuffer | System.Windows.Forms.ControlStyles...

[C# 실습, 예광탄 소스] 레코드 코팅

시나리오 바로가기 예광탄 프로그램 유형: 콘솔 응용 프로그램 RCMachine.cs using System; using System.Threading; namespace 콘솔_예광탄 { public class RCMachine { public event CotingEventHandler OnCoting; int rarea; /// /// 레코드 단위 면적 /// public int RArea { get { return rarea; } set { Random rand = new Random(); rarea = value; cmaxavailcnt = rand.Next(200) + 900; } } /// /// 투입구 반경 /// public int CRadius { get; set; } /// /// 회전 ..

[C# 실습 시나리오] 레코드 코팅 - 반도체 장비 및 제어시스템 개발자 양성 과정

실습 시나리오 - 레코드 면적 입력, 투입구 반경 및 회전 속도 설정 투입구 반경 r(마이크로 미터)이고 회전 속도 s(RPS)일 때 1/s*r*r초에 단위 면적을 코팅함 - 레코드 투입(개수) - 코팅액 투입(병-1병은 단위 면적 900~1100을 코팅할 수 있다고 가정) - 코팅 가동 * 레코드가 없을 때 가동을 멈춤 * 코팅액이 하나의 레코드를 코팅할 수 없을 때 가동을 멈춤

반응형