domster2003

Question About PLC Programming for a Concrete Batch Plant

10 posts in this topic

Hello all,

 

I am working on a batch computer for a concrete mixer, and the computer that was running the plant before has stopped functioning. It was an old PC running MS DOS. The code is encrypted and replacing it is not a cost effective option.

 

I therefore am looking into using a PLC to control this batch plant. I have a setup that was in progress by another employee who no longer works for us, it is a CLICK PLC from Automation Direct, and it is supposed to be paired with a EA9 T8CL touch screen HMI from the same company. I would like some advice on just some basics, I would greatly appreciate some input.

 

I essentially only have one input, and that is an analog scale, 0-20mA input. I have digital outputs for sand, gravel, cement powder, and a water meter for adding water to the mixture. I have one final output, an additive for reducing the required water in the concrete.

 

What I would like to create is a program that when it is told to start, looks at the scale, and if the scale is less than say 100 pounds, opens sand until it hits 1700 pounds (as an example), then turns it off. Then it turns on the gravel and adds that for another 1700 (again for example, all these are variable), turning the gravel off after. Next the cement, and so on. I don’t need someone to write the program for me, but can someone point me in the right direction on using an analog input to turn digital outputs on and off? Again, your help would be greatly appreciated.

 

Thanks for taking the time to read this long post.

Share this post


Link to post
Share on other sites

The actual program will be fairly easy using comparison contacts. A catch will be that when an output is turned off to halt the flow of one of the components there will be some still falling. You'll have to experiment and find the amount to anticipate, probably different for each component.

 

Share this post


Link to post
Share on other sites

you may want to add ingredients in certain order to minimize errors. using analog input in your case is simple comparison. instead of hardcoded values use variable and make sure they are retentive (keep value after PLC is rebooted). code should be very simple, something like:

concrete mix.png

Share this post


Link to post
Share on other sites

i will second what @b_carlton said about ingredient falling through the drop chute after it is turned off.  You'll not only want to turn off before target and allow the drop to reach target.  

You'll also need to plan for what do you do when the gate valve for gravel sticks and you've got too much of that ingredient in the batch.

you'll need a scrap or dispose unload mixer plan.

if you get really fancy later on you'll be able to predict a valve failure.

Share this post


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

you may want to add ingredients in certain order to minimize errors. using analog input in your case is simple comparison. instead of hardcoded values use variable and make sure they are retentive (keep value after PLC is rebooted). code should be very simple, something like:

concrete mix.png

Oh wow I really appreciate the example that will definitely help me to figure out what I am doing here. I do have a question, it may be dumb but I am very new, what is the Run command you use several times? I see it referenced as an input most spots but in line 1 it appears to be an output as well?

I am just trying to figure out exactly how the plc thinks, syntax, all the things that make people pull their hair when it comes to troubleshooting. Especially for someone as new as me. Thank you for the help!

Share this post


Link to post
Share on other sites
1 hour ago, domster2003 said:

Oh wow I really appreciate the example that will definitely help me to figure out what I am doing here. I do have a question, it may be dumb but I am very new, what is the Run command you use several times? I see it referenced as an input most spots but in line 1 it appears to be an output as well?

I am just trying to figure out exactly how the plc thinks, syntax, all the things that make people pull their hair when it comes to troubleshooting. Especially for someone as new as me. Thank you for the help!

If you're as "NEW" as you're sounding you might find the following video useful as well as the documents referenced on that page.

https://www.automationdirect.com/videos/video?videoToPlay=1smIvqPL9Hs

The "run"  bit is an internal register to indicate the system is running or making a batch.and as such can be both Coil and Contact.

Share this post


Link to post
Share on other sites

yup. normally it could be output to show if the process is running but it could also be an internal flag or unused output.

this prevents you from holding the start button all day long and it can turn off automatically once the process is complete.

you can think of it as a delegate of the input "start" 

Share this post


Link to post
Share on other sites

Hello Domster, you may use basic functions to get the job done. The tricky is to scale properly your analog signal. I have attached a sample (originally for Omron)  that you can easily translate to your Ladder program

immagine_2022-03-09_180234.png

Share this post


Link to post
Share on other sites

One thing I would recommend is to incorporate a calibration routine in the logic somewhere so you can easily calibrate the scaling.

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