Awesome, we’ll try binding things then, I have to admit we didn’t really try as there wasn’t the binding icon.
I would love to but unfortunately a flight from France to Sacramento might be too much to ask for to my employer ahah !
Thanks!
Awesome, we’ll try binding things then, I have to admit we didn’t really try as there wasn’t the binding icon.
I would love to but unfortunately a flight from France to Sacramento might be too much to ask for to my employer ahah !
Thanks!
There's a livestream option for ICC, too.
My presentation is done. The source code I mentioned is available here:
Automation Professionals is pleased to announce the production release of this module for Ignition v8.3: v2.1.1.252721938
As usual, refer to the Module Sales page linked in the OP to keep up with the latest production releases.
Hey @pturmel , with the Bulk Action, can we use relative tagpaths in the called script that are relative to the tagpath that triggered it?
e.g. if I’m calling this function:
def doThisLongThing(values):
# read udt param
deviceName = system.tag.readBlocking('[.]../Parameters.DeviceName')[0].value
No, but each item delivered includes the .source as a TagPath object, which can efficiently compute relative paths with the parentPath property and the .getChildPath(...) method.
Keep in mind that the function gets a list of items, that do not have to have the same source at all. Only if a function was set up to take just one item at a time could you apply relative paths automatically. And then, you just have the standard valueChange event. ![]()
Also be aware that each function called, while not blocking the tag subsystem, relies on the gateway context's Execution Manager to run each delivery asynchronously. If you expect to run many long processes, consider handing off to a custom thread pool execution manager with the desired level of parallelism. If each potential item has its own long process, you may want to parallelize them individually.
Ah, derr, that makes sense. Monday brain still kicking in… Good note about the TagPath object though, that is handy to know.