Examples of Automatic Modbus Point Scanner Creation
The following scenarios demonstrate how the Modbus (Server Device) configuration of a set of SCADAPack x70 Analog and Digital Configuration items and the Maximum Gap Size setting impact the Modbus point scanner(s) that are automatically created for these Configuration items.
The other properties in these examples (Operation, Write Outputs, Operation for Offline Devices, Unsuccessful Write Operation, Scan Rate and Timeout) are the same for each object. Example 3b is an exception to this, with the Scan Rates differing while the other settings remain the same. These properties are configured on the Mapping tab (see Configure the Properties on the Mapping Tab).
Example 1:
| Object | PIO_SP474_AI1 | PIO_SP474_AI2 | PIO_SP474_AI3 | PIO_SP474_AI4 | PIO_SP474_AI5 |
|---|---|---|---|---|---|
| Modbus Data Type | UINT (Analog) | UINT (Analog) | UINT (Analog) | UINT (Analog) | UINT (Analog) |
| Modbus Register | 30001 | 30002 | 30003 | 30004 | 30005 |
This scenario will create a single Modbus point scanner with:
- A Modbus Register Start Address of 30001 and a Modbus Register Quantity of 5.
This is because the registers are consecutive.
Example 2:
| Object | PIO_SP474_AI1 | PIO_SP474_AI2 | PIO_SP474_AI3 | PIO_SP474_AI4 |
|---|---|---|---|---|
| Modbus Data Type | UINT (Analog) | UINT (Analog) | UINT (Analog) | UINT (Analog) |
| Modbus Register | 30001 | 30002 | 30004 | 30005 |
With a Maximum Gap Size of 0 registers, this scenario will create two Modbus point scanners:
- The first with a Modbus Register Start Address of 30001 and a Modbus Register Quantity of 2
- The second with a Modbus Register Start Address of 30004 and a Modbus Register Quantity of 2.
A gap at register 30003 necessitates the creation of these two separate scanners.
With a Maximum Gap Size of 1 register (or more) this scenario will create a single Modbus point scanner with:
- A Modbus Register Start Address of 30001 and a Modbus Register Quantity of 5, spanning the gap at register 30003.
Example 3a:
| Object | PIO_SP474_AI1 | PIO_SP474_AI2 | PIO_SP474_AI3 | PIO_SP474_AI4 | PIO_SP474_AI5 |
|---|---|---|---|---|---|
| Modbus Data Type | UINT (Analog) | UINT (Analog) | INT | INT | INT |
| Modbus Register | 30001 | 30002 | 30003 | 30004 | 30005 |
| Object | PIO_SP474_AI1 | PIO_SP474_AI2 | PIO_SP474_AI3 | PIO_SP474_AI4 | PIO_SP474_AI5 |
This scenario will create two Modbus point scanners:
- The first with a Modbus Register Start Address of 30001 and a Modbus Register Quantity of 2
- The second with a Modbus Register Start Address of 30003 and a Modbus Register Quantity of 3.
Using two different data types necessitates the creation of these two separate scanners.
Example 3b:
| Object | PIO_SP474_AI1 | PIO_SP474_AI2 | PIO_SP474_AI3 | PIO_SP474_AI4 | PIO_SP474_AI5 |
|---|---|---|---|---|---|
| Scan Rate | 10 seconds | 10 seconds | 10 seconds | 30 seconds | 30 seconds |
| Modbus Data Type | UINT (Analog) | UINT (Analog) | UINT (Analog) | UINT (Analog) | UINT (Analog) |
| Modbus Register | 30001 | 30002 | 30003 | 30004 | 30005 |
This scenario will create two Modbus point scanners:
- The first with a Modbus Register Start Address of 30001 and a Modbus Register Quantity of 3
- The second with a Modbus Register Start Address of 30003 and a Modbus Register Quantity of 2.
Using two different scan rates necessitates the creation of these two separate scanners.
Example 4:
| Object | PIO_5405_DI0 | PIO_5405_DI1 | PIO_5405_DI2 | PIO_5405_DI3 | PIO_5405_DI4 | PIO_5405_DI5 | PIO_5405_DI6 | PIO_5405_DI7 |
|---|---|---|---|---|---|---|---|---|
| Modbus Data Type | UINT (Digital) | UINT (Digital) | UINT (Digital) | UINT (Digital) | UINT (Digital) | UINT (Digital) | UINT (Digital) | UINT (Digital) |
| Modbus Register | 30001 | 30001 | 30001 | 30001 | 30002 | 30002 | 30002 | 30002 |
| Bit Offset | 0 | 1 | 2 | 3 | 0 | 3 | 4 | 5 |
This scenario will create a single Modbus point scanner with:
- A Modbus Register Start Address of 30001 and a Modbus Register Quantity of 2.
There are 12 unused bits in each of the two registers.
Example 5:
| Object | PIO_5405_DI0 | ... | PIO_5405_DI1023 | PIO_5405_DI1024 | ... | PIO_5405_DI2047 |
|---|---|---|---|---|---|---|
| Modbus Data Type | UINT (Digital) | ... | UINT (Digital) | UINT (Digital) | ... | UINT (Digital) |
| Modbus Register | 30001 | ... | 30064 | 30065 | ... | 30128 |
| Bit Offset | 0 | ... | 15 | 0 | ... | 15 |
This scenario will create two Modbus point scanners:
- The first with a Modbus Register Start Address of 30001 and a Modbus Register Quantity of 64
- The second with a Modbus Register Start Address of 30065 and a Modbus Register Quantity of 64.
This is due to the number of consecutive registers exceeding the maximum number of 64 registers per scanner with a UINT (Digital) data type. The other data types have a maximum of 1000 registers per scanner.
The columns with the ellipses (...) represent a contiguous sequence of registers/bits from the previous object to the next object.
Example 6:
| Object | PIO_SP474_AI1 | PIO_SP474_AI2 | PIO_SP474_AI3 | PIO_SP474_AI4 | PIO_SP474_AI5 |
|---|---|---|---|---|---|
| Modbus Data Type | Real (Floating Point) | Real (Floating Point) | Real (Floating Point) | Real (Floating Point) | Real (Floating Point) |
| Modbus Register | 30001 | 30003 | 30005 | 30007 | 30009 |
This scenario will create a single Modbus point scanner with:
- A Modbus Register Start Address of 30001 and a Modbus Register Quantity of 10. This is because the pairs of registers are consecutive.
Each object uses two registers due to the Real (Floating Point) data type.
Example 7:
| Object | PIO_SP474_AI1 | PIO_SP474_AI2 | PIO_SP474_AI3 | PIO_SP474_AI4 | PIO_SP474_AI5 |
|---|---|---|---|---|---|
| Modbus Data Type | Real (Floating Point) | Real (Floating Point) | Real (Floating Point) | Real (Floating Point) | Real (Floating Point) |
| Modbus Register | 30001 | 30003 | 30007 | 30009 | 30011 |
With a Maximum Gap Size of 0 registers this scenario will create two Modbus point scanners:
- The first with a Modbus Register Start Address of 30001 and a Modbus Register Quantity of 4
- The second with a Modbus Register Start Address of 30007 and a Modbus Register Quantity of 6.
This is due to the gap at registers 30005 and 30006.
With a Maximum Gap Size of 2 registers (or more) this scenario will create a single Modbus point scanner with:
- A Modbus Register Start Address of 30001 and a Modbus Register Quantity of 12, spanning the gap at registers 30005 and 30006.
Example 8:
| Object | PIO_SP474_AI1 | PIO_SP474_AI2 | PIO_SP474_AI3 | PIO_SP474_AI4 | PIO_SP474_AI5 |
|---|---|---|---|---|---|
| Modbus Data Type | Real (Floating Point) | Real (Floating Point) | Real (Floating Point) | Real (Floating Point) | Real (Floating Point) |
| Modbus Register | 30001 | 30003 | 30008 | 30010 | 30012 |
This scenario will create two Modbus point scanners (regardless of the Maximum Gap Size):
- The first with a Modbus Register Start Address of 30001 and a Modbus Register Quantity of 4
- The second with a Modbus Register Start Address of 30008 and a Modbus Register Quantity of 6.
This is due to the gap of 3 registers (which is not a multiple of two). Each Configuration item uses 2 registers due to the Real (Floating Point) data type.