Modbus Monitor XPF

User's Guide

Modbus Monitor XPF application allows communication to Modbus devices using a Windows-based Personal Computer. The application is currently distributed in Microsoft Store and runs on the Windows Platform. The application can be downloaded and installed on a trial basis to try the features before purchasing the full license.

The Modbus Monitor XPF application contains two applications in one and each application contains two communication options. The application contains Modbus Client and Modbus Server along with Serial and TCP options for each option.

This guide helps you get started with the basic operation and covers some of the advanced scripting commands available for purchased applications.

Main UI

The Main Screen is divided into three parts (1) Control Panel (2) Navigation Panel (3) Monitor Point List Table

  1. Control Panel

    • Shows Options for Tab chosen in Navigation Panel

    • Details for each option in the control panel can be found in later sections of this document.

  2. Navigation Panel

    • Shows Main Features of the application as Tabs (Shows List, Master, Server, etc.) similar to File Menu in classic Windows Application.

    • Details of each Tab or feature can be found in sections listed in this document

  3. Monitor Points List Table

    • Shows all monitor points defined for Modbus Master and/or Server mode

    • Add or Remove monitor points in the List Tab

Home Tab

File Section

  • Save: Saves Current File in CSV format

  • Save As: Saves File with another name in CSV format

  • Open: Open Another File Saved earlier with Modbus Monitor XPF (CSV Formatted).

  • Online: View and Download Online Modbus Maps from either (1) Released by Modbus Monitor or (2) Uploaded by Online Community

    • To Download Files:

      1. Click on the Factory Icon (1) and wait for the list to update from the cloud.

      2. Click on the File Name from the list of available devices, the file name appears in the text area (6)

      3. Click on the Download button (4).

      4. The Modbus Map of the devices automatically opens when the file successfully opens after the green check mark (5) appears and online button closes.

    • To Upload File:

      1. Click on Community icon (2)

      2. Click on the Share Icon (3) and choose local XPF Modbus Map data file

      3. Green Check shows (5) when file is successfully uploaded.

      4. Click on the Community Files Maps icon (2) to refresh the list of files in the window.

Clipboard Section

  • Paste: Paste Clipboard Row or Item or Monitoring Points to the end of the list

  • Copy: Copy the Selected Single or Multiple Row(s) to Clipboard. Multiple sequential rows can be selected with Shift-Click first and last row. Multiple rows can be selected using the Control-Click in any order.

  • Cut: Copy the Content of the current item to the clipboard and delete the item from the list.

List Section

  • Manage Monitor Points (also called Row or Item)

  • + Add: New Monitor Point with Default Values

  • - Remove: Selected Monitor Point from Monitor Point List Table

  • Delete All: Delete All monitoring points from Monitor Point List Table

  • Offset: Set One Based mode. Set Offset to 1 or 0 for the Modbus Address listed in the Address Column. In other words, addresses values in the list start with 1 (1-65536) or 0 (0-65535)

Filter Section

  • Left Number: Shows row number of the currently selected row.

  • Filter Box: Filter the list matching the value contained in the Name column or Address column.

Log Section

  • Show or Hide Communication Log.

  • The same button is also available in the header menu.


  1. Name

    • Text/String value of the Register

    • Example: Water Temperature

  2. Address

    • 6 Digit Modbus register value

    • Integer Value (0 to 465536)

    • Address are 0 based or 1 based depending on "One Based" check-mark in List Tab

    • Example: 000001 or 100001 or 400001 or 300001

    • 4x Example: 400001 (One based checked, 1st Register, Function 3, Read/Write)

    • 4x Example: 400000 (One based un-checked, 1st Register, Function 3, Read/Write)

    • 3x Example: 300001 (One based checked, 1st Register, Function 4, Read Only)

    • 0x Example: 000001 (One based checked, 1st Register, Function 1)

    • 1x Example: 100001 (One based checked, 1st Register, Function 2)

  3. Unit ID

    • Unit ID or Slave ID of the register for Master and Server

    • Byte Value (1-247)

    • Example: 1

  4. Gain/Offset

    1. Value to be multiplied and Offset Added to result obtained from the Server

    2. Server Mode: Gain and Offset will be applied before the value is sent to remote Master

    3. Float Value Column = Gain x [Modbus Value Obtained] + Offset (Linear Formula)

    4. Example: 1.00 (default Gain, Multiple 1), 0.00 (Default, no Offset)

  1. Data Type

    • Converted Data Value from Modbus poll

    • Example: BIT

    • 2 Registers are polled for 32-bit Data Type

    • 4 Registers are polled for 64-bit Data Type

    • Displays value based on the selection:

      • BIT = Binary value

      • INT16 = Display as 16-bit Signed value

      • UINT16 = Display as 16-bit Unsigned value (Default)

      • INT32 = Display as Signed 32-bit value

        • Two Registers are automatically polled

      • UINT32 = Display as Signed 32-bit value

      • FLOAT32 = Display as 32-bit Float

      • INT64 = Display as 64-bit Integer

      • UNIT64 = Display as 64-bit Unsigned Integer

      • DOUBLE64 = 64-bit Double Float

      • HEX = Display as Hex value (16-bits)

      • STRING = Display as Text Value (Will be added in Future)

  2. Swap Type

    • Byte and Word Swap when multiple registers are polled based on the Data Type

    • Swaps multiple Registers based on the selection:

      • ABCD_BE: ABCD swap or Big-Endian (Default)

      • CDBA_LE: CDBA swap or Little-Endian

      • BADC_BEBS: BADC swap or Big-Endian Byte Swap

      • CDAB_LEBS: CDAB swap or Little-Endian Word swap

  3. Value

    • Display Value from Master based on Data Type

    • Send Value to Server based on the Data Type

    • Modbus Master: Shows value polled from the remote device after applying Swap type, Gain/Offset, and Data Type

    • Modbus Server: Value to send to the remote Master device. Click a cell to change send the new value to send to remote Master (All conversions are applied per settings before sending the new value)


The Modbus Master or Client Mode (tab) polls remote Modbus TCP or RTU devices and displays data in the selected format.

Modbus TCP Settings

  1. Interface

    • Select Modbus TCP , Modbus UDP, or Modbus Serial Interface

  2. Protocol

    • TCP

      • DEFAULT: Modbus TCP over TCP/IP

      • RTU: Modbus RTU over TCP/IP

      • ASCII: Modbus ASCII over TCP/IP

    • UDP

        • DEFAULT: Modbus TCP over UDP

        • RTU: Modbus RTU over UDP/IP

        • ASCII: Modbus ASCII over UDP/IP

    • RTU

      • DEFAULT or RTU: Modbus RTU over serial COM port

      • ASCII: Modbus ASCII over serial COM port

  3. IP Address

    • IP Address or Hostname of remote TCP server

    • Connection Timeout: Timeout before reconnecting to remote host after connection lost

  4. Port Modbus

    • Port: Modbus Port for remote server

Poll Rate Settings

  1. Response Time out

    • Modbus Frame waiting time to gather all bytes from the remote server

    • For example: Wait 3000ms or 3 seconds to gather all bytes up to CRC or tag short frame error

  2. Inter-Frame

    • Delay before sending next frame or time to wait between each item in the list, in milliseconds.

    • For example: Wait 20ms before polling next item in the list

  3. Poll Rate

    • Delay before starting full list scan or time to wait before polling full list, in milliseconds.

    • For example: Wait 1 second before polling entire list again

COM Port Settings (Modbus RTU)

  1. COM Port

    • Select COM Port for Modbus RTU Polling

  2. Settings

    • Shows Serial port-related settings

Write Value Settings

  1. Auto

    • Atomically Select Single or Multiple Coil or Registers based on the Data Type selected

  2. Enable

    • Enable Write from Value Column

  3. Coil Write

    • Manually select function code for Write for Coil(s)

  4. Register Write

    • Select function code for Write for Register(s)


Modbus Server or Slave can simulate devices. The Modbus Server can be started on the both Interfaces (TCP and Serial) simultaneously.

TCP Section (Modbus/TCP or UDP sever)

    • Choose either TCP or UDP interface for the server to use

    • Choose one from three available protocols to for the server:

      1. Default = Modbus TCP

      2. RTU = Modbus RTU over TCP

      3. ASCII = Modbus ASCII over TCP

    • Enable Button Enables Modbus/TCP server options (In addition to Serial Interface, if used)

Serial Section (Modbus RTU)

    • Choose Serial Ports for the Modbus Server. (Check marks shows).

    • Click on the COM port to configure the rest of the Communication parameters such as Baud Rate, Data Bits, Stopbits, and Parity.

Note: Modbus RTU Server can start on multiple COM ports at the same.

    • Choose one from three available protocols to for the server:

      1. Default = Modbus RTU server (same as RTU option

      2. RTU = Modbus RTU over Serial Port

      3. ASCII = Modbus ASCII over Serial Port

Server (Start/Stop)

    • Both Modbus TCP server (when Enabled) and Modbus RTU server Starts (when COM port is selected) simultaneously.

Capture (Modbus Maps Wizard)

Modbus Sniff

Sniffs Modbus Map traffic and automatically builds Modbus Maps when Clients are making requests to this Server. Great when Modbus Maps are unknown or not available from Manufacturers.

    • Capture Button

      1. On: Add the Modbus Monitoring points based on the Modbus Request Requests. The Server must be running for this feature to work.

      2. Off: Turn off Capture or Modbus Traffic sniffer.

    • Default Value 0: Fill "0" as value into newly created Modbus Map or use Modbus Register address as fill value