Skip to content

Gotchas

Use this page only for library-specific caveats.

Shared SLMP setup, profile, point-limit, and end-code symptoms live in the shared SLMP Troubleshooting & Codes page. For profile limits and device availability, use the shared SLMP Profile Parameters page.

Current library-specific caveats

Area Symptom Guidance
IPv6 endpoint The connection node rejects an IPv6 literal, or a hostname has no usable address. TCP and UDP are IPv4-only. Use an IPv4 literal or a hostname with an IPv4 result; connections never select or fall back to IPv6.
Editor/runtime status slmp-read produces no useful payload. Open the slmp-connection config node, confirm the endpoint, and check the node status/debug sidebar. Use the shared end-code page when the PLC returns an SLMP end code.
Starter workflow The first imported flow produces many failed entries. Import slmp-basic-read-write.json first and verify a simple D300:U read before using the matrix flow. Unsupported profile/device combinations follow the selected error route rather than becoming successful skipped messages.
Remote-password disconnect Disconnect reports an error even though the local socket is closed. The final PLC lock failed or its result is unknown. Treat the local client as closed, but do not assume the PLC is locked; verify configuration before reconnecting.
Outcome unknown A write fails with SLMP_OPERATION_OUTCOME_UNKNOWN. Bytes may have reached the PLC before timeout, close, or transport failure. Do not retry automatically; verify PLC state first and inspect reason and cause.
Named read rejected before send A mixed or large readNamed plan fails without PLC traffic. One call must fit exactly one Random Read after counted/string/bit expansion. Use explicit typed/direct helpers or split the operation in application code. Long-timer Direct routes are never selected implicitly.
Dynamic route rejected A route works as literal editor configuration but fails when supplied from msg, flow, global, or environment context. Dynamic route objects require primitive integer Numbers in all four fields. The editor converts only saved connection values and literal Route JSON.
Device unit rejected :BIT, a random bit entry, or a bit block rejects a word device, or a numeric/string dtype rejects a bit device. Semantic bit operations require bit devices and semantic numeric/string operations require word devices. Use .0 through .F for a word bit; explicit low-level packed word access is separate.