Rules for adding a connection to a program parameter
    A parameter connection enables data exchange between programs, controller tags, and device
        tags. Data can be passed into and out of a program during execution. Parameter connections
        are governed by strict rules regarding data type compatibility, allocation, and connection
        scope. Rules for parameter connections include:
Data type matching
- Data types and array dimensions must match exactly.
Usage compatibility 
- Inputs can connect to Output, InOut, or controller/device tags.
- Outputs can connect to Input, InOut, or controller/device tags.
- InOuts can connect to Input, Output, or controller/device tags.
- At least one end must be a program parameter. Connecting two controller/device tags, two local tags, or a local tag to a parameter or controller tag or device tag or routine tag is not allowed.
- Connecting to routine parameters is allowed.
InOut specific requirements 
- InOut arrays must connect to the whole parameter/tag array, not to members.
- Valueis disabled if unconnected or invalid.Valueis enabled and shows tag value when connected. Values cannot be assigned directly to InOuts.
- Unconnected InOuts in Smart Object instances cause a validation error. Unconnected InOuts in Smart Object instances do not cause validation errors in a Smart Object Definition.
Allocation and connection scope
- Parameter connections can be established between programs within a Smart Object definition. Parameters cannot connect beyond the root Smart Object definition.
- Parameter connections must have both ends allocated to the same controller, whether for Smart Object instances, singletons, or controller applications. You must assign device tags to devices on that controller.
- Connections defined in a Smart Object definition are read-only in instances of the Smart Object.
Multiple connections
- Output parameters can have multiple connections to the entire tag and any of the members of that tag.
- Multiple outputs from the same program cannot connect to the same tag.
- Input parameters can have a single connection to the entire tag or to any of the members of the tag, but not both.
- An InOut parameter connection must be made to the entire InOut parameter. Tag members cannot have connections.
Provide Feedback