Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
modularpi:python:pyhmiprogramming:index [2026/02/15 02:35] – [UI 위젯 객체 연결(프론트엔드)] adminmodularpi:python:pyhmiprogramming:index [2026/02/15 03:35] (current) – [Python 프로그램 로직 (백엔드)] admin
Line 26: Line 26:
 또한, 하드웨어 입·출력 제어는 CFRASP.py 라이브러리를 통해 Python(main.py) 코드에서 처리되며 CFNET I/O 모듈(CFDI, CFDO 등)에 전달됩니다.\\ 또한, 하드웨어 입·출력 제어는 CFRASP.py 라이브러리를 통해 Python(main.py) 코드에서 처리되며 CFNET I/O 모듈(CFDI, CFDO 등)에 전달됩니다.\\
 즉, **UI(.ui 파일) 동작 ↔ Python 프로그램(main.py) 로직 <-> CFNET I/O 제어(CFRASP.py)**로 연결되는 구조로 HMI 시스템이 동작합니다.\\ 즉, **UI(.ui 파일) 동작 ↔ Python 프로그램(main.py) 로직 <-> CFNET I/O 제어(CFRASP.py)**로 연결되는 구조로 HMI 시스템이 동작합니다.\\
- 
-\\ 
- 
- 
- 
- 
  
  
Line 45: Line 39:
 main.py 프로그램 로직은 QTimer를 사용하여 **300ms 주기**로 CFDI의 0번 포트 입력 값을 읽어 UI에 반영하며, 사용자가 버튼을 눌렀을 때는 CFDO의 0번 포트에 ON/OFF 출력 신호를 전송하는 역할을 합니다.\\ main.py 프로그램 로직은 QTimer를 사용하여 **300ms 주기**로 CFDI의 0번 포트 입력 값을 읽어 UI에 반영하며, 사용자가 버튼을 눌렀을 때는 CFDO의 0번 포트에 ON/OFF 출력 신호를 전송하는 역할을 합니다.\\
 \\ \\
-☞ [[modularpi:pyhmiprogramming:uimain_code|[main.py 전체 코드 보기]]]\\+☞ [[modularpi:pyhmiprogramming:uimain_code:|[main.py 전체 코드 보기]]]\\ 
 +☞ [[modularpi:python:pyhmiprogramming:uimain_code:|[main.py 전체 코드 보기]]]\\
  
 ===1.) main.py 코드 구조 === ===1.) main.py 코드 구조 ===
 HMI 프로그램의 기본 환경을 설정하며, 프로그램의 실행 경로를 기준으로 UI 파일(.ui)과 이미지 파일을 불러오고, PyQt UI 구성을 위한 클래스(form_class)를 생성하는 역할을 합니다.\\ 또한, CFNET I/O 제어 라이브러리를 사용할 수 있도록 준비합니다. HMI 프로그램의 기본 환경을 설정하며, 프로그램의 실행 경로를 기준으로 UI 파일(.ui)과 이미지 파일을 불러오고, PyQt UI 구성을 위한 클래스(form_class)를 생성하는 역할을 합니다.\\ 또한, CFNET I/O 제어 라이브러리를 사용할 수 있도록 준비합니다.
-{{ :modularpi:uipyqtsetting:hmi_main_.png?nolink |}}+ 
 +{{ :modularpi:python:pyhmiprogramming:hmi_main_1.png?nolink |}}
  
 ===2.) 메인 UI폼 클래스 구조 및 처리로직(MyWindow 클래스) === ===2.) 메인 UI폼 클래스 구조 및 처리로직(MyWindow 클래스) ===
Line 58: Line 54:
   * QTimer를 통해 읽어온 입력 상태에 따라 **램프 이미지를 갱신하는 등, 변경된 하드웨어 상태를 UI에 실시간으로 반영**하는 역할을 합니다.   * QTimer를 통해 읽어온 입력 상태에 따라 **램프 이미지를 갱신하는 등, 변경된 하드웨어 상태를 UI에 실시간으로 반영**하는 역할을 합니다.
  
-{{ :modularpi:uipyqtsetting:ui_class.png?nolink |}}+{{ :modularpi:python:pyhmiprogramming:ui_class.png?nolink |}}
  
 [[..:index|Python을 이용한 CFNET I/O 개발]] [[..:index|Python을 이용한 CFNET I/O 개발]]