Now that DCC/EDC blocks exist. Should I use the DC/CND block combination for Discrete Control?
Do I need to take Controller Loading into consideration?
Does the new DCC/EDC blocks reduce controller loading or increase controller loading compared to the DC/CND blocks?
Does anyone have any comments or experiences they would like to share?
Andre Dicaire
In reply to Andre Dicaire:
In reply to ShawnHakim:
Just keep in mind that using the DCC with a DC block will have some limited functionality as only Interlocks and Permissives will be possible in a "standard" method.
The DC block can only interlock to the Passive state (defined by named set 0 value) while the DCC supports Interlocking to any state.
All the DCC Permissive functionality (Permit or Prevent) can be used with DC.
The DCC Force Setpoint functionality can NOT be used with DC unless some special logic is created in addition to the DC and DCC blocks.
In reply to Matt Stoner:
I'm a little confused by how to interpret the "passive" state for the EDC. I want to change the named sets to more meaningful names for both the DCC and the EDC (i.e. START/STOP instead of State 0/State 1) and I need some guidance in matching everything up.
1.) it does not look like there is any way to change the named set associated with I_STATE on the DCC. Can someone confirm? This renders the function block faceplate associated with the DCC much less useable as it displays the i_state for each interlock condition, but can only show "State 0", "State 1",...
2.) The SP_D and PV_D named sets are straight forward. I can easily understand how to copy this named set out and rename State 0 to STOP and State 1 to START. They also both include an "Undefined" named state at a value of 255.
My problem is with interpreting the EDC1/INTERLOCK_STATE named set. I would have expected this to be read the same as the SP or PV named sets, but now the UNDEFINED state is changed to PASSIVE at value 255. This matches the DCC block. So if I update the INTERLOCK_STATE named set, should I make sure to leave that PASSIVE at 255 in there? is that the only way I can use an I_LOCK state of PASSIVE?
I see that I can update the PASSIVE_STATE parameter, but it only allows me to select State 0 or State 1 as the PASSIVE_STATE, not any other state.
So what all should be changed on a DCC/EDC block to use a more meaningful named set?
In reply to Alex Lutz:
In reply to TreyB:
yeah i tried creating a new named set to put into the EDC/PASSIVE parameter. No matter if i create a new named set or use the default one, it will only allow me to pick the first two named sets as the PASSIVE state.
i guess this isn't that big of a deal. I can just select the I_STATE to be something over than passive on the DCC. I can't think of the reasoning for this though?
so if i want to create a new named set, it would be best to create a new named set for the following: SP_D, PV_D, PASSIVE, INTERLOCK
I found out that you can change the named set for I_STATE_n, but only after you add the condition. you can't set a default named set for the whole DCC such that, that named set is used each time an additional condition is added.
Yes they can be fully customized provided they have the correct number of entries within the named set. If it doesn't match the number of values it won't be a valid selection.
For states you don't have, Give a unique name and uncheck Visible and User Selectable.
Named Set formats - EDC Parameter(s) (Required Values)
CAS_IN_D, FV_D, PV_D, SP_D (0-5, 255) Note: 255 is Undefined meaning inputs not met for any states in state maskFAILURE_STATE, PREV_FAIL_STATE (0-18)INTERLOCK_STATE (0-5,255) Note: 255 is Passive State which means whatever is configured for PASSIVE_STATE is where interlock will goPASSIVE_STATE (0-5)PV_STATE (0-11)
Here is Example of the discussed Passive and I_State named sets for a Forward/Reverse Motor
All of this is documented in Books Online: Configuration -> Function Blocks -> Logical blocks -> Enhanced Device Control (EDC) function block -> Enhanced Device Control function block execution
thank you for the walk-through, that makes it much clearer. it's a lot of named sets to create, but it all makes sense. I figured it would be best to continue this EDC info message chain with one more question so that users can reference it all in one place in the future:
Can you explain what is happening in the below screenshot? Books online indicates that OUT_D will show the worst case status of F_IN_Dn and F_OUT_Dn. In the screenshot below, F_IN_D1 is "BAD/Device Failure" yet OUT_D remains "Good/non-cascade".
Note: IGNORE_PV is set to FALSE and SIMULATE is DISABLED.
same results with and without i/o defined.
i can call it into GSC if you think it is an actual problem so they can log it. I figured I'd enhance books online with this thread with this question if there was an easy answer.