Duplicate Destructive Bits Detected - Question

nosredna297

Member
Join Date
Jan 2019
Location
Oklahoma
Posts
2
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 uploaded the programs from the v15 CPU, and imported into the latest version of Studio 5000. However, upon importing the project into v33, I get the warning of “Duplicate Destructive Bits Referenced”. This warning does not appear in v15 of the software. I’m assuming that the warning message was enabled in a later version of the software and that if the program has been working fine for many years in the v15 CPU, it will continue working fine in the new CPU. Am I correct in thinking this?

Also, can someone clarify something for me? I understand the meaning of the warning, but am confused on all of the elements that would cause it. Is it just the multiple uses of the OTE instruction with the same tag name or will using OTL and OTU similarly cause the same warning?

Please disregard any spelling/grammatical issues as I am on mobile. I appreciate it feedback. Thank you, much.
 
In general, you are correct. If it was working before, it should work now. Going from v15 to v33 is a very large jump, and there are certainly things that might catch you out, but the arrangement of OTE's/OTU's/OTL's will almost certainly not be one of them.

You will get the warning if you address a tag with an OTE and at least one other destructive bit instruction (another OTE, an OTU or an OTL). You can have as many OTU's and OTL's as you want; you won't get the warning unless there's also an OTE somewhere.

One reason this is commonly done is to unlatch a seal-in circuit. Something like this:
Code:
|  Stop_PB     Start_PB                                        Mtr_Run
|----| |----+----| |----+-----------+-----------+-----------+----( )----|
|           |           |
|           |  Mtr_Run  |
|           +----| |----+
|
|  Complex      Logic     Detecting    Fault      Condition   Mtr_Run
|----| |----+----|\|----+----| |----+----|\|----+----|\|----+----(U)----|
It works just fine. IMO, it's not good practice, but if it were me, I'd leave it in place at least for now, so that you can be confident that your firmware upgrade is working as intended without any additional confusing factors thrown in.
 
I run into that from time to time (usually when I'm writing ladder logic quicker than I'm thinking)
A simple example would be you two inputs on two different rungs driving the same output bit (Trigger_A is driving output 1 on one rung and trigger B is driving output 1 on another rung. What I usually do (depending on the complexity of the logic) is have one rung with trigger A as an input and trigger B is on a branch beneath trigger A with the needed output on the end (right side). That way the destructive bit is only referenced once.
 

Similar Topics

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...
Replies
62
Views
19,692
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,724
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,479
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,535
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,750
Back
Top Bottom