Open source PLC drivers

surferb

Lifetime Supporting Member
Join Date
Jun 2007
Location
DC area
Posts
1,777
Does anyone here write, modify, or even use open source PLC "drivers" (any software to communicate between PCs and PLCS, ie, APIs, programs, OPC Servers, whatever)? For those "nos", do you tend to use:

1. Standards based - ie, OPC, Modbus, whatever
2. Vendor provided - HMI includes proprietary driver
3. Custom code ie, C++ TCP packets

It is my opinion that drivers should be free. That's not to say that companies like Kepware don't provide valuable products worth purchasing.
 
Last edited:
You really don't even need a driver to communicate between PC-PLC. I already do a lot of com via UDP, and it could easily replace the OPC Server I use. If I had to cookie-cut 20 projects starting tomorrow, I'd probably take that step, and save $1000 per project on licensing fees.

That said, I don't think drivers should be free. They are middleware, and provide a service for those people who aren't up to the task or don't have time or money to do it any other way.
 
I think that hardware vendors should provide drivers for the products they sell - more like PC hardware vendors. They only get away with forcing you to purchase a driver because consumers put up with it. Companies that provide a better product, like Kepware, bring something to the table that's worth purchasing - I already mentioned that.

Peter Nachtwey said:
It takes time and money to write a driver. I don't see why they should be free.

The Open Source community is thriving. Or you could get "someone else" who wants to pay for it (See Sun Microsystems CEO's stance on their business model with Open Source software). And there are geeks out there who get off on participating on projects like that - not to different from industrial professionals who spent too much time on these forums.

LadderLogic said:
Not to mention that "free" means someone else has to pay for it.
 
Last edited:
I used the term "driver" very loosely, and defined and qualifed it. Your explaination is almost exactly what I said in #3 (UDP versus TCP - might as well be the same thing here). So I'll take that to be a vote for #3.

I'd like to clarify what I mean when I say, "I think something should be free". I'm not saying that every version of such a product by every vendor needs to be free because I'm entitled to it. Nor am I suggesting that some magical hidden party be required to flip the bill. I do think that certain pieces of software, like device drivers and programming software, should be included with a "reasonable" base feature set - read, usable. They aren't providing any "service" beyond what the hardware or software package is supposed to do. I don't have a problem with the vendor or 3rd parties selling extra value in those areas. Deluxe version, extra support, adding features (proxies, caches, redundancy, easy configuration, whatever) - those are all worthwhile value adds.

Given the above, drivers should be "cookie cutter" enough that a community could support them without needing any (much) customization with end users. It makes no sense for you to write your own UDP comm functions if hundreds of others have written the same thing. Would you refuse to use a good program because you're not paying for it?

S7Guy said:
You really don't even need a driver to communicate between PC-PLC. I already do a lot of com via UDP, and it could easily replace the OPC Server I use. If I had to cookie-cut 20 projects starting tomorrow, I'd probably take that step, and save $1000 per project on licensing fees.

That said, I don't think drivers should be free. They are middleware, and provide a service for those people who aren't up to the task or don't have time or money to do it any other way.
 
surferb said:
The Open Source community is thriving. Or you could get "someone else" who wants to pay for it (See Sun Microsystems CEO's stance on their business model with Open Source software). And there are geeks out there who get off on participating on projects like that - not to different from industrial professionals who spent too much time on these forums.

All kinds of charities are thriving. A lot of people find enough satisfaction and pride in their work without seeking monetary or any kind of tangible compensation. This is just a part of human nature where the majority of people while being thrifty and practical are still not Scrooges and quite often do things just because they like doing them. It also could be a matter of their religious convictions or the way they were brought up.

But you cannot expect that everything should work that way. In a big picture everyone still does something because he wants profit or because he needs something to live on. I might tend to agree that for a company that sells hardware, giving the appropriate software for free would be a good and potentially profitable idea but apparently some companies don't think that way. And those who don't think that way tend to be those with the most popular, highly-demanded product: Allen-Bradley, Siemens, Omron. The spread of interchangeable standards amy change the picture but for now each one of these big guys are a monopoly to itself: why giving anything for free when a lot of people are tied to their products arm and leg?
 
When did this become such a deep philosophical debate? I was just asking if anyone used open source PLC drivers - not about the satisfaction of charities or religious convictions. I have little expectation that "everything should work that way". There are existing open source Industrial projects and I hope that some of the forum members here take advantage of useful free resources.

As to the driver thing - you're right, the industrial suppliers can do what they want. Something is worth what people are willing to pay for it, and this industry's brand snobbiness and insistance on "20 years back to be supported 20 years from now" supports their monopolies. That's why: cables, programming software, and drivers cost so much. At least they're slowly being forced into standardization. I think you guys like being tied into products like that - at least, that's what the industry signals.

Let me give you an example - I had a customer who had long ago decided to standardize on AB. Did they remember why? no... But their most "recent" projects ran on PLC 5s. AB still supports the PLC 5, but they substantially jacked up the price to "encourage" users to move to SLCs or Logix. So, of course, my customer decides that the new project will run on AB hardware. He doesn't know a thing that matters here. But does he ask about the price? Not yet - that complaint will come later after he's already decided on brand. Does he ask about feature sets, alternatives, anything having to do with the requirement of the project? Nope. Does he ask for our professional opinion - sure, figure out what you need from the AB distributer and bring me a quote.

It's not that I'm against standardization. The decision wasn't really bad, it was just made for all the wrong reasons. His PLCs weren't really uniform and they needed separate software and cables anyway.

What really kills me is when integrators "educate" their customers in this manner then say, "the customer specifies the software". To some extent yes, but you're the professional. Do you tell your doctor what to prescribe you? No! You tell him your symptoms and needs.

Anyway - it's all kind of weird to me since most people are "thrifty and practical". I don't walk through the cereal isle of the supermarket knowing that I'll buy Kellogs regardless of the price - because I have Frosted Flakes and Mini Wheats at home.

Competition will be forced over time, though. You have companies like Automation Direct. And the new emerging powerhouse countries won't have the same considerations.

LadderLogic said:
All kinds of charities are thriving. A lot of people find enough satisfaction and pride in their work without seeking monetary or any kind of tangible compensation. This is just a part of human nature where the majority of people while being thrifty and practical are still not Scrooges and quite often do things just because they like doing them. It also could be a matter of their religious convictions or the way they were brought up.

But you cannot expect that everything should work that way. In a big picture everyone still does something because he wants profit or because he needs something to live on. I might tend to agree that for a company that sells hardware, giving the appropriate software for free would be a good and potentially profitable idea but apparently some companies don't think that way. And those who don't think that way tend to be those with the most popular, highly-demanded product: Allen-Bradley, Siemens, Omron. The spread of interchangeable standards amy change the picture but for now each one of these big guys are a monopoly to itself: why giving anything for free when a lot of people are tied to their products arm and leg?
 
I strongly agree that drivers should be free or even open source. I don't want to spark off the debate on whether programming software should be free, but the way I see it is that the software is useless without the vendor's specific hardware. If Allen Bradley gave their drivers away for free, you can't use it on Siemen's hardware, you have to buy AB products.

If I buy a video recorder or microwave, I'm glad that I don't have to buy extra software in order to use it. Most PLC's are worthless without the software. So why shouldn't it be figured in and considered part of the hardware cost.

I also see it as a great marketing tool. Beckhoff has received over $50k in business from me over the past couple years and not only because they make a good product, but because I get their drivers for free and can use the software for free to program their controllers.
 
Thanks Archie - I'm glad someone here agrees with me that vendors should deliver value and basic functionality with their hardware. I can't imagine buying a driver separately for a video card, for example. If a few of the big vendors did it all would have to follow suit. I wish consumers would be less tolerant of such behavior.

I might also point out that Archie has AB ethernet drivers and a youtube tutorial on writing your own HMI with a free version of Visual Studios.NET (go figure - even M$ is providing a no-strings-attached version of free programming software). I guess Archie didn't want to toot his own horn. He's a generous contributer who brings value to industrial users.

It's absolutely a good marketing tool. Consider Red Hat, Sun, and MySQL. They provide extremely valuable products to all for free. Users who already know, use, and trust their systems come back for the Enterprise (paid) versions with support contracts on their mission critical projects.

Archie said:
I strongly agree that drivers should be free or even open source. I don't want to spark off the debate on whether programming software should be free, but the way I see it is that the software is useless without the vendor's specific hardware. If Allen Bradley gave their drivers away for free, you can't use it on Siemen's hardware, you have to buy AB products.

If I buy a video recorder or microwave, I'm glad that I don't have to buy extra software in order to use it. Most PLC's are worthless without the software. So why shouldn't it be figured in and considered part of the hardware cost.

I also see it as a great marketing tool. Beckhoff has received over $50k in business from me over the past couple years and not only because they make a good product, but because I get their drivers for free and can use the software for free to program their controllers.
 
Last edited:
update - I appologize for the confusion, I remembered a key detail incorrectly - Archie's project is a DF1 driver (RS232 - serial) not Ethernet. I'll be on the lookout for a similar AB Ethernet project.

In fact - I'd like to create a web page that consolidates a listing of open source industrial projects. If anyone has good resources to contribute, please reply or send me a pm.
 
There are several open source Ethernet/IP projects (which is not exactly the same as AB ethernet). Search on the forum and I think you can find some links.

And there is the open source Libnodave project, which amongst others supports ethernet to a Siemens PLC (not to be confused with Profinet).
 

Similar Topics

GitHub Link: https://github.com/Automation-Standard/Open-Industry-Project This is a little side project I've been working on that I felt would be...
Replies
14
Views
3,423
Does anyone here have suggestions of open source SCADA software that can be used for Mitsubishi PLC FX3U Series. I want to monitor its data...
Replies
2
Views
2,815
Are there any open source PLC communications protocols that would allow writing to the inputs of an Rx3i PLC? The reason I want this is for...
Replies
15
Views
5,129
I was just reading Archie's post about the open source AdvancedHMI system they have developed. This is a great system, but in order to grow in...
Replies
18
Views
7,028
Hi all, I'm a Ph.D. student at the University of Alabama in Huntsville, and my research topic is SCADA cyber security. My goal is to find...
Replies
32
Views
18,666
Back
Top Bottom