finds.dev← search

// the find

VelsonWang/HmiFuncDesigner

★ 752 · C++ · GPL-3.0 · updated Mar 2024

HmiFuncDesigner是一款集HMI,数据采集于一体的软件。目前支持Modbus协议,JavaScript解析,画面功能编辑等。HmiFuncDesigner is a software integrating HMI and data collection.Now it supports Modbus protocol, JavaScript explain, graphic control edit etc.

HmiFuncDesigner is a Qt/C++ desktop project with two parts: a designer for building HMI screens and device configuration, and a separate runtime that runs those screens against PLCs and devices over Modbus RTU, ASCII, TCP and Mitsubishi FX. It suits developers who want to study how an HMI stack is put together, or who need a small SCADA-style tool and are willing to read the source. The author says the project is unfinished.

Each device driver is a self-contained plugin with its own .pro file, a _dependencies.pri, a JSON descriptor and a class implementing IDevicePlugin. Adding a protocol means adding a folder, not editing a central switch. The Modbus transports (RTU, ASCII, TCPIP) appear as separate modules rather than one class with mode flags, which keeps framing code for each transport apart. The designer and runtime are separate binaries that share a project, so the editor can change without touching what runs on the operator panel. The real-time database viewer is its own tool (NativeRtdbView), so tag values can be inspected without the designer running.

The last push was March 2024, and the README says features are incomplete and much of the code needs refactoring, so treat it as a reference implementation rather than something to deploy. The build is pinned to Qt 5.14.2 with MinGW 7.3 32-bit and qmake, using Qt Creator 4.5.1 and 4.11.1, and Qt 5 is out of support. The steps are Windows-only, and the README warns that project paths over 256 characters break the build. Protocol coverage is narrow: Modbus variants and Mitsubishi FX are listed, the S7_200 driver is in the tree but missing from the README, and nothing visible covers S7-1200/1500 or OPC UA. No test directory appears in the visible part of the tree, and the Visual Studio setup depends on a separately documented UTF-8 workaround, which suggests it has only been built in a few environments.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →