Today is...
Wednesday, June 20, 2018
Welcome to, the global online
community of automation professionals.
Featured Video...
Featured Video
Watch an animation of a conveyor stacking operation demonstrating the use of a move on a gear command.
Our Advertisers
Help keep our servers running...
Patronize our advertisers!
Visit our Post Archive
Beginner in PLC
Help me to begin learning PLC programming...

I'm a fresher jumped into the field of PLC programming. I don't know where to start. I downloaded Siemens S5/S7 demo software and started learning. I didn't get any appropriate manuals for that. Is my first step correct? Help me out please, I'm confused.

Thanks in advance.

By Curt Wuollet on 14 November, 2008 - 1:41 am

S7 would be just about my last choice for someone I liked to start in PLC programming.



So sir... Can you tell me the first step to begin with...

By Curt Wuollet on 15 November, 2008 - 1:47 am

No problem. Some of the best starter systems are also the cheapest and the most generic. Generic is good because what you want to learn are principles of control and how to turn a process into a program rather than the instruction set and idiosyncracies of a particular line of PLCs. Take the Automation Direct (Koyo) Click for example. This is inexpensive enough for you to actually own. And you will learn more with something you can live with than something you can only play with on work time. The software is free and middle of the road. It has a limited instruction set which addresses the great majority of what PLCs are about. Once you truly understand the implications of Ladder Logic, then try other systems and add analog. messaging, etc. The S7 stuff tends to be at the other end of the spectrum. That isn't necessarily bad, just a lot more complex than using a PLC needs to be. That's fine where it offers an advantage, but pretty much different from everything else.

In reply to Curt Wuollet: I've had a look at the Koyo "Click" in detail, because I am writing a PC based soft logic library which follows its design fairly closely. The instruction set is very complete. They advertise it as having "only 21 instructions" (or some number like that), but that is just advertising. There are perhaps 21 *types* of instructions, but I count over 100 actual instructions if you count them the same way you would on most PLCs.

The only things that seem to be missing from the "Click" as compared to for example the DL205 are a few data conversion instructions (e.g. BCD to binary Gray Code to binary, etc.), Master Line Set and Reset, Stage Relays, and interrupts. These features are seldom used in smaller applications, so their absence here isn't too surprising nor much of a handicap.

There is a full set of boolean logic, compare, timer, counter, block copy/fill/search, shift register, drum emulator, subroutine, and math instructions. Anyone wanting to learn how to program a PLC would find all the features they could possibly want in the Click. They don't have any analogue I/O modules yet, so that is one shortcoming if you want that feature. I don't see any reason why they couldn't introduce some analogue, counter/timer, and other modules later though.

I think they are emphasising how "few" instructions they have because they are comparing it to their older product line, which has perhaps too many. Koyo has the best backwards compatibility in the industry, but they accomplished that by simply adding new instructions while never throwing old ones out. The "Click" looks like a fresh start with the obsolete features thrown out, and I suspect they will be introducing more models to fill out their product line for larger applications.

By Steve Myres on 16 November, 2008 - 1:47 pm

Actually, I think the Koyo instruction counting has always been a little screwy. They'd include instruction count in one of their point-by-point comparisons with AB or GE or whoever (which they'd win) but they'd forget to mention that it would take three instructions to do the work of a single AB box.

By Curt Wuollet on 17 November, 2008 - 1:10 am

I might be confusing it with another I've looked at recently, but I think they have also conceded that octal addressing might be confusing to the younger set. :^)



In reply to Curt Wuollet: The salient features are:

* 1) Decimal addressing (starting from "1").
* 2) No BCD or octal numbers anywhere, or even any way of dealing with BCD or octal.
* 3) No accumulator or accumulator stack. Or at least, none is visible from the user perspective. All math is done direct from register to register.
* 4) Math is done as conventional complex equations, rather than individual math instructions. That is, you would enter something like "(TD1+PI)/SQRT(DS9)" into a math instruction, rather than a series of load and individual math operations. Type conversion happens automatically, and you can mix types in an equation.
* 5) The data table is split into different data types (DS, DD, DF, DH, etc.). Integers go into an integer table, floating point numbers go into a floating point table, etc. The user doesn't have to remember how many bytes a particular type of number takes up in the data table. Each element takes one address regardless of size.
* 6) A complete set of instructions for copying and searching data tables.
* 7) Programming is ladder only (at least for this version). There is no IL visible to the user.
* 8) Copying between boolean and word addresses takes place using special "pack" and "unpack" instructions. This means there is normally only one way to address any particular data element (I/O registers are an exception).
* 9) Pointer addressing is done through one of the "copy" instructions. This means that pointers are available, but not as part of every instruction (this should prevent a lot of abuse of pointers which some people seem fond of).
* 10) Timers are 16 bit integers, and have 5 selectable time bases ranging from milli-seconds to days. Counters are 32 bit integers.

I'm basing all of the above on their web documentation, as I don't have one of these PLCs myself. As I mentioned before, I am writing a soft logic system. The first version closely followed the Koyo DL205. I recently re-targeted the logic engine to follow the "Click" instead, and I'm about 95% complete. I judged (and I was correct) it would be faster to do that than to finish support for the DL205 version.

I don't have a ladder editor (yet), so my version is all IL based (which is where I get the instruction count from). Koyo doesn't list the underlying IL syntax they use, however, I was able to use DL205 IL syntax for most of the instructions. From this I would guess that existing Koyo customers won't have much difficulty in adapting to their new PLC model despite the new addressing and pared down instruction set.

The features which make it "easy to use" also happen to make it easy to write a soft logic system for, which is my interest in it. In particular, the sharp separation of data types into different data tables, the register to register math, and the other features which separate the user from the low level details also allows a lot of flexibility in how to implement the features.

By Curt Wuollet on 18 November, 2008 - 10:24 pm

And it's affordable on a personal basis and the software is free. I think Koyo is serious about increasing market share. I would say it's the best of the new crop of "low end" machines because it's not really a low end machine. Once I have a few tons of wood pellets laid in to stay warm, I think I'll buy one to play with. Maybe even automate my wood pellet transport system.


Thank you sir... I downloaded the Click Koyo software and started learning sir... Any suggestions or ideas sir?

By Curt Wuollet on 21 November, 2008 - 12:31 am

That would depend on what you want to automate. Pick a machine and see if you can duplicate the functionality. Or try a sorting conveyor, or an airlock, or....



Is there a manual or example programs for the Koyo Click? Can that software emulate the PLC for debugging? How do you get it to do this?

By Curt Wuollet on 10 February, 2009 - 12:03 am

There is a manual and some example programs. From what I've seen, (I haven't bought one yet) most beginner level programs from any source should be doable. Koyo is a bit quirky, but they do know PLCs.



It would be nice to own a system but it is not necessary. Download CoDeSys programming software from 3S. It includes 5 or 6 different languages to program with and several methods for visualize and control your programs too(user interface can also be simulated). Simulation mode lets you run your applications without having the hardware. Ladder programming is OK but using only that limits you, there is more to find by combining different "languages" in a project.

Modern system like CoDeSys has a powerful structured text editor too.

In reply to Curt Wuollet: There are two entirely different series of S7. The S7-300/400 is a further development of the S5 line, and I agree that it is not a good starting point for learning PLCs.

The S7-200 was developed by TI outside of Siemens shortly before they were bought by Siemens. It is clearly based on ideas from the Koyo PLCs (which TI used to sell), but TI changed it from Japanese to IEC memory addressing and updated the instruction set by dropping seldom used (e.g. BCD) instructions and various other minor changes. The S7-200 is a fairly simple and conventional PLC. The manual is also much better than that for the S7-300/400. It is a good choice for learning PLCs, and in fact is used by some colleges for this purpose.

When the S7 series came out, I did a short study to compare them to the S5 series to see how the different models would fit into familiar applications. An S7-200 required fewer than half the number instructions to perform the same job as an S5. An S7-300/400 took more instructions than an S5 (I can't remember the exact number). Also, the S5 and S7-300/400 required that some of the program be written in IL, because the programming software wasn't capable enough of doing it in ladder. The S7-200 program could be written entirely in ladder.

If you like intellectual challenges, the S7-300/400 is a good choice. If you just want to get the job done on time the S7-200 is a good choice, provided the hardware fits the application.

By Peter Michael Buctot on 14 November, 2008 - 6:53 am

I suggest that you download the manuals of the PLC you are using. There are a lot of informative manuals prior to learning in the web site of Siemens. Although what you did was ok, it is better to have some reference in case you'll encounter some problems.

Thank you sir...

When you say that you are a beginner to the PLC world, does that mean you are also a beginner in electrical control as well? If you have a solid understanding of relay control schematics and all associated symbols, then you are ready to begin learning programming software. If not, take a step back and get a full understanding of wiring diagrams then all will become clear.

Yes, You can get some books to learn that. I think it is easy to start. And finally you will find it is hard to practice.