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
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
-
Open Scanner Configuration
Go to Settings > Scanner Configuration
-
Select Generic Modbus
Choose Scanner Type:
Generic Modbus -
Configure Connection
Modbus TCP Settings
Interface Modbus TCPIP Address 192.168.1.50QCS/gateway IP Port 502Standard Modbus port Slave ID 1Usually 1, check QCS config Timeout 3000Milliseconds
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 |
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
- Click Test Connection in Scanner Configuration
- Check for "Connection successful" message
- If failed, verify IP address, port, and firewall settings
Data Verification
- After connection, observe the Profile Display
- Values should be in expected range (e.g., 40-400 g/m² for basis weight)
- 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.