Jump to content
OMRON Forums

Best Practice for Subprograms?


Recommended Posts

For the machine I am building I am developing a few motion programs that are often used and reused as utilities. Specifically, other NC programs that my end user will write and run should be able to call my motion programs.


I am wondering what are the pro/cons of developing these motion programs as custom MCode, volatile subprograms, or non-volatile subprograms (or something else that I have't thought of)




* Must be able to be called from NC files that are run through the NC interface

* Sub programs should be written in motion program format including GCodes.

* Fairly easy for me as a machine integrator to see and update the subprograms

* Ideally would be nice to call them with easy human readable names instead of program numbers (nice to have if possible)



Link to comment
Share on other sites

  • 3 weeks later...
  • Replies 1
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

There are various ways to achieve this in Power PMAC-NC, all with different pros/cons.


Custom G/M-Code – If you do not want your customers to access your OEM specific routines, this may be a good way to go. This code would be developed by you and reside within the IDE project. You could even include parameters with the G/M-codes, which the machine operator/programmer could pass into the routine. The downside of this is there will be no visual display of the inner workings of the routine while it is running on screen. You would only see the G or M code itself on the active line of the program.


Volatile Subprogram – These are your traditional G-code subprograms, which are called from a location on your hard disk. They are of the standard NC format and can directly be modified or copied and modified to create new functionality by anyone who operates the machine. While the subprogram is running, the operator can view the sequencing of the program just the same as any other NC program.


Non-Volatile Subprogram – These type of subprogram was specifically created for Power PMAC-NC. These are similar to Volatile Subprograms, but cannot be accessed by the machine operator or programmer. They are configured and included as part of your IDE project. These permanently reside inside of PMAC’s memory, but have the unique characteristic of being called into the HMI program display during execution. This allows the operator to see the sequencing just the same as any standard NC program.


All options above can be called from NC programs and run through the standard Power PMAC-NC interface.


In addition, you can create alias call definitions to create custom commands for your customers. For instance, you could create a command “Clean Nozzle” which would parse to the PMAC as M98 P0100 for instance. This is done through the #define or #include functionality.

Link to comment
Share on other sites

This topic is now closed to further replies.

  • Create New...