The PISystems collection is the top level of the AF SDK hierarchy. Most accesses to AF objects start with a reference to this object. Multiple instances of this object can be created in an application, but all instances within the same application for the same user reference the same collection of PISystem objects. This means that within the same application, changes made to an object within a PISystem will be seen by all other instances of the PISystems object. Other applications will not see the changes until they have been saved to persistent storage. Top level objects in Visual Basic or C# may be referenced by prepending OSIsoft.AF to their names (for example OSIsoft.AF.PISystem), but this is not necessary and is typically only used when a naming conflict with another module is encountered.
When programming in Visual Basic or C#, make sure you add a reference to the AF SDK assembly to the project (from the 'Project/References' menu item in Microsoft Visual Studio).
The top-level OSIsoft.AF namespace contains the main classes that are used by all the other namespaces within the AF SDK. It also contains the PISystems collection which is the top level of the AF SDK hierarchy.
The OSIsoft.AF.Analysis namespace provides a set of classes for creating, scheduling, and executing analyses.
The OSIsoft.AF.Asset namespace provides a set of classes for representing the assets within an organization. It allows the creation of a hierarchies of assets and their attributes. Additionally, it provides features for dealing with common requirements such as remote data access, unit-of-measure conversion, and defining and enforcement of asset definition.
Each PISystem is composed of any number of isolated databases.
The OSIsoft.AF.Collective namespace provides a set of classes that are used to manage AF Highly Available (HA) server collectives.
The OSIsoft.AF.Data namespace provides a set of classes for obtaining data from assets within an organization.
The OSIsoft.AF.Data.Aggregate namespace provides a set of classes for performing aggregate functions of data from assets.
The OSIsoft.AF.Diagnostics namespace provides a set of diagnostic utility classes.
The OSIsoft.AF.EventFrame namespace provides a set of classes for creating objects that have a starting and ending time.
The OSIsoft.AF.Modeling namespace provides a set of classes for creating a model of your plant assets and processes.
The OSIsoft.AF.Notification namespace provides a set of classes for creating notifications to inform users about actions that have occurred.
The OSIsoft.AF.PI namespace provides a set of classes that can be used to manage connections and access information about a PI Data Archive.
The OSIsoft.AF.Search namespace provides a set of classes that can be used to create, store, and execute query based searches.
The OSIsoft.AF.Time namespace provides a set of classes that relate to time functions.
The OSIsoft.AF.UI namespace provides a set of dialogs used by the SDK.
The OSIsoft.AF.UnitsOfMeasure namespace provides a set of classes for defining a units-of-measure system. This UOM system can be utilized to describe an attribute or value's unit of measure and to perform conversions from one unit to another unit.
There is a single units-of-measure database on a PISystem that is shared across all databases.