< PreviousField Device Integration (FDI) – Part 115-2: PSD for ModbusRTU RELEASED FCG TS62769-115-2 , Ed. 1.2.0, 23 Jul 2019 Page 9 of 11 6.2 Called Functionality (Error) To illustrate a failed communication also an error case is shown. So the same request as described above could also lead to an error response 0x 01 84 04 73 63 indicating a “SERVER DEVICE FAILURE” [MOD12]. Table 3 Example Modbus PDU with Error Response Request Response Field Hex Field Hex Device Address 01 Device Address 01 Function 04 Error Code 84 Starting Address Hi 00 Exception Code 04 Starting Address Lo 08 CRC Hi 73 Quantity of Input Req. Hi 00 CRC Lo 63 Quantity of Input Req. Lo 01 CRC Hi C2 CRC Lo 95 6.3 EDD Command In the following an EDD command to generate such a Modbus communication is defined. COMMAND ReadRegister9 { OPERATION READ; HEADER "FUNCTION=\"4\" READ_ADDRESS=\"8\" READ_COUNT=\"1\""; //Function 04 – Read Input Registers TRANSACTION { REQUEST { } REPLY { VariableA // Variable of type Int(2), receiving value of Register 09 } } RESPONSE_CODES { 0, SUCCESS, "No Errors"; 1, MISC_ERROR, "ILLEGAL FUNCTION"; 2, DATA_ENTRY_ERROR, "ILLEGAL DATA ADDRESS"; 3, DATA_ENTRY_ERROR, "ILLEGAL DATA VALUE"; 4, MISC_ERROR, "SERVER DEVICE ERROR"; } } The address is managed by the EDD application outside the EDD and needs to be put into the PDU by the communication infrastructure (FDI Communication Server or FDI Gateway). Field Device Integration (FDI) – Part 115-2: PSD for ModbusRTU RELEASED FCG TS62769-115-2, Ed. 1.2.0, 23 Jul 2019 Page 10 of 11 The Modbus function information as well as the starting address and the quantity of registers is put into the HEADER attribute. The CRC information is not defined in the EDD command and needs to be added by the communication infrastructure (FDI Gateway or FDI Communication Server) managing the ModbusRTU communication. A successful response is put into the VariableA as defined in the REPLY and the response code 0 is used. The CRC information is not provided but checked by the communication infrastructure and handled as a communication error. In case of an error case the exception code is put into the RESPONSE_CODES. Identical to a successful response, the CRC information is not provided but handled as in the success case. Remark to Byte order: In Modbus the Byte order is in general Big-Endian [MOD12], so no transformation needs to be done by the communication infrastructure. 7 Scanning In order to scan for ModbusRTU devices and receive information about the type of device (Manufacturer and DeviceModel) the device needs to support ModbusRTU function 43. Since support for this function is optional, not all ModbusRTU devices support this function. In that case the FDI Communication Server or Gateway can only return a scan result having the address, but no device identification. Hosts need to deal with this and cannot automatically assign FDI packages according to DeviceModel and Manufacturer, e.g. by asking the user for this information. Therefore it is strongly recommended for device vendors developing FDI packages for ModbusRTU devices to implement ModbusRTU function 43 in their devices so that the normal FDI package assignment process is working. Field Device Integration (FDI) – Part 115-2: PSD for ModbusRTU RELEASED FCG TS62769-115-2 , Ed. 1.2.0, 23 Jul 2019 Page 11 of 11 Bibliography REC-xml-20081126, Extensible Markup Language (XML) 1.0 (Fifth Edition) – W3C Recommendation 26 November 2008, available at http://www.w3.org/TR/xml/ ___________ Next >