Free PLC programming software question

I think one thing that is somewhat obvious is this would have to be a 'labor of love' out of the open source community. As Nathan already stated the unknown part of this could have been done already by the brute force method. The fact that it hasn't just means that no one sees the ultimate return on investment. The market for a given plc programming software is just too small. And the end users are generally a pretty conservative group. It would be hard to make them change. If I was writing this software for the fun of it I wouldn't care if it was accepted. If was was doing it to put food on the table I would politely walk away.

Originally posted by surferb:

Just because most industrial Open Source projects are stuck in early Alpha/Beta phases, doesn't mean that AB software is any better or that another project couldn't be.

Open source projects will by implication always be stuck in alpha/beta phase. Who governs product release until someone takes a particular version and goes commercial with it? While I do agree that open source doesn't necessarily mean buggy junk I do question the amount of commitment required to get a piece of open source software to the reliability level of any of the major plc players' programming packages. I'm not saying it can't be done. I just find it hard to believe that it would be. A program that correctly models global warming or hurricane paths, maybe. A program that helps program a special purpose industrial computer, not so much. There's just not enough *** in that.

Keith
 
Lol - fair enough. Except if I was doing it for fun, I would care if it was accepted as a matter of pride.

kamenges said:
If I was writing this software for the fun of it I wouldn't care if it was accepted. If was was doing it to put food on the table I would politely walk away.

Not necessarily true. Most of the large open source projects are bankrolled by bigger companies - typically large hardware vendors. That would be AB - hint, hint.

You're going to find the quality and prevalence of Open Source and "free software" steadily increasing. Part of this has to do with decreasing hardware costs (commoditization) and increasing sized user bases. When dealing with large scales of traffic exposure alone is valuable. Look at the search engines, myspace, or youtube. I'm seeing an increasing number of valuable free "first rate" products - Browsers, SQL Databases, Operating systems, graphics packages, heck look at phpBB. But ultimately you're right, we're stuck in a stovepiped, nitch, industry. I'd like to see open frameworks projects like Metasploit evolve for PLC programming software.

cww made an interesting point in a similar line of discussion on control.com. His claim was that a substantial percentage of a budget like Microsofts goes toward marketing. I would imagine the same were true of our industries top vendors. There's got to be merit in projects that don't need brink and mortar, infastructure, marketing, or anything else. Just thinking about it - how cool would it be if a couple retired Rockwell guys got the ball rolling. In all likelyhood, they could make their money in a few support contracts. Or Rockwell could do it like IBM and pay their salaries - small pennies on their scale. Everyone looks good and AB hardware users benefit greatly.

edit - I look at Tom Burke of the OPC Foundation as a sort of parallel to this role. Although they're not "free" or "open source", the OPC Foundation does a lot to bring interoperability to us and lock out a lot of potential vendor foul play.

kamenges said:
Open source projects will by implication always be stuck in alpha/beta phase. Who governs product release until someone takes a particular version and goes commercial with it?
 
Last edited:
kamenges said:
Open source projects will by implication always be stuck in alpha/beta phase. Who governs product release until someone takes a particular version and goes commercial with it?

I agree with most of your post except this part. There is a plethora of final release quality software coming out of the open source community. Much of this is produced by foundations, groups, or commercial entities that do have timelines and release schedules. Most open source programmers these days are paid professionals. Your perception of open source seems to be stuck in the mid 90's.

And @surferb - I've often thought of doing something similar to what you are talking about, but like you lack the time and resources.
 
From my own perspective, I doubt that it could or would ever happen.

One of the major factors of PLC programming software is that it is (and must always be) safety critical.
The software cannot allow the processor to do anything unexpected with the compiled code, and that compiled code is rigorously tested against the firmware within the device to ensure just that.
For example, with your car, who would you trust with your ABS system software? BMW, GM (for example), or some guys who thought it would be a gas to come up with some 'Open Source' software?

Whilst Open Source is a fine idea, and a great way to spread a sense of community through all those that use this route, if my Open Source FLAC converter for my PCs audio player goes "pear shaped", not much damage is going to be done.
If some PLC software mis-compiles the users code, people may die, lawyers will sue.

Just my 5 cents.
 
surferb said:
You don't think people would rather use a free programming app than a $4000 one? I've seen lots of posts here recently asking for that.


I never said I would not, I was refering to people in general, unless you get a lot of support for a project it will open and close within a couple of years. Most of our home network is running exclusively opensource software, as I stated I keep one laptop running Windows XP just for these apps. It would be great if one of the groups in the opensource community would pick this up and run with it, but I don't have the time to contribute to a project from scratch.
 
Well, maybe. That line about control software being so important has been recycled for over a decade. Remember how crappy early Windows versions of programming software was. It crashed, locked up, etc. Doesn't really matter much from a safety perspective. Accidents can happen because the ladder was wrong - the author was negligent and had better have a good insurance policy. The lawyers will go after him - not some one man LLC shell open source project that he decided to use.

The bottom line is this - mediocre PLC programming software would be just that. It's not going to magically turn your process into The Terminator. As soon as the thing starts writing XICs instead of XIOs, NOBODY is going to use it. Word gets around quickly about things like that. And you can bet dilligent users would test it in a closed environment AND test their PLC program.

Again, I re-iterate - there's nothing inherently great about vendor software. It's good stuff, but there's no real competition. No real drive for improvement. Better software is not a stretch of the imagination.

Is it likely in the near future? Probably not. But I'm hoping that some wealthy geek is staying up late on his computer reading this. "You're right, a couple hundred grand could fully fund such a project - maybe I'll put off that 3rd vacation home until later". Better yet, a bored retired programmer decides to start the framework of a project for fun. In either case - they'll have my support and admiration.

Paulus said:
From my own perspective, I doubt that it could or would ever happen.
...
Whilst Open Source is a fine idea, and a great way to spread a sense of community through all those that use this route, if my Open Source FLAC converter for my PCs audio player goes "pear shaped", not much damage is going to be done.
If some PLC software mis-compiles the users code, people may die, lawyers will sue.
 
I like you already 🍻

wirepuller134 said:
Most of our home network is running exclusively opensource software, as I stated I keep one laptop running Windows XP just for these apps. It would be great if one of the groups in the opensource community would pick this up and run with it, but I don't have the time to contribute to a project from scratch.
 
since you brought up AB, i have a question?

do you own a copy of their software?

if the answer is yes, you will open yourself up to litigation.

#1. how do you plan to verify that your software compiles the program correctly?
#2. how do you plan to verify your new software without the use of
AB's software.

if you plan to use their software for any reason during the development/testing of your software, then you will have a problem.
you will in effect use their software to reverse engineer their product in order to debug your software.

i'm no lawyer, but have had some buisness law classes.

regards,
james
 
I would believe that infringment on intellectual property would be grounds for litigation...depending on what country you are in vs. the country of the company whose product you have compromised, will determine the complexity of the legal battle.

Companies in this country and I believe others are losing billions of dollars in theft of intellectual property.

There are many challenges with a third party writing a programming package without the primary company's blessing.

1. You would have to determine the neumonics within the firmware of the controller.

2. Once you have the neumonics, then the task of a compiler that works is no easy task. It is difficult enough when you have all the information.

3. There may be "hooks" in the code that the software may be required to toggle or flag that must be present in the software for a valid program to work within the controller.

4. What would happen if any piece of code was changed by the manufacturer? How would that affect your software.

My point being that without the support of the company, who you are trying to work around, this free software will likely not get off the ground. Factor in the time required to do so, and you are looking at a costly project, whereby the intent of free software just doesn't make sense.
 
Another question - this one theorectical. Would any legalities prevent them from locking their hardware to only work with their software. I'm thinking like an analogy to the days when you had to buy an AT&T phone. The counter-argument being that it's capitalism - buy their product or don't.

For example, if a hardware manufacturer wanted to be particularly evil, they could embed "pre-shared keys" on the hardware and software - plus use different keys on a firmware upgrade. You wouldn't be able to re-create compatible software without reverse engineering the software - at least gleaning the key from it. Any number of monitoring the challenge-response mechanism wouldn't help you. There's got to be something illegal about that, right?
 
You only open yourself up to being successfully sued if you violate their intelectual property, which you may end up doing accidentally.
You may open yourself up to getting shaken down by some lawyers and dragged through the courts just as an example to others if the company feels it is worth while. This is a common trick to harass people into submission without necessarily winning the case, and is most prevalant in the US but can occur anywhere.

As to whether you would get sued, it depends on the company who's code you are reverse engineering.

Siemens seems to have several third party vendors who can supply alternative programming software. Proworx for the Modicon was originally third party, until it was bought by Schneider.

Now, moving to open source software, I have observed that there are two types of successful open source models.
1, It must be able to make money for a company, examples of software to fall into this category are Linux, Open Office and MySQL.
2, it must be small enough to be programmed by a single person in a reasonable amount of time, such as PDF writer.

Anything that requires a large team or extended time without a company backing it ends up failing at the alpha stage.
Anything done solo that is not up to beta stage within a few months of weekend programming will fail.

The only exceptions I have seen to this are for games.
 
You only open yourself up to being successfully sued if you violate their intelectual property, which you may end up doing accidentally.
No. It is allowable to use (but not copy) information that is openly available. If the information is gathered by snooping, then there is absolutely nothing they can do about it. The only pitfall is if they have some technology that is genuinly patented.

As to if it is realistically possible to finish such a project, then I know of a few open-source projects that have been succesful, mainly communication drivers.

Hats off to surferb(oy ?) if he really can pull this off.
 
Jesper,

Protection isn't just through patents...there are also copy right laws that are designed to protect intellectual property for which software and code would fall under.

Obtaining code if it is open source is one thing, but reverse engineering to obtain the information that is not considered to be "open" or available is quite different.

That would be like comparing an Apple O/S and a Linix O/S. One is open and available for all to use, while the other is the property of one organization. It is the decision of that organization, whether to make their code available, license it with restrictions or use it only for their products.
 
Granted, I have yet to be sued for such a thing, but I don't see how comm snooping of a commercially available product can be construed at copyright violation. As Doug Adam stated you may inadvertently violate a patent. And the company might sue you just to back you off (which I think is one of many things in the US tort system that needs a big fix).

This would a lot like a private investigator sitting in a bar trying to overhear cell phone conversations. Once the information is out, which is effectively what comms are, I don't see where the violation would be if you grab that information and use it.

Keith
 

Similar Topics

Hi, There's a problem I face with upgrading the OS from XP which has the Step 7 Lite installed to windows 10. As I can't use a cracked version of...
Replies
2
Views
622
I'm going to develope a PLC (The hardware board with all the IO etc.). I'm going also to write the software that run inside that PLC. I'm looking...
Replies
23
Views
11,294
M
Hello, I'm Miguel Where can i download free software : for programming Siemens PLC's : - S7 300 - S5 - CPU 100 for programing Control Techniques...
Replies
16
Views
14,316
B
I am trying to find any software for studying of my PLC programming class. Do you have any idea?
Replies
2
Views
5,546
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,424
Back
Top Bottom