< PreviousField Device Integration (FDI) – Part 100: Profiles – Generic Protocols RELEASED FCG TS62769-100 , Ed. 1.2.0, 23 Jul 2019 Page 19 of 36 METHOD EndConnect( DD_STRING CommunicationRelationId, unsigned long ServiceId, unsigned long &DelayForNextCall, long &ServiceError) { ACCESS ONLINE; DEFINITION{<Gateway specific implementation>} } METHOD CancelConnect( DD_STRING CommunicationRelationId, unsigned long ServiceId, long &ServiceError) { ACCESS ONLINE; DEFINITION{<Gateway specific implementation>} } Table 15 provides the description of the arguments. Table 15 – Connect service arguments Argument Description CommunicationRelationId The argument value contains the nodeId of the ConnectionPoint representing the connection between a device and a physical network which is directly connected to the Communication Server hardware. The nodeId allows finding 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. The argument value holds the protocol-specific device’s network address that is unique within the network segment. ServiceId The service transaction code establishes the relation between the service request and the corresponding response. DelayForNextCall The value specifies a delay time in ms to limit the EndConnect invocation cycle that shall not be faster than specified in the argument value. ServiceError 1: OK / function started asynchronously, result has to be polled with EndConnect 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 address -5: Connect Failed / invalid device identification 5.6.2.3 Disconnect Subclause 5.6.2.3 describes the generic protocol specific implementation of the service Disconnect specified in IEC 62769-7. METHOD Disconnect( DD_STRING CommunicationRelationId, long &ServiceError) { ACCESS ONLINE; DEFINITION{<Gateway specific implementation>} } All the arguments of the Disconnect method are described in Table 10. Field Device Integration (FDI) – Part 100: Profiles – Generic Protocols RELEASED FCG TS62769-100, Ed. 1.2.0, 23 Jul 2019 Page 20 of 36 5.6.2.4 Transfer Subclause 5.6.2.4 describes the generic protocol specific implementation of the service Transfer specified in IEC 62769-7. Due to limitations in the capabilities of EDD methods (it is not possible to transfer any collections of a dynamic size) this profile requires some additional handling when using the transfer via Gateways. In addition to the calls of the EDD method a host first need to provide the data type information of the request and the response data. The following order need to be executed by the host: 1. Add the request and response data type information into a list defined by the gateway EDD (called DATA_TYPE_INFO_PER_SERVICE_ID). The entry shall include the ServiceId also used in the method calls. 2. Call BeginTransfer using the same ServiceId and follow the asynchronous call pattern as defined in IEC 62769-7. 3. When the host has received the response it is the responsibility of the host to remove the entry from the list. Thus only the host is manipulating the list and the gateway business logic is only accessing but not changing the list in order to get the information on the data types. METHOD BeginTransfer( DD_STRING CommunicationRelationId, DD_STRING Header, DD_STRING RequestData, unsigned long ServiceId, DD_STRING &ResponseData, DD_STRING &RESPONSE_CODES, long &ServiceError) { ACCESS ONLINE; DEFINITION{<Gateway specific implementation>} } METHOD EndTransfer( DD_STRING CommunicationRelationId, unsigned long ServiceId, DD_STRING &ResponseData, DD_STRING &RESPONSE_CODES, unsigned long &DelayForNextCall, long &ServiceError) { ACCESS ONLINE; DEFINITION{<Gateway specific implementation>} } METHOD CancelTransfer( DD_STRING CommunicationRelationId, DD_STRING &ResponseData, DD_STRING &RESPONSE_CODES, unsigned long ServiceId, long &ServiceError) { ACCESS ONLINE; DEFINITION{<Gateway specific implementation>} } Table 16 provides the description of the arguments. Field Device Integration (FDI) – Part 100: Profiles – Generic Protocols RELEASED FCG TS62769-100 , Ed. 1.2.0, 23 Jul 2019 Page 21 of 36 Table 16 – 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. Header The protocol-specific information on the data to be transferred. The Header is used in the COMMANDs of the EDD and the PSD (see Annex C) defines the format of this string per protocol. The first communication service treating this string shall validate the string according to its format defined in the PSD. RequestData The argument name shall match with the corresponding COMMAND sub-element name REQUEST. The byte stream submitted trough the argument is created from definitions provided by the REQUEST element of the corresponding COMMAND that shall be processed. The byte stream is separated in several byte streams for the different requested data types. This allows to consider a protocol-specific byte order of specific data types in the gateway or communication server. ResponseData The argument name shall match with the corresponding COMMAND sub-element name REPLY. The byte stream returned by this argument applies to definitions provided by the REPLY element of the corresponding COMMAND that shall be processed. The data are separated into several byte strings based on the ResponseDataTypes field. This allows the gateway or communication server to consider protocol-specific byte order of data types. RESPONSE_CODES The argument name shall match with the COMMAND sub-element name RESPONSE_CODES. The argument value conveys the specific communication service response bytes. ServiceId The service transaction code establishes the relation between the service request and the corresponding response. DelayForNextCall The value specifies a delay time in ms to limit the EndTransfer invocation cycle that shall not be faster than specified in the argument value. ServiceError 1: OK / function started asynchronously, result has to be polled with EndTransfer 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 The List that is used to add the data type information so the business logic of the gateway can do the needed data type transfers shall be called DATA_TYPE_INFO_LIST. It is defined in the following: VARIABLE EddDataTypeEnum { LABEL "Edd Data Type"; CLASS LOCAL; TYPE ENUMERATED { { 0x00, "BOOLEAN" } { 0x01, "DOUBLE" } { 0x02, "FLOAT" } { 0x03, "INTEGER" } { 0x04, "UNSIGNED_INTEGER" } { 0x05, "DATE" } { 0x06, "DATE_AND_TIME" } { 0x07, "DURATION" } { 0x08, "TIME" } { 0x09, "TIME_VALUE" } { 0x0a, "BIT_ENUMERATED" } { 0x0b, "ENUMERATED" } { 0x0c, "ASCII" } Field Device Integration (FDI) – Part 100: Profiles – Generic Protocols RELEASED FCG TS62769-100, Ed. 1.2.0, 23 Jul 2019 Page 22 of 36 { 0x0d, "BITSTRING" } { 0x0e, "EUC" } { 0x10, "OCTET" } { 0x11, "PACKED_ASCII" } { 0x12, "PASSWORD" } { 0x13, "VISIBLE" } } } VARIABLE SizeV { LABEL "Size of data type"; TYPE UNSIGNED_INTEGER(4); CLASS LOCAL; } COLLECTION DataTypeInfo { MEMBERS { Size, SizeV; EddDataType, EddDataTypeEnum; } } LIST DataTypeInfoList { TYPE DataTypeInfo; } VARIABLE ServiceIdentification { LABEL "Identification of service call"; TYPE UNSIGNED_INTEGER(4); CLASS LOCAL; } COLLECTION DataTypeInfoPerServiceId { MEMBERS { ServiceId, ServiceIdentification; RequestDataTypes, DataTypeInfoList; ResponseDataTypes, DataTypeInfoList; } } LIST DATA_TYPE_INFO_PER_SERVICE_ID { TYPE DataTypeInfoPerServiceId; } 5.6.2.5 GetPublishedData This method is not supported in the generic protocol profile. Field Device Integration (FDI) – Part 100: Profiles – Generic Protocols RELEASED FCG TS62769-100 , Ed. 1.2.0, 23 Jul 2019 Page 23 of 36 5.6.2.6 SetAddress Subclause 5.6.2.6 describes the generic protocol specific implementation of the service SetAddress specified in IEC 62769-7. BeginSetAddress( DD_STRING OldAddress, DD_STRING NewAddress, unsigned long ServiceId, unsigned long &DelayForNextCall, long &ServiceError) { ACCESS ONLINE; DEFINITION{<Gateway specific implementation>} } EndSetAddress( unsigned long ServiceId, unsigned long &DelayForNextCall, long &ServiceError) { ACCESS ONLINE; DEFINITION{<Gateway specific implementation>} } Table 17 provides the description of the arguments. Table 17 – Method SetAddress arguments Argument Description OldAddress The argument value holds the current address of a device. The same semantic applies to this field as the Address parameter in the Connect method. NewAddress The argument value holds the new address for a device. The same semantic applies to this field as the Address parameter in the Connect method. ServiceId The service transaction code establishes the relation between the service request and the corresponding response. DelayForNextCall The value specifies a delay time in ms to limit the EndTransfer invocation cycle that shall not be faster than specified in the argument value. ServiceError 1: OK / function started asynchronously, result has to be polled with EndSetAddress 0: OK / execution finished successfully -1: SetAddress Failed / canceled by caller -2: Call Failed / unknown service ID -3: SetAddress Failed / not initialized -4: SetAddress Failed / not connected to a network -5: SetAddress Failed / no device found responding to oldAddress -6: SetAddress Failed / duplicate address error -7: SetAddress Failed / device did not accept new address -8: SetAddress Failed / invalid oldAddress (in terms of syntax, data type, data format, and so on) -9: SetAddress Failed / invalid newAddress (in terms of syntax, data type, data format, and so on) -10: SetAddress Failed / not possible in status connected Field Device Integration (FDI) – Part 100: Profiles – Generic Protocols RELEASED FCG TS62769-100, Ed. 1.2.0, 23 Jul 2019 Page 24 of 36 5.6.2.7 Scan The method signature specified in IEC 62769-7 applies. The generic protocol gateway business logic shall create the scan result following IEC 62769-7. The following definitions shall be present in the COMPONENT declaration that holds the definitions for a communication device. The data structure corresponds to the data structure defined in the XML schema in Annex A. The SCAN_LIST attribute inside the COMPONENT declaration shall refer to LIST TopologyScanResult. VARIABLE GenericAddress { LABEL "Station address"; TYPE EUC(<protocol-specific>); CLASS LOCAL; } VARIABLE Manufacturer { LABEL "Manufacturer ID"; TYPE EUC(<protocol-specific>); CLASS LOCAL; } VARIABLE DeviceModel { LABEL "Device ID"; TYPE EUC(<protocol-specific>); CLASS LOCAL; } VARIABLE DeviceRevision { LABEL "Device revision"; TYPE UNSIGNED_INTEGER(2); CLASS LOCAL; } VARIABLE SerialNumber { LABEL "Serial number"; TYPE EUC(<protocol-specific>); CLASS LOCAL; } VARIABLE Tag { LABEL "Tag"; TYPE EUC(<protocol-specific>); CLASS LOCAL; } VARIABLE ProfileId { LABEL "ProfileId"; TYPE EUC(<protocol-specific>); CLASS LOCAL; } Field Device Integration (FDI) – Part 100: Profiles – Generic Protocols RELEASED FCG TS62769-100 , Ed. 1.2.0, 23 Jul 2019 Page 25 of 36 COLLECTION ScanItemType { MEMBERS { ADDRESS, GenericAddress; MANUFACTURER_ID, Manufacturer; DEVICE_MODEL, DeviceModel; DEVICE_REV, DeviceRevision; SERIAL_NUMBER, SerialNumber; TAG, Tag; PROFILEID, ProfileId; } } LIST TopologyScanResult { TYPE ScanItemType; } 5.6.2.8 ScanNext The method signature specified in IEC 62769-7 applies. The generic gateway business logic shall create the scan result following IEC 62769-7. The method ScanNext stores the result into data structures described for the method Scan (5.6.2.7). Field Device Integration (FDI) – Part 100: Profiles – Generic Protocols RELEASED FCG TS62769-100, Ed. 1.2.0, 23 Jul 2019 Page 26 of 36 Annex A (normative) Topology Scan result schema A.1 General The topology scan result schema specified in Annex A describes the generic protocols specific format Method Scan argument topologyScanResult . The XML document content and structure shall correspond to the Information Model designed concept to describe a topology in order to enable generic matching between physical devices connected to the network and the FDI Server hosted Information Model. A.2 Network The subsequent element is used to return the scan result corresponding to the Information Model described in IEC 62769-5. The XML schema for a Network element is: <xs:element name="Network" type="GP:GenericNetworkT"/> A.3 GenericNetworkT The element type describes the complete scan result for a single network because of the scan method that is provided per instance of a "Communication Device" which exists in 1:1 relation to a network instance. The XML schema for a GenericNetworkT type is: <xs:complexType name="GenericNetworkT"> <xs:sequence> <xs:element name="ConnectionPoint" type="GP:GenericConnectionPointT" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> The elements of a GenericNetworkT type are described in Table A.1 Table A.1 – Elements of GenericNetworkT Element Description ConnectionPoint The ConnectionPoint element holds the address and identification of the network connected device that has been found during bus scan operations. A.4 GenericConnectionPointT The XML schema for a GenericConnectionPointT type is: Field Device Integration (FDI) – Part 100: Profiles – Generic Protocols RELEASED FCG TS62769-100 , Ed. 1.2.0, 23 Jul 2019 Page 27 of 36 <xs:complexType name="GenericConnectionPointT"> <xs:sequence> <xs:element name="Identification" type="GP:GenericIdentificationT" minOccurs="0"/> </xs:sequence> <xs:attribute name="Address" type="GP:GenericAddressT" use="required"/> </xs:complexType> The attributes of a GenericConnectionPointT type are described in Table A.2. Table A.2 – Attributes of GenericConnectionPointT Attribute Description Address The Attribute value holds the address of the network connected device used to uniquely address the device in the network. The elements of a GenericConnectionPointT type are described in Table A.3. Table A.3 – Elements of GenericConnectionPointT Element Description Identification The element data holds the device type identification data. Compared to the Information Model (IEC 62541-100) the ConnectionPoint does not contain or refer to the device type identification data. But in order to support the FDI host system in finding the package that matches the connected device this schema associates the device type identification with the ConnectionPoint. Note that this element is optional since a protocol might not support identification of a device. A.5 GenericIdentificationT The element content corresponds to the "FunctionalGroup Identification". The XML schema for a GenericIdentificationT type is: <xs:complexType name="GenericIdentificationT"> <xs:attribute name="Manufacturer" type="xs:string" use="required"/> <xs:attribute name="DeviceModel" type="xs:string" use="required"/> <xs:attribute name="SerialNumber" type="xs:string" use="optional"/> <xs:attribute name="Tag" type="xs:string" use="optional"/> <xs:attribute name="DeviceRevision" type="xs:unsignedShort" use="optional"/> <xs:attribute name="ProfileId" type="xs:string" use="optional"/> </xs:complexType> The attributes of a GenericIdentificationT type are described in Table A.4. Table A.4 – Attributes of GenericIdentificationT Attribute Description Manufacturer See Table 7 DeviceModel See Table 7 SerialNumber See Table 7 Tag See Table 7 Field Device Integration (FDI) – Part 100: Profiles – Generic Protocols RELEASED FCG TS62769-100, Ed. 1.2.0, 23 Jul 2019 Page 28 of 36 DeviceRevision See Table 7 ProfileId See Table 7 A.6 GenericAddressT The protocol-specific address used to uniquely identify a device in a network segment. The XML schema for a GenericAddressT type is: <xs:simpleType name="GenericAddressT"> <xs:restriction base="xs:string"/> </xs:simpleType> Next >