< PreviousField Device Integration (FDI) – Part 101-2: Profiles – Foundation Fieldbus HSE RELEASED FCG TS62769-101-2 , Ed. 1.2.0, 09 Jul 2019 Page 9 of 27 BlockType property mapping CP 1/2 device types are block-oriented according to IEC 62541-100. IEC 62769-5 specifies the mapping of EDDL BLOCK_A elements to block types and instances. The BLOCK_A maps as a subtype of the topology element BlockType and inherits the properties as per IEC 62541-100. The mapping of the inherited properties of BlockType is specified in Table 7. Table 7 – Inherited BlockType property mapping Property CP Mapping (Block’s ParameterSet) RevisionCounter ST_REV ActualMode MODE_BLK.ACTUAL PermittedMode MODE_BLK.PERMITTED NormalMode MODE_BLK.NORMAL TargetMode MODE_BLK.TARGET Mapping to Block ParameterSet The ParameterSet is relative to each Block. The ParameterSet includes the CHARACTERISTICS records of the block that contains all the parameters found in the PARAMETERS, LOCAL_PARAMETERS and LIST_ITEMS. The browse name of the parameters found in the PARAMETERS and LOCAL_PARAMETERS is the member name in the respective lists. For example, ST_REV is the browse name of the Static Revision parameter. LIST_ITEMS do not have member names; therefore, the browse name of each LIST in the LIST_ITEMS is the item name of the list. 5.5 Topology elements ConnectionPoint definition The ConnectionPoint type ConnectionPoint_Foundation_HSE shall be used to identify CP 1/2 network communication and is defined in Table 8. The ConnectionPoint_Foundation_HSE type is a sub type of the abstract type ConnectionPointType defined in IEC 62541-100. The Address property can be an IPv4 or IPv6 address. For IPv4 addresses, the address shall be stored in the last 4 octets and all other octets shall be set to zero. The OrdinalNumber property reflects the position of the VFD within the SMIB VFD list. For devices exposing multiple FB VFDs the OrdinalNumber property is mandatory to address the FB VFD. For devices with a single FB VFD the OrdinalNumber property can be omitted. Devices exposed as instances of type DeviceType define their Connection points as components. Hence Devices with multiple FB VFDs shall contain multiple Connection points, one per FB VFD. Table 8 – ConnectionPointType ConnectionPoint_Foundation_HSE definition Attribute Value BrowseName ConnectionPoint_Foundation_HSE IsAbstract False References NodeClass BrowseName DataType TypeDefinition ModellingRule Inherits the properties of ConnectionPointType defined in IEC 62541-100. HasProperty Variable Address Octet[16] PropertyType Mandatory HasProperty Variable OrdinalNumber Int32 PropertyType Optional Field Device Integration (FDI) – Part 101-2: Profiles – Foundation Fieldbus HSE RELEASED FCG TS62769-101-2, Ed. 1.2.0, 09 Jul 2019 Page 10 of 27 The ConnectionPoint type ConnectionPoint_Foundation_HSE shall be described by an EDD element contained in a Communication Device related FDI Package that can drive a CP 1/2 network. Actual ConnectionPoint_ConnectionPoint properties are declared by VARIABLE constructs grouped together in a COLLECTION named Foundation_HSE_ConnectionPoint_Properties. COMPONENT ConnectionPoint_Foundation_HSE { LABEL "Foundation HSE Connection point"; CLASSIFICATION NETWORK_CONNECTION_POINT; CAN_DELETE FALSE; PROTOCOL Foundation_HSE; CONNECTION_POINT Foundation_HSE_ConnectionPoint_Properties; } VARIABLE Address { LABEL "Address"; HELP "Address"; CLASS DEVICE; TYPE OCTET(16); HANDLING READ & WRITE; } VARIABLE OrdinalNumber { LABEL "OrdinalNumber address property"; HELP "OrdinalNumber property to address the Function Block Application”; CLASS DEVICE; TYPE UNSIGNED_INTEGER (4); HANDLING READ & WRITE; } COLLECTION Foundation_HSE_ConnectionPoint_Properties { LABEL "Foundation HSE Connection Point data"; MEMBERS { CONNECTION_POINT_ADDRESS, Address; CONNECTION_POINT_ORDINALNUMBER, OrdinalNumber; } } Communication Device definition According to IEC 62769-7 each FDI Communication Package shall contain an EDD element describing the device. The following EDDL source code is an example describing an FDI Communication Server. COMPONENT Foundation_HSE_Communication_Server { LABEL "Foundation HSE communication server", PRODUCT_URI "urn:Fieldbus Foundation:Foundation HSE Communication Server"; CAN_DELETE TRUE; CLASSIFICATION NETWORK_COMPONENT; COMPONENT_RELATIONS { Foundation_HSE_Communication_Device_Setup Field Device Integration (FDI) – Part 101-2: Profiles – Foundation Fieldbus HSE RELEASED FCG TS62769-101-2 , Ed. 1.2.0, 09 Jul 2019 Page 11 of 27 } } COMPONENT_RELATION Foundation_HSE_Communication_Device_Setup { LABEL "Relation between Device and communication device"; RELATION_TYPE CHILD_COMPONENT; COMPONENTS { Foundation_HSE_Communication_Device{AUTO_CREATE 1;} } MINIMUM_NUMBER 1; MAXIMUM_NUMBER 1; } Semantics of the EDDL constructs shown above are described in IEC 62769-7. The EDDL COMPONENT will be utilized by the FDI Server and FDI Communication Server to create an instance of type CommunicationServerType as described in IEC 62769-7. According to IEC 62769-7 each FDI Communication Package shall contain at least one EDD element describing at least one CommunicationDevice component. The following EDDL source code is an example for a communication device. COMPONENT Foundation_HSE_Communication_Device { LABEL "Foundation HSE communication device"; CAN_DELETE TRUE; CLASSIFICATION NETWORK_COMPONENT; COMPONENT_RELATIONS { Foundation_HSE_Service_Provider_Relation } } COMPONENT_RELATION Foundation_HSE_Service_Provider_Relation { LABEL "Foundation HSE communication service provider”; RELATION_TYPE CHILD_COMPONENT; COMPONENTS { Foundation_HSE_Service_Provider{AUTO_CREATE 1;} } MINIMUM_NUMBER 1; MAXIMUM_NUMBER 16; } Semantics of the EDDL constructs shown above are described in IEC 62769-7. The EDDL COMPONENT will be utilized by the FDI server and FDI Communication Server to create an instance of type ServerCommunicationDeviceType as described in IEC 62769-7. The instance of type ServerCommunicationDeviceType shall contain the following parameter(s) with its/their ParameterSet. Table 9 shows definition of the Communication device ParameterSet. Field Device Integration (FDI) – Part 101-2: Profiles – Foundation Fieldbus HSE RELEASED FCG TS62769-101-2, Ed. 1.2.0, 09 Jul 2019 Page 12 of 27 Table 9 – Communication device ParameterSet definition Attribute Value BrowseName ParameterSet References NodeClass BrowseName DataType TypeDefinition ModellingRule See IEC 62541-100:–, 5.2. HasTypeDefinition ObjectType BaseObjectType HasComponent Variable <ParameterIdentifier> BaseDataVariableType Mandatory- Placeholder Communication service provider definition According to IEC 62769-7 each FDI Communication Package shall contain at least one EDD element describing at least one communication service provider component. The following EDDL source code is an example for a CP 1/2 communication service provider component. The component reference ConnectionPoint_Foundation_HSE corresponds to the related Connection Point definition in 5.4.2. COMPONENT Foundation_HSE_Service_Provider { LABEL "Foundation HSE communication service provider"; CAN_DELETE FALSE; CLASSIFICATION NETWORK_COMMUNICATION_SERVICE_PROVIDER; COMPONENT_RELATIONS { Foundation_HSE_Connection_Point_Relation } BYTE_ORDER BIG_ENDIAN; } COMPONENT_RELATION Foundation_HSE_Service_Provider_Connection_Point_Relation { LABEL "Relation between communication service provider and connection point"; RELATION_TYPE CHILD_COMPONENT; ADDRESSING {Address} COMPONENTS { ConnectionPoint_Foundation_HSE{ AUTO_CREATE 1;} } MINIMUM_NUMBER 1; MAXIMUM_NUMBER 1; } Semantics of the EDDL constructs shown above are described in IEC 62769-7. The EDDL COMPONENT will be utilized by the FDI Server and FDI Communication Server to create an instance of type ServerCommunicationServiceType as described in IEC 62769-7. Network definition According to IEC 62769-7 each FDI Communication Package shall contain at least one EDD element describing one Network for each of the protocols that are supported by the Communication Device. The definition supports the network topology engineering. COMPONENT Network_Foundation_HSE { LABEL "Foundation HSE Network"; CAN_DELETE TRUE; Field Device Integration (FDI) – Part 101-2: Profiles – Foundation Fieldbus HSE RELEASED FCG TS62769-101-2 , Ed. 1.2.0, 09 Jul 2019 Page 13 of 27 CLASSIFICATION NETWORK; COMPONENT_RELATIONS { Foundation_HSE_Network_Connection_Point_Relation } COMPONENT_RELATION Foundation_HSE_Network_Connection_Point_Relation { LABEL "Relation between network and connection point"; RELATION_TYPE CHILD_COMPONENT; ADDRESSING {Address} COMPONENTS { ConnectionPoint_Foundation_HSE } MINIMUM_NUMBER 1; MAXIMUM_NUMBER 32; } Semantics of the EDDL constructs shown above are described in IEC 62769-7. The EDDL COMPONENT will be utilized by the FDI server and FDI Communication Server to create an instance of type NetworkType as described with IEC 62541-100. 5.6 Methods Methods for FDI Communication Servers 5.6.1.1 General The Communication Server shall implement services according to the method signatures described in 5.6.1 and according to the Information Model. 5.6.1.2 Connect Table 10 shows the Method Connect arguments. Signature: Connect( [in] ByteString CommunicationRelationId, [in] ByteString Address, [in] Int32 OrdinalNumber, [out] Int32 ServiceError); Table 10 – Method Connect arguments Argument Description CommunicationRelationId The argument value contains the nodeId of the Device ConnectionPoint representing the connection between a device and a physical network directly connected to the FDI Communication Server hardware. The nodeId allows to find the direct parent-child relation. Address The argument name shall match with the corresponding attribute name defined for the ConnectionPoint which is described by a corresponding EDD element specified in 5.5.1. The argument value holds the device’s IPv4 or IPv6 address. OrdinalNumber The argument name shall match with the corresponding attribute name defined for the ConnectionPoint which is described by a corresponding EDD element specified in 5.5.1. The argument value holds the OrdinalNumber. The OrdinalNumber is the Field Device Integration (FDI) – Part 101-2: Profiles – Foundation Fieldbus HSE RELEASED FCG TS62769-101-2, Ed. 1.2.0, 09 Jul 2019 Page 14 of 27 position of the VFD within the SMIB VFD list. If a value 0 is passed with this argument the first FB VFD is selected. ServiceError 0: OK / execution finished, connection established successfully -1: Connect Failed / canceled by caller -2: Call Failed / unknown service ID -3: Connect Failed / device not found -4: Connect Failed / invalid device node address -5: Connect Failed / invalid device identification -6: Connect Failed / invalid LinkId argument -7: Connect Failed / invalid OrdinalNumber argument NOTE IEC 62769-7 defines the argument AddressData of the Connect Method as an array of Variant. The address arguments defined with the table are represented as entries of the Variant array in the order they are specified above. IEC 62769-7 defines the argument DeviceInformation as a protocol specific argument list in which the Connect Method stores the resulting data. The DeviceInformation argument is defined as an array of Variant. The DeviceInformation argument is not used. 5.6.1.3 Disconnect Table 11 shows the Method Disconnect arguments. Signature: Disconnect( [in] ByteString CommunicationRelationId, [out] UInt32 ServiceError); Table 11 – Method Disconect arguments Argument Description CommunicationRelationId The argument value contains the nodeId of the Device ConnectionPoint representing the connection between a device and a physical network directly connected to the FDI Communication Server hardware. The nodeId allows finding the direct parent-child relation. ServiceError 0: OK / disconnect finished successfully -1: Disconnect Failed / no existing communication relation -2: Disconnect Failed / invalid communication relation identifier Field Device Integration (FDI) – Part 101-2: Profiles – Foundation Fieldbus HSE RELEASED FCG TS62769-101-2 , Ed. 1.2.0, 09 Jul 2019 Page 15 of 27 5.6.1.4 Transfer Table 12 shows the Method Transfer arguments. Signature Transfer( [in] ByteString CommunicationRelationId, [in] String OPERATION, [in] String BlockTag, [in] UInt32 INDEX, [in] UInt32 SUB_INDEX, [in] Byte[] WriteData, [in] UInt32 ServiceId, [out] Byte[] ReadData, [out] Int32 ServiceError); Field Device Integration (FDI) – Part 101-2: Profiles – Foundation Fieldbus HSE RELEASED FCG TS62769-101-2, Ed. 1.2.0, 09 Jul 2019 Page 16 of 27 Table 12 – Method Transfer arguments Argument Description CommunicationRelationId The argument value contains the nodeId of the ConnectionPoint representing the connection between a device and a physical network within the Information Model. OPERATION The argument value indicates the data transfer operation. Allowed values are “READ”, “WRITE” and “VIEW_READ”. BlockTag The argument denotes the Block tag of the block instance being addressed. The value can be obtained by the Method Scan. INDEX OPERATION indicates “READ” or “WRITE”: The argument denotes the relative index of the block parameter being addressed. The relative index can be calculated by iterating the parameters of a block within the FDI Information Model. A value of 0 addresses the block header record (described by the CHARACTERISTICS attribute within the EDD). The first parameter is addressed with the INDEX 1. OPERATION indicates “VIEW_READ”: The argument denotes the view identifier in a range from 1 to 4. For instance a value of 1 requests that View_1 shall be read. Multiple View_3 or View_4 objects are identified by the INDEX and the SUB_INDEX argument. SUB_INDEX OPERATION indicates “READ” or “WRITE”: The argument denotes the subindex of a member of the block parameter being addressed if the block parameter is of type RECORD or ARRAY. To address a simple parameter, a value of 0 shall be passed with this argument. To address a specific member of a parameter of type RECORD or ARRAY a 1-relative value shall be passed with this argument. To address the parameter of type RECORD or ARRAY as a whole a value of 0 shall be passed with this argument. OPERATION indicates “VIEW_READ”: The argument addresses a View_3 or View_4 if multiple views of that type exist. The argument shall be 0 if there are no multiple views of the type addressed with the INDEX argument. Values of 1 up to the number of views of that type address the specific view. WriteData Write data encoded as byte array. Encoding of integers shall follow the rules defined with IEC 62541-6. The argument shall be ignored if OPERATION indicates a read transfer or a view read transfer. ServiceId The service transaction code establishes the relation between the service request and the corresponding response ReadData With this argument the read data byte stream is returned as a byte array. Encoding of integers shall follow the rules defined with IEC 62541-6. The argument shall be ignored if OPERATION indicates a write transfer. ServiceError 0: OK / execution finished -1: Transfer Failed / canceled by caller -2: Call Failed / unknown service ID -3: Transfer Failed / no existing communication relation. -4: Transfer Failed / invalid communication relation identifier -5: Transfer Failed / invalid sendData content -6: Transfer Failed / invalid receiveData format -7: Transfer Failed / Parameter Check a -8: Transfer Failed / exceeds Parameter Limits a -9: Transfer Failed / wrong Mode for Request a -10: Transfer Failed / write is prohibited by write lock switch or write lock Function Block for SIS devices a Field Device Integration (FDI) – Part 101-2: Profiles – Foundation Fieldbus HSE RELEASED FCG TS62769-101-2 , Ed. 1.2.0, 09 Jul 2019 Page 17 of 27 Argument Description -11: Transfer Failed / data value is never writeable a -12: Transfer Failed / duplicate BlockTag detected. -13: Invalid INDEX, SUB_INDEX argument provided with a “VIEW_READ” transfer. The FDI Server maintains an Information Model as defined in IEC 62541-100. Hence topology elements representing an FFBlockType are separated from actual block instances. An instance called Blocks of a ConfigurableObjectType is used to implement instantiation rules. Instantiation of blocks is further detailed in IEC 62769-5. According to the rules defined in IEC 62769-5, the FDI Server needs to gather information of the FF Directory object in order to be able to create block instances. This information shall be provided by the Scan Method defined with 5.6.1.7. According to IEC 62769-5, the BlockTag argument denoted above is obtained from the DisplayName attribute of the corresponding Block instance within the FDI Information Model. NOTE 1 IEC 62769-7, defines the argument SendData of the Transfer Method as an array of Variant. The arguments OPERATION, BlockTag, INDEX, SUB_INDEX and WriteData defined with the table are represented as entries of the Variant array in the order they are specified above. NOTE 2 IEC 62769-7, defines the argument ReceiveData of the Transfer Method as an array of Variant. The argument ReadData defined with the table is represented as entry of the Variant array in the order specified above. NOTE 3 Example (for clarification): A block has two views of type View_4. The first view of type View_4 is addressed with the arguments INDEX = 4 and SUB_INDEX = 1. The second view is addressed with the arguments INDEX = 4 and SUB_INDEX = 2. a A ServiceError value may be returned with a write operation. 5.6.1.5 GetPublishedData CP 1/2 alerts represent unsolicited messages as defined in IEC 62769-7. Table 13 shows the arguments of the Method GetPublishedData. NOTE CP 1/2 uses the term alerts to refer to alarms and event messages. These are asynchronous, unsolicited messages that deliver state change notifications such as diagnostic conditions. These messages are mapped to the GetPublishData service. CP 1/2 also uses the term publish to refer to synchronous, network scheduled communication for process values. These published messages are not mapped to the GetPublishedData service. Signature: GetPublishedData( [in] ByteString CommunicationRelationId, [out] String BlockTag, [out] Byte[] AlarmEventData, [out] NodeId AlarmEventType, [out] DateTime TimeStamp, [out] Int32 ServiceError); Table 13 – Method GetPublishedData arguments Argument Description CommunicationRelationId The argument value contains the nodeId of the ConnectionPoint representing the connection between a device and a physical network within the Information Model. BlockTag The output argument denotes the Block tag of the block instance that issued the alarm or event. AlarmEventData With this argument the alarm / event data byte stream is returned as a byte array. Field Device Integration (FDI) – Part 101-2: Profiles – Foundation Fieldbus HSE RELEASED FCG TS62769-101-2, Ed. 1.2.0, 09 Jul 2019 Page 18 of 27 Encoding of integers shall follow the rules defined in IEC 62541-6. AlarmEventType NodeId of the alarm or event type node defined within the FDI Information Model to decode the alarm / event data stream. The alarm and event types shall be read from the EDD by the FDI Server when creating the Information Model. TimeStamp Denotes the time the alarm or event was detected by the device. ServiceError 0: OK / execution finished -1: GetPublishedData Failed / canceled by caller -2: Call Failed / unknown service ID -3: GetPublishedData Failed / not supported -4: GetPublishedData Failed / no existing communication relation. -5: GetPublishedData Failed / invalid communication relation identifier -8: GetPublishedData Failed / no Alarm / Event data published. -9: GetPublishedData Failed / invalid AlarmEventType The FDI Server maintains an Information Model as defined in IEC 62541-100. Hence topology elements representing an FFBlockType are separated from actual block instances. An instance called Blocks of a ConfigurableObjectType is used to implement instantiation rules. Instantiation of blocks is further detailed in IEC 62769-5. According to the rules defined in IEC 62769-5, the FDI Server needs to gather information of the FF Directory object in order to be able to create block instances. This information shall be provided by the Scan Method defined with 5.6.1.7. According to IEC 62769-5, the BlockTag argument denoted above is obtained from the DisplayName attribute of the corresponding Block instance within the FDI Information Model. A ServiceError value may be returned with a write operation. NOTE 1 IEC 62769-7, defines the argument ReceiveData of the GetPublishedData Method as an array of Variant. The arguments BlockTag, AlarmEventData and AlarmEventType defined with the table are represented as entries of the Variant array in the order they are specified above. NOTE 2 IEC 62769-7, defines the argument SendData of the Transfer Method as an array of Variant. The arguments OPERATION, BlockTag, INDEX, SUB_INDEX and WriteData defined with the table are represented as entries of the Variant array in the order they are specified above. NOTE 3 IEC 62769-7, defines the argument ReceiveData of the Transfer Method as an array of Variant. The argument ReadData defined with the table is represented as entry of the Variant array in the order specified above. 5.6.1.6 SetAddress Table 14 shows the arguments of the Method SetAddress. NOTE: Modifying the address of a device will have an impact on the communications of a distributed control system (DCS) if present. Next >