Override seal-in circuit

unsaint33

Member
Join Date
Sep 2019
Location
MInnesota
Posts
118
I am practicing PLC programming with Rslogix500 and SLC500. I got a typical seal-in branch circuit (see the picture). I am trying to add a HMI PB tag for momentarily activating the load.

In other words, when I release the HMI PB, I want the load to de-energize.

My attempt shown in the picture did not work. In other words, when I release the HMI PB, the load stays on. I think because when the logic is scanned before the output is updated, the M holding tag is on and the XIO hmi tag is on also.

momentpb.jpg
 
I believe what you're trying to do is implement a jog function with the HMI. Maybe look into 3-wire start circuits with jog functions and replicate it with your logic.
 
What i do in this instance is have a rung for the automatic cycle and a rung for the manual cycle and have them interlocked.

rung 1 - auto and not manual - start motor using b3/2 and seal in b3/2
rung 2 - manual and not auto press jog pb and energize b3/3
rung 3 - power on and b3/2 or b3/3 output M is turned on.
may need to tweek rungs but this should help.
yes, its longer, but easier to understand
james
 
[Summary: this is basically what JamesM said]


This should do it, but it is way too complicated. Yeah, I think I know what to do to simplify this.

Code:
      remote start                                   M
---+-------] [------+---+---------------------------( )-------+---
   |                |   |                                     |
   |        M       |   |  remote start       remote started  |
   +-------] [------+   +------] [---------+--------( )-------+
                        |                  |
                        |  remote started  |
                        +------] [---------+

   remote started     HMI PB         M
--------]/[--------+---] [----------(L)---+---
                   |                      |
                   |  HMI PB   M     M    |
                   +---]/[----] [---(U)---+           |
Basically the desired behavior requires a second bit ([remote started] above) to store why the motor is running i.e. from a [remote start] momentary or from the [HMI PB] momentary.

Ah, here it is.

Code:
      remote start        remote started
---+-------] [--------+--------( )----------
   |                  |
   |  remote started  |
   +-------] [--------+


     remote started      M
---+------] [--------+--( )------
   |                 |
   |     HMI PB      |
   +- ----] [--------+
Of course, it is missing a stop, but that is left as an exercise for the student ...


Also, it might be wise to AND an [XIO HMI PB] on the [XIC remote start] branch, and to AND an [XIO remote start(ed?)] on the [XIC HMI PB] branch, so either bit, [remote start(ed?)] or [HMI PB], is inhibited whenever the other is in operation. How and whether to do that depends on your process.
 
Last edited:
Normally you would have a local/remote selection as well as a local run button.
There is a way without, that is to produce a OSF (one shot falling)(I think that's what it's called in AB) in other words when the HMI button goes off it creates a pulse on a bit to reset the latch like this:

HMI Run.png
 
[Update: this is esentially the same as @parky's suggestion*, which suffers from the same "feature" that releasing [HMI Start/PB] will turn off the motor, whether it was started from [remote start] or from [HMI Start/PB].

* and use the same number of instructions, interestingly enough
]



For the academic purpose of seeing it on one rung, the following seems to do it, but note that, after pressing [HMI PB] while the motor is already running, the release of [HMI PB] will stop the motor.

Code:
     remote started                    M
---+------] [--------+---+------------( )---+---
   |                 |   |                  |
   |    M   HMIed    |   |  HMI PB   HMIed  |
   +---] [---]/[-----+   +---] [------( )---+
   |                 |
   |     HMI PB      |
   +------] [--------+
 
Last edited:
Normally you would have a local/remote selection as well as a local run button.
There is a way without, that is to produce a OSF (one shot falling)(I think that's what it's called in AB) in other words when the HMI button goes off it creates a pulse on a bit to reset the latch like this:

For some reason, the OSF function is grayed out.
 
remote started M
---+------] [--------+---+------------( )---+---
| | | |
| M HMIed | | HMI PB HMIed |
+---] [---]/[-----+ +---] [------( )---+
| |
| HMI PB |
+------] [--------+
[/code]

This worked! I honestly don't know yet how this is different than my failed one. I have to brush up on my knowledge on the logic scan and output update. Thanks
 
This worked! I honestly don't know yet how this is different than my failed one. I have to brush up on my knowledge on the logic scan and output update. Thanks




Yah, in your original (below), the motor is on (M is 1) on the scan that starts after the (HMI PB) is released (changes from 1 to 0), so when the scan executes that rung, the instructions along the path [XIC M=1] => [XIO (HMI PB=0)] all return true, so the motor stays on (the rung feeding the [OTE M] instruction is true).

For any need to brush up on reading ladder, I very, very strongly recommend Ron Beaufort's youtube series, see here; spend the time on those eleven videos, each taking less than 10 minutes, and in less than 2h (plus any recycling) you should know everything you need to know to read ladder. Note especially Ron's jargon: rungs are true or false; bits are 1 or 0. Ron does not mix and match the wording e.g. "set a bit true," or even "set a bit to 1," are not used. 95% of time I could get away with that language, but when the wheels come off and it gets confusing, dropping back to Ronspeak often puts the wheels back on.

The problem is that the (M) bit, which is the seal-in, can hold but two states: 0 for motor off; 1 for motor on. When M is 1, there is nothing spare to store why it became one.


That is why @parky's and my two solutions require additional bits. In the latter 7-instruction solutions, rather than store why the motor is running i.e. why M is 1, the extra bit informs the process that the (HMI PB) has a 1-to-0 transition, which is interpreted as a momentary-run period ending, which is why it turns off a motor that was running before the HMI PB was pressed (become 1).



attachment.php
 
Last edited:
It was a design feature lol, So if running from remote it de-latched it :p
I assume this is what he wanted, otherwise what good would the button do if it is already running, well that's my excuse.
 
It was a design feature lol, So if running from remote it de-latched it :p
I assume this is what he wanted, otherwise what good would the button do if it is already running, well that's my excuse.




Yeah, it's a design feature: if you code it that way you don't need a stop button, just hit the momentary run and the motor turns off when you release it ;).
 
Hmm.. Interesting, did you notice the OP did not have a stop button, just the way my mind works thinking it was remote start/stop lol.
 
Hmm.. Interesting, did you notice the OP did not have a stop button, just the way my mind works thinking it was remote start/stop lol.


I'm with you. It's one thing having a sealed-in internal state bit to record something that has happened once, but another to drive a "load" that way, and that load called "M" suggesting Motor*, that the PLC turns on but has no way to turn off.


* Only JamesMcQ and I actually say motor; the OP never did.
 
"MOTOR" So did I, see code, however, as I did this in GX, a bit happens to be "M", does not mean motor, but I assumed motor so gave it a symbol. 👨🏻‍🏫
Also, this is not a working application I think the OP needs to consider writing a flow chart or at least a description of what the process is, it is obvious from this that the "Remote" start bit is either wrong i.e. it stays on so assume to be a remote latch that has a reset via a stop button, or it is a pulse that is why the latch or seal in (US language), but there is no remote stop.
 

Similar Topics

Hi all, I have a PIDE block (Logix5000) where I am introducing interlocks. I am using the ProgOverrideReq to set the CV to 0% (shut a control...
Replies
3
Views
1,639
Hello, I have an application where I need to implement an override of a temperature trip. Essentially, this is a distillation column, but when...
Replies
16
Views
7,079
I have some code that is going to trigger calculations to happen either when "A" happens, or every 1 second. For the 1second trigger, I am...
Replies
3
Views
1,628
Dear all I am working on a little project where i want to use the Function Override control with PID_TEMP(See attached). You can compare the...
Replies
0
Views
1,448
I need a way to override the key settings for RUN, REMOTE RUN, PROGRAM, on my AB PLC. Can I do this via software?
Replies
45
Views
12,755
Back
Top Bottom