Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations waross on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Unity XL Pro Freeze Value

Status
Not open for further replies.

Nanuuq

Mechanical
Sep 9, 2015
10
Hello,

I'm working in Unity XL Pro using functional block diagrams.
There is a "rate of change" value that is constantly being derived and thus changes frequently. I want to hold this value steady when an emergency button is actuated.

What I currently have is a move block. The enable pin on the move has the emergency button on a rising trigger feeding into it. Want it to be an instantaneous value the second the button is pushed. This is not working - when the rising trigger is activated the move does not move - is not enabled. Does anybody know why this would be the case?
 
Replies continue below

Recommended for you

Post a snapshot of your code please.
 
I don't think it will work because of using function block programming. You nee to use ladder logic as the output of the move instruction will be to a temporary variable which will hold the valve. You will also need to one shot the move.
 
Have any suggestions for grabbing an instantaneous value using FBDs?
 
The box I use has a Track and Hold function block. Does yours?

Track_and_Hold.jpg
 
Hi danw2, Unfortunately I do not have that function block. Could make a derived FB then do some ladder within it like djs said but I still want to figure out how to do it with blocks.

What software are you using, danw2?
 
I can't see an issue with the logic in my mind it should work, it is a bit complicated though.

I do something similar with logic which freezes the last good value when an analog input fails, all you need is the OR and SEL instructions.

Delete the second OR, MOVE and R_TRIG.

Remove the Negate from the SEL G Pin.

Move the link connected to the SEL IN1 to IN0

Put a copy of the tag P_U1_CAM_NOZ_E_Flow_Cmd on IN1.

Now if the ESTOP is not tripped your passing the changing value to the tag.

If ESTOP comes on, you now pass the tag into itself effectively freezing it to its last good value.

 
Actually I see the issue with your original code, no tag on the MOVE output, therefore nothing to remember the value sent through.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor