7 modbus function code 08 (diagnostics) – Flowserve DDC-100 Modbus Direct-to-Host User Manual

Page 14

Advertising
background image

22

DDC-100 Direct-to-Host Programming Guide

FCD LMAIM4019-00

FCD LMAIM4019-00

DDC-100 Direct-to-Host Programming Guide

23

Second Command
Query
B30600001A009978

Response B30600001A009978

Second Command Message Breakdown

Query

Response

B3

Slave (Field Unit) Address

B3

Slave (Field Unit)

Address

06

Function

06

Function

00

Register Address Hi

00

Register Address Hi

00

1

Register Address Lo

00

Register Address Lo

1A

Force Data Hi

1A

Preset Data Hi

00

2

Force Data Lo

00

Preset Data Lo

9978

Error Check (CRC)

9978

Error Check (CRC)

Note 1: 0000h equals Register Address 40001 (field unit register 1, command register).
Note 2: 1A00h equals 6656.

Example of single register write “move-to” command
This command allows a Host to issue the “move-to” command with a single write utilizing the
Modbus function code 06. Register 1 will be used to complete this command.

Rules for utilizing this command:

• Field unit scaling must be configured for 0-100.
• To use the hexadecimal method of determining a single write “move-to” command, 0x4B is

always placed into the Hi Byte of Register 1.

• The desired position value is always placed into the Lo Byte of Register 1.

To move the actuator to a position of 50%, place the value 0x4B in the high byte and the value of
0x32 (50 decimal) into the low byte.

Example:
Hex format:
0x4B32

To use the decimal method of determining a single write “move-to” command, add the desired
position value to 19200.

Example:
Desired position:
50%

19200 + 50 = 19250

Example of single write “move-to” command
Move an actuator at address 1 to 50% of open by writing the value of 19250 (0x4B32) to the field
unit 40001 register. The actuator will then move to a position of 50% open.

Example
Query:
010600004B323EEF

Response: 010600004B323EEF

Message Breakdown

Query

Response

01

Slave Address

01

Slave Address

06

Function

06

Function

00

Starting Address Hi

00

Starting Address Hi

00

Starting Address Lo

00

Starting Address Lo

4B

Preset Data Hi

4B

Preset Data Hi

32

Preset Data Lo

32

Preset Data Lo

3EEF

Error Check (LRC or CRC)

3EEF

Error Check (LRC or CRC)

3.2.7 Modbus Function Code 08 (Diagnostics)

This function code provides a series of tests for checking the communication system between
the Host and field units (slaves), or for checking various error conditions within the field unit.
This function code uses a two-byte subfunction code field in the query to define the type of test
to be performed. The field unit echoes both the function code and subfunction code in a normal
response. It does not affect the field unit in any way. If this exchange is successful, then the
communication is successful.

A listing of the supported diagnostic two-byte subfunction codes is given in Table 3.8.

Example
Request a loopback (return query data) from the field unit at network address 3.

Query 030800000000E1E9

Response 030800000000E1E9

Message Breakdown

Query

Response

03

Slave (Field Unit) Address

03

Slave (Field Unit) Address

08

Function

08

Function

00

Subfunction Hi

00

Subfunction Hi

00

Subfunction Lo

00

Subfunction Lo

00

Data Hi

00

Data Hi

00

Data Lo

00

Data Lo

E1E9

Error Check (CRC)

E1E9

Error Check (CRC)

Table 3.8 – Diagnostic Codes Supported by the DDC-100 Field Unit

Code

Name

00

Return Query Data

01

Restart Communication Option

02

Return Diagnostic Register1

03

Change ASCII Input Delimiter

04

Force Listen-Only Mode

10 (0A Hex)

Clear Counters and Diagnostics Register

11 (0B Hex)

Return Bus Message Count

12 (0C Hex)

Return Bus Communication Error Count

13 (0D Hex)

Return Bus Exception Error Count

14 (0E Hex)

Return Slave Message Count

Note 1: Contains DDC-100 Field Unit diagnostic information. For engineering use only.

Advertising