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.
Table of Contents | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
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
Page Tree | ||
---|---|---|
|