The struct "smdata" holds a significant amount of information required by MATLAB to control and gather information from the instruments in your setup. It is often referred to as a "rack" and must be loaded before conducting scans or retrieving data from instruments. The field "smdata.channels" has an entry for each channel, which corresponds to a specific parameter, such as an input or output of an instrument. Currently, there is no differentiation between write and read channels. All channels should be capable of a read operation, but it is the responsibility of the user to make sure that channels that don't support write operations (typically acquisition devices) are not utilized as set channels.