Unlike SISO block in Simulink, blocks that have multiple inports and/or outports, or no outport, do not autoconnect if dragged over a signal line in a model. Placing a call to this function in the CopyFcn and MoveFcn callbacks of any block will cause the block to automatically connect when the block is dropped over a line in a Simulink model. This is similar to the built-in behavior of SISO blocks (i.e. gain, unit delay, etc) in Simulink.
This also allows you to autoconnect MIMO blocks onto multiple independent signal lines. For example, 3 inports are connected to 3 outports. A subsystem with 3 inputs and 3 outputs can be dropped onto the connected ports and pending the co-linearity of all the subsystem inputs/outputs and the signal lines, all of the ports will automatically connect.
This can be made the default behavior for these blocks by creating a custom library containing the desired blocks and adding the call to this function in the CopyFcn callback of the library blocks.
NOTE: Do not add this to SISO blocks. The built-in features for those blocks are more robust than this.
Mike Anthony (2020). AutoConnect (https://www.mathworks.com/matlabcentral/fileexchange/29110-autoconnect), MATLAB Central File Exchange. Retrieved .
Inspired by: SinkAutoConnect
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!