·
Template Controller Posts – Template posts
configured and customized for three distinctive types of NC controllers (Sinumerik 840D, Fanuc30i, and Heidenhain
Conversational) are included in the Post Builder’s library.
New mechanism implemented in this version of Post Builder enables the
customization to the posts for different controllers to be preserved when these
posts are used to create other posts or upgraded to the newer versions of Post
Builder in the future.
·
Macro/Function Constructor – New
constructor enables the users to compose block templates for making calls to
macro, cycle, or function in the NC program.
·
New UDE Elements – UDE editor has been enhanced to support the new UDE elements
implemented in NX/CAM.
·
Other
Changes & Enhancements
Template posts configured and customized
according to the requirements of three major families of controllers are
included in the posts library of Post Builder:
-
Siemens’ Sinumerik 840D
-
Fanuc’s 30i
-
Heidenhain’s
Conversational
Create New Posts Using Controller Posts
· You can create new posts by using one of these template posts.
· Each controller post will supply the elements that have been customized for the specific controller in question to the new post:
-
Presentation and interaction (look & feel) of the Motion events
(linear, circular, rapid and/or NURBS), Machine Control events and Cycles.
-
The
help information for specific events or cycles of the controller will be
provided. (Currently only graphical information for Sinumerik 840D is provided
due to copyright consideration)
-
Parameters
for the user-defined events (UDE)
and user-defined cycles (UDC)
-
Addresses
and Formats
-
M
codes and G codes tables
· In the previous versions of Post Builder, some of these elements could be customized by editing the PUI file manually. Nevertheless, the changes will be restored when the post is upgraded to a newer version of Post Builder or used to create other posts.
· If a library post has been built with UDE enabled, the enabling switch for UDE editor will be toggled on by default. You may choose to override it. Similarly, if the post has been creatd with the VNC (simulation driver) enabled, the new post will also have the capability available. You can also choose to disable it.
Add New Controller Posts to Library
· You can also introduce your own favored families of controllers to Post Builder’s library. New controller posts will appear on the selection list for creating new posts.
· Additional controllers for an existing family or new famililies of controllers can be added to the Post Builder structure.
·
Each controller post should be packaged in a separated
folder.
·
A controller post should be placed under the desired
family folder.
·
New family folders may be added under each machine type
(lathe, mill & wedm) folder.
·
The name of a new controller post must be manually
assigned in the PUI file of the post as its “controller type”
attribute:
# CONTROLLER TYPE START
sinumerik_840D
# CONTROLLER TYPE END
This attribute
should have the same name as the post.
·
A controller post can also limt its usage to specific
machine types and/or axes configuration using the follwing 2 attributes:
# MACHINE TYPE START
Mill
# MACHINE TYPE END
# MACHINE AXIS START
4
# MACHINE AXIS END
|
MACHINE TYPE |
MACHINE AXIS |
|
Mill |
3, 3MT, 4, 4H, 4T, 5HH, 5TT, 5HT |
|
Lathe |
2 |
|
Wedm |
2, 4 |
These 2
attributes are optional. A “machine axis” of “4” of a mill post indicates that
the template post can be used to create posts for 3-axis, 3-axis mill-turn and
both 4-axis head & 4-axis table. You can also restrict a candidate
controller post to a specific kinematics configuration such as 4H or 5TT, for
example.
New building elements and mechanism have been implemented to facilitate the users to compose the posts that need to output NC codes in the form of cycle or macro calls, such as CYCLE81(…) for Sinumerik 840D or “CYCL DEF 204 Q200=…” for Heidenhain TNC530 controller, or other high level function calls in the similar fashion.
Construct Cycle and
Macro Calls
·
Out of
the box, the output constructs for the known hole-making cycles will be defined
for the controller posts and assigned to the appropriate events. You can create
aditional macros of cycles as desired.
This option defines the name of a cycle or macro to be
output.
Three options in this group define the form of the
arguments list for the cycle or macro call. You can choose any of these options
from the pull-down list or enter your own string by selecting “Text String”
option.
These options can be activated to output the name of
parameters along with their values. As an example, these options are used to
compose the cycle statements for the Heidenhain TNC530 controller.
· This group of options is customizable. Since they are not appicable to the posts for Sinumerik 840D; they will not appear on the Macro constructor for the Sinumerik family of post.
As many parameters as needed can be defined for each
macro.
If a parameter is not to be output, its name is used
only in Post Builder to display the representation of an argument.
Expression for each parameter can be configured using
constants and global MOM & other Tcl variables. Nevertheless, the variables
used should represent data of the same type (number or string) as specified by
the “Data Type” option.
A right-mouse click on an expression will bring up a
list of commonly applicable MOM variables including coordinates and UDE &
UDC parameters of each individual cycle. Selecting the “Edit” option from the pull-down menu or double-click on the
expression will display a sub-dialog allowing the user to more conveniently
modify the expression.
A right-mouse click on the expression entry of the
sub-dialog will also bring up the pull-down options of the common MOM
variables.
A right-mouse click in the peripheral area of the
parameter name will bring up the options allowing current parameter to be
manipulated or a new parameter to be inserted after the current one.
A parameter without the expression will result in
additional separator symbol (a “,” in this case) to be output in the call
statement. This type of parameters can be defined with or without the name.
Textual and/or graphical information, when permitted,
for the known cycles of a particular controller may be provided. By clicking
the button, you can display the info page for the macro or cycle in question.
·
Any
copyrighted material for the help information will only be used when proper
permission has been granted.
·
When a
cycle or macro is used in a post, prefix string can be assigned and output with
the call.
·
You can
also choose to suppress the sequence number from being output for a particular
cycle or macro call at the time of post processing.
·
A
macro object can be copied to create a new one. This allows you to create a new
macro with slight variations from an existing one or to ouput calls to the same
macro with different arguments such as omitting parameters under certain
conditions.
This version of Post Builder has been enhanced to support the new elements implemented in NX7.5 for the UDE (User Defined Event) mechanism. Three new elements are added to the UDE editor:
- Context Sensitive Help for event
- Bitmap (legend) parameter
- Grouping elements
New elements are available for both machine control events and user-defined cycles.
· The context sensitive help item can be added to an event. The “Description” toggle button on the event’s parameters dialog can be switched on to activate the help info for the event.
- Both label and URL must be specified.
- A legitimate URL format must be used.
Post Builder will display an error message if any of the rules has been violated.
· A question mark icon will appear on the event dialog. You can exam the URL by traversing the mouse pointer to the icon.
· This item can be removed by editing the event’s parameters again and toggling off the “Description” switch.
· Due to the restriction in NX7.5, the help info element is not available for either system defined or user defined hole-making cycles.
· Bitmap (legend) parameters can be added to an event by dragging the “Bitmap” button and dropping it to the desired location in the simulated event dialog.
· You will be prompted to specify the variable name and bitmap file name for this item.
· The file name must be of format “.bmp”; otherwise Post Builder will issue an error message.
· When the item is in place, you may traverse the mouse pointer to the image icon to verify the bitmap file name.
· The grouping elements can be added to the event dialog by pressing the “Group” button. You can drag the representative image to the desired location on the dialog.
· You will be prompted to specify the label, variable name, and the default value (initial state) of the grouping elements.
· The parameter label can be left blank. No title for the group will be displayed.
· The initial state is indicated by either “open” or “close” icon at the right end of the group item.
· When a grouping parameter is defined, 2 elements representing group-start and group-end will be added to the simulated event dialog.
You can then drag the group-end element to a desired location on the dialog to form the group. The group-start element can also be repositioned afterward.
· Post Builder will not simulate the “open” and “close” actions of the groups on the dialog.
· The group-end element can not be edited. It can be deleted by dragging it to the trash can icon.
· When either a group-start or a group-end is deleted, its associated element is also deleted.
· Multiple groups can be defined on an event dialog.
· A grouping item can not be added (nested) inside another group. Warning message will be displayed.
· As with the existing functionality of Post Builder, definitions of the new UDE elements, to be output to a CDL file, can be previewed.
Other Changes
& Enhancements
·
The
configuration of “Cycle Start”
handling for the canned cycles has been enhanced. New mechanism removed the
restriction that the cycle-start element can only be a special block template
generated by Post Builder. It not only allows the cycle-start block
(BLOCK_TEMPLATE post_startblk) to be
configured in the definition file of a post, but also allows the “block” to be
defined (in the PUI file) using a designated custom command (PB_CMD_config_cycle_start) instead.
·
When a
controller’s cycles are to be carried out via the cycle-start action, the
pre-defined cycle-start block (post_startblk) or the assigned custom command
(PB_CMD_config_cycle_start) will be automatically inserted to the output window
of the cycle’s common parameters as the anchor element. You can then add
other blocks or custom commands after this anchor element to be processed upon
the execution of cycles for each hole.
·
New
option “User Defined” is added for
handling the rotary axis limits violation. You will be able to custruct the
desired procedures and outputs for handling the situation when it occurs.
Clicking
the “Handler” button, you can
compose the procedures and output as the same way for other events.
New Custom Commands
·
PB_CMD_activate_Fanuc_turbo_mode
This custom command can be imported from
POSTBUILD/pblib/custom_command/pb_cmd_activate_turbo_mode.tcl
and added to the Start of Program
event marker to enable the turbo post-process mode. You can use this command
with fixed or multi-axis mill posts. Multi-axis turbo mode is only available
from NX7.0 and on.
As the name implies, this function is only suitable for the FANUC
style of controllers.
This custom command was first released in the version 7.0 of Post
Builder.
In Post Builder version 3.3 or earlier, custom commands such as “PB_CMD_init_new_iks” were used to enable the new IKS functionality. Parameters specified in any of these custom commands will be extracted and preserved with the posts when saved in this version of Post Builder. Interactively, these parameters will be presented in the appropriate dialogs when a post is open. However, the parameters will not be preserved, if the new IKS service was not enabled (mom_kin_iks_usage = 0) in the custom command. Default values for the new IKS parameters will then be presented instead.
These legacy custom commands will
no longer be needed but will be retained with the posts only for your
reference. You may delete them manually.
The assignments of rotary axes in all dual-head 5-axis mill posts created before this version of Post Builder were intentionally switched to accommodate certain short comings with the legacy inverse kinematics solver. This erroneous setting will be corrected when a post is saved with this version of Post Builder.
Kinematic parameters for the 4th rotary axis will be swapped with that of the 5th axis.
This custom command will be provided for all 5-axis mill posts and used to swap the kinematic parameters of the dual rotary heads. This custom command should also be called whenever the new IKS is disabled.
Prior to NX4, the NC axes assignment in a VNC file is done in a custom command. There’s no easy way to carry out an automatic conversion. You will have to edit the custom command manually.
New IKS service will be disabled for dual-head mill posts using “ugpadvkins” shared library. The kinematic parameters assigned for the dual rotary heads will be swapped as described above.
Custom command PB_CMD_output_spindle used by any legacy lathe posts to output a
block for setting the maximum spindle speed needs to be modified as follows:
#=============================================================
proc
PB_CMD_output_spindle { } {
#=============================================================
global mom_spindle_mode
global spindle_is_out
global mom_spindle_maximum_rpm
if {![info exists spindle_is_out]} {
if {$mom_spindle_mode == "RPM"}
{
MOM_force once M_spindle
MOM_do_template spindle_rpm
} elseif {$mom_spindle_mode ==
"SFM" || $mom_spindle_mode == "SMM"} {
MOM_force once M_spindle S G G_spin
# The following line has been changed.
if {$mom_spindle_maximum_rpm
> 0} {
MOM_do_template spindle_max_rpm
}
MOM_do_template spindle_css
}
set spindle_is_out 1
}
}
To Run ISV
To use the Machine Tool Drivers (MTD) built with this version of Post Builder in ISV before NX3.0, you need to copy "mom_source.dll" (Windows users only) from \POSTBUILD directory to $UGII_CAM_AUXILIARY_DIR.
All legacy Machine Tool Drivers will need to be resaved with the new version Post Builder.
You need to copy "vnc_base_v340_tcl.txt" in \POSTBUILD directory to your $UGII_CAM_POST_DIR to use the MTDs created with this version of Post Builder.
The option of the Axis Limit Violation Handling for a rotary axis specifies how the postprocessor behaves when the system reaches a rotary axis limit. The option can be of
·
Warning means that the postprocessor
outputs a message to the warning file, but takes no action to correct the axis
limit violation.
· Retract/Re-engage means that the postprocessor generates N/C codes that enable machine-tool to retract to clearance geometry (plane, cylinder or sphere), reposition the rotary axis to a valid position if possible, re-engage to a specified distance above the part, feed to the previous position where it retracted from and then continue moving to the programmed destination. The feed rate for the retraction will be at the retract feed rate, the feed rate for the move from the clearance back to the re-engage point will be at the approach feed rate and the move from the re-engage point into the part will be at the engage feed rate.
Parameters for this control are specified in the custom command PB_CMD_init_rotary under Program & Tool Path -> Custom Command. As depicted in the graphic below, you can modify the variables mom_kin_retract_type, mom_kin_retract_distance and mom_kin_reengage_distance to configure how this functionality behaves.
The parameter mom_kin_retract_plane used in previous releases of Post Builder has been replaced by mom_kin_retract_distance. PLANE used as one of the options of mom_kin_retract_type in some pre-release versions of v3.1 has been replaced by SURFACE. After you have saved your legacy posts in Post Builder v3.1, unless you make changes in the custom command PB_CMD_init_rotary, the value of mom_kin_retract_plane will be transferred to mom_kin_retract_distance and PLANE will be interpreted as SURFACE automatically.
Prior to version 3.1, C axis limits (Machine Tool -> Rotary Axis) of a XZC mill or simple mill-turn post were not observed.
No checks were made against the
values that were on the dialog for the rotary axis limits. Only the limits of the fourth_axis
Address –9999.9999 ~ 9999.9999 were used.
Starting from version 3.1 the actual limits will be enforced.
Example of a post with rotary axis
limits of 0 ~ 360:
V3.0.1
G81 X1 Z1 R2.1 C180.0
C260.0
C340.0
C420.0
C500.0
V3.1
G81 X1 Z1 R2.1 C180.0
C260.0
C340.0
C60.0
C140.0
When saving a legacy XZC or simple mill-turn post in Post Builder v3.1, if you need to preserve the effect of having the limits of the rotary axis being -9999.9999 ~ 9999.9999, you must change the values on the dialog accordingly.
The information in the custom
command PB_CMD_init_mill_turn and PB_CMD_init_mill_xzc will be converted
to dialog items on the Machine Tool pages and removed. The custom commands PB_CMD_start_of_mill,
PB_CMD_end_of_mill, PB_CMD_start_of_turn and PB_CMD_end_of_turn
have been converted into event handlers.
You can now edit the event handlers on the Linked Posts page.
Custom command PB_CMD_init_multiple_post of all legacy posts has been converted to dialog items on the Linked Posts page and removed. The custom commands used to start and end each head have also been converted into event handlers. You can now edit these event handlers on the linked posts page.
You will need to follow the following steps to rectify existing XZC mill posts created in Post Builder version 2.0:
1. Create a new XZC mill post using the
existing post as the “controller” post.
Make sure the new post has the same output units as the existing ones.
2. Transfer your changes of the variables, if any, from the custom commands PB_CMD_kin_mill_turn_initialize and PB_CMD_kin_mill_xzc_init to PB_CMD_init_mill_turn and PB_CMD_init_mill_xzc respectively.
3. Add a line of code containing the “return”
(without quotes) statement into the beginning of both
PB_CMD_kin_mill_turn_initialize and PB_CMD_kin_mill_xzc_init commands.
4.
Examine and save the post.