Cam curve generating device, cam curve generating method, and program

The cam curve generation device and method address speed and acceleration fluctuations by dividing sections to ensure smooth connections and reduced vibrations, enhancing industrial equipment performance.

JP7752292B2Active Publication Date: 2025-10-10PANASONIC INTELLECTUAL PROPERTY MANAGEMENT CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2022566859
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-11-01
Filing Date
2021-11-24
Publication Date
2025-10-10
Estimated Expiration
2041-11-24

AI Technical Summary

Technical Problem

Conventional cam curve generation methods result in significant fluctuations in speed and acceleration of the slave axis, leading to vibrations and shocks in industrial equipment, and require costly and large motors to manage these fluctuations.

Method used

A cam curve generation device and method that divides the application section into sub-sections based on specific boundary and division conditions, ensuring continuous position, velocity, and acceleration at each boundary, thereby smoothing connections with out-of-interval cam curves and suppressing fluctuations.

Benefits of technology

Generates a cam curve that smoothly connects to out-of-interval curves while minimizing speed and acceleration fluctuations, reducing vibrations and shock in industrial equipment, and optimizing motor requirements.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007752292000031
    Figure 0007752292000031
  • Figure 0007752292000032
    Figure 0007752292000032
  • Figure 0007752292000033
    Figure 0007752292000033
Patent Text Reader

Abstract

The objective of the present invention is to generate a cam curve with which variations in the speed of a driven shaft and the acceleration of the driven shaft are suppressed, while being connected smoothly to an out-of-sector cam curve. A cam curve generating device (100) is provided with: a sector dividing unit (60) for dividing an application sector into a plurality of sub-sectors in such a way as to satisfy division conditions; and a cam curve generating unit (70) for generating a cam curve for the application sector in such a way as to satisfy boundary conditions. Each of the plurality of sub-sectors is classified as either a sub-sector in which the acceleration of the driven shaft increases monotonically, a sub-sector in which the acceleration of the driven shaft decreases monotonically, or a sub-sector in which the acceleration of the driven shaft does not change. The division conditions include the length and the classification of each of the plurality of sub-sectors. The boundary conditions include the position of the driven shaft, the speed of the driven shaft and the acceleration of the driven shaft at the beginning and the end of the application sector. The cam curve generating unit (70) generates the cam curve in such a way that the position of the driven shaft, the speed of the driven shaft and the acceleration of the driven shaft are continuous at each boundary between the plurality of sub-sectors.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to a cam curve generating device that generates a cam curve for implementing electronic cam control that controls the position of a slave axis in synchronization with the position of a master axis. [Background technology]

[0002] Conventionally, a technique is known for generating a cam curve that, when boundary conditions at the start and end of an interval are given, smoothly connects to an outside-interval cam curve outside that interval (see, for example, Patent Document 1). Here, "the outside-interval cam curve and the generating cam curve smoothly connect" means that the positions, speeds, and accelerations of the slave axes on the outside-interval cam curve and the generating cam curve are continuous at the connection point. Also, "a certain physical quantity on the outside-interval cam curve and the generating cam curve is continuous at the connection point" means that the physical quantity is the same at the connection point. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2006-172438 Summary of the Invention

[0004] According to the conventional cam curve generation technology described above, a cam curve is uniquely determined according to the boundary conditions at the start and end of a section. Therefore, depending on the boundary conditions at the start and end of a section, a cam curve may be generated in which the speed or acceleration of the slave axis fluctuates relatively greatly within the applicable section.

[0005] Therefore, an object of the present disclosure is to provide a cam curve generation device, a cam curve generation method, and a program for causing a cam curve generation device to execute a cam curve generation process, which are capable of generating a cam curve that suppresses fluctuations in the speed and acceleration of the slave axis within the applicable interval while smoothly connecting to an out-of-interval cam curve.

[0006] A cam curve generation device according to one aspect of the present disclosure is an electronic cam-controlled cam curve generation device that controls the position of a slave axis. The cam curve generation device includes a boundary condition acquisition unit, a division condition acquisition unit, a section division unit, and a cam curve generation unit. The boundary condition acquisition unit acquires boundary conditions for an application section within a range in which the position of a master axis transitions, for which the cam curve is to be generated. The division condition acquisition unit acquires division conditions for dividing the application section into multiple sub-sections. The section division unit divides the application section into the multiple sub-sections so as to satisfy the division conditions. The cam curve generation unit generates a cam curve in the application section so as to satisfy the boundary conditions. Each of the multiple sub-sections is one of the following types: a sub-section in which the acceleration of the slave axis monotonically increases, a sub-section in which the acceleration of the slave axis monotonically decreases, or a sub-section in which the acceleration of the slave axis does not change. The division conditions include lengths and types of the multiple sub-sections. The boundary conditions include the position, velocity, and acceleration of the slave axis at the start and end of the application interval. The cam curve generator further generates the cam curve so that the position, velocity, and acceleration of the slave axis are continuous at each boundary of the plurality of sub-intervals.

[0007] A cam curve generation method according to another aspect of the present disclosure is a method for generating a cam curve for implementing electronic cam control that controls the position of a slave axis. The cam curve generation method includes a first step, a second step, a third step, and a fourth step. The first step acquires boundary conditions for an application section within a range in which the position of a master axis transitions, for which the cam curve is to be generated. The second step acquires division conditions for dividing the application section into multiple sub-sections. The third step divides the application section into the multiple sub-sections so as to satisfy the division conditions. The fourth step generates the cam curve in the application section so as to satisfy the boundary conditions. Each of the multiple sub-sections is one of the following types: a sub-section in which the acceleration of the slave axis monotonically increases, a sub-section in which the acceleration of the slave axis monotonically decreases, or a sub-section in which the acceleration of the slave axis does not change. The division conditions include the lengths and types of the multiple sub-sections. The boundary conditions include the position, velocity, and acceleration of the slave axis at the start and end of the application section. In the fourth step, a cam curve is further generated so that the position, velocity, and acceleration of the slave axis are continuous at each of the boundaries of the multiple sub-sections.

[0008] A program according to another aspect of the present disclosure is a program for causing a cam curve generation device to execute a cam curve generation process for generating a cam curve for implementing electronic cam control for controlling the position of a slave axis. The program includes a first step, a second step, a third step, and a fourth step. In the first step, the cam curve generation process acquires boundary conditions for an application section within a range in which the position of a master axis transitions, the application section being the target for generating the cam curve. In the second step, a division condition for dividing the application section into a plurality of sub-sections is acquired. In the third step, the application section is divided into the plurality of sub-sections so as to satisfy the division condition. In the fourth step, the cam curve in the application section is generated so as to satisfy the boundary condition. Each of the plurality of sub-sections is one of the following types: a sub-section in which the acceleration of the slave axis monotonically increases, a sub-section in which the acceleration of the slave axis monotonically decreases, or a sub-section in which the acceleration of the slave axis does not change. The division condition includes the length and type of the plurality of sub-sections. The boundary conditions include the position, velocity, and acceleration of the slave axis at the start and end of the application interval. In the fourth step, the cam curve is generated so that the position, velocity, and acceleration of the slave axis are continuous at each boundary of the plurality of sub-intervals.

[0009] Cam curve generating device and cam curve generating method according to the present disclosure method According to the program, a cam curve can be generated that smoothly connects to the outside-interval cam curve while suppressing fluctuations in the speed and acceleration of the slave axis within the application interval. [Brief explanation of the drawings]

[0010] [Figure 1] FIG. 1 is a block diagram showing an example of the configuration of a cam curve generating system according to the first embodiment. [Figure 2] FIG. 2 is a flowchart of the first cam curve generation process according to the first embodiment. [Figure 3] FIG. 3 is a waveform diagram showing an example of a cam curve according to the first embodiment. [Figure 4] FIG. 4 is a waveform diagram showing another example of the CAM curve according to the first embodiment. [Figure 5] FIG. 5 is a block diagram showing an example of the configuration of a cam curve generating system according to the second embodiment. [Figure 6] FIG. 6 is a flowchart of a second cam curve generation process according to the second embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0011] (How one aspect of the present disclosure was achieved) There is industrial equipment that performs a series of processes repeatedly and continuously, such as a pillow packaging machine that seals and cuts a film to a predetermined size while continuously feeding the film to package products in the film. Such industrial equipment has multiple axes for performing the series of processes, and the multiple axes perform the required operations while synchronizing with each other.

[0012] Known methods for synchronizing multiple axes include a method in which a cam mechanism mechanically attached to the main drive axis imparts cyclic motion to the other slave axes, and a method in which each slave axis is cyclically driven by a servo motor using a position signal pattern that correlates with the other axes. An example of the latter is a method of controlling slave axes using electronic cam control.

[0013] The slave axis control method using electronic cam control is a control method in which a slave axis position command is output to a servo motor based on a cam curve that defines the relationship between the master axis position and the slave axis position.Compared to slave axis control methods that use mechanical cam mechanisms, the slave axis control method using electronic cam control has advantages such as easier changes to the operation pattern and a simplified mechanism.

[0014] A cam curve is generated according to the motion pattern required for industrial equipment. A known method for generating a cam curve is to divide the motion pattern into multiple sections, generate a cam curve for each section, and then connect the cam curves for the multiple sections to generate a single cam curve.

[0015] For example, when the slave shaft is the end sealer shaft of a pillow packaging machine, a method is known in which the cam curve is generated by dividing the shaft into at least two sections: the section from the start position to the end position of one seal (hereinafter also referred to as the "sealing section"), and the period from the end position of one seal to the start position of the next seal (hereinafter also referred to as the "relay section").

[0016] In the sealing section, the sealing surface of the end sealer must be in contact with the predetermined sealing portion of the film, so the movement speed of the end sealer is uniquely determined relative to the film transport speed, and therefore the cam curve of the end sealer shaft in the sealing section is uniquely determined.

[0017] On the other hand, in the relay section, the sealing surface of the end sealer operates away from the film, so the movement speed of the end sealer can be determined ambiguously relative to the film transport speed, and therefore the cam curve of the end sealer shaft in the relay section can be determined ambiguously.

[0018] Furthermore, when dividing an operating pattern into multiple sections and generating a cam curve for each section, the speed of the slave axis obtained by first-order differentiation of the cam curve with respect to the position of the master axis, and the acceleration of the slave axis obtained by second-order differentiation, may become discontinuous at the boundary between two adjacent sections.

[0019] When such a discontinuity occurs, the speed, acceleration, etc. of the slave shaft change suddenly near the boundary. The sudden change in the speed and acceleration of the slave shaft generates relatively large acceleration, torque, jerk, etc. in the slave shaft, which can cause vibration or shock to the industrial equipment.

[0020] In order to prevent vibrations or shocks from being applied to such industrial equipment, it is necessary to generate a cam curve in a section where the cam curve is ambiguously defined, such as the relay section in the pillow packaging machine described above, so that the cam curve smoothly connects to the cam curve in the adjacent section where the cam curve is univocally defined. A known prior art technique for generating such a cam curve is described in, for example, Patent Document 1.

[0021] This conventional technology uses cam curves in which the position of the slave axis relative to the position of the main axis is defined as a quintic function, the speed of the slave axis relative to the position of the main axis is defined as a quartic function, and the acceleration of the slave axis relative to the position of the main axis is defined as a cubic function, thereby generating a cam curve that smoothly connects with the cam curve outside the section at the boundary with the adjacent section.

[0022] However, in the above-mentioned conventional technology, when the boundary conditions at the start and end of a section are given, the shape of the cam curve is uniquely determined according to the boundary conditions, and therefore, depending on the boundary conditions at the start and end of the section, the speed or acceleration of the slave axis within the applicable section may fluctuate relatively greatly.

[0023] Larger fluctuations in the speed or acceleration of the driven shaft result in greater vibration or shock to the industrial equipment, and require a motor that can deliver greater speed and torque, which increases the cost, size, and weight of the industrial equipment.

[0024] Therefore, the inventors conducted repeated experiments and studies to develop a cam curve generation device that can generate a cam curve that smoothly connects to the cam curve outside the range while suppressing fluctuations in the speed and acceleration of the slave axis within the applicable range.

[0025] As a result, the inventors have come up with the following cam curve generating device and cam curve generating method.

[0026] A cam curve generation device according to one aspect of the present disclosure generates a cam curve for electronic cam control that controls the position of a slave axis. The cam curve generation device includes a boundary condition acquisition unit, a division condition acquisition unit, a section division unit, and a cam curve generation unit. The boundary condition acquisition unit acquires boundary conditions for an application section, within a range in which the position of a master axis transitions, for which the cam curve is to be generated. The division condition acquisition unit divides the application section into multiple sub-sections. The section division unit divides the application section into the multiple sub-sections so as to satisfy the division condition. The cam curve generation unit generates the cam curve in the application section so as to satisfy the boundary condition. Each of the multiple sub-sections is one of the following types: a sub-section in which the acceleration of the slave axis monotonically increases, a sub-section in which the acceleration of the slave axis monotonically decreases, or a sub-section in which the acceleration of the slave axis does not change. The division condition includes the lengths and types of the multiple sub-sections. The boundary condition includes the position, speed, and acceleration of the slave axis at the start and end of the application section. The cam curve generating unit generates the cam curve so that the position, velocity, and acceleration of the slave axis are continuous at each boundary between the plurality of sub-intervals.

[0027] With the cam curve generation device configured as described above, the position, velocity, and acceleration of the slave axis at the start and end of the application interval are determined by the acquired boundary conditions. Therefore, with the cam curve generation device configured as described above, by appropriately acquiring the boundary conditions, it is possible to generate a cam curve that smoothly connects with the outside-interval cam curve outside the application interval.

[0028] Furthermore, with the cam curve generation device configured as described above, the speed and acceleration of the slave axis within the application section are determined by the acquired division conditions. Therefore, with the cam curve generation device configured as described above, by acquiring appropriate division conditions, it is possible to generate a cam curve that suppresses fluctuations in the speed and acceleration of the slave axis within the application section.

[0029] Therefore, the cam curve generation device having the above configuration can generate a cam curve that smoothly connects to the out-of-interval cam curve while suppressing fluctuations in the speed and acceleration of the slave axis within the application interval.

[0030] Furthermore, the cam curve generation unit may generate the cam curve so that, in at least one sub-section of the type in which the acceleration of the slave axis monotonically increases or monotonically decreases, the waveform of the acceleration of the slave axis from the start point to the end point of the sub-section has the shape of a 1 / 4 cycle portion up to the peak of a sine wave.

[0031] Furthermore, the cam curve generation unit may generate the cam curve so that, in at least one sub-section of the type in which the acceleration of the slave axis monotonically increases or monotonically decreases, the waveform of the acceleration of the slave axis from the start point to the end point of the sub-section has the shape of a half-cycle portion from the peak of a sine wave.

[0032] Furthermore, the cam curve generation unit may generate the cam curve so that, in at least one sub-section of the type in which the acceleration of the slave axis monotonically increases or monotonically decreases, the waveform of the acceleration of the slave axis from the start point to the end point of the sub-section has the shape of a 1 / 4 period portion from the peak of a sine wave.

[0033] Furthermore, the cam curve generation unit may generate the cam curve so that, in at least one sub-section of a type in which the acceleration of the slave axis monotonically increases or monotonically decreases, the waveform of the acceleration of the slave axis from the start to the end of the sub-section is a waveform defined by a first-order polynomial of the position of the master axis.

[0034] The plurality of sub-intervals may be five consecutive sub-intervals: a first sub-interval, a second sub-interval, a third sub-interval, a fourth sub-interval, and a fifth sub-interval. The first sub-interval, the third sub-interval, and the fifth sub-interval may be sub-intervals in which the acceleration of the slave axis monotonically increases or monotonically decreases, and the second sub-interval and the fourth sub-interval may be sub-intervals in which the acceleration of the slave axis does not change.

[0035] The acceleration of the slave axis in the second sub-interval and the fourth sub-interval may be a value other than zero.

[0036] The plurality of sub-intervals may be seven sub-intervals, consisting of a first sub-interval, a second sub-interval, a third sub-interval, a fourth sub-interval, a fifth sub-interval, a sixth sub-interval, and a seventh sub-interval, which are consecutive in order. The first sub-interval, the third sub-interval, the fifth sub-interval, and the seventh sub-interval may be sub-intervals in which the acceleration of the slave axis monotonically increases or monotonically decreases. The second sub-interval, the fourth sub-interval, and the sixth sub-interval may be sub-intervals in which the acceleration of the slave axis does not change.

[0037] Furthermore, the acceleration of the slave axis in the second sub-interval and the sixth sub-interval may be a value other than 0, and the acceleration of the slave axis in the fourth sub-interval may be 0.

[0038] Furthermore, the present invention may further include a section setting unit that divides a range in which the position of the spindle transitions into the application section and a non-application section other than the application section.

[0039] The system may further include a pre-created cam curve storage unit and a boundary condition calculation unit. The pre-created cam curve storage unit stores a pre-created cam curve that has been generated in advance. The boundary condition calculation unit calculates the following values ​​from the pre-created cam curve: a position of a first of the slave axes at a position of a first main axis, a speed of the first of the slave axes at the position of the first main axis, an acceleration of the first of the slave axes at the position of the first main axis, a position of a second main axis at a time after the position of the first main axis, a speed of the second of the slave axes at the position of the second main axis, and an acceleration of the second main axis. of and the acceleration of the second slave axis at the position of the first slave axis. Furthermore, within the range in which the position of the main axis transitions on the existing cam curve, a first section from the position of the first main axis to the position of the second main axis is set as the application section, and the boundary conditions shown below are calculated. That is, the boundary conditions are such that the position of the first slave axis, the speed of the first slave axis, and the acceleration of the first slave axis are the position of the slave axis at the starting end, the speed of the slave axis at the starting end, and the acceleration of the slave axis at the starting end. Furthermore, the boundary conditions are such that the position of the second slave axis, the speed of the second slave axis, and the acceleration of the second slave axis are the position of the slave axis at the end, the speed of the slave axis at the end, and the acceleration of the slave axis at the end. The boundary condition acquisition unit calculates the boundary conditions and the acceleration of the second slave axis related to the starting end calculated by the boundary condition calculation unit. The termination The division condition acquisition unit acquires the division condition that defines the first section as the application section. The section division unit defines the first section as the application section and divides the application section into the plurality of sub-sections. The CAM curve generation unit may generate the CAM curve by defining the first section as the application section.

[0040] A cam curve generation method according to another aspect of the present disclosure generates a cam curve for implementing electronic cam control that controls the position of a slave axis. The cam curve generation method includes a first step, a second step, a third step, and a fourth step. The first step acquires boundary conditions for an application section within a range in which the position of a master axis transitions, for which the cam curve is to be generated. The second step acquires division conditions for dividing the application section into multiple sub-sections. The third step divides the application section into the multiple sub-sections so as to satisfy the division conditions. The fourth step generates the cam curve in the application section so as to satisfy the boundary conditions. Each of the multiple sub-sections is one of the following types: a sub-section in which the acceleration of the slave axis monotonically increases, a sub-section in which the acceleration of the slave axis monotonically decreases, or a sub-section in which the acceleration of the slave axis does not change. The division conditions include the lengths of the multiple sub-sections and the types. The boundary conditions include the position, velocity, and acceleration of the slave axis at the start and end of the application interval. In the fourth step, the cam curve is further generated so that the position, velocity, and acceleration of the slave axis are continuous at each boundary of the plurality of sub-intervals.

[0041] According to the above CAM curve generation method, the position, velocity, and acceleration of the slave axis at the start and end of the application interval are determined by the acquired boundary conditions. Therefore, according to the above CAM curve generation method, by appropriately acquiring the boundary conditions, it is possible to generate a CAM curve that smoothly connects with the outside-interval CAM curve outside the application interval.

[0042] Furthermore, with the above-described CAM curve generation method, the speed and acceleration of the slave axis within the applicable section are determined by the acquired division conditions. Therefore, with the above-described CAM curve generation method, by acquiring appropriate division conditions, it is possible to generate a CAM curve that suppresses fluctuations in the speed and acceleration of the slave axis within the applicable section.

[0043] Therefore, according to the above cam curve generation method, it is possible to generate a cam curve that smoothly connects to the out-of-interval cam curve while suppressing fluctuations in the speed and acceleration of the slave axis within the application interval.

[0044] A program according to another aspect of the present disclosure is a program for causing a cam curve generation device to execute a cam curve generation process for generating a cam curve for implementing electronic cam control that controls the position of a slave axis. The program includes a first step, a second step, a third step, and a fourth step. In the first step, the cam curve generation process acquires boundary conditions for an application section within a range in which the position of a master axis transitions, for which a cam curve is to be generated. In the second step, a division condition for dividing the application section into multiple sub-sections is acquired. In the third step, the application section is divided into the multiple sub-sections so as to satisfy the division condition. In the fourth step, a cam curve is generated in the application section so as to satisfy the boundary condition. Each of the multiple sub-sections is a sub-section in which the acceleration of the slave axis monotonically increases or monotonically decreases, or a sub-section in which the acceleration of the slave axis does not change. The division condition includes the length and type of each of the multiple sub-sections. The boundary conditions include the position, speed, and acceleration of the slave axis at the start and end of the application section. In the fourth step, a cam curve is generated so that the position, velocity, and acceleration of the slave axis are continuous at each boundary of the plurality of sub-sections.

[0045] According to the program, the position, speed, and acceleration of the slave axis at the start and end of the application interval are determined by the acquired boundary conditions. Therefore, according to the program, by appropriately acquiring the boundary conditions, it is possible to generate a cam curve that smoothly connects with the outside-interval cam curve outside the application interval.

[0046] Furthermore, according to the program, the speed and acceleration of the slave axis within the applicable section are determined by the acquired division conditions. Therefore, by acquiring appropriate division conditions, the program can generate a cam curve that suppresses fluctuations in the speed and acceleration of the slave axis within the applicable section.

[0047] Therefore, the above program can generate a cam curve that smoothly connects to the out-of-interval cam curve and suppresses fluctuations in the speed and acceleration of the slave axis within the application interval.

[0048] Specific examples of a cam curve generation device and a cam curve generation method according to aspects of the present disclosure will be described below with reference to the drawings. Each of the embodiments shown here represents a specific example of the present disclosure. Therefore, the numerical values, shapes, components, arrangement and connection of the components, steps (processes), and order of steps shown in the following embodiments are merely examples and are not intended to limit the present disclosure. Furthermore, each figure is a schematic diagram and is not necessarily an exact representation.

[0049] In addition, the comprehensive or specific aspects of the present disclosure may be realized as a system, a method, an integrated circuit, a computer program, or a recording medium such as a computer-readable CD-ROM, or may be realized as any combination of a system, a method, an integrated circuit, a computer program, and a recording medium.

[0050] (Embodiment 1) Here, an electronic cam control system that performs electronic cam control to control the position of a slave shaft in synchronization with the position of a master shaft will be described with reference to the drawings.

[0051] <Configuration> FIG. 1 is a block diagram showing an example of the configuration of a cam curve generating system 1 according to the first embodiment.

[0052] As shown in FIG. 1, the cam curve generating system 1 includes a cam curve generating device 100, a servo control device 200, and a motor 300.

[0053] The cam curve generating device 100 generates a cam curve that defines the relationship between the position of the main axis and the position of the slave axis, and is used to realize electronic cam control that controls the position of the slave axis in synchronization with the position of the main axis.

[0054] The cam curve may be, for example, a function that defines the relationship between the position of the main axis and the position of the slave axis, or may be a data table.

[0055] The cam curve may further define, for example, the relationship between the position of the main axis and the speed of the slave axis, the relationship between the position of the main axis and the acceleration of the slave axis, or the relationship between the position of the main axis and the jerk of the slave axis. That is, the cam curve may further include a function or a data table that defines the relationship between the position of the main axis and the speed of the slave axis, the relationship between the position of the main axis and the acceleration of the slave axis, or the relationship between the position of the main axis and the jerk of the slave axis.

[0056] Furthermore, the cam curve generating device 100 generates and outputs a command for the slave axis based on the generated cam curve and the main axis position indicating the position of the main axis. The command may be, for example, a position command, a speed command, or a torque command.

[0057] Here, the main shaft position is a position signal that serves as a reference for synchronization of the cam curve generation system 1. The main shaft position may be, for example, a position command to the main shaft, a signal indicating the position of the main shaft acquired by an external device such as a pulser or an encoder, or a signal indicating the position of an axis other than the main shaft that operates in synchronization with the main shaft, or the position of a movable part of industrial equipment such as a belt conveyor. When the main shaft position is a position command to the main shaft, the cam curve generation device 100 may generate this position command. Furthermore, the main shaft does not necessarily have to be an actual axis, but may be a virtual axis.

[0058] The motor 300 drives the driven shaft.

[0059] The servo control device 200 controls the motor 300 based on the command to the slave axis output from the cam curve generating device 100.

[0060] As shown in FIG. 1, the cam curve generating device 100 includes an input receiving unit 10, a section information acquiring unit 20, a division condition acquiring unit 30, a boundary condition acquiring unit 40, a section setting unit 50, a section dividing unit 60, a cam curve generating unit 70, a cam curve memory unit 80, and a slave axis command generating unit 90.

[0061] The cam curve generation device 100 may be realized, for example, by a computer including a processor and a memory. In this case, each of the components constituting the cam curve generation device 100 may be realized, for example, by the processor executing a program stored in the memory.

[0062] The input receiving unit 10 receives input of cam curve generating conditions.

[0063] The cam curve generation conditions include section information indicating the application section within the range in which the spindle position transitions, which is the target for generating the cam curve, boundary conditions for the application section, and division conditions for dividing the application section into multiple sub-sections.

[0064] The section information acquisition unit 20 acquires section information from the CAM curve generating conditions accepted by the input acceptance unit 10. Here, the section information is described as being included in the CAM curve generating conditions, but the section information may be determined in advance, for example. In this case, the section information acquisition unit 20 may store the predetermined section information instead of acquiring the section information from the CAM curve generating conditions accepted by the input acceptance unit 10.

[0065] As an example that does not necessarily need to be limited, the section information is represented by coordinate values ​​in an xy Cartesian coordinate system in which the position of the major axis is the x-axis (horizontal axis) and the position of the minor axis is the y-axis (vertical axis). The coordinate values ​​may be, for example, only the position of the major axis, or the positions of the major axis and the minor axis. Here, the coordinate values ​​will be described as the positions of the major axis and the minor axis.

[0066] The section setting unit 50 divides the range in which the spindle position transitions into an application section and a non-application section other than the application section, based on the section information acquired by the section information acquisition unit 20. In this way, the section setting unit 50 sets the application section and the non-application section.

[0067] The applicable section corresponds to a section where the cam curve can be determined ambiguously, such as a relay section when the slave shaft is the end sealer shaft of a pillow packaging machine, and the non-applicable section corresponds to a section where the cam curve is determined univocally, such as a sealing section when the slave shaft is the end sealer shaft of a pillow packaging machine.

[0068] When the interval setting unit 50 determines the application interval and the non-application interval, it externally acquires or generates an out-of-interval cam curve that defines the relationship between the positions of the main axis and the slave axis in the non-application interval.

[0069] When generating an out-of-interval cam curve, the interval setting unit 50 may, for example, acquire from outside, in addition to the coordinate values ​​in the interval information, dimensions of various parts in the industrial equipment, operating conditions of the machining process performed by the industrial equipment, etc., and generate the out-of-interval cam curve based on these coordinate values, dimensions, operating conditions, etc.

[0070] The out-of-interval cam curve may further define, for example, the relationship between the position of the main axis and the velocity of the slave axis, the relationship between the position of the main axis and the acceleration of the slave axis, or the relationship between the position of the main axis and the jerk of the slave axis in the non-application interval.

[0071] The out-of-section cam curve obtained or generated by the section setting unit 50 is stored in the cam curve storage unit 80, which will be described later.

[0072] The division condition acquisition unit 30 acquires the division conditions from the CAM curve generating conditions accepted by the input acceptance unit 10. Here, the division conditions are described as being included in the CAM curve generating conditions, but the division conditions may be determined in advance, for example. In this case, the division condition acquisition unit 30 may store the predetermined division conditions instead of acquiring the division conditions from the CAM curve generating conditions accepted by the input acceptance unit 10.

[0073] The division conditions include a division number indicating the number of sub-intervals to be divided, the length of each of the plurality of sub-intervals, and the type of each of the plurality of sub-intervals.

[0074] Here, the length of the subinterval is information that allows calculation of the difference between the position of the main axis at the start of the subinterval and the position of the main axis at the end of the subinterval. The length of the subinterval is not necessarily limited to a specific value, but may be, for example, the distance between the position of the main axis at the start of the subinterval and the position of the main axis at the end of the subinterval.

[0075] Here, the type is information indicating whether the sub-section is a sub-section in which the acceleration of the slave axis monotonically increases or decreases, or a sub-section in which the acceleration of the slave axis does not change.

[0076] The section dividing unit 60 divides the applicable section into a plurality of sub-sections based on the division conditions acquired by the division condition acquiring unit 30 so as to satisfy the division conditions.

[0077] For this reason, the section dividing unit 60 divides the application section into sub-sections of either type, where the acceleration of the slave axis monotonically increases or decreases, or where the acceleration of the slave axis does not change.

[0078] After dividing the application interval into a plurality of sub-intervals, the interval dividing unit 60 outputs information indicating each sub-interval to the cam curve generating unit 70. The information indicating the sub-interval may be, for example, the coordinate values ​​of the position of the main axis at the boundary of the sub-interval and the type of the sub-interval.

[0079] The boundary condition acquisition unit 40 acquires the boundary conditions from the CAM curve generation conditions received by the input reception unit 10 .

[0080] The boundary conditions include the position of the slave axis, the velocity of the slave axis, and the acceleration of the slave axis at the beginning and end of the application interval.

[0081] Here, the boundary conditions are described as being included in the CAM curve generation conditions, but the boundary conditions may be, for example, predetermined. In this case, the boundary condition acquisition unit 40 may store the predetermined boundary conditions instead of acquiring the boundary conditions from the CAM curve generation conditions accepted by the input acceptance unit 10.

[0082] Furthermore, instead of acquiring boundary conditions from the cam curve generation conditions received by the input receiving unit 10, the boundary condition acquiring unit 40 may generate boundary conditions from the out-of-section cam curve stored in the cam curve storage unit 80. In this case, the boundary condition acquiring unit 40 may, for example, calculate the position, speed, and acceleration of the slave axis at the end of the inapplicable cam curve in the inapplicable section adjacent to and preceding the applicable section as the position, speed, and acceleration of the slave axis at the start of the applicable section. Alternatively, the boundary condition acquiring unit 40 may calculate the position, speed, and acceleration of the slave axis at the start of the inapplicable cam curve in the inapplicable section adjacent to and following the applicable section as the position, speed, and acceleration of the slave axis at the end of the applicable section.

[0083] The CAM curve generation unit 70 generates a CAM curve in the application interval so as to satisfy the boundary conditions acquired by the boundary condition acquisition unit 40. At this time, the CAM curve generation unit 70 generates a CAM curve based on the information indicating the sub-intervals output from the interval division unit 60 so that the position, speed, and acceleration of the slave axis are continuous at each boundary between the multiple sub-intervals.

[0084] Specific examples of the cam curve generated by the cam curve generating unit 70 will be described later.

[0085] The cam curve storage unit 80 stores the cam curve generated by the cam curve generation unit 70. In addition, the cam curve storage unit 80 stores the outside-section cam curve acquired or generated by the section setting unit 50, as described above.

[0086] The cam curve memory unit 80 may store the cam curve or the out-of-interval cam curve itself, or if the cam curve or the out-of-interval cam curve is a function that defines the relationship between the position of the main axis and the position of the slave axis, it may store factor data of that function, or if the cam curve or the out-of-interval cam curve is a data table that defines the relationship between the position of the main axis and the position of the slave axis, it may store the numerical values ​​of the data that make up the data table.

[0087] The slave axis command generating unit 90 acquires the master axis position and generates and outputs a command to the slave axis based on the master axis position and the cam curve stored in the cam curve storage unit 80 or the out-of-range cam curve.

[0088] <Operation> The cam curve generating device 100 configured as described above performs, as an example, a first cam curve generating process for generating a cam curve.

[0089] The first cam curve generation process performed by the cam curve generation device 100 will be described below with reference to the drawings.

[0090] FIG. 2 is a flowchart of the first cam curve generation process.

[0091] The first cam curve generation process is started, for example, when an operation to start the first cam curve generation process is performed on the cam curve generation device 100.

[0092] When the first CAM curve generation process is started, the section information acquisition unit 20 acquires section information (step S10). More specifically, the section information acquisition unit 20 acquires the section information from the CAM curve generation conditions accepted by the input acceptance unit 10. When the section information acquisition unit 20 acquires the section information, the section setting unit 50 sets applicable sections and non-applicable sections based on the section information (step S20).

[0093] Next, the division condition acquisition unit 30 acquires the division conditions (step S30). More specifically, the division condition acquisition unit 30 acquires the division conditions from the CAM curve generation conditions accepted by the input acceptance unit 10. When the division conditions are acquired by the division condition acquisition unit 30, the section division unit 60 divides the application section into a plurality of sub-sections based on the division conditions so as to satisfy the division conditions (step S40). Then, the section division unit 60 outputs information indicating each sub-section to the CAM curve generation unit 70.

[0094] Next, boundary condition acquisition unit 40 acquires boundary conditions (step S50). More specifically, boundary condition acquisition unit 40 acquires the boundary conditions from the CAM curve generation conditions received by input reception unit 10. When boundary condition acquisition unit 40 acquires the boundary conditions, CAM curve generation unit 70 generates a CAM curve in the application interval based on the boundary conditions acquired by boundary condition acquisition unit 40 so as to satisfy the boundary conditions. At this time, CAM curve generation unit 70 generates a CAM curve based on information indicating the sub-intervals output from interval division unit 60 so that the position, velocity, and acceleration of the slave axis are continuous at each boundary of the multiple sub-intervals (step S60).

[0095] When the processing of step S60 ends, the cam curve generating device 100 ends the first cam curve generation processing.

[0096] <Example> The specific processing content of step S60 will be described below with reference to the drawings.

[0097] FIG. 3 is a waveform diagram showing an example of the CAM curve generated by the CAM curve generating unit 70 in the process of step S60.

[0098] The waveform diagram in the upper part of Figure 3 shows a cam curve that defines the relationship between the position of the main axis and the position of the slave axis. In the waveform diagram in the upper part, the horizontal axis (x-axis) represents the position x of the main axis, and the vertical axis (y-axis) represents the position y of the slave axis.

[0099] The waveform diagram in the middle of Figure 3 shows a cam curve that defines the relationship between the position of the main axis and the speed of the slave axis. In the waveform diagram in the middle, the horizontal axis (x-axis) represents the position x of the main axis, and the vertical axis (v-axis) represents the speed v of the slave axis.

[0100] The waveform diagram at the bottom of Figure 3 shows a cam curve that defines the relationship between the position of the main axis and the acceleration of the slave axis. In the waveform diagram at the bottom, the horizontal axis (x-axis) represents the position x of the main axis, and the vertical axis (a-axis) represents the acceleration a of the slave axis.

[0101] In the upper, middle, and lower waveform diagrams of Fig. 3, the section where the spindle position is from X0 to X5 is the section set as the application section. s The section from X5 to X0 is the section set as the first non-applicable section, and the spindle position is from X5 to X e The section up to is the section set as the second non-applicable section. In other words, the cam curve in the applicable section where the spindle positions are from X0 to X5 is the cam curve generated by the cam curve generator 70 in the processing of step S60.

[0102] For example, in the waveform diagram at the top of Figure 3, the coordinate value indicating the boundary of the application section is (X 0, Y0), (X 5, Y5).

[0103] The boundary conditions for the start of the application section are set to the coordinate values ​​equal to the end of the CAM curve in the first non-application section, i.e., the slave axis position Y0, slave axis velocity V0, and slave axis acceleration A0. Also, the boundary conditions for the end of the application section are set to the coordinate values ​​equal to the start of the CAM curve in the second non-application section, i.e., the slave axis position Y5, slave axis velocity V5, and slave axis acceleration A5.

[0104] 3, the application section is divided into five sub-sections, namely, the first sub-section, the second sub-section, the third sub-section, the fourth sub-section, and the fifth sub-section, in ascending order of the major axis position. The coordinate values ​​of the major axis positions that indicate the boundaries of these five sub-sections are X0, X1, X2, X3, X4, and X5.

[0105] The first, third, and fifth sub-sections are set as sub-sections in which the acceleration of the slave axis monotonically increases or decreases, while the second and fourth sub-sections are set as sub-sections in which the acceleration of the slave axis does not change.

[0106] In the process of step S60, the cam curve generator 70 defines the acceleration a of the slave axis in the first to fifth sub-intervals as a function a(x) of the position x of the master axis shown in the following (Equation 1). In (Equation 1), K iT (i=1,3,5) and K i2 (i=1,2,3,4,5) are coefficients.

[0107] (Formula 1)

[0108]

number

[0109] As,

[0110]

number

[0111] In (Equation 1), the waveform of the slave-shaft acceleration a in the first sub-interval from the beginning to the end of the first sub-interval is defined by a sine wave whose phase transitions from 0 to π×½. That is, the waveform of the slave-shaft acceleration a in the first sub-interval from the beginning to the end of the first sub-interval has the shape of a ¼-cycle portion up to the peak of the sine wave. Here, in this specification, the term “peak” includes both positive and negative peaks. Furthermore, the waveform of the slave-shaft acceleration a in the third sub-interval from the beginning to the end of the third sub-interval is defined by a sine wave whose phase transitions from π×½ to π×½. That is, the waveform of the slave-shaft acceleration a in the third sub-interval from the beginning to the end of the third sub-interval has the shape of a half-cycle portion from the peak of the sine wave. Furthermore, the waveform of the acceleration a of the slave axis in the fifth sub-interval from the start to the end of the fifth sub-interval is defined by a sine wave whose phase shifts from π × 3 / 2 to π × 2. In other words, the waveform of the acceleration a of the slave axis in the fifth sub-interval from the start to the end of the fifth sub-interval has the shape of a 1 / 4 period portion from the peak of the sine wave.

[0112] Note that these functions are merely examples, and any function may be used in the first, third, and fifth sub-intervals as long as the slave-axis acceleration a is a monotonically increasing or monotonically decreasing function in these sub-intervals. For example, the waveform of the slave-axis acceleration a in the first sub-interval may be defined by a sine wave whose phase shifts from π to π × 3 / 2 from the beginning to the end of the first sub-interval. In other words, the waveform of the slave-axis acceleration a in the first sub-interval from the beginning to the end of the first sub-interval may have the shape of a ¼ period portion up to the peak of the sine wave. Furthermore, the waveform of the slave-axis acceleration a in the third sub-interval may be defined by a sine wave whose phase shifts from π × (-½) to π × ½ from the beginning to the end of the third sub-interval. That is, the waveform of the acceleration a of the slave axis in the third sub-interval from the start to the end of the third sub-interval may be in the shape of a half-cycle portion from the peak of a sine wave. Also, the waveform of the acceleration a of the slave axis in the fifth sub-interval from the start to the end of the fifth sub-interval may be defined by a sine wave whose phase shifts from π × 1 / 2 to π. That is, the waveform of the acceleration a of the slave axis in the fifth sub-interval from the start to the end of the fifth sub-interval may be in the shape of a ¼-cycle portion from the peak of a sine wave.

[0113] By integrating (Equation 1) with respect to the position x of the master axis, the function v(x) that defines the speed v of the slave axis in the first to fifth sub-intervals is obtained as shown in (Equation 2) below. i1 (i=1,2,3,4,5) are integral constants and coefficients.

[0114] (Formula 2)

[0115]

number

[0116] As,

[0117]

number

[0118] By integrating (Equation 2) with respect to the position x of the major axis, the function y(x) that defines the position y of the minor axis in the first to fifth sub-intervals is obtained as shown in (Equation 3) below. i0 (i=1,2,3,4,5) are integral constants and coefficients.

[0119] (Formula 3)

[0120]

number

[0121] As,

[0122]

number

[0123] K included in (Equation 1), (Equation 2), and (Equation 3) iT (i=1,3,5), K i2 (i=1,2,3,4,5), K i1 (i=1,2,3,4,5), and K i0 (i=1, 2, 3, 4, 5) are the coefficients or factors of the cam curve. These are unknown quantities until the processing of step S60 is executed, but are calculated by the cam curve generator 70 in the processing of step S60.

[0124] In the examples of (Equation 1), (Equation 2), and (Equation 3), there are 18 unknowns as mentioned above, and therefore the same number of 18 conditions are required to calculate the unknowns. As will be described below, in the processing of step S60, the cam curve generator 70 calculates the 18 unknowns based on a total of 18 conditions: six boundary conditions at the start and end of the application interval and 12 continuous conditions for the position, speed, and acceleration of the slave axis at the boundaries of each sub-interval.

[0125] The boundary conditions Y0, V0, and A0 at the start of the application section shown in FIG. 3, i.e., the position X0 of the main axis in the first sub-section, are substituted into (Equation 1), (Equation 2), and (Equation 3) to obtain the three equations shown in (Equation 4) below.

[0126] (Formula 4)

[0127]

number

[0128] The boundary conditions Y5, V5, and A5 at the end of the application section shown in FIG. 3, i.e., the position X5 of the main axis in the fifth sub-section, are substituted into (Equation 1), (Equation 2), and (Equation 3) to obtain the three equations shown in (Equation 5) below.

[0129] (Formula 5)

[0130]

number

[0131] As,

[0132]

number

[0133] By applying the condition that the acceleration a of the slave axis is continuous at the boundaries of each sub-interval shown in FIG. 3 to (Equation 1), the four equations shown in (Equation 6) below are obtained.

[0134] (Formula 6)

[0135]

number

[0136] As,

[0137]

number

[0138] By applying the condition that the velocity v of the slave axis is continuous at the boundaries of each sub-interval shown in FIG. 3 to (Equation 2), the four equations shown in (Equation 7) below are obtained.

[0139] (Formula 7)

[0140]

number

[0141] As,

[0142]

number

[0143] By applying the condition that the position y of the slave axis is continuous at the boundary of each sub-section shown in FIG. 3 to (Equation 3), the four equations shown in (Equation 8) below are obtained.

[0144] (Formula 8)

[0145]

number

[0146] As,

[0147]

number

[0148] In the process of step S60, the cam curve generating unit 70 solves the simultaneous equations with 18 unknowns using the 18 equations shown in (Equation 4) to (Equation 8) to obtain the unknown K iT (i=1,3,5), K i2 (i=1,2,3,4,5), K i1 (i=1,2,3,4,5), and K i0 Calculate (i=1,2,3,4,5).

[0149] The cam curve generation unit 70 may calculate the unknowns by solving the simultaneous equations with 18 unknowns each time a cam curve is generated, or may store in advance a calculation formula obtained by modifying the simultaneous equations with 18 unknowns and calculate the unknowns based on the stored calculation formula.

[0150] Next, an example of the effect obtained by the cam curve generating device 100 will be described using an example of a cam curve shown in FIG.

[0151] 3, the cam curve for the applicable section has, at its starting point where the master axis position is X0, a slave axis position Y0, a slave axis velocity V0, and a slave axis acceleration A0, which are equal to the ending point of the cam curve for the adjacent first non-applicable section. Also, at its ending point where the master axis position is X5, the slave axis position Y5, a slave axis velocity V5, and a slave axis acceleration A5, which are equal to the starting point of the cam curve for the adjacent second non-applicable section. In this way, the cam curve generation device 100 generates a cam curve for the applicable section so that it has a starting end shape and an ending end shape that smoothly connect to the adjacent non-applicable section. Therefore, the cam curve generation device 100 can provide electronic cam control in which the slave axis velocity and acceleration do not change suddenly near the boundary between the applicable section and the non-applicable section.

[0152] 3 has a second sub-interval where the acceleration a of the slave axis is constant, and a fourth sub-interval, and at the boundaries of each sub-interval, the position y of the slave axis, the velocity v of the slave axis, and the acceleration a of the slave axis are continuous. Therefore, the cam curve generation device 100 can provide electronic cam control that suppresses fluctuations in the velocity and acceleration of the slave axis within the application interval, compared to electronic cam control that uses a cam curve generated using a quintic curve, as in the prior art described in Patent Document 1.

[0153] Furthermore, because the length of each sub-section can be set arbitrarily, the cam curve generation device 100 can generate a wide variety of cam curves. As a result, the cam curve generation device 100 can provide electronic cam control with a wide variety of acceleration / deceleration patterns compared to electronic cam control that uses a cam curve generated using a quintic curve, as in the prior art described in Patent Document 1.

[0154] FIG. 4 is a waveform diagram showing another example of the CAM curve generated by the CAM curve generating section 70 in the process of step S60.

[0155] The waveform diagram in the upper part of Figure 4 shows a cam curve that defines the relationship between the position of the main axis and the position of the slave axis. In the waveform diagram in the upper part, the horizontal axis (x-axis) represents the position x of the main axis, and the vertical axis (y-axis) represents the position y of the slave axis.

[0156] The waveform diagram in the middle of Figure 4 shows a cam curve that defines the relationship between the position of the main axis and the speed of the slave axis. In the waveform diagram in the middle, the horizontal axis (x-axis) represents the position x of the main axis, and the vertical axis (v-axis) represents the speed v of the slave axis.

[0157] The waveform diagram in the lower part of Figure 4 shows a cam curve that defines the relationship between the position of the main axis and the acceleration of the slave axis. under In the waveform diagram of each stage, the horizontal axis (x-axis) represents the position x of the master axis, and the vertical axis (a-axis) represents the acceleration a of the slave axis.

[0158] In the upper, middle, and lower waveform diagrams in Fig. 4, the section where the spindle position is from X0 to X7 is the section set as the application section. s The section from X7 to X0 is the section set as the first non-applicable section, and the spindle position is from X7 to X e The section up to is the section set as the second non-applicable section. In other words, the cam curve in the applicable section where the spindle positions are from X0 to X7 is the cam curve generated by the cam curve generator 70 in the processing of step S60.

[0159] The boundary conditions for the start of the application section are set to the coordinate values ​​equivalent to the end of the CAM curve in the first non-application section, i.e., the slave axis position Y0, slave axis velocity V0, and slave axis acceleration A0. Also, the boundary conditions for the end of the application section are set to the coordinate values ​​equivalent to the start of the CAM curve in the second non-application section, i.e., the slave axis position Y7, slave axis velocity V7, and slave axis acceleration A7.

[0160] 4, the application section is divided into seven sub-sections, namely, the first sub-section, the second sub-section, the third sub-section, the fourth sub-section, the fifth sub-section, the sixth sub-section, and the seventh sub-section, in ascending order of the major axis position. The coordinate values ​​of the major axis positions that indicate the boundaries of these seven sub-sections are X0, X1, X2, X3, X4, X5, X6, and X7.

[0161] The first, third, fifth, and seventh sub-intervals are set as sub-intervals in which the acceleration of the slave axis monotonically increases or decreases. The second and sixth sub-intervals are set as sub-intervals in which the acceleration of the slave axis does not change and the acceleration is set to a value other than 0. The fourth sub-interval is set as sub-interval in which the acceleration of the slave axis does not change and the acceleration is set to 0.

[0162] In the process of step S60, the cam curve generator 70 defines the acceleration a of the slave axis in the first sub-interval to the seventh sub-interval as a function a(x) of the position x of the master axis shown in the following (Equation 9). In (Equation 9), K i3 (i=1,3,5,7) and K i2 (i=1,2,3,5,6,7) are coefficients.

[0163] (Formula 9)

[0164]

number

[0165] As,

[0166]

number

[0167] In (Equation 9), the waveform of the slave-axis acceleration a in the first sub-interval, the third sub-interval, the fifth sub-interval, and the seventh sub-interval from the start to the end of each sub-interval is defined by a first-order polynomial of the master-axis position x. Note that these functions are merely examples, and the functions in the first sub-interval, the third sub-interval, the fifth sub-interval, and the seventh sub-interval may be any functions as long as the slave-axis acceleration a is a function that monotonically increases or decreases in these sub-intervals.

[0168] By integrating (Equation 9) with respect to the position x of the master axis, the function v(x) that defines the speed of the slave axis in the first to seventh sub-intervals is obtained as shown in (Equation 10) below. i1 (i=1,2,3,4,5,6,7) are integral constants and coefficients.

[0169] (Formula 10)

[0170]

number

[0171] As,

[0172]

number

[0173] By integrating (Equation 10) with respect to the position x of the major axis, the function y(x) that defines the position y of the minor axis in the first to seventh sub-intervals is obtained as shown in (Equation 11) below. i0 (i=1,2,3,4,5,6,7) are integral constants and coefficients.

[0174] (Formula 11)

[0175]

number

[0176] As,

[0177]

number

[0178] K included in (Equation 9), (Equation 10), and (Equation 11) i3 (i=1,3,5,7), K i2 (i=1,2,3,5,6,7), K i1 (i=1,2,3,4,5,6,7), and K i0 (i=1, 2, 3, 4, 5, 6, 7) are the coefficients or factors of the cam curve. These are unknown quantities until the processing of step S60 is executed, but are calculated by the cam curve generator 70 in the processing of step S60.

[0179] In the examples of (Equation 9), (Equation 10), and (Equation 11), there are 24 unknowns as mentioned above, and therefore the same number of conditions, 24, are required to calculate the unknowns. As will be described below, in the processing of step S60, the cam curve generator 70 calculates the 24 unknowns based on a total of 24 conditions: six boundary conditions at the start and end of the application interval and 18 continuous conditions for the position, speed, and acceleration of the slave axis at the boundaries of each sub-interval.

[0180] Substituting the boundary conditions Y0, V0, and A0 at the start of the application section shown in FIG. 4, i.e., the position X0 of the main axis in the first sub-section, into (Equation 9), (Equation 10), and (Equation 11), we obtain the three equations shown in (Equation 12) below.

[0181] (Formula 12)

[0182]

number

[0183] Substituting the boundary conditions Y7, V7, and A7 at the end of the application section shown in FIG. 4, i.e., the position X7 of the main axis in the seventh subsection, into (Equation 1), (Equation 2), and (Equation 3), we obtain the three equations shown in (Equation 13) below.

[0184] (Formula 13)

[0185]

number

[0186] As,

[0187]

number

[0188] By applying the condition that the acceleration a of the slave axis is continuous at the boundaries of each sub-interval shown in FIG. 4 to (Equation 9), the following six equations are obtained as (Equation 14).

[0189] (Formula 14)

[0190]

number

[0191] As,

[0192]

number

[0193] By applying the condition that the velocity v of the slave axis is continuous at the boundaries of each sub-interval shown in FIG. 4 to (Equation 10), the following six equations are obtained as (Equation 15).

[0194] (Formula 15)

[0195]

number

[0196] As,

[0197]

number

[0198] By applying the condition that the position y of the slave axis is continuous at the boundary of each sub-section shown in FIG. 4 to (Equation 11), the following six equations are obtained as (Equation 16).

[0199] (Formula 16)

[0200]

number

[0201] As,

[0202]

number

[0203] In the process of step S60, the cam curve generating unit 70 solves the simultaneous equations with 24 unknowns, which are the 24 equations shown in (Equation 12) to (Equation 16), to obtain the unknown K i3 (i=1,3,5,7), K i2 (i=1,2,3,5,6,7), K i1 (i=1,2,3,4,5,6,7), and K i0 Calculate (i=1,2,3,4,5,6,7).

[0204] The cam curve generation unit 70 may calculate the unknowns by solving the simultaneous equations with 24 unknowns each time a cam curve is generated, or may store in advance a calculation formula obtained by modifying the simultaneous equations with 24 unknowns and calculate the unknowns based on the stored calculation formula.

[0205] Next, an example of an effect obtained by the cam curve generation device 100 described using the example of the cam curve shown in FIG. 3 will be described using the example of the cam curve shown in FIG.

[0206] 4 has a fourth sub-section where the speed v of the slave axis is constant, and at the boundaries of each sub-section, the position y of the slave axis, the speed v of the slave axis, and the acceleration a of the slave axis are continuous. Therefore, the cam curve generation device 100 can provide electronic cam control that suppresses fluctuations in the speed and acceleration of the slave axis within the application section, compared to electronic cam control that uses a cam curve generated using a quintic curve, as in the prior art described in Patent Document 1.

[0207] <Consideration> According to the cam curve generation device 100, the position, speed, and acceleration of the slave axis at the start and end of the application interval are determined by the acquired boundary conditions. Therefore, according to the cam curve generation device 100, by acquiring appropriate boundary conditions, it is possible to generate a cam curve that smoothly connects with the outside-interval cam curve outside the application interval.

[0208] Furthermore, the speed and acceleration of the slave axis within the applicable section are determined by the acquired division conditions according to the cam curve generation device 100. Therefore, by acquiring appropriate division conditions, the cam curve generation device 100 can generate a cam curve that suppresses fluctuations in the speed and acceleration of the slave axis within the applicable section.

[0209] Therefore, the cam curve generation device 100 can generate a cam curve that smoothly connects to the out-of-interval cam curve and suppresses fluctuations in the speed and acceleration of the slave axis within the application interval.

[0210] (Embodiment 2) The following describes a CAM curve generation system according to a second embodiment, which is configured by partially modifying the configuration of the CAM curve generation system 1 according to the first embodiment.

[0211] <Configuration> FIG. 5 is a block diagram showing an example of the configuration of a cam curve generation system 1A according to the second embodiment.

[0212] 5, CAM curve generation system 1A is configured by changing CAM curve generation device 100 from CAM curve generation system 1 according to embodiment 1 to CAM curve generation device 100A. CAM curve generation device 100A is configured by changing boundary condition acquisition unit 40 from CAM curve generation device 100 according to embodiment 1 to boundary condition acquisition unit 40A, changing CAM curve storage unit 80 to CAM curve storage unit 80A, and adding boundary condition calculation unit 110.

[0213] The cam curve storage unit 80A has the following function in addition to the functions of the cam curve storage unit 80 according to the first embodiment: That is, the cam curve storage unit 80A stores a cam curve that has been generated in advance by an external device.

[0214] Therefore, the cam curve storage unit 80A stores the cam curve generated by the cam curve generation unit 70 or the cam curve generated in advance by an external device. Hereinafter, the "cam curve generated by the cam curve generation unit 70" or the "cam curve generated in advance by an external device" stored in the cam curve storage unit 80A will be referred to as a "pre-generated cam curve."

[0215] The boundary condition calculation unit 110 calculates, from the existing cam curve stored in the cam curve storage unit 80A, the position of the first slave axis at the position of the first main axis, the speed of the first slave axis at the position of the first main axis, the acceleration of the first slave axis at the position of the first main axis, the position of the second slave axis at the position of the second main axis at a time later than the position of the first main axis, the speed of the second slave axis at the position of the second main axis, and the acceleration of the second slave axis at the position of the second main axis.

[0216] Here, the boundary condition calculation unit 110 may acquire the positions of the first and second principal axes from, for example, an external source, or may store predetermined positions of the first and second principal axes instead of acquiring them from an external source.

[0217] The boundary condition calculation unit 110 calculates the position, speed, and acceleration of the first slave axis of the first slave axis, the position, speed, and acceleration of the second slave axis of the second slave axis. Then, the boundary condition calculation unit 110 defines a first section from the position of the first main axis to the position of the second main axis as an application section, and calculates boundary conditions that define the position, speed, and acceleration of the first slave axis as the position, speed, and acceleration of the slave axis at the start of the application section, respectively. The boundary condition calculation unit 110 also calculates boundary conditions that define the position, speed, and acceleration of the second slave axis as the position, speed, and acceleration of the slave axis at the end of the application section, respectively.

[0218] The boundary condition acquiring unit 40A has the following function in addition to the function of the boundary condition acquiring unit 40 according to the first embodiment: That is, the boundary condition acquiring unit 40A acquires the boundary conditions calculated by the boundary condition calculating unit 110.

[0219] <Operation> The cam curve generating device 100A configured as described above performs, as an example, a second cam curve generating process for generating a cam curve.

[0220] The second cam curve generation process performed by the cam curve generation device 100A will be described below with reference to the drawings.

[0221] FIG. 6 is a flowchart of the second cam curve generation process.

[0222] 6, the second CAM curve generation process is a process in which step S5 is added to the first CAM curve generation process according to embodiment 1, the process of step S10 is changed to step S10A, the process of step S30 is changed to step S30A, the process of step S50 is changed to step S50A, and the process of step S60 is changed to step S60A. For this reason, the following description will focus on the process of step S5, the process of step S10A, the process of step S30A, the process of step S50A, and the process of step S60A.

[0223] The second cam curve generation process is started, for example, when an operation to start the second cam curve generation process is performed on cam curve generation device 100A.

[0224] When the second cam curve generation process is started, the boundary condition calculation unit 110 calculates boundary conditions from the existing cam curve stored in the cam curve storage unit 80A, with the first section as the application section (step S5).

[0225] Next, the section information acquisition unit 20 acquires section information (step S10A). More specifically, the section information acquisition unit 20 acquires section information that defines the first section as the applicable section from the CAM curve generation conditions accepted by the input acceptance unit 10. Then, the process proceeds to step S20.

[0226] When the processing of step S20 is completed, the division condition acquisition unit 30 acquires the division condition (step S30A). More specifically, the division condition acquisition unit 30 acquires the division condition that sets the first section as the applicable section from the CAM curve generation conditions accepted by the input acceptance unit 10. Then, the processing proceeds to step S40.

[0227] When the process of step S40 ends, the boundary condition acquisition unit 40A acquires the boundary conditions (step S50A). More specifically, the boundary condition acquisition unit 40A acquires the boundary conditions calculated by the boundary condition calculation unit 110.

[0228] When the boundary conditions are acquired by boundary condition acquisition unit 40A, CAM curve generation unit 70 generates a CAM curve for the application interval, with the first interval as the application interval, so as to satisfy the boundary conditions based on the boundary conditions acquired by boundary condition acquisition unit 40A. At this time, CAM curve generation unit 70 generates a CAM curve based on the information indicating the sub-intervals output from interval division unit 60 so that the position, speed, and acceleration of the slave axis are continuous at each of the boundaries of the multiple sub-intervals (step S60A).

[0229] When the processing of step S60A ends, CAM curve generation device 100A ends the second CAM curve generation processing.

[0230] <Consideration> The cam curve generating device 100A can generate a new cam curve from a previously generated existing cam curve, which smoothly connects to the existing cam curve at the positions of the first and second main spindles, and the transition range of the main spindles is from the position of the first main spindle to the position of the second main spindle.

[0231] (Other embodiments) The cam curve generating device and the like according to one aspect of the present disclosure have been described above based on Embodiments 1 and 2, but the present disclosure is not limited to these embodiments. As long as they do not deviate from the spirit of the present disclosure, various modifications that would occur to a person skilled in the art to these embodiments and configurations constructed by combining components of different embodiments may also be included within the scope of one or more aspects of the present disclosure.

[0232] (1) In the first embodiment, the cam curve generation device 100 has been described as including a slave axis command generator 90, as an example. However, the cam curve generation device 100 is not necessarily limited to a configuration including a slave axis command generator 90. For example, the cam curve generation device 100 may be configured without including the slave axis command generator 90, and the function of the slave axis command generator 90 may be realized by a device external to the cam curve generation device 100.

[0233] (2) In the first embodiment, the cam curve generation device 100 and the servo control device 200 are described as being independent devices. However, the cam curve generation device 100 and the servo control device 200 are not necessarily limited to being independent devices. For example, the cam curve generation device 100 may also be configured to implement the functions of the servo control device 200.

[0234] (3) An aspect of the present disclosure may be not only the cam curve generation device 100 and the cam curve generation device 100A, but also a cam curve generation method in which the characteristic components included in the cam curve generation device 100 and the cam curve generation device 100A form steps. Another aspect of the present disclosure may be a computer program that causes a computer to execute each of the characteristic steps included in the cam curve generation method. Another aspect of the present disclosure may be a computer-readable non-transitory recording medium on which such a computer program is recorded. [Industrial Applicability]

[0235] The present disclosure is widely applicable to cam curve generation devices that generate cam curves for implementing electronic cam control that controls the position of a slave axis in synchronization with the position of a master axis. The cam curve generation device is also useful in industrial equipment that repeatedly and continuously performs a series of machining processes. [Explanation of symbols]

[0236] 1. 1A Cam Curve Generation System 10 Input reception section 20 Section information acquisition unit 30 Division condition acquisition part 40, 40A Boundary condition acquisition section 50 Section setting section 60 Section division section 70 Cam curve generator 80, 80A Cam curve memory section 90 Slave axis command generation section 100, 100A Cam Curve Generator 110 Boundary condition calculation section 200 Servo control device 300 motor

Claims

1. A cam curve generating device that generates a cam curve that controls the position of a slave axis, the cam curve generating device includes a boundary condition acquiring unit, a division condition acquiring unit, a section dividing unit, and a cam curve generating unit; the boundary condition acquisition unit acquires boundary conditions of an application section that is a target for generating the cam curve, within a range in which the position of the spindle transitions; the division condition acquisition unit acquires a division condition for dividing the application section into a plurality of sub-sections; the section dividing unit divides the application section into the plurality of sub-sections so as to satisfy the division condition; the cam curve generation unit generates the cam curve in the application section so as to satisfy the boundary condition; each of the plurality of sub-sections is a sub-section in which the acceleration of the slave axis monotonically increases, a sub-section in which the acceleration of the slave axis monotonically decreases, or a sub-section in which the acceleration of the slave axis does not change; the division conditions include lengths and types of the plurality of sub-intervals; the boundary conditions include the position of the slave axis, the velocity of the slave axis, and the acceleration of the slave axis at the start and end of the application section; The cam curve generating unit generates the cam curve so that the position, the velocity, and the acceleration of the slave axis are continuous at each boundary between the plurality of sub-intervals. Cam curve generator.

2. The cam curve generating unit generates the cam curve so that, in at least one of the sub-sections in which the acceleration of the slave axis monotonically increases or the sub-sections in which the acceleration of the slave axis monotonically decreases, the waveform of the acceleration of the slave axis from the start end to the end end of the sub-section has a shape of a ¼ period portion up to the peak of a sine wave. The cam curve generating device according to claim 1 .

3. The cam curve generating unit generates the cam curve so that, in at least one of the sub-sections in which the acceleration of the slave axis monotonically increases or the sub-sections in which the acceleration of the slave axis monotonically decreases, the waveform of the acceleration of the slave axis from the start end to the end end of the sub-section has a shape of a half-cycle portion from the peak of a sine wave. The cam curve generating device according to claim 1 .

4. The cam curve generating unit generates the cam curve so that, in at least one of the sub-sections in which the acceleration of the slave axis monotonically increases or the sub-sections in which the acceleration of the slave axis monotonically decreases, the waveform of the acceleration of the slave axis from the start end to the end end of the sub-section has a shape of a ¼ period portion from the peak of a sine wave. The cam curve generating device according to claim 1 .

5. The cam curve generating unit generates the cam curve so that, in at least one sub-section among the sub-sections in which the acceleration of the slave axis monotonically increases or the sub-sections in which the acceleration of the slave axis monotonically decreases, the waveform of the acceleration of the slave axis from the start end to the end end of the sub-section becomes a waveform defined by a first-order polynomial of the position of the master axis. The cam curve generating device according to claim 1 .

6. the plurality of sub-intervals are five sub-intervals, namely, a first sub-interval, a second sub-interval, a third sub-interval, a fourth sub-interval, and a fifth sub-interval, which are consecutive in order; the first sub-interval, the third sub-interval, and the fifth sub-interval are sub-intervals in which the acceleration of the slave axis monotonically increases or sub-intervals in which the acceleration of the slave axis monotonically decreases, The second sub-interval and the fourth sub-interval are sub-intervals in which the acceleration of the slave axis does not change. The cam curve generating device according to any one of claims 1 to 5.

7. The acceleration of the slave axis in the second sub-interval and the fourth sub-interval is a value other than 0. The cam curve generating device according to claim 6.

8. the plurality of sub-intervals are seven sub-intervals, namely, a first sub-interval, a second sub-interval, a third sub-interval, a fourth sub-interval, a fifth sub-interval, a sixth sub-interval, and a seventh sub-interval, which are consecutive in order; the first sub-interval, the third sub-interval, the fifth sub-interval, and the seventh sub-interval are sub-intervals in which the acceleration of the slave axis monotonically increases or sub-intervals in which the acceleration of the slave axis monotonically decreases, The second sub-interval, the fourth sub-interval, and the sixth sub-interval are sub-intervals in which the acceleration of the slave axis does not change. The cam curve generating device according to any one of claims 1 to 5.

9. the acceleration of the slave axis in the second sub-interval and the sixth sub-interval is a value other than 0; The acceleration of the slave axis in the fourth sub-interval is 0. The cam curve generating device according to claim 8.

10. The present invention further includes a section setting unit that divides a range in which the position of the spindle changes into the application section and a non-application section other than the application section. The cam curve generating device according to any one of claims 1 to 9.

11. a pre-created cam curve storage unit that stores a pre-created pre-created cam curve; From the pre-established cam curve, a position of a first of the slave axes at a position of a first main shaft, a velocity of the first of the slave axes at the position of the first main shaft, an acceleration of the first of the slave axes at the position of the first main shaft, a position of a second main shaft at a time after the position of the first main shaft, a velocity of a second of the slave axes at the position of the second main shaft, and an acceleration of the second of the slave axes at the position of the second main shaft are calculated, and within a range in which the position of the main shaft transitions on the pre-established cam curve, a position of the first of the slave axes at a time after the position of the first main shaft, a velocity of the second of the slave axes at the position of the second main shaft, and an acceleration of the second of the slave axes at the position of the second main shaft are calculated. a boundary condition calculation unit that calculates the boundary conditions by setting a first section from a master axis position to a master axis position as the application section, and setting the position of the first slave axis, the speed of the first slave axis, the acceleration of the first slave axis, the position of the second slave axis, the speed of the second slave axis, and the acceleration of the second slave axis as the position of the slave axis at the starting end, the speed of the slave axis at the starting end, the acceleration of the slave axis at the starting end, the position of the slave axis at the terminal end, the speed of the slave axis at the terminal end, and the acceleration of the slave axis at the terminal end, respectively; the boundary condition acquisition unit acquires the boundary conditions calculated by the boundary condition calculation unit, the division condition acquisition unit acquires the division condition that designates the first section as the application section; the section dividing unit divides the first section into the plurality of sub-sections as the application section; The cam curve generating unit generates the cam curve using the first section as the application section. The cam curve generating device according to any one of claims 1 to 10.

12. When a section other than the application section in the range in which the position of the spindle transitions is defined as a non-application section, At the start of an application section, the boundary conditions are set to the position, velocity, and acceleration of the slave axis in the non-application section at a time corresponding to the start of the application section, and at the end of the application section, the boundary conditions are set to the position, velocity, and acceleration of the slave axis in the non-application section at a time corresponding to the end. The cam curve generating device according to any one of claims 1 to 11.

13. A cam curve generation method for generating a cam curve for controlling a position of a slave axis, comprising: a first step of acquiring boundary conditions of an application section within a range in which the position of the spindle transitions, the application section being a target for generating the cam curve; a second step of obtaining a division condition for dividing the application interval into a plurality of subintervals; a third step of dividing the application interval into the plurality of subintervals so as to satisfy the division condition; a fourth step of generating the cam curve in the application section so as to satisfy the boundary conditions; each of the plurality of sub-sections is a sub-section in which the acceleration of the slave axis monotonically increases, a sub-section in which the acceleration of the slave axis monotonically decreases, or a sub-section in which the acceleration of the slave axis does not change; the division conditions include lengths and types of the plurality of sub-intervals; the boundary conditions include the position of the slave axis, the velocity of the slave axis, and the acceleration of the slave axis at the start and end of the application section; In the fourth step, the cam curve is generated so that the position, the velocity, and the acceleration of the slave axis are continuous at each boundary of the plurality of sub-intervals. Cam curve generation method.

14. A program for causing a cam curve generating device to execute a cam curve generating process for electronic cam control that controls the position of a slave axis, The cam curve generation process includes: a first step of acquiring boundary conditions of an application section within a range in which the position of the spindle transitions, the application section being a target for generating the cam curve; a second step of obtaining a division condition for dividing the application interval into a plurality of subintervals; a third step of dividing the application interval into the plurality of subintervals so as to satisfy the division condition; a fourth step of generating the cam curve in the application section so as to satisfy the boundary conditions; each of the plurality of sub-sections is a sub-section in which the acceleration of the slave axis monotonically increases, a sub-section in which the acceleration of the slave axis monotonically decreases, or a sub-section in which the acceleration of the slave axis does not change; the division conditions include lengths and types of the plurality of sub-intervals; the boundary conditions include the position of the slave axis, the velocity of the slave axis, and the acceleration of the slave axis at the start and end of the application section; In the fourth step, the cam curve is generated so that the position, the velocity, and the acceleration of the slave axis are continuous at each boundary of the plurality of sub-intervals. program.

Citation Information

Patent Citations

  • Igatachobuhoonzaitofusochi

    JP1976043318A

  • Method of controlling electronic cam and servo motor control system

    JP2006172438A

  • Control device, controller system, output control method and program

    JP2015122077A

  • JPP6501994B