Troubleshooting Power PMAC MacroControllerInit Reset Failure

Tom Garrett2 min read
Motion ControlOther ManufacturerTroubleshooting
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

A Power PMAC BrickLV project using firmware 2.6.1.0 can fail the first controller reset after deployment when a startup PLC executes CMD "MacroControllerInit". The reported system contains three controllers configured in a MACRO ring. A manual Linux reboot or power cycle clears the condition; afterward, the saved project loads and subsequent resets complete normally.

Observed Failure Pattern

Condition Observed result
Project deployment sequence $$$***, Build and Download All Programs, save, then $$$
First reset after deployment Reset fails while the startup sequence invokes MacroControllerInit
Manual Linux reboot or power cycle Controller recovers and loads the project
Later controller resets No further reset problem is reported
Saved memory inspection The MACRO initialization PLC is present

Most Likely Decision Path

The evidence does not establish a confirmed firmware defect or exact root cause. The one-time behavior points to a deployment-versus-startup sequencing condition: the PowerOnMotor PLC calls the MACRO initialization PLC during the first reset immediately after downloading, while a later cold reboot starts from the saved project successfully. Treat this as a hypothesis until startup execution order and command completion are captured.

The presence of the PLC in saved Power PMAC memory rules out a simple failure to save that PLC. It does not prove that MacroControllerInit can complete during the first post-download reset or that the MACRO ring is ready when PowerOnMotor invokes it.

Isolation Procedure

  1. Preserve the working project, then temporarily prevent the PowerOnMotor PLC from calling the MACRO initialization PLC during startup.
  2. Repeat the same deployment and reset sequence. If the first reset completes, the failure is associated with the startup invocation path rather than project persistence alone.
  3. Invoke the existing initialization command only after the controller has completed startup, then record whether it completes successfully.
  4. Restore the startup call and capture execution state immediately before and after the command. Determine whether the reset stops before the command, inside it, or after it.
  5. Repeat the test across the three BrickLV controllers and record whether the behavior is controller-specific or common to the MACRO-ring project.
CMD "MacroControllerInit"

Verification and Workaround

Verify recovery by confirming that the saved project loads after a manual Linux reboot or power cycle and that later resets no longer fail. Also confirm that the MACRO initialization PLC remains present in saved memory. These checks reproduce the reported recovery but do not prove why the first reset fails.

Until the startup sequence is isolated, use the demonstrated workaround: reboot the controller from the Linux environment or power-cycle it after the failed first reset. Do not classify firmware 2.6.1.0 as defective from this evidence alone; confirmation requires a reproducible trace showing where startup stops.

FAQ

Why does MacroControllerInit fail only after downloading the project?

The evidence supports a one-time startup sequencing hypothesis, not a confirmed cause. The first reset after deployment fails, while a cold reboot loads the saved project and later resets succeed.

Does the failed reset mean the MACRO initialization PLC was not saved?

No. Inspection showed that the PLC was present in Power PMAC memory, so troubleshooting should focus on when it executes and where startup stops.

How can I recover a Power PMAC after this reset failure?

Reboot the controller manually from its Linux environment or power-cycle it. Then verify that the project loads and subsequent controller resets complete normally.

Back to blog