센바스 터치의 HMI 프로그램 — 디자이너로 그리고, 런타임으로 띄운다
센바스 터치(SENVAS Touch)에서 운영자가 보고 누르는 제어 화면(HMI)을 만드는 것이 HMI 프로그램입니다. 화면을 그리는 SENVAS Designer와, 기기에서 띄우고 돌리는 SENVAS Runtime으로 이뤄집니다. 단순히 화면만 그리는 게 아니라 — 현장과 통신하고 · 기록하고 · 알람을 내고 · 제어 로직을 돌리는 산업용 HMI/SCADA의 핵심 기능을 갖췄습니다.
앞서 관리 런처 글에서 “런처가 띄우는 사용자 HMI 앱은 별개”라고 했죠. 그 HMI 앱을 만드는 것이 바로 이 프로그램입니다. 런처(②)가 바탕에서 띄우고, HMI(①)가 그 위에서 현장을 그립니다.
핵심 기능 — 무엇을 할 수 있나
산업 현장에서 HMI에 기대하는 일들을 폭넓게 합니다.
현장과 연결한다 — 통신
- 다중 프로토콜 — Modbus(RTU·TCP) · MQTT · MC(미쓰비시) · CNet(LS산전)으로 PLC·센서·인버터·상위 서버와 연결합니다.
- 실시간 폴링 — 여러 설비를 주기적으로 읽고 명령을 내보냅니다. 물리적으로는 RS-485(3채널)·RS-232·이더넷 포트로 붙고, 설비별 연결 관리도 함께 합니다.
보고 · 기록한다 — 모니터링 & 이력
- 실시간 모니터링 — 읽어온 값이 화면에 새로고침 없이 바로 반영됩니다(데이터 바인딩).
- 데이터 이력 로깅 — 운전 기록·알람·샘플을 기기 안 데이터베이스(SQLite)에 누적 저장합니다. 스키마 버전 관리(마이그레이션)까지 갖춰, 배포된 기기에서 안전하게 이력이 쌓입니다.
- 트렌드 분석 — 실시간 추세 그래프와 과거 시계열 그래프로 값의 흐름을 봅니다.
알리고 · 제어한다 — 알람 & 로직
- 알람 · 이벤트 — 발생 시각·레벨·소스·메시지로 알람을 기록하고, 표에서 필터·확인(Ack)합니다.
- 제어 로직 — 주기 루프에서 임계값을 감시하고, 인터록을 걸고, 조건에 따라 자동 명령을 내립니다(“한계 초과 시 자동 정지” 같은).
- 신호 처리 — 채터링(접점 떨림) 제거, 센서값 안정화, 범위 변환(스케일링)으로 잡음 섞인 현장 신호를 깔끔하게 다룹니다.
저장 · 지킨다 — 영속화 & 보안
- 설정 · 레시피 저장 — 설정값·레시피를 저장하고 다시 불러옵니다.
- 암호화 — 민감한 값은 AES 암호화로 보호합니다.
- 정밀 타이밍 — 밀리초 단위 고해상도 타이머로 정확한 주기 처리.
SENVAS Designer — 화면을 그리는 도구
PC에서 도는 SENVAS Designer로 화면을 설계합니다.
- 드래그&드롭 + 미리보기 — 부품을 끌어다 놓고, 그린 그대로 미리봅니다.
- AI 협업 설계 — Claude 같은 AI와 MCP로 연동해, 대화로 화면과 로직을 만들고 코드 골격까지 생성·검증합니다. 빈 화면에서 시작하는 부담을 덜어 줍니다.
- 재사용 컴포넌트 · 마스터 화면 — 자주 쓰는 묶음을 부품처럼 재사용하고, 공통 틀(타이틀바·사이드바·푸터)을 한 번만 만들어 모든 페이지에 입힙니다.
- 검증된 템플릿 · 테마 — 온도 제어·정수장·BESS(에너지저장)·데이터센터 같은 실전 샘플에서 출발하고, 색·글꼴 테마를 프로젝트별로 둡니다.
무엇을 그릴 수 있나 — 100가지가 넘는 컴포넌트
화면을 채울 부품도 폭넓습니다.
- 값 표시 · 램프 — 숫자·문자·상태 값, LED 상태등
- 입력 · 스위치 — 숫자/문자/콤보 입력, 슬라이더·노브, 체크·라디오, 토글 스위치
- 버튼 — 푸시 버튼, 램프 버튼, 버튼 그룹
- 데이터 그리드 — 정렬·선택·요약이 되는 표 (11가지 컬럼 타입)
- 그래프 · 트렌드 — 라인·바·실시간 트렌드·스파크라인·원형 그래프
- 게이지 · 프로그레스 — 아날로그 게이지·미터, 진행 막대
- 공정 흐름도 — 펌프·밸브·탱크·배관 심볼로 P&ID 스타일 화면
- 도형 · 드로잉 — 사각·원·선·곡선 등 벡터 도형
- 네비게이션 · 레이아웃 — 탭 네비게이터·사이드바·그리드 레이아웃
위 부품들로 구성한 실제 화면 — SENVAS Designer로 만든 무대 8축 제어 HMI 예시. 헤더·상태등·버튼이 모두 컴포넌트입니다. (실제 Designer 캡처)
SENVAS Runtime — 기기에서 띄운다
만든 화면은 기기의 SENVAS Runtime이 실행합니다.
- 네이티브 고속 렌더링 — 웹 브라우저(Chrome)·Flutter가 쓰는 Skia 그래픽 엔진 기반이라, 라즈베리파이 같은 작은 기기에서도 부드러운 화면과 빠른 터치 반응을 냅니다.
- 전체화면 운영 — 런처가 이 런타임을 전체화면으로 띄웁니다. 운영자는 제어 화면만 봅니다.
- 자동 업데이트 — 백그라운드로 새 버전을 확인하고, 작업을 방해하지 않게 알려 줍니다.
만들고 → 올리고 → 띄운다
flowchart LR
Designer["SENVAS Designer<br/>PC · 화면 제작 (AI 협업)"]
Designer -->|"디자인 배포"| Runtime["SENVAS Runtime<br/>기기에서 실행 · Skia 렌더링"]
Runtime <-->|"Modbus·MQTT·MC·CNet"| Field["PLC · 센서 · 서버"]
Runtime --> Log["이력 · 알람<br/>기기 DB 누적"]
Launcher["터치 관리 런처"] -. 전체화면으로 띄움 .-> Runtime
PC에서 화면을 만들어(필요하면 AI의 도움으로) 기기에 올리면, 런처가 런타임을 전체화면으로 띄우고, 런타임이 현장과 통신하며 모니터링·기록·알람·제어를 수행합니다.
정리
| 기능 | 내용 |
|---|---|
| 통신 | Modbus · MQTT · MC(미쓰비시) · CNet(LS산전) + RS-485/232 · 이더넷 |
| 모니터링 · 이력 | 실시간 바인딩, 운전·알람·샘플을 DB(SQLite)에 누적, 트렌드 |
| 알람 · 로직 | 알람/이벤트 기록·확인, 주기 제어 로직(임계값·인터록·자동명령) |
| 신호 처리 | 채터링 제거 · 센서값 안정화 · 범위 변환 |
| 영속화 · 보안 | 설정·레시피 저장, AES 암호화, 정밀 타이머 |
| 제작 (Designer) | 드래그&드롭 + AI 협업 설계 + 재사용 컴포넌트 + 100여 컴포넌트 |
| 실행 (Runtime) | Skia 네이티브 렌더링, 전체화면, 자동 업데이트 |
정리하면 — HMI 프로그램(①)은 현장을 보고·기록하고·제어하는 운영 화면을 만들고 띄우는 쪽, 관리 런처(②)는 그 바탕을 깔고 원격까지 관리하는 쪽입니다. 둘이 합쳐 센바스 터치가 됩니다.
댓글
로그인 없이 이름만 적고 남기실 수 있어요. 남긴 댓글은 바로 게시됩니다.
댓글을 불러오는 중…