Components differ from modules in that components comprise an implementation of the framework, whereas modules comprise the software itself. A component-centric architecture provides the following:
Components provide a model used to normalize the data and features of different types of protocols and networks so that they can be integrated seamlessly.
Applications can be assembled with components using graphical tools in the
Components provide unsurpassed visibility into applications. Since components are self-describing, it is very easy for tools to look at how an application is assembled, configured, and to determine what is occurring at any point in time. This provides great value in debugging and maintaining applications.
Components enable software reuse. The framework supports custom development and extension. Its components are extensible and go beyond data and protocols to unify the entire development environment.
Framework components are defined as a collection of slots. You can see all the slots that make up a component by viewing its slot details on either the Property Sheet view or AX Slot Sheet view.

Master components can be defined so that persistent properties are copied to slave components when they are changed. This allows you to change a property in one component that automatically updates the components that are linked to it as slaves. In this way a master component can update slave components in all the other stations in a system.
In any station, all real-time data are normalized within the station database as points, a special group of components. The
following image shows several types of control points, as listed in the control module palette in
Each type of point may be used for different purposes. When you engineer a job you may want to name a point, for example: a NumericWritable point named CondSetpoint. Points may be named and renamed but they retain their initial point type characteristics and their characteristic icon color.
Points serve as a type of shell, to which you may add point extensions. These extensions allow you to select only those functions that you need and thereby limit your point properties to just those that are necessary for your current application.
In a station, components should be properly named using the following set of rules:
zone21 and Zone21 are unique names.To convey multiple-word names without using spaces, naming conventions, such as CamelCase and/or underscores are often used. For example:
Floor1 or Floor_1ReturnAirTemp or Return_Air_TempZone201_SAT or Zone_201_SAT
Various drivers have learn features to automate the creation of points, some of which (by default) may also have improper
names—reflective of the native name of the source object. For example, a BACnet proxy point might have the default name Zone 6 RH%, which matches the actual (native) BACnet object’s name. Be aware that the actual component name has all illegal characters
escaped using a $ character, along with the ASCII code for that character, in hexadecimal. The proxy point mentioned above, for example, results
in the name Zone$206RH$25, where the $20 escapes the space and the $25 escapes the %. You can see these escaped names in the slot sheet of the component’s parent container. Or, with the component selected,
look at its ord (shortcut Ctrl + L) to see its actual name. Other examples include the dash character “-” which is “$2d” and anytime you begin a name with a
number, the “$3” is appended to the front of the name.
For the most part, this escaped name scheme is transparent to users. Whenever the name is displayed to the user, say in the
Nav side bar, Property Sheet, Wire Sheet, or a Point Manger, the component’s name is unescaped by replacing the code (say, $20) with the actual ASCII character (say, a space). This way, the user sees Zone 6 RH% and so on. This is the component’s display name.
In some cases, escaped names lead to confusion. You should avoid them if possible (rename them). For example, if you add history extensions to escaped-named points, you see those escape codes listed for source points when accessing the History Ext Manager (although associated histories use the display names). Or, if you are building Px pages and manually typing in ORDs in Px widgets, you probably know source points by display names only. If you manually type in an ORD without the actual (escaped) name, the widget binding fails with an error.
The palette provides a hierarchical view of available components. You may copy a component from the palette and paste it where you need it — on a Wire Sheet, Property Sheet, Px View, or in the Nav side bar pane. You can also create custom palettes that you associate with a module and use to hold a collection of frequently used components.