Sign in to follow this  
Followers 0
JimRowell

What's your favourite programming format?

Select the format you use the most (or would like to use the most).   16 votes

  1. 1. Select the format you use the most (or would like to use the most).

    • Instruction List
      2
    • Ladder
      14
    • SFC
      0

Please sign in or register to vote in this poll.

9 posts in this topic

The recent thread that lightly touched on this subject has gotten me curious. What DO you guys out there use. Does ANYONE at all use SFC or List? Does Ladder completely rule the waters? Let's have a vote.

Share this post


Link to post
Share on other sites
The question sounds little like "What do you prefer to use while eating: fork, spoon or knife?" Each of the formats has its own advantages and application. SFC is the best for algorythmisation, ladder- for writing programs and for monitoring. List format is the least convenient in reading and the use of it should be limited since programming consoles were replaced with PCs. Still, I use it in Medoc for cleaning NOPs and for correcting damaged files which cannot open in ladder format. The Ladder really rules.

Share this post


Link to post
Share on other sites
I'm still getting over my initial shock at hearing people here talk about List this way. Those PC's you mention are themselves almost always programmed with a text-based language. There are very few programmers in the world outside of the plc crowd that would even consider using a diagramatic form such as SFC or Ladder for anything other than planning and general layout. There is a bit of a movement towards using similar stuff for repetitive, cut and paste style things but that's about it. Do you suppose that several million people are just plain wrong? And trust me, plc programming is no different than any other form. Non-plc programmers are writing code that is both lower level as well as higher level than plcs and 99% of the time its done in text. Everything from microprocessors to desktop operating systems, for your fridge or the military. Even the web page you are reading from, the browser you're using to read it and the computer you're sitting at. The chips inside it..... etc. I did relay design for years using ladder diagrams and was quite comfortable with it but when I started programming plcs, I learned List. Perhaps it was easier for me because I had a solid computer background previously but its not really that hard to learn. Anyone can learn it. Its many thousands of times EASIER to read and follow a large program that is properly written in text rather than Ladder. Ladder is like Cuneform or runes on the wall. Its just too limited. That's why alphabetical languages took over for written words a long time ago. I can't help but think it comes down to general acceptance by plc programmers that its not worth learning or that its the old way or something. Sorry, I'm simply astounded that anyone would think that ladder has any strengths at all beyond being a useful companion tool. It is useful, no question, but I wouldn't write a program in it. Or maybe I'm wrong (I'm wrong a lot). I've seen a lot of machinery that works well and I know it was written in ladder. But I can't see myself slogging away that way. Maybe some tutorials in List would help paint a different picture. If anyone's interested. Jim

Share this post


Link to post
Share on other sites
I am interested in seeing your tutorials and posting them in our article section. http://www.mrplc.com/kb/ The Mitsu section currently does not have any tutorials written mainly because I am not a guru in Mitsu, but I certainly can program them when an application is presented, and when that time is given, I choose ladder because ladder logic with Allen Bradley seems to be the "wave". I can do things quicker in ladder logic than text base "visual basic" style coding. The only text based experience I have is visual basic with device net. It seemed cumbersome to me to program a whole machine in text style, mainly because number one, it was new to me and I don't have the experience that a person like you might have, so it would be nice to see your tutorials and understand your angle. But in the mean time, ladder style is certainly here to stay. I also see this reason because ladder style is more graphical. Most your end users, maintenance guys aren't going to want to debug your text based code and understand ladder logic easier. To me I always think about the end result, making the machine easy to use so the maintenance people can figure it out for themselves. It should always be thought of that way in my opinion. I have written "fancy" ladder logic in the past that was very hard to follow, the end result...phone call after phone call....how do I do this, what is this doing, all I want to do is add this input... So you see, from my perspective, I choose to do write ladder because I know what it takes to keep a machine running, and there is a common ground with most all machines, "Production Rules".

Share this post


Link to post
Share on other sites
Interesting point, Chakorules. Its also one that justifies a difference in approach for sure. Actually, the idea of who should modify and maintain a machine's control system is a discussion all in itself. And probably one that would create even more dissenting views. My opinion is that you shouldn't touch the program or modify the wiring on a machine if you don't have both: 1) An extensive background in designing control systems incl safety issues. 2) An intimite knowledge of the machine itself including the prints and program. Very few plant maintenance people can make those claims. They can do a great job of monitoring the machines, changing external parts such as motors and fuses and providing assistance to the person who will work on the program. I'm not playing favourites here or talking down to other trades either. Few engineers have any business doing control work. You need experience. Needless to say, since I don't write my code for novices to modify, I have a different view on this. I worry more about how hard it will be for ME to maintain it and provide updates. I comment the heck out of things and often include redundent code (just to make sure that contactor OPENS) and I usually will write for simplicity rather than efficiency (but you can't always do that). I section the program out into small parts, etc. Nonetheless, if I can read it but the packaging machine mechanic can't.... fine by me. That's not an attempt at preventing others from taking my market share. I feel its both my reputation for quality and the safety of the operators that's at stake. Kind of like, I won't perform brain-surgery, re-plumb your building or handle your stock trades... don't you touch the plc. My customers seem to agree. Perhaps I'm just very lucky in this regard while others are under pressure to conform to the customer's standards. I can understand how that would make a huge difference. As far as turorials go, I don't have a lot of time but I'll see what I can do if you're not in too much of a hurry. Jim

Share this post


Link to post
Share on other sites
Several points concerning previous posts. IMHO, of course. I totally agree with Jim in the following: - Most times the program should be written for simplicity rather than efficiency. - Ability of the end user to understand program is not a point of consideration for a programmer. But I cannot agree with this: "There are very few programmers in the world outside of the plc crowd that would even consider using a diagramatic form such as SFC or Ladder for anything other than planning and general layout... And trust me, plc programming is no different than any other form... " First of all, PLC programming IS different, as well as any other field of programming. Definitely not the most difficult, it has its own specifics, difficulties, limitations, challenge, tricks, etc. Then, I am sure that the majority of programmers in the world would be happy to have visualization means as effective and well accomodated to their needs as the Ladder is for the PLC programming. And now we come to the main point. SFC, Ladder and List are NOT alternative formats of the same programming level. Actually, Ladder is a form of representation (visualization) of the List syntax, and SFC is a form of representation of the algorythm. A good illustration may be a writer who plans his story in SFC, so speaking. Then the story may be represented as comics (Ladder), or as text book (List). Another illustration, from computer software. Advocating List vs Ladder in PLC programming is an equivalent of advocating DOS or Assembler vs Windows in PCs. Of course sometimes they are unavoidable, but why to use them for each and every work?

Share this post


Link to post
Share on other sites
Isn’t this turning into a fascinating debate? I have read everyone’s point of view with interest. The thought had never struck me that list would be better than ladder although I did try to learn both. I program in ladder because I am comfortable with it. I HAVE programmed in list just to see if I could do it. But my main problem with list programming was always the multiple branches. I just can’t visualise them properly, but with ladder I can see them. Putting a ‘down line’ in ladder is always the same key but depending where your branch occurs in list can be different instructions. I will admit I have never properly applied myself to list programming because I have never needed to but I am prepared to listen if someone tells me it is easier. Please take time Jim to write a short tutorial and maybe we will be enlightened. I am willing to learn and see your preferred method overrule mine.

Share this post


Link to post
Share on other sites
Well first, to what Sergei said... I wouldn't compare List vs Ladder as the same as Dos or Assembler vs Windows. Actually I would say with absolute conviction that both List and Ladder are different ways of representing the plc version of Assembler. List is a mnemonic view and Ladder is a graphical view. The point is, they are different views of the same thing. One may have a preference for one view over the other for various reasons but neither takes the "native" language of the plc and elevates it in complexity like C, VB, Delphi, etc do on PCs. Now for what the Guest (whoever you are ) said: I guess you are referring to the abundance of orb, anb, mps, mpp that you see when write in ladder and then switch to List view to see what it looks like. Its possible to eliminate much of that simply by understanding how the plc reads the code. Changing the order of your instructions is the answer. A quick example: ;example 1 LD pushbutton LD sensor1 OR sensor2 ANB ;example 2 LD sensor1 OR sensor2 AND pushbutton These both say the same thing. Example 2 is more readable when in List, plus it executes faster and takes less memory. Most people, including me, prefer the way example 1 looks in a ladder diagram and that's ends up being the way they draw it. Jim

Share this post


Link to post
Share on other sites
Jim's article is posted here for those are that interested: http://www.mrplc.com/kb/index.php?page=ind...x_v2&id=21&c=23 Jim did a great job.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0