FactoryTalk Studio ME animation expression

alexbeatle

Member
Join Date
Feb 2010
Location
San Francisco
Posts
188
Good day,

I'm trying to do a simple animation on PVP1000. It's 4 blinking squares indicating the link between HMI and PLC. The 4 squares are Animated by Colour.
For the 1st one, the expression is {::[PLC]Cmn.PLC_Heartbeat_CTU.ACC}==1
and the Values of colours are 0 for red and 1 for green. (see Animation.png attached.)
In PLC (with name [PLC]) there's a counter PLC_Heartbeat_CTU.

I recently updated the FT 6.10 with all the patches, so there shouldn't be an issue with the outdated software.

The problem is that while everything is animating as required, there's an error message displayed: "Expression contains a tag that has an error value.: ...."

Could you suggest why this is the case?

Thank you,

Alex

Animation.png
 
Last edited:
How often is the Cmn.PLC_Heartbeat_CTU.ACC tag being updated within the RSL5K application file?
The communications between an HMI and the CPU controller are being updated at a much slower rate than the controller application's logic results; the HMI application will never be able to "read" a CPU tag updated, let's say, in less than 250ms, hence the error you are experiencing.
For a EtherNet/IP PanelView Plus 6 application, depending of the routing/switching, topology and the "size' of the FTVS application, even 250ms might be a "push"; a more realistic update rate would be closer to 500ms.
 
How often is the Cmn.PLC_Heartbeat_CTU.ACC tag being updated within the RSL5K application file?
The communications between an HMI and the CPU controller are being updated at a much slower rate than the controller application's logic results; the HMI application will never be able to "read" a CPU tag updated, let's say, in less than 250ms, hence the error you are experiencing.
For a EtherNet/IP PanelView Plus 6 application, depending of the routing/switching, topology and the "size' of the FTVS application, even 250ms might be a "push"; a more realistic update rate would be closer to 500ms.

The counter is updated every 1s

If you're talking about the Edit>Display Settings>Maximum Tag Update Rate, then, I had it setup for 50ms. Changing it to 500ms didn't remove an error, but slowed down the update rate.

Thanks
 
Last edited:
I see...
I'd go to the RSL5K application and create a tag, let's name it Cmn.PLC_Heartbeat_CTU_TRUE and place it in a rung which's rung conditions-in consist of an EQU instruction comparing Cmn.PLC_Heartbeat_CTU.ACC to 1.
Then within the FTVS application Animation/Color expression enter just
::[PLC]Cmn.PLC_Heartbeat_CTU_TRUE
 
I see...
I'd go to the RSL5K application and create a tag, let's name it Cmn.PLC_Heartbeat_CTU_TRUE and place it in a rung which's rung conditions-in consist of an EQU instruction comparing Cmn.PLC_Heartbeat_CTU.ACC to 1.
Then within the FTVS application Animation/Color expression enter just
::[PLC]Cmn.PLC_Heartbeat_CTU_TRUE

Thanks, the error is gone. But I still don't understand, what was causing it before?
 
That's something to take up with RA TechSupport...:D
My personal opinion is that the software cannot differentiate between "1" as an integer (number)and "1" as a digital state; you are specifying a number, however the software is looking for a digital state of a BOOL tag, which your counter's accumulator obviously it is not!
Usually expresions "looking" for digital states are entered without any "1" or "0" comparison.
 
That's something to take up with RA TechSupport...:D
My personal opinion is that the software cannot differentiate between "1" as an integer (number)and "1" as a digital state; you are specifying a number, however the software is looking for a digital state of a BOOL tag, which your counter's accumulator obviously it is not!
Usually expresions "looking" for digital states are entered without any "1" or "0" comparison.

If I change to {::[PLC]Cmn.PLC_Heartbeat_CTU.ACC}==3
I have the same error.
 
Within your first post expression, there is supposed to be a "space" prior to the first "=" sign and another "space" after the second one (prior to "1"; I have accomplished your task with FTVS Rev.6.0; an expression "similar" to yours (including the missing "spaces" though!) has been verified as "Valid".
Instead of directly typing the expression use the "Expression Editor" applet, add the tag(s) via the Tag button and the operators via the available operator type buttons; use the "Check Syntax" function to verify the validity of your expression.
 
Last edited:

Similar Topics

I am having trouble with the expression editor setting up some colour change animation. I have a bool tag and an int tag. I will have four...
Replies
2
Views
1,608
I am trying to set up fill animation on a polygon. How do I determine what color it fills with? I want to have it start as one color and fill as...
Replies
4
Views
3,370
I'm having an issue with getting animation to work as I expect it should work. It only seems to change when I exit the display, then come back to...
Replies
9
Views
5,226
For no apparent I cannot select any object animation on my projects. When I highlight an object, select Animation (from the menu or via a...
Replies
14
Views
7,576
Hello, I'm new to the forum here, as well as new to all of this FactoryTalk Allen-Bradley stuff. I'm normally a mechanical guy from the solidworks...
Replies
0
Views
12,894
Back
Top Bottom