DDO Shows No Data

When a DDO displays its default value (0, empty, or no needle movement) instead of live data, follow these steps to diagnose the issue.

Quick Checklist

  1. ✅ Is the Gateway running?
  2. ✅ Is the SAMMI RTE running (s2_sysinit)?
  3. ✅ Is the peer (data source) running?
  4. ✅ Does the DDO have a Read Key configured?
  5. ✅ Does the DDO have a Logical Server configured?
  6. ✅ Does the logical server name match s2_config.dat?

Diagnosis Steps

Step 1: Check Gateway Connection

Look at the connection indicator in RuntimeWeb’s menu bar:

StatusMeaning
GreenConnected to Gateway — data should flow
RedNot connected — no data will arrive

If disconnected, see Gateway Connection Issues.

Step 2: Verify the Peer is Running

The peer must be running and registered with SAMMI:

# Check if peer_fast is running
ps aux | grep peer_fast

# Verify RPC registration
rpcinfo -p localhost | grep 20000010

If the peer isn’t running, start it:

cd $SAMMI/contrib/peer_fast
./peer_fast -r 0x20000010 -E 1 &

Step 3: Check DDO Data Bindings

In StudioWeb, select the DDO and verify the HDA properties:

PropertyMust Have
Logical ServerName matching s2_config.dat (e.g., peer_fast)
Read KeyVariable name the peer publishes (e.g., temperature)
Data TypeMatching the peer’s data type (real, integer, string)
Num Values1 for scalar, or the peer’s array size

Step 4: Check s2_config.dat

The logical server name in the DDO must match an entry in SAMMI’s configuration:

# In $SAMMI/data/s2_config.dat:
logical_server  peer_fast   0x20000010    1   localhost   40  20

Common mismatch: DDO says peer_fast but config says Peer_Fast (case matters).

Step 5: Check Browser Console

Open browser DevTools (F12 → Console tab) and look for:

  • WebSocket errors — connection refused, timeout
  • Subscription messagessubscribe messages being sent
  • Live value messagesliveValue messages being received

If you see subscriptions going out but no values coming back, the issue is on the SAMMI/peer side.

Step 6: Check DFD Number

For converted ASC pages, verify the DDO’s dfdNumber property matches SAMMI’s internal numbering. A mismatch causes values to route to the wrong DDO.

Common Causes

CauseSolution
Peer not runningStart the peer process
Wrong logical server nameMatch the name in s2_config.dat exactly
Wrong read keyUse the exact variable name the peer publishes
Gateway not runningStart the Gateway (npm exec tsx watch src/index.ts)
SAMMI RTE not runningStart with s2_sysinit
Data type mismatchMatch DDO data type to peer’s actual type
Num Values wrongSet to the correct array size from the peer

See Also