Warning: Duplicate Destructive Bit Reference Detected

Home PLCGurus.NET Live & Interactive Forum PLC Questions and Answers Rockwell, Allen-Bradley, Stratix Warning: Duplicate Destructive Bit Reference Detected

https://www.linkev.com/?a_fid=ics-eng
Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
    Posts
  • #3455
    Jim ManleyJim Manley
    Moderator
    • Topics: 17
    • Replies: 38
    • Total Posts: 55
    Karma: 223
    Rank: Jedi

    I’m in need of some “big brain” help.  Apologize in advance for the long winded post but I figured if I set it up properly, there’d be fewer questions.

    Background:
    I have a vessel called a doubler that is used to heat liquid.  Liquid flows into the doubler from a condenser. Liquid leaves the doubler as vapor or can be pumped from the vessel, based on the level in the vessel. The doubler has a pump that is used to remove liquid from it.  Prior to a recent change I made in the PLC ladder code, the operators had to run up and down the stairs to check the level in the doubler then manually turn the pump on/off to control the level in the doubler.  The snippet of PLC code to control this is in the first attachment (pre-mod_ladder_code.GIF).

    In order to save wear-n-tear on the stairs (the operators are all young guys), I took advantage of a level transmitter installed in the doubler and added PLC code that senses the level in the tank then used that to control the pump (attachments added_ladder_code-rungs_2-6.gif, added_ladder_code-rungs_14.gif, added_ladder_code-rungs_18.gif).

    As the operators still need to be able to control the pump manually for some operations, I left the old code in place and added the DOUBLER_AUTO_MODE_ENABLED XIO to rungs 15, 16 and 17.  Those are the XIOs I marked out in the first attachment.

    I built a new HMI control panel by copying the existing control panel display then adding two “new” buttons and tied them to the appropriate tags.  I then modified the HMI base page to call the new control panel.  I also added some HMI panel animation control to hide the manual control buttons when the Auto mode was enabled.

    When Deployed:
    The Auto Mode Enable/Disable buttons work as expected.  When Auto Mode is enabled, the pump operates as expected and maintains the level in the doubler without any operator intervention.  When Auto Mode is enable, the HMI “hides” the manual control buttons expected.  When Auto Mode is disabled, the manual controls re-appear as expected.

    The problem is the Manual Controls no longer work.

    Troubleshooting:
    I’ve monitored all the tags during operation by setting up trends.  All the tags fire as expected.  In particular I’ve paid a lot of attention to rung 17.  When all the conditions are right to start the pump manually (DOUBLER_AUTO_MODE_ENABLED XIC == TRUE
    HMI_DOUBLER_STOP_PB XIC == TRUE
    DOUBLER DISCHARGE PUMP P-303 AUTO PB XOC == TRUE
    BEER_WELL_TANK_LEVEL_TMR.DN XIC == TRUE
    RUN_P303_TO_MED_LEVEL XIC == TRUE)

    and the operator responds YES on the HMI (DOUBLER_START_DC_CONFIRMED XOC goes TRUE), the P303.PgmCntrl OTE does not go TRUE or goes TRUE for a tic then back to FALSE.

    The only thing that I’ve seen when doing the editing/checking/testing of the PLC modes is:

    Accepting the Pending Edits of program ‘Doubler_and_Gauging_Tanks’…
    Accepting the Pending Edits of routine ‘Doubler_Discharge’ in program ‘Doubler_and_Gauging_Tanks’…
    Warning: Duplicate Destructive Bit Reference Detected: ‘P303.PgmCntrl’
    Doubler_and_Gauging_Tanks – Doubler_Discharge, Rung 18, OTE
    Doubler_and_Gauging_Tanks – Doubler_Discharge, Rung 19, OTE
    Doubler_and_Gauging_Tanks – Doubler_Discharge, Rung 17, OTE
    Complete – 0 error(s), 1 warning(s)

    Some digging on the interwebs revealed this nugget:

    “…that if you are using Latch bits (OTL) and regular output bits (OTE) within the same program, you will get the destructive bit warning and your bits won’t turn on.”

    So, I’m wondering if that’s my issue?  If so, can anyone suggest a different approach I can investigate?

    Thanks in advance,

    Jim

    Attachments:
    You must be logged in to view attached files.
    #3460
    George BarnetteGeorge Barnette
    Moderator
    • Topics: 3
    • Replies: 14
    • Total Posts: 17
    Karma: 164
    Rank: Jedi

    Jim, hi.

    My boss and I have gone around and around with using OTL’s and OTU’s. He doesn’t like them and I don’t use them much any more. For one thing, they bring up those destructive bit references as you see, because it’s basically the same tag name (Or instruction). Logic thinks it’s a duplicate OTE, although it’s not.

    There weree a few in the reference for my air handler routines and I basically got away from them. I just use a holding circuit now for all OTE’s if I need one. .TT bits work real well for that also. I have experienced problems just like you’re having–very simple few lines of logic and then something doesn’t work. What I did in the past was thoroughly cross reference everything to see if something was holding me out that didn’t before. In your case maybe some of those HMI tags may not be exactly correct or a problem with a timer not resetting. Just a few suggestions that have helped me. Hope this is of some value to you also. Good luck and quit wearing out those young guys ha.

    #3461
    Craig MooreCraig Moore
    Participant
    • Topics: 0
    • Replies: 5
    • Total Posts: 5
    Karma: 26
    Rank: Padawan

    Hi Jim,

    The issue isn’t you use of OTL or OTU   the issue appears to be that you have the OTE “Doubler Pump P303 control input P303.pgmCntrl” in both rungs 17 and 18.

    This problem arises when you use the same bit in 2 locations.  What happens is when one rung is scanned the logic is true, but in the other rung the logic is false.   Thus the last rung scanned status is which one the output ends up.   Or it flashes REALLY REALLY fast   LOL

    the fix is to us differant bits in both locations then us them in parallel in a separate rung to turn on the output needed.

    I have attached a screenshot below of an example.

    Hope this helps and makes sense.

     

    Attachments:
    You must be logged in to view attached files.
    #3463
    Jim ManleyJim Manley
    Moderator
    • Topics: 17
    • Replies: 38
    • Total Posts: 55
    Karma: 223
    Rank: Jedi

    Craig –

    Thanks for the input.  You’re solution was a lot more elegant than what I had come up with.  Also easier to implement.

    Problem solved!

    Jim

    #3465
    Cajun ConfiguratorSean Terrell
    Moderator
    • Topics: 6
    • Replies: 29
    • Total Posts: 35
    Karma: 184
    Rank: Jedi

    Here you go

     

     

    Attachments:
    You must be logged in to view attached files.
    #3469
    Jim ManleyJim Manley
    Moderator
    • Topics: 17
    • Replies: 38
    • Total Posts: 55
    Karma: 223
    Rank: Jedi

    Thanks!

Viewing 6 posts - 1 through 6 (of 6 total)

You must be logged in to reply to this topic.