With the development of numerical control technology, the modern numerical control system has provided us with increasingly rich auxiliary programming functions. Full understanding and flexible use of these functions can greatly simplify the workload of program preparation, reduce the probability of errors, improve programming efficiency, and reduce the program's occupation space. At the same time, it shortens the preparation time and improves the utilization of CNC machine tools and product productivity. The author of this article, in combination with his actual processing experience, introduced a simplified programming method.

I. Proposal of the problem

The North Mercedes-Benz Chongqing Transmission Co., Ltd. undertook the sprocket processing as shown in Figure 1. The milling profile was arranged on the imported Cincinnati Saber 750 vertical machining center. An analysis of the part drawing shows that the part is evenly distributed with 8 identical slots on the circumference, and all arc connections. If you follow the direct programming method, you need to calculate a large number of arc tangent coordinates. Although the drawing software can be used as the map method to find the coordinates of these cut points, the coordinate data amount of these points is relatively large without the automatic programming software. If all are hand-crafted, it is not only time-consuming but also error-prone. Can you use the functions of the CNC system itself to simplify programming and improve work efficiency?

1

Figure 1 Parts of the sprocket

The Saber 750 Machining Center uses the Cincinnati ACRAMATIC 850MC CNC system. Although the development time of this system is relatively early, its auxiliary programming function is still very strong. There are many kinds of arithmetic functions such as arithmetic operations, function operations, sequence control, and coordinate system rotation. Flexible use of these functions should be able to simplify programming.

Second, the relevant instructions

The following describes the relevant instructions of the 850MC numerical control system. The corresponding instructions of the FANUC 0 system are also briefly introduced. In fact, the modern numerical control system basically has these functions, but it means that the method is different.

1. Assignment instructions

The 850MC system's assignment instruction is G10. Its format is:
G10=[T1] V123.45; store the value 123.45 in the temporary variable T1, ie [T1]=123.45
G10=[T2] V[T1]+1.23; store the value of the temporary variable T1 and the value 1.23 in the temporary variable T2, ie [T2]=124.68
G10=[T3] V[T1]+[T2]; store the sum of the temporary variable T1 plus T2 in the temporary variable T3
The 850MC CNC system has a total of 32 temporary variables from T1 to T32.
The FANUC 0 system also has several common variables (#100 to #149, #500 to #531). Assignment instructions are easier to understand, such as #100=123.45 or #101=#102.
2. Transfer instructions
G11 branch instructions can be divided into conditional branch instructions and unconditional branch instructions.
(1) Unconditional transfer
G11 L100 is an unconditional branch instruction. The value after L is the branch label. The Q-band label is used at the transfer point, such as Q100. If you move to a block after G11, L will not be followed by a sign; if you move forward, L will be followed by a "-" sign. The Q label is unsigned. For example, backwards:
N1210 ............
N1220 G11 L100;
N1230 ............
N1240 ............
N1250 Q100;
Forward shift:
N1410 Q200;
N1420 ............
N1430 ............
N1440 ............
N1450 G11 L-200;
The value of the label can be any integer.

The FANUC 0 system uses the "GOTO nnnn" instruction, where "nnnn" is the program sequence number, with no sign. For example, "GOTO 1000" means transfer to the N1000 program segment.

(2) Conditional transfer

G11 E[T1]<8 L100 is a conditional branch instruction and L100 has the same meaning as above. Among them, E[T1]<8 is a conditional test expression, and E is a keyword. There are four kinds of relational operators: ">", "<", "=", and "<>", which respectively mean that they are greater than, less than, equal to, and not equal to.
G11 E[T1]<8 L100 means that if the value of the temporary variable T1 is less than 8, it will be shifted back to the block of the label Q100.
The FANUC 0 system uses "IF [#100 LT 8] GOTO 1000" for conditional transfer. The relational operators "GT", "GE", "LT", "LE", "EQ", and "NE" respectively indicate that the greater than, greater than, less than, less than, equal to, and unequal.

3. Loop instructions

The 850MC system does not have loop instructions, but conditional branch instructions can be used to implement the loop function.

The FANUC 0 system uses "WHILE .... DOn" plus "ENDn" to implement the loop function. Where n=1 to 3, it can be understood as a loop body label, and "DOn" and "ENDn" must be paired. Loop structures can be nested up to three levels, but they cannot be crossed. E.g:
WHILE[#100 LE 8] DO1
............
END1
Indicates that the block in the loop body is executed when the value of the #100 variable is less than or equal to 8.

4. Coordinate system rotation

The 850MC system uses the following instructions to rotate the coordinate system (left and right parentheses are required):
(ROT, G0 X0 Y0 A45)

Among them, ROT is the coordinate system rotation instruction; G0 represents the rotation angle is the increment way, G1 represents the rotation angle is the absolute way; X, Y is the rotation center coordinates, A is the rotation angle.

The coordinate system rotation cancels the available instructions (ROT, G1 A0), the program synchronization segment with ":" or the "data recovery" key on the operation panel. The end of the program also automatically cancels the rotation of the coordinate system.

The FANUC 0 system uses the G68 X_Y_R_ instruction to implement the coordinate system rotation function. X_, Y_ are the rotation center coordinates, R_ is the rotation angle, and the increment method and absolute mode selection of the rotation angle are set in the 0th bit (lowest bit) of the system parameter #041, if this bit is set to 1, the rotation angle is absolute; if it is 0, it is determined by G90/G91. The G69 command cancels the rotation of the coordinate system.

Third, the solution

Since the 8 slots of the part are evenly distributed on the circumference, we can consider a program that only writes one slot, and then use the loop structure to rotate the part coordinate system 8 times to process the entire contour of the part.

As shown in Figure 2, find the coordinates of all points in the first slot, and write the contour milling program for this part. Then, using the above corresponding instructions, the generated part machining program is as follows.

1

Figure 2 The first slot coordinates

N10 T3 M6;
N20 G00 X200 Y-50 S200 F70 M13;
N30 Z-40;
N40 G0 G42 X160 Y-15;
N50 G01 X160 Y0;
N60 G10=[T1] V1;
N70 Q100;
N80 G03 X159.496 Y12.689 I0 J0;
N90 X147.957 Y26.106 R15;
N100 G02 X123.081 Y86.162 R40;
N110 G03 X121.753 Y103.808 R15;
N120 X113.137 Y113.137 I0 J0;
N130 (ROT, G0 X0 Y0 A45);
N140 G10=[T1] V[T1]+1;
N150 G11 E[T1]<9 L-100;
N160 G01 X160 Y10;
N170 G00 G40 X200 Y50 M9;
N180 M2;

Note: The program that the tool cuts in and cuts out is outside the loop body. This program is programmed with the 850MC CNC system (in the program, I and J are the coordinates of the center of the circle).

Fourth, a little experience
The advancement of CNC technology and the popularity of CNC machine tools require CNC engineers to understand and master CNC programming directives more fully and to make full use of the convenience brought to us by the technology so that CNC machines can be used at a higher level. The competitiveness is of great significance. The method described in this article is applicable to elements that are evenly distributed in the circumferential or straight line direction. In addition, the coordinate system rotation can be used to easily and quickly find the parts in addition to being used during programming. As shown in Figure 3, the two large holes, ΦD and Φd, have been machined and the peripheral hole system is now being machined. When aligning a part, it is very troublesome and time-consuming to align the two large holes in the X-axis direction. We can directly compact the parts, establish the coordinate system of the part with the center of the big hole as the origin, and then hit the table to find the positive hole, use the calculation function of the CNC system, calculate the angle with the arctangent, and then use the coordinate system rotation function. You can. In this way, each time the part is clamped, only the coordinates of the center of the hole can be entered into the program to process the part. In short, the flexible use of the functions of the CNC system is very helpful for simplifying programming and improving work efficiency.

1

Figure 3 shows a further example

The above is just a summary of some of the experiences of the writer in the actual work, and there are improper points. I urge readers to give criticism and correct me.

3182600160 Clutch Slave Cylinder

Wenzhou Baoerte Autopart CO.,LTD is a supplier & manufacturer, engaged in tensioner pulley, Gas Spring, clutch bearing . All of our products comply with international quality standards.

3182600160 Clutch Slave Cylinder,Hyundai Clutch Slave Cylinder,Clutch Bearing 41421-38500,Slave Cylinder Clutch 510015210

3182600160 Clutch Slave Cylinder,Hyundai Clutch Slave Cylinder,Clutch Bearing 41421-38500,Slave Cylinder Clutch 510015210

Wenzhou Baoerte Autopart CO.,LTD , https://www.baoerteautopart.com

Posted on