6.4 COMM_IF Section and BLOCK Section

6.4.1 Basic policy

Basic policy to apply information described in the COMM_IF section and BLOCK section for creating CSP+ machine ObjectType is as follows.

CSPP elements specified in the COMM_IF_VARIABLE part and COMM_IF_CONFIGURATION part are mapped to each DataVariable referred to from ParameterSet Object of CSP+ machine ObjectType by using HasComponent Reference.

The DataVariables above are grouped both per CSPP section and per CSPP part. FunctionalGroupType Objects are created only for the number of CSPP sections and CSPP parts for grouping purpose, the Objects corresponding to the CSPP sections are referred to from the CSP+ machine ObjectType by using HasComponent Reference, and the Objects corresponding to the CSPP parts are referred to from the Objects corresponding to the sections using the HasComponent Reference.

Attribute and Property information held by the DataVariables (e.g. engineering unit, minimum collection cycle) are configured based on the CSPP elements in the BLOCK_MEMORY part and BLOCK_PARAM part referred to from the element corresponding to the DataVariables, and CSPP element or CSPP part to which the CSPP element belongs.

The image of the basic policy is shown in Figure 7‑1.

Figure 7‑1 – Image of Relationship between COMM_IF Section, BLOCK Section,
and CSP+ Machine ObjectType

6.4.2 COMM_IF section header information

From the information described in the COMM_IF section header, LABEL name is mapped to the BrowseName Attribute of the FunctionalGroupType Object (refer to 5.2.1.3) and LABEL2 name is mapped to the DisplayName Attribute of the same Object above.

6.4.3 BLOCK section header information

No rules are specified to use the information described in the BLOCK section header to create CSP+ machine ObjectType.

6.4.4 COMM_IF_INFO part

No rules are specified to use the information described in the COMM_IF_INFO part to create CSP+ machine ObjectType.

6.4.5 BLOCK_INFO part

No rules are specified to use the information described in the BLOCK_INFO part to create CSP+ machine ObjectType.

6.4.6 COMM_IF_VARIABLE part, COMM_IF_CONFIGURATION part

6.4.6.1 Header information

From the information described in the COMM_IF_VARIABLE part and COMM_IF_CONFIGURATION part headers, LABEL name is mapped to the BrowseName Attribute of the FunctionalGroupType Object (refer to 5.2.1.4 and 5.2.1.5) and LABEL2 name is mapped to the DisplayName Attribute of the same Object above.

No rules are specified to use any information other than the above to create CSP+ machine ObjectType.

6.4.6.2 CSPP element

CSPP elements specified in the COMM_IF_VARIABLE part and COMM_IF_CONFIGURATION part are mapped to each DataVariable referred to from ParameterSet Object of CSP+ machine ObjectType by using HasComponent Reference. The VariableType of each DataVariable is determined based on the following rules depending on the item values of the BLOCK_MEMORY part and BLOCK_PARAM part CSPP elements referred to from item values of each CSPP element and the CSPP elements.

CSPP elements that specify ENUM to the RANGE item are mapped to the DataVariables in one of VariableTypes: TwoStateDiscreteType, MultiStateDiscreteType, and MultiStateValueDiscreteType.

Data type is boolean type: TwoStateDiscreteType VariableType

CODE item values of entire elements are assigned in a serial number starting from 0 in ENUM part: MultiStateDiscreteType VariableType

Any case other than the above: MultiStateValueDiscreteType VariableType

All the CSPP elements other than the above referring to BLOCK_PARAM part including P_Period element are mapped to the DataVariable of the CsppAnalogItemType VariableType.

All the CSPP elements other than the above in data type of bit string type, signed integral data type, unsigned integral data type, BCD integral data type, or real data type, are mapped to the DataVariable of the AnalogItemType VariableType.

All the CSPP elements other than the above are mapped to the DataVariable of the DataItemType VariableType.

Part of items of each CSPP element is mapped to Attributes and Properties of the DataVariables. Table 7‑2 shows the mapping specifications. Instead of description omission in the COMM_IF_VARIABLE part and COMM_IF_CONFIGURATION part, the mapping specifications shown in the Table 7‑2 are also applied to the items described in the P_Value element of the BLOCK_MEMORY part.

Table 7‑2 – Mapping Specifications for COMM_IF_VARIABLE Part
and COMM_IF_CONFIGURATION Part Elements

No.Item name of CSPP element (mapping source)Mapping destinationRule
1.LABEL BrowseName Attribute

Maps the string that consists of the item value followed by a decimal value representing the appearance sequence (initial value: 1) of the item which has the same LABEL name in the CSP+ file for machine, to an Attribute value.

Example: When the LABEL name is "ABC" and the appearance sequence is 12, the Attribute value is "ABC12".

2.LABEL2 DisplayName AttributeMaps the item value to the Attribute value.
3.CATEGORY(No mapping)-
4.NAME(No mapping)-
5.DATATYPE DataType AttributeRefer to Table 8‑1.
6.RANGE

When values and value ranges are directly described

EURange Property

When option list (ENUM) is used

Refer to 6.4.8.

Mapping is performed only when one type of value setting is specified. No mapping is performed when two or more types of values are specified or when a value is specified.

Since the Range as a data type of EURange Property cannot identify whether it is closed interval or open interval, upper limit is mapped to the high element of the Value Attribute and lower limit is mapped to the low element without the identification.

7.MIN_INC(Affected to Value Attribute indirectly)Refer to No.1 of Table 7‑3.
8.ENG_UNITEngineeringUnits PropertyMaps the item value to the displayName element of the Value Attribute of the Property.
9.ACCESS AccessLevel Attribute

Maps the item value to an Attribute value based on the following rules. This item is not present in the COMM_IF_VARIABLE part element; however, it is handled as the item value is R.

- Item value is "R": Set bit 0 to 1, bit 1 to 0

- Item value is "W": Set bit 0 to 0, bit 1 to 1

- Item value is "RW": Set bit 0 to 1, bit 1 to 1

- Item value is "NA": Set bit 0 to 0, bit 1 to 0

- Item value is empty: No rules applied

10.REF_MEMORY(*1)Refer to 6.4.7.-
11.REF_PARAM(*1)Refer to 6.4.7.-
12.ASSIGN(*2)(No mapping)Does not map any item values but maps the values acquired from the machine using this item value to the Value Attribute value of the DataVariable.
13.COMMENT Description AttributeMaps the item value to the Attribute value.

*1: For the COMM_IF_CONFIGURATION part CSPP element only

*2: For the COMM_IF_VARIABLE part CSPP element only

6.4.7 BLOCK_MEMORY part, BLOCK_PARAM part

6.4.7.1 Header information

No rules are specified to use the information described in the BLOCK_MEMORY part and BLOCK_PARAM part headers to create CSP+ machine ObjectType.

6.4.7.2 Preset label CSPP element

Elements having preset labels in the BLOCK_MEMORY part and BLOCK_PARAM part are mapped not to CSP+ machine ObjectType but to a machine Object with the CSP+ machine ObjectType instantiated.

Some of elements having preset labels in the BLOCK_MEMORY part and BLOCK_PARAM part are mapped to Attributes and Properties of DataVariables as mapping destination for the elements specified in the COMM_IF_CONFIGURATION as its reference source, and others are mapped to return values for the Services (Read, Publish, Republish) to be executed for the DataVariables. Table 7‑3 shows the mapping specifications.

Table 7‑3 – Mapping Specifications for BLOCK_MEMORY Part and BLOCK_PARAM Part CSPP Elements

No.LABEL name of CSPP element (mapping source)Mapping destinationRule
1.P_Value Value Attribute of the DataVariableMaps the value acquired from the machine to the Attribute value. However, when MIN_INC item has been defined in P_Value element or its reference source element, a value acquired from the machine is converted depending on the MIN_INC item value and mapped to the Attribute value.
2.P_NA Severity field (bit 30 and bit 31) of the statusCode element of a value as DataValue DataType*1 from the Service return valuesWhen the value acquired from the machine is 0 (not missing), the Severity should be "00" (Good Success). When the value acquired is 1 (missing), the Severity should be "10" (Bad Failure).
3.P_Accuracy ValuePrecision Property for DataVariableMaps a value acquired from the machine (BLOCK_MEMORY part) or an element DATA item value (BLOCK_PARAM part) to a Value Attribute value of a Property.
4.P_ChangeDate"sourceTimestamp" member of a value as DataValue DataType*1 from the Service return valuesMaps the item value acquired from the machine to the member value.
5.P_MeasurementDate"serverTimestamp" element of a value as DataValue DataType*1 from the Service return valuesMaps the item value acquired from the machine to the element value.
6.P_Period Duration Property for DataVariableConverts the value acquired from the machine (the unit is specified by the ENG_UNIT item value for the element) in millisecond unit and maps to the Attribute value of the Property.
7.P_Cycle MinimumSampleingInterval Attribute for DataVariableMaps DATA item value of the element to the Attribute value.

*1: For a Read Service, the results[] value corresponds to the DataValue DataType. For a Publish or Republish Service, the Value element of the notificationData[] element in the notificationMessage value corresponds to the DataValue DataType.

6.4.7.3 CSPP element other than preset label

No rules are specified to use the information for the elements other than the preset label in the BLOCK_MEMORY part and BLOCK_PARAM part to create CSP+ machine ObjectType.

6.4.8 ENUM part

6.4.8.1 Header information

No rules are specified to use the information described in the ENUM part header to create CSP+ machine ObjectType.

6.4.8.2 CSPP element
6.4.8.2.1 TwoStateDiscreteType VariableType

When the data type of reference source CSPP element in the ENUM part is boolean type, map the reference source CSPP element to the DataVariable of the TwoStateDiscreteType VariableType. Map two CSPP elements of the ENUM part to Properties of the DataVariable based on the following rules.

Assign the CSPP element with the CODE item value 0 to the FalseState Property and map the CSPP element with CODE item value 1 to the TrueState Property.

When the LABEL2 item of the CSPP element is specified, set the item value to the text element of the Value Attribute for corresponding Property. Set the DATA item value of the Language element in the FILE_INFO part to the Locale element.

When the LABEL2 item of the CSPP element is not specified, set the LABEL item value to the text element of the Value Attribute. Set "en-US" to the Locale element.

6.4.8.2.2 MultiStateDiscreteType VariableType

When CODE item values of entire CSPP elements of ENUM part are assigned in a serial number starting from 0, map the reference source CSPP element to the DataVariable of the MultiStateDiscreteType VariableType. Map the CSPP elements of the ENUM part to Properties of the DataVariable based on the following rules.

Sort the CSPP elements in the ascending order of the CODE item value to be assigned to each element of the EnumStrings Property (Note: the Property above is array type) in a sequential order.

When the LABEL2 item of the CSPP element is specified, set the item value to the text element of the Value Attribute for the corresponding element of the EnumStrings Property. Set the DATA item value of the Language element in the FILE_INFO part to the Locale element.

When the LABEL2 item of the CSPP element is not specified, set the LABEL item value to the text element. Set "en-US" to the Locale element.

6.4.8.2.3 MultiStateValueDiscreteType VariableType

When CODE item values of entire CSPP elements of ENUM part are not assigned in a serial number starting from 0, map the reference source CSPP element to the DataVariable of the MultiStateValueDiscreteType VariableType. Map the CSPP elements of the ENUM part to the DataVariable Property based on the following rules.

Assign the elements of the EnumValues Property (Note: the Property above is array type) in the ascending order described in the ENUM part.

Set the CODE item value of the CSPP element to the Value element of the Value Attribute for the corresponding element of the EnumValues Property.

When the LABEL2 item of the CSPP element is specified, set the item value to the text element of the Display element in the Value Attribute for the corresponding element of the EnumValues Property. Set the DATA item value of the Language element in the FILE_INFO part to the locale element for the Display element.

When the LABEL2 item of the CSPP element is not specified, set the LABEL item value to the text element. Set "en-US" to the Locale element.