Class Ifc4x1::IfcController¶
Defined in File Ifc4x1.h
Nested Relationships¶
This class is a nested type of Struct Ifc4x1.
Inheritance Relationships¶
Base Type¶
public Ifc4x1::IfcDistributionControlElement
(Class Ifc4x1::IfcDistributionControlElement)
Class Documentation¶
-
class
Ifc4x1
::
IfcController
: public Ifc4x1::IfcDistributionControlElement¶ A controller is a device that monitors inputs and controls outputs within a building automation system. A controller may be physical (having placement within a spatial structure) or logical (a software interface or aggregated within a programmable physical controller).
HISTORY New entity in IFC2x4
Type Use Definition IfcController defines the occurrence of any controller; common information about controller types is handled by IfcControllerType. The IfcControllerType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcControllerType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcControllerType has ports or aggregated elements, such objects are reflected at the IfcController occurrence using the IfcRelDefinesByObject relationship. Figure 177 illustrates controller type use. Figure 177 — Controller type use
Property Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcControllerType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcControllerType.HasPropertySets. If both are given, then the properties directly defined at IfcController override the properties defined at IfcControllerType. Refer to the documentation at the supertype IfcDistributionControlElement and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: (All Types)
Pset_ControllerPHistory (PSET_PERFORMANCEDRIVEN) Pset_ControllerTypeCommon (PSET_TYPEDRIVENOVERRIDE)
FLOATING
Pset_ControllerTypeFloating (PSET_TYPEDRIVENOVERRIDE)
MULTIPOSITION
Pset_ControllerTypeMultiPosition (PSET_TYPEDRIVENOVERRIDE)
PROGRAMMABLE
Pset_ControllerTypeProgrammable (PSET_TYPEDRIVENOVERRIDE)
PROPORTIONAL
Pset_ControllerTypeProportional (PSET_TYPEDRIVENOVERRIDE)
TWOPOSITION
Pset_ControllerTypeTwoPosition (PSET_TYPEDRIVENOVERRIDE)
Quantity Use Definition The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = ‘BaseQuantities’. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.
Qto_ControllerBaseQuantities
Composition Use Definition The IfcController may be aggregated into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcController and RelatedObjects contains one or more components. Aggregation use is defined for the following predefined types:
PROGRAMMABLE
May contain IfcController components. Programmable Logic Controllers may be decomposed into logical elements for values and operations.
Material Use Definition The material of the IfcController is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcControllerType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:
Casing: Material from which the casing is constructed.
Port Use Definition The distribution ports relating to the IfcController are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the controller occurrence is defined by IfcControllerType, then the port occurrences must reflect those defined at the IfcControllerType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcController PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:
FLOATING
Input (SIGNAL, SINK): Receives the first parameter. Modifier (SIGNAL, SINK): Receives the second parameter (if applicable). Output (SIGNAL, SOURCE): Sets the output value.
MULTIPOSITION
Input (SIGNAL, SINK): Receives the first parameter. Modifier (SIGNAL, SINK): Receives the second parameter (if applicable). Output (SIGNAL, SOURCE): Sets the output value.
PROGRAMMABLE
Power (ELECTRICAL, SINK): Receives electrical power. Control (CONTROL, SINK): Direct communication to the device (e.g. serial port). Data (DATA, SOURCE): Network communication to the device (e.g. TCP/IP network). Input#1 (SIGNAL, SINK): Analog or digital inputs. Output#1 (SIGNAL, SOURCE): Analog or digital outputs.
PROPORTIONAL
Input (SIGNAL, SINK): Receives the first parameter. Modifier (SIGNAL, SINK): Receives the second parameter (if applicable). Output (SIGNAL, SOURCE): Sets the output value.
TWOPOSITION
Input (SIGNAL, SINK): Receives the first parameter. Modifier (SIGNAL, SINK): Receives the second parameter (if applicable). Output (SIGNAL, SOURCE): Sets the output value.
Figure 178 illustrates controller port use. Figure 178 — Controller port use
Public Types
-
typedef IfcTemplatedEntityList<IfcController>
list
¶
Public Functions
-
bool
hasPredefinedType
() const¶ Whether the optional attribute PredefinedType is defined for this IfcController.
-
::Ifc4x1::IfcControllerTypeEnum::Value
PredefinedType
() const¶
-
void
setPredefinedType
(::Ifc4x1::IfcControllerTypeEnum::Value v)¶
-
IfcController
(IfcEntityInstanceData *e)¶
-
IfcController
(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc4x1::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag, boost::optional<::Ifc4x1::IfcControllerTypeEnum::Value> v9_PredefinedType)¶
-
typedef IfcTemplatedEntityList<IfcController>