Sump Level Logic

Introduction to Sump Level Logic

When writing sump level logic, keep in mind, we need to know what the sump level is. We usually provide that to the processor with an analog input. We’ll assume that you have the level transmitter set up, we will scale this transmitter into inches. Although I’m writing this logic for the ControlLogix processor, similar logic can be applied to other processors as well using the same concept.

Configuring the modules

First, I’ll add two modules to the I/O configuration. I’m adding an output module to control the motor starter for the pump, and an analog input module to read the sump level.

Next, I’ll go to the properties of the analog input module in slot 2. I’m going to scale Channel 0 to 0 to 50 inches. This is based on a 4 to 20ma signal from the transmitter.

Set up the Tags

Thirdly, I’ll add some aliases. This will make our logic easier to understand later on. The tag called SumpPump will point to Local:6:O.Data.0. Likewise, the tag called SumpLevel will point to Local:2:I.Ch0Data. This will be our analog tag.

Write the Logic

In this example, we’ll have the pump turn on at 15 inches, and off at 5 inches. We’ll just need some simple compare instructions to make this happen. We’ll use “Seal-In” Logic for this to happen. A “Seal-In” branch is when we have an XIC on a branch with the same address at the output instruction.

Notice that when the sump level exceeds 15 inches, the SumpPump tag will energize. In the next branch, the XIC is true for the SumpPump. Certainly if the SumpLevel is above 15, it will be above 5 inches. However, when the sump level drops below 15 inches, the bottom branch is still true. Furthermore, the bottom branch remains true until the sump level drops to 5 inches. This is when the seal is broken, and the SumpPump bit shuts off.

It’s important to realize, however, that if your motor starter has an auxiliary contact, you could use an input to seal the bottom branch instead of the address of the output. This ensures that the motor starter did indeed engage before sealing the rung.

This is just a simple example, and will not apply to all applications. Always be sure take any safety precautions into account before using any logic on this site in any way.

For more information on ControlLogix, visit the ControlLogix Category Page!

— Ricky Bryce

Leave a comment

Your email address will not be published. Required fields are marked *

four + one =