Planalyzer – ACP Plan Analyzer

As described here, we use ACP Observatory Control software for automated unattended imaging. ACP executes "observing plans" which are text files that may be created in Notepad or in conjunction with planetarium software using ACP Planner. One drawback to creating or editing a plan using either of these methods is the inability to see each step's duration and ending time.

To improve the situation, I created Planalyzer to read an ACP plan and calculate and display these times. In addition, Planalyzer can read an ACP log file and show the actual elapsed time between two events that occurred while executing a plan. This is helpful for determining and fine-tuning equipment properties, such as image download time, that Planner stores and uses to create plans.

Planalyzer is freeware. Click the button to download the Zip file. Unzip the file into a folder of your choice, read the README.txt file and start using Planalyzer. You'll need the .Net 2.0 or later framework installed on your computer.

Here is a screen shot of Planalyzer in action. The items in the upper-left are read from Planner's properties file.

A typical observing plan is shown directly below these properties. Notice now the plan directives (e.g., #waituntil, #count, #filter, #interval, #binning) are displayed as events in the scrollable list on the right, and Planalyzer has calculated the duration and ending time for each event.

The blue button in the upper-right corner switches the end-time clocks between local rime and UTC.

You may modify the plan in the PlanPad window, then click Anlalyze Plan to recalculate the times. When satisfactory, save the plan to disk, and it's ready to be executed by ACP.

An #afinterval periodic autofocus directive in the plan creates a separate event showing the number of times the telescope was focused during the preceding set of exposures, and the total time consumed. The time needed to autofocus comes from the ACP Planner properties (180 seconds in this example).

If you check the Flip box in an event, Planalyzer adds the time required to perform the meridian flip, using the mount slew rate and the flip safety margin times from the Planner properties.


Planalyzer can even adjust the number of exposures to fit available time. This shows the time-fitting dialog and the adjusted exposure counts highlighted in orange on Planalyzer's main screen. The original end time for the final selected exposure (red filter) was 4:08 but the user has backed it up to 3:00. The plan's 10-counts (circled) have been reduced to 7 in the list. The red filter's 3:04 end time is reasonably close to the 3:00 goal. Planalyzer does not adjust the count in autofocus events.

Note that Planalyzer makes these changes only in the event list – not in the original plan. You must edit the plan in PlanPad, then save it. This ensures that you know exactly what is in the plan, and nothing was modified "behind the scenes."


This is Planalyzer's ACP Log Analyzer. The log shows the beginning and ending times for events (e.g., image download, meridian flip, autofocus) that occurred while a plan was running. Select two events in this dialog and measure the time span between them. If this time span isn't the same as what Planalyzer read from the Planner configuration file for such an event, that property should be changed in Planner's Preferences dialog.

For example, this screen shows that ACP required 15 minutes and 33 seconds to take and download a 15-minute exposure. Does the 33-second download time match the Planner property for an unbinned exposure? If not, change this in Planner.



Updated May 23, 2023