RSLogix Pro Silo EX.3

egoplast

Member
Join Date
May 2011
Location
Illinois
Posts
8
I have been working on this exercise for 2 days and am now utterly confused.
It calls for the switch to select one of three modes of operation. I have the fully automatic and semi-automatic running without a hitch. I can even run the by-pass mode, but there is a hidden bug in the program. If the switch is changed from auto or semi-auto to the by-pass mode (position C) the filling process doesn't stop.

What I have been trying to do is find a way that will stop the filling process if the switch is moved to by-pass during the filling process. The very beginning of the filling process has a shut-down coil (e3:0/5) that normally will stop the process if the stop button is pushed. What I have found is that even though the shut-down coil is de-energized the following logic remains active on the filling process (see attached picture)

To make the program function correctly I employed the use of more latch coils than I normally use, but I have looked over the code and do not see where a latch on the fill process. The only latch I used for the process is on the full coil that helps move the box past the proxy switch after the level indicator is triggered.

I use subroutines to respond to the switch position; could it be a case that the fill routine is started in subroutine 3 and then if the switch is moved to a by-pass (subroutine 5) that the PLC doesn't know that it need to shut off the fill process?

Subroutine 3 and 4 are almost mirror images; there is only a difference in the conveyor restarting on its own -vs- waiting for a command from a operator (start bp). Subroutine 5 (by-pass) is different than the rest. I thought if I de-energized the coil here, it would stop all processes down the line. I'll explore this possibility.

Ever run into this?
(sorry for rambling there-trying to think through the problem and type at the same time)

silo-question.jpg
 
I thought is would be helpful to post the complete code.

P.S. off topic
I just read the "New Here?" link and was curious about this statement:
"You are embarking on a career that is potentially exciting and satisfying. Entering this field certainly places you at the foreground of Industrial Control. Contrary to what some say, this field will be around for many years to come.
(You only need to put in the effort necessary to stay current with the technology.)"

Who would say that automation (Industrial Control) won't be around for years to come?

silo-ex3-main.jpg silo-sbr3.jpg silo-sbr4.jpg silo-sbr5.jpg
 
Last edited:
Ego,

You can use subroutines, but I choose not to for this simple program. In case your frustration level is maxed out, here is a solution that works. We can discuss the specifics later.

Notice that I set the 3-position Selector switch up just like we used to back in the days of hard-wired control switches. That works very well. You can switch positions at any time and no material is spilled.

Notice that I used a common technique on this material feeder, a "dribble" mode, which is a low-speed fill mode used as the box nears the full level. This allows filling at high speed until the box is nearly full, then finishing up with a few pulses to top off. That way, you get a full box every time but you don't overfill. You can do without the dribble mode, but you may get some overfills at times. With dribble mode, you can control the degree of spill as desired. Too much spill: simply increase the dribble time. Process too slow: decrease the dribble time.

I have been running it in "A" mode for 30 minutes, with Scan speed set at 80%, and no spill so far. If I switch my screen out-of-focus, and then back, it will cause a spill. Maybe someone has a way to prevent that, but I think it is due to the sensitivity of the Logixpro Simulator program.
 
Last edited:
For this student exercise, much confusion results from setting up the Start-Stop controls as merely Conveyor controls instead of "system" controls. If treated as System Start and System Stop, things become much simpler and easier. No latches are needed on the motor, and normally I think latching a motor ON is not good programming practice, certainly not for beginners.

Another tip is about how a material feeder works. Many students can't figure out, if the Box Full sensor is ON, and they STOP the fill, then why, oh why, does the box overfill and dump material onto the floor? This is just like real life. If you wait until the box is FULL to close the Fill solenoid, then the material in the chute between the Fill valve and the box will still fall down. If the box cannot hold the extra material, then guess what?

The solution is to close the fill solenoid BEFORE the box is actually full, so that the already-falling material is just enough to complete the fill -- just like a real feeder.

To run at 100% speed, set C5:0.PRE to 92, and add an XIC C5:0/DN to Rung 005. At least that works on my computer. Other computers will run faster or slower, so fill level will need to be adjusted for your own computer speed to maximize conveyor speed and minimize spills. As always, there is a trade-off between speed and spills.
 
Last edited:
Thank you for the example. I really liked the dribble mode idea. Hope you won't mind if I explore that method in my future projects.
 
Egoplast,

No, I will be proud if you find any of my suggestions useful!

EDIT: I can't take credit for thinking up the dribble idea. It is used by many material feeder manufacturers.
 
What I have been trying to do is find a way that will stop the filling process if the switch is moved to by-pass during the filling process. The very beginning of the filling process has a shut-down coil (e3:0/5) that normally will stop the process if the stop button is pushed. What I have found is that even though the shut-down coil is de-energized the following logic remains active on the filling process (see attached picture)
Having some spare time, and answering your questions, the only place that you Latch the Shutdown coil is in Subroutine 5. That might work, but Sub 5 would only be active when in Bypass mode. Actually, Sub 5 will never get called because of the address error on Rung 005 of the Main Program.

If you use Subroutines, you must be clear exactly what each one does, when each is active, and what deactivates each one. It helps if you can make each Subroutine a stand-alone program that is activated, does its job, then gets killed AFTER the next subroutine is called.
 

Similar Topics

So, I have a little dillemma I am trying to work through but I feel there is probably a better way. I've always liked the idea of using a VM in...
Replies
5
Views
2,025
I have some software that requires the use of rslogix 5 professional (Auvesey Octohub) But now that Rockwell no longer offers Pro licensees I am a...
Replies
6
Views
1,527
I want transfer my I/O data from schneider (Unity Pro) as a write data and RS Logix 5000 as a read data. I use Ethernet as an communication...
Replies
0
Views
689
I am trying to move an RS5000 21.03.01 install on a Win10Pro machine. Currently have this existing setup on another Win10Pro machine. The only...
Replies
2
Views
1,406
Hi, I’m looking at the difference between standard and pro versions of RSLogix 500. I know the pro version lets you edit the database in excel...
Replies
11
Views
2,734
Back
Top Bottom