반응형

C# 266

[C#, Windows Forms, 소켓 통신] 부재 입출고 자동 관리 창고 시스템 시뮬레이션 - Smart Factory 실습

더보기 1. 부재 입출고 자동 관리 창고 시스템 시뮬레이션 다음 시나리오처럼 동작하는 시뮬레이션 솔루션을 구현하시오. - 자동 관리 창고 시스템 : GUI 프로그램(Windows Forms 앱)+서버 - 중앙 관재 : GUI 프로그램(Windows Forms 앱) + 클라이언트 - 공통으로 사용할 라이브러리: 클래스 라이브러리 2. 시나리오 부재를 입고 및 출고하면 RFID에 의해 자동으로 관리해 주는 창고 시스템이다. 부재 입고 시에 RFID를 통해 부재명과 개수를 파악할 수 있다. 처음으로 입력하는 부재일 때는 부재 ID(1부터 순차 주여)를 부여한다. 창고 제어창에는 전체 부재 목록을 확인할 수 있다. 원하는 부재와 출고 개수를 지정하면 자동 출고한다. 중앙 관재를 통해 부재 입고, 부재 출고, 현..

[C#, Widows Form 실습] Wafer 등록기 - 반도체 제어시스템 시뮬

Wafer 등록기를 만들어보자. Wafer에는 제조회사, 제품명, 방향(100,110,111), 반경, 타입(P타입, N타입)을 속성으로 갖는다. 다음과 같은 폼에 의해 사용자와 상호작용하는 Wafer 등록기를 작성하자. 더보기 1. 프로젝트 생성 Wafer Manager 프로젝트를 생성하자. 프로젝트 유형: Windows Forms 앱(.NET Framework) 2. Wafer 클래스 추가 프로젝트 컨텍스트 메뉴(오른쪽 마우스 클릭 시 나오는 메뉴)에서 새 항목을 선택한 후 Wafer 클래스를 추가하자. 그리고 다음과 같이 클래스를 정의한다. 더보기 namespace Wafer_Manager { public class Wafer { public string Company { get;//가져오기 set..

[C# 실습,통신 제어] 반도체 증착공정 및 Burn in 테스트 설비 시뮬레이션

이전 게시글[C# 실습,공장 UI 구현] 반도체 증착공정 및 Burn in 테스트 설비 시뮬레이션 이번에는 이전 게시글에 통신을 통해 제어할 수 있는 기능을 추가할 거예요. 1. 통신 제어 부분(DPM_SocketLib)은 클래스 라이브러리(.NET Framework)로 제작합니다. DMP_SocketLib에서는 앞에서 작성한 증착설비 라이브러리(DPMachineLib)를 참조합니다. MsgType.cs namespace DPM_SocketLib { /// /// 메시지 종류 /// public enum MsgType { /// /// 설비 추가 /// MSG_ADD_MAC=1, /// /// 페이지 추가 /// MSG_ADD_PAG, /// /// 설비 가동 /// MSG_STA_MAC, /// ///..

[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 테스트 설비 시뮬레이션

* 반도체 증착공정 및 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...

반응형