Level indicator issue

On the Level Indicator component, if you bind the Capacity to a tag that changes frequently, eventually the component will stop responding and will no longer update the display.

I discovered this because I’m not using it as a level but as a ratio indicator. I guess I could use a normal rectangle for this purpose as a workaround.

Do you also have this tag bound to a numeric display, and does that display continue to update? If not, how have you come to the conclusion that it is the level indicator component that is no longer updating, and not the tag itself?

This sounds like a very serious issue, and may be related to a known bug that we are working on. What version of FactoryPMI are you using? Please call us next time this happens so that we can look at your system over GoToMeeting.


Yes it was bound to a numeric display, (both the capacity and the level.) I went ahead and used a rectangle instead though, since I already knew how to do that and because I figured that this wasn’t a typical usage scenario for a level indicator anyway. (Typically your average tank does not change its capacity very often.) The version is 3.1.4.

And the numeric display kept updating?

BTW - the level indicator shouldn’t care how it is being used with regards to the update rate of the tag.

Yes. We were using it to show a time-ratio between two tags containing seconds. They were string labels, because I had to first run the tags through a Jython script to format them in h:mm:ss format and return a string to display them. The labels displayed the tags fine, but the level indicator would stop updating after a bit, so I switched to the rectangle method instead.

Hmm, ok. Can you explain exactly how the numeric labels worked again? I’m not seeing how they ran through a Jython script - was it some sort of propertyChange script? FYI - an expression binding would have probably been easier for this.

Yes, that’s what it was. Here’s one:

[code]runScript( "app.fmt.timeStr( "

  • {[]ExpectedTransferDuration}
  • " )" )[/code]
    That returns a formatted string, so it’s bound to the Text property in a string label.

Ah, I see. FYI, there is a dateFormat expression that you can use without having to use the runScript() expression, but no matter…

Anyhow, we’ve digressed. We’re looking into why the level indicator would have stopped updating.

Update: as of yet, we’ve been unable to replicate this problem. Any more info would be useful.