Data processing apparatus, data processing method, and computer-readable recording medium
By introducing a differential absorption unit into the data processing device, the overhead caused by differences in the execution environment is reduced, the problem of reduced simulation speed is solved, and efficient simulation results are achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-12-24
- Publication Date
- 2026-03-31
AI Technical Summary
In the prior art, the execution speed of the simulation function is reduced due to the difference in execution environment between the data processing device and the external data processing equipment.
By introducing a differential absorption unit into the data processing device, unnecessary internal data processing is extracted and omitted, and OS-based alternative processing and simplified API processing are adopted to reduce the overhead caused by differences in the execution environment.
It improves the execution speed of simulation and achieves the same simulation effect as external devices without modifying the source code of the control software of external data processing devices.
Smart Images

Figure CN116457765B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to a technology in which a data processing device, with an execution environment different from that of an external data processing device, performs data processing that is performed by an external data processing device. Background Technology
[0002] CNC (Computerized Numerical Control) equipment and similar devices utilize control software that assists in machining operations performed by machine tools, providing simulation capabilities. CNC equipment is a device where a computer controls the position and / or movement of the cutting tool on a machine tool using numerical values. Other control software that assists in machining operations performed by machine tools includes, for example, CAD / CAM (Computer-Aided Design / Computer-Aided Manufacturing).
[0003] The simulation function allows for the verification of machining results before actual use of the machine tool. Therefore, the simulation function can confirm in advance whether the intended machining can be performed, or whether the operation of the machine tool will not damage the cutting tool and / or the workpiece.
[0004] Therefore, simulation functions require the accurate reproduction of the machine's movements. One method for accurately reproducing these movements is to use control software actually installed on the CNC equipment. Specifically, existing virtualization technology is used to enable the control software to operate on a general-purpose PC (Personal Computer), thereby achieving accurate simulation.
[0005] In Patent Document 1, the control software is ported to a general-purpose PC as an executable file (binary data). The execution environment of the control software differs significantly from that of the CNC equipment and the general-purpose PC. Here, the execution environment refers to the hardware and software environment used for data processing by the processor, other hardware, and the operating system (OS).
[0006] To accommodate the differences in execution environments described above, Patent Document 1 utilizes virtualization technology to transform hardware and OS processing. This virtualization technology faithfully reproduces the hardware and OS processing of a CNC device on a general-purpose PC.
[0007] Patent Document 1: Japanese Patent Publication No. 2015-511041 Summary of the Invention
[0008] As mentioned above, Patent Document 1 uses virtualization technology to reproduce the hardware processing and OS processing of CNC equipment on a general-purpose PC. On the other hand, Patent Document 1 suffers from a reduction in the execution speed of the simulation function due to the overhead of virtualization technology.
[0009] The main objective of this invention is to solve the problems described above. Specifically, the main objective of this invention is to reduce the overhead caused by differences in the execution environment.
[0010] The data processing execution environment of the data processing device involved in this invention is different from that of the external data processing device. Executing the data processing performed by the external data processing device is equivalent to performing data processing.
[0011] The data processing device has:
[0012] An extraction unit extracts internal data processing included in the execution data processing that, due to the difference in the execution environment between the external data processing device and the data processing apparatus, needs to be executed when the execution data processing is performed on the external data processing device, but can be omitted when the execution data processing is performed by the data processing apparatus, thus allowing for the omission of internal data processing; and an execution unit executes the execution data processing without executing the internal data processing that is omitted extracted by the extraction unit.
[0013] The effects of the invention
[0014] According to the present invention, it is possible to reduce the overhead caused by differences in the execution environment. Attached Figure Description
[0015] Figure 1 This is a diagram illustrating an example of the hardware structure of the data processing apparatus according to Embodiment 1.
[0016] Figure 2 This is a diagram illustrating an example of the functional structure of the data processing apparatus according to Embodiment 1.
[0017] Figure 3 This is a diagram showing an example of the internal structure of the differential absorption section according to Embodiment 1.
[0018] Figure 4 This is a flowchart illustrating the operation summary of the simulation execution unit involved in Implementation Method 1.
[0019] Figure 5 This is a flowchart illustrating an example of the operation of the API classification section involved in Implementation Method 1.
[0020] Figure 6This is a diagram illustrating an example of the operation of the APIs and API classifications included in the control software according to Embodiment 1.
[0021] Figure 7 This is a diagram showing an example of a list of categories involved in Implementation Method 1.
[0022] Figure 8 This is a flowchart illustrating an example of the operation of the OS replacement processing unit according to Embodiment 1.
[0023] Figure 9 This is a flowchart illustrating an example of the operation of the system intrinsic value processing unit involved in Implementation 1.
[0024] Figure 10 This is a flowchart illustrating an example of the operation of the simplified API processing unit involved in Implementation Method 1.
[0025] Figure 11 This is a diagram illustrating an example of the operation of the system intrinsic value processing unit and the simplified API processing unit involved in Embodiment 1. Detailed Implementation
[0026] The embodiments will now be described using the accompanying drawings. In the following description of the embodiments and the accompanying drawings, parts marked with the same reference numerals represent the same or equivalent parts.
[0027] Implementation method 1.
[0028] ***Structure Explanation***
[0029] [Hardware Structure Example]
[0030] Figure 1 An example of the hardware structure of the data processing apparatus 10 according to this embodiment is shown.
[0031] The data processing execution environment of the data processing device 10 is different from that of the external data processing device (not shown). The data processing device 10 performs data processing performed by the external data processing device. As described above, the execution environment is the hardware and software environment used to perform data processing, such as the processor, other hardware, and the operating system (OS).
[0032] The sequence of operations of the data processing device 10 corresponds to a data processing method. Furthermore, the program that implements the operations of the data processing device 10 corresponds to a data processing program.
[0033] The data processing device 10 is, for example, a general-purpose PC. In this embodiment, an example will be described where the general-purpose PC, i.e., the data processing device 10, executes control software executed by the CNC machine to simulate the motion control of the machine tool in the CNC machine. In the example described in this embodiment, the CNC machine is equivalent to an external data processing device. Furthermore, the control software used to control the machine tool is equivalent to performing data processing.
[0034] Data processing device 10 as hardware, such as Figure 1 As shown, it includes a processor 11, a memory 12, a display device 13, an input device 14, and a storage device 15.
[0035] At least the processor 11, memory 12, and storage device 15 among these hardware components have different performance and specifications than the processor, memory, and storage device of the CNC equipment. Furthermore, the data processing device 10 does not include hardware such as an interface to the amplifier mounted on the CNC equipment.
[0036] Furthermore, the data processing device 10 has an OS 30, but the OS 30 differs from the OS of the CNC equipment in terms of performance, specifications, etc. For example, the OS of the CNC equipment is a real-time OS, but the OS 30 of the data processing device 10 is not a real-time OS.
[0037] Due to the differences in hardware and operating system as described above, differences in the execution environment arise between the data processing device 10 and the CNC device.
[0038] In addition, the data processing device 10 has the simulation execution unit 20 described later as a functional structure.
[0039] The storage device 15 stores the program, OS 30, and control software 40 that implement the functions of the simulation execution unit 20. The control software 40 is the control software executed by the CNC machine. The control software 40 is stored in the storage device 15 as an executable file (binary data). Furthermore, the control software 40 includes multiple APIs (Application Programming Interfaces), each containing one or more internal data processing operations. That is, the control software 40 contains multiple internal data processing operations.
[0040] The program, OS 30, and control software 40 that implement the functions of the simulation execution unit 20 are downloaded from the storage 15 to the memory 12. Furthermore, the processor 11 executes them.
[0041] Additionally, the storage 15 contains a classification list used by the simulation execution unit 20 when classifying APIs.
[0042] The memory 12 provides an area for storing the analytical data generated by the simulation execution unit 20 executing the control software 40.
[0043] The display device 13 displays the depiction data that is the result of the execution of the control software 40, which depicts the analytical data.
[0044] Input device 14 receives instructions from the user of data processing device 10. For example, input device 14 receives instructions from the user of data processing device 10 to start the simulation.
[0045] [Example of Functional Structure]
[0046] Figure 2 This embodiment illustrates a functional structure example of the data processing apparatus 10.
[0047] The simulation drawing unit 21 draws the motion of the machine that is simulated by the execution control software 40 and outputs the drawing data to the display device 13.
[0048] The control unit 22 retrieves the control software 40 from the storage unit 15. In addition, the differential absorption unit 23 performs control for executing the control software 40.
[0049] The differential absorption unit 23 performs at least one of the multiple internal data processing operations of the control software 40 to simulate the movement of the machine tool. During the execution of the control software 40, the differential absorption unit 23 absorbs the difference between the execution environment of the CNC equipment and the execution environment of the data processing device 10.
[0050] OS 30 is an OS that operates on the data processing device 10.
[0051] [Example of the internal structure of the differential absorber 23]
[0052] Figure 3 An example of the internal structure of the differential absorption section 23 is shown.
[0053] API Classification Section 231 parses the names of APIs used by the OS and hardware processing. Based on the API name, it identifies the API category and classifies the API into any of multiple categories.
[0054] For example, API classification section 231 classifies multiple APIs into any category, such as category one, category two, and category three. Hereinafter, APIs classified into category one will be referred to as first APIs. APIs classified into category two will be referred to as second APIs. APIs classified into category three will be referred to as third APIs.
[0055] API classification unit 231 identifies an API as the first API if it is the same API executed by the CNC device's OS and managed by OS 30. The internal data processing contained in the first API cannot be omitted from execution.
[0056] The second and third APIs are APIs that can omit internal data processing. This omission of internal data processing is due to the difference in execution environments between the CNC machine and the data processing unit 10. Internal data processing is required when executing control software 40 in the CNC machine, but can be omitted when executing control software 40 in the data processing unit 10.
[0057] The second API includes internal data processing that can be omitted, which is inherent to the CNC device, but it is determined that the internal data processing always terminates incorrectly or always terminates normally when executed by the data processing device 10.
[0058] In addition, the internal data processing included in the third API is internal data processing that is performed in both the CNC device and the data processing unit 10, but can be omitted when the control software 40 is executed by the data processing unit 10.
[0059] API classification unit 231 is equivalent to extraction unit. Furthermore, the processing performed by API classification unit 231 is equivalent to extraction processing.
[0060] OS replacement processing unit 232 executes the first API.
[0061] The system intrinsic value processing unit 233 executes the second API.
[0062] When executing the second API, the system intrinsic value processing unit 233 omits the execution of internal data processing included in the second API.
[0063] The simplified API processing unit 234 processes the third API.
[0064] When executing the third API, the simplified API processing unit 234 omits the execution of internal data processing included in the third API.
[0065] Internal data processing that can be omitted is data processing that, even if omitted, does not affect simulation accuracy. Therefore, the system intrinsic value processing unit 233 omits the execution of internal data processing that can be omitted when executing the second API. Furthermore, the simplified API processing unit 234 omits the execution of internal data processing that can be omitted when executing the third API.
[0066] Internal data processing, such as issuing instructions to the amplifier and controlling the motor to physically move the machine, can be omitted. The CNC equipment interprets the control software 40 and issues commands to the amplifier, causing the motor to operate and thus moving the machine. In the simulation of the data processing device 10, it is sufficient for the simulation depiction unit 21 to generate a depiction of issuing commands to the amplifier and moving the machine via the motor. As described above, in the simulation, the physical actions generated when controlling the machine in the CNC equipment are not required, thus eliminating the need for internal data processing such as issuing instructions to the amplifier.
[0067] Furthermore, the system intrinsic value processing unit 233 and the simplified API processing unit 234 are combined and referred to as the execution unit 235. The processing performed by the execution unit 235 is equivalent to execution processing.
[0068] ***Instructions for the Actions***
[0069] [Action Summary]
[0070] Figure 4 This is a flowchart illustrating the operation summary of the simulation execution unit 20 involved in this embodiment.
[0071] If the user instructs the input device 14 to start the simulation, the simulation rendering unit 21 will begin to operate.
[0072] If the simulation is initiated by the user, the simulation rendering unit 21 determines in step S10 whether the execution of the control software 40 is complete.
[0073] If the simulation rendering unit 21 finishes processing all the parsed data of the control software 40 on the memory 12, it determines that the execution of the control software 40 is complete.
[0074] If the execution of the control software 40 is completed (step S10 is YES), the simulation depiction unit 21 ends the processing.
[0075] On the other hand, if the execution of the control software 40 is not completed (step S10 is NO), the process proceeds to step S11.
[0076] In step S11, the simulation rendering unit 21 determines whether the parsing data of the control software 40 exists in the memory 12.
[0077] If the parsed data exists in memory 12 (step S11 is YES), the process proceeds to step S17. On the other hand, if the parsed data does not exist in memory 12 (step S11 is NO), the process proceeds to step S12.
[0078] In step S12, the simulation drawing unit 21 starts the control unit 22.
[0079] Next, in step S13, the control unit 22 parses the control software 40.
[0080] Furthermore, the result of the control unit 22 analyzing the control software 40 is that the differential absorption unit 23 is activated in step S14.
[0081] Next, in step S15, the differential absorption unit 23 executes the control software 40.
[0082] Furthermore, in step S16, the differential absorption unit 23 stores the parsed data representing the execution result of step S14 in the memory 12.
[0083] In step S17, the simulation drawing unit 21 generates drawing data corresponding to the parsing data stored in the memory 12, and outputs the drawing data to the display device 13.
[0084] [API Classification 231 Action Example]
[0085] Figure 5 This is a flowchart illustrating an example of the operation of the API classification unit 231 of the differential absorption unit 23. Additionally, Figure 6 Examples of APIs included in the control software 40 and action examples of each API in the API classification section 231 are shown.
[0086] In this implementation, the API is defined by the following rules.
[0087] (1) APIs whose names consist entirely of lowercase letters, numbers, and English letters are the first APIs.
[0088] (2) APIs whose names contain elements other than lowercase letters, numbers, and English letters are second-level APIs or third-level APIs. The names of second-level APIs or third-level APIs contain multiple words, with the first word consisting entirely of lowercase letters, numbers, and English letters, and the subsequent words starting with an uppercase letter.
[0089] (3) The third API records the starting word in the category list.
[0090] In addition, the above "lowercase English letters and numbers" refers to only lowercase English letters or only lowercase English letters and numbers.
[0091] Figure 7 An example of a list of categories is shown.
[0092] In the category list, list the first word of the name of the third API.
[0093] exist Figure 5In step S20, the API classification unit 231 parses the names of the APIs of the calling objects contained in the control software 40.
[0094] Here, API classification section 231 pairs Figure 6 The names of the three APIs shown, datacopy 41, semaphoreControl 42, and ncUnitId 43, are parsed.
[0095] In addition, datacopy 41 is an API that copies data from a specific area of memory 12 to other areas of memory 12.
[0096] SemaphoreControl 42 is an API that controls the simultaneous execution of multiple tasks using semaphores, granting execution permission only to tasks with high execution priority, while making other tasks wait to be executed.
[0097] ncUnitId 43 is an API that reads and returns the unique identification number assigned to a CNC device.
[0098] If the parsing result in step S20 indicates that the API of the parsed object is the first API (step S21 is YES), that is, if the name of the API of the parsed object consists entirely of English letters, numbers, and lowercase letters, the process proceeds to step S22. On the other hand, if the API of the parsed object is not the first API (step S21 is NO), that is, if the name of the API contains elements other than English letters, numbers, and lowercase letters, the process proceeds to step S23.
[0099] In API classification section 231 pairs Figure 6 If the datacopy 41 is parsed, the process proceeds to step S22. On the other hand, in the API classification section 231... Figure 6 If semaphoreControl 42 and ncUnitId 43 are parsed, the process proceeds to S23.
[0100] In step S22, the API classification unit 231 instructs the OS replacement processing unit 232 to execute the first API managed by the OS 30. Figure 6 In the example, API classification unit 231 instructs OS replacement processing unit 232 to execute the same API as datacopy 41 managed by OS 30, namely datacopy 47.
[0101] In step S23, the API classification unit 231 determines whether the API of the parsed object is a second API.
[0102] Specifically, API classification unit 231 refers to the classification list stored in storage 15 to determine whether the API of the parsed object is a second API. As mentioned above, the first word of the name of the third API is listed in the classification list. Therefore, if the first word of the name of the API of the parsed object is not included in the classification list, then the API of the parsed object is a second API.
[0103] If the API of the parsed object is the second API (step S23 is YES), the process proceeds to step S24.
[0104] On the other hand, if the API of the parsed object is not the second API (step S23 is NO), that is, if the API of the parsed object is the third API, the process proceeds to step S25.
[0105] exist Figure 7 The classification list contains "nc". Therefore, API classification unit 231, based on the classification list, determines that ncUnitId 43, whose starting word is "nc", is the third API. On the other hand, "semaphore" is not listed in the classification list. Therefore, API classification unit 231 determines that semaphoreControl 42 is the second API.
[0106] Therefore, when the API classification unit 231 parses semaphoreControl 42, the process proceeds to step S24. On the other hand, when the API classification unit 231 parses ncUnitId43, the process proceeds to step S25.
[0107] In step S24, the API classification unit 231 instructs the system intrinsic value processing unit 233 to execute the second API managed by the installed library. Figure 6 In the example, the instruction executes the API corresponding to semaphoreControl 42, which is managed by library 230 after installation by differential absorption unit 23, namely semaphoreControl 45.
[0108] In OS 30, there exists an API corresponding to semaphoreControl 42, namely semaphoreControl 48, but the API classification unit 231 instructs the system intrinsic value processing unit 233 to execute semaphoreControl 45.
[0109] In step S25, the API classification unit 231 instructs the simplified API processing unit 234 to execute the third API managed by the installed library. Figure 6In the example, the instruction executes the API corresponding to ncUnitId 43, i.e., ncUnitId 46, which is managed by the library 230 after the installation of the differential absorption unit 23.
[0110] API Classification Section 231 performs the above processing on all APIs included in Control Software 40.
[0111] [Operational examples of OS replacement processing unit 232, system intrinsic value processing unit 233, and simplified API processing unit 234]
[0112] Figure 8 It means in Figure 5 The flowchart shows an example of the operation of the OS replacement processing unit 232 in step S22 when the API classification unit 231 is instructed to execute the first API.
[0113] First, in step S31, the OS replacement processing unit 232 calls the first API managed by OS 30.
[0114] exist Figure 6 In the example, the OS replacement processing unit 232 calls datacopy 47.
[0115] Next, in step S32, the OS replacement processing unit 232 performs all the internal data processing contained in the first API that was called.
[0116] Finally, in step S33, the OS substitution processing unit 232 generates parsed data representing the execution result of step S32 and stores the generated parsed data in the memory 12.
[0117] Figure 9 It means in Figure 5 The flowchart shows an example of the operation of the system intrinsic value processing unit 233 in step S24 when the API classification unit 231 is instructed to execute the second API.
[0118] First, in step S41, the system intrinsic value processing unit 233 calls the second API managed by the installed library 230.
[0119] exist Figure 6 In the example, the system intrinsic value processing unit 233 calls semaphoreControl 45.
[0120] Next, in step S42, the system intrinsic value processing unit 233 determines which of the multiple internal data processes included in the called second API can be omitted.
[0121] Next, in step S43, the system intrinsic value processing unit 233 performs the internal data processing included in the second API, excluding the internal data processing that can be omitted as determined in step S42.
[0122] Finally, in step S44, the system intrinsic value processing unit 233 generates parsed data representing the execution result of step S43 and stores the generated parsed data in the memory 12.
[0123] Figure 10 It means in Figure 5 The flowchart shows an example of the operation of the simplified API processing unit 234 in step S25, where the API classification unit 231 is instructed to execute the third API.
[0124] First, in step S51, the simplified API processing unit 234 calls the third API managed by the installed library 230.
[0125] exist Figure 6 In the example, the simplified API processing unit 234 calls ncUnitId 46.
[0126] Next, in step S52, the simplified API processing unit 234 determines which of the multiple internal data processes included in the invoked third API can be omitted.
[0127] Next, in step S53, the simplified API processing unit 234 performs the internal data processing included in the third API, excluding the internal data processing that can be omitted as determined in step S52.
[0128] Finally, in step S54, the simplified API processing unit 234 generates parsed data representing the execution result of step S53 and stores the generated parsed data in the memory 12.
[0129] Figure 11 Yes Figure 9 The operation example of the system intrinsic value processing unit 233 shown is as follows: Figure 10 The diagram illustrates the specific operation of the simplified API processing unit 234.
[0130] The system intrinsic value processing unit 233 determines whether internal data processing can be omitted when executing semaphoreControl 45.
[0131] In the CNC machine, the control software 40 operates on a real-time OS. To ensure the real-time processing of the control software 40, the semaphoreControl 42 within the control software 40 includes three internal data processing functions: task status confirmation, task start permission, and task start. The corresponding semaphoreControl 45, as shown in the example... Figure 11 As shown, it also includes three internal data processing steps: task status confirmation 451, task start permission 452, and task start 453.
[0132] However, real-time performance is not required in the simulation of the data processing device 10. Therefore, the system intrinsic value processing unit 233 determines that the internal data processing required to ensure real-time performance, namely task status confirmation 451 and task start permission 452, can be omitted.
[0133] As a result, the system intrinsic value processing unit 233 only performs task startup 453.
[0134] The simplified API processing unit 234 determines whether internal data processing can be omitted when executing ncUnitId 46.
[0135] If control software 40 is executed in the CNC device, then as an action of ncUnitId 43, it performs hardware status confirmation, acquisition of hardware values representing the hardware status, and response to the acquired hardware values. As described above, ncUnitId 43 within control software 40 includes three internal data processing steps: hardware status confirmation, hardware value acquisition, and hardware value response. In ncUnitId 46, which corresponds to ncUnitId 43, as follows... Figure 11 As shown, it also includes three internal data processing steps: hardware status confirmation 461, hardware value acquisition 462, and hardware value response 463.
[0136] However, in the simulation of the data processing device 10, the hardware that is the object of hardware status verification 461 and hardware value acquisition 462 does not exist. Furthermore, assuming that even if the aforementioned hardware exists, in the simulation, it is actually unnecessary to verify the status at that hardware, and it is also unnecessary to acquire the hardware value from that hardware. Therefore, the simplified API processing unit 234 determines that hardware status verification 461 and hardware value acquisition 462 can be omitted.
[0137] As a result, the simplified API processing unit 234 only executes the hardware value response 463.
[0138] ***Explanation of the effects of the implementation method***
[0139] As described above, according to this embodiment, the overhead caused by differences in the execution environment can be reduced. Moreover, by reducing overhead, the execution speed of the simulation can be improved.
[0140] Furthermore, in this embodiment, the differential absorption unit 23 replaces the hardware and OS processing mounted on the CNC device. Therefore, according to this embodiment, the control software 40 can be ported to a general-purpose PC without modifying the basic source code of the CNC device's control software 40.
[0141] In addition, the differential absorption unit 23 has a library that appropriately simplifies the processing of the hardware and OS mounted on the CNC device, which can ensure the same processing fidelity as the simulation method of the CNC device involved in the conventional method, and operate at a higher speed than the conventional method.
[0142] ***Supplementary Explanation of Hardware Structure***
[0143] Finally, a supplementary description of the hardware structure of the data processing device 10 will be provided.
[0144] Figure 1 The processor 11 shown is an IC (Integrated Circuit) that performs the processing.
[0145] Processor 11 includes CPU (Central Processing Unit), DSP (Digital Signal Processor), etc.
[0146] Figure 1 The memory 12 shown is RAM (Random Access Memory).
[0147] Figure 1 The storage device 15 shown is ROM (Read Only Memory), flash memory, HDD (Hard Disk Drive), etc.
[0148] Figure 1 The display device 13 shown is a display such as an LCD (Liquid Crystal Display).
[0149] Figure 1 The input device 14 shown is a keyboard, mouse, etc.
[0150] At least one of the information, data, signal values, and variable values representing the processing results of the simulation drawing unit 21, the control unit 22, and the differential absorption unit 23 is stored in at least one of the registers and cache memories in the memory 12, the storage unit 15, and the processor 11.
[0151] Furthermore, the program that implements the functions of the simulation drawing unit 21, the control unit 22, and the differential absorption unit 23 can be stored on portable recording media such as disks, floppy disks, optical disks, compressed disks, Blu-ray discs (registered trademark), and DVDs. Moreover, portable recording media storing the program that implements the functions of the simulation drawing unit 21, the control unit 22, and the differential absorption unit 23 can be circulated.
[0152] Alternatively, the "section" in the simulation drawing section 21, control section 22 and differential absorption section 23 can be changed to "circuit", "process", "sequence", "processing" or "circuit system".
[0153] Alternatively, the data processing device 10 can also be implemented using a processing circuit. Examples of processing circuits include integrated circuits (ICs), gate arrays (GAs), application-specific integrated circuits (ASICs), and field-programmable gate arrays (FPGAs).
[0154] In this case, the simulation rendering unit 21, the control unit 22, and the differential absorption unit 23 are each implemented as part of the processing circuit.
[0155] Furthermore, in this specification, the overarching concept of processor and processing circuitry is referred to as "processing circuitry system".
[0156] That is, the processor and the processing circuit are each specific examples of the "processing circuit system".
[0157] Explanation of the label
[0158] 10 Data processing unit, 11 Processor, 12 Memory, 13 Display device, 14 Input device, 15 Storage, 20 Simulation execution unit, 21 Simulation rendering unit, 22 Control unit, 23 Differential absorption unit, 30 OS, 40 Control software, 230 Installed library, 231 API classification unit, 232 OS replacement processing unit, 233 System intrinsic value processing unit, 234 Simplified API processing unit, 235 Execution unit.
Claims
1. A data processing apparatus, wherein the execution environment for data processing differs from that for external data processing devices, each containing one or more internal data processing APIs (Application Programming Interfaces), wherein the multiple APIs are executed. The data processing device has: An extraction unit parses the letters used in the names of the plurality of APIs and extracts APIs from the plurality of APIs that contain APIs from which internal data processing can be omitted. These APIs include those that, due to differences in the execution environment between the external data processing device and the data processing unit, require execution on the external data processing device but can be omitted on the data processing unit, thus allowing for the omission of internal data processing. The execution unit, which omits the execution of the API containing the API that can omit internal data processing extracted by the extraction unit, executes the API containing the API that can omit internal data processing.
2. The data processing apparatus according to claim 1, characterized in that, The extraction unit extracts APIs other than the first API that use only English letters, numbers, and lowercase letters in their names, and includes APIs that can omit internal data processing.
3. The data processing apparatus according to claim 2, characterized in that, The extraction unit will classify the extracted APIs, which contain APIs that can omit internal data processing, into either the second API or the third API. The second API is an API that, when executed by the data processing device, determines whether the internal data processing will always end with an error or always end normally, and is capable of omitting internal data processing that is inherent to the CNC device. The third API is an API that allows for the omission of internal data processing, encompassing internal data processing that is performed in both the external data processing device and the data processing apparatus, but which can be omitted when executed by the data processing apparatus. The execution unit has a second API execution unit that executes the second API and a third API execution unit that executes the third API. If the API extracted by the extraction unit that includes an API capable of omitting internal data processing is the second API, then the second API execution unit executes the second API. If the API extracted by the extraction unit is the third API, which contains an API that can omit internal data processing, the third API execution unit executes the third API.
4. The data processing apparatus according to claim 3, characterized in that, If the starting word of the extracted API name containing the ability to omit internal data processing contains a predetermined word, the extraction unit classifies the API containing the ability to omit internal data processing as the third API; if the extracted API containing the ability to omit internal data processing does not contain the predetermined word, the extraction unit classifies the API containing the ability to omit internal data processing as the second API.
5. A data processing method comprising a data processing execution environment and external data processing devices, each containing one or more internal data processing APIs (Application Programming Interfaces), executed by different computers. In data processing methods, The computer parses the letters used in the names of the plurality of APIs and extracts APIs that can omit internal data processing. These APIs include those that, due to differences in the execution environment between the external data processing device and the computer, require execution on the external data processing device but can be omitted from execution on the computer, thus omitting internal data processing. The computer omits the execution of the API that contains the ability to omit internal data processing, and executes the API that contains the ability to omit internal data processing.
6. A computer-readable recording medium recording a data processing program that enables an execution environment for the data processing to execute the multiple APIs, each containing one or more internal data processing APIs (Application Programming Interfaces), on a different computer. Computer-readable recording media contain data processing programs. The data processing program causes the computer to perform: Extraction processing involves parsing the letters used in the names of the plurality of APIs, and extracting APIs from the plurality of APIs that contain elements that can omit internal data processing. These APIs include those that, due to differences in the execution environment between the external data processing device and the computer, require execution on the external data processing device but can omit execution on the computer, thus allowing for the omission of internal data processing. The execution process omits the execution of the API that contains the API that can omit internal data processing, which is extracted through the extraction process, and executes the API that contains the API that can omit internal data processing.
Citation Information
Patent Citations
Nested structured emulation and dynamic linking environment
JP2015511041A
Communication apparatus, information processing apparatus, methods and computer-readable storage medium
CN106796553A
Debug support system, debug support method and computer-readable recording medium with program for the same recorded thereon
JP2002244883A