Skip to content

Operations Guide

Snupai edited this page May 28, 2026 · 4 revisions

Operations Guide

Daily Operator Flow

  1. Start the application and confirm robot connection status.
  2. Import or sync .rob plans:
    • Automatic via configured USB path.
    • Manual via the Settings import action.
  3. Load a pallet plan in the main view.
  4. Verify package height, weight, start layer, clamp state, label invert, and scanner overrides.
  5. Confirm the XML-RPC server is running.
  6. Let the robot poll get_status() or UR_GetStatus() until ready == true.
  7. Run production and monitor scanner/safety indicators.
  8. Stop the RPC server when done.
flowchart TD
    Start["Start Application"] --> Check["Check Robot Connection"]
    Check --> Import["Import or Sync .rob Plans"]
    Import --> Load["Load Pallet Plan"]
    Load --> Verify["Verify Runtime Settings"]
    Verify --> Serve["Start XML-RPC Server"]
    Serve --> Ready["Robot Polls get_status"]
    Ready --> Run["Run Production and Monitor Status"]
    Run --> Stop["Stop RPC Server"]
Loading

Runtime Files

File or directory Purpose
settings.json Runtime configuration.
paletten.db SQLite palette database, unless database.path points elsewhere.
logs/ Per-launch application and server log files.
Configured USB path Source for .rob imports and offline update packages.

XML-RPC Health Check

get_status() and UR_GetStatus() return a struct containing ready, file, and message.

ready == false
message == "XML-RPC listening; palette data not ready"

means the HTTP/XML-RPC socket is reachable, but no palette data has been loaded. Operational methods return an XML-RPC fault with code 503 until readiness is true.

Robot Dashboard Communication

The application connects to the Universal Robots Dashboard Server at robot.ip:robot.dashboard_port, default 192.168.0.1:29999.

Application function Dashboard command
Robot mode robotmode
Safety mode/status safetymode
Program state programState
Polyscope version PolyscopeVersion
Serial number get serial number
Loaded program get loaded program
Load program load <path>
Play play
Pause pause
Stop stop
Power on/off power on, power off
Brake release brake release
Safety recovery close safety popup, unlock protective stop, restart safety

Dashboard connection failure during startup is non-fatal. The HMI can still run and XML-RPC can still serve loaded palette data.

Logging

Channel File name
Application multipack_parser_<yyyymmdd_HHMMSS>.log
XML-RPC/server server_<yyyymmdd_HHMMSS>.log

Log files are UTF-8. Each channel rotates at 5 MB with up to 5 backups for the current launch. If logs/ cannot be used, logging falls back to the user home directory.

--verbose enables debug-level application logging for the current run. The server log channel always records debug-level server entries.

UR20-Specific Behavior

  • Active palette and palette-switch XML-RPC methods are available.
  • Scanner override values can be set in the HMI and read by XML-RPC.
  • The UR_SetZwischenLageLegen method exposes intermediate-layer state.
  • Palette methods return sentinel values such as 404, 503, 0, or 1; see XML-RPC API.

Safety and Audio

  • Safety monitor checks robot safety state periodically.
  • Reduced mode warning repeats at a rate-limited interval.
  • Non-normal safety states trigger alarm behavior.
  • Scanner warning playback is rate-limited to avoid rapid repeats.
flowchart TD
    Poll["Safety Poll"] --> Unknown{"Status Unknown"}
    Unknown -- "Yes" --> Reset["Reset Alarm and Warning State"]
    Unknown -- "No" --> Reduced{"Reduced Mode"}
    Reduced -- "Yes" --> Warn["Play Warning"]
    Reduced -- "No" --> Normal{"Normal State"}
    Normal -- "Yes" --> Clear["Clear Alarm"]
    Normal -- "No" --> Alarm["Play Alarm and Raise Alert"]
Loading

<- Previous: Getting Started | Home | Next: Configuration ->

Clone this wiki locally