Integrated Machine Tool Simulation & Verification Workshop Machine Tool Driver(MTD) April 9-10, 2002 Cypress, California
Machine Tool Driver Purpose: Generate NC program code and control machine tool simulation behavior and feedback. Virtual NC Controller Post Handler Machine Tool Driver
Machine Tool Driver Functions Generates NC-Program. Emulates the NC controller. Motion control - accurate path based on machine configuration. Handles specific machine tool features such as macros, cycles, subroutine call. Key role in machine tool simulation. Fully customizable as TCL program. Textual, graphical and audio feedback triggered by events. NC code CL File G01 X3.4 G03 Y3.1 I3.3 Virtual NC Controller Process Data Events Machine Tool Driver NC Controller Plug-IN S&V Engine S&V Events NC code S&V Commands Process Data Events Machine Tool Driver S&V Events Post Event Handler
MTD Architecture VNC Virtual NC Controller Machine Filters Axis mapping generic part of inverse Kinematik CEvent Processing (Converter) MTD Event HandlerS&V Engine The handler controls which of the three modes is in use Tool path Event SIM-Event Handler Data from KIM-Model Event Generator feedback to CAM processors or Display NC-Program G01 X3.4 G03 Y3.1 I3.3 Inverse Kinematics Axis Mapping machine tool dependent inverse kinematics module should cover also the generic part of process generator in the future Plugin Black Box SIM Event Plugin Mode S&V Commands MTD Handler POST Event POST-Event Handler POST Event POST-Event Handler SIM Event Mode POST Event POST-Event Handler + Calls to S&V commands Direct Mode 'G' Code S&V Event C Event
Virtual NC Controller(VNC) Functions in the three different modes Approximate circular& splinar motions Interpolate linear motions(optional) Map logical to physical axes Handle controller specific functions: macros, cycles, subroutines,... Linear Approximation Interpolator Mapping to Machine Axes S&V Events SIM/Post Event S&V Command (C-Function or TCL procedure) Purpose: To Emulate a specific NC Controller
VNC Plugin An external program (ideally) supplied by the controller builder that converts NC program to axis motions and feedback. Close to Reality Simulation Virtual NC Controller Modes Events SIM Events For each Post event a SIM event is triggered which emulates the NC controller. Quick &Simple to implement Direct VNC The S&V commands are imbedded inside the post event handler. Accurate Simulation VNC Modes
VNC SIM Event Mode For each MOM event the system generates MOM_SIM event Pros Quick and simple to implement Doesnt need to touch post Useful for training & demonstration purposes Cons Double the number of events G codes might not be in sync with S&V events Duplicate Post handler logic in SIM event.
VNC Direct Mode The S&V commands are imbedded inside the post event handler Pros One set of events One logic for NC program generation and simulation Useful for training & demonstration purposes Equivalent to parsing G codes or even better. Reasonable development effort Cons Difficult to provide generic template
VNC Plugin Mode Interface to external NC controller emulation software Pros With a controller builder box we can get close to reality results Runs based on G codes Could be adapted to support other standards as StepNC This is the future... Cons Such boxes are not yet standard and are not yet available in the market by the big controller guys. High development cost. Requires software programming skills
VNC Plugin Architecture UG TCL Virtual NC Controller MOM-SIM Constructor SIM_PLUGI N_initialize MOM_execute_n c_command Native Controller Initialization Code Prepare next NC command Set TCL variable mom_sim_nc_ command Initialize TCL-MTD MOM-SIM Distructor Post Event Handlers SIM_mtd_init User Functions: S&V Commands S&V Engine Functions KIM Functions Others SIM_mtd_reset Trigger Event Set Controller Mode Native Controller NC- Commands Processing Code Native Controller Cleanup Code SIM_PLUGIN _execute_nc_c ommand SIM_PLUGI N_exit Format NC- Command Cleanup TCL-MTD Trigger Event MOM_exit_mtd Trigger Event MOM_initialise mtd
VNC Plugin Example UG API for S&V User functions Create TCL Interpreter Work with existing dCADE TCL controller of the Unisign machine tool (NCTK Funks) Plugin DLL PLUG - IN with 3 function SIM_PLUGIN_initialise SIM_PLUGIN_exit SIM_PLUGIN_execute_nc_command Use user function from S&V commands Plug-In approach for the example based on the existing TCL code of the dCADE controller for the Unisign machine tool The plugin DLL uses an existing virtual controller from dCade (used by Unisim) for the Sinumerik 840 controller. The Plugin DLL is written in C and accesses a TCL software to parse the G codes and call the corresponding S&V commands user functions.