Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

CNC 控制器入門課程教材

6,831 views

Published on

課程參考書 : Theory and Design of CNC Systems

Published in: Engineering
  • Hello! High Quality And Affordable Essays For You. Starting at $4.99 per page - Check our website! https://vk.cc/82gJD2
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

CNC 控制器入門課程教材

  1. 1. Theory and Design of CNC Systems Chapter 1 Introduction to NC Systems
  2. 2. What’s CNC  CNC (Computer Numerical Control) machine – mother machine: a machine that makes machines – mechanical components + NC system  NC System – fundamental technology for factory automation – used not only for machine tools but also all machines that need motion controlled by servo systems
  3. 3. History  NC概念促發於1947年 – 二次大戰過後 – 用於飛機之製造  1952年, MIT servo laboratory發展出第一台3 軸NC铣床
  4. 4. Work Flow
  5. 5. Architecture
  6. 6. Architecture  影響精度的因子 – servo motor – table guide – ball screw – spindle – rigidity of machine construction – encoder and sensors – control mechanism  The construction of the machine and the machine components should also be designed to be insensitive to vibration and temperature.
  7. 7. 精確定位 動態響應 寬轉速範圍 精度 高速 低摩擦 伺服單軸結構
  8. 8. 伺服單軸結構  對伺服馬達的要求 – To be able to get adequate output of power according to work load – To be able to respond quickly to an instruction – To have good acceleration and deceleration properties – To have a broad velocity range
  9. 9. 伺服單軸結構  對伺服馬達的要求 – To be able to control velocity safely in all velocity ranges. – To be able to be continuously operated for a long time – To be able to provide frequent acceleration and deceleration – To have high resolution in order to generate adequate torque in the case of a small block
  10. 10. 伺服單軸結構  對伺服馬達的要求 – To be easy to rotate and have high rotation accuracy – To generate adequate torque for stopping – To have high reliability and long length of life – To be easy to maintain
  11. 11. 高扭力 高轉速 主軸結構
  12. 12. 編碼器原理
  13. 13. 伺服控制架構
  14. 14. 伺服控制架構
  15. 15. Semi-Closed Loop  The most popular control mechanism  Position accuracy is greatly influenced by the accuracy of the ball screw. – Due to the precision ball screw, the problem with accuracy has practically been overcome.  Pitch-error compensation and backlash compensation can be used in order to increase the positional accuracy.
  16. 16. Semi-Closed Loop  Pitch-error compensation – The instructions to the servo are modified to remove the accumulation of positional error. – Accumulation pitch error is varied according to the temperature.  Backlash compensation – whenever the moving direction is changed, additional pulses corresponding to the amount of backlash are sent to the servo. – Amount of backlash can be varied according to the weight and location of the workpiece.
  17. 17. Closed Loop  Relatively insensitive to the accuracy of the ball screw  But possibly unstable – it is necessary to increase the resonance frequency of the machine driving system by  increase the rigidity of the machine  decrease the friction coefficient of the perturbation surface – or it is necessary to lower the control gain  If the gain is very low, the performance becomes poor with respect to positioning time and accuracy
  18. 18. Hybrid Loop  Servo system is controlled by semi-closed loop method.  The closed loop is used for compensating only positional error.  Higher cost
  19. 19. NC System 的組成
  20. 20. NC System 的組成
  21. 21. MMI (Man Machine Interface)  Offer the interface between NC and the user  Execute the machine operation command  Display machine status  Offer functions for editing the part program  Communication  More modern features: CAD, CAM, simulation, web interface …
  22. 22. NCK (Numerical Control Kernel)  Being the core of the CNC system  Interpret the part program  Execute interpolation, position control, and error compensation  Control the servo system
  23. 23. NCK (Numerical Control Kernel)  Advanced features: – tool-breakage detection – compensation of thermal deformation – adaptive control – compensation of tool deflection – monitoring of cutting force, heat, and electric current
  24. 24. PLC (Programmable Logic Control)  Play the role of controlling the machine’s behavior except servo control  Control tool change  Control Spindle speed  Control workpiece change  I/O processing
  25. 25. Communication between NC and Servo Systems  Traditionally, velocity commands in analog format are used for transmitting signals to the servo system. – But sensitive to noise  loss accuracy  The trend is to employ real-time digital communication instead. – Insensitive to noise – Can exchange a variety of data, such as servo parameters and status
  26. 26. Communication between NC and Servo Systems  Fieldbus protocols – EtherCAT – Mechatrolink – RTEX – SSCNET – Profibus – DMCNET  The communication mechanism has also been applied to I/O devices.
  27. 27. Software Flow of NC System
  28. 28. Main Functions of NCK  Interpreter  Interpolator  Acceleration/deceleration controller  Position controller
  29. 29. Real-Time Implementation  In general, usage of individual processors for MMI, NCK, and PLC modules is typical.  But using real-time OS, a single-processor implementation is possible by dividing the functions of these modules into cyclic tasks and non-cyclic tasks.
  30. 30. Real-Time Implementation
  31. 31. Real-Time Implementation  In the example – the position control with the highest priority is activated every 1 msec – the interpolator with the 2nd priority every 2 msec – the interpreter is executed once every 4 msec – The MMI with the lowest priority is designed to use the surplus processor resource
  32. 32. Examples: EMC EMC2 (LinuxCNC) The Progress Direction of the CNC System
  33. 33. Chapter 2 Interpreter
  34. 34. What’s interpreter  A software module in NCK unit of CNC system.  Translates part program into internal commands for moving tools and executing auxiliary function in the CNC system. Interpreter CNC understandable internal command G/M code
  35. 35. Part Program  English alphabet – G, M, S, F, N, P, …  Arabic numbers – 0, 1, 2, …, 9  Symbols – ;, -, ., …
  36. 36. Program Structure
  37. 37. Program Structure  Program Number – a number for identifying the part program on CNC  Block – consists of one block number, at least one word, and the EOB  Block Number – a number for identifying the block  EOB – the end of block
  38. 38. Program Structure  Word – the minimum unit of part program.  Address – constructed from one of the alphabetic characters  Number – the data that is required to execute the behavior related with the address.
  39. 39. Program Structure  Comment – has no influence on the execution of a part program.  End of a part program – M02 or M30 at the end of a part program.
  40. 40. Address
  41. 41. Address
  42. 42. Address Group  Preparatory function (G-code) – prepares the execution of the particular function.  Movement  Setting local coordinate system  Interpolation  …
  43. 43. Address Group  Auxiliary function (M-code) – Function commands for the simple control.  Coolant  Start/End of a main and sub program  Spindle – CCW/CW, stop  …
  44. 44. Address Group  Feed function (F-code) – Command the relative speed between tool and workpiece for interpolation command.  Spindle function (S-code) – Command the spindle speed (RPM).  Tool function (T-code) – Command tool change and specify the tool compensation.
  45. 45. Main program and subprogram
  46. 46. Coordinate systems  machine coordinate system – setting a particular point of the machine tool as the origin of a coordinate system.  workpiece coordinate system – setting a particular point on the workpiece as the origin. – make editing a part program easier.
  47. 47. Coordinate systems  local coordinate system – define another coordinate system based on the workpiece coordinate system.
  48. 48. Coordinate systems
  49. 49. Coordinate systems  G90 – absolute programming mode  G91 – incremental programming mode  G15 – polar coordinate start  G16 – polar coordinates cancel
  50. 50. Coordinate systems  G17 – XY-plane select  G18 – ZX-plane select  G19 – YZ-plane select
  51. 51. Coordinate systems
  52. 52. Coordinate systems  G68 α_ β_ R_ – Rotation function – (α, β) is center of rotation – R is degree of rotation  G69 – Rotation cancel G17 G18 G19 α X Z Y β Y X Z
  53. 53. Coordinate systems  G51 X_Y_Z_P_ – Scaling function – X, Y, Z denotes the center position for scaling – P is used for the magnitude of the scaling  G50 – Scaling cancel  G51.1 – mirror image function.
  54. 54. Coordinate systems N20 M98 P100001; N220 X100;
  55. 55. Coordinate systems
  56. 56. Rapid move  G00 X_ Y_ Z_ – Rapid move – X, Y, Z is the end position
  57. 57. Linear Interpolation  G01 X_ Y_ Z_ F_ – Linear interpolation – F is the feedrate – X, Y, Z is the end position X100 X100
  58. 58. Circular Interpolation
  59. 59. Circular Interpolation  G02/G03 α_ β_ R_ F_  G02/G03 α_ β_ m_ n_ F_ – G02 is circular interpolation in CW – G03 is circular interpolation in CCW – m, n is the distance from start to point and the arc center arc center – R is radius of the arc – α, β is the end position – F is the feedrate G17 G18 G19 α X Z Y β Y X Z m I K J n J I K
  60. 60. Circular Interpolation
  61. 61. Circular Interpolation
  62. 62. Helical Interpolation
  63. 63. Helical Interpolation  G02/G03 α_ β_ R_ γ_ F_ – Helical interpolation is enabled by specifying up to two other axes that move synchronously with the circular interpolation by circular commands. – F is the tangential feedrate. – γ is the end position. G17 G18 G19 α X Z Y β Y X Z γ Z Y X
  64. 64. Cylindrical Interpolation
  65. 65. Cylindrical Interpolation  G07.1 C_ – Cylinder mode start – C is the radius of cylinder – When cylinder is started, you can use linear or circular interpolation on the surface of cylinder.  G07.1 C0 – Cylinder mode cancel
  66. 66. Spline Interpolation  G06.1 – machining free-form curves or surfaces – passes through the specified points – canceled by another G-Code (e.g. G00, G01, G02, G03)
  67. 67. Feed function  Feedrate – specified by the F-code – mm/min – inch/min – mm/rev – inch/rev – Machining feedrate means the feedrate specified for linear interpolation or circular interpolation.
  68. 68. Feed function  acceleration/deceleration – when the tool starts and ends its movement. – prevent a mechanical shock – Linear-curve – Exponential-curve – S-curve – With servo delay
  69. 69. Feed function
  70. 70. Feed function  G09 – Exact Stop – one-shot G-code – the tool is decelerated at the end point of the block, then an in-position check is made.
  71. 71. Feed function  G61 – Exact Stop Mode – valid until G62, G63, or G64 is specified – the tool is decelerated at the end point of the block, then an in-position check is made.  G64 – Cutting Mode – an in-position check is not made
  72. 72. Feed function  Look-Ahead function – under Cutting Mode – this function is useful for increasing the actual machining feedrate during execution of the part program which consists of small line segments.
  73. 73. Feed function  G04 X_ (second)  G04 U_ (second)  G04 P_ (millisecond) – dwell function – Use for delaying the next block for specified time interval.
  74. 74. Tool function  T-code is used for selecting the machining tool with the specified tool number.
  75. 75. Tool function  G41 D_ – Tool radius compensation to the left of the tool movement direction – D is the tool number in tool compensation table  G42 D_ – Tool radius compensation to the right of the tool movement direction – D is the tool number in tool compensation table  G40 – Tool radius compensation cancel
  76. 76. Tool function
  77. 77. Tool funciton  G43 H_ – Tool length increase – H is the tool number in tool length table  G44 H_ – Tool length decrease – H is the tool number in tool length table  G49 – Tool length compensation cancel
  78. 78. Spindle function  S-code is for specifying the spindle speed.  spindle speed is restricted by the maximum spindle speed specified by user.  The spindle speed specified by an S-code is canceled after power on, or when the system is reset or when M30 is commanded.
  79. 79. Spindle function  G96 S_ – Constant surface speed function – S is the surface speed. (m/min, inch/min)  G97 – Constant surface speed function cancel
  80. 80. Spindle function  M19 S_ – Spindle orientation function – Spindle stop at S angle
  81. 81. Fixed-cycle function
  82. 82. Fixed-cycle function
  83. 83. Fixed-cycle function  G76 Z_ R_ P_ Q_ F_ – Fine boring cycle  G98 – Return to initial Z level in canned cycle  G99 – Return to R level in canned cycle
  84. 84. Skip function  G31 X_ Y_ Z_ F_ – Same as the G01 function – a skip signal is detected, the is moved to the end point of the next block
  85. 85. Program verification  The part program error – grammatical errors – logic errors – numerical errors – incorrect computation of tool position – wrong tool-offset value – invalid feedrate – spindle speed
  86. 86. Program verification  Dry mode – the tool is moved at the feedrate specified by a parameter – the workpiece is removed from the table.
  87. 87. Program verification  Machine lock – display the change in position – without moving the tool – two types of machine lock  all-axis machine lock  specified-axis machine lock
  88. 88. Program verification  Block-by-block – can be used with the dry run function and machine lock function
  89. 89. Advanced function  Recently, CNC machine tools have become more accurate and faster and the functionality has become more complicated.  The highly functional CNC systems – Look Ahead – Feedforward – NURBS Interpolation
  90. 90. Look Ahead  When machine the free-form surfaces/contours – consists of a sequential linear path with short length – if each block is executed line by line  the machined surface is degraded due to frequent acceleration/deceleration and the discontinuity of the feedrate
  91. 91. Look Ahead  When machine the free-form surfaces/contours – consists of a sequential linear path with short length – if use Look-Ahead function  Preview hundred/thousand blocks  calculates an adequate feedrate for each axis within the maximum allowable feedrate and acceleration/ deceleration.
  92. 92. Look Ahead
  93. 93. Feedforward
  94. 94. NURBS Interpolation  In conventional CNC systems, free curve is defined by sequential small line segments or arcs. – the size of the internal memory is limited – the baud rate of communication is restricted (raise the machining speed)  To overcome this problem NURBS interpolation was developed.
  95. 95. G&M-code Interpreter
  96. 96. G&M-code Interpreter  Interpreter – Parser – Executor – Path generator – Macro executor – Error handler
  97. 97. Parser  Lexical interpreter – reads the block character by character and makes meaningful words from the characters  Calculator – numerical operations within the part program  Sentence interpreter – retrieves the command and the related data  such as G-code, M-code, S-code, T-code
  98. 98. Executor  executes the functions related with the interpreted sentence  stores the execution result in the internal memory
  99. 99. Path Generator  generates the position data based on the programmed coordinates  In this module, the computation for mapping from workpiece coordinates to machine coordinates, tool compensation, and the axis limit is carried out.
  100. 100. Macro executor  interprets and executes macro commands  the macro is user-defined code – not provided by the CNC maker
  101. 101. Error Handler  if there is an error in a part program, the error should be noticed and the user notified.
  102. 102. Interpreter Flowchart Block memory M30
  103. 103. Block Memory
  104. 104. Block Memory
  105. 105. Interpreter Flowchart Block record memory
  106. 106. Block record memory
  107. 107. Block record memory
  108. 108. Theory and Design of CNC Systems Chapter 3 Interpolator
  109. 109. Out Line  Introduction  Hardware Interpolator  Software Interpolator – Reference pulse interpolator – reference word interpolator (Sampled-Data interpolator).  Fine Interpolation  NURBS Interpolation  Summary
  110. 110. Introduction
  111. 111. Introduction  Key components of CNC
  112. 112. Introduction  The interpolator requires the following characteristics 1. Close to the actual part shape. 2. Consider the limitation of speed . 3. Accumulation error should be avoided.  Two kinds of control can be carried out 1. point-to-point control method 2. contour control method
  113. 113. Hardware Interpolator  Computation of interpolation  Generates pulses (electric circuit)  High-speed execution  Be difficult to adapt new algorithms or modify algorithms  EX : NC
  114. 114. Hardware Interpolator  DDA (Digital Differential Analyzer) integrator  Based on the principle of a numerical integration.
  115. 115. Hardware Interpolator principle of interpolation   tVS SSS tVtVS tVdtVtS kk kkk k k i ik k i i t           1 1 1 1 0
  116. 116. Hardware Interpolator   tV f tfVS VS knk n k k n k     2 2 2
  117. 117. Hardware Interpolator  Linear interpolation
  118. 118. Hardware Interpolator  circular interpolator
  119. 119. Hardware Interpolator  Example : – radius (R) of the circleis 15. – length (n) of the register is 4. – start position of a circle is (R, 0). – initial value of the V registers of the DDA for the X- and Y-axes are 15 and 0.
  120. 120. Software Interpolator  Reference pulse interpolator  reference word interpolator (Sampled-Data interpolator)
  121. 121. Software Interpolator  Reference pulse method
  122. 122. Software Interpolator  Sampled-Data interpolator – rough interpolation – fine interpolation
  123. 123. Software Interpolator  Comparison
  124. 124. Reference pulse method  Software DDA Interpolator Linear Circular
  125. 125. Software DDA Interpolator P1 Q1 Y P2 Q2 X 0 0 10 0
  126. 126. Software DDA Interpolator P1 Q1 Y P2 Q2 X 0 0 10 0 1 0 X 10 0 ○
  127. 127. Software DDA Interpolator P1 Q1 Y P2 Q2 X 0 0 10 0 1 0 X 10 0 ○ 2 1 X 10 0 ○
  128. 128. Software DDA Interpolator P1 Q1 Y P2 Q2 X 0 0 10 0 1 0 X 10 0 ○ 2 1 X 10 0 ○ 3 3 X 10 0 ○
  129. 129. Software DDA Interpolator P1 Q1 Y P2 Q2 X 0 0 10 0 1 0 X 10 0 ○ 2 1 X 10 0 ○ 3 3 X 10 0 ○ 4 6 X 10 0 ○
  130. 130. Software DDA Interpolator P1 Q1 Y P2 Q2 X 0 0 10 0 1 0 X 10 0 ○ 2 1 X 10 0 ○ 3 3 X 10 0 ○ 4 6 X 10 0 ○ 4 0 ○ 9 9 X
  131. 131. Software DDA Interpolator P1 Q1 Y P2 Q2 X 0 0 10 0 1 0 X 10 0 ○ 2 1 X 10 0 ○ 3 3 X 10 0 ○ 4 6 X 10 0 ○ 4 0 ○ 9 9 X 5 4 X 9 8 ○
  132. 132. Software DDA Interpolator P1 Q1 Y P2 Q2 X 0 0 10 0 1 0 X 10 0 ○ 2 1 X 10 0 ○ 3 3 X 10 0 ○ 4 6 X 10 0 ○ 4 0 ○ 9 9 X 5 4 X 9 8 ○ 6 9 X 9 7 ○
  133. 133. Software DDA Interpolator P1 Q1 Y P2 Q2 X 0 0 10 0 1 0 X 10 0 ○ 2 1 X 10 0 ○ 3 3 X 10 0 ○ 4 6 X 10 0 ○ 4 0 ○ 9 9 X 5 4 X 9 8 ○ 6 9 X 9 7 ○ 7 5 ○ 8 5 ○
  134. 134. Software DDA Interpolator P1 Q1 Y P2 Q2 X 8 2 ○ 7 2 ○
  135. 135. Software DDA Interpolator P1 Q1 Y P2 Q2 X 8 2 ○ 7 2 ○ 8 0 ○ 6 8 X
  136. 136. Software DDA Interpolator P1 Q1 Y P2 Q2 X 8 2 ○ 7 2 ○ 8 0 ○ 6 8 X 9 8 X 6 4 ○
  137. 137. Software DDA Interpolator P1 Q1 Y P2 Q2 X 8 2 ○ 7 2 ○ 8 0 ○ 6 8 X 9 8 X 6 4 ○ 9 7 ○ 5 9 X
  138. 138. 145 Software DDA Interpolator P1 Q1 Y P2 Q2 X 8 2 ○ 7 2 ○ 8 0 ○ 6 8 X 9 8 X 6 4 ○ 9 7 ○ 5 9 X 10 6 ○ 4 3 ○
  139. 139. Software DDA Interpolator P1 Q1 Y P2 Q2 X 8 2 ○ 7 2 ○ 8 0 ○ 6 8 X 9 8 X 6 4 ○ 9 7 ○ 5 9 X 10 6 ○ 4 3 ○ 10 6 ○ 3 6 X
  140. 140. Software DDA Interpolator P1 Q1 Y P2 Q2 X 8 2 ○ 7 2 ○ 8 0 ○ 6 8 X 9 8 X 6 4 ○ 9 7 ○ 5 9 X 10 6 ○ 4 3 ○ 10 6 ○ 3 6 X 10 6 ○ 2 8 X
  141. 141. Software DDA Interpolator P1 Q1 Y P2 Q2 X 8 2 ○ 7 2 ○ 8 0 ○ 6 8 X 9 8 X 6 4 ○ 9 7 ○ 5 9 X 10 6 ○ 4 3 ○ 10 6 ○ 3 6 X 10 6 ○ 2 8 X 10 6 ○ 1 9 X
  142. 142. Software DDA Interpolator P1 Q1 Y P2 Q2 X 8 2 ○ 7 2 ○ 8 0 ○ 6 8 X 9 8 X 6 4 ○ 9 7 ○ 5 9 X 10 6 ○ 4 3 ○ 10 6 ○ 3 6 X 10 6 ○ 2 8 X 10 6 ○ 1 9 X 10 6 ○ 0 9 X
  143. 143. Reference pulse method  Stairs Approximation Interpolator (incremental interpolator) 222 RYXD kkk  1. Dk < 0 : position (Xk,Yk) is located on the inside of a circle  +X 2. Dk > 0 : position (Xk,Yk) is located on the outside of a circle  -Y 3. Dk = 0 : One of the above rules can be arbitrarily selected and applied
  144. 144. Stairs Approximation Interpolator  Eight stairs for arc path
  145. 145. Stairs Approximation Interpolator  small amount of computation  less memory space  number of iteration steps (X0, Y0) : Start position (Xf, Yf) : position command |||| 00 ff YYXXN 
  146. 146. Stairs Approximation Interpolator  4 2 20  R R V f l  Interpolating a quarter circle  R : radius  N : number of iterations (2R)  VƖ : velocity  ƒ0 : frequency
  147. 147. Stairs Approximation Interpolator  Improved Stairs Approximation algorithm  When one step is added along the X-axis 222 , RYXD jiji  2 12 )1( 1 ,, 222 ,1      ii ijiiji jiji XX XDXD RYXD
  148. 148. Stairs Approximation Interpolator
  149. 149. Stairs Approximation Interpolator        0,10,,10,0,,10 00 222 ,  ffjiji YXYXYXD
  150. 150. Stairs Approximation Interpolator        0,10,,10,0,,10 00 222 ,  ffjiji YXYXYXD
  151. 151. Stairs Approximation Interpolator        0,10,,10,0,,10 00 222 ,  ffjiji YXYXYXD
  152. 152. Stairs Approximation Interpolator        0,10,,10,0,,10 00 222 ,  ffjiji YXYXYXD
  153. 153. Stairs Approximation Interpolator        0,10,,10,0,,10 00 222 ,  ffjiji YXYXYXD
  154. 154. Stairs Approximation Interpolator        0,10,,10,0,,10 00 222 ,  ffjiji YXYXYXD
  155. 155. Stairs Approximation Interpolator        0,10,,10,0,,10 00 222 ,  ffjiji YXYXYXD
  156. 156. Stairs Approximation Interpolator        0,10,,10,0,,10 00 222 ,  ffjiji YXYXYXD
  157. 157. Stairs Approximation Interpolator        0,10,,10,0,,10 00 222 ,  ffjiji YXYXYXD
  158. 158. Stairs Approximation Interpolator        0,10,,10,0,,10 00 222 ,  ffjiji YXYXYXD
  159. 159. Stairs Approximation Interpolator        0,10,,10,0,,10 00 222 ,  ffjiji YXYXYXD
  160. 160. Stairs Approximation Interpolator        0,10,,10,0,,10 00 222 ,  ffjiji YXYXYXD
  161. 161. Stairs Approximation Interpolator        0,10,,10,0,,10 00 222 ,  ffjiji YXYXYXD
  162. 162. Stairs Approximation Interpolator        0,10,,10,0,,10 00 222 ,  ffjiji YXYXYXD
  163. 163. Stairs Approximation Interpolator        0,10,,10,0,,10 00 222 ,  ffjiji YXYXYXD
  164. 164. Stairs Approximation Interpolator        0,10,,10,0,,10 00 222 ,  ffjiji YXYXYXD
  165. 165. Stairs Approximation Interpolator        0,10,,10,0,,10 00 222 ,  ffjiji YXYXYXD
  166. 166. Stairs Approximation Interpolator        0,10,,10,0,,10 00 222 ,  ffjiji YXYXYXD
  167. 167. Stairs Approximation Interpolator        0,10,,10,0,,10 00 222 ,  ffjiji YXYXYXD
  168. 168. Stairs Approximation Interpolator        0,10,,10,0,,10 00 222 ,  ffjiji YXYXYXD
  169. 169. Stairs Approximation Interpolator        0,10,,10,0,,10 00 222 ,  ffjiji YXYXYXD
  170. 170. Reference pulse method  Direct Search – simultaneous movement – optimal interpolation  searches through all possible directions  finds a direction with the minimum path error  radial error Ei, j   jiji ERD ,, 2
  171. 171. Direct Search  Finds a point having minimum error by estimating Di, j at possible points.  Three cases should be considered : 1. Consider X-axes 2. Consider Y-axes 3. Consider X-axes & Y-axes
  172. 172. Direct Search
  173. 173. Direct Search  Maximum error ½ BLU  The number of iterations is 30% smaller than that of the Stairs Approximation algorithm and about 20% smaller than that of the DDA software algorithm.  Frequency F VF  22 
  174. 174. Direct Search        0,10,,10,0,,10 00 222 ,  ffjiji YXYXYXD
  175. 175. Direct Search        0,10,,10,0,,10 00 222 ,  ffjiji YXYXYXD
  176. 176. Direct Search        0,10,,10,0,,10 00 222 ,  ffjiji YXYXYXD
  177. 177. Direct Search        0,10,,10,0,,10 00 222 ,  ffjiji YXYXYXD
  178. 178. Direct Search        0,10,,10,0,,10 00 222 ,  ffjiji YXYXYXD
  179. 179. Direct Search        0,10,,10,0,,10 00 222 ,  ffjiji YXYXYXD
  180. 180. Direct Search        0,10,,10,0,,10 00 222 ,  ffjiji YXYXYXD
  181. 181. Direct Search        0,10,,10,0,,10 00 222 ,  ffjiji YXYXYXD
  182. 182. Direct Search        0,10,,10,0,,10 00 222 ,  ffjiji YXYXYXD
  183. 183. Direct Search        0,10,,10,0,,10 00 222 ,  ffjiji YXYXYXD
  184. 184. Direct Search        0,10,,10,0,,10 00 222 ,  ffjiji YXYXYXD
  185. 185. Direct Search        0,10,,10,0,,10 00 222 ,  ffjiji YXYXYXD
  186. 186. Direct Search        0,10,,10,0,,10 00 222 ,  ffjiji YXYXYXD
  187. 187. Direct Search        0,10,,10,0,,10 00 222 ,  ffjiji YXYXYXD
  188. 188. Direct Search        0,10,,10,0,,10 00 222 ,  ffjiji YXYXYXD
  189. 189. Reference Pulse Interpolator Algorithms  Maximum allowable radius, consistency of feedrate, maximum allowable feedrate, and maximum error can be considered as performance indices for evaluating various reference-pulse interpolator algorithms
  190. 190. Sampled-Data Interpolation  Typical for modern CNC  Be repeated every constant time interval.  Reference Word Interpolator for Lines  Reference Word Interpolator for Circles  Radial Error and Chord Height Error
  191. 191. Reference Word Interpolator for Lines xxx ii 1 yyy ii 1  Fundamental idea : segmentation L xx LLx se   cos L yy LLy se   sin
  192. 192. Reference Word Interpolator for Lines ipoTVL     22 sese yyxxL  overridefeedVV  0
  193. 193. Reference Word Interpolator for Lines
  194. 194. Reference Word Interpolator for Lines         L L N int  The total number of iterations for the interpolation The typical method for processing the residual length is to allocate the remainder evenly to every interpolation time.
  195. 195. Reference Word Interpolator for Circles  Tangential velocity, V should be held on the circular path.  Circular path is approximated by small line segments.  The larger the number of line segments, the better the accuracy of interpolation.        tVtVtVtV yx  cossin     RVttwhere 
  196. 196. Reference Word Interpolator for Circles  Two successive interpolated points key factor
  197. 197. Reference Word Interpolator for Circles            iBiAi iBiAi   cossin1sin sincos1cos    sincos  BA       ii 1
  198. 198. Reference Word Interpolator for Circles      iiRiX cos      iiRiY sin      1cos1  iiRiX       1sin1  iiRiY       iBYiAXiX 1      iBXiAYiY 1            iBiAi iBiAi   cossin1sin sincos1cos  
  199. 199. Reference Word Interpolator for Circles                        iBXiYAiYiYiDY iBYiXAiXiXiDX   11 11            iDS iVDY iVy iDS iVDX iVx        iDYiDXiDS 22 
  200. 200. Radial Error and Chord Height Error  Radial error (ER) and chord height error (EH).
  201. 201. Radial Error and Chord Height Error  ER is an error from a truncation effect. ER can be approximated by coefficients A and B and this error is accumulated with iteration. At the ith iteration, ER can be computed approximately using     22 1 BACwhere RCiiER  
  202. 202. Radial Error and Chord Height Error  EH, chord height error, is not accumulated         2 1 2 1 2 cos1 2 cos 2 cos A iRRiEH A iRRiEH         
  203. 203. Reference Word Interpolator for Circles                                            22 22 11 1 11 1 iBXiYAiBYiXA iBXiYAV iVy iBXiYAiBYiXA iBYiXAV iVx          RBAiiER 122      2 1 A iRRiEH    sincos  BA
  204. 204. Euler Algorithm  Euler algorithm, cosα and sinα are approximated by first-order Taylor series expansion.  BA ,1           !4!2 1 !2 1 cos !5!3!12 1 sin 42 0 2 5 0 3 12 xx x n x xx xx n x n n n n n n              
  205. 205. Euler Algorithm  Since the series expansion is truncated, a radial error ER influences the accuracy of the algorithm   RER 112 2 max     RER  4max  For small 
  206. 206. Euler Algorithm  Quarter circle  Angle α :  Number of iteration steps N :  R 4 82 RN 
  207. 207. Improved Euler Algorithm                      iXiYiBXiAYiY iYiXiBYiAXiX     2 111 1      iYiX  1  The radial error ER of the Improved Euler algorithm is maximized at or 4 
  208. 208. Improved Euler Algorithm  Quarter circle  Angle α :  Number of iteration steps N : R4 8RN 
  209. 209. Taylor Algorithm  In the Taylor algorithm, the coefficients A and B are approximated as a truncated series.   BA , 2 1 1 2           !4!2 1 !2 1 cos !5!3!12 1 sin 42 0 2 5 0 3 12 xx x n x xx xx n x n n n n n n              
  210. 210. Taylor Algorithm  Maximum radial error  Chord height error EH 161 4 1 1 2 34 max    RRER                 iRiRRiRREH 8 4 1 1 24   82 max REH  When R(i) = R maxmax 2 EHER  
  211. 211. Taylor Algorithm  Quarter circle  Angle α :  Number of iteration steps N : R8  8N
  212. 212. Tustin Algorithm  The Tustin algorithm is based on an approximation relationship between differential operators and a discrete variable z  A and B :          1 12 z z T s      22 2 2121 21          BA
  213. 213. Tustin Algorithm                                   iXiYiDY iYiXiDX       221 1 221 1 2 2 2 2                                iXiY R V iV iYiX R V iV y x 221 221 2 2    
  214. 214. Tustin Algorithm  ER :  EH:   0iER    2 21   R RiEH   RiEH 82 2      is very small
  215. 215. Tustin Algorithm  Quarter circle  Angle α :  Number of iteration steps N : RR 8 1 8    2 4 RN  
  216. 216. Improved Tustin Algorithm  Idea is ER : 0  1  Increase angle α and the efficiency of the algorithm increases  ER = 1, EH = 1
  217. 217. Improved Tustin Algorithm 1 1 2 cos    R R 8 1 2 1 1 2 1 1 22             AR R RR 4 1 16   
  218. 218. Improved Tustin Algorithm  Quarter circle  Angle α :  Number of iteration steps N : RR 4 1 16    RN 8  
  219. 219. Improved Tustin Algorithm  General case when ER and EH are set to β                     R R R R RRi 1 cos2 2 cos
  220. 220. Sampled-Data Interpolation  characteristics
  221. 221. Fine Interpolation  When the sampling interval for rough interpolation and pulse train after acceleration/deceleration is larger than that of position control, fine interpolation is performed.  EX: – sampling interval for rough interpolation : 4ms – sampling interval for position control : 1ms
  222. 222. Fine Interpolation  Linear method     ipotiji N ip ja  ,
  223. 223. Fine Interpolation  Moving average method               2 ,, ' '' 1 2 2' 2 1 2 jbjb jb N kja jb N kja jb N N k N N k         
  224. 224. Fine Interpolation                           2 4 112 4 211 ' '' ' jbjb jb jajajaja jb jajajaja jb      
  225. 225. NURBS Interpolation  In CNC free-form curves can be approximated by a set of line segments or circle arcs  Short segments result in inconsistency of feedrate  Reduces the surface quality  Many blocks are required to define these short path sand the size of the part program increases dramatically
  226. 226. NURBS Interpolation  CNC itself directly converts NURBS curve data from the part program into small line segments, using positions calculated from the NURBS curve data.  Reduce the size of the part program  Increase the machining speed
  227. 227. NURBS Equation Form  With NURBS geometry it is possible to define free-form curves with complex shapes by using less data and to represent various geometric shapes by changing parameters.  NURBS geometry is generally used in CAD/CAM systems.
  228. 228. NURBS Equation Form       bua wuN PwuN up i n i pi ii n i pi      0 , 0 ,  uNi 0,  Mathematical form of a NURBS curve  where Ni,p(u) is a B-spline basis function      uN uu uu uN uu uu uN pi ipi pi pi ipi i pi 1,1 11 1 1,,            1 if ui  u  ui+1 0 otherwise
  229. 229. NURBS Geometric Characteristics  The shape of a NURBS curve is defined based on control points, knots, and weights.  Control points define the basic position of the curve.  Weights decide the importance of individual control points.  Knots decide the tangents of curves.
  230. 230. NURBS Geometric Characteristics V1 V2 V3 V4 V5 V6
  231. 231. NURBS Geometric Characteristics V1 V2 V3 V4 V5 V6 V4 move control point V4
  232. 232. NURBS Geometric Characteristics V1 V2 V3 V4 V5 V6 Change weight of control point V6
  233. 233. NURBS Interpolation Algorithm  Two stages  successive interpolated points are obtained with a maximum allowable interpolation error.  Check to determine whether it exceeds the allowable acceleration. If necessary, a new interpolated point is calculated that satisfies the allowable acceleration.
  234. 234. NURBS Interpolation Errors Interpolation error
  235. 235. NURBS Interpolation Errors      822 1 1 11 2 cos 11 22                         h approximate by a second-order Taylor series expansion.
  236. 236. NURBS Interpolation Errors h 22 PQ h PQs   8       2 8 PQ h 
  237. 237. NURBS Interpolation Errors      max8  TtFL
  238. 238. Acceleration Control keeping Axis-Velocity Limit
  239. 239. Summary  Hardware  NC systems – DDA  Software  Modern CNC systems – reference pulse  high-accuracy – sampled-data  high-speed  NURBS – still under investigation – speed reduction, poor surface quality, poor machining accuracy  been solved
  240. 240. Theory and Design of CNC Systems Chapter 4 Acceleration and Deceleration
  241. 241. OutLine  Introduction  Acc/Dec Control After Interpolation – Acc/Dec Control by Digital Filter – Acc/Dec Control by Digital Circuit  Linear-type Acc/Dec Control  S-shape-type Acc/Dec Control  Exponential-type Acc/Dec Control – Acc/Dec Control Machining Errors  Machining Error with Linear Type Acc/Dec Control  Machining Error with S-shape-type Acc/Dec Control  Machining Error with Exponential Type Acc/Dec Control  Machining Error Summary – Block Overlap in ADCAI
  242. 242. OutLine  Acc/Dec Control Before Interpolation – Speed-profile Generation – Block Overlap Control  Classification of Continuous Blocks  Normal Block/Normal Block, Identical Speed  Normal Block (High Speed)/Normal Block (Low Speed)  Normal Block (Low Speed)/Normal Block (High Speed)  Short Block/Normal Block with Identical Speed  Short Block/Normal Block with Different Speed  Normal Block/Short Block with Identical Speed  Normal Block/Short Block with Different Speed  Short Block/Short Block with Identical Speed  Short Block (High Speed)/Short Block (Low Speed)  Short Block (Low Speed)/Short Block (High Speed)  Overlap Between a Linear and a Circular Profile – Corner Speed of Two Blocks Connected by an Acute Angle – Corner Speed Considering Speed Difference of Each Axis  Look Ahead – Look-Ahead Algorithm  Look Ahead with Respect to Length  Speed at a Corner  Look Ahead considering Length and Corner  Speed within Block – Simulation Results  Summary
  243. 243. Introduction(1)  Processing order of acceleration and deceleration control – Acc/Dec control before interpolation (ADCBI) – Acc/Dec control after interpolation (ADCAI)
  244. 244. Introduction(2)  ADCBI – constructed differently according to the interpolation type such as linear-, exponential- and S-curve-type interpolation. – needs to hold a lot of information, related to all the interpolated points. – does not result in machining error because of the increased accuracy. – requires more computing power and larger memory
  245. 245. Introduction(3)  ADCAI – is applied in an identical manner for all interpolation methods. – implementation is simple but machining errors occur because each axis movement is determined separately – the interpolated points deviate from the desired path.
  246. 246. Acc/Dec Control After Interpolation  ADCAI
  247. 247. Acc/Dec Control After Interpolation  has been widely used for NC and Motion Control systems in both hardware and software interpolation. Change to pulse profile after Acc/Dec control
  248. 248. Acc/Dec Control by Digital Filter  Digital filter theory – if input signal x[n] is entered into the filter with impulse response h[n], the output signal y[n] is represented by the convolution of h[n] and x[n].  the general convolution of f1[n] and f2[n] for a discrete time system. ]0[][...][][...][]0[ ][][][ 212121 21 fnfknfkfnff nfnfnf     n k knfkfnfnfnf 1 2121 ][][][][][
  249. 249. Acc/Dec Control by Digital Filter  x[n] is defined as the output of a rough interpolator  h[n] as the impulse response that has the normalized unit summation
  250. 250. Acc/Dec Control by Digital Filter
  251. 251. Acc/Dec Control by Digital Filter 11 1 1 1 11 1 11 )()()( exp 1 1 )( 1 11 )(                      z z mz z m zHzHzH where z zH z z m zH mm LLS T E m L     Linear-type filter Exponential-type filter S-shape-type filter  By using various digital filters different output profiles can be obtained even when identical input pulses are used. T : sampling time;  : time constant for Acc/Dec control
  252. 252. Acc/Dec Control by Digital Filter  the Acc/Dec pulse profile generated by passing the input signal Vi through the above-mentioned filters can be represented by a recursive equation.  recursive equations : )1())()(( 1 )(  kVmkVkV m kV OiiLO )1())1()()(1()(  kVkVkVkV OOiEO  )1())()(( 1 )( )1())()(( 1 )(   kVmkVkV m kVwhere kVmkVkV m kV OOtempOtempOtemp OtempiiSO Linear-type Acc/Dec pulse profile Exponential-type Acc/Dec pulse profile S-shape-type Acc/Dec pulse profile
  253. 253. Acc/Dec Control by Digital Circuit  Hardware : shift register, a divider and an accumulator  Software : simple recursive equation & short calculation time.  the pulse profile from rough interpolation is used as input of the Acc/Dec control circuit.  The Acc/Dec control circuit plays the role of smoothing the change of pulse amount at the beginning and the end of a pulse profile.
  254. 254. Linear-type Acc/Dec Control  Hardware : Adder, Accumulator, SUM, Divider unit connections nkSkX nkXkXkSkS /)()( )()()1()( 0   )1())()(( 1 )(  kVmkVkV m kV OiiLO
  255. 255. Linear-type Acc/Dec Control  EX : n = 5 nT Acc/Dec time : nkSkX nkXkXkSkS /)()( )()()1()( 0  
  256. 256. Linear-type Acc/Dec Control  the maximum number of output pulses is different from the number of input pulses
  257. 257. S-shape-type Acc/Dec Control  The circuit consists of n buffer registers, n Multipliers, an Adder, and a Divider.
  258. 258. S-shape-type Acc/Dec Control  EX1 : – number of buffer registers is five – K1 = K2 = K3 = K4 = K5 = 1.
  259. 259. S-shape-type Acc/Dec Control  EX2 : – number of buffer registers is five – K1 = 0.5, K2 = 1, K3 = 2, K4 = 1, K5 = 0.5.
  260. 260. Exponential-type Acc/Dec Control pulse generator
  261. 261. Exponential-type Acc/Dec Control iF The number of generated pulses, N, determines the displacement of an axis the frequency, Fi, determines the speed of that axis d dc tt ttf   0 )0(
  262. 262. Exponential-type Acc/Dec Control tFFX i  )( 0 tXFY a n Y tF 2 0  
  263. 263. Exponential-type Acc/Dec Control 0)0()0( 2 )( 0 0     YX dy dtF dtxFdy dtFFdx n a i we approximate Δ t, Δ X, and ΔY with dt, dx, and dy
  264. 264. Exponential-type Acc/Dec Control X tt d X tt X t i d a n X t i t F i d ddd n a etFeeFtF ttii F XeFeFtF tti )( 0 )( 0 2 0 )()1()( )( 2 ),1()1()( 0)(          ACC/Dec time; n, time ; n, time 
  265. 265. Exponential-type Acc/Dec Control ii FTP  )()1()(ˆ kPkxkX i n ky kO 2 )( )(  )1()()(0  kOkOkP )()(ˆ)( 0 kPkxkx  )(ˆ)1()( kxkyky  Sampling time register p at k-1 #pulses input #overflow pulses
  266. 266. Exponential-type Acc/Dec Control  By using the Z-transformation )()(ˆ)( )( 1 )()( 2 )( )( )(ˆ)( 1 )( )()( 1 )(ˆ 0 0 zPzXzX zO z zOzP zY zO zXzY z zY zPzX z zX n i      Time domain Z-domain ][ knx  )(zxz k Time shifting
  267. 267. Exponential-type Acc/Dec Control n i zP z zP zP z zP 2 )( 1 )( )( 1 )( 0 00   n i kPkP kPkP 2 )1()( )1()( 0 00   n T 2 inverse Z-Transformation Acc/Dec time constant )1())1()()(1()(  kVkVkVkV OOiEO 
  268. 268. Acc/Dec Control Machining Errors  linear path on the XY plane, Acc/Dec control is constant, machining error does not occur.  circular path on the XY plane, Acc/Dec control circuit is actually a sine wave or cosine wave form, machining error occur.  the summation of input pulses and the summation of output pulses are identical  with the distortion of the speed at the beginning and end of acceleration and deceleration, the speed ratio between the X-axis and Y-axis is changed  a deviation between the programmed path and the path after Acc/Dec control
  269. 269. Acc/Dec Control Machining Errors  feedrate for a circular path is F(mm/min).  the radius of the circular path is R(mm).     R F w wtRwtV wtRwtV y x    cos)( sin)( 22 22 )( )( ws s RwsV ws w RwsV y x     By applying Laplace transformation
  270. 270. Machining Error with Linear Type Acc/Dec Control )1( 11 )( s l e s sH         1 ]1][ 2 1 [ ]1[ 111 )()()( 22 22 RwKwhere e ws s w K e wss Rw sVsHsW s s xlx           ) 2 (sin)( 2 sin 2 )(    twRw w w tWx where τ represents the Acc/Dec time impulse response : Output : inverse Laplace transform :
  271. 271. Machining Error with Linear Type Acc/Dec Control R w w R tw w w Rr 2 sin 2 ) 2 (cos 2 sin 2       R F w R Rtherefore ww w RR w w RRRR 2 222 33 24 1 24 )} !382 ( 2 1{ ) 2 sin 2 1(                 0 12 )!12( )1(sin n n n n z z radius of the circular path after applying the Linear-type Acc/Dec control: after Acc/Dec time (t >τ ) machining error : Taylor series
  272. 272. Machining Error with S-shape-type Acc/Dec Control )21( 14 )( 2 22 s s s ee s sH       2 2 222 2 222 4 ]21][ 11 [ ]21[ 4 )()()(       RwKwhere ee wssw K ee ws w Rw sVsHsW s s s s xsx             )}](sin 1 {)} 2 (sin 2 {2}sin 1 [{)(    tw w ttwtwt w t w K tWx where τ represents the Acc/Dec time impulse response : Output : inverse Laplace transform :
  273. 273. Machining Error with S-shape-type Acc/Dec Control R w w R tw w w Rr ) 2 cos1( 8 ) 2 (sin) 2 cos1( 8 22 22       R F w R Rso ww w RR w w RRRR 2 222 4 4422 22 22 48 1 48 )} !42!24 ( 8 1{ )] 2 cos1( 8 1[                 0 2 )!2( )1(cos n n n n z z radius of the circular path after applying the S-shape-type Acc/Dec control: after Acc/Dec machining error : Taylor series
  274. 274. Machining Error with Exponential Type Acc/Dec Control   1 1 )(   s sHe   1 , 1 11 )()()( 22 22       aRwKwhere ws w as K ws w as Rw sVsHsW xex wt w C wtBAetW at x sincos)(   where τ represents the Acc/Dec time impulse response : Output : inverse Laplace transform : 222222 ,, aw awK C aw wK B aw wK Awhere       
  275. 275. Machining Error with Exponential Type Acc/Dec Control 2 2 2 2 2 2 222 2 2 2 2 2 2 2 1 1 1 1 11 )sin( 1 a w R a wa K w a aw wK w a B w C BR wt w C B w e a A r at             radius of the circular path after applying the Exponential-type Acc/Dec control: after Acc/Dec           2 2 21 cos w C Bwhere
  276. 276. Machining Error with Exponential Type Acc/Dec Control R F a wR Rso a w a w RR a w RRRR 2 2 2 42 2 2 2 1 2 }] 8 3 2 1 1{1[ 1 1 1                                                     32 0 !3 )2)(1( !2 )1( 1 )1( 1 z mmm z mm mz z z n n m n m machining error : binomial series
  277. 277. Machining Error Summary
  278. 278. Block Overlap in ADCAI  G-code system provides various instructions for controlling axes  Setting the block control mode is one of the G-code functions  EX : FANUC controller – exact stop mode (G61) – continuous mode (G64)
  279. 279. Block Overlap in ADCAI  Exact stop mode generally results in reduction of machined surface quality due to the stoppage of axis movement and increases machining time due to acceleration and deceleration for all blocks.
  280. 280. Block Overlap in ADCAI  In continuous mode, the tool begins the movement to the successive block before the tool reaches the end of the block. Unlike exact stop mode, this mode does not result in reduction of the surface quality and increase in machining time machining error
  281. 281. Block Overlap in ADCAI  X-axis interpolation and Acc/Dec control
  282. 282. Block Overlap in ADCAI  Time–pulse graph for two successive blocks
  283. 283. Acc/Dec Control Before Interpolation   
  284. 284. Acc/Dec Control Before Interpolation
  285. 285. Speed-profile Generation  the path length – L(mm)  the allowable acceleration and deceleration – A(mm/s2) & D(mm/s2)  the iteration time for rough interpolation – (s)  the commanded feedrate – F(mm/s)
  286. 286. Speed-profile Generation L D F A F  22 22 L D F A F  22 22 Normal block & Short block
  287. 287. Speed-profile Generation A F TA  D F TD  F D F A F L TC 22 22   Normal block
  288. 288. Speed-profile Generation 2 )(' DA TTF L   A F TA '  D F TD '  'F Short block
  289. 289. Speed-profile Generation  In the acceleration range (interpolation)  In the constant speed range (interpolation)   A A i i ii i Aii T N iL ViVwhere A VV L , ..., N,,iAVV        time.samplethfor thentdisplacemetheis 0andintervalththeofvelocitytheis, 2 )210( 0 22 1 1   FLi 
  290. 290. Speed-profile Generation  In the deceleration range (interpolation)   D D i i ii i Aii T N iL FViVwhere D VV L , ..., N,,iDVV        time.samplethfor thentdisplacemetheis andintervalththeofvelocitytheis, 2 )210( 0 22 1 1  
  291. 291. Block Overlap Control  Multiple linear blocks and circular blocks.  The successive blocks should be considered.  All possible cases for connection relationships will be addressed.
  292. 292. Classification of Continuous Blocks  Two successive blocks – Normal block & short block – Type of block & difference of commanded feedrate  Twelve types  The direction of two successive blocks is identical
  293. 293. Classification of Continuous Blocks  Classified into eight types
  294. 294. Normal Block/Normal Block, Identical Speed F A F L TC 2 2 1 1   F D F L TC 2 2 2 2   A F TA 1 D F TD 2
  295. 295. Normal Block (High Speed)/Normal Block (Low Speed) A F TA 1 1  D FF TD 21 1   1 2 2 2 1 2 1 1 1 22 F D FF A F L TC    D F TD 2 2  2 2 2 2 2 2 F D F L TC  
  296. 296. Normal Block (Low Speed)/Normal Block (High Speed) A F TA 1 1  A FF TA 12 2   1 2 1 1 1 2 F A F L TC   D F TD 2 2  2 2 2 2 1 2 2 2 2 22 F D F A FF L TC    
  297. 297. Short Block/Normal Block with Identical Speed 12' ALF  A F TA ' 1  A FF TA '2 2   2 2 2 22 2 2 2 22 ' F D F A FF L TC     D F TD 2 2 2 2 
  298. 298. Short Block/Normal Block with Identical Speed  這種情況也可能? 'F
  299. 299. Short Block/Normal Block with Different Speed  same method as Identical Speed  Ps:似乎認定在short block的情況,把所有路 程都加速也無法達到命令的速度,但實際上 卻可能出現加速過頭的情況。
  300. 300. Normal Block/Short Block with Identical Speed 22' DLF  A F TA 1 1  D FF TD '1 1   1 22 1 2 1 1 1 2 ' 2 F D FF A F L TC    D F TD 2 2 ' 
  301. 301. Normal Block/Short Block with Different Speed  same method as Identical Speed  Orz………..
  302. 302. Short Block/Short Block with Identical Speed 22 11 2' 2' ALF ALF   12 2 max 22 max 21 22 max 2 max '' 22 ' '' 2 ' 2 FFifL D F A FF FFifL D FF A F      A F TA max 1  D FF TD 'max 1   D F TD 2 2 '  )','min(' 21 FFF 
  303. 303. Short Block (High Speed)/Short Block (Low Speed)  the speed profile can be identically obtained by the method of Short Block/Short Block with Identical Speed.
  304. 304. Short Block (Low Speed)/Short Block (High Speed)  the speed profile can be identically obtained by the method of Short Block/Short Block with Identical Speed.
  305. 305. Overlap Between a Linear and a Circular Profile  circular-path – The change of the axis speed results in mechanical shock – The mechanical shock is proportional to the acceleration. – necessary to restrict the maximum allowable acceleration for a circular path
  306. 306. Overlap Between a Linear and a Circular Profile  the speed & acceleration of each axis R F where tFVtFV yx     , sincos tFAtFA yx  cossin 
  307. 307. Overlap Between a Linear and a Circular Profile  radius : Ro  If radius : Rc 22 yxooyy oxx FFFRAF RAF   o c o o o c R R FF R F R F  1 22 1 ,
  308. 308. Overlap Between a Linear and a Circular Profile EX :
  309. 309. Corner Speed of Two Blocks Connected by an Acute Angle  two successive blocks with different directions  acceleration at the corner controlpositionfortimesampilingtheis,where cos21 pos pos C T T FF A  
  310. 310. Corner Speed of Two Blocks Connected by an Acute Angle  If Ac > Amax, a mechanical shock or vibration can occur.  commanded feedrate, the length of blocks, the allowable acceleration and the corner speed , a speed profile can be generated. onacceleratiallowablemaximumthes,where cos1 iA AT F pos C  
  311. 311. Corner Speed Considering Speed Difference of Each Axis  another method for deciding the corner speed  individual servo motors & allowable acceleration value for each axis ii iAi SESE Y SE X SESE Y SE X NL NAVwhere L Z FV L YY FV L XX FV L Z FV L YY FV L XX FV blockoflengththeis blockofvelocityofcomponentaxistheis , Z ,, , Z ,, 2 22 22Z 2 22 22 2 22 22 1 11 11Z 1 11 11 1 11 11             
  312. 312. Corner Speed Considering Speed Difference of Each Axis  The difference in speed along the directions of each axis  the smallest of the speed change ratios (Q) the maximum allowable change of speed along each axis asΔVmx, ΔVmy, ΔVmz )(),(),( 121212 ZZZYYYXXX VVVVVVVVV  },,min{ z mz y my x mx V V V V V V Q       
  313. 313. Corner Speed Considering Speed Difference of Each Axis  If Q < 1  Although discontinuity of speed occurs, this does not result in any problem because the speed change is enough small for a servo motor to follow the changed speed. 2211 , FQFFQF SE 
  314. 314. Look Ahead  Speed & accuracy  In the ADCBI type of NCK, the accuracy of machining is very high (theoretically the error is zero) and sudden change of feedrate is a major factor of machining error.  necessary to smooth down change of feedrate and limit the axis speed to an allowable value.  two short blocks are connected, the length of two blocks is too short to reach the commanded feedrate and the resulting speed profile shows a special shape similar to a saw tooth
  315. 315. Look Ahead  EX : – 15 line segments, the radius of the half-circle is 10 mm, the commanded feedrate is 400 mm/min, and the allowable acceleration is 9600 mm/min.
  316. 316. Look Ahead  The maximum reachable feedrate is 141.78mm/min and acceleration and deceleration were repeated. Speed profile for circular profile
  317. 317. Look Ahead  The Look Ahead algorithm enables minimization of the decrease of feedrate by calculating the maximum allowable feedrate and the end feedrate for a current block investigating not only the current block but also successive blocks.  The latest FANUC controller is able to calculate the end speed of a current block by pre-interpreting about 1000 blocks
  318. 318. Look Ahead Algorithm  A Look Ahead algorithm calculates the start speed and the end speed of each block based on the remaining length of the successive blocks and the maximum allowable acceleration.
  319. 319. Look Ahead with Respect to Length LAVV f  22 0 { , , FVV FVFfV    After Look Ahead
  320. 320. Look Ahead with Respect to Length  it is assumed that the end speed of the last block among the look-ahead blocks is zero.
  321. 321. Speed at a Corner  Two methods : – Corner Speed of Two Blocks Connected by an Acute Angle – Corner Speed Considering Speed Difference of Each Axis
  322. 322. Look Ahead considering Length and Corner 1 2 … N-1 N Ve(N)=0 Ve(N-1) Vs(N) Ve(1) Vs(2) current block
  323. 323. Look Ahead considering Length and Corner tot se S A VV   2 )1()1( 22 )1()1(1 1 2 , 2)1()1( es VVif otherwise totse signwhere ASsignVV    Vs Ve Stot
  324. 324. Look Ahead considering Length and Corner R V eperformanc 2 )(  S E error T ER R R V    1 cos2 E : denotes the chordal error  :performance index
  325. 325. Speed within Block remei LFF 2 22 2 remei LFF 2 2 2
  326. 326. Simulation Results ASVV es 22  2839600094.222002 )3( eV 15 line segments, the radius of the half-circle is 10 mm, the commanded feedrate is 400 mm/min, and the allowable acceleration is 9600 mm/min. Look-ahead buffer size 2 Look-ahead buffer size 3 S=2.094 2009600094.2202 )2( eV 0 0 0 0 200 200283 200200 0 245.17 283 0200283 316.53
  327. 327. Simulation Results Look-ahead buffer size 6
  328. 328. Simulation Results feedrate of the paths is 2000 mm/min, the acceleration time is 200 msec, and the maximum allowable acceleration is 200000 mm/min2 EX :
  329. 329. Summary  ADCBI – the speed profile for two successive blocks is generated by considering the type of the current block – an arc path generates acceleration and deceleration due to the change of velocity and the acceleration and deceleration generate a mechanical shock – the method of determining the corner speed, two methods were introduced  ADCAI – Acc/Dec control is applied to each axis separately and thisleads to machining error in the case of machining an arc – ADCAI + Look Ahead algorithm  reduce the machining error within a specified amount  ADCBI-type NCK is widely used for high-speed machining and ADCAI- type NCK is used for machining where high accuracy is not important, such as roughing machining. shockmechanical A
  330. 330. Theory and Design of CNC Systems Chapter 5 PID Control System
  331. 331. Introduction The majority of CNC system. Compensation
  332. 332. Introduction  Adaptive Control
  333. 333. Introduction  Error Compensation
  334. 334. The Servo Controller
  335. 335. Servo Control for Positioning ε ε
  336. 336. Servo Control for Positioning
  337. 337. Servo Control for Positioning
  338. 338. PID Controller
  339. 339. PID Controller
  340. 340. PID Controller
  341. 341. PID Gain Tuning Marlin PID Auto Tune
  342. 342. PID Gain Tuning  Relay Gain Tuning
  343. 343. PID Gain Tuning  Relay Gain Tuning
  344. 344. PID Gain Tuning  Relay Gain Tuning
  345. 345. PID Gain Tuning  Relay Gain Tuning
  346. 346. PID Gain Tuning  Relay Gain Tuning
  347. 347. PID Gain Tuning  Relay Gain Tuning
  348. 348. PID Gain Tuning  Relay Gain Tuning
  349. 349. PID Gain Tuning  Relay Gain Tuning
  350. 350. PID Gain Tuning  Relay Gain Tuning Step 1 to 5
  351. 351. PID Gain Tuning  Relay Gain Tuning Step 6
  352. 352. PID Gain Tuning  Relay Gain Tuning Step 6
  353. 353. PID Gain Tuning  Relay Gain Tuning Step 7 to 8
  354. 354. Feedforward Control
  355. 355. Feedforward Control
  356. 356. Feedforward Control
  357. 357. Feedforward Control  ZPETC (Zero Phase Error Tracking Control)
  358. 358. Feedforward Control  ZPETC (Zero Phase Error Tracking Control)
  359. 359. Feedforward Control  IKF (Inverse Compensation Filter)
  360. 360. Feedforward Control  Causal/Non-causal FIR (Finite Impulse Response)
  361. 361. Feedforward Control  Causal/Non-causal FIR (Finite Impulse Response)
  362. 362. Feedforward Control  Causal/Non-causal FIR (Finite Impulse Response)
  363. 363. Speed Feedforward Controller
  364. 364. Speed Feedforward Controller
  365. 365. Torque Feedforward Controller
  366. 366. Torque Feedforward Controller
  367. 367. The Following Error  Feedback Controller Proper transfer function
  368. 368. The Following Error  Feedback Controller =
  369. 369. The Following Error  Feedback Controller
  370. 370. The Following Error  Feedback Controller
  371. 371. The Following Error  Feedback Controller
  372. 372. The Following Error  Feedback Controller
  373. 373. The Following Error  Feedback Controller
  374. 374. The Following Error  Feedforward Controller
  375. 375. The Following Error  Comparison of Following Error Without Feedforward
  376. 376. The Following Error  Comparison of Following Error
  377. 377. Chapter 6
  378. 378.  
  379. 379. Linear Interpolator
  380. 380. Linear Interpolator  For practical implementation of the interpolator, however, there is something to be considered besides the above- mentioned procedure. In general, the moving length of an axis is not an exact multiple of pulses. In this case, numerical error can be accumulated because of the significant figures of numerical computation on a computer and this accumulated numerical error causes reduction of the accuracy of the interpolator.
  381. 381. Linear Interpolator   
  382. 382. Circular Interpolator
  383. 383. Fine Interpolator
  384. 384.
  385. 385.
  386. 386. Fine Interpolator
  387. 387.
  388. 388.
  389. 389. Look-Ahead
  390. 390.
  391. 391.  LookAhead()  DetermineIBlockVelocity()  DetermineVelocityBetweenLL()  DetermineVelocityBetweenLC()  DetermineVelocityBetweenCL()  DetermineVelocityBetweenCC()
  392. 392.
  393. 393. Flowchart for LineNormalBlock function
  394. 394. Flowchart for LineSmallBlock
  395. 395.
  396. 396.
  397. 397.
  398. 398.  
  399. 399. Theory and Design of CNC Systems Chapter 7 Programmable Logic Control
  400. 400. Introduction A software-based PLC system has the following advantages compared with a hardware-based sequence control system.
  401. 401. Introduction
  402. 402. PLC Elements The Elements of a PLC system.
  403. 403. PLC Elements The Elements of a PLC system.
  404. 404. PLC Elements The interpreter-type PLC system.
  405. 405. PLC Elements The interpreter-type PLC system.
  406. 406. PLC Elements The compiler-type PLC system.
  407. 407. PLC Elements The compiler-type PLC system.
  408. 408. PLC Programming The graphical language and textual language.
  409. 409. PLC Programming The graphical language and textual language.
  410. 410. PLC Programming The Command sets for Yasnac’s PLC programming.
  411. 411. PLC Programming The Command sets for Yasnac’s PLC programming.
  412. 412. Machine Tool PLC Programming
  413. 413. Machine Tool PLC Programming
  414. 414. Machine Tool PLC Programming
  415. 415. Machine Tool PLC Programming
  416. 416. Machine Tool PLC Programming
  417. 417. Machine Tool PLC Programming
  418. 418. Machine Tool PLC Programming
  419. 419. Machine Tool PLC Programming
  420. 420. PLC System Functions
  421. 421. PLC System Functions IEC61131添加6, 作為國際標準的編號
  422. 422. PLC System Functions
  423. 423. PLC System Functions
  424. 424. Software Model
  425. 425. Software Model
  426. 426. Software Model
  427. 427. Software Model
  428. 428. Programming Model
  429. 429. Programming Model
  430. 430. Programming Model 2 限定符: 限定動作的處理方法
  431. 431. Programming Model
  432. 432. Programming Model
  433. 433. Programming Model
  434. 434. Programming Model LD(Ladder Diagram) FBD(Function Block Diagram)
  435. 435. Soft PLC
  436. 436. Soft PLC
  437. 437. PLC System Functions
  438. 438. PLC System Functions
  439. 439. PLC Commands and Functions
  440. 440. PLC Commands and Functions
  441. 441. PLC Commands and Functions
  442. 442. PLC Commands and Functions
  443. 443. PLC Commands and Functions
  444. 444. PLC Commands and Functions
  445. 445. Executor Implementation Example  Stack Register
  446. 446. Executor Implementation Example  Class Definition
  447. 447. Executor Implementation Example  Class Definition ::
  448. 448. Executor Implementation Example
  449. 449. Executor Implementation Example
  450. 450. Executor Implementation Example
  451. 451. Executor Implementation Example
  452. 452. Executor Implementation Example
  453. 453. Executor Implementation Example
  454. 454. Executor Implementation Example
  455. 455. Executor Implementation Example
  456. 456. Executor Implementation Example
  457. 457. Executor Implementation Example
  458. 458. Executor Implementation Example
  459. 459. Executor Implementation Example
  460. 460. Executor Implementation Example
  461. 461. Executor Implementation Example
  462. 462. Executor Implementation Example
  463. 463. Executor Implementation Example ||
  464. 464. Executor Implementation Example
  465. 465. Executor Implementation Example
  466. 466. Executor Implementation Example
  467. 467. Executor Implementation Example
  468. 468. Executor Implementation Example
  469. 469. Executor Implementation Example
  470. 470. Executor Implementation Example
  471. 471. Executor Implementation Example ANDN ANDN
  472. 472. Executor Implementation Example
  473. 473. Executor Implementation Example
  474. 474. Executor Implementation Example ANDN ANDN
  475. 475. Executor Implementation Example
  476. 476. Theory and Design of CNC Systems Chapter 8 Man-Machine Interface
  477. 477. Introduction  The functions of the Man-Machine Interface (MMI): – Operate a machine tool. – Edit a part program. – Perform the part program. – Set the parameters. – Transmit data.
  478. 478. Typical operation panel Manual Pulse Generator
  479. 479. Area for Status Display
  480. 480. Area for Status Display
  481. 481. Area for Status Display
  482. 482. Area for Data Input
  483. 483. Area for MPG Handling
  484. 484. Area for Machine Operation
  485. 485. Area for Machine Operation
  486. 486. Area for Machine Operation
  487. 487. Structure of the MMI System
  488. 488. Application Layer
  489. 489. Kernel Layer
  490. 490. Kernel Layer
  491. 491. CNC Programming
  492. 492. The Sequence of Part Programming
  493. 493. Programming Methods
  494. 494. Manual Part Programming
  495. 495. Automatic Part Programming
  496. 496. Language-type Programming
  497. 497. Language-type Programming
  498. 498. Language-type Programming 選擇刀具 指定輪廓外容差 指定刀具軸向 指定起刀點 快速進刀 指定厚度
  499. 499. Language-type Programming
  500. 500. Language-type Programming
  501. 501. Language-type Programming
  502. 502. Conversational Programming
  503. 503. Conversational Programming
  504. 504. Conversational Programming
  505. 505. CAM Systems & Shopfloor Programming
  506. 506. CAM Systems
  507. 507. Shopfloor Programming
  508. 508. Shopfloor Programming
  509. 509. Shopfloor Programming
  510. 510. Shopfloor Programming
  511. 511. Shopfloor Programming
  512. 512. Shopfloor Programming
  513. 513. Shopfloor Programming
  514. 514. Shopfloor Programming
  515. 515. Shopfloor Programming
  516. 516. Shopfloor Programming
  517. 517. Shopfloor Programming
  518. 518. Shopfloor Programming
  519. 519. Mazatrol Conversational System
  520. 520. Mazatrol Conversational System
  521. 521. Mazatrol Conversational System
  522. 522. Mazatrol Conversational System
  523. 523. Mazatrol Conversational System
  524. 524. Mazatrol Conversational System
  525. 525. Mazatrol Conversational System
  526. 526. Mazatrol Conversational System
  527. 527. Mazatrol Conversational System
  528. 528. Mazatrol Conversational System
  529. 529. Mazatrol Programming Procedure
  530. 530. Mazatrol Programming Procedure
  531. 531. Conversational Programming System Design
  532. 532. Conversational Programming System Design  Main Sequence for Design
  533. 533. Conversational Programming System Design
  534. 534. Conversational Programming System Design  The key points for designing a conversational programming system with an easy-to-use user interface:
  535. 535. Conversational Programming System Design  Initial Setup
  536. 536. Conversational Programming System Design  Initial Setup
  537. 537. Conversational Programming System Design  Machining Operation Cycle
  538. 538. Conversational Programming System Design
  539. 539. Conversational Programming System Design
  540. 540. Conversational Programming System Design  Input Data List for Machining Operation Cycles
  541. 541. Conversational Programming System Design  Input Data List for Machining Operation Cycles
  542. 542. Conversational Programming System Design  Input Data List for Machining Operation Cycles
  543. 543. Conversational Programming System Design  Input Data List for Machining Operation Cycles
  544. 544. Conversational Programming System Design  Machining Geometry Definition
  545. 545. Conversational Programming System Design  Machining Geometry Definition
  546. 546. Conversational Programming System Design  Tool/Technology Data
  547. 547. Conversational Programming System Design  Tool/Technology Data
  548. 548. Conversational Programming System Design  Tool/Technology Data
  549. 549. Conversational Programming System Design  Machining Strategy Data
  550. 550. Conversational Programming System Design
  551. 551. Conversational Programming System Design
  552. 552. Conversational Programming System Design
  553. 553. Conversational Programming System Design
  554. 554. Conversational Programming System Design  Graphic Simulation for Verification
  555. 555. Conversational Programming System Design  Graphic Simulation for Verification
  556. 556. Conversational Programming System Design  Operation Sequence Control
  557. 557. Development of the Machining Cycle  Turning Fixed Cycle
  558. 558. Development of the Machining Cycle  Turning Fixed Cycle
  559. 559. Development of the Machining Cycle  Turning Fixed Cycle
  560. 560. Development of the Machining Cycle  Turning Cycle for Arbitrary Shape
  561. 561. Development of the Machining Cycle  Turning Cycle for Arbitrary Shape
  562. 562. Development of the Machining Cycle  Toolpath Algorithm
  563. 563. Development of the Machining Cycle  Toolpath Algorithm
  564. 564. Development of the Machining Cycle  Toolpath Algorithm
  565. 565. Development of the Machining Cycle  Toolpath Algorithm
  566. 566. Development of the Machining Cycle  Toolpath Algorithm
  567. 567. Development of the Machining Cycle  Toolpath Algorithm S[2]
  568. 568. Development of the Machining Cycle  Toolpath Algorithm
  569. 569. Development of the Machining Cycle  Toolpath Algorithm
  570. 570. Development of the Machining Cycle  Toolpath Algorithm
  571. 571. Development of the Machining Cycle  Toolpath Algorithm
  572. 572. Development of the Machining Cycle  Toolpath Algorithm
  573. 573. Development of the Machining Cycle  Corner Machining Cycle
  574. 574. Development of the Machining Cycle  Corner Machining Cycle
  575. 575. Development of the Machining Cycle  Corner Machining Cycle m<bx 多餘??
  576. 576. Development of the Machining Cycle  Drilling Sequence
  577. 577. Development of the Machining Cycle  Drilling Sequence
  578. 578. Summary
  579. 579. Summary
  580. 580. Chapter 9
  581. 581.   
  582. 582.  
  583. 583.
  584. 584.
  585. 585.   
  586. 586.
  587. 587.
  588. 588.
  589. 589.
  590. 590.
  591. 591.
  592. 592.
  593. 593.
  594. 594.
  595. 595.
  596. 596.
  597. 597.
  598. 598.  
  599. 599.    
  600. 600.
  601. 601.
  602. 602.
  603. 603.
  604. 604.
  605. 605.
  606. 606.
  607. 607.
  608. 608.
  609. 609.
  610. 610.
  611. 611.     
  612. 612.
  613. 613.
  614. 614.     
  615. 615.
  616. 616.
  617. 617.
  618. 618.
  619. 619.
  620. 620.
  621. 621.
  622. 622.
  623. 623.
  624. 624.
  625. 625.
  626. 626.  CNC System Architecture
  627. 627.
  628. 628.
  629. 629.
  630. 630. Chapter 10
  631. 631. 1. Embedded motion controller, which carries out the NCK/PLC function with its own processor, is attached to the extended slot of PC. The MMI is operated on the PC. 2. Two PCs are used and are connected via high-speed communication. One PC is used for MMI and the other is used for NCK/PLC. 3. One PC with single CPU executes MMI, NCK and PLC in a multi- threading environment with real-time OS.
  632. 632.  
  633. 633.  
  634. 634.  
  635. 635.  
  636. 636.  
  637. 637.
  638. 638.
  639. 639.
  640. 640.
  641. 641.  
  642. 642.  
  643. 643.
  644. 644.
  645. 645.    
  646. 646.
  647. 647.
  648. 648.
  649. 649.
  650. 650.
  651. 651.
  652. 652.
  653. 653.
  654. 654.  
  655. 655.
  656. 656.    
  657. 657.
  658. 658.
  659. 659.
  660. 660.
  661. 661.
  662. 662.
  663. 663.
  664. 664.
  665. 665.
  666. 666.
  667. 667.
  668. 668.
  669. 669.
  670. 670.
  671. 671.
  672. 672.
  673. 673.
  674. 674.  
  675. 675.
  676. 676.   
  677. 677.
  678. 678.  
  679. 679.  
  680. 680. Theory and Design of CNC Systems Chapter 11 STEP-NC System
  681. 681. STEP-NC System STEP: STandard for the Exchange of Product model data
  682. 682. Introduction  STEP-NC – A narrow sense (in this book)  A new interface language between CAM and CNC. – A broad sense  A new interface language between CAM and CNC.  The technologies to implement CAD/CAM and CNC software.  The products based on the new interface.  ISO 14649  An international standard specification defines the data model for STEP-NC.  It specifies information contents and semantics (ICS) for various CNC manufacturing processes and resources including cutting tools and machine tools.
  683. 683. Introduction  STEP-NC data model  The contents of ISO 14649.  It is same as the narrow meaning of STEP-NC.  STEP compliant CNC  A kind of new CNC controller implementing STEP-NC.  Depending on how the STEP-NC is interfaced and used, STEP-compliant CNC is classified into 3 types. 1) Conventional. 2) Basic. 3) Intelligent.
  684. 684. Introduction  STEP-CNC  The abbreviation of STEP-compliant CNC.  STEP-NC technology  Various technologies required for implementing software and products based on the STEP-NC interface.
  685. 685. Background of STEP-NC  Problems with G&M Codes 1) Information loss  A G&M-code part program is defined by simple alphabetical or numerical codes such as G, T, M, F, S indicating the movement of a machine and an axis to the controller.  Since this delivers only limited information to the CNC, it makes the CNC simply an executing mechanism, completely unaware of the motions being executed. 2) Difficult traceability  As a G&M-code part program is made up of a coded set of numbers for axis movements, it is not easy for machine operators to understand the operational flow, machining condition and specification of tools only by reading the low- level part program.  It makes it more difficult, not only in finding which part happens to cause problems, but also modifying the program for solving these problems.
  686. 686. Background of STEP-NC  Problems with G&M Codes 3) Lack of interoperability  The G&M code schema is dependent on the machine tool builder or controller maker.  The part program for a certain targeted controller cannot be applied to another heterogeneous controller. 4) Non-compatibility with higher level systems  The rich information environment has almost perished at the CNC on the shop floor level.  Also, there is little information feedback from the CNC, which makes the shop floor status obscure to the upper systems.
  687. 687. Comparison of G-code and STEP- NC
  688. 688. Comparison of G-code and STEP-NC  G-code part program  It is very difficult for machine operators to understand the operational flow, machining conditions and specification of tools only by reading a part program.  It is impossible for the CNC controller to execute an autonomous and intelligent control and to cope with emergency cases with this limited information.  STEP-NC part program  It contains workingstep, machining feature, machining operation, machining tool, machining strategy, machine function and workpiece.  It includes a much richer information set including ‘what-to- make’ (geometry) and ‘how-to-make’ (process plan).
  689. 689. STEP and STEP-NC
  690. 690. STEP-NC Data Model
  691. 691. STEP-NC Data Model  ISO 14649 Part 1: Overview and Fundamental Principles – It describes the fact that the ISO 14649 data model is composed of three levels.  Level A deals with the modeling of the manufacturing technologies.  Level B deals with integration and compatibility with ISO 10303.  Level C deals with adoption software, which is the implementation of Level A or B in controllers. – The most important feature of the ISO 14649 data model is to remedy the shortcoming of ISO6983 by specifying machining process rather than machine tool motion, using the object-oriented concept of the workingstep.
  692. 692. STEP-NC Data Model
  693. 693. STEP-NC Data Model
  694. 694. STEP-NC Data Model  ISO 14649 Part 10: General Process Data – The execution sequence of the part program.  program_structure – The general process data for NC-programming.  manufacturing_feature  machining_operation EXPRESS-G is a standard graphical notation for information models. (ISO 10303-11)
  695. 695. STEP-NC Data Model  ISO 14649 Part 10: General Process Data – NC-function  It describes manufacturing or handling operations that do not involve interpolation of axes. – Workingsteps  They describe manufacturing or handling operations that involve interpolating axes.  rapid_movements  probing_operations  machining_workingsteps – Program_structure  They are used to build logical blocks for structured programming of the manufacturing operation.
  696. 696. STEP-NC Data Model  ISO 14649 Part 10: General Process Data – manufacturing_feature defines 2.5D and 3D machining features. – machining_operation defines the types of the operations. – machining_strategy defines various strategies, technology that defines feedrate and spindle. – machine_functions define coolant, chip removal. – tool_path defines pre-defined tool paths.
  697. 697. STEP-NC Data Model  ISO 14649 Part 10: General Process Data Manufacturing_feature
  698. 698. STEP-NC Data Model  ISO 14649 Part 11: Process Data for Milling – It specifies the technology-specific data elements needed as process data for milling. – It describes the technology-specific data types representing the machining process for milling and drilling.
  699. 699. STEP-NC Data Model  ISO 14649 Part 11: Process Data for Milling
  700. 700. STEP-NC Data Model  ISO 14649 Part 11: Process Data for Milling
  701. 701. STEP-NC Data Model  ISO 14649 Part 12: Process Data for Turning – Part 12 defines the technology-specific data elements needed as process data for turning.
  702. 702. STEP-NC Data Model  ISO 14649 Part 12: Process Data for Turning
  703. 703. STEP-NC Data Model  ISO 14649 Part 12: Process Data for Turning
  704. 704. STEP-NC Data Model  ISO 14649 Part 111: Tools for milling machines – Part 111 defines data elements describing cutting tool data for milling machine tools
  705. 705. STEP-NC Data Model  ISO 14649 Part 111: Tools for milling machines
  706. 706. STEP-NC Data Model  ISO 14649 Part 121: Tools for turning machines – Part 111 defines data elements describing cutting tool data for turning machine tools
  707. 707. STEP-NC Data Model  ISO 14649 Part 121: Tools for turning machines
  708. 708. Part Programming  STEP-NC part program – According to ISO 10303 Part 21: Clear Text Encoding Rule. – It is divided into the header section and the data section.  Header Section – Author information. – Schema information. – Version .
  709. 709. Part Programming  Data Section (about the manufacturing) – Process sequence. – Manufacturing feature. – Operation type. – Machining strategy. – Machining technology. – Machine function. – Workpiece. – Geometry.
  710. 710. Part Program for the Milling Operation  The example for milling 788
  711. 711. Part Program for the Milling Operation  The part program of the example in Figure 11.17
  712. 712. Part Program for the Milling Operation  Sequences – The information about the machining sequence. – #1 = PROJECT(… #2, (#4), …)  Every STEP-NC part program starts with the PROJECT entity. – #2 = WORKPLAN(…, (#10, #11, #12, #13, #14), …, #8, …)  It defines the sequence of machining processes. – #10 = MACHINING_WORKINGSTEP(…, #62, #16, #19, …)  The finishing operation for the planar_face at the top. – #11 = MACHINING_WORKINGSTEP (…, #62, #17, #20, …)  The drilling operation. – #12 = MACHINING_WORKINGSTEP (…, #62, #17, #21, …)  The reaming operation.
  713. 713. Part Program for the Milling Operation  Sequences – #13 = MACHINING_WORKINGSTEP (…, #62, #18, #22, …)  Roughing operation for closed_pocket. – #14 = MACHINING_WORKINGSTEP (…, #62, #18, #23, …)  Finishing operation for closed_pocket.
  714. 714. Part Program for the Milling Operation  Feature and geometry – The feature information in the STEP-NC part program. – #18 = CLOSED_POCKET(…, #4, (#22, #23), #84, #65, …, #27, #35, #37, #28) – #27 = PLANAR_POCKET_BOTTOM_CONDITION() – #28 = GENERAL_CLOSED_PROFILE(…, #59) – #59 = POLYLINE(…, (#121, #122, #123 , #124 , #121))
  715. 715. Part Program for the Milling Operation  Operation & Technology – It defines the method to execute the given machining operation. – #22 = BOTTOM_AND_SIDE_ROUGH_MILLING(…, #39, #50, #41, …, #60, #61, #42, …) – #60 = PLUNGE_RAMP(…) – #61 = PLUNGE_RAMP(…) – #42 = BIDIRECTIONAL_MILLING(…, #43, …) – #41 = MILLING_MACHINE_FUNCTIONS(…) – #50 = MILLING_TECHNOLOGY(…)