Is it possible within Ignition Periodic Event

Hi

New ignition I have a question, coming from a cimplicity background, Is it possible within ignition
to have an event on a window that has a periodic update given a set timer to for example run a script to manipulate a component in that window on screen open.

I know you can do this in cimplicity just wondered if its possible, as I want to initalise a table on a popup window on a screen open event

You can bind a custom property to the time and poll at a rate, then have a change script on that property to do what you want.

Example:

Custom property named trigger with an expression binding to now(20000), will update every 20s. The change script can do whatever you want

Is your table showing data from an sql table? If so, all you need is a query binding on the table's data prop. Also, sorry you had to use Complexity, I mean Cimplicity :grimacing: you're in a safe place now

I know I have seen the light :slight_smile: nope its a script- within a button. so when clicked updates the table component. I want the table to update every 10 secs or something.

Deon already gave me the way to do it

My brain's a bit foggy with Vision these days (I spend all my time in Perspective now)
But If you havent already, consider defining a function on the root container with your script in it. Then your button should call this as well as your property change event script, rather than calling the button's doClick() method - which is awkward - or worse, duplicating code, in your timer prop change script

Since this is Vision you can use the Timer component.

https://docs.inductiveautomation.com/display/DOC81/Vision+-+Timer

2 Likes

sorry I meant instead of, Meaning not have a button at all. Thanks Irose Im gonna try that Timer component thanks.

1 Like

Make sure that if you are doing anything that is going out to the gateway to gather data to spin up the function using system.util.invokeAsynchronous system.util.invokeAsynchronous - Ignition User Manual 8.1 - Ignition Documentation and then manipulate the vision components using system.util.invokeLater: system.util.invokeLater - Ignition User Manual 8.1 - Ignition Documentation

Otherwise, your Vision client may seemingly hesitate everytime the timer fires.

2 Likes

worked liked a treat. Thanks.

1 Like

Added this too.. cheers mate