FUXA란? 오픈소스 Web HMI로 OpenPLC(Modbus/TCP) 연동하기 (Windows 11)


FUXA란? 

오픈소스 Web HMI로 OpenPLC(Modbus/TCP) 연동하기 (Windows 11)

FUXA는 한마디로 “브라우저에서 만드는 웹 기반 HMI(화면)·간단 SCADA 도구”입니다.

PLC(OpenPLC 포함)나 각종 장비에서 나오는 값을 읽어와서, 사람이 보기 쉽고 조작하기 쉬운 운전 화면(대시보드/미믹 화면)으로 만들어 주는 소프트웨어라고 이해하면 됩니다.

FUXA가 무엇인가

1) HMI라는 역할을 담당한다.


HMI(Human–Machine Interface)는 사람이 기계/설비를 “보고(모니터링)”, “누르고(조작)” 운영할 수 있게 만든 화면입니다.

예를 들어:
펌프 ON/OFF 버튼
현재 온도/압력/유량 표시
경고(알람) 램프
시간에 따른 값 변화(트렌드 차트)
설비 배치도처럼 생긴 미믹 화면(탱크/밸브/배관을 그림처럼 배치)
FUXA는 이런 화면을 웹 페이지 형태로 만들고 제공합니다.


2) “서버 + 브라우저” 구조로 동작한다


FUXA는 PC에서 실행되면 내부적으로 웹 서버처럼 동작합니다.

사용자는 Chrome 같은 브라우저로 접속해서:
화면을 편집하고(에디터)
완성된 화면을 운영 모드로 표시합니다.

즉, 별도의 전용 HMI 패널이 없어도 PC/태블릿/모바일 브라우저로 HMI를 볼 수 있는 구조가 됩니다.

FUXA는 어디에 사용하는가

1) PLC/장비 값을 “사람 눈에 보이는 화면”으로 바꿀 때


PLC(OpenPLC 포함)는 기본적으로 “제어 로직”은 잘하지만, 사람이 보기에는 코일/레지스터 숫자나 비트 값이 불편합니다.

FUXA는 그 데이터를:
숫자 표시(계기)
상태 램프(ON/OFF)
스위치/버튼(명령)
게이지/차트(추이)
같은 형태로 바꿔서 보여줍니다.


2) 교육/학습에서 “운전 화면” 경험을 만들 때

OpenPLC로 로직을 만들고, FUXA로 화면을 붙이면 다음이 한 번에 학습됩니다.
“PLC 로직이 실제로 설비를 어떻게 움직이는지”
“운영자는 어떤 화면을 보고 어떤 버튼을 눌러 운전하는지”
“알람/트렌드/상태 표시가 왜 필요한지”
즉, 단순 코딩/로직 학습을 넘어 현장 운영의 흐름을 경험할 수 있습니다.


3) 소규모 모니터링/간단 SCADA처럼 사용할 때
FUXA는 “정통 SCADA”처럼 거대한 기능 전체를 다 갖춘 제품이라기보다는, 화면 중심의 모니터링/조작을 빠르게 만들 수 있는 도구로 이해하는 편이 정확합니다.
(필요하면 Node-RED 같은 도구와 함께 사용해 알람 통지, DB 저장, 외부 연동을 확장합니다.)

FUXA에서 자주 쓰는 핵심 개념 3가지

1) Device (장치/통신 대상)

연결할 대상(예: OpenPLC의 Modbus 서버, OPC UA 서버, MQTT 브로커 등)을 등록합니다.

2) Tag (태그/변수)

장치에서 읽고 쓸 “값”을 태그로 정의합니다.
예: MotorRun, StartReq, Temperature, Setpoint 등

3) View / Page (화면)

태그를 “스위치, 램프, 숫자, 차트” 같은 위젯에 연결해서 화면을 구성합니다.
Node-RED와의 차이(헷갈리는 지점 정리)
FUXA: 화면(UI) 중심. “보여주고 누르는” HMI 역할
Node-RED: 흐름/로직/연동 중심. “수집, 가공, 저장, 알림, 외부 API 연동” 역할
OpenPLC: 제어 로직 중심. “실제 제어 규칙”이 돌아가는 PLC 역할
같은 데이터를 다룰 수는 있지만, 주된 목적이 다릅니다.
그래서 같이 쓰면 각자 강점을 살릴 수 있습니다.

FUXA와 OpenPLC 연동하기


1. FUXA 설치 및 실행 방법
FUXA 위키 기준으로 Node.js 18이 필요합니다.
Windows CMD 실행 후 아래 명령문을 실행하여 설치 및 실행합니다.
C:\> npm install -g --unsafe-perm @frangoteam/fuxa
C:\> fuxa

실행 후 Chrome 브라우저에서 아래 주소로 접속합니다.
메인 : http://localhost:1881
운영화면(Visualization) : http://localhost:1881/home
편집기(Editor) : http://localhost:1881/editor

FUXA에서 OpenPLC(Modbus TCP) 장치를 추가하려면, 편집기 모드로 접속을 해야 합니다.



2.  FUXA에서 장치(Device) 추가 메뉴로 이동
  • 좌측 상단 설정(톱니바퀴) 클릭
  • Setup 영역에서 Connections 아이콘 클릭
  • 우측 하단 Add / + / New Device 버튼 클릭
 


3. 새 장치 추가(Add Device)

    1) 기본 정보
        - Name : 예) OpenPLC
        - Type : ModbusTCP 선택

    2) 연결 정보
        - Slave IP and Port : 127.0.0.1:5020
        - Port는 OpenPLC Port와 동일하게 입력해야 합니다. (보통 502로 되어 있음)
        - Slave ID : 1

    3) 통신 옵션
        - Polling : 200~1000 ms (학습 중이면 200~500ms 권장)
        - Enable : ON

    입력 후 OK 버튼으로 저장합니다.

연결이 완료되면 장치 목록 OpenPLC에 초록색 불이 들어와야 합니다.
주의할 점은 OpenPLC의 상태가 Running 상태여야 합니다. 




Reactions

댓글 쓰기

0 댓글