I have the Transmitter module installed on Ignition Edge in one machine and other Ignition 8.1 machine with Distributor and Engine modules installed.
In the Edge one, I have created some UDTs with added configuration (parameters to filter, alarms, etc) and I have passed these UDTs through the mqtt modules to the other machine BUT the proper configuration of each UDT hadn’t passed.
Do I have missed something? or it is not possible to pass the UDT parameters configuration through the mqtt modules?
Thank you in advance
For UDTs to transmit as UDTs you must uncheck the ‘convert UDTs’ checkbox on the Transmission Transmitter config. But, it sounds like you’ve already done this. For UDT parameters, those should just come across.
For properties it is a bit different. We don’t support transmitting alarm properties at all. In the context of MQTT it doesn’t make a lot of sense. If you want alarms to propagate, you should use the Ignition gateway network.
All other properties can be transmitted. However, many are filtered out by default. This can be changed in the Transmission transmitter config under ‘advanced’ (Filtered Properties). There is also a filter in MQTT Engine on the general tab under the advanced section. All of the filtered properties are those that will not be allowed to transmit.
I should also note we do not yet fully support bound properties. This is something that will be added in the near future. But, if you use complex expressions with properties they will likely not work today.
That’s right, I have unchecked ‘convert UDTs’ checkbox in the Edge and I receive in the Ignition 8.1 the UDTs, but not the full information.
Once I’ve received the UDTs I can configure the alarms in the Ignition 8.1 but, as the properties hadn’t passed, I can’t bind the alarm tables to these properties.
I show an example to clarify:
I have configured several alarms in the UDT tags, and I want to pass these 2 UDT properties (called “Block” and “DBox”) so I can show the alarms filtered by device in the “Alarm Journal table”.
You have said that all the properties but the alarms can be passed, but I can’t find how to pass these parameters in the image. I have deleted all the filters in the transmitter and engine module but the parameters still doesn’t appear so the alarm table doesn’t fill the path correctly.
Thank you for your response.
So UDT parameters are passed as part of the BIRTH. However if these were added after the original BIRTH messages arrived, they must be manually deleted at the MQTT Engine tag provider (both definitions and instances) and then republished from the Edge. The republishing can be done by writing a ‘true’ to the ‘Transmission Control/Refresh’.
MQTT Engine will not automatically update UDT structures - only the qualified values of the member tags. Any change in structure at the edge side requires manual work on the Engine side. We have an issue in our backlog to support automatic changes to UDT structures but there are some complexities with support this and we haven’t tackled it yet.
Okay, I’ve managed how to republish the UDTs from the transmission module in the Edge. I’ve tried to delete all the filters in the transmission module and republish them after delete from the engine module, with no results, the params still doesn’t appear in the engine module.
The filtered properties have nothing to do with the UDT parameters. So, changing that list won’t help. I meant to delete the actual UDT definitions and instances in the MQTT Engine tag provider and then republish them from Transmission. If that doesn’t help, I’d recommend contacting firstname.lastname@example.org.