Why the Subprogram Call Fails
The control does not include WPD workpiece directories when resolving an unqualified subprogram call made from MPF. Consequently, a program started from the part-program directory can find subprograms in the searched locations but cannot automatically find a subprogram stored inside a workpiece directory.
Subprogram Search Order
For a subprogram call, the control searches the calling program's own directory first, followed by MPF and then SPF. The evidence does not identify a setting that changes this search routine.
| Search sequence | Location | Result |
|---|---|---|
| 1 | Calling program's directory | Searched first |
| 2 | MPF | Searched second |
| 3 | SPF | Searched third |
| Excluded from an MPF search | WPD workpiece directories | Requires an explicit path |
Call the WPD Subprogram by Its Full Path
Resolve the failure by including the complete path in the subprogram call. Identify the WPD workpiece directory and the required program within that directory, then use both names in the call. The evidence defines WERKSTUECK as the workpiece directory under WPD and PROGRAMM as the subprogram stored there, but it does not provide the controller's exact path syntax; obtain that syntax from the applicable programming or work-preparation manual rather than guessing it.
- Confirm that the calling program is running from MPF.
- Confirm that the missing subprogram exists inside the intended WPD workpiece directory.
- Replace the unqualified subprogram name with the controller-supported full path containing the WPD directory name and program name.
Verify the Correction
Run the same calling program after adding the explicit path. The correction is verified when the control resolves the subprogram from the selected WPD directory instead of finding only programs available through the calling directory, MPF, or SPF. If resolution still fails, compare the directory and program names in the call with their stored names and confirm the path notation against the manual for that control.
FAQ
Why does an MPF program not find a subprogram in WPD?
An unqualified call from MPF does not search WPD. The documented search sequence in the evidence is the calling directory, MPF, and then SPF.
How do I call a subprogram stored in a WPD workpiece directory?
Use the complete path containing the WPD workpiece directory and the program name. Verify the exact path notation in the applicable control manual because the evidence does not supply its syntax.
Can I change the control's subprogram search routine?
The evidence provides no supported method for changing the routine. Use an explicit full-path call when an MPF program must execute a subprogram stored under WPD.