
Anything that's realtime shouldn't be near an HMI - they're just to show an operator what's happening and enable them to control the machine in some way. To clarify, with an HMI it doesn't need to be "realtime" as you'd require for controlling steppers/servos, it needs to be fast, but if you compare what's on the market, they're all low-spec embedded SOC devices or its server/client web based tech, so even a non-realtime solution would outperform this stuff.
#USE CLICK PLC AS A MODBUS SERVER CODE#
An HMI's code should be non-essential to a machines safe running! enable button X in mode X, but disable buttons A, B, C etc) but that's probably better being inside the UI Python code anyway. The only place for "PLC" logic on an HMI is just to create logic for the interface and user interaction itself (i.e. They're normally cheap Chinese, and likely to be poorly coded, web browser based (with the client code in Java) or super expensive solutions (Siemens, Schneider, B&R) that are normally embedded Windows CE. It's the HMI that are a struggle to find. I'm not looking for a PLC they're plentiful, reliable and cheap these days. So first things first, a quick definition - by HMI, I mean just an HMI - not a PLC, but something that graphically displays a process or menus to interact with a PLC (or maybe another LinuxCNC system, but via a bus). I'm using LinuxCNC for CNC machines, so makes sense to use the same platform for "simpler" machines. I've been looking for a Linux based project that I can use reliably for building machine HMI, and struggling to find anything either still actively developed or that isn't a proof of concept school project.
