MATLAB: Does the output of a physical signal source not match the values measured by a sensor in Simscape

Simscape

Using Simscape Fluids, I have two blocks: 
1. A Hydraulic Pressure Source, with a 1D Physical Lookup table feeding into the source side
2. A Hydraulic Pressure Sensor connected to the outport of the pressure source.
Both the pressure source and sensor have the same connection points. The lookup table and the sensor connect to PS-Simulink converters and then a scope. The units are PSI on the converters.
The input data is in PSI. The data displayed on the scope connected to the physical signal is correct, but the data from the sensor is orders of magnitude off. Why is this?

Best Answer

Physical signals always default to SI units. In addition, the Simscape physical signal sources cannot directly define the units of the output signal. This includes: Counter, PS Constant, Random Number, Lookup tables, and more. Instead, the block that accepts the signal will define it (in this case, the Hydraulic pressure source). It will use the base unit of the type needed, in the default units.
Thus, when using the 1D Lookup Table as a pressure source it has no units. The Hydraulic Pressure Source block will take the signal, assign it units of Pascal [Pa] since it has not been otherwise specified, and simulate the model accordingly. To work around this, when using non-SI units, we can do one of two things:
1. Use a Simulink signal as a source and convert that to a physical signal with units of PSI (see box in green in attached model).
2. Do not specify the units on the PS-Simulink converter blocks. In other words, leave the units as 1. If all calculations are in PSI, this will be fine (see box in purple in attached model).