Rotating animation

Can I create rotating animation in deltaV operate? 

5 Replies

  • Yes. It is possible. However, rotating objects are not normally recommended as they rarely add value, but more of a distraction.
  • In reply to Michael Moody:

    Thanks for reply. Please explain how can I implement it.
  • In reply to krishna sen:

    Krishna,

    I made a basic rotating object once by using a calc block that counted up to 15, then reset to 0. I made a couple different variations (angular differences) of the graphic I wanted to rotate. I then made the different graphic objects visible when the calc1/out.cv equaled a certain range. "Object_1 visible when Calc1/out.cv <3 and >-1", "Object_2 visible when Calc1/out.cv <6 and >3", "Object_3 visible when Calc1/out.cv <9 and >6", etc. It wasn't great, but it worked.

    I'm sure someone else has a better answer. As someone else said, rotating screen objects can be very distracting to an operator. However, it's your system and you can build it how you want and what makes sense for your process.
  • Krishna,
    As the other people have said rotating objects are not recommended in multiple HMI standards like ISA 101 and ASM Guidelines.
    If you really need it you can use the WhileTrue event type of an Event object to increment the RotationAngle property of the graphical item you want to spin on the screen.
    For example to make a spinning rectangle in DeltaV Operate:
    1. Draw your rectangle, right-click on it and select 'Edit Script' to make it available to VBA code. Let's say it is called "Rect100".
    2. Return to DeltaV Operate and from the toolbar DeltaV Toolbox select the Variable icon to add a Boolean local variable. Let's call it "varRotate".
    3. Open the toolbar DeltaV Advanced and select the Event icon to add an event. In the dialog that pops up:
    - Give it a name, let's say "evtRotate".
    - Set EventType = While True
    - Interval = 50 milliseconds (adjust to how fast you want to rotate)
    - For Event Source select the CurrentValue property of the variable (click ... and under Pictures drill down to "varRotate.CurrentValue")
    - Click 'Edit Script' and in VBA write code to change the RotationAngle property, e.g. Me.Rect100.RotationAngle = Me.Rect100.RotationAngle + 10.
    4. Add a pushbutton or rectangle with a click script to turn you variable varRotate on and off which should start & stop the rotation:
    - e.g. add a rectangle, right-click and select 'Edit Script' and enter the code Me.varRotate.CurrentValue = Not Me.varRotate.CurrentValue.
    5. Save and Run

    In the graphic when you click on the button (step 4), the script runs every 50ms while the variable is true. This should show how it works but you can link to a controller variable or link the RotationAngle property to a parameteras an animation.

    However, the bottom line for rotating animation is "please don't".
  • Rotate is a built in animation option. Just right click the object and select the above option. You need to select a parameter that determines the angle of rotation.

    It's not often used. I have only seen it for displaying wind direction from a weather station.