joyja / tentacle-plc

A modern software programmable logic controller
https://www.tentacleplc.com
GNU Affero General Public License v3.0
7 stars 2 forks source link

Comment: Modern HMI is needed more than PLC #1

Closed TheColonel2688 closed 2 years ago

TheColonel2688 commented 2 years ago

This is just a comment to start a conversation.

I think there is a much bigger need for a Modern HMI solution, that emphasizes reusabilitiy over multiple projects.

I haven't found any HMI software that has a concept of Product/Library scope, and a separate Machine scope.

Things like User Accounts, default settings, database connection strings, maybe extra screens, would me Machine scope, because they may be different on each machines.

There are things like screens, tags, scripts, that can me used across multiple projects/machines would be Product/Library scope. these are also things that you might want to update on existing machines, add you add features.

I would also like something that plays well with git.

I have never found anything like this. My company builds standard machines that night have some light customization sometimes and trying to keep things standardized and upgradable is a nightmare

joyja commented 2 years ago

I definitely agree with you that the HMI market is ripe for improvement via an open source project based on web technology. Not sure if I agree that it's generally more important than an open PLC platform like Tentacle PLC, but it's definitely at least as important. Interesting idea to have something that caters more to OEMs or mass deployment of similar projects with the ability to customize. I like it!

TheColonel2688 commented 2 years ago

Other side of it is user adoption. I think an open source HMI is a lot less scary to the plant support engineers than a Open Source PLC runtime. Even I, an OEM engineer thst likes the latest and greatest would be very skeptical of any run time that is built on JavaScript.

a PLC has to be rocksolid and run for months if not years with out restart. An HMI is a lot more forgiving of hiccups since it is just a UI.

A soft PLC with the runtime core written in C++, rust, or Go sure, and Maybe C#. Javascript or Python nope nope nope.

joyja commented 2 years ago

I've heard this argument before. It relies on an assumption that I have yet to see substantiated. The assumption being: "Node.js (and I'll throw Python in there, since you mentioned it) is less reliable than proprietary PLC hardware platforms." My opinion is that it's a poor assumption.

I have a few more points, like how proprietary PLC manufacturers seem to "innovate" more around increasing vendor lock-in/license engineering than actual developer/user experience, and that you have easy access to parallel (async) logic in nodejs, but I think the above gives you a good idea of why I think this is a worthwhile project.

To your comment about C++, rust, or Go. I have thought that adding a Rust or Go backend might be a path to more determinism and higher performance if necessary in the future. My experience though, is that for most applications nodejs will do just fine - - - Tentacle PLC doesn't have to be applicable to every situation right off the bat.