Overview
KMC Controls' BAC-5000 series controllers and FlexStat thermostats represent industry-standard equipment found in thousands of small to mid-sized commercial buildings. The BAC-5051, BAC-5801, and BAC-5831 are high-performance BACnet controllers, while FlexStat offers flexible setpoint scheduling and local override capability. This reference covers LED diagnostics, TotalControl BACnet errors, thermostat fault codes, firmware update issues, and the nuanced priority and override schemes that make KMC systems behave differently than competitors' platforms. Understanding KMC-specific error responses and override conflict resolution is essential for field work.
BAC-5000 Series Controller LED Diagnostics
KMC BAC-5000 controllers (5051, 5801, 5831) use a simple but informative three-LED front panel: Power, Status, and Network/BACnet.
LED Reference Table
| LED | Color | Status | Meaning | Action |
|---|
| Power | Green | Solid ON | 24V DC supply stable (12-28V acceptable range) | Normal operation |
| Power | Green | Flashing (1/sec) | 24V DC power low or unstable | Check power supply transformer. Measure 24V with multimeter (minimum 20V). If sagging, replace transformer or investigate short circuit. |
| Power | Off | Dark | No 24V supply detected | Immediate action required. Check circuit breaker, wiring, and power terminals. Verify transformer is powered and outputting. |
| Status | Green | Solid ON | Controller running normally, no faults | Normal state |
| Status | Green | Flashing (1/sec) | Warning condition (non-critical fault) | Controller is operational but a minor issue exists. Review controller logs if accessible. Issue may self-resolve. |
| Status | Red | Solid ON | Critical fault detected and stored in memory | Fault persists until cleared or resolved. Access controller via TotalControl software or local commissioning tool to view specific fault code. |
| Status | Red | Flashing (fast, >2/sec) | Watchdog timer activated; CPU restart in progress | Do not power-cycle. Wait for reboot to complete (30-60 sec). If LED remains in this state >2 minutes, power cycle once. If fault recurs, firmware may be corrupted. |
| BACnet | Green | Solid ON | BACnet communication enabled and operational | Normal |
| BACnet | Green | Flashing (1/sec) | BACnet polling/communication in progress | Normal during active polling and write operations |
| BACnet | Yellow | Solid ON | BACnet configured but no recent communication | Controller is ready for BACnet but no devices are polling it, or comms are very sparse. Not necessarily a fault; may be expected if controller is a non-critical node. |
| BACnet | Red | Off (dark) | BACnet communication disabled or failed | Check BACnet configuration. If BACnet/IP, verify network connectivity (Ethernet cable, switch). If MS/TP, check serial connection and bus termination. |
Interpreting LED Fault Codes (If Display Equipped)
Some BAC-5000 models include a small LCD or 7-segment display. If available, LED codes are displayed as numerical values:
| LED Code | Fault Type | Root Cause |
|---|
| 01 | Watchdog Timeout | CPU hung; restart initiated |
| 02 | Stack Overflow | Application too complex or recursive logic |
| 03 | Low Voltage | 24V supply below 20V threshold |
| 05 | I/O Module Offline | Remote module not responding |
| 08 | Temperature Warning | Processor temperature high (>70°C typical) |
| 10 | BACnet Configuration Error | Device ID conflict or bad configuration |
| 20 | Memory Allocation Error | Heap exhausted; too many objects in application |
BAC-5000 Controller Error Codes and Faults
Startup and Initialization Errors
| Error | LED Indicator | Cause | Field Fix |
|---|
| "Watchdog Timeout" | Red Status flashing fast | CPU did not complete scan cycle | Power-cycle controller once. If recurs within 1 minute, simplify application or reload firmware. Multiple recurrences = likely firmware corruption or hardware fault. |
| "EEPROM Checksum Fail" | Red Status solid | Configuration storage corrupted | Use KMC commissioning tool to restore from backup configuration file. If no backup, may need to reconfigure controller from scratch. |
| "Invalid Configuration" | Red Status solid or flashing | Application file corrupted or incompatible | Reload application via KMC TotalControl or commissioning tool. Verify file is correct version for this controller model (e.g., BAC-5051 vs BAC-5831). |
| "Power Supply Low" | Green Power flashing | 24V supply <20V sustained | Check power transformer. Measure voltage at controller terminals. If 20-24V but flashing, supply is unstable (may be oscillating). Investigate load issues or replace transformer. |
| "Processor Temperature High" | Amber Status flashing | Controller mounted in hot or enclosed space | Ensure minimum 2" clearance on all sides. Check if air vents are blocked. Install auxiliary cooling fan if in high-temperature environment (>40°C ambient). |
I/O Module and Hardware Faults
KMC controllers connect to distributed I/O modules (BAC-I, BAC-O, BAC-T types) via serial RS-485 or Ethernet:
| Fault Type | Controller Indication | Root Cause | Troubleshooting |
|---|
| I/O Module Offline | Error in TotalControl + Red LED on module (if equipped) | Module powered off, RS-485 bus offline, or address conflict | Check module power supply (LED should glow). Verify RS-485 twisted-pair cable is connected at both ends. Check screw terminals are tight. Verify module address matches controller configuration. |
| RS-485 Bus Short | Multiple modules intermittently offline | Cable shorted or termination damaged | Measure resistance across RS-485 pair with multimeter (should be 60Ω at mid-span when powered, or use Ohms mode when powered off). Test cable continuity. If shorted, replace cable. |
| Address Conflict | Module appears online but points stuck or unreliable | Two modules configured with same RS-485 address | Use KMC tool to scan RS-485 bus and list all addresses. Reconfigure one module with unique address. Restart controller and modules. |
| Power Supply Failure | I/O module LED off; all points on module show "Unknown" | Module 24V supply failed | Check if 24V is supplied to module (measure at terminal block). If 0V, check source (is it jumpered to controller supply?). Verify breaker is not tripped. Replace module PSU if necessary. |
| Onboard I/O Slot Error | Specific analog input/output not responding | I/O module not fully seated in controller slot | Power off controller. Reseat module in slot; ensure latch is engaged. Power on. If persists, try swapping module with spare or different controller. |
BACnet Communication and Integration Faults
| Error | Cause | Field Solution |
|---|
| "Cannot locate BACnet Device ID XXXX" | Device not responding or ID mismatch | Verify correct Device ID in TotalControl. Ping device IP (if IP-based). Check if device is powered. Restart device. Verify BACnet/IP port is enabled on device. |
| "BACnet Authentication Failed" | Security enabled but credentials incorrect | Some KMC controllers have security tokens. Verify correct token/key in TotalControl driver settings. Check if controller security is locked (may need factory key). |
| "Duplicate BACnet Device ID" | Two controllers configured with same Device ID on network | Use KMC tools to rescan network and identify duplicate. Reconfigure one controller with new Device ID. Restart controllers. |
| "BACnet Router Offline" | Cannot reach devices on remote segment | KMC router or gateway powered off or disconnected. Verify power and network connectivity. Restart if needed. Check BACnet BBMD configuration if multi-segment setup. |
| "MS/TP Segment Failure" | All MS/TP devices on that segment unreachable | Check RS-485 termination (120Ω at each end). Verify controller's MS/TP port is enabled. Check serial cable. Restart controller. |
KMC-Specific Override and Priority Conflicts
KMC systems use a strict priority scheme (0-15, with 16 = manual override). Override and priority conflicts are among the most common "device not responding" scenarios:
| Problem | Symptom | Root Cause | Resolution |
|---|
| Output locked at higher priority | Command sent but setpoint reverts immediately | Output is at higher priority level (e.g., Priority 6 locked) than client command (Priority 12) | Lower the lock priority or clear the lock. In TotalControl or at controller keypad (if equipped), locate the point and release override. BACnet write requires matching or higher priority. |
| Manual override enabled | Local keypad or button command ignored | Point is under manual override at controller | Access controller locally (if accessible) or via TotalControl and clear manual override for that point. Some models have override lockout timer (may need to wait). |
| Occupied/Unoccupied Mode Conflict | Thermostat not responding to network command | FlexStat in Occupied mode with local override, or schedule locked | Verify FlexStat is in correct mode (Occupied = network control; Unoccupied = local control). Check if schedule is locked. Clear override via FlexStat keypad. |
| Virtual Output Locked | Command to virtual point (e.g., setpoint) ignored | Software lock or logic preventing changes | In TotalControl application logic, identify if point is constrained or locked. Remove constraint or modify logic. Redownload to controller. |
TotalControl BACnet Errors
TotalControl is KMC's cloud-based and on-premises supervisory software. Errors here are workstation-side and affect monitoring/control, not field controller operation per se.
TotalControl Server and Database Errors
| Error Message | Location | Cause | Fix |
|---|
| "Database Connection Failed: SQL Server unreachable" | TotalControl server startup or event log | SQL Server service not running or network unreachable | Check if SQL Server service is running (Windows Services). Verify firewall allows port 1433 (SQL Server). Restart SQL Server. Verify database credentials in TotalControl config. |
| "Insufficient Disk Space: <500MB remaining on C:" | TotalControl server dashboard | Hard disk nearly full | Delete old archives, logs, or temporary files. Move database backups to external storage. Increase disk partition size if possible. |
| "License Expired: TotalControl license not valid" | TotalControl login screen or event log | License key expired or invalid | Contact KMC for license renewal. Obtain new activation key. Re-license in TotalControl Administration panel. |
| "Backup Creation Failed" | Maintenance Log | Backup drive full or not accessible | Verify backup destination exists and has space. Check if backup drive is mapped (if network drive). Manually trigger backup and verify completion. |
TotalControl Driver and Controller Communication Errors
| Error | Symptom | Root Cause | Solution |
|---|
| "Driver Failed to Connect to Controller" | No points visible; all show "Unknown" | Network path blocked or controller offline | Ping controller IP from TotalControl server. Check firewall rules (port 47808 for BACnet/IP). Verify controller Device ID matches TotalControl configuration. Restart TotalControl driver. |
| "Controller Synchronization Failed" | Points exist but don't update in real-time | Driver connected but COV (Change of Value) subscription not working | In controller config, ensure COV threshold is set (not infinite or disabled). Restart driver. Check controller event log for subscription errors. |
| "Excessive Polling: 50+ simultaneous reads from controller" | TotalControl slow or unresponsive; network congested | Too many clients polling same controller, or misconfigured polling interval | Reduce polling frequency in TotalControl settings (increase interval from e.g., 5 sec to 15 sec). Limit number of simultaneously displayed points. Consider separating workload across multiple controllers. |
| "BACnet Write Rejected: Access Denied" | Cannot change setpoint or output via TotalControl | Controller restricted write access to certain priority levels | Verify TotalControl write priority matches controller's allowed level. Some controllers restrict remote writes to specific priorities. Check controller override settings. |
FlexStat Thermostat Fault Codes
FlexStat is KMC's programmable thermostat with local override and network connectivity. Faults on FlexStat appear as codes on its LED display or in KMC control system logs.
FlexStat LED and Display Indicators
| Display/LED | State | Meaning | Action |
|---|
| Display Lit | Normal brightness | Power and communication normal | Normal operation |
| Display Dim | Dimmed or flickering | 24V supply low or connector loose | Check 24V terminals. Measure voltage (minimum 20V). Reseat power connector. |
| Display Off | No display | No 24V power or display hardware failed | Check power connector at terminal block. Measure 24V. If 0V, check breaker. If 20+ V but display off, display may be failed; replace FlexStat. |
| Communications LED (if equipped) | Solid green | Network communication active | Normal |
| Communications LED | Flashing | Periodic comms with controller | Normal |
| Communications LED | Red or off | No communication | Check network connectivity (BACnet/IP or serial). Verify controller is reachable. Restart FlexStat. |
FlexStat Fault Codes
| Code | Display | Fault | Root Cause | Fix |
|---|
| E01 | "E01" or "CONFIG" | Configuration Mismatch | FlexStat not properly linked to KMC controller | Run commissioning/pairing mode. Ensure both devices on same BACnet network. Verify Device IDs match. Restart FlexStat. |
| E02 | "E02" | Communication Loss | FlexStat cannot reach control system | Check network path (BACnet/IP or serial). Ping controller. Check cable (if serial). Restart FlexStat and controller. |
| E03 | "E03" | Temperature Sensor Failure | Internal temperature sensor failed or disconnected | Replace thermostat (sensor is non-serviceable). If external sensor, check wiring to terminal block. |
| E04 | "E04" | Setpoint Out of Range | Occupancy or override setpoint outside valid range | Adjust setpoint on FlexStat keypad to within valid range (typically 60-85°F for comfort). Or check application logic that sets setpoint constraints. |
| E05 | "E05" | Schedule Conflict | Multiple conflicting schedules or override timers active | Clear override on FlexStat (hold Cancel button). Check schedule in TotalControl or controller for conflicts. Simplify schedule. |
| E06 | "E06" | Humidity Sensor Failure (if equipped) | Humidity sensor reading out of range or disconnected | If humidity sensor equipped, verify it's connected. If reading still invalid, sensor may be failed; replace unit. |
| E10 | "ERROR" | Critical Firmware Error | FlexStat firmware corrupted or incompatible | Reload firmware via KMC commissioning tool. Or reconfigure FlexStat from scratch if firmware recovery not possible. Last resort: replace unit. |
FlexStat Mode and Override Behavior
| Mode | Local Control | Network Control | Typical Use |
|---|
| Occupied | Disabled | Enabled (network setpoints applied) | Business hours; office controlled by BAS system |