In general, each of the user-defined components will:
Setup new EMS internal variables for the state conditions entering the component at each inlet node being used. Internal variables serve a similar role as Sensors in terms of obtaining input data. The difference is that they are updated just before the component model programs execute and therefore do not suffer the timestep lag issues that can be associated with sensors tied to output variables. Whereas most EMS internal variables are constants, those intended for use with user-defined components are filled each time the component is simulated and vary over time with the most current data available.
Setup new EMS actuators for the state conditions at each outlet node being used. These actuators are not optional and must be used. For each air or plant connection with an active outlet node, the associated actuators must be used and filled with valid values in order for the component model to be properly coupled to the rest of EnergyPlus. Some of the components will also set the results at their inlet node, for example to request a mass flow rate.
Trigger one or more specific program calling manager(s) to execute EMS programs that are called to initialize, register, and size the component model.
Trigger one or more specific program calling manager(s) to execute EMS programs that are called to actually model the component when it is called to be simulated.
The various user-defined components have some similar input fields. Once the user gains familiarity with one of the components, many of the concepts will carry over to the other user-defined components. The separate objects are primarily for the purpose of distinguishing how user-defined components need to vary in order to fit with the rest of EnergyPlus.