MATLAB: Obtaining signal units post compilation

compiledsimulinkunits

Hello, is it possible to obtain the signal units associated with a port, post compilation? I am trying to find a property similar to CompiledPortDataType, but for units. What would be the correct way to programmatically obtain the units associated with an arbitrary line once the model has been compiled?

Best Answer

CompiledPortUnits
But according to R2018b document,
Simulink passes units through the following blocks that do not change data, known as noncomputation blocks
Simulink does not propagate units through blocks that produce new data as output.
So it is possible to specify the unit of a root level Inport block as "N", pass it through several levels of sub-system Inport (all specified as inherit) and then check the compiledportunits of the inner Inport block and it will return "N".
You can not expect the CompiledPortUnits of a Product block to be "N*m" by specifying the two inputs of the Product block to be "N" and "m".