{"id":1532,"date":"2018-05-04T03:25:40","date_gmt":"2018-05-04T03:25:40","guid":{"rendered":"https:\/\/www.mcctcarbide.com\/development-of-engineering-training-simulation-system-for-n091-nc-lathe\/"},"modified":"2020-05-04T13:31:40","modified_gmt":"2020-05-04T13:31:40","slug":"development-of-engineering-training-simulation-system-for-n091-nc-lathe","status":"publish","type":"post","link":"https:\/\/www.meetyoucarbide.com\/development-of-engineering-training-simulation-system-for-n091-nc-lathe\/","title":{"rendered":"Development of engineering training simulation system for N091 NC lathe"},"content":{"rendered":"
\n

Abstract: Aiming at practical training and learning\uff0cthe NC lathe simulation system is designed on VB 6\uff0e 0\uff0e The system\uff0cwhich simulates the Fanuc-0i Mate TB NC operating system equipped by N091 NC lathe\uff0crealizes functions such as\uff0cwriting NC code\uff0c checking code errors\uff0cwarning on improper process properties\uff0csimulation of processing and operation training on PC\uff0e The trainers could easily master the skill of operating N091 NC lathe through this NC simulation system which\uff0corganically\uff0ccombines learning and teaching visually\uff0e The design\uff0csome key technologies as well as its program code are introduced in this treatise\uff0e Key words: N091 NC lathe; VB 6\uff0e 0 software; NC simulation0 PrefaceCNC machine tools as the basic equipment for modern manufacturing, with the advancement of science and technology, has become a mechanical manufacturing automation, flexibility and integration. The important foundation and core content of the transformation. In recent years, domestic universities have established engineering training centers to carry out engineering training on the basis of numerical control machine tools to train students’ engineering practice and engineering awareness.At present, in addition to the necessary theoretical explanations for the corresponding training of CNC machine tools, most of the work must be done on actual systems (actual NC machine tools or training systems) with corresponding functions. The numerical control products are expensive, and the factory’s CNC machine tools are relatively heavy. The processing task, and then taking into account the misuse of the trainer, may also endanger the personal safety of the machine tool equipment and even the operator himself. Therefore, the large-scale CNC training is not suitable for the students to use CNC machine tool engineering training on the actual machine tool.The virtual equipment is used as a teaching carrier to carry out function and status simulation of the CNC machine tool. Students can use the desktop or notebook to familiarize themselves with the programming and manual operation methods of the CNC machine tool. The problem of slow update of numerical control equipment can also be solved by integrating interactive teaching function modules in the software. The specific implementation process is not limited by equipment, site, and time, it is economical and safe, and it can acquire updated teaching resources in a timely manner. Without worries, it is a solution that is economically and technically feasible and has obvious teaching effects.At present, in China’s NC training field, excellent simulation software mainly includes three softwares: Nanjing Siwo, Shanghai Yulong and Beijing Feike. Although these three types of software have different lengths and types in simulation NC system, the number of machine tools and their functions, their simulation goals are roughly the same. They are the pursuit of the consistency of virtual devices in terms of functions and prototype machines, that is, the pursuit of data processing. The consistency of simulation objects is mainly consistent with the decoding and interpolation process of the simulation prototype CNC system. It is precisely because of the pursuing similarity with the prototype device in terms of its functional principle that the above-mentioned software cannot recognize programming errors that may not be properly handled by the prototype device, although they conform to grammatical rules, but may cause severe device failure. Because the focus of the existing simulation software is whether the machine tool body can correctly move according to the data information, there are only a few concerns about the operating details and operating habits that the operator may cause the operation accident. These are the main reasons for equipment failure.This project takes the N091 CNC lathe as the prototype object, and uses the powerful interface design function of VB 6.0 language to develop a method to simulate the operation mode and working process of the CNC lathe, effectively test the correctness of the CNC lathe part machining program and display the animation in real time. Simulation software. In addition to simulating the functions of the equipment, the software focuses on the four types of errors that are more easily made by the students in the safety of CNC lathe engineering training. In order to effectively guide students to develop good programming styles and operating habits, the software is designed to properly design the NC program processing process. The details in the report can promptly report various non-grammatical errors that cause security incidents, and have automatic adjustment of process data such as cutting parameters.1 system overall designThis system uses the Fanuc-0i Mate TB numerical control system equipped with N091 CNC lathe as the main simulation object. It can completely and clearly show parts blanks and machining tools, and simulates the NC machining process in detail, and the operation method is simple. The trained students can use this software to practice the CNC machine tool operation method without CNC machine tools, debug the CNC part processing program consisting of common basic instructions, display the dynamic part real-time processing process, observe and analyze the processing result, and discover the part processing program in time. Errors and possible interferences. The modules of the system are designed in accordance with the principle of high cohesion and low coupling.2 system key technology implementationIn the virtual NC machining process, the virtual machine tool cannot directly execute the NC code. Therefore, the translation module needs to first convert the NC code into aA code that the virtual machine can recognize and execute. The difficulty in the development of this simulation numerical control system is in the aspects of reading, decoding, error reporting and automatic adjustment of the numerical control code. In addition to real-life simulation of machine functions, the focus of the development of the simulation NC system is how to prompt students to master the machine operation method and develop good operating habits.2. 1 Pretreatment of NC codeThe preprocessing of the NC code includes reading the program file from the source memory address, deleting unnecessary symbols in the NC code, such as comment statements, empty statements, and blank lines, and converting the lowercase letters to uppercase letters and adding spaces before each letter. Make the read NC code easy to read.When this system is installed, it will remind the user that when creating the TXT format NC code file, it needs to be saved in the designated folder of the computer. In this way, when the operator clicks the PROG button of the operation panel, the Path property of the FileListBox control named File1 in the VB program directly extracts all the NC program file names stored in this folder to the machine tool display panel according to the specified folder. In RichTextBox3, the operator can select the NC program based on the file name in the program selection window of the machine display panel.The Line Input statement that reads statements sequentially from the external file is integrated in VB, and the read contents are assigned to the string. In the FANUC-0i MATE TB system on the N091 CNC lathe, the NC program terminates the current line of code input with a semicolon and the cursor moves down to start the next line of code entry. VB uses vbCrLf or Chr( 13) &Chr( 10) as line feed flags, so reading files externally can be read into the system using line breaks as line feeds, and the lines are separated by a “semicolon + newline” in the display panel ( RichText-Box1). The relevant code is as follows:TextLine = Split( \uff32ichTextBox1\uff0e Text\uff0cvbCrLf) ‘\u6309\u884c\u62c6\u5206RichTextBox1\uff0e Text = \u2033 \u2033For row = 0 To UBound( TextLine)RichTextBox1\uff0e SelColor = vbYellowRichTextBox1\uff0e SelText = \uff32ichTextBox1\uff0e SelText \uff06 TextLine( row) &Chr( 13)&Chr( 10)RichTextBox1\uff0e SelColor = vbYellowNext rowSemicolon TextLineInternally, VB integrates the Replace function and the Trim function. The Replace function can be transformed by ASC code to make the NC code change from lowercase letters to uppercase letters. The Trim function can delete the spaces at the beginning and end of a line of code. To remove blank lines, just use the Len function to determineIf it is 0, if the value is 0, it means the blank line, then it will store the String of the NC code Textline( ). By the row number variable MoveRow, the next line is Textline( MoveRow + 1) to Textline(MoveRow), which is blank line. ; If there is more than one blank line, it can be removed by looping code. The code implementation is not described here.2. 2 NC code check, process data error functionFor NC code inspections, it is more important to consider whether the processing schedule is reasonable or not, in addition to the NC code syntax rules. This article uses the following three examples to analyze the solution and demonstrate the relevant code.2. 2. 1 G00 command prohibits cutting of workpiecesFor CNC turning operations, G00 is a quick-point positioning command. Under this command, the tool moves quickly along the coordinate axis according to the preset machine parameter values in the CNC system. In the actual machining, if the operator uses G00 command during the cutting process due to carelessness or unclearness, the machine tool will not report the error but will directly execute the command. This will inevitably lead to a collision accident and destroy the workpiece and tool. The simulation system attributed the problem to the lack of semantic analysis in the NC program. During simulation machining, if the tool moves to the workpiece circumferential surface under the G00 command, the system will give alarm information. The interface is shown in Figure 1.Figure 1 Alarm Information Interface The information prompts the programmer that the cutting instruction was incorrectly applied in the program. In the actual machining, a collision between the tool and the workpiece will occur. By adding this function in the simulation system, it will significantly promote the good programming habits of the beginner students, so that the error can be habitually avoided in the actual programming. In order to achieve this function, the system defines the NowData( ) double-precision group to store the coordinates of the tool position at the instant. Among them, NowData( 1) stores the coordinate value of the current turning tool z, NowData( 2) stores the coordinate value x of the current turning tool. Since the system is designed to consider whether the length of the blank can be displayed in a limited display interface, set the blank size parameter to bl here. At this time, the coordinate value in NowData() is multiplied by the parameter bl in the simulation interface. Here, the origin of the workpiece coordinate system is set at the intersection of the right end surface of the workpiece and the axis, then the origin of the program is determined. Therefore, to judge whether the current tool has the cutting motion under the G00 command, you only need to determine two conditions: 1) Whether the tool coordinate z is negative. 2) Whether the coordinate value x of the tool is smaller than the radius of the workpiece blank, ie determine if NowData( 1) is less than 0, and if NowData( 2) is smaller than the workpiece radius. Since the value x of NowData(2) is the actual value multiplied by bl, the value of the input blank diameter is multiplied by bl on the right side of the inequality symbol, so that the inequality determination is valid, expressed as a mathematical expression that is z<0 and x<workpiece. Blank diameter \u00d7 bl \/2. If the system determines that a collision occurs during operation, an alarm will be given and the program will be reprogrammed. The following is the code to implement this feature:If g00 = True ThenIf NowData( 1) \uff1c 0 And NowData( 2) \uff1c Form2\uff0e Text1\uff0e Text*bl \/ 2 Thenmianban\uff0e \uff32ichTextBox2\uff0e SelColor = vb\uff32edmianban\uff0e \uff32ichTextBox2\uff0e SelText = mianban\uff0e \uff32ichTextBox2\uff0eSelText \uff06” ‘G00’\u547d\u4ee4\u4e0b\u7981\u6b62\u5207\u524a\u5de5\u4ef6\uff0c\u8bf7\u91cd\u65b0\u7f16\u5199\u7a0b\u5e8f\uff0c\u518d\u6b21\u8fd0\u884c! “PlaySound ” warn\uff0e wav”mianban\uff0e temg\uff0e Text = ” \uff0d \uff0d ALM \uff0d \uff0d ” : mianban\uff0e temg\uff0eVisible = TrueTimer5\uff0e Enabled = TrueTimer16\uff0e Enabled = FalseAlm( 116) = True2. 2. 2 cutting parameter out of range alarmThe reasonable setting of cutting parameters directly affects the machining quality of parts. In actual production and processing, due to carelessness or unfamiliarity with the cutting parameters, the setting of the feed amount per revolution of the turning tool may cause problems. The amount of tool feed depends on the surface roughness and the cutting force. When rough-cutting, the surface roughness is not high, and the feed is mainly caused by the knife.The precision and strength of rods, blades, workpieces and machine tools are determined by the cutting forces. When semi-finishing and fine-cutting, the economics of cutting are mainly considered. That is to say, the cutting load cannot exceed the power of the machine tool while ensuring the economic life of the tool. Therefore, the tool feed amount cannot be too large or too small. If an oversight or error occurs during programming, an error will be indicated in the code detection of the simulation system. The simulation system provides that the spindle feedrate of one revolution must not be less than 0. 05mm or greater than 0. 5mm (The amount of cutting is closely related to the workpiece material and the tool type and material. The value range of this feed amount is in most cases. For other individual cases, it can be determined by referring to the manual or cutting test).A line of NC code is read in the FileDebugger of the system code. If the feed “F” is found from this line of code by the Mid function, then the custom GetNumber function is used to convert the number immediately followed by F to a single-precision floating-point number. 0. 05 and 0. 5 if less than 0. 05mm or greater than 0. 5mm, then the alarm prompts, its interface is shown in Figure 2.Fig. 2 Feed range out of range alarm prompt interface2. 2. 3 tool instruction alarm errorIn CNC turning, the tool command T is used to select the tool and its corresponding tool compensation. Example: T0202 represents the No. 2 knife and the No. 2 knife make-up. Therefore, it is agreed in this paper that the tool number and its tool complement number are the same value, which is not easy to confuse. If the tool number and the tool compensation number do not match in the NC program or one of them is default, the coordinate system will be disordered and the machining code will not be executed correctly. The system stores 3 commonly used tools: T0101 for 93\u00b0 roughing tool; T0202 for cutting tool; T0303 for fine turning tool. If “T” appears in a row and the following number is not the above number, the system will indicate which row of tool number T is illegal. code show as below:If TExist = True Then Call ErrCase( 3\uff0cFile\uff32ow\uff0cCaseType)TExist = TrueNumberString = GetNumber ( \uff32ight ( TextLine\uff0cLen ( TextLine ) \uff0dNumberStart) )If NumberString = ” ” ThenCall ErrCase( 1\uff0cFile\uff32ow\uff0cCaseType)ElseNumberStart = NumberStart + Len( NumberString)CaseNumber = CDbl( NumberString)If CaseNumber = 101 Or CaseNumber = 202 Or CaseNumber = 303Or CaseNumber = 404 Then ‘\u5200\u5177\u7f16\u53f7ElseCall ErrCase( 9\uff0cFile\uff32ow\uff0cCaseType) ‘ \u6b64\u5904\u8c03\u7528 ErrCase \u51fd\u6570\u663e\u793a\u9519\u8bef\u4fe1\u606fEnd IfEnd If3 system learning functionThis simulation system is used as a teaching aid for engineering training. Students can use this software to conduct self-study, develop good programming styles and operating habits as starting points, and conduct detailed studies on module settings, selection of interaction methods, and logic arrangement of actions.3. 1 Simulation System InterfaceIn order to enable the trainees to quickly get acquainted with the actual machine tool, the software simulates the real machine tool as much as possible in the interface design. The simulation system interface is shown in Figure3.3. 2 Operation Panel Button Function TipsFor trainees who have not touched the N091 CNC lathe or the software, there are dozens of knobs and buttons on the control panel. The system uses the ToolTipText property in the Command control that comes with the VB platform, and the corresponding knob or The name of the button is filled in the operation panel. When the mouse is moved to the corresponding position, the system will give a text prompt. The interactive function is good, which is very helpful for students self-study. The function prompt interface of the machine tool operation panel is shown in Figure 4.Figure 3 Simulation System InterfaceFig. 4 Tool operation panel button function prompt interface3. 3 lathe operation sequence trainingAfter investigating the commercialized CNC simulation software on the market, the author found that most of the software does not strictly regulate the operation sequence of the machine tool. If the trainee has not touched the CNC lathe, the complex operation interface will be at a loss and I do not know where to go. If you start, you will soon lose interest in learning. In view of this, the simulation system uses VB to solve the above problem with the visible property of the Command control, and the order is limited by the selection of the property false\/true visible to this control in the Command_Click( ) function. If the operation sequence is wrong, it triggers. MsgBox, prompt error information, operation sequence warning interface as shown in Figure 5.Figure 5 Operation Sequence Warning InterfaceFigure 6 Interpolation Principle Learning Module Interface3. 4 interpolation principle learning moduleLinear interpolation and arc interpolation are the most basic tool path generation methods for CNC lathes. The above two types of interpolation in the N091 CNC lathe are implemented using a point-by-point comparison method. The simulation system embeds an interpolation learning module, and students can select the circumcircle, inverse circle, and linear interpolation in the interpolation learning window, and give the starting and ending coordinates accordingly to generate a circle or a straight line. Realize the consolidation of classroom knowledge teaching. The interpolation principle learning module interface is shown in Figure 6.4 ConclusionThis software is aimed at the training and teaching of CNC lathe engineering. It aims at cultivating engineering practices and focuses on the development of self-learning functions. Students participating in the CNC lathe engineering training can use the computer at any time to carry out simulations of CNC lathe machining procedures, lathe operation methods, and learning of related CNC knowledge. While significantly improving the training effect, it effectively ensures the safety of equipment and trainees. It actually solves the problem of excessive man-machine ratio caused by a large number of students and limited training equipment in the school’s CNC lathe engineering training, and improves the operation practice. The efficiency reaches the goal of the students to better learn the CNC machining process.
\nSource: Meeyou Carbide<\/p>\n<\/div>\n

<\/p>\n","protected":false},"excerpt":{"rendered":"

Abstract: Aiming at practical training and learning\uff0cthe NC lathe simulation system is designed on VB 6\uff0e 0\uff0e The system\uff0cwhich simulates the Fanuc-0i Mate TB NC operating system equipped by N091 NC lathe\uff0crealizes functions such as\uff0cwriting NC code\uff0c checking code errors\uff0cwarning on improper process properties\uff0csimulation of processing and operation training on PC\uff0e The trainers could easily…<\/p>\n","protected":false},"author":1,"featured_media":1533,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[92],"tags":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.meetyoucarbide.com\/wp-json\/wp\/v2\/posts\/1532"}],"collection":[{"href":"https:\/\/www.meetyoucarbide.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.meetyoucarbide.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.meetyoucarbide.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.meetyoucarbide.com\/wp-json\/wp\/v2\/comments?post=1532"}],"version-history":[{"count":0,"href":"https:\/\/www.meetyoucarbide.com\/wp-json\/wp\/v2\/posts\/1532\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.meetyoucarbide.com\/wp-json\/"}],"wp:attachment":[{"href":"https:\/\/www.meetyoucarbide.com\/wp-json\/wp\/v2\/media?parent=1532"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.meetyoucarbide.com\/wp-json\/wp\/v2\/categories?post=1532"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.meetyoucarbide.com\/wp-json\/wp\/v2\/tags?post=1532"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}