Advanced Tubular Technologies Navigate to the main website

Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Please fill out the contact form below and we will reply as soon as possible.

  • Contact us here if you need more help.
English (US)
PT Portuguese
US English (US)
  • Home
  • VTube Technical Articles

HEXAGON (RDS) Arm: Threaded Receiver and Scanner Logging

Written by Michael Cone

Updated at September 25th, 2026

Article Link Copied!

Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Please fill out the contact form below and we will reply as soon as possible.

  • VTube Update Articles
  • VTube Technical Articles
    VTube General (STEP and LASER) VTube Reports VTube-LASER VTube Configuration and Maintenance VTube-STEP VTube Installation SOLIDWORKS Configuration VTube Cloud License Server VTube Communications
  • Downloadable Resources
  • VTube Videos
  • Measuring Devices
    HEXAGON Articulated Arms Metronor
  • Utility Software
  • Partners
  • Benderlink Hardware
  • Bending Terminology
  • Benderlink Software
  • Benderlink Update Articles
  • CNC Bender ProControl
  • Bender to XYZ
  • General Software Topics
  • Windows Technical Articles
    Cable Specs
  • TubeCAD
  • FIF Translator Updates
+ More

Table of Contents

Advanced Topic for Technicians Overview RDS Threaded Receiver What is a “Threaded Receiver” Where the settings are by default Recommended settings for using the threaded receiver Threaded Receiver is ON by Default in New Installs How to enable the threaded receiver How to turn it off (fallback to the legacy system) Diagnosing scanner speed with logging What the values mean Reading the results Troubleshooting

Advanced Topic for Technicians

The information here is very technical. Use it to understand how to optimize and diagnose HEXAGON RDS scan data speeds in VTube-LASER.

 

 

Applies to: VTube-LASER with HEXAGON/ROMER arms connected through RDS
Available from: VTube 4.5.1973, September 25, 2026

 

Overview

VTube receives laser stripes and arm positions from the HEXAGON RDS software. By default, VTube receives this data on its main (user interface) thread. When VTube is busy, RDS has to wait, and on older or slower PCs this can cause lag. A common symptom is the scanning sound continuing after the scan button is released.

 

 

 

RDS Threaded Receiver

An RDS threaded receiver is a newer development that prevents VTube from holding up the HEXAGON RDS software, so VTube can take the arm's full stripe rate (about 150 per second) instead of the roughly 40 it previously kept, without lagging.

It also fixes the lag on slower PCs where the scanning sound kept playing after the scan button was released.

 

What is a “Threaded Receiver”

A threaded receiver is a small part of VTube that runs on its own thread, separate from the one that runs VTube's screens and measuring logic. A thread is an independent line of work inside a program, so both can run at the same time.

Without it, the HEXAGON RDS software hands each stripe and arm position straight to VTube's main thread and waits until VTube has finished with it before sending the next one. If VTube is busy redrawing the screen or processing a scan, RDS is stuck waiting, and the data backs up.

With it, the receiver's only job is to take each message from RDS, put it in a waiting line (a queue), and immediately tell RDS it can send the next one. That takes a tiny fraction of a millisecond. VTube's main thread then works through the queue in order as soon as it's free. If VTube ever falls more than about a second behind, the oldest waiting data is dropped, so VTube always works with current data.

Illustration: It's like a receptionist who signs for every delivery right away and stacks them in order, so the courier never has to wait for other people in the company to collect each package individually.  She signs for them all, the courier leaves, then others pick them off the pile as they arrive in the office.

 

 

 

Two settings in the VTube config file control this:

Setting What it does Default
HEXAGON RDS Threaded Receiver Receives RDS data on a separate background thread, so RDS is never held up by VTube. 0 (off)
HEXAGON RDS Scanner Logging Writes a once-per-second performance line to SmartInspect for diagnosing scanner speed. 0 (off)

With the threaded receiver on, VTube can accept the arm's full stripe rate (about 150 stripes per second on current scanners). If a PC falls behind, VTube drops the oldest waiting data rather than accumulating a delay, so it never falls more than about 1 second behind.

Where the settings are by default

File: C:\Users\Public\Documents\VTube\config\vtube local settings.cfg
Section: [Measuring Device]

Milliseconds Between Stripes Idle - HEXAGON Arm=100
Milliseconds Between Stripes Scanning - HEXAGON Arm=10
HEXAGON RDS Scanner Logging=0
HEXAGON RDS Threaded Receiver=0
 

Important:

  • Close VTube before editing this file. VTube rewrites the file when it saves its configuration, so changes made while it's running will be overwritten.
  • If the two HEXAGON RDS lines aren't in the file yet, VTube adds them the next time it saves its configuration. You can also type them in yourself under [Measuring Device].
  • Changes take effect the next time VTube starts and connects to the arm.

 

Recommended settings for using the threaded receiver

Setting Recommended with the threaded receiver Notes
HEXAGON RDS Threaded Receiver 1 Turns on the background receiver.
Milliseconds Between Stripes Scanning - HEXAGON Arm 0 Accepts every stripe while scanning. With the threaded receiver, any value above 0 drops more stripes than expected.
Milliseconds Between Stripes Idle - HEXAGON Arm 100 (leave as is) Only applies when the scan button isn't pressed.
HEXAGON RDS Scanner Logging 0 normally, 1 for diagnosing Leave off in normal use.

 

Threaded Receiver is ON by Default in New Installs

In new VTube installations, the HEXAGON RDS Threaded Receiver is on (HEXAGON RDS Threaded Receiver=1), and Milliseconds Between Stripes Scanning - HEXAGON Arm is 0, so VTube accepts every stripe the arm sends.

When VTube is updated on an existing PC, the threaded receiver turns on automatically, but the existing Milliseconds Between Stripes Scanning value remains unchanged. Set that value to 0 manually in the configuration file to get the full LASER stripe rate.

 

 

How to enable the threaded receiver

  1. Close VTube.
  2. Open vtube local settings.cfg in Notepad.
  3. In the [Measuring Device] section, set:
HEXAGON RDS Threaded Receiver=1
Milliseconds Between Stripes Scanning - HEXAGON Arm=0
 
  1. Save the file and start VTube.
  2. Connect to the arm as usual.
  3. Check the result:
    • The arm connects normally.
    • The DRO updates while you move the arm.
    • Perform a simple scan, like with the Point Cloud scanning.
    • When scanning, see that the DRO updates much faster than when not scanning.
    • When you release the scan button, the scanning sound stops right away (there is not a noticeable delay).

How to turn it off (fallback to the legacy system)

If the arm won't connect, or anything behaves unacceptably:

  1. Close VTube.
  2. Set HEXAGON RDS Threaded Receiver=0.
  3. If the PC is older, also set Milliseconds Between Stripes Scanning - HEXAGON Arm=10.
  4. Start VTube. It now receives data exactly as it did in earlier builds.

Diagnosing scanner speed with logging

You'll need the SmartInspect Redistributable Console open on the same PC.  (Ask a technician for help if you want to use the SmartInspect logging.)

  1. Close VTube and set HEXAGON RDS Scanner Logging=1.
  2. Start SmartInspect, then start VTube and connect to the arm.
  3. Take a short scan. VTube logs one line per second, for example:
RDS stripes/sec arrived: 150  accepted: 150  | stripe ms total: 61.1 max: 0.6  event ms total: 28.0 max: 0.2  | positions: 150 ms total: 78.2  | max idle gap ms: 37.3  | button: 2  | receiver: threaded - queue max: 6  dropped stripes: 0  dropped positions: 0
 
  1. Set logging back to 0 when you're done.

What the values mean

Value Meaning What's normal
arrived Stripes RDS sent that second. About 150 while scanning. Much lower (about 15–60) when the button isn't pressed; that's normal RDS behavior.
accepted Stripes VTube kept that second. Same as arrived while scanning, if the Scanning setting is 0.
stripe ms total / max Time VTube spent handling stripes that second, and the longest single stripe. Total well under 1000; max around 1 ms or less.
event ms total / max The part of the stripe time spent in VTube's measuring logic. Smaller than stripe ms.
positions / ms total Arm position messages received that second, and the time spent handling them. About the same count as arrived.
max idle gap ms Longest pause between two messages that second. Under about 100 while scanning. Occasional values of a few hundred are normal VTube pauses.
button Scan button state. 2 = scanning, 0 = not pressed, 1 = accept or other button.
receiver Which receive mode is active. threaded or direct.
queue max Most messages waiting at once that second (stripes and positions together, roughly half each). Under about 20 while scanning. Up to about 100 during a short VTube pause.
dropped stripes / positions Old data thrown away because VTube fell more than about 1 second behind. 0 while scanning. Drops while the button isn't pressed are harmless.

Reading the results

What you see What it means What to do
accepted much lower than arrived while scanning The Scanning setting is filtering out stripes. Set Milliseconds Between Stripes Scanning - HEXAGON Arm=0.
arrived stays low (about 15–20) while the button shows 2 RDS or the scanner is sending slowly. Check the scanner's settings in the RDS software. This isn't a VTube issue.
stripe ms total plus positions ms total near 1000 This PC can't keep up with the full stripe rate. Keep the threaded receiver on. It limits the delay to about 1 second. Or raise the Scanning value (for example to 10) to accept fewer stripes.
dropped stripes above 0 while scanning, queue max near 300 VTube paused for more than about 1 second during a scan. Close other programs; check PC performance. If it happens often, report it with the log.
receiver: direct when you expected threaded The setting didn't take effect, or the receiver couldn't start. Check the config line and restart VTube. Look in the RDS connection window's event log for "RDS threaded receiver started" or an error.

Troubleshooting

  • The arm won't connect with the threaded receiver on: set HEXAGON RDS Threaded Receiver=0 and restart VTube. Send the RDS connection window's event log to support.
  • The scanning sound keeps playing after release: turn on logging and scan again. If stripe ms total plus positions ms total is near 1000, the PC is too slow for the full rate. Make sure the threaded receiver is on, or raise the Scanning value.
  • Settings keep reverting in the configuration file: VTube was running while you edited the file. Close VTube first, then edit.
scanner hexagon

Was this article helpful?

Yes
No
Give feedback about this article

Related Articles

  1. 01 HEXAGON 8 Series Control Pack Symbols - Arm Status Pictograms
  2. 02 HEXAGON Arm's Use This XYZ Coordinate System - Righthand with X Facing the User
  3. 03 HEXAGON RDS Manuals

Company

  • Product List
  • Free Software
  • Advanced Tubular Store

Resources

  • Clients
  • News
  • Store
  • Cart

Support

  • Contact
  • Support
  • Help Center
  • Privacy Policy

Follow Us

© 2026 Advanced Tubular Technologies. All rights reserved.

Knowledge Base Software powered by Helpjuice

Advanced Tubular Technologies
Expand