Page 1 of 2 12 LastLast
Results 1 to 13 of 15
  1. #1
    Join Date
    Jan 2012
    Posts
    146

    PCG2621 Circular Dependency

    Has anyone come across a "Circular Dependency" while programming via PCG devices?

    What I'm trying to do in this opreation is to run a Lag Pump if there is an alarm on the Lead Pump. This Lead Pump does not have an alarm contact, so I am trying to have a "Command" and "Status" through an AND logic, outputting an alarm to enable the Lag Pump. I also wrote this, identically for the Lead pump, so in the case that the second pump becomes the Lead, a similar situation will happen. However, when I link them together, I get the circular dependency.

    I never had this issue while programming FX controller series.

    Error Message:

    Unable to save view:
    Exception Detected: System.ApplicationException: A component is connected in an unsupported loop configuration.
    at JohnsonControls.Metasys.DataAccess.Fdb.LocalReques ts.FdbRequest.AddLogicToSequence(ArrayList logicBlocks, MetasysArray sequenceOrder, Boolean[] blockIsKnown, Hashtable blockIndexMap, ControlBlock[] nonDelBlocks, ArrayList[] blockInputs)
    at JohnsonControls.Metasys.DataAccess.Fdb.LocalReques ts.FdbRequest.WriteDiagram(String sequencerRef, ControlDiagram diagram)
    at JohnsonControls.Metasys.DataAccess.Fdb.LocalReques ts.FdbRequest.Execute(FdbRequest instance, FunctionId func, String itemId, Object[] args)
    at JohnsonControls.Metasys.DataAccess.Fdb.LocalReques ts.FdbRequest.EditMultiple(TransactionNode& input, Boolean exitOnFailure)

  2. #2
    Join Date
    Oct 2009
    Posts
    630
    Have you tried using the system selection with question and answer? There are options for pumps lead/lag in the system selection

  3. #3
    Join Date
    Jan 2012
    Posts
    146
    I try to avoid that, because once the question and answer is chosen, it creates all sorts of modules that are hard to decipher, and does not allow me to fully control my system how I want to.

    And also, using the question and answer does not fully cover all the points that I need, or other sequences that I might require. I understand that's what the side loop is for, but I'm talking about something like if a boiler has 4 stages rather than 2, then I can't choose it from the question and answer page.

  4. #4
    Join Date
    Oct 2009
    Posts
    630
    All a lead lag program uses is mainly a sequencer. I would answer the Q/A then see how PCT compiles the program and reverse engineer it from that.

  5. #5
    Join Date
    Dec 2007
    Location
    Connecticut
    Posts
    907
    Wherever your last connection is that gives you that error, drop a Last Value block, link to the block from your logic and the output goes to where you originally linked to. I hope this makes sense. This will allow you to loop back into your logic without that error.

  6. #6
    Join Date
    Jul 2009
    Location
    Wa
    Posts
    117
    Yes what reaper said!!

  7. #7
    Join Date
    Jan 2012
    Posts
    146
    Should I do the same thing with the other one, simply because it's lead lag, and both are doing the same staggered operation?

    And while trying to understand the "Last Value" block, it's leading me to understand that the "Last Value" Block will only remember the last change, therefore, if it is default "false" and gets switched to "true", it will stay true (I'm not sure how to reset in this case, as there is no reset input).

  8. #8
    Join Date
    Jan 2010
    Location
    CA, Central Valley
    Posts
    89
    You do not need to reset it. We use this all the time for the same thing you are trying to do. If you attach the alarm to it, the last value will always match what the alarm is. There is no need to reset it. PM me if you are having trouble getting it to work.

  9. #9
    Join Date
    Jan 2012
    Posts
    146
    Thanks guys, after putting this in for both Lead and Lag blocks, I simulated it, and I can see that it works properly.

    What I found out also was that it *does* cause an infinite loop. In my simulation, I set the status for both pumps to be OFF. Once the lead lag is initiated, and it is commanding one pump to turn on, an alarm will initiate the second pump to turn on. But if the second pump initiates an alarm, it will try to turn on the first pump. Once this happens, when I disable the command to run lead lag, both pumps remain on, since the alarms are still active. The only way both pumps are reset, is if I set one of the pump statuses to ON, and off again.

    In a real life scenario, the pumps would be reset automatically since the command will turn the pump on momentarily, while in AUTO, and the only way the above would occur is when someone manually turns off both pumps when lead lag is being called. Did you notice this, AmincControls?

  10. #10
    Join Date
    Jan 2008
    Location
    Near Philly
    Posts
    512
    Quote Originally Posted by Questionz View Post
    Thanks guys, after putting this in for both Lead and Lag blocks, I simulated it, and I can see that it works properly.

    What I found out also was that it *does* cause an infinite loop. In my simulation, I set the status for both pumps to be OFF. Once the lead lag is initiated, and it is commanding one pump to turn on, an alarm will initiate the second pump to turn on. But if the second pump initiates an alarm, it will try to turn on the first pump. Once this happens, when I disable the command to run lead lag, both pumps remain on, since the alarms are still active. The only way both pumps are reset, is if I set one of the pump statuses to ON, and off again.

    In a real life scenario, the pumps would be reset automatically since the command will turn the pump on momentarily, while in AUTO, and the only way the above would occur is when someone manually turns off both pumps when lead lag is being called. Did you notice this, AmincControls?
    JCI programming has always been when the first device fails turn on the second device and lockout the 1st device. Then the first device needs a reset to set it back into normal operation.

  11. #11
    Join Date
    Dec 2007
    Location
    Connecticut
    Posts
    907
    Questionz,

    Shoot me an email. My address is in my profile. I'll send you one of my lead/lag modules that you can dissect.

  12. #12
    Join Date
    Jul 2009
    Location
    Wa
    Posts
    117
    I just wrote a lead/Lag sequence for some boiler pumps,and bld pressure fans. I could get it to you, for a look if you would like!!

  13. #13
    Join Date
    Jan 2012
    Posts
    146
    sure! if you don't mind! Thanks Reaper, Norriski Tech

Page 1 of 2 12 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Comfortech Show Promo Image

Related Forums

Plumbing Talks | Contractor Magazine
Forums | Electrical Construction & Maintenance (EC&M) Magazine
Comfortech365 Virtual Event