Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| modularpi:python:pyhmiprogramming:index [2026/02/15 02:35] – [UI 위젯 객체 연결(프론트엔드)] admin | modularpi:python:pyhmiprogramming:index [2026/02/15 03:35] (current) – [Python 프로그램 로직 (백엔드)] admin | ||
|---|---|---|---|
| Line 26: | Line 26: | ||
| 또한, 하드웨어 입·출력 제어는 CFRASP.py 라이브러리를 통해 Python(main.py) 코드에서 처리되며 CFNET I/O 모듈(CFDI, | 또한, 하드웨어 입·출력 제어는 CFRASP.py 라이브러리를 통해 Python(main.py) 코드에서 처리되며 CFNET I/O 모듈(CFDI, | ||
| 즉, **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에 반영하며, | main.py 프로그램 로직은 QTimer를 사용하여 **300ms 주기**로 CFDI의 0번 포트 입력 값을 읽어 UI에 반영하며, | ||
| \\ | \\ | ||
| - | ☞ [[modularpi: | + | ☞ [[modularpi: |
| + | ☞ [[modularpi: | ||
| ===1.) main.py 코드 구조 === | ===1.) main.py 코드 구조 === | ||
| HMI 프로그램의 기본 환경을 설정하며, | HMI 프로그램의 기본 환경을 설정하며, | ||
| - | {{ :modularpi:uipyqtsetting:hmi_main_.png?nolink |}} | + | |
| + | {{ :modularpi:python:pyhmiprogramming: | ||
| ===2.) 메인 UI폼 클래스 구조 및 처리로직(MyWindow 클래스) === | ===2.) 메인 UI폼 클래스 구조 및 처리로직(MyWindow 클래스) === | ||
| Line 58: | Line 54: | ||
| * QTimer를 통해 읽어온 입력 상태에 따라 **램프 이미지를 갱신하는 등, 변경된 하드웨어 상태를 UI에 실시간으로 반영**하는 역할을 합니다. | * QTimer를 통해 읽어온 입력 상태에 따라 **램프 이미지를 갱신하는 등, 변경된 하드웨어 상태를 UI에 실시간으로 반영**하는 역할을 합니다. | ||
| - | {{ :modularpi:uipyqtsetting: | + | {{ :modularpi:python: |
| [[..: | [[..: | ||
