User Tools

Site Tools


Tams RailCom RC-Link


Component Version Remark
RC-Link Firmware 1.5
Rocrail 5699+ Older revisions do not support the RCD-8.
OpenDCC Atmega32, firmware 0.23, Xpressnet RailCom cutouts and CV read on the main.

Communication Setup

Select rclink in the Rocrail Controller setup.

  • baudrate: 19200
  • handshake: CTS

The Device is Operating System dependent.

Test results

Function RCD-1 RCD-8
RailCom detection Yes Yes, but too slow. 1)
Current detection No Yes 2)
Multiple RailCom decoders in one section Address zero is reported. No report.
POM CV read Yes Yes

POM CV Read Reporting

If the used command station supports read CV on the main, like OpenDCC, the CV value is reported by the RC-Link:

20100220.140925.442 r9999c rclinkre ORcLink  0348 detector 1 reported CV value 93

Those values will be shown in the Rocview programming dialog.


  • Limitation of 24 detectors per RC-Link. (3 x RCD-8…)
  • Extra bus wiring; Max. length is not known. (RS485)
  • If no RailCom addresses are detected, or only seldom, the booster wires should be swapped on the RCD-x unit.
  • The CV POM read does not report the CV number but only the value so the host program must save the number and hopes the read match to it.


Mac OS X

The FTDI device driver must be installed to be able to use the RC-Link under OS X.
On the MacBook, running OS X 10.6, the device name is:



The RC-Link is bind in the system without special device drivers and is most likely named as:


Check the kernel messages for the right device name.


usb 2-2: New USB device found, idVendor=0403, idProduct=6001
usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 2-2: Product: FT232R USB UART
usb 2-2: Manufacturer: FTDI
usb 2-2: SerialNumber: A10048Md
usb 2-2: FTDI USB Serial Device converter now attached to ttyUSB0
usbcore: registered new interface driver ftdi_sio


The device driver can be downloaded here if the used Windows version do not provide direct support:

Ident Sensor Setup

:!: Before Rocrail can handle loco identification it is a prerequisite that this is set on the general tab of the loco properties.


After setting up the connection to RC-Link the following messages will confirm a valid configuration:

20130809.082156.222 r9999I rclinkre ORcLink  0336 SN=163 Software=1.5 Hardware=1.0
20130809.082156.882 r9999c rclinkre ORcLink  0321 detector [01] reported address [02408] state [on ] direction [rev]
20130809.082157.659 r9999c rclinkre ORcLink  0321 detector [02] reported address [00000] state [off] direction [fwd]
20130809.082157.659 r9999c rclinkre ORcLink  0321 detector [03] reported address [00000] state [off] direction [fwd]

Address and Placing Reporting

If all components are connected according the manufacturer manuals the reporting of decoder addresses will take place as soon a loco runs in a detected track section:

20100219.090833.065 r9999c rclinkre ORcLink  0312 detector [1] reported address [4958] state [on] direction [left]
20100219.090845.826 r9999c rclinkre ORcLink  0312 detector [1] reported address [0] state [off] direction [right]

RCD-1 reported the Lenz Köf with address 4958 in block b1:

The direction represents the real placing of the loco on the tracks. Running through a reversing loop will swap this flag.
This direction flag is only displayed but not processed to determine the placing to avoid conflicts with the software placing flag in Rocrail.


<plan rocrailversion="1.4.999-1321">
  <zlevel title="railcom" z="0"/>
    <fb id="rcd1" x="3" y="2" z="0" state="true" prev_id="rcd1" desc="" show="true" road="false" curve="false" blockid="" routeids="" ori="west" iid="" bus="4" addr="1" activelow="false" ctciid="" ctcaddr="0" ctcport="0" ctcgate="0" ctcasswitch="false" identifier="4958"/>
    <bk id="b1" x="3" y="3" z="0" reserved="false" entering="false" state="open" prev_id="b1" desc="" len="0" electrified="false" station="false" gomanual="true" acceptghost="false" terminalstation="false" wait="true" road="false" allowchgdir="true" smallsymbol="false" show="true" commuter="no" ttid="" signal="" wsignal="" signalR="" wsignalR="" speed="cruise" exitspeed="cruise" type="none" incline="0" waitmode="random" minwaittime="1" maxwaittime="30" waittime="10" mvscale="87" mvdistance="0" mvmph="false" evttimer="0" iid="" addr="0" port="0" td="false" typeperm="all">
      <fbevent id="rcd1" action="ident" from="all" byroute="all" endpuls="false"/>
    <lc id="Köf" identifier="4958" addr="4958" iid="" prot="L" spcnt="128" fncnt="12" V_min="10" V_mid="50" V_max="100" V_Rmin="0" V_Rmid="0" V_Rmax="0" V_step="0" mass="0" V_mode="percent" placing="true" regulated="true" restorefx="true" dirpause="0" blockwaittime="10" evttimer="0" priority="10" usescheduletime="false" commuter="false" trysamedir="false" tryoppositedir="false" forcesamedir="false" shortin="false" inatpre2in="false" usemanualroutes="false" engine="diesel" cargo="none" secondnextblock="false" consist_lightsoff="false" consist="" V="0" throttleid=""/>

If the block is free, or the occupying loco is idle, the matching loco with the reported Identifier is set in this block:

20100220.162810.365 r9999c rclinkre ORcLink  0318 detector [1] reported address [3] state [on] direction [right]
20100220.162810.366 r9999W rclinkre OBlock   0312 locId not set in block b1
20100220.162810.366 r9999I rclinkre OLoc     1695 cmd "block" for Talent.
20100220.162810.366 r9999I rclinkre OBlock   1510 b1 locid=Talent
20100220.162810.366 r9999I rclinkre OBlock   1531 b1 state=open
20100220.162810.366 r9999I rclinkre OBlock   1462 init block b1

In this example the Talent with Identifier "3" is set in block "b1".

Test environment


Not usable for auto mode.
Multiple repeated reports: One for the RailCom address and one for the occupancy; Rocrail filters it out.
tams-railcom-en.txt · Last modified: 2018/11/12 08:56 by