Data ports relay data to and from the Multirate diagram, similar to control and indicator terminals on a VI diagram. Unlike terminals on a VI diagram, data ports relay data in streams as long as the ports receive data.
In a VI targeted to the host or controller, you can input only arrays of data to a Multirate diagram and output only arrays of data from a Multirate diagram. When you input an array to a Multirate diagram from a VI, LabVIEW converts the array to a stream because the Multirate diagram operates on data streams. If you input a two-dimensional array to a Multirate diagram, LabVIEW converts the two-dimensional array to a stream array. Likewise, if you output a stream scalar or a stream array from a Multirate diagram to a VI, LabVIEW converts the stream scalar to an array and the stream array to a two-dimensional array in which each row in the array is a data point.
The Multirate Diagram node behaves differently in a VI targeted to an FPGA than in a VI targeted to a host. If you call a Multirate diagram from a VI targeted to an FPGA, the Multirate Diagram node outputs a FIFO reference for each port on the Multirate diagram. The Multirate diagram receives data from the FIFOs as a stream and returns data to the FIFOs as a stream. You can wire the FIFO references into a Clock-Driven Loop to send data between the Multirate diagram and the rest of the application. You must write to and read from the FIFOs to pass data to and from the Multirate diagram.