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
- ✅ Is the Gateway running?
- ✅ Is the SAMMI RTE running (
s2_sysinit)? - ✅ Is the peer (data source) running?
- ✅ Does the DDO have a Read Key configured?
- ✅ Does the DDO have a Logical Server configured?
- ✅ 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:
| Status | Meaning |
|---|---|
| Green | Connected to Gateway — data should flow |
| Red | Not 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:
| Property | Must Have |
|---|---|
| Logical Server | Name matching s2_config.dat (e.g., peer_fast) |
| Read Key | Variable name the peer publishes (e.g., temperature) |
| Data Type | Matching the peer’s data type (real, integer, string) |
| Num Values | 1 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 messages —
subscribemessages being sent - Live value messages —
liveValuemessages 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
| Cause | Solution |
|---|---|
| Peer not running | Start the peer process |
| Wrong logical server name | Match the name in s2_config.dat exactly |
| Wrong read key | Use the exact variable name the peer publishes |
| Gateway not running | Start the Gateway (npm exec tsx watch src/index.ts) |
| SAMMI RTE not running | Start with s2_sysinit |
| Data type mismatch | Match DDO data type to peer’s actual type |
| Num Values wrong | Set to the correct array size from the peer |