Comprehensive troubleshooting guide for FrameworX solutions, covering common issues, diagnostics, and recovery procedures.
Overview
This guide helps diagnose and resolve common issues in FrameworX 10.1. Problems are organized by category with symptoms, likely causes, and step-by-step solutions. Use the diagnostic tools and procedures described here to quickly identify and fix issues in your solution.
Quick Diagnostics Checklist
Initial Verification
- Services running (TWebServices, TServer)
- Network connectivity verified
- Firewall ports open (10108, 3101, solution-specific)
- License validated (including Runtime Clients)
- Guest user permissions configured
- Database connection established
- Client access working
Diagnostic Flow
1. Identify symptoms
2. Check logs (Event Viewer, TraceLogs)
3. Run diagnostics (/SaveLog:3)
4. Apply solution
5. Verify fix
6. Document resolution
Startup Problems
Runtime Won't Start
Symptoms:
- Service fails to start
- Error message on startup
- Runtime crashes immediately
- No response from server
Diagnostics:
cmd
# Check service status
sc query "FrameworX Runtime"
# Review Windows Event Log
eventvwr.msc
# Check startup log
type "C:\Users\Public\Documents\FrameworX\TraceLogs\*.log"
Common Causes and Solutions:
Cause | Solution |
---|---|
Database connection failure | Verify connection string, check SQL Server is running |
Port already in use | Change port or stop conflicting application |
Missing license | Install valid license file |
Corrupted solution | Restore from backup or repair database |
Insufficient permissions | Run as administrator or check service account |
Missing dependencies | Install .NET Framework and VC++ redistributables |
Detailed Resolution Steps:
- Check Database Connection
- Test connection string in Designer
- Verify SQL Server TCP/IP is enabled
- Check firewall rules for port 1433
- Test with SQL Management Studio
- Resolve Port Conflicts
cmd
netstat -ano | findstr :3101 tasklist | findstr [PID]
- Verify License
- Check Runtime → License tab
- Ensure license is active
- Verify expiration date
Designer Won't Open
Symptoms:
- Designer crashes on launch
- Blank screen or frozen interface
- Error loading solution
- Missing menus or toolbars
Resolution Matrix:
Error Message | Cause | Fix |
---|---|---|
"License not found" | No development license | Install development or combined license |
"Solution is locked" | Another user editing | Check lock owner, force unlock if needed |
"Out of memory" | Large solution | Increase memory, close other applications |
"Failed to load module" | Corrupted installation | Repair or reinstall FrameworX |
Connection Issues
Device Communication Failures
Symptoms:
- Tags showing bad quality
- No data from devices
- Intermittent communication
- High error counts
Diagnostic Steps:
- Check Device Status
- Designer → Devices → Runtime Status
- Review error counts and last response time
- Test Communication
cmd
ping [device-ip] telnet [device-ip] [port]
- Review Configuration
- Verify IP address and port
- Check device addressing
- Confirm protocol settings
Common Issues by Protocol:
Protocol | Common Issue | Solution |
---|---|---|
Modbus TCP | Wrong unit ID | Verify slave address (often 1 or 255) |
EtherNet/IP | Wrong slot | Check processor slot number |
OPC UA | Certificate error | Accept server certificate |
MQTT | Authentication | Verify username/password |
BACnet | Wrong device ID | Scan network for devices |
Web Client Connection Checklist
1. Verify Server Process
cmd
# Check if TServer.exe is running
tasklist | findstr TServer
# Verify port (default 3101)
netstat -aon | findstr :3101
2. Check Guest User Permissions
Navigate to Security → Permissions:
- Verify GUEST user has "CLIENT START" or unrestricted access
- Guest user should be in GUEST group by default
3. Verify License
Runtime → License tab:
- Check "Runtime Web Clients" ≥ 1
- Verify license is active
4. Test Local Connection First
http://localhost:3101/html5
http://127.0.0.1:3101/smartclient
5. Network Diagnostics
cmd
# Test connectivity
ping server-ip
# Test port
telnet server-ip 3101
# Trace route
tracert server-ip
# Check firewall
netsh advfirewall firewall show rule name=all | findstr 3101
Smart Client Issues
Microsoft Blocks Download
Symptom: "Not a verified Microsoft application" warning
Solution:
- Windows Settings → Apps & features
- Under "Choose where to get apps"
- Change from "Microsoft Store only" to "Anywhere"
FIPS Compliance Error
Solution:
- Run
gpedit.msc
as Administrator - Computer Configuration → Windows Settings → Security Settings → Local Policies → Security Options
- Set "System Cryptography: Use FIPS compliant algorithms" to Disabled
For Windows 10 Home (no gpedit.msc):
batch
@echo off
pushd "%~dp0"
dir /b C:\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >List.txt
dir /b C:\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientTools-Package~3*.mum >>List.txt
for /f %%i in ('findstr /i . List.txt 2^>nul') do dism /online /norestart /add-package:"C:\Windows\servicing\Packages\%%i"
pause
Performance Issues
High CPU Usage
Symptoms:
- CPU constantly above 80%
- System sluggish
- Client updates slow
- Delays in processing
Performance Analysis:
powershell
# Monitor process
Get-Process FrameworX* | Select Name, CPU, @{n='RAM(MB)';e={$_.WS/1MB}}
# Check thread count
Get-Process TServer | Select Threads, Handles
Common Causes:
Component | Cause | Solution |
---|---|---|
Scripts | Infinite loops | Review script logic, add delays |
Devices | Too fast polling | Increase scan intervals |
Expressions | Complex calculations | Simplify or use scripts |
Database | Inefficient queries | Optimize SQL, add indexes |
Graphics | Heavy animations | Reduce animation complexity |
Memory Leaks
Symptoms:
- Memory usage growing continuously
- Out of memory errors
- Performance degradation over time
Common Memory Issues:
Source | Problem | Fix |
---|---|---|
Scripts | Objects not disposed | Implement using/Dispose patterns |
Arrays | Growing without limit | Clear or limit array size |
Events | Handlers not removed | Unsubscribe from events |
Cache | No expiration | Implement cache timeout |
Logs | Unlimited growth | Set max log size |
Performance Baselines
Metric | Good | Warning | Critical |
---|---|---|---|
CPU Usage | <50% | 50-80% | >80% |
Memory Usage | <60% | 60-85% | >85% |
Disk Queue | <2 | 2-5 | >5 |
Network Usage | <50% | 50-80% | >80% |
Response Time | <100ms | 100-500ms | >500ms |
Data Issues
Tags Not Updating
Diagnostic Flow:
Check Device Communication
↓ OK
Check Point Mapping
↓ OK
Check Tag Configuration
↓ OK
Check Security Permissions
↓ OK
Check Runtime Status
Tag Diagnostics:
- Use Property Watch to monitor value, quality, timestamp
- Enable Tag Trace: Designer → Tools → Diagnostics → Tag Trace
Historian Data Gaps
Issue | Check | Solution |
---|---|---|
No data stored | Collection enabled? | Enable historian for tags |
Gaps in data | Buffer overflow? | Increase buffer size |
Wrong values | Compression settings? | Adjust deadband |
Slow queries | Missing indexes? | Optimize database |
Storage full | Retention policy? | Archive old data |
Alarm Issues
Alarm Flooding
Identify Chattering Alarms:
sql
SELECT Tag, COUNT(*) as Count
FROM AlarmHistory
WHERE Timestamp > DATEADD(hour, -1, GETDATE())
GROUP BY Tag
ORDER BY Count DESC
Remediation:
- Add deadband to analog alarms
- Increase delay timers
- Implement alarm shelving
- Filter nuisance alarms
Notification Issues
Email Troubleshooting:
- Test SMTP: Designer → Alarms → Notification → Test Email
- Verify:
- SMTP server address
- Port (25, 587, 465)
- Authentication credentials
- TLS/SSL settings
- From address validity
Error Code Reference
Runtime Errors (FX-1xxx)
Code | Message | Cause | Solution |
---|---|---|---|
FX-1001 | Database connection failed | Can't reach database | Check connection string |
FX-1002 | License expired | Time-limited license | Renew license |
FX-1003 | Port already in use | Port conflict | Change port or stop application |
FX-1004 | Insufficient memory | Out of RAM | Increase memory |
FX-1005 | Module load failed | Missing dependency | Reinstall |
Communication Errors (FX-2xxx)
Code | Message | Cause | Solution |
---|---|---|---|
FX-2001 | Device timeout | No response | Check network and device |
FX-2002 | Invalid response | Protocol mismatch | Verify protocol settings |
FX-2003 | Connection refused | Device rejecting | Check device config |
FX-2004 | Authentication failed | Wrong credentials | Verify username/password |
FX-2005 | Certificate error | Invalid cert | Update certificates |
Database Errors (FX-3xxx)
Code | Message | Cause | Solution |
---|---|---|---|
FX-3001 | Table not found | Missing table | Run database update |
FX-3002 | Constraint violation | Duplicate key | Check duplicates |
FX-3003 | Deadlock detected | Contention | Retry operation |
FX-3004 | Timeout expired | Slow query | Optimize or increase timeout |
FX-3005 | Disk full | No space | Free disk space |
Diagnostic Tools
Built-in Diagnostics
Runtime Information Monitor
- Access: Solution Center → Tools → Runtime Info
- Shows: Module status, memory, threads, connections
Communication Trace
- Access: Designer → Tools → Communication Trace
- Shows: Protocol messages, timing, errors
Log Analyzer
- Access: Solution Center → Tools → Log Analyzer
- Features: Filter by severity, search, export
Enable Verbose Logging
cmd
TStartup.exe /Solution:"Solution.tproj"
/SaveLog:3
/AutoRunDiagnostics:30
/LogDeviceWriteStartup
External Tools
powershell
# Check service status
Get-Service -Name "FrameworX*"
# Monitor process
Get-Process FrameworX* | Select CPU, WS, Handles
# Check network connections
Get-NetTCPConnection -LocalPort 3101
# Review event logs
Get-EventLog -LogName Application -Source FrameworX -Newest 50
Recovery Procedures
Database Recovery
Backup Restoration:
sql
RESTORE DATABASE FrameworX
FROM DISK = 'C:\Backup\FrameworX.bak'
WITH REPLACE
Database Repair:
sql
-- Check integrity
DBCC CHECKDB('FrameworX')
-- Repair minor issues
DBCC CHECKDB('FrameworX', REPAIR_REBUILD)
Solution Recovery
- Try opening in Designer read-only mode
- Export configuration to XML
- Create new solution
- Import XML configuration
- Test thoroughly
Emergency Recovery Mode
cmd
# Start in safe mode
FrameworX.exe /safe
# Reset to defaults
FrameworX.exe /reset
# Skip module loading
FrameworX.exe /nomodules
Preventive Maintenance
Daily Checks
- Review error logs
- Check device status
- Monitor performance
- Verify backups
Weekly Tasks
- Archive logs
- Review alarm statistics
- Check disk space
- Test redundancy
Monthly Maintenance
- Update software
- Optimize databases
- Review security logs
- Performance analysis
Getting Help
Before Contacting Support
- Document the issue (exact errors, steps to reproduce)
- Gather diagnostics (logs, system specs)
- Try standard remedies
Support Resources
- Documentation: docs.frameworkx.com
- Knowledge Base: Search error codes
- Community Forum: Share with other users
- Technical Support: Include diagnostic package
Child Pages
- SSL Configuration (Reference) - HTTPS/SSL setup and certificates
- Network Troubleshooting (Reference) - Port and firewall issues
- Performance Optimization (Reference) - Tuning and bottlenecks
- Error Code Reference (Reference) - Complete error code database