this post was submitted on 04 Feb 2024
74 points (98.7% liked)

Linux

48372 readers
1830 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

Hello, not sure if this is the right place, but here goes. I’m currently involved in automating a wastewater treatment process using a PLC. I’m in need of a SCADA system to control equipment, visualize data, and monitor each step of the process.

I received a recommendation for a Windows-compatible SCADA, but I’m not a fan of Windows due to its slow performance on industrial computers. Are there any free Linux-friendly alternatives or solutions to achieve the same functionality? Any insights would be greatly appreciated.

top 25 comments
sorted by: hot top controversial new old
[–] [email protected] 39 points 9 months ago* (last edited 9 months ago) (3 children)

Ignition from Inductive Automation. Works great on Linux, used to run it in docker even. There are drivers for all kinds of PLCs. It's a dream to develop in, was my SCADA platform of choice (I've moved on from the industry). If you need to script anything, it is in Python, not some bullshit proprietary scripting language, nor VBA garbage. The client software is great, even runs nice on PC-based HMI touch panels, which you could install Linux on if you want. The call-out alarming actually works (FUCK WIN911).

The software is free to try and download. You can develop in it for free, unlike the majority of competitors. Go ahead and try all of it out right now if you want. The training courses on using their software are free, nice handy videos, so you can start learning how to build everything like right now.

The "catch" is it costs money to run all of the SCADA critical components for more than an hour at a time (to prevent you from just using it to run your whole plant for free). But you can build your whole SCADA app today with your PLC gear on hand, and only pay for it once you are ready to deploy to production.

Anyway, to me, it's hands-down the best SCADA platform, and it even runs on Linux. Disclaimer: some of this might be out of date, I've been gone about 4 years.

Edit: sorry, didn't see the "free" requirement. I would never run a critical plant without support, so I've not explored any fully open source options. If your plant is serving more than just your farm/homestead (in other words, is serving the general public) I strongly recommend a supported option for your client. If you get hit by a bus, and the plant is in trouble, they'll have a hard time finding someone to get them back online who knows your "weird" software.

That said, depending on your needs, Ignition can be cheap AF (comparatively) if your plant is small.

[–] galloFino 8 points 9 months ago

Fuck WIN911 indeed!! I will give ignition a try. Thanks.

[–] [email protected] 6 points 9 months ago

Ignition is awesome

[–] jadedwench 3 points 9 months ago

This. Ignition isn't that expensive and is cross platform. You can even run it in docker. I understand wanting free, but when it comes to industry, sometimes paying a few bucks for less hell later down the line is worth it.

[–] [email protected] 19 points 9 months ago (1 children)

ScadaBR is an open source and cross platform scada that was successfully deployed in a water treatment station. Check it out.

[–] galloFino 6 points 9 months ago (1 children)
[–] [email protected] 5 points 9 months ago* (last edited 9 months ago) (1 children)

Anytime! I might know someone that dealt with that, as I've been in the profession for a while and that project wasn't too far from my alma mater. Let me know if you decide to go forward with it and need someone to talk to.

[–] galloFino 3 points 9 months ago (1 children)

Great, I will try it for sure! É do Brasil, ne?

[–] [email protected] 2 points 9 months ago
[–] [email protected] 15 points 9 months ago (2 children)

Really? If it's a big enough treatment works to warrant a SCADA, then I doubt an automation engineer with the experience to set it all up would be asking this question, but here goes. You've a couple of obstacles:

  • every contract I've ever seen for industrial automation has either specified which control plane they want directly, or they'll have a list of approved suppliers which you must use. Someone after you will have to maintain this. Those maintainers will only accept the things that they have been trained on. Those things are Windows PCs running Windows software. They will reject anything else. The people running network security on those machines will have a very short list of the acceptable operating systems for running SCADA systems. That list will be a couple of versions of Windows Server. They will also reject anything else.

  • that's not nearly enough information to make a recommendation. Which PLCs? Allen Bradley, Siemens, Mitsubishi, ...? I can't think of a job I've ever been on where the local HMI hasn't matched the PLCs. The SCADA software almost invariably matches the PLCs used in the main motor control centre, with perhaps a couple of oddball PLCs for proprietary panels and such like. Could maybe ask the supplier if they've a Linux alternative? Siemens will laugh at you and Mitsi won't understand the question, but AB just might.

Sorry - I'm a Linux evangelist, but I don't think it's a good fit for here. SCADA performance generally isn't bad due to Windows Server - it's fine, does what it's intended to - but because eg. STEP 7 is an appallingly slow and bloated piece of software which would bring a mainframe to its knees. Which is bizarre - the over-the-wire protocol connecting the machines is generally a short binary blob described in the PLC configuration - these bits are the drive statuses, these bits are an int or a float for an instrument readout - and it shouldn't be at all slow updating it all, but slow it is.

[–] galloFino 10 points 9 months ago

I am not an automation engineer. I am a chemical engineer specialized in water treatment, but I know little of SCADA. Programming a PLC is supper easy for my applications and usually all I need is to control a valve or two, to control dosing pumps, read modbus data, store it and make reports with it. That is also achievable with influx and grafana in an industrial computer.

But in this particular application I want to control other equipment with human input, thus a SCADA is needed.

I don’t like the proprietary software of Siemens or Schneider. That’s why I was wondering if there is another option.

Maybe I should be thinking in HMI and not a SCADA.

[–] [email protected] 3 points 9 months ago (1 children)

Offtopic question. Are you familiar with AVEVA (Wonderware) System Platform? We have been working on it for smart city command and control centre. The challenge is bringing in equipments from different OEMs under a single interface. Some projects want this to simplify operations. They prefer one application over many. What

Another thing is I saw you specified some OEMs. And most of the time they have some variant of an open protocol that only works with their PLC. Why does the SCADA/Automation not move into some universal standards? Is it because very few OEMs have significant market share? I am aware of OPC UA. But no universal support.

[–] [email protected] 1 points 9 months ago

You can do some pretty cool things with WW SP, but I feel like working with it really makes me appreciate Linux and the Foss community so much more. WW always feels so proprietary.

[–] RouxBru 8 points 9 months ago* (last edited 9 months ago) (1 children)

What you are looking for is Ignition SCADA. Specifically the perspective module. It is the best in the market in my opinion, has unlimited tags, great training videos and runs on almost anything. It also comes with the drivers needed to connect to most of the popular brands' PLCs.

I have seen this implemented at wastewater and water treatment plants

However a SCADA will be pricey, if it's a small plant rather consider an HMI, there are options available from Ignition's side, but it'll depend on how much it is worth to you

[–] Cyberflunk 1 points 9 months ago (1 children)

Are you just a casual SME and just found this question?

Honest question

[–] RouxBru 2 points 9 months ago

Randomly found the question, but I work as a Automation Engineer / C&I / Integrator

[–] [email protected] 4 points 9 months ago

Not an automation guy here either but I have worked with several, and my current workplace has a big boner for Ignition, which runs on both Linux and Windows and works with their Allen Bradley PLCs. They run the whole thing on Linux VMs on VMware, with their HMIs being mostly Windows PCs, but as far as I can tell all they really need is a web browser, so you could probably use anything for that.

Ignition isn't free but they have trial versions and a free 'maker' version that I can only assume has commercial use exemptions or something in it.

[–] mvirts 3 points 9 months ago

A new window into the [email protected] community has appeared 😹

[–] CoriolisSTORM88 2 points 9 months ago

As others have said, Inductive Automation 's Ignition is a fine SCADA platform that runs on Linux. I used it for years until my employer decided we should get rid of Ignition and use OSISoft Pi for data visualization. It's a ridiculous idea, as they are different products with different use cases, but I lost that argument and have been told to drop it. Still salty, all those development hours and useful tools gone.

[–] [email protected] -3 points 9 months ago (1 children)

Just install Gentoo. It will fix your problems.

Honestly though I have no idea what you are asking. Maybe custom built software?

[–] [email protected] 6 points 9 months ago (1 children)

Please don't take the following as me being a dick, I am just genuinely curious. Your response is unique and interesting to me.

I have no idea what you are asking

Then why did you feel compelled to respond?

The rest of the thread is filled with people who know the topic and gave relevant responses very specific to OP's situation. Many hours before your response in fact. I'm a little perplexed.

Maybe custom built software

Any person (with enough budget) could get software built, but that's obvious to anyone, so it's kind of redundant to suggest, so why write it given the other responses? I am further perplexed.

Just install Gentoo. It will fix your problems.

I take this as humor. OP was looking for software to run on Linux, not a Linux distro. Was that the joke?

Anyway, I'm sorry if I have come across as critical or insulting. I really am just curious. If I have, and it's any consolation, if you care to genuinely answer my questions, I'll give you a short explanation of what OP was on about, if that is helpful to you. I think it was very kind of you to respond to OP, I think I'm just confused more than anything.

[–] [email protected] 3 points 9 months ago (1 children)

I though my response was amusing. At least it was amusing for me.

[–] [email protected] 1 points 9 months ago (1 children)

Thanks for your response. Sorry I didn't get the joke.

As promised, here's a "simple" explanation of SCADA, or as simple as I can make it at least. It will probably be rudimentary enough to be controversial, and long enough to be boring. Oh well.

It stands for supervisory control and data acquisition, and if you think that's a weird mouthful, it's because it's old and comes from a time when clicking graphics on a screen was a novel idea, and logging swaths of data with a computer and searching within it and rendering graphs from it was cutting edge. The term is basically relegated to plant, industrial and manufacturing type processes where a bunch of engineering has gone into it. Processes like brewing, water treatment, factories, assembly lines, etc.

Those processes are automated with special computers called PLCs that are basically "robot brains" that control things like (but not limited to) motors, valves, pumps, conveyers, robot arms, all kinds of stuff to manipulate the physical world, and can receive information from sensors like (but not limited to) pressure, speed, flow, weight, on/off, open/closed, temperature, distance, or anything else that someone has built a physical world sensor for. You can put all that stuff together with a program in the PLC and automate practically anything from beer making to zebra counting.

And that's all well and good, but if you want to see what the process is doing (supervise it), or stop it if it's gone off the rails (control), or see what it did last time (data acquisition), you need SCADA. There's special software to build a SCADA system with, and it's mostly special because it needs to talk to the myriads of PLC (and related) gear out there, and until relatively recently, it's been tied to an ancient Windows technology called OLE, meaning if you wanted SCADA in your industrial process, you had to suffer with the rather unindustrial wart of Windows in the middle of it. OP is seeking the industrial Holy Grail of a windowsless process in their plant.

We take it for granted today that we can build an interface in a web browser, and hook it up to control a USB device, all in one day, but 40+ years ago there was Windows 3, serial devices, and no commonly established way to communicate with gear (which OLE kinda solved), or standard design of how interfaces should look or work. Ignition brings all of that old shit into the modern world.

A relatable example you could call "baby SCADA" would be a smart thermostat, if it has an onboard temperature trend graph. The process it controls is your automated home heating and cooling. The smart thermostat can tell you if the AC is running, you can change the target setting that you want the room temperature to go to. And if it has a graph of the temperature for the last 24 hours so you can see that the schedule you set worked, then it's basically a 'lil SCADA.

Cheers.

[–] [email protected] 1 points 9 months ago (1 children)

Nice explanation, I honestly want to try to build one now. I've actually done something very similar in Minetest but I'm pretty sure that doesn't count.

[–] [email protected] 1 points 9 months ago

Bro! Download Ignition, it's free, do all of the free courses, get the certification (also free I think), put it on your resume/CV and get yourself a job in automation! It's in demand.

IMO It's cool as hell to control machines as big as a room with a click of a button on an interface you built with your own two hands, lemme tell ya.