Duplicate Destructive bits used EVERYWHERE!

Sparkyman1

Member
Join Date
Apr 2017
Location
Minnesota
Posts
54
What do you guys think of the use of duplicate destructive bits for the ONS tags? This exact same setup is used in many other places in the program, it hasn't ever caused a problem, just curious about everyone's opinion.

haha.png
 
That logic design makes my head hurt...

But I guess if it's totally segregated like that, there shouldn't be a problem. I know relatively less than most on this forum though
 
I'm just surprised that it works. A bigger issue is why a binary-state function is represented by TWO bits and just one.
 
Oh yeah I was just looking at the one shots with the XIOs... I dunno how that would work with the unlatch bits for the BTTN before the other logic. That seems overly complex for the job it's doing
 
I think that the duplicate ONS bit is required to make it function. It looks like the "EnablePb" toggles the "Enabled" bit on and off and the "DisablePb" toggles the "Disabled" bit on and off. I think that the ONS storage bit is still on when it gets to the second branch (the OTU one). This prevents the "Disabled" bit from being unlatched immediately.
 
Totally absurd piece of code - way overkill !

I'm happy with the pushbuttons (from the HMI) and their respective OTU's, but....

If Roaster05 is disabled - it can't be enabled, and vice-versa, so why have separate bits for enabled and disabled ?

And there's no need for One-Shots at all....

Here's my take on it, tested, working, although I don't see why you need the "Disabled" state bit, you can just use XIO Enabled...

EDIT : You don't need the 3 instruction on the first two rungs either.....

2017-06-13_181911.jpg
 
Totally absurd piece of code - way overkill !

I'm happy with the pushbuttons (from the HMI) and their respective OTU's, but....

If Roaster05 is disabled - it can't be enabled, and vice-versa, so why have separate bits for enabled and disabled ?

And there's no need for One-Shots at all....

Here's my take on it, tested, working, although I don't see why you need the "Disabled" state bit, you can just use XIO Enabled...

EDIT : You don't need the 3 instruction on the first two rungs either.....

I'd be careful about implementing that logic. Just because "Enabled" and "Disabled" have opposite meanings in the English language doesn't mean that they are used that way in the PLC program.

That being said, it does seem like an odd way to have the original program, and probably adds a lot of unnecessary complexity (the fact that the OP is asking questions about it is an indication of that) to the program.
 
I think that the duplicate ONS bit is required to make it function. It looks like the "EnablePb" toggles the "Enabled" bit on and off and the "DisablePb" toggles the "Disabled" bit on and off. I think that the ONS storage bit is still on when it gets to the second branch (the OTU one). This prevents the "Disabled" bit from being unlatched immediately.

I certainly would not want my HMI Enable PB toggling the Enable State on and off - to my way of thinking Roaster05 can either be Enabled, or Disabled, mutually exclusive, and not neither !!
 
I'd be careful about implementing that logic. Just because "Enabled" and "Disabled" have opposite meanings in the English language doesn't mean that they are used that way in the PLC program.

That being said, it does seem like an odd way to have the original program, and probably adds a lot of unnecessary complexity (the fact that the OP is asking questions about it is an indication of that) to the program.

You could be right there, I didn't look hard enough... I'll code it and see what happens .... watch this space ...
 
Well here's the original code, and yes keshik is correct, the "Enable" Pushbutton definitely toggles the "Enabled" state on and off....

And the "Disabled" pushbutton toggles the "Disabled" state on and off.....

But look what happens when you "Enable" (when it isn't enabled), then "Disable" (when it isn't disabled) ....

Very curious indeed, and as keshik points out it might be a lack of documentation... and I've just noticed the "Enable" and "Disable" pushbuttons are documented as having come from different "old screens" - perhaps the screens were synchronised to the state of the Roaster being enabled, or disabled, then it might make some sense....

I'd be worried if those "old screens" had been combined into one, then the interlocks would need to be on the pushbuttons themselves...

Not going to knock myself out on this - if it works, fine, if it doesn't, or could potentially fail, I would change the logic.....

2017-06-13_183339.jpg
 
That's only if that was the intention....

More likely: the Roaster has two separate states Enabled and Disabled; they are (theoretically!)'related' to each other but not logically interlocked (there is no reference to the other state in each's command logic) hence the need of a 'Push-ON/Push-OFF' same operator sequence for each state's control.

Or at least that's what I am reading...:D
 
The hair on the back of my neck goes straight up when I see lots of one shots and latches used and bad memories come to the forefront. Early in my career I tried to fix some of these, now I won't touch it. I don't want to own it.
 

Similar Topics

Hello, I have a project to upgrade a compactlogix CPU. The CPU that is currently in use is v15, and the new CPU is going to be v33. I have...
Replies
3
Views
1,882
Hello all, Stupid newbie question... Just making sure, a bit constantly flipping, and it is reference by 2 OTE in different ladders, that is...
Replies
9
Views
1,674
I've spent three days trying to figure out why my assembly cell is blowing past a step in the logic. While adding blocking bits I noticed the...
Replies
7
Views
3,413
Hi all, Is anything wrong with the hypothetical logic attached? We make a machines that can have 1 of 2 air valve stacks. I would like the...
Replies
11
Views
3,506
Hi all, Got a question regarding the duplicate destructive bit warnings generated when I use InOut tags on my add-on instructions. Most of my...
Replies
0
Views
2,734
Back
Top Bottom