Comprehensive troubleshooting guide for FrameworX solutions, covering common issues, diagnostics, and recovery procedures.
Parent Page: Getting Started (Reference)
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.
1. Identify symptoms
2. Check logs (Event Viewer, TraceLogs)
3. Run diagnostics (/SaveLog:3)
4. Apply solution
5. Verify fix
6. Document resolution
Symptoms:
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:
cmd
netstat -ano | findstr :3101
tasklist | findstr [PID]
Symptoms:
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 |
Symptoms:
Diagnostic Steps:
cmd
ping [device-ip]
telnet [device-ip] [port]
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 |
cmd
# Check if TServer.exe is running
tasklist | findstr TServer
# Verify port (default 3101)
netstat -aon | findstr :3101
Navigate to Security → Permissions:
Runtime → License tab:
http://localhost:3101/html5
http://127.0.0.1:3101/smartclient
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
Symptom: "Not a verified Microsoft application" warning
Solution:
Solution:
gpedit.msc
as AdministratorFor 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
Symptoms:
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 |
Symptoms:
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 |
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 |
Diagnostic Flow:
Check Device Communication
↓ OK
Check Point Mapping
↓ OK
Check Tag Configuration
↓ OK
Check Security Permissions
↓ OK
Check Runtime Status
Tag Diagnostics:
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 |
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:
Email Troubleshooting:
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 |
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 |
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 |
Runtime Information Monitor
Communication Trace
Log Analyzer
cmd
TStartup.exe /Solution:"Solution.tproj"
/SaveLog:3
/AutoRunDiagnostics:30
/LogDeviceWriteStartup
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
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)
cmd
# Start in safe mode
FrameworX.exe /safe
# Reset to defaults
FrameworX.exe /reset
# Skip module loading
FrameworX.exe /nomodules