Registering a Virtual Measurement Point¶
A virtual measurement point is a non-model measurement point defined by the expression calculated based on one or more parameters. Parameters can be model measurement points, constants, and attributes. Only by registering virtual measurement points in Common Data Service can these measurement points be queried through Common Data Service APIs. You can register virtual measurement points in batches by uploading a template file.
Note
A virtual measurement point is not saved in the model, nor does it require storage. It is calculated in real time by Common Data Service during query. Therefore, virtual measurement points can only be used in lightweight calculation scenarios like device state mapping and PowerRatio=ActivePower/Capacity.
Common Data Service supports querying virtual measurement points, as well as the latest data and time series data of the measurement points on the models mapped with registered object types.
Prerequisites¶
You need to be assigned the required asset permission and operation permission, and a menu group containing the Virtual Points menu. If not assigned, contact the application administrator.
You need to learn the following best practices to ensure point query performance.
It is recommended that a virtual point expression references no more than 3 model points.
It is not recommended that you create virtual measurement points based on model points of the Generic type.
It is recommended that you perform pre-calculation and generate model measurement point data after analyzing user scenario and evaluating query performance.
Procedure¶
Select Business Object Elements > Virtual Points from the left navigation pane.
Select the Public Points or Private Points tab according to the effective scope of the target measurement point, and click Import. For more information about the difference between public and private points, see Public/Private Points.
Click Download in the pop-up window and choose to download an Excel or a JSON template file.
Enter the following information in the template file.
Field Name
Identifier
Required/Optional
Description
Point
measurementPoint
Required
The identifier of the point, which needs to be unique under the same object type within the same (public/private) effective scope.
Point Chinese/English/Japanese/Spanish Name
zh_CN/en_US/ja_JP/es_ES
English and Chinese names are required
The point name in different languages.
Object Type Identifier
mdmType
Required
The identifier of the object type that the point belongs to. You can go to Business Object Types to view the object type identifier.
Object Type Name
mdmTypeName
Optional
The name of the object type that the point belongs to. You can go to Business Object Types to view the object type name.
Interval
interval
Required
The query intervals supported by the point. Use these intervals: RAW (raw data), 1m (1 minute), 5m (5 minutes), 10m (10 minutes), 15m (15 minutes), 30m (30 minutes), H (hour). Separate multiple intervals by commas, for example, RAW,1m,5m,10m.
Time Aggregation Methods
timeAggMethods
Required
Specify how the data is aggregated when queried by a designated interval. Use these aggregation methods: avg, sum, max, min, first, last.
MDM Aggregation Methods
mdmAggMethods
Optional
Specify how the data is aggregated when multiple objects are queried. Use these aggregation methods: sum, avg, max, min.
Expression
expression
Required
Configure an expression based on model points and attributes. Use this format to reference a model point:
Point['ModelPointIdentifier']
. Use this format to reference an attribute:Attribute['AttributeIdentifier']
. You can reference multiple model points and attributes in one expression. For example, the expression of thePower Ratio
point is configured as: #{SUM#(Point[‘GenActivePW’]*1000#) / Attribute[‘capacity’] / 10.0}.Signal Type
signalType
Required
The type of the point. Use these point types: AI (Analog Input, AI points usually ingest numerical data), DI (Digital Input, DI points usually ingest device status data), PI (Pulse Input, PI points are usually used for calculating electric power data), Generic (points ingesting all other types of data, especially data of non-numerical types).
Enum Source Type
enumSourceType
Required
Fill in
static
if the enumeration values are static. Fill inrecord
if the enumeration values come from the records in Common Data Service.Static Enumerate
enumerate
Optional
For
static
enumeration values, you need to specify their identifiers and names.Dynamic Enum Source ID
enumerateSourceID
Optional
For enumeration values coming from
record
, you need to specify the identifiers of the record types.Dynamic Enum Mapping
enumerateMapping
Optional
For enumeration values coming from
record
, you need to specify the data fields in the record types mapped with the identifiers and names of the enumeration values.Is Future Data Available
includeFutureData
Optional
Fill in
Y
if the point data in the future can be queried, such as predictive data. fill inN
if the historical point data before the current time can be queried only.Unit
units
Optional
Fill in the unit of the point data by referring to EnOS Built-in Units.
Application Dependency
applicationDependency
Optional
The application that the point depends on. Separate multiple applications by commas.
Application Version Dependency
applicationVersionDependency
Optional
The application version that the point depends on. Separate multiple versions by commas.
Data Type
dataType
Required
The data type of the point differs according to the specified point type. Use these data types: Int (for AI or DI points), Double (for AI or PI points), String (for Generic points only).
Note
The “Org ID”, “Org Name”, “Updated On”, and “Updated By” fields in the template file can be left blank and will be filled by the system after upload.
Click Upload in the pop-up window. Select the filled template file and click OK. When you register a private measurement point, if the identifier in the file is the same as a registered public point identifier, the system will return the private point when the duplicate identifier is passed in to query the point.
Results¶
Once registered, the virtual point appears in the point list. You can view its details and perform the following actions on it.
Edit the virtual point: Click Export, modify the template file as required, and import the modified file. The points with the same identifiers will overwrite the existing points, and the points with different identifiers will be added.
Delete the virtual point: Click Delete of the target point. Deleted points cannot be restored.
Note
If the business object type that the point belongs to has been deleted, you need to contact the system administrator to delete this point.