Skip to content

Modbus Monitor XPF - User Guide

A practical guide for controls engineers and technicians

1. Introduction

Modbus Monitor XPF is a versatile Windows application for facilitating communication between a Windows-based PC and Modbus devices. It combines Client (Master), Server (Slave), and HMI dashboard functionality in one workflow and supports all common Modbus variants: TCP/IP, Serial RTU, Serial ASCII, and RTU/ASCII over TCP.

Modbus Monitor XPF Main Interface

One of the standout features of Modbus Monitor XPF is its triple functionality - it brings together a Modbus Client, a Modbus Server, and an HMI dashboard environment within a single application, running together. This combined capability, with support for both Modbus Serial and Modbus TCP protocols, makes it an invaluable tool for commissioning, simulation, and real-time operator visualization.

What you can do with it:

  • Monitor live data from PLCs, drives, meters, and other Modbus devices (Client Mode)
  • Write values to registers and coils for testing or control (Monitor Points Configuration)
  • Simulate Modbus devices for testing your own equipment (Server Mode)
  • Build and run HMI dashboards for live operator views and controls (HMI Tab and Widgets)
  • Scan unknown devices to discover their register maps (Scanner Group)
  • Log data for analysis and troubleshooting (Log Group)
  • Validate register values against expected ranges (Evaluate Group)
  • Run Client, Server, and HMI workflows together on one PC

Who this is for:

  • Controls engineers commissioning systems
  • Maintenance technicians troubleshooting communications
  • System integrators testing device compatibility
  • Equipment manufacturers validating Modbus implementations
  • SCADA developers needing device simulation without physical hardware

What Makes This Different

Most Modbus tools are either simple monitors or complex SCADA packages. XPF sits in the middle - it's powerful enough for serious work but simple enough to use quickly. The key advantages:

  1. Runs Client, Server, and HMI together - Test communications and visualize data in one application
  2. Pre-built device maps - Download factory-validated maps or community-contributed maps for common equipment (see Modbus Device Maps Start Page)
  3. Built-in data validation - Automatic pass/fail testing with color coding
  4. Professional logging - Proper timestamped records for troubleshooting
  5. Cross-platform protocol support - Mix Modbus TCP, RTU, ASCII in the same session

Learning Resources

Beyond this user guide, additional resources are available:

2. Installation & Activation

System Requirements

Minimum Requirements:

  • Windows 10 or 11 (64-bit recommended)
  • .NET Framework 4.8 or later
  • 4GB RAM minimum, 8GB recommended
  • 100-500 MB free disk space
  • Serial ports (USB-to-serial adapters work fine)
  • Network access for TCP/IP communications
Component Minimum Recommended Notes
OS Windows 10 x64 Windows 11 x64 Most modern systems
RAM 4 GB 8 GB+ More memory = better performance
Storage 100 MB 500 MB Depends on log file size
.NET Framework 4.8+ Latest Version Usually pre-installed
Ports USB or Ethernet Multiple adapters For Modbus connections
Component Minimum Recommended Notes
OS Windows 10 x86 Windows 11 x86 Older or embedded systems
RAM 2 GB 4 GB 32-bit limit is ~3.5 GB total
Storage 100 MB 200 MB Smaller footprint
.NET Framework 4.8+ Latest Version Same as 64-bit
Ports USB or Ethernet Multiple adapters Full feature compatibility

Recommended for field work:

  • Rugged laptop with Windows 10/11
  • USB-to-serial adapter (FTDI chipset recommended)
  • Ethernet port for Modbus TCP
  • 8GB RAM for smooth operation
  • Portable version - No installation needed, runs from USB drive

Field Technician Tip

Keep the portable version on a USB drive alongside your serial adapters. You can run it on any Windows machine without installation rights.

Getting the Software

Install via Microsoft Store - Easiest Method

Search for "Modbus Monitor XPF" directly in the Microsoft Store on your Windows Desktop. Once installed, the application can be accessed from the Start Menu.

Benefits: - Automatic updates and license management - No admin rights needed for installation - Universal binary - Works on both 32-bit and 64-bit Windows - License per user (not per machine) - follows your Microsoft Account - Automatic cloud licensing - Purchase and activate through Store

Get from Microsoft Store

Or visit the web store: Microsoft Store Product Page

Install from QuantumBit Solutions Downloads Page

Download the latest version of Modbus Monitor XPF directly from our Downloads Page. This page provides all available versions, including portable and installer options for ARM64, x64, and x86 architectures.

Downloads & Purchase Page

- **Installer**: Creates shortcuts, integrates with Windows, faster startup
- **Portable**: No installation needed, run from USB drives, good for field work
- **ARM64**: For Windows on ARM devices (Surface Pro X, etc.)
- **64-bit**: Works on modern Windows (2010+), handles large datasets better  
- **32-bit**: Only needed for older Windows systems or embedded PCs

Recommendation

For most users, the 64-bit version is recommended for modern systems. Portable versions are ideal for field work or systems without admin rights.

Volume licensing and site deployments
- Multiple machine licenses available - Offline licensing for air-gapped networks - Volume discounts for large deployments - Purchase orders and invoice billing accepted

Enterprise Sales Browse License Options

Which Version Should I Choose?

Most users: Choose the 64-bit version - it works on modern Windows systems and handles large datasets better.

Use 32-bit version if: - Running on older Windows systems (pre-2010) - Using embedded/industrial PCs with 32-bit OS - Company policy requires 32-bit applications

Installer vs Portable: - Installer: Better for permanent desk setups, adds shortcuts and file associations - Portable: Better for field work, USB drives, or systems without admin rights

License Activation

This section walks you through activating the license for your Modbus Monitor XPF software. The License window provides several buttons and fields to help you navigate the activation process.

First Launch Experience:

When you launch Modbus Monitor XPF for the first time, the License window appears automatically. This window displays:

  • UID (User Identification) - Your unique identifier for license purchases
  • License Information Panel - Shows current license status (Trial or Licensed)
  • Hardware ID (HWID) - Used for certain license types
  • Licensing Buttons - Store, Shop, Activate, Load, Trial, Exit

Licensing Buttons Overview:

Button Purpose When to Use
Store Microsoft Store purchase & activation Purchase through Microsoft Store or activate Store license
Shop Online shop page Opens web browser to quantumbitsolutions.com/shop
Activate Enter license key After purchasing online key-based license
Load Load license file For .lic files (enterprise/offline licenses)
Trial Start trial mode Begin evaluation period with full features
Exit Close license window Exit the application

Trial Version - Full Featured Evaluation

Free trial with ALL features unlocked - No credit card required. Perfect for testing before purchase.

Starting Trial Mode: 1. Launch XPF for the first time 2. License window appears automatically 3. Click "Trial" button to begin evaluation period 4. License Information Panel shows how many days are left in your evaluation period 5. Start using the application immediately with limited functionality. Runtime and some features are restricted and requires full license.

Main Steps to Activate the Software:

  1. Purchase License - Click "Store" or "Shop" button to visit licensing store and complete purchase
  2. Load or Enter Key - After purchase, load license file (enterprise) or enter license key (online purchase)
  3. Verify Activation - License Information Panel confirms activation status and trial mode is disabled

Choose your activation method based on how you obtained the software:

Automatic activation with Microsoft Account

The Microsoft Store version handles licensing automatically - no manual activation needed!

Purchase & Activation Flow:

  1. Open License Window
  2. Launch Modbus Monitor XPF
  3. The license dialog appears automatically on first launch
  4. Or go to File Tab → About → Activate button

  5. Click "Store" Button

  6. Opens Microsoft Store purchase page
  7. Your UID is automatically included in the purchase

  8. Complete Purchase

  9. Sign in with your Microsoft Account
  10. Complete payment in the Microsoft Store
  11. Purchase is linked to your Microsoft Account

  12. Activate License

  13. Return to XPF License window
  14. Click "Store" button again to activate
  15. System verifies purchase with Microsoft
  16. Status changes to "Licensed" immediately

Benefits:

  • No manual license key entry required
  • Automatic renewal options available
  • License tied to Microsoft Account (not individual PC)
  • Easy reinstallation on any Windows device
  • Can be used on new computers with same Microsoft Account

Multi-Computer Usage

Microsoft Store licenses follow your Microsoft Account. Install on multiple devices and sign in with the same account - the Store button activates on each installation automatically!

License Window Location

Access the license window through: File Tab → About section → Activate button

Manual activation with license key

For licenses purchased directly from quantumbitsolutions.com using online Shop or purchase buttons.

Step-by-Step Activation:

  1. Get Your UID (BEFORE Purchasing!)
  2. Launch Modbus Monitor XPF
  3. Go to File Tab → About → Activate button
  4. License window opens showing your UID (User Identification)
  5. Format looks like: ABC123-DEF456-GHI789 or similar alphanumeric code
  6. Click "Copy" button next to the UID field
  7. Save this UID - it's required for purchasing your license

  8. Purchase License Online

  9. Click the "Shop" button in the License window (opens shop page)
  10. Or visit quantumbitsolutions.com/shop directly
  11. Select Modbus Monitor XPF license
  12. Enter your UID in the order form (critical step!)
  13. Complete payment through the online system

  14. Receive License Key via Email

  15. Check your email inbox (usually arrives within minutes)
  16. License key format: XXXX-XXXX-XXXX-XXXX-XXXX (5 groups separated by dashes)
  17. Save this email - you'll need it for reinstallation on other computers
  18. Note: Key is permanently tied to your UID

  19. Activate in XPF

  20. Return to the License window (File Tab → About → Activate)
  21. Click "Activate" button in the Licensing Buttons section
  22. Paste your complete license key in the entry field
  23. System verifies the key online
  24. License Information Panel updates to show "Licensed" status

Critical: Provide UID When Purchasing!

Your license key is permanently bound to your UID. If you purchase without providing your UID, the key won't work and you'll need to contact support for a replacement key.

License Window Components:

Component Description
UID Field Displays your unique User Identification code
Copy Button Copies UID to clipboard for purchase form
License Information Panel Shows current license status (Trial or Licensed)
Activate Button Opens field to enter license key for activation
Shop Button Opens online shop to purchase license

Troubleshooting:

  • "Invalid Key" error: Verify you copied the entire key including all dashes, no extra spaces
  • "UID Mismatch": Key was purchased for different UID - contact support with both UID and key
  • "Connection Error": Activation requires internet connection - check firewall settings
  • Key not working: Ensure you're entering the key in the Activate dialog, not the Trial field

License Activation Window

License file for multiple installations or air-gapped systems

For organizations needing multiple installations, offline activation, or centralized license management.

License Types:

License Type Use Case Activation Method
Site License Multiple PCs at one location License file (.lic) or keys
Volume License Many installations, any location Multiple keys or license files
Offline License Air-gapped networks, no internet Special license file only
OEM License Bundled with equipment Custom activation method

Activation with License File (.lic):

  1. Contact Sales for Enterprise Licensing
  2. Email sales@quantumbitsolutions.com
  3. Provide: Number of seats needed, deployment location(s), offline requirements
  4. Discuss: Site license, volume pricing, offline activation needs
  5. Receive: Quote and purchase order details

  6. Receive License File

  7. Sales team provides special .lic license file after purchase
  8. File contains all activation data embedded
  9. No internet connection required for activation with license file
  10. Can be used on multiple PCs (based on license terms)

  11. Load License File on Each Computer

  12. Launch Modbus Monitor XPF
  13. Open License window: File Tab → About → Activate
  14. Click "Load" button in the Licensing Buttons section
  15. File browser opens
  16. Navigate to your .lic file location
  17. Select the license file and click Open
  18. License Information Panel immediately shows "Licensed" status
  19. No internet verification needed - file contains authorization

  20. Deploy to Multiple Systems

  21. Copy the same .lic file to all licensed computers (via USB, network share, etc.)
  22. Install XPF on each system
  23. Repeat Step 3 (Load License File) on each installation
  24. All systems activate instantly with the same file

Alternative: Offline Key Activation

If you need to activate with a license key on air-gapped systems:

  1. Generate Activation Request
  2. On offline PC: Open License window
  3. Note your UID and Hardware ID (HWID) shown in License Information Panel
  4. Provide these to support via email (from internet-connected PC)

  5. Receive Offline License Key

  6. Support generates special offline key tied to your UID/HWID
  7. Transfer key to offline system (USB drive, printed paper, etc.)

  8. Enter Key on Offline System

  9. Click "Activate" button in License window
  10. Enter the offline license key
  11. System validates locally without internet
  12. Status changes to "Licensed"

Enterprise Support Benefits:

  • Priority email support response (24-hour guarantee)
  • Optional phone support available
  • Custom Service Level Agreements (SLAs)
  • Dedicated account management
  • Volume discount pricing
  • Flexible deployment options (offline, network, etc.)
  • Purchase order and invoice billing accepted

Recommended for Industrial Environments

License files (.lic) are ideal for secure facilities, air-gapped networks, or environments where internet access is restricted for security reasons.

Contact Enterprise Sales View Volume License Options

Common installation and activation issues

Installation Problems

Application won't start or crashes immediately:

  • Install latest .NET Framework from Microsoft
  • Right-click XPF → "Run as Administrator"
  • Check Windows Defender isn't blocking the application
  • Verify system meets minimum requirements (Windows 10/11)

Serial ports not showing in interface:

  • Install drivers for your USB-to-serial adapter
  • Check Device Manager for COM port assignments
  • Some generic adapters need specific drivers (FTDI, Prolific, etc.)
  • Try different USB ports if adapter not recognized

Network connection problems:

  • Windows Firewall may block Modbus TCP (port 502)
  • Add firewall exception: Control Panel → Windows Defender Firewall → Allow an app
  • Corporate networks sometimes block non-standard ports
  • Verify IP address and subnet configuration

Activation Issues

"Invalid Key" error when activating:

  • Verify you copied the complete license key (including all dashes)
  • Check for extra spaces at beginning or end of key
  • Ensure key matches the UID shown in License window
  • Contact support if key was purchased for different UID

"Connection Error" during activation:

  • Check internet connection is active
  • Verify firewall isn't blocking XPF's internet access
  • Try temporarily disabling antivirus software
  • Some corporate proxies block activation - contact IT

Microsoft Store activation not working:

  • Ensure you're signed in with correct Microsoft Account
  • Check Microsoft Store app is updated to latest version
  • Try signing out and back in to Microsoft Account
  • Restart XPF after completing purchase

License shows "Expired" unexpectedly:

  • Verify system clock is set correctly (wrong date can cause this)
  • Check if subscription renewal payment failed
  • Contact support to verify license status

Performance Issues

Slow startup or sluggish performance:

  • Close unnecessary applications consuming RAM
  • Check for Windows updates pending installation
  • Disable communication logging when not needed
  • Reduce number of monitor points being polled

High memory usage:

  • Disable Event Log if not needed (major memory consumer)
  • Limit chart buffer size (set Samples value instead of unlimited)
  • Clear log files periodically
  • Reduce poll rate for large register lists

Still Having Issues?

Email Support: support@quantumbitsolutions.com
Community Forum: quantumbitsolutions.com/forums
Knowledge Base: Technical Resources

License Comparison:

Feature Trial Standard Enterprise
Duration Time-limited Perpetual Perpetual
Full Features Yes Yes Yes
Updates During trial 1 year included Custom terms
Installations 1 PC 1 PC per license Multiple PCs
Support Community forum Email support Priority support
Offline Use Yes Yes Yes (special activation)
Price Free View pricing Contact sales

3. GUI - Understanding the App Interface

Application Window

The main application window of Modbus Monitor XPF is organized into several key sections that work together to provide a comprehensive Modbus communication interface.

XPF Application Window with numbered annotations showing Quick Access Toolbar, Ribbon Tabs, Command Groups, Dialog Launcher, and Window Portal Area Figure 3.1: Main application interface showing five key areas (1, 2, 3, 4, 5)

Interface Component Structure:

graph TB
    QAT["1 Quick Access Toolbar<br/>Customizable one-click commands<br/>Save • Open • Read • Start • Show"]
    TABS["2 Ribbon Tabs<br/>File • Home • Client • Server • IoT"]
    GROUPS["3 Command Groups<br/>Clipboard • Modbus Wizard • List<br/>Filter • Evaluate • Log"]
    LAUNCHER["4 Dialog Launcher<br/>Small arrows in group corners<br/>Access extended options"]
    PORTAL["5 Window Portal Area<br/>Monitor Points • Log • Chart • Online Maps"]

    QAT -.-> TABS
    TABS -.-> GROUPS
    GROUPS -.-> LAUNCHER
    GROUPS -.-> PORTAL

    style QAT fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
    style TABS fill:#fff3e0,stroke:#f57c00,stroke-width:2px
    style GROUPS fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
    style LAUNCHER fill:#ffebee,stroke:#c62828,stroke-width:2px
    style PORTAL fill:#e8f5e9,stroke:#388e3c,stroke-width:2px

The application window contains five main areas:

Cross-Reference with Screenshot and Diagram

Each numbered section (1, 2, 3, 4, 5) in the annotated screenshot and the diagram above corresponds to the detailed descriptions below. Use these visual guides to quickly locate features in the actual application.

1. Quick Access Toolbar

Located at the very top, this toolbar provides one-click access to frequently used commands. You can customize which buttons appear by right-clicking the toolbar.

Available Quick Access Toolbar Buttons:

Button Function Description
Save Save configuration Quickly save your current Modbus map configuration to CSV file
Open Open file Load previously saved configuration
Chart Open chart view Switch to Chart visualization window
Read Read once Poll all monitoring points once and stop
Write Write once Write selected monitor point value once
Client Modbus Client Start/Stop continuous polling of all monitoring points
Server Modbus Server Start/Stop Modbus Server
Show Show log Toggle Event Log / Communication Log view
Start Log Controls Start/Stop Communication events captures
Clear Clear logs Clear all entries from Communication Log window

Customization Options:

  • Show Below the Ribbon: Position toolbar below ribbon tabs instead of above
  • Checkmarks: Indicate which buttons are currently visible on toolbar
  • Right-click: Access customization menu any time
  • Add/Remove: Click any button name to toggle its visibility

Recommended Quick Access Setup

For daily operations, most technicians keep these buttons visible:

  • Save - Quick configuration saves during field work
  • Read - Single poll to check current values
  • Start/Stop - Control polling quickly
  • Show - Toggle between Monitor Points and Log views
  • Clear - Clear logs between test runs

This provides instant access to 90% of common operations without navigating through ribbon tabs.

2. Ribbon Tabs Overview

Below the Quick Access Toolbar, you'll find multiple tabs that organize all application features. The standard Modbus Monitor XPF ribbon contains the following tabs, from left to right:

Standard Tabs (Always Visible):

Tab Purpose Key Features
File Backstage view File operations, licensing, theme settings, recent files, online resources, exit
Home Main Operations Copy/paste, Modbus Wizard, list management, filtering, evaluation
Client Modbus Client (Master) Interface selection, timeouts, write functions, scanner, charts, poll controls
Server Modbus Server (Slave) Interface config, Modbus TCP Server, Modbus RTU Server, traffic capture, simulation
IoT Cloud integration ThingSpeak logging, MQTT messaging, cloud-to-device communication
HMI HMI dashboard design Widget-based operator dashboard authoring and runtime view. See HMI Guide and 6A. HMI Tab and Widgets (v5.0.0.0+)

Contextual Tabs (Appear Dynamically):

Tab Trigger Key Features
Log Options Event Log active Filter errors, export logs, auto-scroll, timestamp format, clear history

How Contextual Tabs Work

Contextual tabs (also known as Option Tabs) appear only when you activate specific features, providing relevant controls without cluttering the interface.

Examples: - Click Show button in Home tab → Log group → Log Options tab appears

When you deactivate the feature (close log, close chart), the contextual tab automatically disappears.

The active tab is highlighted, making it easy to see which commands are currently available.

3. Command Groups (Ribbon Commands)

In the middle section of each ribbon tab, you'll find groups of related command buttons:

  • Add Device - Add new monitor points to your list
  • Delete Device - Remove selected monitor points
  • Offset ID - Change address base or Unit ID for all points
  • And many more, organized by function

Buttons are accompanied by icons and arrows indicating their functions and options.

4. Dialog Launcher

Small buttons in the corner of command groups that open additional settings or options:

Feature Location Purpose
Arrow Icon Bottom-right of command groups Opens extended dialogs
Advanced Options Context-specific dialogs Access detailed settings
Extended Settings Beyond ribbon display Configure advanced parameters

5. Window Portal Area

The main workspace at the bottom displays different information depending on the selected mode:

View Trigger Display Content
Monitor Points List Default view Table showing all Modbus monitoring points with Name, Address, Unit ID, Value, and register details
Log Window Log button toggled Communication events and Modbus traffic history
Chart Window Chart button active Time-series data visualization and trend analysis
Online Maps Navigator Online button toggled Browse and download pre-built Modbus maps from factory/community

Each view provides relevant information for the specific task being performed.

Complete Ribbon Tab Reference

This section provides comprehensive coverage of all ribbon tabs and their functionality. Each tab contains groups of related commands organized by function.

File Tab

The File Tab provides access to the backstage view containing essential file operations, application settings, license management, and resources. Click the File tab to enter this full-screen view.

Home Section

The Home section provides quick access to your file system and document management:

Feature Icon/Button Description
Home Home button Navigate to Documents folder
Open Folder icon Open folder in Windows Explorer
Up Up arrow Move up one level in directory tree
Current Folder <Documents> Displays current folder name
Recent Section

Quick access to recently used Modbus maps and configurations:

Button Function Description
Refresh Update list Refresh the recent files list
Open Folder Show location Opens folder containing selected file
Open File Load map Loads selected configuration in XPF
Remove Delete entry Remove selected file from recent list
Delete Clear all Deletes all entries from recent list

Quick File Access

The Recent Files list is the fastest way to switch between different device configurations. Your most commonly used maps are always one click away.

About Section

Access version information, documentation, and support resources:

Option Description Action
Version Current application version Displays installed version number
Activate License activation Opens license window for activation
Submit Feedback User feedback Direct feedback to developers
Documentation Online help Access comprehensive online help
Videos Tutorial videos Links to YouTube tutorials
Contact Email Support contact Email address for inquiries
Privacy Policy Data handling View privacy policy details
EULA License agreement End User License Agreement terms

Quick Actions:

  • Need help? Click Documentation for online guides
  • New to XPF? Click Videos for visual tutorials
  • License issues? Click Activate to manage licenses
  • Feature requests? Use Submit Feedback
Settings Section

Customize the application theme to match your environment:

Theme Description Best For
Light Bright interface Well-lit environments, daytime use
Dark Dark interface Low-light environments, reduced eye strain
System Default Follows Windows Automatically matches Windows theme
Reset Factory Reset Restore all application settings to default values

Theme Selection:

  1. Click File TabSettings
  2. Choose theme from dropdown
  3. Theme applies immediately (no restart needed)

Field Work Preference

Many field technicians prefer Dark theme when working in dimly lit equipment rooms or cabinets.

Exit

Exit button safely closes the Modbus Monitor XPF application:

  • Saves current window position and settings
  • Prompts to save unsaved changes (if any)
  • Terminates all active connections properly
  • Releases serial ports and network resources

Home Tab

The Home Tab contains the most frequently used commands for essential operations - everything you need for working with Modbus maps and monitoring points.

Home Tab Interface

File Group

Import and Export Documents - Manage Documents, Import and Export Modbus Maps in CSV format. Access pre-built Modbus Maps for common devices (VFDs, Energy Meters, PLCs) from factory-validated or community sources.

Feature Description Details
Save Save current document in CSV format Preserves entire Modbus map configuration including monitor points, settings, and extended properties for reuse
Save As Save As New document Preserves entire Modbus map configuration including monitor points, settings, and extended properties for reuse
Open Open previously saved file Load saved XPF configuration files (CSV format) from any location
Online Download Modbus Maps from online folder or community Access pre-configured maps from (1) factory-released validated maps or (2) community-uploaded maps. See Online Maps Feature below and Modbus Device Maps Start Page for searchable model previews.

CSV Format Benefits

XPF saves configurations as standard CSV files, making them easy to:

  • Edit in Excel or text editors for batch modifications
  • Version control using Git or other systems
  • Share with team members or across sites
  • Document device configurations for compliance

Online Maps Feature:

Cloud-Based Modbus Maps - View and Download Online Modbus Maps from either (1) factory-released maps by Modbus Monitor or (2) community-uploaded maps from users. Toggle the Online button (shown in table above) to activate this feature. An internet connection is required to use this feature. For quick device discovery and compatibility checks, use the Modbus Device Maps Start Page before downloading/importing maps.

Online Maps Interface How to download pre-defined Modbus Map

Clipboard Group

Copy and Paste Operations - Transfer data between XPF and external applications like Excel. Copy, paste, and cut monitor points for quick duplication or reorganization.

Operation Shortcut Description
Paste Ctrl+V Paste from clipboard from selected row(s) - either from the application or Microsoft Excel. Adds to end of list.
Copy Ctrl+C Copy selected single or multiple row(s) to clipboard. Multiple sequential rows can be selected with Shift+Click's first and last row. Multiple rows in any order using Control+Click.
Cut Ctrl+X Copy the content of the current item to clipboard and delete the item from the list.
Modbus Wizard Group

The Modbus Wizard provides a streamlined interface for configuring monitor points without manually editing the table. Access it by clicking the Dialog Launcher (small arrow) in the Modbus Wizard group corner.

Modbus Wizard Dialog Modbus Wizard configuration interface

Configuration Fields:

Field Purpose Options/Format
Register Name Descriptive identifier Text field - name your monitor point
Modbus Function Register type and access See Address Field - 6-Digit Format in Monitor Points Configuration
Sub-Function Function variant (FC8 only) Appears for FC8 Diagnostics - e.g., "0 (0x0) Return Query Data"
Device ID Device identification type (FC43-14 only) Appears for FC43-14 - e.g., "01 Get Basic Device ID (stream)"
Object ID MEI object identifier (FC43-14 only) Appears for FC43-14 - Object number (00-FF hexadecimal)
CustomQ Custom Modbus Packet Add PDU part of the Modbus Command to send any command
Data Request Request address/value Address or data value for the request
Address Modbus Address Zero or One based Modbus Address (see 6-digit format)
Data Type Data interpretation See Data Type Options in Monitor Points Configuration
Poll Rate Control Update frequency NONE, SKIP, ONCE, INTERVAL (Adjust Poll Rate value)
Bit Field Extract specific bit 0-15 for 16-bit registers - selects individual bit
Write Only Skip during reads Checkbox - for write-only registers

Function-Specific Fields

The wizard dynamically displays additional fields based on the selected Modbus Function:

  • FC8 Diagnostics: Shows Sub-Function dropdown with diagnostic test options
  • FC43-14 Read Device Identification: Shows Device ID and Object ID fields for MEI object selection
  • These fields only appear when their corresponding function is selected
List Group

Add and Remove Points - Add, remove, or modify monitor points in bulk. Change addressing modes (0-based/1-based), swap Unit IDs globally, or set decimal precision for all numeric displays.

The List Group provides essential tools for managing your Monitor Points (also called Rows or Items) in the configuration table:

Button Function Description
Add Add new point Creates new row with default values. Automatically increments address by one from the last row for quick sequential entry.
Remove Delete selected point(s) Removes selected monitor point(s) from the table. Select multiple with Ctrl+Click (non-sequential) or Shift+Click (range).
Delete All Clear entire list Removes ALL monitor points from the table. Use with caution - this action cannot be undone!
Offset Toggle address base Switch between 1-based (1-65536) and 0-based (0-65535) addressing for all addresses in the list.
Swap ID Change Unit ID globally Updates Unit ID (Slave/Station ID) for all monitor points at once. Useful when reconfiguring for a different device.
Decimal Places Set display precision Configure the number of decimal places for displaying numeric values throughout the application.
Filter Group

Search and Filter Monitor Points - Search Name and Address fields to quickly locate specific monitor points. Filter large lists by text search or Unit ID to focus on relevant registers during troubleshooting or configuration.

Filter Interface

Filter Components:

Label Component Description
1 Row Index Shows the index of the currently selected row. Especially useful when the list is filtered to know the true row number. -1 when none Selected.
2 Filter Text Box Enter text to search. Filters all Name and Address fields that contain the entered text.
3 Total Rows Shows the total number of rows in the current view (filtered or full list).
4 Clear Filter Clears the text filter and shows all rows in the list.
5 Clear ID Clears the ID filter and shows all rows in the list.
6 ID Dropdown Select Unit ID (Slave ID or Station ID) to filter by device. Combine with text filter for precise results.
Evaluate Group

Value Validation and Testing - Validate register values against configurable limits with automatic color coding. Set pass/fail thresholds for quality control testing or equipment health monitoring.

Change the background colors of the Value cell based on the High, Low, and Nominal Limits. Quickly validate the value from the Modbus device and test to see if it is within the valid range.

See Evaluate Group Details for comprehensive configuration options, workflows, and color-coding reference.

Evaluate Settings

Log Group

Communication Monitoring and Logging - View and record all Modbus communication traffic for troubleshooting. Filter errors, export logs to file, and timestamp all events for accurate diagnostics.

Log Group Interface Four key areas: 1 Log Group (Home Tab), 2 Options Tab, 3 Quick Access Header (3a-3h), 4 Log Window

Complete Log Controls Reference:

All log controls in one comprehensive table. Labels 1, 2, 3a-3h, and 4 correspond to the screenshot above.

Label Control Location Type Function
1 Show Home Tab → Log Group Toggle Button Show/hide Event Log view. Pressed: Replaces Monitor Points table with log display, Options tab appears. Released: Returns to Monitor Points table.
2 Log/Options Tab Contextual Ribbon Dynamic Tab Appears when log is active. Contains logging and filter controls. Disappears when log closed (logging continues in background if started).
2 Filter Quick Access Header or Options Tab Text Input Box Real-time text search. Type to filter log entries, clear to show all. Case-insensitive search.
2 Errors Options Tab Toggle Button Checked: Show errors only (timeouts, exceptions). Unchecked: Show all events (success + errors).
3a or 2 Start/Stop Quick Access Header or Options Tab Toggle Button Start: Begin capturing events. Stop: Pause recording. Auto-resumes if saved while running.
3b or 2 Auto Save Quick Access Header or Options Tab Toggle Button ON: Continuously writes log to Documents folder. OFF: Logs remain in memory only.
3c or 2 Copy All Quick Access Header or Options Tab Button Export all visible log entries to clipboard (timestamp + details). Paste into Excel, email, or text editor. Click on any log entry to enable this button.
3d or 2 Clear Quick Access Header or Options Tab Button Delete all log entries from display. Warning: Cannot be undone. Save or copy important logs first.
3e Save Quick Access Header Button Save current log entries to a file in Documents folder.
3f Float Quick Access Header Button Float the Log window outside the application's main window as a separate window.
3g Expand Quick Access Header Button Expand log window to full screen or restore to normal size.
3h or 2 Close Quick Access Header or Options Tab Button Close Log Window and return to Monitor Points (logging continues in background if started).
4 Log Window Window Portal Area Display Panel Shows timestamped communication events. Replaces Monitor Points table when log is active.

Client Tab

Client Mode Overview: XPF operates as a Modbus Master (Client) when you want to read data from or write data to remote Modbus devices. In this mode, XPF initiates all communication by sending requests to Modbus Server devices (PLCs, drives, meters, sensors) and processes their responses.

Modbus Monitor XPF Client

Client Tab Groups & Features

Complete reference for all Client tab ribbon groups and their functionality:

Group Purpose Key Features Description
Interface Protocol Selection Interface Type, Protocol Options, One-Based Toggle Choose connection type (TCP/UDP/Serial) and Modbus protocol variant (Standard/RTU/ASCII)
TCP Network Settings IP Address, Port, Connection Timeout Configure Ethernet-based connections with IP address, port number, and connection timeout settings
Timeout Timing Control Response Timeout, Inter-Frame Delay, Poll Rate, Retries Critical timing parameters for reliable communication and performance optimization
Scanner Address Discovery Start Address, Register Count, Data Type, Swap Type, Unit ID Systematically discover unknown registers and automatically build monitor point lists
Value Data Management Clear Values Toggle Click: Immediately clears all values from display. Toggle ON: Automatically clears all monitor point values before starting each polling cycle for fresh data collection
Chart Data Visualization Chart Button Switch to real-time charting view for trending analysis of tagged monitor points - see Charts - Data Trends Visualization
Client Poll Operation Control Auto Save, Restore, Write, Read, Statistics, Start/Stop Main operational controls for polling, data collection, and client status monitoring

Server Tab

Server Mode Overview: XPF operates as a Modbus Server (Slave) when you want to simulate Modbus devices or provide data to Modbus Client applications. In this mode, XPF responds to requests from Modbus Master devices (SCADA systems, HMIs, PLCs) by serving data from your configured monitor points.

Modbus Monitor XPF Server

Server Tab Groups & Features

Complete reference for all Server tab ribbon groups and their functionality:

Group Purpose Key Features Description
TCP Network Server Interface Options: TCP, UDP
Protocol Options: Default, RTU, ASCII
Additional: Port, IP Configuration, Enable
Configure TCP/UDP Modbus servers with protocol variants and network settings
Serial COM Port Servers COM Port Selection, Baud Rate, Data Bits, Parity, Stop Bits, Protocol Configure serial Modbus servers on multiple COM ports with individual settings
Capture Traffic Analysis On/Off Toggle, Auto Value/Default Value Automatically capture incoming requests and build Modbus maps from live traffic
Simulate Data Generation Sample Time, Frequency, Sample Generator, Value Controls Advanced simulation engine for generating dynamic test data patterns
Server Operation Control Statistics, Connection Count, Start/Stop Main server control with connection monitoring and operational status

IoT Tab

IoT Tab Overview: The IoT tab provides cloud connectivity features for logging Modbus data to cloud platforms and enabling remote monitoring capabilities. It contains both core MQTT functionality and access to specialized add-ons.

IoT Tab Groups:

Group Type Purpose Details
MQTT Requires License Advanced MQTT messaging Enhanced MQTT connectivity with enterprise features
ThingSpeak Requires License ThingSpeak integration ThingSpeak cloud logging with automatic field mapping

Licensed Features in IoT Tab:

Advanced MQTT connectivity with enhanced capabilities:

  • Multi-broker support (simultaneous connections)
  • Advanced security (TLS/SSL, client certificates)
  • Complex topic mapping and dynamic generation
  • Enterprise QoS management with persistence
  • Pre-configured cloud templates (AWS IoT, Azure IoT, HiveMQ)
  • Connection status monitoring and diagnostics

MQTT Data Reception:

  • Subscribe to MQTT topics and update Monitor Points grid in real-time
  • Works independently of Modbus Client/Server operations
  • Supports external data integration from IoT devices, cloud services, and other systems
  • Complete setup guide: MQTT Data Reception Guide

Use for: Enterprise IoT deployments, multi-broker environments, advanced security requirements

License Required: Purchase MQTT feature license to unlock full functionality

Setup Guide: 📖 Complete MQTT Feature Setup Guide

Specialized ThingSpeak cloud platform integration:

  • Automatic field mapping (Row 1→field1, Row 2→field2, etc.)
  • ThingSpeak-specific API optimization
  • Channel management and configuration
  • Professional visualization and analytics
  • MATLAB integration capabilities
  • Publish Group: Publishing controls and settings integrated with ThingSpeak

Use for: ThingSpeak cloud logging, automatic data visualization, professional dashboards

License Required: Purchase ThingSpeak feature license to unlock full functionality

Setup Guide: 📖 Complete ThingSpeak Feature Setup Guide

Choosing Your IoT Solution:

Scenario Recommended Feature Reason
ThingSpeak cloud logging ThingSpeak Feature Automatic field mapping, optimized for ThingSpeak platform
Multiple MQTT brokers MQTT Feature Multi-broker support, flexible topic mapping
Enterprise IoT deployment MQTT Feature Advanced security, persistence, enterprise features
AWS IoT / Azure IoT MQTT Feature Pre-configured cloud templates
General MQTT messaging MQTT Feature Professional MQTT connectivity with advanced features
Cloud analytics and visualization ThingSpeak Feature Professional dashboards and MATLAB integration

Quick Navigation:

  • MQTT Feature Setup: MQTT Feature Guide - Multi-broker connectivity and enterprise features
  • ThingSpeak Feature Setup: ThingSpeak Feature Guide - Cloud logging and visualization
  • IoT Tab Configuration: Use IoT Tab → MQTT/ThingSpeak Groups in ribbon for licensed feature access
  • Feature Licensing: Purchase feature licenses to unlock IoT Tab functionality

Key Concepts

graph TB
    MAP["MODBUS MAP / LIST<br/><i>Complete collection of all Monitor Points</i>"]

    subgraph TABLE["Monitor Points Table"]
        direction TB
        HEADER["<b>NAME | ADDRESS | UNIT ID | GAIN | OFFSET | DATA TYPE | SWAP TYPE | VALUE</b>"]        
        ROW1["Motor Speed | 400001 | 1 | 1.00000 | 0.00000 | UINT16 | ABCD_BE | 1450"]
        ROW2["Line Voltage | 400002 | 1 | 1.00000 | 0.00000 | INT16 | ABCD_BE | 230"]
        ROW3["Pump Status | 100001 | 1 | 1.00000 | 0.00000 | BIT | ABCD_BE | 1"]
        ROW4["Temperature SP | 000001 | 1 | 1.00000 | 0.00000 | BIT | ABCD_BE | 1"]

        HEADER -.-> ROW1
        HEADER -.-> ROW2
        HEADER -.-> ROW3
        HEADER -.-> ROW4
    end

    ENGINE["XPF POLLING ENGINE<br/><i>Handles: Polling • Writing • Retries<br/>Data Conversion • Byte Swap • Display Formatting</i>"]

    MAP ==> TABLE
    TABLE ==> ENGINE

    NOTE1["The entire table = <b>Modbus Map/List</b>"]
    NOTE2["Each row = One <b>Monitor Point</b>"]

    TABLE -.-> NOTE1
    TABLE -.-> NOTE2

    style MAP fill:#e3f2fd,stroke:#1976d2,stroke-width:3px,color:#000
    style TABLE fill:#f5f5f5,stroke:#666,stroke-width:2px
    style HEADER fill:#2196f3,stroke:#1565c0,stroke-width:2px,color:#fff
    style ROW1 fill:#fff,stroke:#90caf9,stroke-width:1px
    style ROW2 fill:#fff,stroke:#90caf9,stroke-width:1px
    style ROW3 fill:#fff,stroke:#90caf9,stroke-width:1px
    style ROW4 fill:#fff,stroke:#90caf9,stroke-width:1px
    style ENGINE fill:#c8e6c9,stroke:#388e3c,stroke-width:3px,color:#000
    style NOTE1 fill:#fff9c4,stroke:#f57f17,stroke-width:2px
    style NOTE2 fill:#fff9c4,stroke:#f57f17,stroke-width:2px

Modbus Map / List: The Modbus Map (or Monitor Points List) is the complete collection of data points you want to communicate with on a Modbus device. Think of it as your “register shopping list” — a centralized view showing all Modbus addresses you plan to read or write. Each entry in this list includes its address, function code, data type, and optional pre- or post-processing settings. Together, these entries form a dictionary of Modbus data that defines what the XPF application will handle. XPF then automatically manages polling, writing, retries, data conversions, byte-swapping, and display formatting across the entire list.

Monitor Point: A Monitor Point is a single data entry within the Modbus Map — representing one Modbus register or coil you want to read or write. You configure its details (address, function code, data type, scaling, and optional pre/post-processing). Each Monitor Point operates as an independent tag, allowing you to precisely define what data you want and how it should be processed. XPF then performs all background operations for that point: polling, retrying, converting, swapping bytes if needed, and displaying formatted values.

Modbus Map and Monitor Points - Practical Example

Understanding the relationship between Modbus Map and Monitor Points:

NAME ADDRESS UNIT ID GAIN OFFSET DATA TYPE SWAP TYPE VALUE
Motor Speed 400001 1 1.00000 0.00000 UINT16 ABCD_BE 1450
Line Voltage 300001 1 1.00000 0.00000 INT16 ABCD_BE 230
Pump Status 100001 1 1.00000 0.00000 BIT ABCD_BE 1
Coil Register 000001 1 1.00000 0.00000 BIT ABCD_BE 1

Key Points:

  • The entire table above represents your Modbus Map/List
  • Each row (e.g., Motor Speed, Line Voltage) represents one Monitor Point
  • Each Monitor Point has all 8 columns: NAME, ADDRESS (6-digit), UNIT ID, GAIN, OFFSET, DATA TYPE, SWAP TYPE, VALUE
  • Address format: 4xxxxx=Holding Reg | 3xxxxx=Input Reg | 1xxxxx=Discrete Input | 0xxxxx=Coil
  • XPF automatically handles all polling, conversions, and formatting for every Monitor Point in the list

Client vs Server Mode:

  • Client (Master) - You initiate communication, continuously polling remote devices for data
  • Server (Slave) - You simulate a Modbus device, responding to requests from other masters
  • Simultaneous Operation - Both modes can run at the same time on different interfaces

XPF Functionality Architecture:

XPF initiates communication to read/write data from remote Modbus devices

graph LR
    subgraph MAPLIST["Modbus Map"]
        direction TB
        ADDR1["40001 | Read Holding | INT16<br/>Motor Speed RPM"]
        ADDR2["40002 | Read Holding Reg | FLOAT32<br/>Line Voltage V"]
        ADDR3["00001 | Read Coil | BOOL<br/>Pump Running Status"]

        ADDR1 ~~~ ADDR2 ~~~ ADDR3
    end

    subgraph XPF["XPF - CLIENT MODE"]
        direction TB
        MAPLIST
        ENGINE["Polling Engine"]
    end

    PLC["PLC<br/>Holding Registers<br/>192.168.1.10 or RTU"]
    VFD["VFD Drive<br/>Speed Control<br/>192.168.1.10 or RTU"]
    METER["Energy Meter<br/>Power Data<br/>192.168.1.10 or RTU"]

    XPF -->|"(1) Send Read Request<br/>Modbus TCP"| PLC
    PLC -->|"(2) Return Data<br/>Register Values"| XPF

    XPF -->|"(1) Send Read Request<br/>Modbus RTU"| VFD
    VFD -->|"(2) Return Data<br/>Speed, Status"| XPF

    XPF -->|"(1) Send Read Request<br/>Modbus TCP"| METER
    METER -->|"(2) Return Data<br/>Voltage, Current"| XPF

    style XPF fill:#e3f2fd,stroke:#1976d2,stroke-width:4px
    style MAPLIST fill:#fff,stroke:#1976d2,stroke-width:2px
    style ADDR1 fill:#f5f5f5,stroke:#90caf9,stroke-width:1px
    style ADDR2 fill:#f5f5f5,stroke:#90caf9,stroke-width:1px
    style ADDR3 fill:#f5f5f5,stroke:#90caf9,stroke-width:1px
    style ENGINE fill:#bbdefb,stroke:#1976d2,stroke-width:2px
    style PLC fill:#fff9c4,stroke:#ff6f00,stroke-width:2px
    style VFD fill:#fff9c4,stroke:#ff6f00,stroke-width:2px
    style METER fill:#fff9c4,stroke:#ff6f00,stroke-width:2px

Client Mode Flow:

  1. Configure Monitor Points - Define which registers/coils to read/write
  2. XPF sends requests - Polls devices according to configured timing
  3. Devices respond - Send back register values, coil states
  4. XPF processes data - Apply scaling, byte swapping, display formatting
  5. Log communication - Track all transactions for troubleshooting

Use Cases: Monitor PLCs, read sensor data, control VFDs, commissioning systems

XPF responds to requests from external Modbus masters (SCADA, HMI, PLC)

graph RL
    subgraph XPF["XPF - SERVER MODE"]
        direction TB
        LISTEN["Server Listener"]
        SVRDATA            
    end

    subgraph SVRDATA["Modbus Map"]
        direction TB
        REG1["40001 | Holding | INT16<br/>Process Value 1"]
        REG2["40002 | Holding | FLOAT32<br/>Temperature C"]
        REG3["00001 | Coil | BOOL<br/>Alarm Status"]

        REG1 ~~~ REG2 ~~~ REG3
    end

    SCADA["SCADA System<br/>TCP Client<br/>192.168.1.100"]
    HMI["HMI Panel<br/>RTU Client<br/>COM2"]
    PLCM["PLC Master<br/>TCP Client<br/>192.168.1.50"]

    SCADA -->|"(1) Send Read Request<br/>Modbus TCP"| XPF
    XPF -->|"(2) Return Data<br/>From Data Table"| SCADA

    HMI -->|"(1) Send Read Request<br/>Modbus RTU"| XPF
    XPF -->|"(2) Return Data<br/>Register Values"| HMI

    PLCM -->|"(1) Send Write Request<br/>Function 06/16"| XPF
    XPF -->|"(2) Confirm Write<br/>Update Data Table"| PLCM

    style XPF fill:#e8f5e9,stroke:#388e3c,stroke-width:4px
    style SVRDATA fill:#fff,stroke:#388e3c,stroke-width:2px
    style REG1 fill:#f5f5f5,stroke:#81c784,stroke-width:1px
    style REG2 fill:#f5f5f5,stroke:#81c784,stroke-width:1px
    style REG3 fill:#f5f5f5,stroke:#81c784,stroke-width:1px
    style LISTEN fill:#c8e6c9,stroke:#388e3c,stroke-width:2px
    style SCADA fill:#fce4ec,stroke:#c2185b,stroke-width:2px
    style HMI fill:#fce4ec,stroke:#c2185b,stroke-width:2px
    style PLCM fill:#fce4ec,stroke:#c2185b,stroke-width:2px

Server Mode Flow:

  1. Configure Server Data - Set up registers, coils, and initial values
  2. External master sends request - SCADA/HMI asks for data
  3. XPF processes request - Validates function code, address range
  4. XPF sends response - Provides requested data or write confirmation
  5. Log transaction - Track all requests for analysis

Use Cases: Simulate devices for testing, act as protocol gateway, development without hardware

Simultaneous Operation - Run Both Modes Together

XPF can operate as Client AND Server at the same time:

  • Client mode reads data from real PLCs (Modbus TCP on port 502)
  • Server mode provides that data to SCADA (Modbus RTU on COM1)
  • Each mode uses independent interface configuration
  • Perfect for protocol conversion, testing, or acting as a data bridge

Magic Codes: Special text you add to the Name field of monitor points to enable advanced features like custom poll rates, bit field access, string length control, and date/time conversion (covered in detail in Monitor Points Configuration section).

Dual Functionality: XPF can operate as both Client and Server simultaneously, making it ideal for testing client-server interactions on a single PC without physical devices.

Action Method Details
Open Customization Menu Right-click anywhere on toolbar Shows complete list of available buttons (11 options)
Add/Remove Buttons Click button name in menu Checkmark indicates button is currently visible

Customization Best Practices:

  • Add buttons you use frequently - Start, Stop, Read, Save, Show
  • Remove rarely-used buttons - Keep toolbar uncluttered for faster access
  • Field work setup - Save, Read, Start, Stop, Show (essential operations only)
  • Development setup - Add Chart, Write for testing and analysis work
  • Position preference - Below ribbon if you prefer buttons closer to data area

Right-click Context Menus:

Feature Usage Behavior
Table Context Menus Right-click any table row Relevant actions for selected item
Field Context Menus Right-click input fields Field-specific operations
Adaptive Menus Context-sensitive Options change based on selection

Keyboard Shortcuts:

Shortcut Function Usage
Ctrl+S Save configuration Preserve current setup
Ctrl+O Open configuration Load saved file
Ctrl+C / Ctrl+V Copy/paste Works with Excel integration
Ctrl+X Cut rows Move selected items
Shift+Click Select range Sequential row selection
Ctrl+Click Multi-select Non-sequential rows

Window Portal Switching:

Feature Method Result
View Toggle Ribbon button clicks Switch between Monitor Points, Log, Chart, Online Maps
Shared Space Same screen area Each view replaces previous in portal
Data Persistence Background retention Switching views doesn't lose data

Workflow Best Practice

  1. Set up your monitor points first (define what you want to read/write)
  2. Configure communication settings (TCP/Serial, timeouts)
  3. Save your configuration before starting polling
  4. Test with "Read Once" before enabling continuous polling
  5. Save frequently - especially before making major changes

Key Concepts

Modbus Map / List: The Modbus Map (or Monitor Points List) is the complete collection of data points you want to communicate with on a Modbus device. Think of it as your "register shopping list" — a centralized view showing all Modbus addresses you plan to read or write. Each entry in this list includes its address, function code, data type, and optional pre- or post-processing settings. Together, these entries form a dictionary of Modbus data that defines what the XPF application will handle. XPF then automatically manages polling, writing, retries, data conversions, byte-swapping, and display formatting across the entire list. See Monitor Points Configuration for complete setup details.

Monitor Point: A Monitor Point is a single data entry within the Modbus Map — representing one Modbus register or coil you want to read or write. You configure its details (address, function code, data type, scaling, and optional pre/post-processing). Each Monitor Point operates as an independent tag, allowing you to precisely define what data you want and how it should be processed. XPF then performs all background operations for that point: polling, retrying, converting, swapping bytes if needed, and displaying formatted values.

Modbus Map and Monitor Points - Practical Example

Understanding the relationship between Modbus Map and Monitor Points:

NAME ADDRESS UNIT ID GAIN OFFSET DATA TYPE SWAP TYPE VALUE
Motor Speed 400001 1 1.00000 0.00000 UINT16 ABCD_BE 1450
Line Voltage 300001 1 1.00000 0.00000 INT16 ABCD_BE 230
Pump Status 100001 1 1.00000 0.00000 BIT ABCD_BE 1
Coil Register 000001 1 1.00000 0.00000 BIT ABCD_BE 1

Key Points:

  • The entire table above represents your Modbus Map/List
  • Each row (e.g., Motor Speed, Line Voltage) represents one Monitor Point
  • Each Monitor Point has all 8 columns: NAME, ADDRESS (6-digit), UNIT ID, GAIN, OFFSET, DATA TYPE, SWAP TYPE, VALUE
  • Address format: 4xxxxx=Holding Reg | 3xxxxx=Input Reg | 1xxxxx=Discrete Input | 0xxxxx=Coil
  • XPF automatically handles all polling, conversions, and formatting for every Monitor Point in the list

Client vs Server Mode:

  • Client (Master) - You initiate communication, continuously polling remote devices for data
  • Server (Slave) - You simulate a Modbus device, responding to requests from other masters
  • Simultaneous Operation - Both modes can run at the same time on different interfaces

Magic Codes: Special text you add to the Name field of monitor points to enable advanced features like custom poll rates, bit field access, string length control, and date/time conversion (covered in detail in Monitor Points Configuration section).

Dual Functionality: XPF can operate as both Client and Server simultaneously, making it ideal for testing client-server interactions on a single PC without physical devices.

Quick Access Toolbar Customization:

Action Method Details
Open Customization Menu Right-click anywhere on toolbar Shows complete list of available buttons (11 options)
Add/Remove Buttons Click button name in menu Checkmark indicates button is currently visible

Customization Best Practices:

  • Add buttons you use frequently - Start, Stop, Read, Save, Show
  • Remove rarely-used buttons - Keep toolbar uncluttered for faster access
  • Field work setup - Save, Read, Start, Stop, Show (essential operations only)
  • Development setup - Add Chart, Write for testing and analysis work
  • Position preference - Below ribbon if you prefer buttons closer to data area

Right-click Context Menus:

Feature Usage Behavior
Table Context Menus Right-click any table row Relevant actions for selected item
Field Context Menus Right-click input fields Field-specific operations
Adaptive Menus Context-sensitive Options change based on selection

Keyboard Shortcuts:

Shortcut Function Usage
Ctrl+S Save configuration Preserve current setup
Ctrl+O Open configuration Load saved file
Ctrl+C / Ctrl+V Copy/paste Works with Excel integration
Ctrl+X Cut rows Move selected items
Shift+Click Select range Sequential row selection
Ctrl+Click Multi-select Non-sequential rows

Window Portal Switching:

Feature Method Result
View Toggle Ribbon button clicks Switch between Monitor Points, Log, Chart, Online Maps
Shared Space Same screen area Each view replaces previous in portal
Data Persistence Background retention Switching views doesn't lose data

Workflow Best Practice

  1. Set up your monitor points first (define what you want to read/write)
  2. Configure communication settings (TCP/Serial, timeouts)
  3. Save your configuration before starting polling
  4. Test with "Read Once" before enabling continuous polling
  5. Save frequently - especially before making major changes

| Online | Download Modbus Maps from online folder or community | Access pre-configured maps from (1) factory-released validated maps or (2) community-uploaded maps. See detailed explanation below and Modbus Device Maps Start Page for model previews. |

CSV Format Benefits

XPF saves configurations as standard CSV files, making them easy to:

  • Edit in Excel or text editors for batch modifications
  • Version control using Git or other systems
  • Share with team members or across sites
  • Document device configurations for compliance

Clipboard Group

Copy and Paste Operations - Transfer data between XPF and external applications like Excel. Copy, paste, and cut monitor points for quick duplication or reorganization.

Operation Shortcut Description
Paste Ctrl+V Paste from clipboard from selected row(s) - either from the application or Microsoft Excel. Adds to end of list.
Copy Ctrl+C Copy selected single or multiple row(s) to clipboard. Multiple sequential rows can be selected with Shift+Click's first and last row. Multiple rows in any order using Control+Click.
Cut Ctrl+X Copy the content of the current item to clipboard and delete the item from the list.

Modbus Wizard

The Modbus Wizard provides a streamlined interface for configuring monitor points without manually editing the table. Access it by clicking the Dialog Launcher (small arrow) in the Modbus Wizard group corner.

Modbus Wizard Dialog Modbus Wizard configuration interface

Configuration Fields:

Field Purpose Options/Format
Register Name Descriptive identifier Text field - name your monitor point
Modbus Function Register type and access See Address Field - 6-Digit Format in Monitor Points Configuration
Sub-Function Function variant (FC8 only) Appears for FC8 Diagnostics - e.g., "0 (0x0) Return Query Data"
Device ID Device identification type (FC43-14 only) Appears for FC43-14 - e.g., "01 Get Basic Device ID (stream)"
Object ID MEI object identifier (FC43-14 only) Appears for FC43-14 - Object number (00-FF hexadecimal)
CustomQ Custom Modbus Packet Add PDU part of the Modbus Command to send any command
Data Request Request address/value Address or data value for the request
Address Modbus Address Zero or One based Modbus Address (see 6-digit format)
Data Type Data interpretation See Data Type Options in Monitor Points Configuration
Poll Rate Control Update frequency NONE, SKIP, ONCE, INTERVAL (Adjust Poll Rate value)
Bit Field Extract specific bit 0-15 for 16-bit registers - selects individual bit
Write Only Skip during reads Checkbox - for write-only registers

Function-Specific Fields

The wizard dynamically displays additional fields based on the selected Modbus Function:

  • FC8 Diagnostics: Shows Sub-Function dropdown with diagnostic test options
  • FC43-14 Read Device Identification: Shows Device ID and Object ID fields for MEI object selection
  • These fields only appear when their corresponding function is selected

Quick Reference

For complete details, see the Monitor Points Configuration section:

How to Use:

  1. View Existing Point: Click any row in Monitor Points table - Wizard displays current settings
  2. Edit Configuration:
  3. Select row to edit
  4. Change values in Wizard dropdowns/fields
  5. Click OK to apply changes
  6. Add New Point:
  7. Click empty row or Add button
  8. Fill in Register Name
  9. Select Modbus Function from dropdown
  10. Configure Data Type and optional settings
  11. Click OK to create

Common Scenarios:

Setup: - Register Name: Device Model - Modbus Function: FC43 (0x2B) Encapsulated Interface Transport - CustomQ: 28 (typical string length) - Data Type: BIT or STRING

Result: Reads device identification strings (manufacturer, model, version)

Setup: - Register Name: Water Temp - Modbus Function: FC04 (0x04) Input Registers - Data Type: INT16 or FLOAT32 - Poll Rate Control: NONE (default polling)

Result: Continuous monitoring of read-only temperature value

Setup: - Register Name: High Temp Alarm - Modbus Function: FC02 (0x02) Discrete Inputs - Data Type: BIT - Bit Field: 5 (extracts bit 5)

Result: Monitors specific alarm bit in status register

Setup: - Register Name: Target Speed - Modbus Function: FC03 (0x03) Holding Registers - Data Type: UINT16 - Write Only: Unchecked (read and write)

Result: Bidirectional control - read current setpoint, write new values

Wizard Advantages

Why use the Wizard instead of direct table editing:

  • Validation: Ensures valid combinations of function codes and data types
  • Guided Setup: Dropdown menus prevent common configuration errors
  • No Syntax Errors: Automatically formats addresses and codes correctly
  • Beginner Friendly: Visual interface easier than memorizing Modbus specifications
  • Quick Changes: Faster than navigating table columns for adjustments

List Group

Add and Remove Points - Add, remove, or modify monitor points in bulk. Change addressing modes (0-based/1-based), swap Unit IDs globally, or set decimal precision for all numeric displays.

The List Group provides essential tools for managing your Monitor Points (also called Rows or Items) in the configuration table:

Button Function Description
Add Add new point Creates new row with default values. Automatically increments address by one from the last row for quick sequential entry.
Remove Delete selected point(s) Removes selected monitor point(s) from the table. Select multiple with Ctrl+Click (non-sequential) or Shift+Click (range).
Delete All Clear entire list Removes ALL monitor points from the table. Use with caution - this action cannot be undone!
Offset Toggle address base Switch between 1-based (1-65536) and 0-based (0-65535) addressing for all addresses in the list.
Swap ID Change Unit ID globally Updates Unit ID (Slave/Station ID) for all monitor points at once. Useful when reconfiguring for a different device.
Decimal Places Set display precision Configure the number of decimal places for displaying numeric values throughout the application.

Typical Workflow

Adding multiple consecutive registers:

  1. Add first register at address 400001
  2. Click Add (+) - automatically creates 400002
  3. Click Add (+) again - creates 400003
  4. Continue as needed - each Add increments by one

Bulk ID changes:

  • If you need to change all monitor points from Slave ID 1 to Slave ID 5
  • Simply click ID button and enter 5
  • All monitor points update immediately

Filter Group

Search and Filter Monitor Points - Search Name and Address fields to quickly locate specific monitor points. Filter large lists by text search or Unit ID to focus on relevant registers during troubleshooting or configuration.

Filter Interface

Filter Components:

Label Component Description
1 Row Index Shows the index of the currently selected row. Especially useful when the list is filtered to know the true row number. -1 when none Selected.
2 Filter Text Box Enter text to search. Filters all Name and Address fields that contain the entered text.
3 Total Rows Shows the total number of rows in the current view (filtered or full list).
4 Clear Filter Clears the text filter and shows all rows in the list.
5 Clear ID Clears the ID filter and shows all rows in the list.
6 ID Dropdown Select Unit ID (Slave ID or Station ID) to filter by device. Combine with text filter for precise results.

How Filtering Works

Text Search: - Type any text in the filter box - Results show all monitor points where Name OR Address contains your search text - Case-insensitive search - Use partial matches (e.g., "temp" finds "Temperature", "temp_sensor", "Water Temp")

ID Filter: - Select specific Unit ID from dropdown - Shows only monitor points for that device - Combine with text filter for double-filtering

Combined Example: - Filter Text: status - ID: 3 - Result: Only status-related registers from Unit ID 3

Common Filter Scenarios

Finding all temperature sensors:

Filter Box: temp
Result: Shows all points with "temp" in name or address

Working with specific device:

ID Dropdown: 5
Result: Shows only Slave ID 5 registers

Precise targeting:

Filter Box: alarm
ID Dropdown: 2
Result: All alarm-related points from device 2 only

Evaluate Group Details

Value Validation and Testing - Validate register values against configurable limits with automatic color coding. Set pass/fail thresholds for quality control testing or equipment health monitoring.

Change the background colors of the Value cell based on the High, Low, and Nominal Limits. Quickly validate the value from the Modbus device and test to see if it is within the valid range.

Evaluate Settings

Key Features:

  • Automatic color coding - Visual status at a glance (Red/Green/Blue/Gray)
  • Configurable limits - Set High, Low, and Nominal thresholds per register
  • Real-time evaluation - Instant color updates as values change during polling
  • Filter by status - Show only High, Low, or Nominal registers
  • Quick value assignment - Save current value as High or Low Limit with one click
  • Boolean evaluation - Automatic status calculation without complex expressions

Complete Controls Reference:

Control Type ToolTip Use When Status Color
Show Toggle Button Show/hide all other Evaluate options and controls You want to access High/Low/Nominal/Auto filters -
High Filter Toggle Button Filter: Show only rows where value has exceeded the High Limit. Red status indicates out-of-range high condition." Testing upper bounds or identifying overhigh values Red
Nominal Filter Toggle Button Filter: Show only rows where value is between Low Limit and High Limit (normal operating range). Green status indicates normal condition. Monitoring normal operation or quality control pass tests Green
Low Filter Toggle Button Filter: Show only rows where value is below the Low Limit. Blue status indicates out-of-range low condition. Testing lower bounds or identifying underlow values Blue
Auto Toggle Toggle Button Auto-evaluate: When enabled, filter updates automatically after each scan cycle without manual intervention. When disabled, manually toggle filters to refresh. You want automatic status updates as data arrives -
Test/Evaluate Toggle Button Toggle evaluation ON/OFF. When ON, each register's limit status (High/Nominal/Low) is calculated and displayed with color coding. When OFF, no evaluation occurs. Status indicator shows current mode. You want to enable or disable all evaluation color coding Gray (off) / Color (on)
Save as High Limit (current row) Menu Button Saves the currently selected row's value as its High Limit. Use when a single register reaches its maximum safe operating value." You want to capture the highest observed value as the threshold for only the selected register -
Save as Low Limit (current row) Menu Button Saves the currently selected row's value as its Low Limit. Use when a single register reaches its minimum safe operating value." You want to capture the lowest observed value as the threshold for only the selected register -
Save as High Limit (all rows) Menu Button Saves the currently selected row's value as the High Limit for all register rows in the list. Use when you want to apply the same high threshold across all equipment parameters. You want to apply the same high threshold value to all registers at once -
Save as Low Limit (all rows) Menu Button Saves the currently selected row's value as the Low Limit for all register rows in the list. Use when you want to apply the same low threshold across all equipment parameters. You want to apply the same low threshold value to all registers at once -

How Evaluation Works:

Condition Status Color Display
Value ≥ High Limit Out-of-Range High Red Value cell background turns red
Low Limit < Value < High Limit Normal/Nominal Green Value cell background turns green
Value ≤ Low Limit Out-of-Range Low Blue Value cell background turns blue
Evaluate OFF Not Evaluated Gray Value cell shows normal (no color)

Common Workflows:

Objective: Establish High/Low limits by observing real device behavior

  1. Click Test/Evaluate button to turn ON evaluation
  2. Click Show to display filter controls
  3. Let device run under normal conditions while observing values
  4. When value reaches maximum safe level, select that row and click Save as High Limit
  5. When value reaches minimum safe level, select that row and click Save as Low Limit
  6. Verify status shows Green (Nominal) for normal operations
  7. Result: Limits are now calibrated to your specific equipment

Objective: Quickly identify out-of-spec registers on a single device

  1. Verify Test/Evaluate is ON
  2. Click Show to display filters
  3. Select the Auto toggle to enable automatic updates
  4. Toggle High Filter to see only values exceeding maximum
  5. Investigate displayed registers - these indicate overtemperature, overpressure, overspeed, etc.
  6. Toggle Low Filter to check values below minimum (undertemp, low pressure, low speed)
  7. Use color coding as visual guide: Red=High, Blue=Low, Green=Normal
  8. Result: Problematic registers highlighted for investigation

Objective: Validate new equipment meets specifications before deployment

  1. Import manufacturer specifications into High/Low/Nominal limits for each register
  2. Click Test/Evaluate to turn ON
  3. Click Auto to enable automatic filter updates
  4. Run equipment through full operating range (startup, normal, shutdown)
  5. Observe color changes:
  6. Green throughout = Pass ✓
  7. Red or Blue = Out of spec = Fail ✗
  8. Adjust equipment settings if limits exceeded
  9. Re-run until all registers stay Green during full cycle
  10. Result: Equipment validated and ready for production deployment

Troubleshooting:

Issue Cause Solution
No colors appearing Test/Evaluate is OFF Click Test/Evaluate button to toggle ON
Colors not updating Auto is disabled Click Auto toggle to enable automatic updates, or manually toggle filters
Wrong limits set Previous calibration incorrect Select row, click Save as High/Low to capture new values, or edit limits manually
Filter not working Show button is OFF, filters hidden Click Show button to display High/Low/Nominal/Auto controls
String evaluation fails Mismatched case or spacing For strings, High Limit and Low Limit must be identical and match exactly (case-sensitive)

Tips & Best Practices:

  • Use Auto toggle for real-time monitoring - colors update automatically as data changes
  • Save values during normal operation - Use Save as High/Low when equipment is running at actual min/max
  • Combine with Filter - Focus investigation on out-of-spec registers only
  • Document limits - Save your CSV configuration file after setting limits for reuse on other devices
  • Color-code by status - Customize Nominal/High/Low colors to match your facility standards
  • Don't manually type limits for exact values - Use Save buttons for precision, avoid rounding errors

Evaluate Limits Settings (Per Monitor Point)

Fine-tune validation thresholds for individual monitor points. Each point can have custom limits and color coding independent of others in your list.

Evaluate Settings

Click the three dots (...) button at the end of any monitor point row to open the Evaluate Limits dialog shown above.

Label Setting Options Description
1 Three Dots (...) Button Opens the Evaluate Limits settings dialog for this monitor point
2 Evaluate Checkbox Turn the Evaluate feature on or off for this specific monitor point
3 Nominal Color Color picker Choose a color for the Nominal Value range. The nominal range is calculated as values between the Low Limit and High Limit.
4 Low Limit Value + Color Choose a color to highlight the Value column when the value equals or falls below the Low Limit. The value can be numerical or string type.
5 High Limit Value + Color Choose a color to highlight the Value column when the value equals or exceeds the High Limit. The value can be numerical or string type.
4 + 5 String Mode Same High/Low For String Data Type, set the same High and Low Limit for exact string matching

Practical Applications

Quality Control Testing:

  • Set High Limit: 100, Low Limit: 0, Nominal: Green
  • Values 0-100 show green (pass)
  • Values outside range show red/yellow (fail)
  • Instant visual validation during production testing

Equipment Health Monitoring:

  • Motor temperature: High=80°C (Red), Low=10°C (Blue), Nominal=Green
  • Pressure sensor: High=150 PSI (Red), Nominal=Green
  • Quick identification of out-of-spec conditions

String Validation:

  • Device status should be "RUNNING"
  • Set High Limit = Low Limit = "RUNNING", Nominal Color = Green
  • Any other status shows as error color

Log Group

Communication Monitoring and Logging - View and record all Modbus communication traffic for troubleshooting. Filter errors, export logs to file, and timestamp all events for accurate diagnostics.

Log Group Interface Four key areas: 1 Log Group (Home Tab), 2 Options Tab, 3 Quick Access Header (3a-3h), 4 Log Window

Complete Log Controls Reference:

All log controls in one comprehensive table. Labels 1, 2, 3a-3h, and 4 correspond to the screenshot above.

Label Control Location Type Function
1 Show Home Tab → Log Group Toggle Button Show/hide Event Log view. Pressed: Replaces Monitor Points table with log display, Options tab appears. Released: Returns to Monitor Points table.
2 Log/Options Tab Contextual Ribbon Dynamic Tab Appears when log is active. Contains logging and filter controls. Disappears when log closed (logging continues in background if started).
2 Filter Quick Access Header or Options Tab Text Input Box Real-time text search. Type to filter log entries, clear to show all. Case-insensitive search.
2 Errors Options Tab Toggle Button Checked: Show errors only (timeouts, exceptions). Unchecked: Show all events (success + errors).
3a or 2 Start/Stop Quick Access Header or Options Tab Toggle Button Start: Begin capturing events. Stop: Pause recording. Auto-resumes if saved while running.
3b or 2 Auto Save Quick Access Header or Options Tab Toggle Button ON: Continuously writes log to Documents folder. OFF: Logs remain in memory only.
3c or 2 Copy All Quick Access Header or Options Tab Button Export all visible log entries to clipboard (timestamp + details). Paste into Excel, email, or text editor. Click on any log entry to enable this button.
3d or 2 Clear Quick Access Header or Options Tab Button Delete all log entries from display. Warning: Cannot be undone. Save or copy important logs first.
3e Save Quick Access Header Button Save current log entries to a file in Documents folder.
3f Float Quick Access Header Button Float the Log window outside the application's main window as a separate window.
3g Expand Quick Access Header Button Expand log window to full screen or restore to normal size.
3h or 2 Close Quick Access Header or Options Tab Button Close Log Window and return to Monitor Points (logging continues in background if started).
4 Log Window Window Portal Area Display Panel Shows timestamped communication events. Replaces Monitor Points table when log is active.

Quick Start Workflow

  1. Click Show (1) → Log window appears (4), Options tab (2) opens
  2. Click Start (3a) → Begin recording Modbus traffic
  3. Optional: Toggle Errors (3f) or type in Filter (3g) to focus on specific events
  4. Click Copy All (3b) to export, or Save (3d) for continuous file backup
  5. Click Clear (3c) between test runs to remove old entries
  6. Click Close (3e) or Show (1) again to return to Monitor Points
Log Entries Display (Window Portal Area)

Where Log Entries Appear - When you click the Show button (1), the Window Portal Area (the main workspace below the ribbon) switches from showing the Monitor Points table to displaying the Event Log.

Log Entry Display Characteristics:

Feature Description Details
Location Window Portal Area Same area where Monitor Points table normally displays
Entry Format Timestamped rows Each log entry shows: TimestampEvent TypeDetailsStatus
Timestamps UTC format All events time-stamped with UTC for accurate correlation across time zones
Auto-Update Real-time New entries appear immediately as communication occurs (when logging is started)
Scroll View Vertical scrolling Older entries scroll up as new ones arrive at bottom
Capacity Memory-based Limited to 10000 entries before deleting old items (clear periodically for performance)

What Gets Logged:

  • Modbus Requests: Function code, address, unit ID, data sent
  • Modbus Responses: Data received, byte count, success/failure status
  • Communication Errors: Timeouts, CRC errors, exception codes, connection failures
  • System Events: Connection established/closed, configuration changes, poll cycle start/stop
  • Timestamps: Precise timing for troubleshooting timing-related issues

Sample Log Entries

Complete Poll Cycle with System Events:

07:19:56:511585, Poll Once: True
07:19:56:766466, Client-STARTING
07:19:58:820433, Server Found 127.0.0.1:502
07:19:58:825077, Client-RUNNING

Successful Read (Holding Registers):

07:19:58:833472, TCP TX, 00 01 00 00 00 06 01 03 00 00 00 01, Read Holding Registers, SID:1, FC:3, ADR:0, CNT:1
07:19:58:861535, TCP RX, 00 01 00 00 00 05 01 03 02 00 00

Modbus Exception Error 1 - Illegal Function (Input Registers):

07:19:58:908104, TCP TX, 00 02 00 00 00 06 01 04 00 00 00 01, Read Input Registers, SID:1, FC:4, ADR:0, CNT:1
07:19:58:923572, TCP RX, 00 02 00 00 00 03 01 84 01
07:19:58:926070, Illegal Function, ERR:1, SID:1 FC:84, Sample Input Register, 300001, 1, 1, 0, INT16, ABCD_BE, 30001,,

Modbus Exception Error 1 - Illegal Function (Discrete Inputs):

07:19:58:955758, TCP TX, 00 03 00 00 00 06 01 02 00 00 00 01, Read Inputs Registers, SID:1, FC:2, ADR:0, CNT:1
07:19:58:970172, TCP RX, 00 03 00 00 00 03 01 82 01
07:19:58:970512, Illegal Function, ERR:1, SID:1 FC:82, Discrete Input Register, 100001, 1, 1, 0, BIT, ABCD_BE, 1,,

Modbus Exception Error 1 - Illegal Function (Coils):

07:19:59:001799, TCP TX, 00 04 00 00 00 06 01 01 00 00 00 01, Read Coils, SID:1, FC:1, ADR:0, CNT:1
07:19:59:016788, TCP RX, 00 04 00 00 00 03 01 81 01
07:19:59:017054, Illegal Function, ERR:1, SID:1 FC:81, Coil Register, 1, 1, 1, 0, BIT, ABCD_BE, 1,,

Client Stop:

07:20:00:052399, Client-STOPPED

Viewing Tips:

  • Recent entries appear at bottom - Scroll down to see latest events
  • Filtering reduces clutter - Use Errors toggle (4) to hide successful transactions
  • Text search narrows focus - Type in Filter box (4) to find specific device, register, or error type
  • Copy for analysis - Click Copy All (3) to export, or Save (3d) for continuous file backup
  • Clear between test runs - Click Clear (3c) to remove old entries
  • Close to return to Monitor Points - Click Close (3e) or Show (1) again to return to Monitor Points
Understanding Log View Toggle
Control Location Function State Indicator
Show Button Home tab → Log Group Toggles between Monitor Points and Event Log views Button stays pressed/highlighted when Log view is active
Quick Access Can add to Quick Access Toolbar One-click access without navigating to Home tab Recommended for frequent troubleshooting

View Behavior:

  • Click Show: Monitor Points table → Event Log display (button stays pressed/highlighted)
  • Click Show Again: Event Log → Monitor Points table (button released)
  • Shared Portal: Both views occupy the same Window Portal Area
  • Data Preserved: Switching views doesn't lose Monitor Points or Log data

Quick Access Recommendation

Right-click the Show button and add it to your Quick Access Toolbar for one-click switching during active troubleshooting sessions.

Complete Interface Overview

Visual relationship between all four labeled sections:

graph TB
    HOME["1 LOG GROUP<br/>(Home Tab)<br/>─────────<br/>Show Button"]

    CLICK1[" Click Show "]

    OPTIONS["2 OPTIONS TAB<br/>(Contextual Ribbon)<br/>─────────<br/>Contains 3 and 4"]

    subgraph GROUPS["Options Tab Contains:"]
        direction LR
        LOG["3 LOG GROUP<br/>Start/Stop<br/>Copy All<br/>Clear<br/>Save"]

        FILTER["4 FILTER GROUP<br/>Errors Toggle<br/>Text Filter"]
    end

    WINDOW["WINDOW PORTAL AREA<br/>─────────<br/>Log Entries Display<br/>(timestamped events)"]

    HOME -->|Click| CLICK1
    CLICK1 -->|Opens| OPTIONS
    OPTIONS -.->|Contains| LOG
    OPTIONS -.->|Contains| FILTER
    LOG -->|Controls| WINDOW
    FILTER -->|Filters| WINDOW

    CLICK2[" Click Show Again "]
    OPTIONS -->|Close| CLICK2
    CLICK2 -->|Returns to| MONITOR["Monitor Points Table"]

    style HOME fill:#e3f2fd,stroke:#1976d2,stroke-width:3px,color:#000
    style OPTIONS fill:#fff3e0,stroke:#f57c00,stroke-width:3px,color:#000
    style LOG fill:#c8e6c9,stroke:#388e3c,stroke-width:2px,color:#000
    style FILTER fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px,color:#000
    style WINDOW fill:#fff9c4,stroke:#f57f17,stroke-width:3px,color:#000
    style GROUPS fill:#f5f5f5,stroke:#666,stroke-width:2px
    style CLICK1 fill:#bbdefb,stroke:#1976d2,stroke-width:1px
    style CLICK2 fill:#ffccbc,stroke:#d84315,stroke-width:1px
    style MONITOR fill:#e8f5e9,stroke:#388e3c,stroke-width:2px

Key Relationships:

  • Section 1 (Home Tab) triggers everything - click Show to begin
  • Section 2 (Options Tab) appears automatically and contains sections 3 and 4
  • Section 3 (Log Group in Options) provides recording control buttons
  • Section 4 (Filter Group in Options) provides search and filter controls
  • Both 3 and 4 affect what you see in the Window Portal Area (log entries display)
Practical Use Cases

Troubleshooting Connection Issues

Scenario: Device not responding

Steps: 1. Click Show → Event Log appears 2. Click Start in Options tab 3. Click Errors toggle to filter errors only 4. Type device name or address in Filter box 5. Attempt connection from Client tab 6. Review log entries for timeout/error messages 7. Click Copy All to send to support team

Benefits: Isolated error messages with exact timestamps

Monitoring Communication Health

Scenario: Verify stable polling operation

Steps: 1. Start logging before beginning poll cycle 2. Enable Save toggle for automatic file backup 3. Run polling for extended period (hours/days) 4. Periodically check Errors toggle to verify no issues 5. Review saved log file for patterns or intermittent errors

Benefits: Long-term reliability validation with automatic archival

Protocol Analysis for Custom Devices

Scenario: Reverse-engineering unknown device behavior

Steps: 1. Enable logging and Save toggle 2. Send test commands to device 3. Use Filter to search for specific function codes 4. Click Copy All → Paste into protocol analyzer 5. Compare request/response patterns

Benefits: Complete transaction history for protocol documentation

Best Practices

Logging Best Practices

Optimize Your Workflow:

  • Save Before Logging: Enable the Save toggle before starting long monitoring sessions
  • Filter Proactively: Use Errors toggle during troubleshooting to reduce noise
  • Clear Regularly: Click Clear between test runs to avoid confusion
  • Text Search: Use specific keywords (register address, function code, device name) for precise filtering
  • Quick Access: Add Show and Clear to Quick Access Toolbar for rapid access
  • Project Auto-Start: Saved projects remember logging state - automatically resumes if it was active

Performance Impact

Resource Considerations:

  • Event logging consumes CPU cycles and memory to capture high-speed communication
  • High poll rates (many registers per second) increase logging overhead significantly
  • Disable logging when not actively troubleshooting for optimal performance
  • Clear logs periodically during long sessions to free memory
  • Text filtering searches all entries in real-time - may slow down with thousands of entries

Recommendation: Turn off logging during normal production operation unless you need historical records.

Data Persistence

What Gets Saved:

  • With Save Toggle ON: Log file continuously updated in Documents folder
  • With Save Toggle OFF: Logs exist only in memory, cleared when:
    • You click Clear button
    • You close XPF application
    • You switch to another configuration file

File Location: Check your Windows Documents folder for auto-saved log files (typically named with timestamp).

Online Maps

Cloud-Based Modbus Maps - View and Download Online Modbus Maps from either (1) factory-released maps by Modbus Monitor or (2) community-uploaded maps from users. Toggle the Online button in the File group located in the Home tab to activate this feature. An internet connection is required to use this feature. For quick model lookup before download, open the Modbus Device Maps Start Page.

Online Maps Interface How to download pre-defined Modbus Map

Interface Components:

# Icon/Button Function Description
1 Online Online Maps Click the cloud button or Back button to toggle the Online Map navigator open or closed
2a X (Back) Close navigator Click the cloud button or Back button to toggle the Online Map navigator open or closed
2b Factory Maps from Factory Officially released and validated Modbus Maps
2c Community Community Maps View maps shared by others in the user community
2d Share Upload Upload your Modbus Map and share it with the online community
2e Download Download Download selected Online Maps to your local system
2f Status Progress Indicator Download or Upload status:
Green Check mark: Operation completed successfully
Red Cross: Error occurred. Download process was interrupted or there's an Internet connection issue.
2g Name File display Name of the map just downloaded or currently selected
3 Maps Online Maps List of Online Maps available by Manufacturer, Model, and Type. Use the search filter to quickly filter the list by Manufacturer or Model.

Downloading Factory Maps:

  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 downloads after the green check mark [5] appears and the online button closes

Factory Maps Advantage

Factory maps are officially validated and tested. They're your best starting point for common industrial equipment like VFDs, meters, and PLCs from major manufacturers.

Uploading Community Maps:

Users can upload their own custom Modbus Maps to share with the community or store them in the cloud repository for backup and easy access across multiple installations. This collaborative feature helps build a comprehensive library of device configurations.

YouTube Video on using Online Maps - Short demonstrations of features and workflows

Steps to Upload your Modbus Map:

  1. Click on Community icon [2c]
  2. Click on the Share Icon [2d] and choose the local XPF Modbus Map data file from your computer
  3. Green Check shows [2f] when the file is successfully uploaded to the cloud
  4. Click on the Community Files Maps icon [2c] to refresh the list of files in the window and see your contribution

Sharing Your Work

When to share your maps:

  • You've created a map for equipment without factory support
  • You've enhanced an existing map with additional registers
  • You've documented a custom or proprietary device
  • You want to help other users with the same equipment

Your contributions help the entire community!

4. Modbus Client Operations

Client Mode Overview: XPF operates as a Modbus Master (Client) when you want to read data from or write data to remote Modbus devices. In this mode, XPF initiates all communication by sending requests to Modbus Server devices (PLCs, drives, meters, sensors) and processes their responses. You can simultaneously connect to multiple devices using different interfaces and protocols.

Supported Interfaces & Protocols:

Interface Protocol Variants Use Case
TCP Modbus TCP, RTU over TCP, ASCII over TCP Ethernet networks, most common for modern industrial systems
UDP Modbus UDP, RTU over UDP, ASCII over UDP Connectionless Ethernet, broadcasting applications
Serial Modbus RTU, Modbus ASCII Legacy systems, direct serial connections, RS485 networks

Key Capabilities:

  • Multi-Protocol Support - Connect TCP, UDP, and Serial devices simultaneously
  • Continuous Polling - Automatic data collection from all configured monitor points
  • Smart Write Operations - Automatic or manual function code selection for register writes
  • Advanced Scanner - Discover unknown registers and build device maps automatically
  • Real-Time Charting - Visualize data trends and patterns over time
  • Auto Save & Restore - Automatic data logging and value restoration to devices

Modbus Monitor XPF Client

Client Tab Groups & Features

Complete reference for all Client tab ribbon groups and their functionality:

Group Purpose Key Features Description
Interface Protocol Selection Interface Type, Protocol Options, One-Based Toggle Choose connection type (TCP/UDP/Serial) and Modbus protocol variant (Standard/RTU/ASCII)
TCP Network Settings IP Address, Port, Connection Timeout Configure Ethernet-based connections with IP address, port number, and connection timeout settings
COM Serial Settings COM Port, Baud Rate, Data Bits, Parity, Stop Bits Configure serial communication parameters for RTU/ASCII over RS232/RS485 connections
Timeout Timing Control Response Timeout, Inter-Frame Delay, Poll Rate, Retries Critical timing parameters for reliable communication and performance optimization
Write Write Operations Auto/Manual Mode, Function Code Selection Control how value changes are written to devices - automatic smart selection or manual function code control
Scanner Address Discovery Start Address, Register Count, Data Type, Swap Type, Unit ID Systematically discover unknown registers and automatically build monitor point lists
Value Data Management Clear Values Toggle Click: Immediately clears all values from display. Toggle ON: Automatically clears all monitor point values before starting each polling cycle for fresh data collection
Chart Data Visualization Chart Button Switch to real-time charting view for trending analysis of tagged monitor points - see Charts - Data Trends Visualization for complete setup
Client Poll Operation Control Auto Save, Restore, Write, Read, Statistics, Start/Stop Main operational controls for polling, data collection, and client status monitoring

Detailed Group Breakdown

Primary connection and protocol configuration

Control Options Function
Interface TCP, UDP, Serial Selects physical connection method
Protocol Options Default, RTU, ASCII Chooses Modbus protocol variant
One Based Checkbox Switches between 0-based and 1-based addressing

Protocol Selection Guide: - TCP + Default = Standard Modbus TCP (most common) - TCP + RTU = Modbus RTU protocol over TCP/IP - TCP + ASCII = Modbus ASCII protocol over TCP/IP - Serial + Default/RTU = Standard Modbus RTU over serial - Serial + ASCII = Modbus ASCII over serial

Ethernet network connection settings

Setting Format Range Purpose
IP Address IPv4/IPv6/Hostname Any valid IP Target device network address
Port Integer 1-65535 TCP port (502 = standard Modbus)
Connection Timeout Milliseconds 0-65535 Time to establish TCP connection

Common Configurations:

Local PLC: 192.168.1.100:502
Remote HMI: plc.company.com:502  
Custom Port: 10.0.1.50:1502

Critical communication timing parameters

Parameter Range Default Impact
Response Timeout 100-60000ms 3000ms How long to wait for device response
Inter-Frame Delay 0-10000ms 20ms Delay between monitor point requests
Poll Rate 100-3600000ms 1000ms Delay before repeating full scan
Retries 1-65535 3 Number of retry attempts for failed requests

Automated register discovery and mapping

Field Purpose Example
Start Starting address 400001 (first holding register)
Regs Number to scan 100 (scan 100 consecutive addresses)
Data Assumed data type UINT16, FLOAT32, INT32
Swap Byte order ABCD_BE, CDBA_LE
ID Target Unit ID 1-247

Scanner Process: 1. Configure parameters above 2. Click "Start" to begin systematic polling 3. Valid responses automatically added to monitor points list 4. Invalid addresses skipped 5. Results appear in main monitor points list

Main operational controls for data collection

Control Function Usage
Auto Save CSV data logging Automatically saves every scan to timestamped CSV files in My Documents folder
Restore Upload values Writes current monitor point values back to remote devices
Write Single write Writes selected monitor point value once
Read Single poll Polls all monitor points once and stops
Statistics TX/RX counters Shows communication statistics and frames per second
Click to reset counters to 0 on next poll
Start/Stop Master control Begins/ends continuous polling operation

Interface Configuration

The Client tab configures XPF as a Modbus Master device with comprehensive protocol support:

Choose from 3 TCP protocol variants:

Protocol Interface Protocol Options Use Case
Modbus TCP TCP Default Standard Ethernet Modbus
Modbus RTU over TCP TCP RTU Serial protocol over network
Modbus ASCII over TCP TCP ASCII ASCII protocol over network

TCP Configuration:

Interface: TCP
IP Address: 192.168.1.100    # IPv4, IPv6, or hostname ("localhost")
Modbus Port: 502             # Standard port (changeable)
Timeout: 3000                # Connection timeout (ms)
Protocol Options: Default/RTU/ASCII

Choose from 3 UDP protocol variants:

Protocol Interface Protocol Options Use Case
Modbus UDP UDP Default Standard UDP Modbus
Modbus RTU over UDP UDP RTU Serial protocol over UDP
Modbus ASCII over UDP UDP ASCII ASCII protocol over UDP

UDP Configuration:

Interface: UDP
IP Address: 192.168.1.100    # IPv4, IPv6, or hostname
Port: 502                    # Standard port (changeable)
Timeout: 3000               # Response timeout (ms)
Protocol Options: Default/RTU/ASCII

Choose from 2 serial protocol variants:

Protocol Interface Protocol Options Use Case
Modbus Serial RTU Serial Default or RTU Binary serial protocol
Modbus Serial ASCII Serial ASCII ASCII serial protocol

Serial Configuration:

Interface: Serial
COM Port: COM1              # Available COM port
Baud Rate: 9600             # 1200-115200 bps
Data Bits: 8                # 7 or 8 bits
Parity: None                # None, Even, Odd
Stop Bits: 1                # 1 or 2 bits
Protocol Options: Default/RTU/ASCII

Timeout Settings

Critical timing parameters for reliable communication - these settings are crucial for optimizing communication efficiency:

Parameter Default Range Purpose & Impact
Response Timeout 3000ms 0-65535ms Duration to gather all bytes from remote server including complete Modbus frame up to CRC. Too short = false timeouts, too long = slow error detection
Inter-Frame Delay 20ms 0-65535ms Wait time between each monitor point in the list. Prevents overwhelming slow devices or networks
Poll Rate 1000ms 0-65535ms Delay before scanning entire list again. Controls overall polling frequency. WARNING: Setting to 0 may cause UI slowdown/freezing as continuous polling impacts UI responsiveness. Recommended minimum: 20ms
Retries 3 1-65535 Number of retry attempts for failed requests. Higher values improve reliability on unreliable networks but increase error recovery time

Timeout Optimization by Environment

Fast Local Networks (LAN):

Response Timeout: 1000ms    # Quick response expected
Inter-Frame Delay: 5ms      # Minimal delay needed
Poll Rate: 500ms           # Fast refresh rate

Slow Serial Connections:

Response Timeout: 5000ms    # Allow for slow serial transmission
Inter-Frame Delay: 50ms     # Prevent serial buffer overrun
Poll Rate: 2000ms          # Reduce load on serial device

WAN/Internet Connections:

Response Timeout: 10000ms   # Account for network latency
Inter-Frame Delay: 100ms    # Prevent network congestion
Poll Rate: 5000ms          # Conservative refresh rate

Critical Timing Considerations

These parameters directly affect:

  • Network traffic management - Higher delays = less network load
  • Error detection speed - Longer timeouts = slower fault detection
  • System responsiveness - Shorter poll rates = more responsive but higher load
  • Device compatibility - Some devices need specific timing requirements

Write Operations

Control how XPF handles value changes in the Value column:

Mode Function Behavior
Disabled Read Only Value changes revert on next scan
Auto Smart Write Automatically selects single/multiple write functions
Manual Function Select Choose specific Modbus write function codes

Write Function Codes:

  • Function 5 (0x05): Write Single Coil
  • Function 6 (0x06): Write Single Register
  • Function 15 (0x0F): Write Multiple Coils
  • Function 16 (0x10): Write Multiple Registers

Scanner - Modbus Address Discovery Tool

Poll remote server to discover new Modbus Addresses or build Modbus Map for devices without public Modbus Maps. This is invaluable when Modbus Maps are unknown or unavailable from manufacturers.

Scanner Configuration Parameters:

# Field Format Description
1 Start 6-digit format Start Address to begin scanner (e.g., 400001 for holding registers)
2 Regs Number Number of registers or polls to serially scan consecutively
3 Data Data Type Assumed Data Type. The program automatically calculates the number of registers (1, 2, 4) to request depending on the Data Type selected
4 Swap Swap Type Data Swap for 32-bit or 64-bit data values (ABCD, CDBA, BADC, CDAB)
5 ID Byte (1-247) Server ID (Slave ID) to start scanning

Scanner Process:

  1. Configure the range and parameters above
  2. Click "Start" to begin systematic polling of consecutive addresses
  3. Monitor results in real-time as scanner tests each address
  4. Valid responses are automatically added to monitor points list
  5. Invalid addresses are skipped (no response or error)

Typical Scanner Usage

Scenario: Unknown PLC registers

  • Start: 400001 (Holding registers)
  • Regs: 100 (scan 100 consecutive registers)
  • Data: INT16 (assume 16-bit values)
  • Swap: ABCD_BE (big-endian)
  • ID: 1 (slave device 1)

Scanner will poll 400001 through 400100, adding responsive registers to your monitor points list automatically.

Charts - Data Trends Visualization

Modbus charting is essential for anyone working with industrial automation and control systems. With Modbus Monitor XPF, you can effortlessly visualize your Modbus data through time series, making it easier to analyze trends and patterns.

Why Use Charts?

  • Visualize data values over time - See trends and patterns emerge
  • Compare multiple signals - Track relationships between different registers
  • Identify anomalies - Spot unusual behavior or drift
  • Performance analysis - Evaluate system behavior under different conditions
  • Quality control - Monitor process stability and consistency

Chart Setup & Configuration

Complete step-by-step process to enable and configure charting:

Step 1: Enable Chart for Monitor Points

Configure individual monitor points for charting:

Chart Configuration Dialog Monitor Point chart configuration options

  1. Client:

    • Click the Client Tab to find the Chart Group
  2. Access Chart Settings:

    • Click the three dots (...) button at the end of any monitor point row
    • Extended options dialog opens
  3. Enable Charting:

    • Check the Chart checkbox to include this point in trending
    • Unchecked: Monitor point excluded from chart (default)
    • Checked: Values plotted on chart in real-time
    • Select Chart Axis:
      • Axis 0 (Left): Primary Y-axis scale (e.g., Temperature 0-100°C)
      • Axis 1 (Right): Secondary Y-axis scale (e.g., Pressure 0-1000 PSI)
      • Benefits: Compare values with different scales simultaneously
  4. View Chart

  5. Optimize Performance

    • Configure timeout settings in the Client tab to minimize delays between polls
    • Nyquist Rate: Poll rate should be at least 2x faster than the fastest expected data changes for smooth graphs
    • See Timeout Settings for optimization guidelines
Step 2: Start Data Collection

Begin polling to collect chart data:

Refer to Modbus Client Operations on locations of Client controls.

  1. Configure Client Connection:

    • Set up TCP, UDP, or Serial connection in Client tab
    • Configure proper IP address, COM port, and communication parameters
    • Verify timeout settings for reliable data collection
  2. Start Continuous Polling:

    • Click Start button in Client Poll group
    • Polling must be active for chart data collection
    • Monitor points with Chart enabled begin data accumulation
  3. Verify Data Collection:

    • Check TX/RX counters show active communication
    • Monitor point values should update in real-time
    • Any communication errors will affect chart data quality
Step 3: Access Chart View

Switch to chart display and configure visualization:

Open Chart Window: - Click Chart button in Client tab → Chart group - Chart pops out as floting winow - All chart-enabled points appear as trending lines

Modbus Monitor XPF Chart Complete chart window showing dual-axis trending

Step 4: Chart Controls & Options

Complete Chart Interface Reference:

Main Chart Interface Components:

Label Component Location Function Details
1 Control Toolbar Top horizontal bar Chart operation controls Contains all chart control buttons (1a-1g) detailed in Control Toolbar Breakdown below
2 Chart Plot Area Main display Time-series visualization
Delta Measurement
Multi-colored trend lines with dual Y-axes support
Multiple crosshair sets as overlay
3 Location Info Right Top Selection Info Show XY value of selection inside Plot Area
4 Trend Lines Within plot area Data visualization Color-coded lines representing each monitor point's values over time
5 Left Y-Axis Left vertical edge Primary scale
(Axis 0)
Default axis for most monitor points (e.g., Temperature, Flow, Level, Percentage)
6 Right Y-Axis Right vertical edge Secondary scale
(Axis 1)
Alternative axis for different value ranges (e.g., Pressure, Current, Power, Voltage)
7 Legend Area Right side panel Series identification Shows monitor point names, colors, and current values for each trend line

Chart Interactive Features & Measurements:

Feature Mouse Action Visual Result Data Display Usage
Crosshair Placement Left Click on Chart Plot (Label 2) Vertical & horizontal lines appear as overlay Exact X,Y coordinates in display area (1g) Precise value measurement at specific time points
Delta Measurement Multiple Crosshair Clicks Multiple crosshair sets as overlay Coordinate differences between points (1g) Calculate change rates, time intervals, and value differences
Axis 0 Data Reading Click on Left Y-Axis area (Label 3) Crosshair shows Axis 0 scale Temperature, Flow, Level readings Monitor primary process variables
Axis 1 Data Reading Click on Right Y-Axis area (Label 4) Crosshair shows Axis 1 scale Pressure, Current, Power readings Monitor secondary scale variables
Time Point Selection Click on X-Axis area (Label 5) Vertical crosshair line Timestamp and all values at that time Analyze specific time moments
Trend Line Analysis Click near Trend Lines (Label 6) Highlight selected trend Individual monitor point value Focus on specific data series
Legend Interaction Click on Legend Area (Label 7) Highlight/hide trend lines Monitor point details Show/hide specific data series
Pan Navigation Right-click Mouse Drag on Chart Plot Scroll through historical data Updated time range display Review past trends when buffer is limited
Zoom Control Mouse Wheel on Chart Plot Zoom in/out on time axis Focused time period view Examine specific time intervals in detail

Control Toolbar Breakdown (Reference Label 1 from interface above):

The control toolbar contains all chart operation controls. Each button provides specific functionality:

Label Control Function Description
1a Save Toggle Auto CSV Export Toggle ON: Automatically saves chart data to CSV files in Documents folder during data collection
Toggle OFF: No automatic saving (manual export only)
File Location: Documents\ChartData_YYYY-MM-DD_HH-MM-SS.csv
1b Clear Reset Chart Buffer Immediately clears all chart data from memory and display
Warning: Cannot be undone - save important data first
Effect: Chart starts fresh with next data points
1c Fit Auto-Scale Axes Automatically adjusts both Y-axis ranges to fit all visible data
Smart Scaling: Considers both Axis 0 (left) and Axis 1 (right) simultaneously
Usage: Click after data collection or when chart appears off-screen
1d Samples Buffer Size Control Value = 0: Unlimited buffer (all data retained, chart doesn't pan)
Value > 0: Rolling window buffer (chart pans left as new data arrives)
Range: 0 to 999,999 samples
Memory Impact: Larger buffers use more RAM
1e Start/Pause Chart Update Control Started State: Chart updates in real-time with incoming data
Paused State: Chart display frozen (data collection continues in background)
Button Text: Shows "Started" or "Paused" dynamically
Visual: Play icon when paused, Pause icon when running
1f Clear Crosshairs Remove Measurement Lines Removes crosshair lines and coordinate display from chart
Reset Function: Clears all placed crosshairs and delta measurements
Delta Reset: Removes coordinate difference calculations
1g Coordinate Display Live Position Feedback Live Coordinates: Shows X,Y values under mouse cursor
Crosshair Coordinates: Displays exact X,Y when crosshairs are active
Delta Calculations: Shows differences between multiple crosshair points
Format: X: 123.456 Y: 78.90

Dual-Axis Coordinate System:

Axis Label Location Scale Purpose Coordinate Display Monitor Point Assignment
Axis 0 Label 3 Left Y-Axis Primary scale Left side values in crosshair display Default axis - Temperature, Flow, Level, Percentage
Axis 1 Label 4 Right Y-Axis Secondary scale Right side values in crosshair display Alternative scale - Pressure, Current, Power, Voltage
X-Axis Label 5 Bottom Time progression Time values in crosshair display Universal time axis for all monitor points

Advanced Control Functions:

Chart Control Best Practices

Optimize chart performance for different scenarios:

Real-Time Monitoring (≤100ms poll rate): - Save Toggle: ON (auto-save for audit trail) - Samples: 1000-5000 (manageable buffer size) - Start/Pause: Started (continuous updates) - Crosshairs: Use for spot measurements

Data Analysis (1-10 second poll rate): - Save Toggle: ON (capture complete dataset) - Samples: 0 (unlimited for complete history) - Start/Pause: Paused (freeze for analysis) - Fit: Use frequently to optimize view

Performance Testing (High-speed capture): - Save Toggle: ON (document test results) - Samples: 10000+ (capture complete test) - Clear: Reset between test runs - Crosshairs: Mark critical events

Sample Buffer Configuration:

Setting Behavior Use Case
0 (Unlimited) All data stored, chart doesn't pan Short tests, complete data retention
100-1000 Rolling window, chart pans left Medium-term monitoring, memory management
5000+ Large rolling buffer Long-term trending, high-frequency data

Memory Considerations

Buffer Size Impact:

  • Unlimited (0): Uses increasing memory over time - suitable for tests under 1 hour
  • Limited buffer: Fixed memory usage - required for continuous 24/7 monitoring
  • High poll rates: Consider smaller buffers to prevent memory exhaustion
  • Multiple axes: Memory usage increases with number of chart-enabled points

Advanced Chart Features

Dual-Axis Configuration

Optimize multi-signal visualization with different scales:

When to Use Dual Axes:

  • Different Value Ranges: Temperature (0-100°C) vs Pressure (0-3000 PSI)
  • Different Units: Speed (RPM) vs Current (Amps) vs Temperature (°C)
  • Correlation Analysis: Compare process variables with different scales

Configuration Strategy:

Axis 0 (Left) - Process Variables:
  - Temperature: 0-150°C
  - Flow Rate: 0-500 GPM
  - Level: 0-100%

Axis 1 (Right) - Electrical Variables:
  - Motor Current: 0-50 Amps
  - Power: 0-100 kW
  - Frequency: 0-60 Hz
Real-Time Performance Optimization

Optimize chart performance for different monitoring scenarios:

Scenario Poll Rate Buffer Size Axis Strategy Best Practices
Quick Test 100-500ms 0 (unlimited) Single axis Save data before clearing
Process Monitoring 1-5 seconds 1000-5000 Dual axis Enable Auto Save
Long-term Trending 30-60 seconds 10000+ Dual axis Regular CSV export
High-speed Capture 50-100ms 500-1000 Single axis Limited duration

Chart Data Export & Analysis

CSV Export Format

Chart data export structure for external analysis:

Export Process:

  1. Initiate Export:
  2. Click Save button in chart controls
  3. File save dialog opens
  4. Default location: Windows Documents folder

  5. CSV File Structure:

     Timestamp,Monitor_Point_1,Monitor_Point_2...
     11/3/2025 6:46:08 AM,40001,30001
     11/3/2025 6:46:10 AM,40001,30001
     11/3/2025 6:46:11 AM,40001,30001
    

  6. Analysis Applications:

  7. Excel: Statistical analysis, additional charting
  8. MATLAB: Advanced signal processing, FFT analysis
  9. Python/R: Custom analytics, machine learning
  10. Process historians: Long-term data storage
Integration with Auto Save

Combine charting with automatic data logging:

Complete Data Capture Strategy

For comprehensive data collection:

  1. Enable Auto Save: Captures ALL monitor points every poll cycle
  2. Enable Charts: Visual real-time trends for selected points
  3. Export Charts: Detailed time-series data for specific analysis
  4. Result: Complete audit trail + focused trending analysis

Common Chart Use Cases

Process Control Applications

Industrial process monitoring and optimization:

Temperature Control Loop

Scenario: Monitor PID temperature controller performance

Chart Configuration:

Axis 0 (Temperature):
  - Setpoint: 85.0°C (400001)
  - Process Variable: 84.7°C (400002) 
  - Output: 67.5% (400003)

Axis 1 (Status):
  - Alarm Status: False (100001)
  - Manual Mode: False (100002)

Benefits: - Visualize setpoint tracking performance - Monitor controller output response
- Identify oscillations or instability - Correlate alarms with process conditions

Equipment Commissioning

Validate new equipment performance:

Motor Drive Startup

Scenario: Commission variable frequency drive

Chart Setup:

Axis 0 (Mechanical):
  - Speed Command: 1750 RPM (400010)
  - Actual Speed: 1748 RPM (400011)
  - Torque: 78.3% (400012)

Axis 1 (Electrical):
  - Motor Current: 12.4 Amps (400020)
  - DC Bus Voltage: 485 VDC (400021)
  - Power: 8.7 kW (400022)

Analysis Goals: - Verify speed tracking accuracy - Check acceleration/deceleration rates - Monitor current during load changes - Document performance baselines

Quality Control Testing

Automated pass/fail validation with visualization:

Batch Process Validation

Scenario: Monitor batch reactor parameters

Combined Tools: - Charts: Real-time trending of critical parameters - Evaluate Limits: Automatic pass/fail validation
- Auto Save: Complete batch record for compliance

Implementation: 1. Set High/Low limits on all critical parameters 2. Enable charting for visual confirmation 3. Enable Auto Save for audit trail 4. Monitor color-coded limit violations in real-time

Troubleshooting Chart Issues

Common Problems & Solutions
Problem Symptoms Solution
No data appearing Empty chart, no lines Verify polling is active, check monitor point Chart checkbox
Chart not updating Frozen display Check Client connection, verify communication success
Memory issues Slow performance, crashes Reduce buffer size, limit number of chart points
Wrong scaling Data off-screen Click Fit button, check axis assignments
Export failure CSV save errors Check disk space, verify Documents folder access
Performance Optimization

Maximize chart performance for your application:

Chart Performance Best Practices

Optimize for your monitoring needs:

High-Speed Monitoring (≤100ms poll rate): - Save Toggle: ON (auto-save for audit trail) - Samples: 1000-5000 (manageable buffer size) - Start/Pause: Started (continuous updates) - Crosshairs: Use for spot measurements

Process Monitoring (1-10 second poll rate): - Save Toggle: ON (capture complete dataset) - Samples: 0 (unlimited for complete history) - Start/Pause: Paused (freeze for analysis) - Fit: Use frequently to optimize view

Long-term Trending (≥30 second poll rate): - Save Toggle: ON (auto-save for audit trail) - Samples: 0 (unlimited for complete history) - Start/Pause: Paused (freeze for analysis) - Fit: Use frequently to optimize view

High-speed Capture (50-100ms poll rate): - Save Toggle: ON (document test results) - Samples: 10000+ (capture complete test) - Clear: Reset between test runs - Crosshairs: Mark critical events

Memory Usage Calculation

Estimate memory requirements:

Memory Usage = Points × Buffer Size × 8 bytes

Example: 10 points × 1000 samples × 8 bytes = 80 KB
Large Setup: 50 points × 10000 samples × 8 bytes = 4 MB

Guidelines: Keep total chart memory under 50 MB for optimal performance.

Auto Save

Auto Save is XPF's comprehensive data logging solution that eliminates the risk of data loss while providing continuous audit trails for industrial monitoring applications. This essential feature transforms XPF from a monitoring tool into a complete data historian, automatically capturing every polling cycle for analysis, compliance, and troubleshooting.

Why Auto Save is Critical for Industrial Applications:

Auto Save addresses a fundamental requirement in industrial automation: continuous data retention without manual intervention. Whether you're monitoring process variables, validating equipment performance, or maintaining compliance records, Auto Save ensures no data is ever lost.

Automatically saves every scan to CSV files - essential for data logging and analysis:

Comprehensive Data Logging Capabilities:

  • Every polling cycle captured - No data gaps or missed readings
  • Automatic CSV file creation - Files generated in Documents folder with timestamps
  • Intelligent file management - New files created automatically to prevent oversized files
  • Complete data capture - All monitor points included in every save operation
  • Real-time logging - Data written immediately upon collection
  • Timestamped records - Precise time correlation for all data points

Revolutionary Benefits for Data Management:

Data Security & Compliance

Traditional Risk: Manual data collection leads to gaps and human error

Auto Save Solution: 100% automated capture with zero intervention required

Result: Complete audit trail + guaranteed data retention

Industrial Applications & Benefits:

  • Zero Manual Intervention - Set it and forget it operation eliminates human error
  • Compliance Documentation - Automatic record keeping for regulatory requirements
  • Continuous Monitoring - Never lose critical readings during overnight or weekend operations
  • Post-Analysis Ready - CSV format compatible with Excel, MATLAB, Python, R, and all analysis tools
  • Production Environment Safe - Background logging doesn't interfere with real-time monitoring
  • Chart Analysis Integration - Seamless data export for trending and visualization
  • Troubleshooting Support - Historical data available for root cause analysis
  • Performance Validation - Long-term data collection for equipment performance assessment

Complete Auto Save Workflow:

Data Logging Implementation

Step 1: Enable Auto Save

  1. Configure Monitor Points: Set up all data points you want to log continuously
  2. Enable Auto Save: Click Auto Save button in Client Poll group (button stays pressed/highlighted)
  3. Start Polling: Click Start button to begin continuous data collection
  4. Verify Logging: Check Documents folder for automatically created CSV files

Step 2: File Management & Organization

  • File Location: Documents\ModbusScan_YYYY-MM-DD_HH-MM-SS.csv
  • Automatic Naming: Timestamp-based filenames prevent overwrites
  • File Rotation: New files created periodically to maintain manageable file sizes
  • Data Integrity: Each file contains complete timestamp and value data

Step 3: Data Analysis & Usage

  • Excel Import: Direct CSV import for trending and analysis
  • MATLAB Processing: Load CSV data for advanced signal processing
  • Database Import: Bulk import historical data into SQL databases
  • Compliance Reports: Generate regulatory reports from logged data

File Structure & Format:

Column Content Example Purpose
Timestamp Date/Time 2025-11-05 14:30:15 Precise data collection time
Monitor Point 1 Value 25.4 First configured monitor point value
Monitor Point 2 Value 1847 Second configured monitor point value
Monitor Point N Value TRUE Additional points as configured

Usage Examples:

Documents/ModbusScan_2025-11-05_14-30-15.csv
Documents/ModbusScan_2025-11-05_14-31-15.csv  
Documents/ModbusScan_2025-11-05_14-32-15.csv

Advanced Data Management:

Use Case Strategy Benefits
Long-term Monitoring Enable Auto Save for continuous operation Complete historical record
Process Validation Combine with Chart analysis Visual + numerical data
Compliance Audits Automatic timestamped records Regulatory requirement satisfaction
Troubleshooting Historical data correlation Root cause analysis capability

Why Auto Save is Superior to Manual Logging:

  • Reliability: Never miss data due to human oversight or system interruption
  • Accuracy: Eliminates transcription errors from manual data recording
  • Efficiency: No staff time required for data collection activities
  • Completeness: Captures every poll cycle, not just periodic samples
  • Compliance: Provides auditable trail with precise timestamps
  • Scalability: Handles hundreds of monitor points as easily as one

Restore

Restore is XPF's most powerful device configuration tool - the only comprehensive solution available for writing complete device configurations from saved monitor point values directly into remote Modbus devices. This revolutionary capability transforms device commissioning from hours of manual work to minutes of automated configuration.

Why Restore is Essential for Device Configuration:

Restore solves a critical industrial automation challenge: efficiently configuring new devices with known parameter sets. Instead of manually entering hundreds of parameters through device interfaces, XPF writes your entire configuration in one operation.

Write monitoring data directly into remote Modbus devices - excellent for production setup and device commissioning:

Unique Capabilities - The Only Tool of Its Kind:

  • Complete Configuration Restoration - Write entire device parameter sets from saved XPF project files
  • Mass Device Programming - Configure multiple identical devices with the same parameter set
  • Configuration File Management - Save and reuse device configurations as XPF project files
  • Validation & Verification - Write known values and immediately read back for configuration verification
  • Batch Parameter Upload - Set hundreds of parameters simultaneously in one operation
  • Quality Assurance Tool - Ensure all devices match approved configuration standards
  • Zero Manual Entry - Eliminate human error from manual parameter entry through device interfaces

Revolutionary Benefits for Device Configuration:

Configuration Time Savings

Traditional Method: 2-4 hours per device manually entering parameters

XPF Restore Method: 2-5 minutes automated parameter upload

Result: 95% time reduction + 100% accuracy guarantee

Industrial Use Cases & Applications:

  • Manufacturing Setup: Program new devices with factory-approved configurations stored as XPF files
  • Commissioning Projects: Deploy pre-tested configurations to multiple field devices instantly
  • Replacement Devices: Restore failed devices to exact original configurations from backup files
  • Standardization: Ensure all devices of the same type use identical parameter sets across facilities
  • Testing & Development: Validate device behavior with known input configurations
  • Maintenance Operations: Restore devices to known-good configurations after service
  • Calibration Procedures: Set precise reference values for sensor and instrument calibration
  • Quality Control: Verify new devices match specifications before installation

Configuration File Management Strategy:

Best Practices for Configuration Files

Save Master Configurations:

  • Golden Standard Files: Save XPF projects with verified, approved device configurations
  • Version Control: Maintain different configuration versions for different applications
  • Backup & Recovery: Store configuration files for quick device replacement
  • Documentation: XPF project files serve as complete parameter documentation
  • Team Sharing: Distribute standard configurations across engineering teams

Complete Restore Workflow:

Device Configuration Workflow

Step 1: Create Master Configuration

  1. Configure Reference Device: Set up one device manually with all desired parameters
  2. Read Configuration: Use XPF Client to read all parameters from configured device
  3. Save Master File: Save XPF project as master configuration file (e.g., "VFD_StandardConfig.xpf")
  4. Verify Configuration: Test master file by restoring to another device and validating

Step 2: Deploy to New Devices

  1. Open Master File: Load your saved master configuration XPF project
  2. Connect to New Device: Configure XPF Client connection to target device
  3. Execute Restore: Click Restore button in Client Poll group
  4. Verify Success: Read back parameters to confirm successful configuration

Step 3: Maintain Configuration Library

  • Organize Files: Create folders by device type, application, or project
  • Document Versions: Use clear naming conventions (DeviceType_Application_v1.0.xpf)
  • Regular Backups: Store configuration files in version control systems
  • Update Management: Maintain current configurations as devices evolve

Advanced Configuration Management:

Scenario Configuration Strategy Benefits
Multiple Device Types Separate XPF files per device model Type-specific parameter sets
Different Applications Application-specific configuration variants Optimized for specific processes
Site Standardization Master configurations per facility Consistent equipment across sites
Revision Control Versioned configuration files Track parameter changes over time

Why Restore is Superior to Manual Configuration:

  • Speed: Restore 200+ parameters in under 5 minutes vs. hours of manual entry
  • Accuracy: Zero transcription errors vs. inevitable human mistakes
  • Repeatability: Identical configuration every time vs. manual variations
  • Documentation: Configuration automatically documented in XPF project files
  • Validation: Built-in verification through read-back capability
  • Scalability: Configure dozens of devices with same effort as one device

Client Poll - Controls

Modbus Monitor XPF Client

Control Function Usage
Auto Save CSV data logging Automatically saves every scan to timestamped CSV files in My Documents folder
Restore Upload values Writes current monitor point values back to remote devices
Write Single write Writes selected monitor point value once
Read Single poll Polls all monitor points once and stops
Statistics TX/RX counters Shows communication statistics and frames per second
Click to reset counters to 0 on next poll
Start/Stop Master control Begins/ends continuous polling operation

5. Modbus Server Operations

Server Mode Overview: XPF operates as a Modbus Server (Slave) when you want to simulate Modbus devices or provide data to Modbus Client applications. In this mode, XPF responds to requests from Modbus Master devices (SCADA systems, HMIs, PLCs) by serving data from your configured monitor points. This is invaluable for development, testing, and device simulation without requiring physical hardware.

Modbus Monitor XPF Server

Supported Server Interfaces & Protocols:

Interface Protocol Variants Use Case
TCP Modbus TCP, RTU over TCP, ASCII over TCP Standard Ethernet Modbus servers, most common for modern applications
UDP Modbus UDP, RTU over UDP, ASCII over UDP Connectionless servers, broadcasting, specialized applications
Serial Modbus RTU, Modbus ASCII Legacy system simulation, RS485 network simulation, direct serial connections

Key Server Capabilities:

  • Multi-Interface Concurrent Operation - Run TCP and multiple Serial servers simultaneously
  • Traffic Capture & Learning - Automatically build Modbus maps from incoming client requests
  • Advanced Simulation Engine - Generate dynamic test data with sine waves, ramps, and patterns
  • Real Device Simulation - Millisecond response times for realistic device behavior
  • Multi-Protocol Support - Six protocol combinations (TCP/UDP × Default/RTU/ASCII)
  • Multiple Instance Support - Run multiple server instances on different ports/interfaces

Why Use Server Mode?

  • SCADA Development: Simulate Modbus devices for development without physical hardware
  • Learning: Understand Modbus Protocol through hands-on experimentation
  • Testing: Validate client implementations against known-good server responses
  • Device Simulation: Replace expensive equipment during development and testing
  • Production Setup: Configure and test systems before hardware installation
  • Protocol Analysis: Capture and analyze Modbus communication patterns
  • Training: Provide safe learning environment for Modbus communication

Server Tab Groups & Features

Complete reference for all Server tab ribbon groups - expert-level technical capabilities:

Group Key Technical Options Advanced Capabilities Details
TCP Interface: TCP/UDP
Port: 502 (configurable)
Protocol: Default/RTU/ASCII
Six protocol combinations • IPv4/IPv6/Both/Loopback binding • Concurrent TCP OR UDP (not both) TCP Details ↓
Serial Ports: Multiple simultaneous
Rates: 300-921600 bps
Protocol: RTU/ASCII
Independent settings per COM port • Mixed protocol support • USB-serial scaling Serial Details ↓
Capture Mode: On/Off
Fill: Auto Value/Default Value
Automatically build Modbus maps from client requests • Live traffic analysis • Reverse engineering capability Capture Details ↓
Simulate Timing: Ts(1-65535ms), Freq(0.01-1000Hz)
Patterns: Mathematical functions
Sine/Ramp/Random/Static/Step waves • Per-point control • Data type aware simulation Simulate Details ↓
Server Operation: Start/Stop all servers
Stats: TX/RX counters
Monitor: Connection count
Multi-threaded architecture • Concurrent TCP+Serial operation • Performance monitoring Server Details ↓

Detailed Group Breakdown:

Network-based Modbus server configuration

Control Options Function
Interface TCP, UDP Select network protocol (TCP or UDP)
Port 1-65535 Server listening port (502 = standard Modbus)
Protocol Options Default, RTU, ASCII Modbus protocol variant over TCP/UDP
IP Configuration IPv4, IPv6, Both, Loopback Network interface binding options
Enable Checkbox Activate TCP/UDP server when Start is pressed

Six Network Protocol Combinations: - TCP + Default = Standard Modbus TCP server - TCP + RTU = Modbus RTU protocol over TCP - TCP + ASCII = Modbus ASCII protocol over TCP
- UDP + Default = Standard Modbus UDP server - UDP + RTU = Modbus RTU protocol over UDP - UDP + ASCII = Modbus ASCII protocol over UDP

IP Configuration Options:

IPv4: Bind to IPv4 addresses only
IPv6: Bind to IPv6 addresses only  
Both: Support both IPv4 and IPv6 clients
Loopback: Use 127.0.0.1 (IPv4) or ::1 (IPv6)
Custom: Specify exact IP address to bind

COM port-based Modbus server configuration

Parameter Options Purpose
COM Port Available ports Select COM port(s) for serial servers
Baud Rate 300-921600 bps Serial communication speed
Data Bits 7, 8 Character size (8 for RTU, ⅞ for ASCII)
Parity None, Even, Odd, Mark, Space Error detection method
Stop Bits None, One, Two, 1.5 Character termination
Protocol Default/RTU, ASCII Default: Start Modbus RTU server on selected COM Port
RTU: Same as default (binary protocol)
ASCII: Modbus ASCII server on selected COM Port

Multiple COM Port Support: - Simultaneous Servers - Enable multiple COM ports concurrently - Individual Settings - Each COM port has independent baud/parity/stop bit settings - Mixed Protocols - Run RTU on COM1, ASCII on COM2 simultaneously - Scalable Configuration - Support for COM1 through high-numbered USB ports

Common Serial Configurations:

Standard RTU: 9600,8,N,1 (Default/RTU protocol)
High Speed: 115200,8,N,1 (Default/RTU protocol)  
ASCII Mode: 1200,7,E,1 (ASCII protocol)
Legacy: 1200,8,N,2 (older devices)

Intelligent traffic analysis and map building

Feature Mode Behavior
Capture Toggle On/Off Enable the addition of Modbus Monitoring points based on Modbus Requests. Note: The server must be running for this feature to work.
Default Value 0 Fill with zero Fill "0" as the value into the newly created Modbus Map entries
Auto Value Fill with address Use the Modbus Register address as the fill value for newly created entries

How Capture Works: 1. Server Running - Capture only works when server is active 2. Client Requests - Monitor incoming Modbus function codes and addresses
3. Auto Creation - Automatically create monitor points for requested registers 4. Value Population - Fill with address value or default zero 5. Map Building - Build complete device map from observed traffic

Use Cases: - Reverse Engineering: When you don't have documentation for a Modbus device
- Start XPF Server on same network/port - Let existing client connect and communicate - XPF captures all register accesses automatically - Result: Complete Modbus map discovered from live traffic

  • System Analysis: Understanding existing Modbus networks
  • Place XPF between client and server (monitoring mode)
  • Capture reveals which registers are actually used
  • Identify active vs. unused registers

  • Protocol Validation: Testing client implementations

  • Enable capture while your client polls the server
  • Verify client is requesting correct registers
  • Check function codes and access patterns

Capture Best Practices

  • Start with clean list: Clear monitor points before enabling capture
  • Use Default Value 0: Easier to identify newly captured points
  • Let it run: Allow all client operations to complete for full map
  • Review results: Captured points may need refinement (names, data types)
  • Save immediately: Export captured map before making changes

Advanced dynamic data generation engine

Control Range Purpose
Ts (Sample Time) 1-65535 ms Update rate for simulation engine
Freq (Frequency) 0.01-1000 Hz Sine wave frequency for dynamic simulation
Sample Button Action Add sample monitor point with sine wave pattern
Toggle Button Action Enable/disable simulation on all monitor points
Max/Default/Min Actions Set all simulated values to maximum/default/minimum ranges

Simulation Patterns Available: - Sine Wave - Value = Amplitude × sin(2π × Freq × t) - Ramp - Linear increase/decrease over time - Random - Random values within data type range - Static - User-defined constant values - Step - Square wave patterns

Advanced Features: - Nyquist Rate - Values update twice per sample time for accurate waveform generation and anti-aliasing - Per-Point Control - Enable simulation individually via monitor point checkboxes - Data Type Aware - Simulation respects INT16, UINT32, FLOAT32 ranges automatically - Real-Time Updates - Clients see live changing data with microsecond precision timing - Performance Optimized - Efficient multi-threaded calculations support hundreds of simultaneous simulations - Deterministic Behavior - Reproducible waveforms ensure consistent test results across multiple runs - Dynamic Range Control - Automatic amplitude scaling prevents data type overflow while maintaining pattern integrity

Simulation Control Groups

Master Simulation Controls (Server Tab → Simulate Group):

Control Function Range/Options Purpose
Ts (Sample Time) Update Rate 1-1000000ms How often simulation values update (Nyquist rate: values change twice per Ts period)
Freq (Frequency) Waveform Frequency 0.01-1000000 Hz Sine wave frequency for dynamic simulation
Sample Button Add Sample Point Action Creates a sample monitor point with sine wave pattern for testing
Toggle Button Global Enable/Disable On/Off Enable or disable simulation on monitor points simultaneously
Max Button Set Maximum Values Action Sets all simulated monitor points to their maximum data type values
Default Button Set Default Values Action Sets all simulated monitor points to their default/middle values
Min Button Set Minimum Values Action Sets all simulated monitor points to their minimum data type values
Individual Monitor Point Simulation Settings

Per-Point Simulation Configuration (Monitor Points Extended Options):

To configure simulation for individual monitor points:

  1. Access Extended Options:
  2. Click the three dots (...) button at the end of any monitor point row
  3. Extended options dialog opens

  4. Enable Point Simulation:

  5. Check the Simulate checkbox to enable simulation for this specific point
  6. Unchecked: Point uses static values or real device data
  7. Checked: Point generates dynamic simulated values

  8. Select Simulation Pattern:

  9. Choose from the Simulate Type dropdown menu
  10. Each pattern creates different mathematical behaviors
Available Simulation Patterns

Mathematical Waveform Types:

Pattern Formula Behavior Use Case
Linear Value = m × t + b Straight line increase/decrease over time Ramp signals, gradual changes, startup sequences
Sine Value = Amplitude × sin(2π × Freq × t) Smooth oscillating wave AC power simulation, cyclic processes, vibration
Triangle Triangular wave function Linear rise and fall pattern Sawtooth generators, scanning signals
Square Digital high/low alternating Sharp on/off transitions Digital signals, relay operations, binary states
Impulse Short duration peaks Brief spikes returning to zero Event triggers, fault injection, pulse counting
Parabola Value = a × t² + b × t + c Curved acceleration/deceleration Non-linear processes, acceleration curves
Exponential Value = A × e^(k × t) Exponential growth/decay Temperature curves, charging/discharging, chemical reactions
Advanced Client Testing & Performance Capture

Comprehensive Modbus Client Validation Platform:

XPF's simulation engine provides unparalleled capabilities for testing, validating, and benchmarking Modbus client applications. The combination of advanced waveform generation with integrated capture and analysis tools creates the industry's most comprehensive testing environment.

Client Performance Testing Capabilities:

Test Category XPF Capability Client Validation Performance Metrics
Response Time Testing Variable Ts (1-65535ms) Measure client polling efficiency Identify optimal poll rates, detect timeouts
Data Pattern Handling 7 mathematical waveforms Verify client processes all data types correctly Test floating-point precision, range validation
Load Testing Hundreds of simultaneous points Stress-test client under heavy data loads Measure throughput limits, memory usage
Frequency Response 0.01-1000Hz patterns Test client adaptation to data rate changes Analyze filtering, sampling, aliasing effects
Error Recovery Impulse/fault injection Validate client error handling capabilities Document recovery times, fault tolerance
Network Performance TCP/UDP/Serial protocols Test client across all interface types Compare protocol efficiency, latency analysis
Scalability Analysis Multi-server architecture Test client with multiple simultaneous connections Evaluate connection management, resource scaling

Integrated Data Capture & Analysis:

Real-Time Performance Monitoring: - TX/RX Statistics: Monitor message throughput and communication efficiency - Response Time Analysis: Measure client polling intervals and response latency
- Error Rate Tracking: Capture communication failures and timeout events - Data Integrity Validation: Verify client receives and processes simulated values correctly - Network Load Assessment: Analyze bandwidth utilization and protocol overhead

Automated Test Documentation: - Auto Save Integration: Automatically log all simulation data and client responses to timestamped CSV files - Chart Integration: Real-time visualization of client performance metrics and response patterns - Capture Integration: Record which registers clients actually access during testing - Statistics Export: Export comprehensive test results for analysis in Excel, MATLAB, or custom tools

Simulation Engine Technical Features

Advanced Waveform Generation:

  • Mathematical Precision: IEEE 754 floating-point calculations ensure accurate waveform generation
  • Nyquist Rate Processing: Values update twice per sample time (Ts) for accurate waveform generation and anti-aliasing
  • Data Type Awareness: Simulation automatically respects INT16, UINT32, FLOAT32 value ranges and scaling
  • Real-Time Updates: Connected clients see live changing data with microsecond precision timing
  • Per-Point Control: Enable simulation individually for each monitor point with independent patterns
  • Performance Optimized: Efficient multi-threaded calculations support hundreds of simultaneous simulations
  • Deterministic Behavior: Reproducible waveforms ensure consistent test results across multiple runs
  • Dynamic Range Control: Automatic amplitude scaling prevents data type overflow while maintaining pattern integrity
Practical Simulation Applications

Industrial Process Simulation

Scenario: Simulate a temperature control system

Configuration:

Setpoint (40001): Static = 85.0°C (no simulation)
Process Variable (40002): Sine wave = 83-87°C oscillation
Heater Output (40003): Parabola = non-linear response curve  
Alarm Status (10001): Square wave = periodic alarm testing

Benefits: - Test PID controller tuning algorithms - Validate HMI alarm handling - Simulate process disturbances - Train operators on system behavior

Power Grid Simulation

Scenario: Simulate electrical power monitoring

Configuration:

Voltage (30001): Sine = 240V ± 5% @ 60Hz
Current (30002): Sine = Load-dependent amplitude  
Frequency (30003): Linear = 59.95-60.05 Hz drift
Power Factor (30004): Triangle = 0.8-1.0 oscillation

Benefits: - Test SCADA power quality monitoring - Validate protection relay logic - Simulate grid disturbances - Demonstrate power calculation accuracy

Motor Drive Testing

Scenario: Variable frequency drive simulation

Configuration:

Speed Command (40010): Linear ramp = 0-1800 RPM acceleration
Actual Speed (40011): Exponential = realistic acceleration curve
Motor Current (40012): Parabola = torque-dependent current
Fault Status (10010): Impulse = periodic fault injection

Benefits: - Test drive commissioning procedures - Validate safety logic responses - Simulate motor startup sequences - Train maintenance personnel

Simulation Best Practices

Optimization Guidelines

Performance Considerations:

Sample Time (Ts) Selection: - Fast processes: 50-100ms for high-speed control loops - Normal processes: 1000ms (1 second) for typical industrial monitoring - Slow processes: 5000ms+ for temperature, level, or flow applications - Network considerations: Longer Ts reduces network traffic

Frequency Selection: - Power systems: 50/60 Hz for electrical simulation - Mechanical systems: 0.1-10 Hz for typical machinery - Process control: 0.01-1 Hz for chemical/thermal processes - Test signals: 1-100 Hz for calibration and testing

Simulation Limitations

Resource Considerations:

  • CPU Usage: Many simultaneous simulations may impact system performance
  • Network Load: High-frequency simulations generate continuous network traffic
  • Data Type Limits: Simulation values are constrained by monitor point data types
  • Mathematical Precision: Floating-point calculations may have minor rounding effects

Recommendations: - Start with fewer simulation points and increase gradually - Use appropriate sample times for your application - Monitor system performance during heavy simulation loads

Advanced Testing Scenarios & Methodologies

Comprehensive Client Validation Workflows:

Complete SCADA System Validation

Scenario: Validate a new SCADA application before production deployment

XPF Testing Strategy:

Phase 1 - Basic Connectivity:
  - Static values: Verify basic Modbus communication
  - Capture mode: Document actual register usage
  - Single pattern: Test with simple sine wave

Phase 2 - Dynamic Response:
  - Multiple patterns: Sine, triangle, linear ramps
  - Variable frequencies: 0.1Hz to 10Hz testing
  - Data type validation: INT16, UINT32, FLOAT32

Phase 3 - Stress Testing:
  - 100+ simultaneous points: Maximum load testing
  - High-frequency patterns: Performance limits
  - Error injection: Impulse patterns for fault testing

Phase 4 - Performance Analysis:
  - Auto save enabled: Complete data logging
  - Charts active: Real-time performance visualization
  - Statistics monitoring: TX/RX analysis

Validation Results: - Response Time Baseline: Document optimal polling intervals - Load Capacity: Identify maximum sustainable data points - Error Recovery: Validate fault handling and recovery times - Data Accuracy: Verify floating-point precision and range handling - Network Efficiency: Measure protocol overhead and bandwidth usage

Industrial Protocol Benchmarking

Scenario: Compare Modbus TCP vs RTU vs ASCII performance

Multi-Protocol Testing:

TCP Server (Port 502):
  - Linear ramps: 0-65535 over 60 seconds
  - Sine waves: 50Hz power simulation
  - Exponential: Temperature rise curves

Serial RTU (COM1 @ 115200):
  - Identical patterns as TCP
  - Same timing parameters
  - Parallel execution

Serial ASCII (COM2 @ 9600):
  - Identical patterns with lower baud
  - Protocol overhead comparison
  - Legacy compatibility testing

Performance Comparison: - Throughput Analysis: Messages per second across protocols - Latency Measurement: Response time differences - Error Rates: Protocol reliability under stress - Bandwidth Efficiency: Data overhead comparison - Scalability Limits: Maximum points per protocol

Competitive Advantages - Why XPF is Unmatched

No Other Tool Provides This Level of Testing Capability:

Mathematical Precision: - Perfect Waveforms: Generate ideal mathematical patterns impossible with hardware - Floating-Point Accuracy: IEEE 754 precision for scientific applications
- Deterministic Patterns: Reproducible test conditions for validation - Multi-Pattern Synthesis: Complex waveform combinations for comprehensive testing

Comprehensive Integration: - Capture + Simulation: Reverse engineer while generating test patterns - Charts + Performance: Real-time visualization of client behavior - Auto Save + Analysis: Automatic test documentation and data export - Multi-Server + Protocols: Complete protocol stack validation

Enterprise-Level Capabilities: - Zero Hardware Dependency: Complete testing environment in software - Unlimited Scalability: Hundreds of simultaneous simulation points - Professional Documentation: Automated test reports and compliance records - Cost Effectiveness: Eliminates need for expensive test equipment

Time-to-Market Acceleration: - Instant Environment: No hardware setup or procurement delays - Parallel Development: Multiple team members can test simultaneously - Continuous Integration: Automated testing in CI/CD pipelines - Risk Reduction: Comprehensive validation before hardware deployment

Integration with Other XPF Features

Combining Simulation with Complete Testing Ecosystem:

Data Analysis Pipeline: - Charts: Real-time waveform visualization and client response analysis - Auto Save: Automatic CSV export for statistical analysis in Excel/MATLAB/Python - Capture: Simultaneously record client access patterns while generating test data - Statistics: Monitor communication performance and identify bottlenecks

Multi-Interface Testing: - Multiple Servers: Run different patterns on TCP vs Serial for protocol comparison - Mixed Protocols: Test RTU, ASCII, and TCP simultaneously with identical data - Network Analysis: Compare IPv4, IPv6, and serial communication efficiency

Advanced Validation: - Limits Evaluation: Set High/Low limits to test alarm and exception handling - Dynamic Scaling: Vary amplitude and frequency during testing for adaptive algorithm validation - Pattern Synchronization: Coordinate multiple simulation points for complex system testing - Error Injection: Use impulse patterns to test client fault tolerance and recovery

Server Start/Stop - Concurrent Operation

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

Server Control:

  • Single Button: One Start/Stop control manages all enabled servers
  • Network Server: Starts either TCP or UDP server (not both) when Interface is configured and Enable is checked
  • Serial Servers: Start automatically for all selected COM ports
  • Simultaneous Start: Network server (TCP or UDP) plus all serial servers start together
  • Independent Operation: Each server operates independently once started
  • Clean Shutdown: Stop button properly closes all server connections

Status Indicators:

  • Running: Button shows "Stop" and servers are active
  • Stopped: Button shows "Start" and no servers are running
  • Connection Count: (if displayed) Shows number of active client connections

Multiple Server Strategy

Common configuration patterns:

  • Development: TCP on port 502 for SCADA testing
  • Integration: TCP + Serial for mixed client testing
  • Production Simulation: Multiple serial ports for multi-device emulation
  • Protocol Testing: Same data on TCP and Serial for comparison

Multiple Server Instances - Advanced Setup

Run multiple XPF instances for complex testing scenarios:

Interface Limitations per Instance:

Each XPF instance can run: - One Network Server: Either TCP OR UDP (not both) - Multiple Serial Servers: Unlimited COM ports with independent settings

Multiple Instance Strategies:

Strategy 1 - Different Network Protocols: - Instance 1: TCP Server on Port 502 + Serial servers (COM1, COM3) - Instance 2: UDP Server on Port 502 + Serial servers (COM5, COM7) - Instance 3: TCP Server on Port 503 + Serial servers (COM9, COM11)

Strategy 2 - Protocol Variants: - Instance 1: TCP Default on Port 502 - Instance 2: TCP RTU on Port 602
- Instance 3: UDP ASCII on Port 503

Each instance: - Runs as separate XPF application window - Has its own Modbus map configuration - Responds independently to client requests - Simulates different devices or device types

Benefits:

  • TCP and UDP Together: Use separate instances for both TCP and UDP servers
  • Different Ports: Multiple network servers on different ports
  • Device Simulation: Each instance represents different device type or model
  • Protocol Testing: Compare TCP vs UDP performance with same data

6. IoT Features

XPF provides IoT connectivity through licensed features accessed via the IoT Tab. These features enable cloud integration, MQTT messaging, and specialized platform connectivity for Industrial IoT scenarios.

Available IoT Features

ThingSpeak Feature: Specialized ThingSpeak cloud platform integration with automatic field mapping and professional visualization capabilities.

📖 Complete ThingSpeak Feature Setup Guide

MQTT Feature: Advanced MQTT broker connectivity with multi-broker support, enterprise security, and cloud platform templates.

📖 Complete MQTT Feature Setup Guide

Feature Licensing

Both IoT features require separate license purchases to unlock full functionality. Access feature configuration through the IoT Tab groups after licensing.

6A. HMI Tab and Widgets (v5.0.0.0+)

The HMI tab provides a widget-based dashboard surface for building operator-friendly runtime views directly in XPF.

HMI Dashboard Demo Example HMI dashboard layout in XPF

  • Use the HMI feature to build live dashboards with widgets, monitor points, trends, and operator controls.
  • Use it when you need a simple screen for commissioning, monitoring, or operator use.

Open the dedicated HMI guide:

7. Monitor Points Configuration

Monitor Points are similar to PLC tags - each one represents a specific data point you want to read or write on a Modbus device. Just as PLC tags map to memory addresses in a controller, Monitor Points map to Modbus registers and coils with all the configuration needed to access and interpret the data correctly.

This section explains everything you need to know about configuring Monitor Points, including address formats, data types, scaling options, and advanced features. Whether you're setting up a simple temperature sensor or complex multi-register data structures, understanding these configuration options is essential for effective Modbus communication.

Quick Navigation - Monitor Points Configuration

Most Common Topics:

Topic Link Use Case
Magic Codes Name Field Enhanced String length, poll rates, bit access, date/time
Address Format 6-Digit Format Understanding 400001, 300001, etc.
Data Types Data Interpretation INT16, FLOAT32, STRING, DATETIME
Byte Order Swap Type Big/Little Endian for 32-bit+ values
Scaling Gain & Offset Convert raw values to engineering units
Custom Commands CustomQ Field Send raw PDU commands
Charts Chart Options Real-time data visualization
Simulation Simulate Mode Generate test data patterns

Monitor Points Structure

Each row in the Monitor Points table represents a single Modbus register or group of registers to monitor:

Number Column Data Type Example Description
1 Name String Water Temperature:16 Descriptive name + magic codes for advanced features
2 Address Integer 400001 6-digit Modbus address format
3 Unit ID Byte (1-247) 1 Slave/Station ID (1-247)
4 Gain Float 1.5 Scaling multiplier: Y = (Gain * X) + Offset
5 Offset Float 100 Value offset: Y = (Gain * X) + Offset
6 Data Type Enum INT16 Data interpretation format (INT16, UINT16, FLOAT32, STRING, etc.)
7 Swap Type Enum ABCD_BE Byte/word order for multi-register data
8 Value String/Number 123.45 Shows latest polled value, red border for errors, editable for writes
9 Extra (...) Button ... Additional Options such as CommandQ, Chart, Simulate
10 CustomQ Hex String 11 04 00 6B Custom Modbus command in hexadecimal
11 Chart Checkbox Checked / Unchecked Enable charting for this monitor point to display value trends over time
12 Axis Integer 0 or 1 Assign to chart axis (0 or 1) for multi-scale time-series visualization
13 Simulate Checkbox Checked / Unchecked Enable simulation mode (Server mode only) to generate test values without actual device

Detailed Field Descriptions

1. Name Field - Enhanced with Magic Codes

The Name field supports special Magic Key Codes to enhance functionality:

String Length Control
Format: :xx
Usage: Water Temperature:16
Effect: Reads 16 continuous registers as string
Poll Rate Control
Format: @xxxx (milliseconds)
Usage: Model Name@1000
Effect: Polls every 1000ms (1 second)
Special: @-1 = Poll once at start, @0 = Skip during polling
Bit Field Access
Format: .n (bit index 0-15)
Usage: Status Register.8  
Effect: Extracts bit 8 from 16-bit register
Date/Time Formats

DATETIME Display Format - To display Date Time values with Magic Codes, you need to add a Magic Code to the Name field and set the Data Type to DATETIME. The processor uses the code (DOS, EPOCH, DT3, DT4, etc.) in the Name field to properly request the number of registers required for this display format to decode and display time properly.

No Modbus Standard for DateTime

There is no official Modbus standard for date time representation, so analyze the manufacturer's documentation to determine the number of registers required to fetch date and time. Then, simply choose the correct Magic Code from the table below. Use Swap Type settings to match the remote device's byte order.

DateTime Magic Codes:

Magic Code Registers Register Layout Description
DOS 2 [YYMMDD] [hhmmss] DOS Time Stamp Y1980, 2 Registers
WIN 2 Same as DOS Windows compatible DOS format
EPOCH 2 Unix timestamp (32-bit) Unix Epoch, 2 Registers
EPOCHMS 4 Unix timestamp (64-bit ms) Unix Epoch in Milliseconds (4 Registers)
DT2 2 [Date] [Time] Same as DOS format
DT3 3 [YY\|MM] [DD\|hh] [mm\|ss] Date Time, 3 Registers
DT4 4 [YY\|MM] [DD\|hh] [mm\|ss] [ms] Date Time, 4 Registers
DT4P 4 [XX\|YY] [MM\|DD] [hh\|mm] [ms] Date Time Y2000 Modbus Plus, 4 Registers
DT6 6 [YYYY] [MMMM] [DDDD] [HHHH] [MMMM] [SSSS] Date Time, 6 Registers
DT7 7 [Sec\|Min] [Hour\|Day] [Month\|Year] [Weekday] Date Time, 7 Registers

Detailed Format Specifications:

DOS Time Stamp Y1980 - Uses Windows API DosDateTimeToFileTime()

Usage: System_Clock_DOS + Data Type = DATETIME
Registers: 2
Register Format Description
N YY\|MM\|DD Date: Year|Month|Day
N+1 hh\|mm\|ss Time: Hour|Minute|Second

Windows API Function:

BOOL DosDateTimeToFileTime(
  [in]  WORD       wFatDate,    // Register N
  [in]  WORD       wFatTime,    // Register N+1
  [out] LPFILETIME lpFileTime
);

3-Register DateTime - Common in Samsung Battery Systems

Usage: BMS_RTC_DT3 + Data Type = DATETIME
Example: Samsung Battery System BMS RTC Write [YY-MM-DD hh:mm:ss]
Registers: 3
Register Hex Address Format Description
N 0x0000 YY\|MM MSB(Year) - LSB(Month)
N+1 0x0001 DD\|hh MSB(Day) - LSB(Hour)
N+2 0x0002 mm\|ss MSB(Minute) - LSB(Second)

Example Addresses:

Reg 1: [Address(Hex): 0x0000] MSB(Year)-LSB(Month)
Reg 2: [Address(Hex): 0x0001] MSB(Day)-LSB(Hour)
Reg 3: [Address(Hex): 0x0002] MSB(Minute)-LSB(Second)

4-Register DateTime with Milliseconds

Usage: Timestamp_DT4 + Data Type = DATETIME
Registers: 4
Register Format Description
N YY\|MM Year|Month
N+1 DD\|hh Day|Hour
N+2 mm\|ss Minute|Second
N+3 fff Milliseconds

Modbus Plus Y2000 DateTime Format

Usage: ModbusPlus_Time_DT4P + Data Type = DATETIME
Registers: 4
Register Format Description
N XX\|YY Year (2-digit, base 2000)
N+1 MM\|DD Month|Day
N+2 hh\|mm Hour|Minute
N+3 ms Milliseconds

6-Register DateTime - Full Separate Registers

Usage: System_Timestamp_DT6 + Data Type = DATETIME
Registers: 6
Register Content Description
N YYYY Year (4 digits)
N+1 MMMM Month (1-12)
N+2 DDDD Day (1-31)
N+3 HHHH Hour (0-23)
N+4 MMMM Minute (0-59)
N+5 SSSS Second (0-59)

7-Register DateTime with Weekday

Usage: Extended_Clock_DT7 + Data Type = DATETIME
Registers: 7
Register Format Description
N Sec\|Min Second|Minute
N+1 Hour\|Day Hour|Day
N+2 Month\|Year Month|Year
N+3 Weekday Day of week (0-6)

Unix Timestamp Formats

EPOCH (2 Registers):

Usage: Unix_Time_EPOCH + Data Type = DATETIME
Registers: 2 (32-bit timestamp)

EPOCHMS (4 Registers):

Usage: Unix_TimeMS_EPOCHMS + Data Type = DATETIME
Registers: 4 (64-bit timestamp in milliseconds)

Implementation Examples:

DateTime Configuration Examples

Samsung Battery System:

Name: BMS_RTC_DT3
Address: 400001
Data Type: DATETIME
Registers Used: 3 (400001, 400002, 400003)

PLC with DOS Format:

Name: System_Clock_DOS
Address: 400010
Data Type: DATETIME
Registers Used: 2 (400010, 400011)

Industrial Controller with Full DateTime:

Name: Controller_Time_DT6
Address: 300001
Data Type: DATETIME
Registers Used: 6 (300001-300006)

Important Notes:

  • Always set Data Type = DATETIME when using DateTime Magic Codes
  • Use Swap Type settings to match device byte order (ABCD_BE, CDBA_LE, etc.)
  • Consult manufacturer documentation for register layout and byte ordering
  • Test with known timestamps to verify correct interpretation
  • Some devices may use zero-based or one-based addressing - adjust accordingly
Multiple Magic Codes
Example: System_Status@-1:31.5
Effect: Poll once (@-1), 32 registers (:31), bit 5 (.5)

2. Address Field - 6-Digit Format

Complete 6-Digit Addressing Guide

For comprehensive explanations, troubleshooting, and examples: See the 6-Digit Addressing Scheme Guide

This section provides XPF-specific details. The comprehensive guide covers all aspects including common mistakes, device compatibility, and conversion from other tools.

The 6-digit addressing format provides an explicit and standardized way to identify both the register type and its address in a single number. This format is used in XPF and many other Modbus tools to simplify configuration.

Format Structure:

[Type Prefix Digit] [5-Digit Register Address]

Example: 400001 breaks down as: - 4 = Register Type Indicator (Holding Register) - 00001 = Register Number (1)

Critical: Prefix Digit ≠ Function Code

Important: The first digit is a register type indicator, not the Modbus function code itself (though they're related).

  • Type Prefix → Tells you what kind of register (Coil, Discrete Input, Input Register, Holding Register)
  • Function Code → The actual Modbus command used to read/write that register type

For example, address 400001 uses type prefix 4 (Holding Register), which is typically accessed using Function Code 03 (Read) or 06/16 (Write).

Quick Reference Table:

Prefix Register Type Function Codes Address Range Access
0 Coils FC01 (Read) / FC05, FC15 (Write) 000001–065536 Read/Write
1 Discrete Inputs FC02 (Read) 100001–165536 Read Only
3 Input Registers FC04 (Read) 300001–365536 Read Only
4 Holding Registers FC03 (Read) / FC06, FC16 (Write) 400001–465536 Read/Write

Visual Breakdown:

graph LR
    ADDR["400001"] -->|"Split into"| TYPE["4<br/>Holding Register"]
    ADDR -->|"Split into"| NUM["00001<br/>Register #1"]

    TYPE -.->|"Uses"| FC["Function Codes:<br/>03 (Read)<br/>06/16 (Write)"]
    NUM -.->|"Actual Address"| ZERO["Zero-based: 0<br/>One-based: 1"]

    style ADDR fill:#e3f2fd,stroke:#1976d2,stroke-width:3px,font-size:16px
    style TYPE fill:#fff3e0,stroke:#f57c00,stroke-width:2px
    style NUM fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
    style FC fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
    style ZERO fill:#ffebee,stroke:#c62828,stroke-width:2px

Key Concepts:

  • First digit (0, 1, 3, or 4): Indicates register type (not function code directly)
  • Last five digits (00000–65535): The actual register address
  • Zero-based vs One-based: Devices may start counting from 0 or 1
  • Zero-based: First register = 0 (e.g., 400000)
  • One-based: First register = 1 (e.g., 400001)

Address Examples - Understanding the Format

Complete breakdown showing all components:

6-Digit Address Type Prefix Register # Function Code Physical Location Zero-Based
400001 4 (Holding) 1 FC03 (Read) First holding register 0
400123 4 (Holding) 123 FC03 (Read) 123rd holding register 122
300005 3 (Input) 5 FC04 (Read) 5th input register 4
000013 0 (Coil) 13 FC01 (Read) 13th coil 12
100008 1 (Discrete) 8 FC02 (Read) 8th discrete input 7

Converting from Other Modbus Tools

If you're used to entering "Function Code + Address" separately (like Modbus Poll):

Your Tool Shows XPF 6-Digit Format Conversion
FC03, Address 123 400123 Prefix 4 + 00123
FC04, Address 5 300005 Prefix 3 + 00005
FC01, Address 13 000013 Prefix 0 + 00013
FC02, Address 8 100008 Prefix 1 + 00008

Quick Reference: - FC01/05/15 (Coils) → Prefix 0 - FC02 (Discrete Inputs) → Prefix 1
- FC03/06/16 (Holding Registers) → Prefix 4 - FC04 (Input Registers) → Prefix 3

Special Function Codes (Do NOT Use 6-Digit Address Format):

Function Code Hex Description Use Case
FC07 0x07 Read Exception Status Device error/status flags
FC08 0x08 Diagnostics Device diagnostic tests (requires Sub-Function)
FC11 0x0B Get Comm Event Counter Communication event counter
FC12 0x0C Get Comm Event Log Communication event log retrieval
FC17 0x11 Report Server ID Server/slave identification
FC43 0x2B Encapsulated Interface Transport MEI - Device ID, date/time sync
FC43-14 0x2B-0x0E Read Device Identification Manufacturer, model, serial strings (requires Device ID & Object ID)
FC43-15 0x2B-0x0F Read Date and Time Clock read
FC43-16 0x2B-0x10 Write Date and Time Clock synchronization

Why No 6-Digit Format for Special Functions?

Special function codes (FC07, FC08, FC11, FC12, FC17, FC43) don't follow the 6-digit addressing scheme because they:

  • Operate on device-level data (not specific registers)
  • Use different request/response structures
  • Require additional parameters (Sub-Function, Object ID, Device ID)
  • Are configured through the Modbus Wizard with specialized fields

Choosing Address Mode: Zero-Based vs One-Based

Most devices use 1-based addressing (addresses start at 1), but some use 0-based (addresses start at 0).

  • Check your device documentation for its addressing convention
  • Use the Offset button in the List Group to switch between modes globally
  • 400001 (1-based) and 400000 (0-based) both refer to the first physical holding register

3. Unit ID (Slave/Station ID)

The Unit ID identifies which Modbus slave device to communicate with on the network:

Range Description Common Usage
1-247 Valid Slave IDs Standard Modbus device addressing
0 Broadcast address Not recommended for normal operations
248-255 Reserved Not used in standard Modbus

Key Points: - Each device on a Modbus network must have a unique Unit ID - Use the Swap ID button in List Group to change all monitor points at once - TCP/IP devices often use Unit ID 1 or match their IP last octet

4. Gain (Scaling Multiplier)

Apply linear scaling to raw Modbus values using the formula: Y = (Gain * X) + Offset

Value Effect Example
1.0 No scaling (default) Raw value displayed as-is
0.1 Divide by 10 Convert tenths to units (e.g., 235 → 23.5)
10 Multiply by 10 Amplify small values
-1 Invert sign Convert positive to negative

Common Applications: - Temperature conversion: Gain = 0.1 (tenths of degree to degrees) - Pressure scaling: Gain = 0.01 (convert to proper decimal places) - Current measurement: Gain = 0.001 (milliamps to amps)

5. Offset (Value Adjustment)

Add or subtract a constant from the scaled value: Y = (Gain * X) + Offset

Value Effect Example
0 No offset (default) Scaled value used as-is
-273.15 Celsius to Kelvin Temperature conversion
32 Celsius to Fahrenheit After gain of 1.8

Processing Order: Raw Value → Gain (multiply) → Offset (add) → Display

6. Data Type (Data Interpretation)

Defines how to interpret the raw Modbus register data.

Available Data Types:

Type Size Range Usage
BIT 1 bit 0/1 Boolean values
INT16 16-bit -32,768 to 32,767 Signed integers
UINT16 16-bit 0 to 65,535 Unsigned integers (default)
INT32 32-bit ± 2.1 billion Large signed numbers
UINT32 32-bit 0 to 4.2 billion Large unsigned numbers
FLOAT32 32-bit IEEE 754 Floating point numbers
INT64 64-bit ± 9.2 x 10^18 Very large integers
UINT64 64-bit 0 to 1.8 x 10^19 Very large unsigned
DOUBLE64 64-bit IEEE 754 Double precision float
HEX Variable Hexadecimal Raw hex display
STRING Variable Text Character strings
DATETIME Variable Date/Time Formatted timestamps

Most Common Types:

  • UINT16: Unsigned 16-bit integer (0-65535) - default for most registers
  • INT16: Signed 16-bit integer (-32768 to 32767) - for negative values
  • FLOAT32: 32-bit floating point - for decimal precision
  • STRING: Text data - use with :xx magic code for length

7. Swap Type (Byte/Word Order)

Controls byte ordering for multi-register data (32-bit, 64-bit values spanning multiple registers).

Available Swap Types:

Swap Type Description Byte Order
ABCD_BE Big-Endian (Default) Most significant first
CDBA_LE Little-Endian Least significant first
BADC_BEBS Big-Endian Byte Swap Bytes swapped within words
CDAB_LEBS Little-Endian Word Swap Words swapped

Quick Selection Guide: - ABCD_BE (Big-Endian): Try this first for most devices - CDBA_LE (Little-Endian): If ABCD shows wrong values - BADC_BEBS / CDAB_LEBS: For devices with swapped byte/word order

8. Value (Current/Display Value)

The Value field serves multiple purposes depending on mode and state:

Mode Display Interaction
Client Mode Shows latest polled value Read-only, auto-updates during polling
Server Mode Editable field Click to edit, sends value to requesting clients
Error State Empty with red border Click cell to view error message details
Evaluate Mode Color-coded background Indicates pass/fail based on limits

9. Extra (...) Button

Click the three dots (...) button at the end of each row to access extended options:

Available Options:

  • Evaluate Limits: Set High/Low thresholds with color coding
  • CustomQ:Custom Modbus command in hexadecimal
  • Chart:Enable charting for this monitor point to display value trends over time
  • Simulate:Simulation mode

10. CustomQ (Custom Modbus Command)

Send raw Modbus PDU commands in hexadecimal format for special function codes or manufacturer-specific commands.

Format: Space-separated hex bytes (PDU only, no MBAP header or CRC)

Examples:

11 04 00 6B 00 03    # Read File Record
14 0E 06 ...         # Write File Record
2B 0E 01 00          # Read Device Identification

Use Cases:

  • Custom function codes not in standard Modbus
  • Manufacturer-specific diagnostics
  • Advanced MEI commands
  • File transfer operations

11. Chart (Enable Charting)

Enable time-series charting for this monitor point to visualize value trends over time.

Complete Chart Guide

For detailed chart setup, configuration, and advanced features, see the Charts - Data Trends Visualization section below.

State Result
Checked Values plotted on chart in real-time, click Chart Button in Client tab to view
Unchecked Monitor point excluded from chart (default)

Requirements: Client mode must be running (polling active) for data collection

12. Axis (Chart Axis Assignment)

Assign monitor point to specific chart axis for multi-scale visualization:

Value Purpose Example
0 Left axis Temperature (0-100°C)
1 Right axis Pressure (0-1000 PSI)

Benefits of Dual Axis:

  • Compare values with different scales simultaneously
  • Temperature and pressure on same chart
  • Speed and current measurements together

Chart Axis Configuration

For complete dual-axis setup and multi-signal charting examples, see the Charts - Data Trends Visualization section below.

13. Simulate (Simulation Mode)

Enable simulation mode to generate test values without requiring an actual Modbus device.

State Mode Behavior
Checked Simulation ON Generates test patterns (ramp, sine, random)
Unchecked Normal mode Uses actual device communication

Available Only In: Server mode - allows testing without physical hardware

Simulation Patterns:

  • Ramp: Incrementing values for testing trending
  • Sine Wave: Oscillating pattern for dynamic testing
  • Random: Random values within configured range
  • Static: User-defined constant value

Advanced Features & Tips

Magic Code Reference

Quick reference for Name field enhancement codes:

Code Format Purpose Example
String Length :nn Multi-register strings Device_Name:16
Poll Rate @nnnn Custom timing (ms) Status@5000
Bit Access .n Single bit from register Alarm_Status.7
Date/Time DTx Timestamp conversion
see Date/Time Format
Timestamp_DT6
Combined Multiple Complex configurations Data@1000:8.5

Performance Optimization

Network Optimization

Fast LAN:
  Response Timeout: 1000ms
  Inter-Frame Delay: 5ms
  Poll Rate: 500ms

Slow Serial:
  Response Timeout: 5000ms
  Inter-Frame Delay: 50ms
  Poll Rate: 2000ms

WAN/Internet:
  Response Timeout: 10000ms
  Inter-Frame Delay: 100ms
  Poll Rate: 5000ms

Memory Management

  • Disable Logging: Turn off when not needed
  • Limit Chart Buffer: Set samples to reasonable size
  • Filter Data: Use evaluate filters to reduce display load

Troubleshooting Guide

Common Connection Issues

Problem Symptoms Solution
Timeout Errors Red border in Value field Check network, increase timeout
Wrong Values Unexpected data Verify swap type and data type
No Response All values show errors Check IP address, port, Unit ID
Slow Performance Delayed updates Optimize poll rates and timing

Error Message Analysis

Click on red-bordered Value cells to see detailed error messages:

  • Connection Refused: Server not running or wrong port
  • Timeout: Network issues or device not responding
  • Illegal Function: Unsupported Modbus function code
  • Illegal Address: Register address not available on device

Best Practices

Configuration Management

  1. Save Frequently: Use CSV format for easy backup
  2. Document Settings: Include descriptive names for monitor points
  3. Version Control: Keep multiple versions of configurations
  4. Test Offline: Use server mode to validate configurations

Production Deployment

  1. Validate Configuration: Test thoroughly before production use
  2. Monitor Performance: Watch for timeout errors and timing issues
  3. Plan Maintenance: Schedule configuration updates during downtime
  4. Backup Data: Regular exports of historical data

Security Considerations

  1. Network Isolation: Use VPNs or isolated networks for Modbus
  2. Access Control: Limit who can modify configurations
  3. Audit Logging: Enable communication logs for security monitoring
  4. Regular Updates: Keep XPF updated with latest security patches

Additional Resources

Learning Materials

Support Options

  • Email Support: Direct assistance for licensed users
  • Online Help: Comprehensive web-based documentation
  • Professional Support: Premium support plans available