Learning to program PLCs

Cannery

Member
Join Date
Oct 2007
Location
Maine
Posts
17
I am the "electronics guy" in the maintenance department at a sardine cannery.

I have been to a 3 day course on "PLCs for the Non-programmer" and have a fairly thorough understanding of how PLCs work and the basics of ladder logic. I have RSLogix to monitor, tweak and troubleshoot our AB PLCs and have had good luck with that end of dealing with PLCs. I have a fair amount of general computer background, including some amateur programming in BASIC and dBase.

I would like to write a fairly simple (I hope...) program to control the tube/stack blowers on our boilers. Essentially, it will check to make sure the boiler is running and then trigger an air solenoid for two seconds. It will need to sequence through four solenoids, one every 15 minutes.

My question is this: Is it reasonable to expect that I could figure out how to do this from a book, e-book or on-line course? If so, which book(s) would you recommend?


Thanks in advance for any suggestions or comments.
 
You should have everything you needed from those 3 days course to do this simple project. Having said that, it's somewhat of a tough transition to go from BASIC to Ladder.

For practice, click on the "Learn PLC" link on top of the page. That will be good practice for you will be doing. The most important thing about programming, PLC or otherwise, is to document the process first. the more detail the better then the process of translating the process description to code will be easy.
 
Greetings Cannery ...



and welcome to the forum ... in addition to the excellent advice from Harry and Mickey I would add this:



based on what you posted about your previous experience, you can probably figure this project out even WITHOUT the books ... (not that there’s anything wrong with “books” - it’s just that you’re probably not going to need them for this particular little project) ...



I’d recommend that you make a DETAILED list of your inputs and outputs, and a DETAILED list of your PLC hardware, and a DETAILED specification of how you want the program to control your system ... once those steps are done, post EVERYTHING here on the forum ... there are several people here who will be glad to just write the code for you - lock, stock, and barrel ... or (better yet) would be happy to help you work through the project yourself ...



so in a nutshell - yes, study the books and see what you can come up with ... but if the project isn’t moving along fast enough or smooth enough to suit you, then come back to the forum and ask for help ... we love little projects like this - as long as you’re willing to provide the DETAIL it takes to make the magic happen ...
 
Now THERE is an offer I can't refuse!

I'll gin something up and get back to you tomorrow, it's about time to wrap things up for today.
 
Good Morning, welcome to another perfect day in Paradise :D Pursuant to Ron's generous offer, here are the specifications for this project:

All inputs and outputs are 120vac

1 input from oil solenoid

5 outputs:

System Armed (Neon lamp, indicates oil solenoid is open and 30 second delay has elapsed)
Air Solenoid 1
Air Solenoid 2
Air Solenoid 3
Air Solenoid 4

PLC:
Choice A: A-B Micrologix 1500, 1764-24BWA with 1769-OW8 output module
Choice B: A-B Micrologix 1000, 1761-L16BWA
(DC inputs on both, will need to deal with input relays, not a problem for me)

Functionality:

1. Monitor oil solenoid on input.
2. When oil solenoid is energised, start 30 second On-Delay Timer (to ensure boiler hasn't misfired)
3. When 1 and 2 are satisfied, turn on system armed light, fire air solenoid for 2 seconds, wait 15 seconds, fire same solenoid for another 2 seconds.
4. Wait 15 minutes, repeat step 3 on next solenoid.

Notes:

1. Boiler typically does NOT run for more than a few minutes (less than 15) on each cycle. Provisions would need to be made to monitor cumulative boiler run time, and base the 15
minute blowdown cycle (Step 4) on run time, not elapsed time.

2. Program would need to keep track of which solenoid was tripped so they can be tripped in sequence 1,2,3,4 whenever the 15 minutes run time between blowdowns has elapsed. It may
take 3 or more boiler cycles to accumulate 15 minutes of run time.

I think I would like to try and puzzle this one out myself, with help from you folks. I've scratched down a few ideas and have a general concept of how its going to work, but where I get hung up is on how to keep track of which solenoid tripped last and how to pick which solenoid gets tripped on the next cycle.

I'm thinking I'll need to create a data word, check it for the next solenoid in line, and increment it after each blowdown, but I don't know how to go about that, or even if it's the best way.

If I were working with discrete components, I could use a binary word, look at bits 0,1 and 2 and with a couple of AND gates and a couple of inverted inputs, get 'er done.

If you need more specifics to get me started, let me know.
 
Is there a device that has the runtime for the boiler or are you intending to monitor the Oil solenoid and establish runtime from that device? the rest of the code looks simple enough. You will probably have to use a data word to monitor trip status combined with the use of the counter the Micrologix SLC instruction set does support the logix to perform the same types of operations that you can create with disctete components. In other words you can program those AND gates etc with the software. Hint ( the And, Or statement is in the rung layout) for example Ron Beauforts signature would come out " to be Or not to be" look into the boolean logic section of the books shown in the links provided
 
Last edited:
Cannery said:
Functionality:

1. Monitor oil solenoid on input.
2. When oil solenoid is energised, start 30 second On-Delay Timer (to ensure boiler hasn't misfired)
3. When 1 and 2 are satisfied, turn on system armed light, fire air solenoid for 2 seconds, wait 15 seconds, fire same solenoid for another 2 seconds.
4. Wait 15 minutes, repeat step 3 on next solenoid.


2. Program would need to keep track of which solenoid was tripped so they can be tripped in sequence 1,2,3,4 whenever the 15 minutes run time between blowdowns has elapsed. It may
take 3 or more boiler cycles to accumulate 15 minutes of run time..



Good Morning... Cannery

Have you started anything yet? if so post it and we can go from there

To monitor the mis-fire will this be another input? flame failure?

also any safeties? e-stop maybe? if so how are they controlled?

I think I would like to try and puzzle this one out myself, with help from you folks. .
Nice approach...
 
mordred said:
Is there a device that has the runtime for the boiler or are you intending to monitor the Oil solenoid and establish runtime from that device? the rest of the code looks simple enough. You will probably have to use a data word to monitor trip status combined with the use of the counter the Micrologix SLC instruction set does support the logix to perform the same types of operations that you can create with disctete components. In other words you can program those AND gates etc with the software. Hint ( the And, Or statement is in the rung layout) for example Ron Beauforts signature would come out " to be Or not to be" look into the boolean logic section of the books shown in the links provided

Yes, I plan to monitor the oil solenoid as my source of cumulative run time. It's already wired to the box the defunct Toshiba PLC (which I'm replacing) lives in.

And I got Ron's 2B or NOT2B yesterday. My boss often wonders why I'm sitting at his computer and chuckling...
 
No, there won't be a separate misfire monitor. The combustion control circuitry will take care of that and will shut down the oil solenoid which will stop the tube blower sequence. All this unit will do is automate blowing the boiler tubes and stack, which we are currently doing manually due to the failure of the old Toshiba EX box. Our mechanical services contractor won't even talk to us about it, it's so old...

I haven't started any programming yet, between the forty-eleven other things on my plate and wanting to get a little more pre-planning done.

When I was playing with dBase, I learned a hard lesson about the dangers of building a program piecemeal and then going back and patching it until it worked.
 
I haven't started any programming yet, between the forty-eleven other things on my plate and wanting to get a little more pre-planning done.

When I was playing with dBase, I learned a hard lesson about the dangers of building a program piecemeal and then going back and patching it until it worked.

If it were going to be a large program...then yes I would agree, but a smaller ones.. you can edit PLC programs very easy, I think you should start (when you get time) and post what you can come up with, the best way to learn is thrown into the fire.

I don't think you will not have any issues learning, there are many ways to write what you have posted as your outline and there are many smart people here that will make sure you do it correct, what version of software do you have?
 

Similar Topics

I am learning programming on my own for the AB 1400E touch screen.I would like to expand my capabilities here at work. No one else here has a...
Replies
7
Views
2,824
Hi all. I know the answer to the title is probably that there is no definitive "right" way to program. But there probably is many definite...
Replies
14
Views
4,459
I've gotten to the learning curve where I can program a call for pump to come on at set point but I'm not sure how to turn the same pump off when...
Replies
1
Views
105
I want to pick up an Allen Bradley PLC so I can practice writing programs. I have 10 years as a maintenance tech and a good understanding of...
Replies
8
Views
227
Hi all, i have started a new chapter in my career with a local company. a lot of their plc's is omron and i have the cx version 9.75 software...
Replies
25
Views
4,192
Back
Top Bottom