Generic QCS / Modbus Integration

Overview

This guide covers integration with any QCS system that supports Modbus TCP or Modbus RTU protocols. Use this guide when:

  • Your QCS system is not listed in the vendor-specific guides
  • You have a custom or local QCS system
  • You want to understand the low-level Modbus configuration
  • You are integrating with a PLC-based profile system
Universal Protocol

Modbus is supported by virtually all industrial control systems. If your QCS doesn't have native Modbus, you may be able to add a Modbus gateway or use a PLC as an intermediary.

Requirements

To integrate a generic QCS system, you need:

From the QCS System

  • Modbus Server/Slave: The QCS must expose profile data via Modbus
  • Register Map: Documentation of register addresses for profile data
  • Data Format: Information about data types (Float, Int) and byte ordering
  • Network Access: IP address and port for TCP, or serial port settings for RTU

Profile Data Requirements

Data Item Required Description
Profile Array Yes Basis weight values across the web (100-300 points)
Profile Valid Flag Recommended Indicates if profile data is current
Profile Average Optional Mean basis weight value
Scanner Status Optional Operating status of scanner

Modbus TCP Setup

Modbus TCP is the recommended interface for QCS integration due to its speed and reliability.

Configuration Steps

  1. Open Scanner Configuration

    Go to Settings > Scanner Configuration

  2. Select Generic Modbus

    Choose Scanner Type: Generic Modbus

  3. Configure Connection

    Modbus TCP Settings

    Interface Modbus TCP
    IP Address 192.168.1.50 QCS/gateway IP
    Port 502 Standard Modbus port
    Slave ID 1 Usually 1, check QCS config
    Timeout 3000 Milliseconds

Modbus RTU Setup

Modbus RTU uses serial communication. Use this when Ethernet is not available on the QCS.

Modbus RTU Settings

Interface Modbus RTU
Port COM1 Serial port name
Baud Rate 19200 Common: 9600, 19200, 38400
Parity Even Even, Odd, or None
Data Bits 8 Usually 8
Stop Bits 1 Usually 1
Slave ID 1 Device address

Data Format Configuration

Correct data format configuration is critical for proper profile reading:

Data Types

Type Registers Range Usage
Float 32-bit 2 ±3.4×10³⁸ Most common for g/m² values
Int16 1 -32768 to 32767 Scaled integer (multiply by factor)
UInt16 1 0 to 65535 Positive scaled integer
Int32 2 ±2×10⁹ Large scaled values

Byte Order

For multi-register values (Float, Int32), byte order matters:

Setting Order Common For
Big Endian High byte first ABB, Siemens, most PLCs
Little Endian Low byte first Some PC-based systems
Word Swap Swap register order Some specific systems
Trial and Error

If you get very large or very small values, try toggling the byte order and word swap settings. There are only 4 combinations to try.

Register Mapping

Configure the Modbus register addresses for your QCS data:

Profile Settings

Number of Databoxes 200 Profile array size
Profile Start Register 0 First register of profile array
Data Type Float 32-bit 2 registers per value
Function Code 3 (Read Holding) Or 4 for Input Registers

Function Codes

Code Name Usage
3 Read Holding Registers Most common for profile data
4 Read Input Registers Read-only data

Calculating Register Count

For a profile with N databoxes:

  • Float 32-bit: N × 2 registers (e.g., 200 databoxes = 400 registers)
  • Int16: N registers (e.g., 200 databoxes = 200 registers)

Testing & Debugging

Connection Test

  1. Click Test Connection in Scanner Configuration
  2. Check for "Connection successful" message
  3. If failed, verify IP address, port, and firewall settings

Data Verification

  1. After connection, observe the Profile Display
  2. Values should be in expected range (e.g., 40-400 g/m² for basis weight)
  3. Profile shape should look reasonable (not all zeros, not random noise)

Common Issues

Symptom Likely Cause Solution
All values zero Wrong register address Verify register map with QCS documentation
Very large/small values Wrong byte order Try different endian settings
Random-looking data Wrong data type Try Float vs Integer
Half the expected points Register count wrong Check if using 2 registers per Float
Connection timeout Network/firewall issue Check ping, verify port is open
Exception response Invalid address or function Verify register addresses are valid

Using Modbus Test Tools

To debug Modbus communication, use a third-party Modbus client tool:

  • ModRSsim2 - Free Modbus simulator
  • QModMaster - Open source Modbus client
  • Simply Modbus TCP Client - Commercial tool with trial

These tools let you manually read registers to verify data before configuring the Dilution Control System.