Modbus register abstraction module.
Modbus register value type.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public | :: | access | = | MODBUS_ACCESS_NONE |
Read or write access. |
|
| integer, | public | :: | slave | = | 0 |
Slave id. |
|
| integer, | public | :: | address | = | 0 |
Register address. |
|
| integer, | public | :: | code | = | 0 |
Modbus function code. |
|
| integer, | public | :: | type | = | MODBUS_TYPE_INT16 |
Number type. |
|
| integer, | public | :: | order | = | MODBUS_ORDER_NONE |
Byte order of float. |
|
| integer, | public | :: | scale | = | 1 |
Scale denominator. |
|
| integer, | public | :: | value | = | 0 |
Register value to write. |
Returns .true. if register attribute scale is greater 1.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(modbus_register_type), | intent(in) | :: | register |
Modbus register type. |
Returns .true. if Modbus register type is valid.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(modbus_register_type), | intent(in) | :: | register |
Modbus register type. |
Outputs Modbus register type.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(modbus_register_type), | intent(inout) | :: | register |
Modbus register type. |
||
| integer, | intent(in), | optional | :: | unit |
File unit. |
Parses string for the following Modbus parameters and returns the
values in register:
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | string |
Input string. |
||
| type(modbus_register_type), | intent(out) | :: | register |
Modbus register type. |
||
| integer, | intent(out), | optional | :: | error |
Error code. |
Scales given value by scale denominator in register. For example, if
attribute scale is set to 10, the routine will device value by
10. If scale is 0 or 1, the value will not be modified.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(modbus_register_type), | intent(inout) | :: | register |
Modbus register type. |
||
| real(kind=r8), | intent(inout) | :: | value |
Value to scale. |