OPC UA Client
The TwinEdge OPC UA Client is a free, cross-platform desktop application for browsing, testing, and debugging OPC UA servers.
Download
| Platform | Download | Requirements |
|---|---|---|
| Windows | Download (.exe) | Windows 10+ |
| macOS | Download (.dmg) | macOS 11+ |
Features
- Browse OPC UA servers: Navigate namespace hierarchies
- Read/Write values: Test data access
- Monitor subscriptions: Real-time value updates
- Certificate management: Handle security certificates
- History access: Query historical data
- Method calls: Execute server methods
- Export data: Save data to CSV/JSON
Getting Started
Installation
Windows:
- Download the installer
- Run the .exe file
- Follow installation wizard
- Launch from Start Menu
macOS:
- Download the .dmg file
- Open and drag to Applications
- On first launch, right-click → Open (for Gatekeeper)
Linux:
- Download the AppImage
- Make executable:
chmod +x TwinEdge-OPC-UA-Client.AppImage - Run:
./TwinEdge-OPC-UA-Client.AppImage
Connecting to a Server
- Click New Connection
- Enter server details:
- Name: Friendly name
- Endpoint URL:
opc.tcp://192.168.1.100:4840
- Select security mode:
- None: No encryption (testing only)
- Sign: Message signing
- SignAndEncrypt: Full security (recommended)
- Choose authentication:
- Anonymous: No credentials
- Username/Password: Enter credentials
- Certificate: Select certificate file
- Click Connect
Browsing the Namespace
Node Tree
The left panel shows the OPC UA namespace tree:
Root
├── Objects
│ ├── Server
│ │ ├── ServerStatus
│ │ └── ServerCapabilities
│ └── DeviceSet
│ └── Pump_001
│ ├── Temperature
│ ├── Pressure
│ └── FlowRate
├── Types
└── Views
Node Details
Click a node to see:
- Node ID: Unique identifier
- Browse Name: Display name
- Node Class: Variable, Object, Method, etc.
- Data Type: For variables
- Value: Current value (if readable)
- Attributes: All OPC UA attributes
Searching Nodes
Use the search bar to find nodes:
- Search by browse name
- Search by node ID
- Filter by node class
Reading and Writing Values
Reading Values
- Navigate to a Variable node
- Click Read to get current value
- View in the Details panel
Or right-click → Read Value
Writing Values
- Navigate to a Variable node
- Click Write
- Enter new value in dialog
- Click Write to send
Bulk Operations
Read/write multiple values:
- Select multiple nodes (Ctrl+Click)
- Right-click → Read Selected
- View results in table
Subscriptions
Creating a Subscription
Monitor values in real-time:
- Navigate to variables to monitor
- Right-click → Add to Subscription
- Configure subscription:
- Publishing Interval: Update frequency (ms)
- Sampling Interval: Server sampling rate
- Queue Size: Queued values per notification
Subscription Panel
The subscription panel shows:
- Current value
- Value timestamp
- Status code
- Update indicator
Exporting Subscription Data
- Start subscription
- Let data collect
- Click Export
- Choose format (CSV/JSON)
- Save file
Certificate Management
Generating Certificates
Create a new client certificate:
- Go to Tools → Certificates
- Click Generate New
- Fill in details:
- Common Name: Your identifier
- Organization: Company name
- Validity: 1-5 years
- Click Generate
Trusting Server Certificates
When connecting to a secured server:
- If certificate is untrusted, you'll see a prompt
- Review certificate details
- Click Trust to add to trusted store
- Or Trust Once for single session
Managing Certificate Store
View and manage certificates:
- Go to Tools → Certificates
- Tabs:
- Own: Your client certificates
- Trusted: Trusted server certificates
- Rejected: Previously rejected certificates
Historical Data
Reading History
Query historical values:
- Navigate to a variable with history
- Right-click → Read History
- Configure query:
- Start Time: Begin timestamp
- End Time: End timestamp
- Max Values: Limit results
- Click Read
- View results in table
Charting Historical Data
- Read historical data
- Click Chart icon
- View trend chart
- Adjust time range
- Export as image
Method Calls
Calling Methods
Execute OPC UA methods:
- Navigate to a Method node
- Right-click → Call Method
- Enter input arguments
- Click Call
- View output arguments
Method Details
View method signature:
- Input arguments (name, type, description)
- Output arguments
- Parent object
Data Export
Export Options
Export data in various formats:
| Format | Use Case |
|---|---|
| CSV | Spreadsheet analysis |
| JSON | Programmatic processing |
| XML | OPC UA NodeSet format |
Exporting Node Data
- Select nodes to export
- Right-click → Export
- Choose format
- Select data to include:
- Node metadata
- Current values
- Subscription history
- Save file
Discovery
Discovering Servers
Find OPC UA servers on the network:
- Go to Discovery → Find Servers
- Enter discovery URL or use network scan
- View found servers
- Double-click to connect
Server Endpoints
View available endpoints:
- Connect with discovery URL
- Go to Connection → Get Endpoints
- View security options
- Select and connect
Settings
Connection Settings
- Timeout: Connection timeout (seconds)
- Session Timeout: Requested session timeout
- Max References: Browse limit per call
- Auto Reconnect: Reconnect on disconnect
Display Settings
- Theme: Light/Dark mode
- Date Format: Timestamp display
- Decimal Places: Value precision
- Show Status Bar: Toggle status bar
Certificate Settings
- Certificate Store Path: Location of certificates
- Trust All Certificates: Disable verification (testing only)
- Auto-Generate Certificate: Create on first run
Keyboard Shortcuts
| Shortcut | Action |
|---|---|
Ctrl+N | New connection |
Ctrl+R | Read selected value |
Ctrl+W | Write value |
Ctrl+S | Add to subscription |
F5 | Refresh tree |
Ctrl+F | Search nodes |
Ctrl+E | Export |
Troubleshooting
Connection Issues
"BadTimeout" Error:
- Increase connection timeout
- Check network connectivity
- Verify server is running
"BadCertificateUntrusted":
- Trust the server certificate
- Check certificate validity
- Verify certificate chain
"BadUserAccessDenied":
- Check username/password
- Verify user permissions
- Check security policy
Performance Issues
Slow Browse:
- Reduce max references per call
- Collapse unused tree branches
- Filter by node class
High Memory:
- Reduce subscription queue size
- Clear old subscription data
- Limit historical queries
Support
- Documentation: You're reading it!
- Community: discord.gg/twinedge
- Issues: github.com/twinedge/opcua-client
- Email: tools@twinedgeai.com
License
The TwinEdge OPC UA Client is free for commercial and personal use. See LICENSE.txt for details.
Next Steps
- OPC UA WebClient - Browser-based OPC UA access
- Simulation Server - Test with simulated data