# Read-write memory double Register write instruction(30)

{% hint style="info" %}
This instruction if for memory with 2 register length only, please refer to the [list](/qr/fp-as510-paddle-wheel-flowmeter-manual-en-v1/communication/modbus-rtu-protocol/read-write-memory-list.md).
{% endhint %}

| Register  location | Memory definition | Data type |
| ------------------ | ----------------- | --------- |
| 0001               | scale factor      | float 32  |
| 0304               | upper limit       | float 32  |
| 0306               | lower limit       | float 32  |
| 030B               | Total Target      | float 32  |
| 0406               | 4mA Value         | float 32  |
| 0408               | 20mA Value        | float 32  |
| 040B               | 4mA Adjust        | float 32  |
| 040D               | 20mA Adjust       | float 32  |

## **Instruction example**

Format of command (30) from master<br>

| Byte#                       | 1             | 2             | 3                       | 4                       | 5          | 6          | 7          | 8          | 9   | 10  |
| --------------------------- | ------------- | ------------- | ----------------------- | ----------------------- | ---------- | ---------- | ---------- | ---------- | --- | --- |
| Node ID                     | Slave Address | Function Code | Memory address to write | Memory address to write | Write data | Write data | Write data | Write data | CRC | CRC |
| <p>Example</p><p>01\~FF</p> | 01            | 30            | 00                      | 01                      | 40         | 20         | 00         | 00         | 98  | 0E  |

**Description of master command**

This example will change A02 Scale Factor value to 2.50

slave address: 01(address of this flowmeter)

function code: 30(double Register write instruction)

Address of first reading register: 0001(memory address to write)

Write data: 40 20 00 00 (Change A02 Scale Factor value to 2.50)

‌CRC: 98 0E (Calculating error correcting code according to CRC algorithm)<br>

**Format of flowmeter response(30)**

| Byte#          | 1             | 2             | 3                       | 4                       | 5          | 6          | 7          | 8          | 9   | 10  |
| -------------- | ------------- | ------------- | ----------------------- | ----------------------- | ---------- | ---------- | ---------- | ---------- | --- | --- |
| Node ID        | Slave Address | Function Code | Memory address to write | Memory address to write | Write data | Write data | Write data | Write data | CRC | CRC |
| Example 01\~FF | 01            | 30            | 00                      | 01                      | 40         | 20         | 00         | 00         | 98  | 0E  |

**Description of flowmeter response example**

Valid command received. It will output the same command back to master.

slave address: 01(address of this flowmeter)

function code: 30(double Register write instruction)

Address of first reading register: 0001(memory address to write)

Write data: 40 20 00 00 (Change A02 Scale Factor value to 2.50)

CRC: 98 0E (Calculating error correcting code according to CRC algorithm)<br>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.lorric.com/qr/fp-as510-paddle-wheel-flowmeter-manual-en-v1/communication/modbus-rtu-protocol/read-write-memory-double-register-write-instruction-30.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
