2025년 11월 9일 일요일

11.10- PLC와 C# 통신 프로토콜/ 무인항공기 신뢰성 프로그램

스마트공장배움터를 활용하여 진행되며, 스마트공장 적용기술 및 관련 교육내용을 학습함

- 스마트공장 운영에 필요한 PLC 필드버스 시스템을 이해하고, 이더넷과 C# 프로그램을 사용하여 PLC 통신 시스템 구현 및 관련 능력 배양

*PLC 트레이닝 키트(MELSEC)

C# 환경에서 미들웨어 기반 데이터 처리는 주로 ASP.NET Core의 HTTP 요청 파이프라인 내에서 이루어지며, HttpContext 객체를 통해 데이터를 전달하고 공유합니다. 
C# 미들웨어의 데이터 처리 방식
  • HTTP 요청 파이프라인: ASP.NET Core 애플리케이션은 일련의 미들웨어 구성 요소로 이루어진 파이프라인을 통해 HTTP 요청을 처리합니다. 각 미들웨어는 요청과 응답을 처리하며, 다음 미들웨어로 요청을 전달할지 결정할 수 있습니다.
  • 데이터 접근 및 조작: 미들웨어는 HttpContext에 접근하여 요청 헤더, 본문, 쿼리 문자열 등의 데이터를 읽거나 수정할 수 있습니다.
  • 데이터베이스 연동: 미들웨어는 데이터베이스에 직접 접근하여 SQL 쿼리를 실행하거나, 비즈니스 로직을 처리하는 서비스 계층과 연동하여 데이터를 처리할 수 있습니다. 보안상의 이유로 클라이언트가 DBMS에 직접 접근하는 대신, 미들웨어가 그 역할을 대리하는 경우가 많습니다. 
미들웨어 간 데이터 전달 방법
미들웨어 파이프라인 내에서 데이터를 공유하거나 전달하는 주요 방법은 다음과 같습니다.
  • HttpContext.Items: 동일한 HTTP 요청 수명 주기 동안 여러 미들웨어 간에 데이터를 공유하기 위해 HttpContext.Items 컬렉션을 사용할 수 있습니다. 이는 요청이 시작될 때부터 응답이 반환될 때까지 유효한 키-값 쌍을 저장합니다.
  • 의존성 주입 (Dependency Injection, DI): 데이터베이스 연결이나 공유 설정 같은 애플리케이션 전반에 걸쳐 필요한 데이터는 DI를 통해 미들웨어 생성자로 주입하여 사용할 수 있습니다.
  • 서비스 계층 활용: 복잡한 데이터 처리나 비즈니스 로직은 별도의 서비스 클래스에서 처리하고, 미들웨어는 이 서비스를 호출하여 데이터를 주고받는 방식이 권장됩니다. 
활용 예시
  • 인증 및 권한 부여: 미들웨어에서 사용자의 인증 정보를 확인하고, 인증된 사용자 데이터를 HttpContext에 저장하여 이후 컨트롤러나 다른 미들웨어에서 접근할 수 있도록 합니다.
  • 로깅 및 모니터링: 요청 및 응답 데이터를 미들웨어에서 가로채어 로깅하거나 성능을 측정할 수 있습니다.
  • 데이터 파싱: 요청 본문의 JSON 또는 폼 데이터를 파싱하여 컨트롤러에서 사용하기 편리한 형식으로 변환하는 미들웨어를 사용할 수 있습니다. 

결론적으로 C#에서 미들웨어는 HTTP 요청 처리 과정에서 데이터를 처리하고 다음 구성 요소로 전달하는 핵심적인 역할을 수행하며, 주로 HttpContext나 DI 메커니즘을 활용하여 데이터를 관리합니다

https://jimoou.github.io/middleware/2024/01/22/post11.html#h-%EB%AF%B8%EB%93%A4%EC%9B%A8%EC%96%B4%EB%9E%80


C#에서 화면 구성은 주로 Windows Forms (WinForms) 또는 WPF (Windows Presentation Foundation) 기술을 사용하며, 기본 프로그래밍은 객체 지향 개념과 .NET 플랫폼 기반으로 이루어집니다. 
1. C# 화면 구성 (UI 개발)
C#은 다양한 UI 개발 프레임워크를 지원하며, 가장 널리 사용되는 두 가지는 다음과 같습니다. 
  • Windows Forms (WinForms):
    • Windows 데스크톱 애플리케이션을 위한 전통적인 UI 라이브러리입니다.
    • WYSIWYG (What You See Is What You Get) 방식의 디자이너를 제공하여, 도구 상자에서 버튼, 텍스트 상자 등의 컨트롤을 폼(Form) 위에 드래그 앤 드롭 방식으로 쉽게 배치할 수 있습니다.
    • 초보자가 배우기 쉽고 생산성이 뛰어나다는 장점이 있습니다.
    • 폼(Form)은 윈도우 창 자체를 의미하며, 그 안에 배치되는 요소들을 컨트롤(Control)이라고 부릅니다.
  • WPF (Windows Presentation Foundation):
    • 보다 현대적인 UI 프레임워크로, XAML(Extensible Application Markup Language)이라는 마크업 언어를 사용하여 UI를 정의합니다.
    • 데이터 바인딩, 스타일링, 애니메이션 등 강력한 기능을 제공하며, Windows 뿐만 아니라 모바일 등 다양한 플랫폼을 목표로 하는 MAUI로 확장되고 있습니다. 
2. C# 기본 프로그래밍
C# 프로그래밍은 .NET 플랫폼을 기반으로 하는 객체 지향 프로그래밍(OOP) 언어입니다. 
기본 구조
C# 프로그램은 일반적으로 다음 요소들로 구성됩니다: 
  • 네임스페이스 (Namespace): 코드를 구조화하고 이름 충돌을 방지하기 위해 관련 클래스들을 그룹화합니다.
  • 클래스 (Class): 데이터(속성)와 함수(메서드)를 하나로 묶는 객체 지향 프로그래밍의 기본 단위입니다.
  • 메서드 (Method): 클래스 내에서 특정 작업을 수행하는 함수를 의미합니다.
  • Main 메서드: C# 프로그램의 시작점입니다. 
핵심 개념
  • 변수와 자료형intstringbool 등 다양한 자료형을 사용하여 데이터를 저장합니다.
  • 제어문ifforwhileswitch 등을 사용하여 프로그램의 흐름을 제어합니다.
  • 이벤트 처리: UI 프로그래밍에서는 버튼 클릭과 같은 사용자 상호작용(이벤트)에 대한 응답으로 특정 코드가 실행되도록 이벤트를 처리하는 것이 중요합니다.
  • 객체 지향: 상속, 다형성, 캡슐화 등 객체 지향 개념을 활용하여 코드를 모듈화하고 재사용성을 높입니다. 
3. 시작하기 (Visual Studio 활용)
Visual Studio IDE를 사용하면 C# 화면 구성 및 프로그래밍을 쉽게 시작할 수 있습니다. 

  1. 프로젝트 생성: Visual Studio에서 'Windows Forms 앱' 또는 'WPF 앱' 템플릿을 선택하여 새 프로젝트를 만듭니다.
  2. 화면 디자인: 디자이너 창에서 도구 상자의 컨트롤을 드래그하여 UI를 구성합니다.
  3. 이벤트 핸들러 추가: 버튼을 더블 클릭하는 등의 방법으로 이벤트 핸들러 메서드를 생성하고, 해당 메서드 내부에 원하는 동작을 수행하는 C# 코드를 작성합니다. 





- 스마트공장의 PLC 통신에 대하여 학습하고 C# 미들웨어 기반 데이터 송수신 시스템 실습으로 현장 활용능력 제고-C#에서 미들웨어는 ASP.NET Core의 요청 및 응답 처리 파이프라인에 삽입되어 특정 작업을 수행하는 소프트웨어를 의미합니다. 각 미들웨어는 HTTP 요청이 애플리케이션의 핵심 로직에 도달하기 전후에 특정 로직을 실행할 수 있습니다. 

미들웨어의 특징
  • 요청 처리 파이프라인: ASP.NET Core는 여러 미들웨어 컴포넌트로 구성된 요청 파이프라인을 구축하며, HTTP 요청은 이 파이프라인을 순서대로 통과합니다.
  • 연속 호출: 각 미들웨어는 다음 미들웨어 컴포넌트를 호출할 수 있으며, 이로써 요청이 파이프라인을 따라 흐르게 됩니다.
  • 쇼트서킷(Short-circuit): 특정 미들웨어에서 next 델리게이트를 호출하지 않으면, 요청은 파이프라인의 다음 단계로 넘어가지 않고 즉시 종료될 수 있습니다. 이는 성능 최적화에 유용합니다.
  • 양방향 흐름: 미들웨어는 next 델리게이트 호출 전과 후에 로직을 실행할 수 있습니다. next 호출 전에는 요청 검사나 인증을, 호출 후에는 응답 수정이나 로깅을 수행합니다. 
주요 활용 사례
  • 로깅: 요청 및 응답 정보를 기록합니다.
  • 예외 처리: 애플리케이션에서 발생하는 예외를 일관되게 처리합니다.
  • 인증 및 인가: 사용자의 요청을 인증하고 권한을 확인합니다.
  • 정적 파일 처리: HTML, CSS, JavaScript와 같은 정적 파일을 제공합니다.
  • URL 리디렉션: HTTP를 HTTPS로 리디렉션하는 등의 작업을 수행합니다. 
커스텀 미들웨어 작성 방법
ASP.NET Core에서 커스텀 미들웨어를 만드는 방법에는 여러 가지가 있습니다




무인항공기 신뢰성 프로그램 교육 일정

<항공산업교육훈련센터, 2025.10.17.>

기간: 2025.11.10.(월)~11.11.[화] 예정

장소 : 항공우주산학융합원 본원 233호 [2층]

강사 : 김성수 이사(모아소프트]

교육비 : 무료 단, 대규모 기업의 경우, 6만원 발생

교육내용

무인항공기 분야 안전성과 신뢰성 달성을 위하여, 안정성 및 신뢰성 분석과 신뢰성 확보를 위한 평가와 확보 방안에 대해서 학습한다.

시간표

11.10

11.11

드론 시스템 신뢰성 분석 기법

08:00~11:30

항공기 시스템 안전성 개요

-주요 고장 원인 분석 (배터리 열폭주, 통신 두절, GNSS 장애, 센서 오류 등)

점심 (11:30~13:00)

13:00~15:00

안전성 목표 설정 및 달성 방안 -드론, Powered Lift, 고정익/회전익

15:00~17:00

안전성 분석 기법 -FHA, FTA, FMEA, MTBF

드론 시스템 신뢰성 분석 기법

-주요 고장 원인 분석 (배터리 열폭주, 통신 두절, GNSS 장애, 센서 오류 등)

드론 운용환경 시험 및 신뢰성 평가

-소형 무인기의 환경조건 시험 (진동, EMI, 전과 간섭, 기상 영향)

드론 소프트웨어/하드웨어 신뢰성 확보 방안

-FC(Flight Controller) 및 임베디드 SW 검증 -지상국 SW 안전성 검증

본 프로그램은 국가인적자원개발컨소시엄 사업으로 운영되므로 사업 규정 및 출결 기준을 따릅니다.

  • 무인항공기 분야 신뢰성과 안전성 달성으 위한 신뢰성 및 안전성 분석 그리고 신뢰성 확보 평가방안에 대해서 학습한다

  •  * 해당 과정은 신뢰성 분야 및 드론 분야에 대해서 알고 계신분들이 수강하시기에 적합하오니 참고부탁드립니다. 

  •  - (유/무인)항공기 시스템 안전성 개요

     - 안전성 목표 설정 및 달성 방안

  •  - 안전성 분석기법

  •  - 드론 시스템 신뢰성 분석 기법

  •  - 드론 운용환경 시험 및 신뢰성 평가

  •  - 드론 소프트웨어/하드웨어 신뢰성 확보 방안



댓글 없음:

자동차 전면 유리 제상(Defrost/De-icing) 성능”**을 ANSYS Fluent로 해석 ///

도움말  좋은 화면 캡처예요 👍 이 이미지는 ANSYS Fluent → Setup 단계의 General 화면 이고, **“해석의 뼈대(종류·시간·좌표계)를 결정하는 곳”**입니다. 아래에서 화면에 보이는 기능을 영역별로 정확히 설명할게요. 🔧 ...