Ladder Editor For Linux.

Dave Ferguson said:

>I will NEVER get a large client to deviate from an unproven, unbacked control system.......period.

Yes, I've always suspected that.
 
C

curt wuollet

Hi Dave

> So I just read the Control Engineering magazine annual awards. Not one category of a non Windows product was listed. Apparently Windows based packages are ok for the masses. <

I don't find that remarkable, since none is offered by any advertiser in the magazine. I'll bet all the winning products are. Purely coincidental, I'm sure.

> What is the market share for Linux supported Pc sales......minimal
> Percentage. Industrial Pc sales with Linux even smaller. <

Absolutely, since it is still extremely challenging to buy any PC without a copy of Windows installed, whether you want it or not, that is hardly remarkable either. But Linux usage is enough to have IBM and Novell and RedHat profiting in a down economy, as well as most of the embedded players that are thriving.

> I will NEVER get a large client to deviate from an unproven, unbacked control system.......period. <

That one I believe.

> Can we please move on from this now 13 year old debate with no change in outcome. My employer and almost every one I have contact with has enough trouble supporting the softwares they have on the defacto standard OS, without trying to run on multiple flavors of "everyone will help you" software. <

Oh, but the outcome has changed, many of the hottest consumer products are running Linux, with many more in the wings. And even on these pages we've seen a lot of Linux in automation activity. You're probably using it in some facet of your business without even knowing it. And I agree the status quo is far too hard to support. Doing more of the same is unlikely to fix that. That would defy Deming's definition of insanity.

> I will stick to me "Best in class" Rockwell ladder software and it's price. I make money writing code and so should they. <

That's fine. I would like a choice and to perhaps divide the pie a little differently.

> I suppose that this same argument holds that music artists or any artists for that matter should give their work away for nothing. The plumber should not charge me and I should give him free tools so he can do it for me. And the car dealer should give his computer diagnostic machines away for free. Shouldn't the DCS manufacturers give away their software for free also and put it on free OS and free hardware. <

The music thing is a great analog. Many artists are finding that they do a lot better if they are not supporting the record companies and getting screwed. I don't mind paying for music, but the policy of selling you 10 songs you didn't want to get the one you do is far inferior to simply buying the ones you do want. It's a choice thing. I choose not to pay the plumber, I can buy the tools and do it myself and come out far ahead. What you do with the plumber is none of my business. And until recently, I did drive Chrysler products because all the diagnostics I needed were available by turning the ignition key on and off and it would blink out what was ailing it. The whole OBDC racket put it back under dealer control until third parties offered scanners. But I liked the simple thoughtfulness of the Chrysler idea, it was better for us users. And certainly not too much to expect. And I don't recall suggesting the DCS vendors give away their software, but the one that ports it to a free OS and runs on commodity hardware would certainly be doing his customers a favor. I would never advocate forcing you to use anything you don't want to. Indeed, that's what the whole discussion is about, choice.

> Bottom line, I do not want free ladder editors because then someone will want free machine code. The market has spoken, over and over and over. <

I'm fairly sure someone will pay you to do what you do regardless of what it runs on. Even most of the Linux kernel developers get paid these days because they are doing something someone wants them to do. Free tools wouldn't change what we do for customers, just how we do it. And I've already admitted, I would be happy even with commercial tools if they run on Linux. That would be part of the mess taken care of. The market can't speak when the vendors think like Henry Ford, "They can have any color they want, as long as it is black" How silly would that be today? Too many choices :^)

> Cmon let's move on already......<

We are in full agreement on that point. We've been in this same situation for way too long. Let's change it.

> Sent from my iPhone<
That's a lot of typing on a phone, thanks for the effort.

Regards
cww Itinerant automation guy.

Sent from my Linux box.
 
> I just don't see that type of SFC programming being easier to write than text programming using a system such as I described earlier. I've done it both ways and am at least 5 times faster with a structured programming language and RTOS. Maybe we'll just have to say it's a matter of preference. <

It is not only a matter of preferences and SFC is not the same as function block display (FBD).

We have reimplemented a complex graphical application - written in C/C++ by 6 developers within 3 years - with FBD and 3 developers within ~6 months. It is more effective to work without the syntactical overload of textual languages and application specific composite function blocks ... just caring about the semantic of function blocks.

Best Regards
Armin Steinhoff

PS: please write this lamp on/off example in C++ ...
 
Hello,

In reply to James Ingraham:

> put the editor on the "PLC" and pull it up remotely using a Web browser. <

http://www.plcsimulator.net/
I have no idea what is the background, but it looks like an implementation of the approach you describe.

--
Best regards,
Vladimir E. Zyubin
 
On Dave Ferguson's post:
TA> What is the market share for Linux supported Pc sales......minimal
TA> Percentage. Industrial Pc sales with Linux even smaller. <

if it would be, for example, a web-like interface, the core software did not bother the end user... Wintel, or Lintel, or wxWorks+Motorola. So, the idea has the right to exist and to be implemented.

TA> Bottom line, I do not want free ladder editors because then someone will want free machine code. The market has spoken, over and over and over. <

And what? Let it be. Free machine code does not mean a work without any payment. So, free machine code does not contradict the market laws.

--
Best regards,
Vladimir E. Zyubin
 
In reply to Armin Steinhoff:

If my interpretation of your on/off example is correct a version if this in C (I won't use C++ since you really don't need it for this example) would be as follows (or very close to it). I'm assuming the button is a real switch and has been debounced by external software, or the debounce could be handled in the Waiting function with some modification. I won't include the function internals because they are simple and obvious.

****** Begin Code ******

While(1)
{
TurnOffBit(MyLamp);
WaitForBit(MyButton, ON);
WaitForBit(MyButton, OFF);
TurnOnBit(MyLamp);
WaitForBit(MyButton, ON);
TurnOffBit(MyLamp);
WaitForBit(MyButton, OFF);
}

******* End Code ******

What makes a system in C or C++ useable/readable/maintainable for automation is the specific function calls and/or classes available for you to use. In some cases using OOP could be bad but again it is all up to whoever programs it. I stress that a bad IEC 61131 program can be just as bad as a bad C/C++ program.

What CAN be difficult is that non RTOS programmers will struggle with synchronizing tasks using RTOS constructs and I think these things need to be addressed. I have seen flowchart and/or SFC types of languages defining the overall program flow, but why could not these internal flowchart elements be RTOS functions and tasks running in series/parallel with a RTOS support?

KEJR
 
In reply to Vladimir E. Zyubin:
>> put the editor on the "PLC" and pull it up remotely using a Web browser. <<

I didn't look at the link you provided as they require a log-in, but a web based AJAX application for ladder programming is more or less the approach I intend to take for my own soft logic project. I've sketched out some ideas about how it would work and everything looks feasible so far using standard Javascript and SVG and a shared browser/server processing model. This would be completely platform independent.
 
W

William Sturm

> put the editor on the "PLC" and pull it up remotely using a Web browser. <

I gotta admit, that is an excellent idea...
Bill Sturm
 
In reply to Curt Wuollet:

> I don't find that remarkable, since none is offered by any advertiser in the magazine. I'll bet all the winning products are. Purely coincidental, I'm sure. <

With the more reputable publishers "annual awards" come from the editorial staff. With the less reputable ones, the "annual awards" list comes straight from the ad sales staff and is based strictly on per vendor ad sales revenue. For many magazines and web sites "annual awards" only exist for the purpose of rewarding (or pressuring) their major advertisers and they have a set price list for winning in each category. I don't know Control Engineering's policy, so I don't intend any of the preceding to apply to them.

As for the rest of the discussion, I think he's simply trolling you because he knows he can always count on you to bite. I seriously doubt that he actually believes most of what he posted, so you are wasting your breath arguing with him.

You can however tell him that he is welcome to pay for your software. For $2000 he can have the "enterprise edition" that comes with a really nice shiny "enterprise edition" logo. Now that's value!
 
C

curt wuollet

Yes, but it's hard to do with someone else's PLC. Not a problem with a Linux PLC. It doesn't solve my problem though, until Linux PLCs become ubiquitous.

Regards
cww
 
C

curt wuollet

And I promise to rev it every year or so, so he can pay for it again. But really, Dave has a role in the cause, if for no other reason, than a debate is much more interesting than a monologue.

Regards
cww
 
In reply to KEJR:

> [ pseudo code deleted :) ]

> What CAN be difficult is that non RTOS programmers will struggle with synchronizing tasks using RTOS constructs and I think these things need to be addressed. I have seen flowchart and/or SFC types of languages defining the overall program flow, but why could not these internal flowchart elements be RTOS functions and tasks running in series/parallel with a RTOS support? <

That's exactly what we do.

Regards
Armin Steinhoff
 
I admit that for "simple" to intermediate projects that a web interface
ladder editor would be a nice thing. You could do this with a fanless PC
to start, and maybe do an open source "Brick" PLC as an addition later
on.

I wonder how difficult it would be to use Beremiz project or something
else existing and have the editor run in a browser? Either that or
rewrite the front end to be able to be run in a browser and tie into an
existing projects "runtime".

KEJR
 
In reply to Armin Steinhoff:

You mention your system can develop an outline for overall top level structure using graphical language (lets say SFC), but can you have parallel execution of SFC elements that are coded in text code and happen to contain "blocking" code? In the case of automation I'll define blocking as waiting on an external resource such as an input bit from a sensor. i.e. code equivalent to:

While(Mysensor == OFF);

What I'm getting at is that I have seen systems that allow you to definea system structure in SFC, and to have the internals of the SFC blocks consist of a text language (usually Structured text, or ST). The problem with a lot of IEC implementations, especially related to ST code is that the internal ST code must not block or else the system will watchdog.

Does your system allow parallel execution when one or more of the executing SFC elements are blocking? Is this accomplished via multiple RTOS threads, or do you do the technique of skipping to the next parallel element once a blocking condition is encountered on the current element?

Thanks,
KEJR
 
D

David Ferguson

OK I'll bite.....................for one thing, if you think that I need to see Control Magazine to tell you who the TOP players are in each category, you are very sadly mistaken. I could have made the entire list (with my eyes shut) and been within one place in every category from 25 years of experience.

Second, if you think I give a rip what OS the controls run on, you are also sadly mistaken, I use them all (and PS, I DON'T BUY THEM). What I am making a point and have said it a million times over the many, many years of listening to this VERY OLD debate is that I am a TOOL USER. I do not care what TOOL I use to do it, the value (ie Intellectual property) that I wield is in WHAT I DO WITH THE TOOLS, not which tool I do it with. Sort of an auto mechanic who actually fixes cars, or the carpenter who BUILDS houses, I don't sit around and whine about how good I would be with a different hammer or wrench.

While this debate has been going on and on, I have quietly been busy selling my services. If you are so adamant that this is the way to go................QUIT TALKING ABOUT IT and get busy doing it. GO, START, BEGIN, quit trying to convince us.............it is a free market world, go for it. Less talk, more action............in the meantime I will be happily employed using the tools not worrying about making them.

Dave Ferguson
Control Systems Engineer

Gainfully employed with too much to do and no time to worry about what tools I am employed with

Sent from my IPhone (with non Microsoft Software)
 
M. Griffin asked:
> The question is do you know how to compile and download a single rung of ladder into a modern AB PLC and get it to run? <

I know how. I spent some time analyzing the byte codes of a ControlLogix (a fairly complex PLC)

> A simple command line program would be good enough to demonstrate that.<

I can produce it if the ControlLogix become a target of the project. The program would list the bitecodes with symbolic names (contrary to most PLC, the symbol table is stored into the PLC memory)

I must stay anonymous until Rockwell give us permission to reverse engineer their product.
 
In reply to Ken E: I think it's a lot easier to write your own soft logic system than it is to reverse engineer a closed proprietary one so you can interface a programming package to it. Some older PLCs documented their binary codes and memory maps, but I'm not aware of any current ones which do.

You can still design the soft logic system so that it is source code and data table compatible with a popular model PLC. That way people can port their existing programs over to the new hardware and they can use their existing knowledge on the new system.

Once you have the hardware to run the programming web server on, why wouldn't you run the soft logic system on it at the same time? That way you can integrate the two and they can share code instead of duplicating functions.

There is lots of interesting and very inexpensive hardware coming out now that is suitable for that, a lot of it ARM based. It's a totally different situation today from what it was 10 years ago. I expect to see PLC vendors eventually simply using this same hardware in their own branded cases because it will be much cheaper than designing their own boards. It's the same situation as when they started using Ethernet instead of RS-485. The low cost of commodity hardware components simply made it impossible to ignore if they wanted to remain competitive.

If PLC vendors wanted to use the web approach, they could add web server software to the PLCs. An actual web server itself is a simple program. The difficult part would be the parsing/compiling back end which would run inside the PLC itself.

I'm calling that "difficult", but I believe that actually that's how PLCs used to work with hand held programmers. That is also why you used to be able to use the same version of programming software for years with different models of PLC, while today you have to upgrade every time you turn around. It's a design choice by the vendors.

What I am describing above is for a simple programming package. If you want a lot of bells an whistles, then that is a lot of work no matter how you write it. However, most people are probably only using a fraction of those features anyway.

> I wonder how difficult it would be to use Beremiz project or something else existing and have the editor run in a browser? <

You might be able to use parts of it, but Beremiz is designed as a conventional "fat" client that runs on a GUI desktop. A web application would have a completely different internal design. What is more, Beremiz is designed to work as an IEC-61131-3 system using MAT. I would be surprised if you could easily adapt it to something else. I looked at the overall design, and I didn't see any obvious way to do so. It's one of a number of alternatives that I considered before deciding on the approach that I intend to take.
 
C

curt wuollet

Actually I have begun, but a wise man said "The sooner you start coding, the longer it will take". I am going to need help for sure. But, I have been active. I have looked at the options, and I don't think any of the GUI builders is going to be of much help. I am looking closely at Python because "they" say that you can build a good looking GUI app with less code. I am trying to dispel my biases against interpreted languages, Hungarian notation and OO, and trying to find out how one would do possibly low level serial port programming and the other tasks needed to interpret and translate and fold, spindle and mutilate data where I would be more comfortable with C. Indeed I will probably do a "proof of concept" in C, as has been suggested. I have also asked Automation Direct and Host Engineering if they are interested in helping the project with information. I haven't received any response yet as that was this evening. I propose to look at their DL06 and friends first as this is a sort of generic PLC and can be found used inexpensively. They have a free demo version of their DirectSoft software available. The only machine I have with a Windows license is the one I'm writing this on, so I'll have to see if I can find that hdd and install it and set up a dual boot. While I was on their site, I noticed the click has grown analog ports. But,(sigh) it doubles the price.

Regards
cww
 
C

curt wuollet

If you have hardware, ControlLogix could certainly be a target. I don't and only would if, by chance, I find a job working with it. Let us know what you hear. But I'm encouraged to hear someone who thinks it's feasible.

Regards
cww
 
In reply to Anonymous: If you are worried about what Rockwell might do if they found out who you are, then I would recommend not revealing the information until circumstances changed. You're never really anonymous on the Internet as long as web and mail servers keep things like IP logs.

People have reverse engineered protocols and formats before, and if they went about it the right way there was nothing the originator could do about it. However, you would want to consult some competent legal advice before trying this yourself. There would be no point in putting a lot of effort into this and then letting AB get a court injunction preventing the result from being re-distributed.

However, the fact that you believe it is possible at all does tell us a lot. That might inspire someone else to give it a shot.
 
Top