How do I find any gap in SCADA/HMI I/O address for padding and speed up communication?

How do I find I/O addresses gap using spreadsheet?

In Modbus communication, it’s important to ensure addresses are arranged continuously in one chunk without any skipped of addresses, because any gap in the address listing will force the communication transaction to be split into another transaction instead of polling the data at one go. And the transaction between client and server or master and slave will use up more time as compare to transmitting more data. The polling mechanism should not pad any dummy address for you because some devices are (unlike PLC which has continuous address but) really has the gap in the data arrangement. So forcefully padding in dummy address will cause communication error, as such it is your responsibility to add in dummy address to make addresses being arranged continuously whenever possible.

Usually S.I. engineer would use spreadsheet to perform import and export from within applications, so this guide will show you how to find any gap in the long list of I/O addresses.

  1. Firstly, you need to sort the list based on Data Type then follow by Address by using Data Sort.
  2. In new column (X), enter the following formula based on Address column (E):

    =IF((E3-E2<>E4-E3) AND (X2<>1), 1, 0)

    Modbus address on spreadsheet

    Drag and fill up the same formula for the whole column.

  3. The rows with gap can be highlighted using Conditional Formating when the cell equals to 1.

    Modbus address on spreadsheet