Connect to the AS/RS PLC OPC-UA server using the asyncua Python library or equivalent; authenticate with X.509 certificates issued by the facility's PKI; browse the address space to discover crane and rack node IDs
Subscribe to data change notifications on the crane status node (e.g. ns=2;s=Crane.Status) and aisle-level fault nodes; set a publishing interval of 500 ms to balance latency against network load
Write a retrieval task to the crane command node by encoding the bin address (aisle, bay, level) as a structured OPC-UA NodeId or string variant; confirm write success by reading back the command acknowledgment node within 2 seconds
Monitor the mission status node for transitions through queued, executing, and completed states; on completion read the actual retrieval timestamp and tote ID from the result node
On fault signals, read the fault code node and map to human-readable descriptions using the AS/RS vendor's fault code table; emit an alert and place the bin address on a hold queue pending maintenance clearance
Throttle concurrent crane commands to the AS/RS-rated throughput (typically 50-120 cycles/hour for a single crane); implement a command queue in the WCS that respects this ceiling
Known gotchas
OPC-UA secure channel sessions time out after an inactivity period (default often 60 seconds); if your WCS goes idle during a slow period and does not send keepalive ActivateSession calls, the next command write will fail with BadSessionClosed
AS/RS cranes reject commands issued for bin addresses that are flagged as occupied by a different tote or marked as a blocked location; always query location availability before issuing a retrieval command
Some AS/RS vendors use a proprietary extension of the OPC-UA information model and require vendor-specific companion specification namespace URIs; generic OPC-UA browsers may not resolve node references correctly without importing the companion nodeset XML
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp