Disable and enable an ACE record
- Last UpdatedApr 24, 2025
- 2 minute read
An Application Calculation Engine (ACE) record is disabled when its enabled flag is set to false. This can happen either manually or automatically. When an ACE record is disabled, it does not execute when the ACE runs its execution loop.
ACE records are automatically disabled when an error occurs during their execution. There are three types of errors: a thrown exception, a configuration error, or a runaway timeout. When the point is disabled due to a thrown exception an alarm is raised indicating why the point was disabled. A log entry is also produced for all disabled points.
The ACE disables a record if an exception is thrown. Any exception causes the ACE record to fail. This is usually indicative of a coding error. A prime example would be a division by 0 error.
A configuration error causes an ACE routine to be disabled as well. A configuration error is usually something wrong with the parameter list. A database point that does not exist, a database point or PubSub topic that is not numeric, or a constant value that is not numeric are examples of configuration errors that can disable a point. Another error that can disable an ACE routine is using a PubSub topic that exceeds 200-characters or contains |*|.
Note: Records that use a PubSub input that is not currently available are not disabled, but even though the record remains enabled, it is not executed until new data is published.
When the execution time for an ACE Configuration (aceconfig) record exceeds the runaway timeout, it is assumed that the routine is stuck in an infinite loop or is doing some operation that has blocked. In this case, the ACE takes a very aggressive action to ensure RealTime calculations continue. First, the ACE record is disabled, so that it does not run again until someone manually intervenes hopefully fixing the problem. Next, the ACE logs an informative message indicating that the routine has been disabled. Finally, the ACE performs a fatal error, stopping the process and causing it to restart. Since the ACE is so aggressive, the runaway timeout is quite large (set to 60 seconds by default.)
A record can be manually enabled or disabled by selecting or clearing the Enable Run checkbox on the Main Configuration tab of the aceconfig row detail dialog box. It can also be done through Microsoft SQL.