Sign in to follow this  
Followers 0
Mihai_m

Plc beginner need advice

10 posts in this topic

Hi guys,

I'm Mihai from România, I'm new around here on this forum as I am new on plc domain. 

I need your help by giving me some pieces of advice ! How did you started programming plc's? How do you conceive a usual software application? (for example ladder diagram) 

What should I do to become proficient in this domain? 

I usually encounter problems by thinking the ladder diagram, and I'm getting stuck into it. 

Thank you and hope to learn as many things as possible from y'all. 

 

Greetings, 

 

Mihai

Share this post


Link to post
Share on other sites

Ladder diagram is like a power flow schematic.  if you can read an electrical drawing, ladder should be very similar.

Most automation vendors have classes, both in person and online, as well as some free introductory classes online.  That's the best place to start, unless you have a PLC and software and time to teach yourself.

1 person likes this

Share this post


Link to post
Share on other sites

Hi,

Thank you for your quick answer and for your advice! 

Yes, I do have some software and sinulators to play with ( Tia portal v15+plc sim, Rslogix5000+factory talk hmi design), but I think I have a problem with the analytical thinking of the application.(for example to build an ladder for an industrial production line of tires ). Well, after I start creating the first 2,3 rungs, I'm getting stuck not knowing which is the normal flow of the ladder diagram, or what's supposed to come next. 

How to start creating the ladder? First to make schematic(instruction list) on paper with the steps and after to implement on pc ? 

Share this post


Link to post
Share on other sites

programming is not-intuitive, it takes time and practice to get proficient.

and like with anything else, it can be done in steps. start small, build basic logic blocks. then use the blocks to build something. 

 

some very basic blocks / milestones that are used all the time include:

1. start/stop logic using seal-in branch (selfresets on powerup, regardless if used memory is retentive or not)

2. set/reset logic (can be used to retain info after powerdown - if used memory is retentive) 

3. reset block of memory (such as faults etc)

4. watch dog timer logic (to detect timout conditions, essential to build diagnostics and alarms)

5. toggle bit (flip-flop)

6. mode selection (auto/manual/ whatever)

7. debounce logic  

8. using timers and counters

9. using subprograms

10. sequencer (logic that drives some proces in certain usually predefined flow) 

11. indirect/indexed addressing

12. string manipulation

etc.

 

once you master some of those you can replicate them (happens a lot) and combine into something that has useful purpose. 

then you are no longer thinking in terms of individual lines of code but how the code blocks fit together to accomplish the task.

and when you are moving to a different platform, you can quickly create same blocks and get going. 

learning programming involves readingprograms written by other people. one can learn a lot from both good and bad programs. check download section for some examples. 

 

 

2 people like this

Share this post


Link to post
Share on other sites

I usually challenge any new programmer not to start with something sophisticated like a programming line but something simple like a traffic light.

Give yourself Six Outputs {Red East/West, Yellow East/West, Green East/West. Red North/South, Yellow North/South and Green North/South}.

Assume the whole process starts with Red East/West on and Green North/South on for 60 seconds, then Yellow North/South on for 30 seconds, Then Red North/South and after 10 Seconds turns on Green East/West for 60 Seconds{which turns off Red East/West}  Then Yellow East/West for 30 seconds on and then Red East/West back on and after 10 seconds return to Green North/South on for 60 seconds.  This is a continuous loop.

Simple to explain and envision, you'll find it hard to code for your first project though.

1 person likes this

Share this post


Link to post
Share on other sites
21 hours ago, panic mode said:

programming is not-intuitive, it takes time and practice to get proficient.

and like with anything else, it can be done in steps. start small, build basic logic blocks. then use the blocks to build something. 

 

some very basic blocks / milestones that are used all the time include:

1. start/stop logic using seal-in branch (selfresets on powerup, regardless if used memory is retentive or not)

2. set/reset logic (can be used to retain info after powerdown - if used memory is retentive) 

3. reset block of memory (such as faults etc)

4. watch dog timer logic (to detect timout conditions, essential to build diagnostics and alarms)

5. toggle bit (flip-flop)

6. mode selection (auto/manual/ whatever)

7. debounce logic  

8. using timers and counters

9. using subprograms

10. sequencer (logic that drives some proces in certain usually predefined flow) 

11. indirect/indexed addressing

12. string manipulation

etc.

 

once you master some of those you can replicate them (happens a lot) and combine into something that has useful purpose. 

then you are no longer thinking in terms of individual lines of code but how the code blocks fit together to accomplish the task.

and when you are moving to a different platform, you can quickly create same blocks and get going. 

learning programming involves readingprograms written by other people. one can learn a lot from both good and bad programs. check download section for some examples. 

 

 

Thank you for your advice! Valuable and dynamic! 

Share this post


Link to post
Share on other sites
19 hours ago, BobLfoot said:

I usually challenge any new programmer not to start with something sophisticated like a programming line but something simple like a traffic light.

Give yourself Six Outputs {Red East/West, Yellow East/West, Green East/West. Red North/South, Yellow North/South and Green North/South}.

Assume the whole process starts with Red East/West on and Green North/South on for 60 seconds, then Yellow North/South on for 30 seconds, Then Red North/South and after 10 Seconds turns on Green East/West for 60 Seconds{which turns off Red East/West}  Then Yellow East/West for 30 seconds on and then Red East/West back on and after 10 seconds return to Green North/South on for 60 seconds.  This is a continuous loop.

Simple to explain and envision, you'll find it hard to code for your first project though.

Hi, 

Thank you for the tips and for the proper example. Also found it on youtube and tried to understand the logic and after I implemented it on Rslogix 5000. 

 

Share this post


Link to post
Share on other sites

Can you post the YouTube Link you found.  I'd be curious to watch it also.

Share this post


Link to post
Share on other sites

Not a bad example, but it has all 4 yellow on at the same time, this would not occur in U.S. / Western Light Stacks.

He also only makes one pass through the lights.  The request I made was for it to never stop cycling.

If you start with his logic you'll need to resolve those two isses. {Note: Both can be handled fairly easily}

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