This chapter specifies rules to create CSP+ machine ObjectType from the CsppMachineType ObjectType based on the information described in the CSP+ for machine.

Inheriting rules not specified in this document for mandatory Attributes, Properties and DataVariables of the CsppMachineType ObjectType should depend on the implementation of application creating CSP+ machine ObjectType (OPC UA Server). The instantiation of machine Object from the CSP+ machine ObjectType should also depend on the implementation of application (OPC UA Server).

No rules are specified to use the information described in the FILE section to create CSP+ machine ObjectType. However, DATA item value of Language element as one of COMMON information may be indirectly used to show locale of a string. For details, refer to specifications of each rule.

Label names described in the DEVICE section header are used as part of BrowseName Attribute values of the CSP+ machine ObjectType. Specifically, a text "CsppDeviceType" connected after an Attribute value is handled as the BrowseName Attribute value. For example, when the label name is "ABC", its BrowseName Attribute value becomes "ABCCsppDeviceType".

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

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

Part of COMMON information CSPP elements in the DEVICE_INFO part is mapped to Attributes and Properties of the CSP+ machine ObjectType.

Table 71 shows the mapping specifications.

Table 71 – Mapping Specifications for COMMON Information CSPP Elements of DEVICE_INFO Part

No.

LABEL name of CSPP element (mapping source)

Mapping destination

Rule

1.

VendorName

Manufacturer Property

Maps DATA item value (Unicode string) of the CSPP element to the Value Attribute value of the Property.

2.

DeviceModel

Model Property

Maps DATA item value (ASCII string) of the CSPP element to the Value Attribute value of the Property.

3.

ProductID

(No mapping)

-

4.

Version

DeviceRevision Property

Maps DATA item value (*1) of the CSPP element to the Value Attribute value of the Property as a string.

5.

ReferenceURL

DeviceManual Property

-

6.

URLInfo

(No mapping)

-

7.

Outline

Description Attribute

Maps DATA item value (Unicode string) of the CSPP element to the Attribute value.

8.

SpecList

(No mapping)

-

9.

IconFileName

Icon Property

(ImagePNG DataType)

Converts a file specified by DATA item of the CSPP element to a PNG file and maps the file content as a binary string to the Value Attribute value of the Property.

10.

GraphicsFileName

DataVariable referred to from DeviceTypeImage Object. The DataVariable name should be DATA item value of DeviceModel element.

Maps a file content specified by DATA item of the CSPP element as a binary string to the Value Attribute value of the DataVariable. DataType of the DataVariable should be a DataType depending on the file format (PNG->ImagePNG DataType, BMP->ImageBMP DataType, JPG->ImageJPG DataType, GIF->ImageGIF DataType).

*1: One of bit string type, signed integral data type, unsigned integral data type, or STRING (x)

No rules are specified to use any CSPP elements other than COMMON information to create CSP+ machine ObjectType.

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

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

The image of the basic policy is shown in Figure 71.

image018.png

Figure 71 – Image of Relationship between COMM_IF Section, BLOCK Section, and CSP+ Machine ObjectType

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

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

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

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

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 6.2.1.4 and 6.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.

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.

Part of items of each CSPP element is mapped to Attributes and Properties of the DataVariables. Table 72 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 72 are also applied to the items described in the P_Value element of the BLOCK_MEMORY part.

Table 72 – Mapping Specifications for COMM_IF_VARIABLE Part and COMM_IF_CONFIGURATION Part Elements

No.

Item name of CSPP element (mapping source)

Mapping destination

Rule

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 Attribute

Maps the item value to the Attribute value.

3.

CATEGORY

(No mapping)

-

4.

NAME

(No mapping)

-

5.

DATATYPE

DataType Attribute

Refer to Table 81.

6.

RANGE

When values and value ranges are directly described

EURange Property

When option list (ENUM) is used

Refer to 7.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 73.

8.

ENG_UNIT

EngineeringUnits Property

Maps 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 7.4.7.

-

11.

REF_PARAM(*1)

Refer to 7.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 Attribute

Maps 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

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

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 73 shows the mapping specifications.

Table 73 – Mapping Specifications for BLOCK_MEMORY Part and BLOCK_PARAM Part CSPP Elements

No.

LABEL name of CSPP element (mapping source)

Mapping destination

Rule

1.

P_Value

Value Attribute of the DataVariable

Maps 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 values

When 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 DataVariable

Maps 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 values

Maps 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 values

Maps the item value acquired from the machine to the element value.

6.

P_Period

Duration Property for DataVariable

Converts 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 DataVariable

Maps 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.

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.

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

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.

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.

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.