IFC 4.3.2.20240904 (IFC4X3_ADD2) under development

7.2 IfcBuildingControlsDomain

7.2.1 Schema definition

The IfcBuildingControlsDomain schema forms part of the Domain Layer of the IFC Model. It extends the ideas concerning building services outlined in the IfcSharedBldgServiceElements schema. It defines concepts of building automation, control, instrumentation and alarm.

The IfcBuildingControlsDomain schema supports ideas including types and occurrences of:

  • actuator
  • alarm
  • controller
  • sensor
  • flow instrument
  • unitary control element

Elements that perform the control action such as valves and dampers are principally types of distribution flow element and are located in the IfcHvacDomain and IfcElectricalDomain schemas.

Occurrences of control elements capture design information, while realtime device state is captured on IfcPerformanceHistory, for which control elements may be assigned. Various standard property sets are defined for performance history to capture direct control data.

Control elements are identified within control systems using IfcRelAssociatesClassification to indicate URLs of gateways and addresses of devices and data points.

To support multiple lifecycle stages, realtime control data (IfcPerformanceHistory) and design data (IfcDistributionElement subtypes) are separate such that each may be used independently without the existence of the other, however both may be related via IfcRelAssignsToControl. If device addressing is known at the time of design where classification is applied to occurrence entities, then upon connecting to a control system the control element occurrences can be assigned to realtime device data (IfcPerformanceHistory) automatically according to matching classification.

To connect control elements to physical flow elements measured or controlled, the IfcRelFlowControlElements relationship is used. For example, such relationship may map an actuator to a damper, or a temperature sensor to an evaporator coil. Performance data for IfcDistributionFlowElement entities may be derived by traversing such relationships.

The IfcBuildingControlsDomain schema does not specify building automation protocols, but may be mapped to standard protocols or vendor implementations for commissioning and operations interoperability. Common applicable entities are described as follows:

  • IfcPerformanceHistory: Captures realtime device data in the form of property sets.
  • IfcPropertySet: Captures a set of realtime device data, either using predefined data structures or custom information.
  • IfcPropertySetTemplate: Captures metadata about custom properties, such as names, descriptions, data types, units, and ranges.
  • IfcRelAssociatesClassification: Associates addresses of devices and control points to uniquely identify within a control system.
  • IfcController: Captures non-realtime occurrence information for hardware or software-based arbitrary analog and digital data.
  • IfcAlarm: Captures non-realtime occurrence information for hardware or software-based alarm sources.
  • IfcEvent: Captures alarm event handling information.
  • IfcProcedure: Captures device procedures that may be run arbitrarily or in response to events.
  • IfcTask: Captures device programs that may be scheduled at various times.

7.2.2 Types

  1. IfcActuatorTypeEnum
  2. IfcAlarmTypeEnum
  3. IfcControllerTypeEnum
  4. IfcFlowInstrumentTypeEnum
  5. IfcSensorTypeEnum
  6. IfcUnitaryControlElementTypeEnum

7.2.3 Entities

  1. IfcActuator
  2. IfcActuatorType
  3. IfcAlarm
  4. IfcAlarmType
  5. IfcController
  6. IfcControllerType
  7. IfcFlowInstrument
  8. IfcFlowInstrumentType
  9. IfcSensor
  10. IfcSensorType
  11. IfcUnitaryControlElement
  12. IfcUnitaryControlElementType

7.2.4 Property Sets

  1. Pset_ActuatorPHistory
  2. Pset_ActuatorTypeCommon
  3. Pset_ActuatorTypeElectricActuator
  4. Pset_ActuatorTypeHydraulicActuator
  5. Pset_ActuatorTypeLinearActuation
  6. Pset_ActuatorTypePneumaticActuator
  7. Pset_ActuatorTypeRotationalActuation
  8. Pset_AlarmPHistory
  9. Pset_AlarmTypeCommon
  10. Pset_ControllerPHistory
  11. Pset_ControllerTypeCommon
  12. Pset_ControllerTypeFloating
  13. Pset_ControllerTypeMultiPosition
  14. Pset_ControllerTypeProgrammable
  15. Pset_ControllerTypeProportional
  16. Pset_ControllerTypeTwoPosition
  17. Pset_FlowInstrumentPHistory
  18. Pset_FlowInstrumentTypeCommon
  19. Pset_FlowInstrumentTypePressureGauge
  20. Pset_FlowInstrumentTypeThermometer
  21. Pset_SensorPHistory
  22. Pset_SensorTypeCO2Sensor
  23. Pset_SensorTypeCommon
  24. Pset_SensorTypeConductanceSensor
  25. Pset_SensorTypeContactSensor
  26. Pset_SensorTypeFireSensor
  27. Pset_SensorTypeFlowSensor
  28. Pset_SensorTypeFrostSensor
  29. Pset_SensorTypeGasSensor
  30. Pset_SensorTypeHeatSensor
  31. Pset_SensorTypeHumiditySensor
  32. Pset_SensorTypeIdentifierSensor
  33. Pset_SensorTypeIonConcentrationSensor
  34. Pset_SensorTypeLevelSensor
  35. Pset_SensorTypeLightSensor
  36. Pset_SensorTypeMoistureSensor
  37. Pset_SensorTypeMovementSensor
  38. Pset_SensorTypePHSensor
  39. Pset_SensorTypePressureSensor
  40. Pset_SensorTypeRadiationSensor
  41. Pset_SensorTypeRadioactivitySensor
  42. Pset_SensorTypeSmokeSensor
  43. Pset_SensorTypeSoundSensor
  44. Pset_SensorTypeTemperatureSensor
  45. Pset_SensorTypeWindSensor
  46. Pset_UnitaryControlElementPHistory
  47. Pset_UnitaryControlElementTypeCommon
  48. Pset_UnitaryControlElementTypeIndicatorPanel
  49. Pset_UnitaryControlElementTypeThermostat

7.2.5 Quantity Sets

  1. Qto_ActuatorBaseQuantities
  2. Qto_AlarmBaseQuantities
  3. Qto_ControllerBaseQuantities
  4. Qto_FlowInstrumentBaseQuantities
  5. Qto_SensorBaseQuantities
  6. Qto_UnitaryControlElementBaseQuantities

7.2.6 Functions

No resources are available in this category.

7.2.7 Rules

No resources are available in this category.

7.2.8 PropertyEnumerations

  1. PEnum_ActuatorApplication
  2. PEnum_ControllerApplication
  3. PEnum_ControllerMultiPositionType
  4. PEnum_ControllerProportionalType
  5. PEnum_ControllerTwoPositionType
  6. PEnum_ControllerTypeFloating
  7. PEnum_ControllerTypeProgrammable
  8. PEnum_ElectricActuatorType
  9. PEnum_FailPosition
  10. PEnum_MovementSensingType
  11. PEnum_PressureGaugeType
  12. PEnum_TemperatureSensorType
  13. PEnum_ThermometerType
  14. PEnum_UnitaryControlElementApplication
  15. PEnum_WindSensorType

Edit on Github


Is this page difficult to understand? Let us know!