Error when trying to bind UDT tag to One-Shot button


I have a window with an UDT type as a custom parameter.

When trying to bind a one-shot buttons value property to a tag in the UDT property (opc bool) I get an error message saying:

Error trying to coerce ‘Ignition OPC-UA Server/’ to a number.

And it won’t let me complete the binding

Anyone know what’s wrong?

As a side note this window worked fine in v7.9 and was imported to v8 via a gateway update.
In v8 the binding was changed to another tag in the UDT.
I can’t know for sure if that happened from the import or if some of my coworkers changed it, but
since the original binding is now illegal i suspect the import to have changed the bindng?


In v8, use of UDT parameters is implemented with full expression syntax, not simple string substitution. The gateway backup import from v7.9 tries to adjust for this, but it apparently can’t handle all cases (not sure if that’s still true). And wouldn’t handle a simple tag 7.9 tag export/8.0 tag import operation.

@pturmel Thanks, but I still don’t know what the problem is. Do you know how I can fix it?

Not without seeing the tag configuration, no. You probably need to quote and deliberately concatenate the strings involved.

Are you by chance using an 8.0.5 nightly build? This seems like a recent issue that we are observing. When you hit that error does is it only when first opening the window and anything bound to the UDT members start working after a few seconds?

@osolorzano I can’t find the information about Ignitions version in the gateway web page, but I believe that we are running some build of v8.0.3.

I’m not sure about what you mean about the error. When I open the window in the designer i get a lot of errors actually. The majority og them being saying
‘Error trying to coerce some expression to a number’


Ok, I think I found the problem.

In my window I have some custom properties which represents some of the udts opc tags quality as integers.

Since the quality code 410 no longer works for disabled tags we had previously searched and replaced all of our 410 quality checks to ‘Bad_Disabled’ quality checks.

The custom properties in my windows was not changed and thus still integers. So the expressions in the window that now checks for ‘Bad_Disabled’ was comparing to the custom properties of integer type.

After changing my opc quality custom properties to strings the problem seems to have been resolved.

However I had to open all of the faulty expression bindings (which was actually ok now after fixing my custom properties) and then press OK again before the error disappeared.