Axis control device
The axis control device synchronizes processing cycles with synchronization signals to ensure synchronized drive operations and maintains records for identifying synchronization issues, addressing asynchronous drive operations in motion control systems.
Patent Information
- Application Number
- JP2025540388
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2025-04-22
- Publication Date
- 2025-09-17
- Estimated Expiration
- 2045-04-22
AI Technical Summary
Existing motion control systems face issues with asynchronous operation between drives due to unsynchronized processing timing and synchronization delays, leading to events where drives do not operate as instructed by the higher-level control device, and the cause of such events is not easily identifiable.
The axis control device includes a communication control unit, motion control unit, cycle adjustment unit, and synchronization state determination unit to synchronize the processing cycle with a synchronization signal, ensuring drives transition to a state where they can accept axis commands only when synchronization is complete, with detailed records of synchronization status maintained.
Ensures synchronized operation of drive axes by adjusting processing cycles to match synchronization signals, allowing drives to operate as intended and enabling identification of synchronization issues through recorded status information.
Smart Images

Figure 0007741348000001 
Figure 0007741348000002 
Figure 0007741348000003
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to an axis control device. [Background technology]
[0002] Industrial machines with multiple axes, such as machine tools and robots, require the synchronized operation of multiple motors to be coordinated for accurate operation. Motion control systems using motion controllers are capable of synchronously controlling multiple motors, and synchronization between the upper controller and lower devices is important for highly accurate positioning, speed, and torque control.
[0003] Patent Document 1 discloses a technology in which multiple motion controllers form a time base signal in synchronization with a transmission signal from a higher-level controller, and the time base signal is used as the basis for synchronous operation, thereby enabling synchronous operation of each motion controller.
[0004] Patent Document 2 discloses a technique in which, when multiple servo amplifiers in a motion control system receive parameter command data simultaneously from a controller, all the servo amplifiers perform synchronous interpolation control of servo motors at the same timing. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] Japanese Patent Application Publication No. 9-160630 [Patent Document 2] Japanese Patent Application Laid-Open No. 2009-20547 Summary of the Invention [Problem to be solved by the invention]
[0006] In a motion control system, when synchronizing, the continuity of the periodic processing (control period) of the lower-level device that drives the machine is maintained.
[0007] 6A is a diagram showing an example of a general device control system for industrial machinery in a factory or the like. A main device 100, which serves as a master, and sub-devices A 210, B 220, and C 230, which serve as slaves, are connected by an industrial network such as EtherCAT (registered trademark) (Ethernet for Control Automation Technology). The motion control system can be configured, for example, with a higher-level control device such as a motion controller as the main device 100 and servo drives and the like as sub-devices.
[0008] Figure 6B is a timing diagram explaining the synchronization process between sub-devices. The horizontal axis represents time, and the vertical bars represent the periodic processing timing of sub-device A and the periodic processing timing of sub-device B. In addition, the section marked "communicating" in the diagram is the section where synchronization process is performed, and the delay time between the sub-devices is measured through communication and corrected for. In the example of Figure 6B, the synchronization process adjusts the delayed processing timing of sub-device B to match the processing timing of sub-device A. However, the delay time correction is not completed in one process, but rather the time difference is gradually reduced in stages. This makes it possible to avoid sudden changes in the periodic processing of sub-device B and maintain continuity.
[0009] Next, a problem that occurs when the synchronization process shown in FIG. 6B is performed will be described.
[0010] FIG. 7A is a timing diagram that explains events in which operation does not proceed as instructed by the upper-level control device. The horizontal axis represents time, and vertical bars represent the synchronization signal, the data transfer timing of the upper-level control device, and the timing when data processing starts on the drive side. In the example shown in FIG. 7A, the upper-level control device is the master main device, and the drive side is the slave sub-device. The upper-level control device transmits command data to the drive side at a predetermined timing in synchronization with the synchronization signal. In the example of FIG. 7A, the upper-level control device transfers command data in the order of data 1, data 2, data 3, data 4, and data 5. Meanwhile, the drive starts processing the received command data at its own processing timing. However, because the processing timing cycle is not synchronized with the synchronization signal from the upper control device, the synchronization process and the processing of the received transfer data are performed in parallel. As a result, the drive processes Data 2 twice, at times t2 and t3, and does not operate as instructed by the upper control device. In this way, if the processing of command data is started in a lower sub-device during synchronization, an event occurs in which the higher-level control device and the drive do not operate as instructed.
[0011] 7B is a timing diagram that explains an event in which drives cannot operate in synchronization with commands from a higher-level control device. The horizontal axis represents time, and the vertical bars represent the periodic processing timing of each of drives A to C. Drives A to C are slave sub-devices that start processing command data received from a master main device (higher-level control device), not shown, at their respective processing timings and output drive signals. In the example shown in Figure 7B, synchronization is performed simultaneously between drives A, B, and C. In this case, the output timing of the drive signals from each drive is out of sync until synchronization is complete. As a result, synchronous operation between drives A to C is not guaranteed, and an event occurs in which the drives cannot operate in synchronization with commands from a higher-level control device.
[0012] As described above, the motion control system can receive commands from a higher-level control device during synchronization, and events may occur in which the system does not operate as instructed or in which synchronized operation between drives cannot be achieved. The technologies disclosed in Patent Documents 1 and 2 did not anticipate such an event. Furthermore, when such an event occurred, the reason could not be confirmed on the host device side, and detailed records that would enable an investigation to determine the cause were not kept.
[0013] Therefore, it is desirable to control the drive shaft depending on the synchronization state. [Means for solving the problem]
[0014] The axis control device of the embodiment is an axis control device that controls a drive axis based on commands from a network-connected upper control device, and is equipped with a communication control unit that receives command data from the upper control device, a motion control unit that controls the drive axis based on the received command data, a cycle adjustment unit that adjusts the processing cycle of the motion control unit, and a synchronization state determination unit that determines whether synchronization between a synchronization signal and the processing timing of the motion control unit has been completed, wherein the cycle adjustment unit adjusts the processing cycle so that the synchronization signal and the processing timing are synchronized, and the motion control unit transitions the drive axis to a state in which it can accept axis commands when the synchronization state determination unit determines that synchronization has been completed. [Brief explanation of the drawings]
[0015] [Figure 1] 1 is a functional block diagram showing an example of the functional configuration of a motion control system according to an embodiment of the present invention. [Figure 2] FIG. 2 is a functional block diagram showing an example of the functional configuration of an axis control device according to an embodiment of the present invention. [Figure 3A] 10A and 10B are diagrams illustrating an example of adjustment of a processing cycle in an axis control device according to an embodiment of the present invention. [Figure 3B] 10A and 10B are diagrams illustrating another example of adjustment of the processing cycle in the axis control device according to one embodiment of the present invention. [Figure 4] 5 is a flowchart showing an example of an axis command reception process in the axis control device according to one embodiment of the present invention. [Figure 5] 10 is a flowchart showing an example of an axis command issuing process in a higher-level control device according to an embodiment of the present invention. [Figure 6A] FIG. 1 is a diagram illustrating an example of a general device control system for industrial machinery. [Figure 6B] FIG. 10 is a timing diagram illustrating a synchronization process between sub-devices. [Figure 7A] FIG. 10 is a timing diagram illustrating an event in which operation does not proceed as instructed by a higher-level control device. [Figure 7B] FIG. 10 is a timing diagram illustrating an event in which drives are unable to operate in synchronization with commands from a higher-level control device. DETAILED DESCRIPTION OF THE INVENTION
[0016] Hereinafter, an embodiment of the present invention will be described by way of example.
[0017] <One embodiment> FIG. 1 is a functional block diagram showing an example of the functional configuration of a motion control system according to an embodiment of the present invention. The motion control system 1 is configured around axis control devices 20A to 20C that can be wired to enable control of a plurality of drive axes of industrial machinery and have a motion control function. As shown in Fig. 1, a master host control device 10 and slave axis control devices 20A-20C are connected via a network N, and units 30A-30C are connected to the axis control devices 20A-20C, respectively. The units 30A-30C are components including actuators such as servo motors, stepping motors, and linear motors that operate the drive axes of industrial machinery such as machine tools and robots. The axis control devices 20A-20C control the drive axes of the units 30A-30C in response to commands from the network-connected host control device 10. 1 illustrates a case where three axis control devices 20A to 20C are connected to the network N, the number of axis control devices connected to the higher-level control device 10 is not limited to this. Furthermore, the number of units controlled by each axis control device is not limited to one. For example, if the axis control device 20A is capable of controlling up to n axes, n units (not shown) may be connected to the axis control device 20A.
[0018] The network N shown in Fig. 1 is a schematic diagram. The network N is, for example, Ethernet (registered trademark), EtherCAT (registered trademark), etc., but is not limited to these. The network N includes bus-type, star-type, ring-type, daisy-chain-type networks, etc. For example, in the case of a daisy-chain-type network that achieves high speed and real-time performance, communication between the upper control device 10 and the axis control devices 20A to 20C is performed as follows. The host controller 10 writes command data for the axis controllers 20A to 20C into a communication frame and transmits it to the network N. The transmitted communication frame passes through all of the axis controllers 20A to 20C in order, then loops back and returns to the host controller 10. When the communication frame passes through each axis controller, the axis controller writes transmission data to be transmitted to the host controller 10 and reads transmission data addressed to the controller itself.
[0019] The host controller 10 issues commands to the axis controllers 20A to 20C for the drive axes of the units 30A to 30C, and receives response data, status data, and other data from the axis controllers 20A to 20C. The command data transmitted by the host controller 10 is generated by analyzing a predetermined program such as a machining program or a control program in a host controller such as a numerical control device or a robot control device, and includes axis command data for commanding the movement of each drive axis. The command data also includes a state transition command for transitioning the state of the drive axis.
[0020] The status data received by the host controller 10 includes information indicating the status of the drive axes (hereinafter also referred to as "drive axis status information") notified from the axis controllers 20A to 20C described later, and information indicating the synchronization status of processing timing. The host controller 10 is configured to control the issuance of axis commands according to the notified drive axis status information.
[0021] The upper controller 10 may be configured to supply the axis controllers 20A to 20C with a synchronization signal and / or time information that serves as a reference for synchronization.
[0022] The axis control devices 20A-20C control the drive axes of the units 30A-30C in accordance with command data sent from the host control device 10. For example, in response to receiving data instructing the movement of the drive axes from the host control device 10, the axis control devices 20A-20C instruct each unit to move the drive axes. In addition, in response to receiving data instructing the state transition of the drive axes from the host control device 10, the axis control devices 20A-20C transition the state of the drive axes of each unit. The axis control devices 20A to 20C will be described in detail later.
[0023] The units 30A to 30C are equipped with mechanisms for operating the drive axes, and include, for example, drivers, motors, various sensors such as encoders (angle detectors) and linear scales, and position detectors such as measuring instruments, all of which are not shown. The units 30A to 30C convert control signals or control data from the axis control devices 20A to 20C into voltages, and control the position, speed, and torque of the motors to drive the drive axes. The power supplies of the units 30A to 30C are controlled by the axis control devices 20A to 20C. The drivers may be included on the axis control devices 20A to 20C side. The drive shafts of the units 30A to 30C operate in cooperation with each other in a synchronized manner, thereby carrying out a predetermined operation of the industrial machine.
[0024] <Details of axis control device> Fig. 2 is a functional block diagram showing an example of the functional configuration of an axis control device according to one embodiment of the present invention. The axis control devices 20A to 20C shown in Fig. 1 have a common configuration, and the axis control device 20 shown in Fig. 2 will be described as a representative of the axis control devices 20A to 20C shown in Fig. 1. In the following description, the units 30A to 30C shown in Fig. 1 will also be referred to as unit 30. The axis control device 20 is connected to a host control device 10 (not shown) and a unit 30 to be controlled. As shown in FIG. 2, the axis control device 20 may include, for example, a control unit 21, a communication unit 22, and a storage unit 23.
[0025] <Control unit 21> The control unit 21 controls the axis control device 20 as a whole. The control unit 21 includes a central processing unit (CPU), ROM, RAM, complementary metal-oxide-semiconductor (CMOS) memory, etc. (not shown), which are configured to be able to communicate with each other via a bus and are well known to those skilled in the art. The control unit 21 may be configured to include a main CPU and a dedicated CPU for motion control. The control unit 21 may also be configured to include integrated circuits such as an application-specific integrated circuit (ASIC) or a field-programmable gate array (FPGA). The CPU reads the OS and various programs via the bus and controls the entire axis control device 20 in accordance with the OS and programs. As a result, as shown in FIG. 2, the control unit 21 is configured to implement the functions of a communication control unit 211, a motion control unit 212, a cycle adjustment unit 213, and a synchronization status determination unit 214. The RAM stores various data such as temporary calculation data and display data. In addition, the CMOS memory is backed up by a battery (not shown) and is configured as a non-volatile memory that retains its stored state even when the power to the axis control device 20 is turned off. In other words, the axis control device 20 can be implemented by cooperation between hardware and software.
[0026] <Communication control unit 211> The communication control unit 211 controls the communication unit 22 to transmit and receive communication frames to and from the upper control device 10 at regular intervals. The communication control unit 211 sends the command data extracted from the received communication frame to the motion control unit 212. The communication control unit 211 also controls the communication unit 22 to send response data, status data, etc. to the upper control device 10. The status data includes drive axis status information and synchronization status information notified from the motion control unit 212, which will be described later.
[0027] The communication control unit 211 may receive a synchronization signal and / or time information from the higher-level control device 10 and use it as a synchronization signal for its own device. Furthermore, the communication control unit 211 may generate a synchronization signal that serves as a reference for synchronization, and may supply the generated synchronization signal to other axis control devices.
[0028] <Motion control unit 212> The motion control unit 212 has a motion control function and is provided with a function required for synchronously controlling the drive axes of the units 30 . The motion control unit 212 controls the drive shaft of the unit 30 in accordance with command data from the upper control device 10. Specifically, the motion control unit 212 processes command data such as the amount of change in shaft angle for each control period based on command data sent from the communication control unit 211 and feedback information from the unit 30, and outputs control data or a control signal to the unit 30.
[0029] The motion control unit 212 has a function of controlling the power supply of the unit 30 and managing the state transition of the drive axis. The state transition of the drive axis is performed based on a state transition command from the upper control device 10. The state transitions of the drive axes managed by the motion control unit 212 may conform to standards, etc. For example, in the CiA402 standard for controlling servo motors, the power supply and excitation states of each of multiple servo motors are expressed as a "servo internal state" called a PDS (Power Drive Systems) state. The servo internal state can be changed through a control word of the CiA402 standard from the upper control device 10 (upper controller), and instructions such as a servo-on state and a servo-off state can be issued to the drive. The servo-on state is a state in which an axis command for the drive axis can be accepted (hereinafter also referred to as an "axis command accepting state").
[0030] When the motion control unit 212 receives a state transition command to a state in which an axis command can be received from the upper control device 10, the motion control unit 212 manages the state transition of the drive axis in accordance with synchronization state information (hereinafter simply referred to as "synchronization state information") that indicates the synchronization state between the synchronization signal and the processing timing. The synchronization state information is notified from the synchronization state determination unit 214. Specifically, if the synchronization state information indicates synchronization complete, a state transition command to a state where axis commands can be accepted is accepted. On the other hand, if the synchronization state information indicates synchronization incomplete, a state transition command to a state where axis commands can be accepted is not accepted, and the current state is maintained. In other words, the motion control unit 212 transitions the drive axis to a state where axis commands can be accepted when the synchronization state between the synchronization signal and the processing timing indicates synchronization complete. The motion control unit 212 can output an axis command control signal or control data to the unit 30 by transitioning the state of the drive axis of the unit 30 to a state where an axis command can be received.
[0031] Furthermore, the motion control unit 212 notifies the communication control unit 211 of drive axis status information indicating the state of the drive axis and synchronization state information notified from the synchronization state determination unit 214. The motion control unit 212 may notify the communication control unit 211 of information on the time difference between the synchronization signal used for determination by the synchronization state determination unit 214 and the processing timing, along with the synchronization state information. The communication control unit 211 includes the received information in status data to be transmitted to the upper control device 10, and transmits the information to the upper control device 10 via the communication unit 22.
[0032] <Period adjustment section 213> In the motion control system 1, when the system is started up or during operation of the system, processing is performed to synchronize the processing timing of the motion control unit 212 of each of the axis control devices 20A to 20C with the synchronization signal as needed. The cycle adjustment unit 213 adjusts the processing cycle within an adjustable range so that the synchronization signal and the processing timing of the motion control unit 212 are synchronized.
[0033] FIG. 3A is a diagram illustrating an example of adjustment of a processing cycle in an axis control device according to an embodiment. When the processing timing of the motion control unit 212 is delayed relative to the synchronization signal, the cycle adjustment unit 213 shortens the processing cycle to synchronize with the synchronization signal. In the example of FIG. 3A, the processing cycle is adjusted to a cycle T20 that is shorter than the normal cycle T10. As a result, the cycle adjustment unit 213 gradually reduces the delay Δtd in the processing timing relative to the synchronization signal, and ultimately synchronizes the processing timing with the synchronization signal. At this time, the cycle adjustment unit 213 may adjust the processing timing to a cycle T21 that is slightly shorter than the normal cycle T10 (but longer than T20) as necessary to align the processing timing with the synchronization signal so that the processing timing does not advance relative to the synchronization signal.
[0034] FIG. 3B is a diagram illustrating another example of adjustment of the processing cycle in an axis control device according to an embodiment. When the processing timing of the motion control unit 212 is ahead of the synchronization signal, the cycle adjustment unit 213 adjusts the processing cycle to be longer to synchronize with the synchronization signal. In the example of FIG. 3B, the processing cycle is adjusted to a cycle T30, which is longer than the normal cycle T10. As a result, the cycle adjustment unit 213 gradually reduces the advance Δta of the processing timing relative to the synchronization signal, and ultimately synchronizes the processing timing with the synchronization signal. At this time, the cycle adjustment unit 213 may adjust the processing timing to a cycle T31, slightly longer than the normal cycle T10 (but shorter than T30), as necessary, to align the processing timing with the synchronization signal so that the processing timing does not lag behind the synchronization signal.
[0035] <Synchronization status determination unit 214> The synchronization state determination unit 214 constantly measures the time difference between the synchronization signal and the processing timing while the processing period is being adjusted by the period adjustment unit 213. The synchronization state determination unit 214 determines whether or not synchronization between the synchronization signal and the processing timing of the motion control unit 212 has been completed as a result of the period adjustment unit 213 adjusting the processing period of the motion control unit 212. The synchronization status determination unit 214 may determine that synchronization is complete when the time difference between the synchronization signal and the processing timing is within a predetermined threshold value. On the other hand, if the time difference between the synchronization signal and the processing timing is not within the predetermined threshold value, the synchronization status is determined to be incomplete and asynchronous. The threshold value of the time difference between the synchronization signal used by the synchronization state determination unit 214 for determination and the processing timing may be set in advance using a parameter or the like.
[0036] The synchronization state determination unit 214 notifies the motion control unit 212 of the determination result as synchronization state information. The synchronization state information may also include information on the time difference between the synchronization signal used by the synchronization state determination unit 214 for the determination and the processing timing. Furthermore, when notifying the motion control unit 212 of the synchronization state information, the synchronization state determination unit 214 may record the synchronization state information in the storage unit 23. Furthermore, the synchronization state determination unit 214 may record in the storage unit 23 the time difference between the measured synchronization signal and the processing timing.
[0037] <Communications Department 22> The communication unit 22 is realized by a network interface (not shown). Under the control of the communication control unit 211, the communication unit 22 communicates data including command data, response data, status data, synchronization signals, etc. with the upper control device 10 and other axis control devices.
[0038] <Storage section 23> The storage unit 23 is, for example, a read-only memory (ROM), a random access memory (RAM), or a hard disk drive (HDD), and has the function of storing various data, applications, programs, and the like. Furthermore, in the storage unit 23, the synchronization state determination unit 214 records synchronization state information and the time difference between the synchronization signal and the processing timing as a log.
[0039] <Axis command reception process> Next, the process of receiving an axis command in the axis control device according to this embodiment will be described below. Fig. 4 is a flowchart showing an example of the process of receiving an axis command in the axis control device according to one embodiment.
[0040] The axis command reception process starts when the axis control device 20 is in a state where it is possible to send and receive command data, status data, etc. to and from the upper control device 10. However, the state of the drive axis of the unit 30 is such that the motor power is on but there is no torque, and it has not yet transitioned to a state where it is possible to receive an axis command.
[0041] In step S11 , the communication control unit 211 acquires, via the communication unit 22 , command data transmitted from the upper control device 10 at a fixed cycle, and sends the acquired command data to the motion control unit 212 .
[0042] In step S12, the motion control unit 212 analyzes the content of the command data sent from the communication control unit 211. If the content of the command data is a command for state transition of the drive axis (YES in step S12), the process proceeds to step S15. On the other hand, if the content of the command data is not a command for state transition of the drive axis (NO in step S12), the process proceeds to step S13. In step S13, the motion control unit 212 checks whether the state of the drive axis is such that it can accept an axis command. If the state of the drive axis is such that it can accept an axis command (YES in step S13), the process proceeds to step S14, where the contents of the command data are processed and executed at the next processing timing. On the other hand, if the state of the drive axis is not such that it can accept an axis command (NO in step S13), the process returns to step S11, and the subsequent processing is repeated. Generally, the upper control device 10 issues an axis command after checking the drive axis status information notified from the axis control device 20. Therefore, in step S12, if the command data sent from the communication control unit 211 is command data for an axis command such as the amount of change in the axis angle, the state of the drive axis has basically already transitioned to a state where it can accept an axis command.
[0043] In step S15, the motion control unit 212 determines whether the state transition command of the drive axis by the command data is a transition to a state in which an axis command can be accepted. If it is a state transition command to a state in which an axis command can be accepted (YES in step S15), the process proceeds to step S16. In step S16 , the motion control unit 212 checks the synchronization state information notified by the synchronization state determination unit 214 .
[0044] Next, in step S17, if the synchronization state information confirmed in step S16 indicates "synchronization incomplete" (NO in step S17), the motion control unit 212 returns to step S11 and repeats the subsequent processes.
[0045] On the other hand, if the synchronization state information indicates "synchronization completed" in step S17 (YES in step S17), the process proceeds to step S18, where the motion control unit 212 transitions the state of the drive axis to a state where an axis command can be received. That is, while the synchronization status information is "synchronization incomplete," the motion control unit 212 ignores the drive axis state transition command from the received command data and does not transition to a state in which an axis command can be accepted. Therefore, the drive axis remains in a state in which it cannot accept an axis command. Furthermore, the axis control device 20 notifies the synchronization status information to the upper control device 10. From this synchronization status information, the upper control device 10 can understand that the reason the state of the drive axis has not transitioned to a state in which it can accept an axis command is because "synchronization is incomplete."
[0046] In step S15, if the state transition command for the drive axis is not a transition command to a state in which an axis command can be accepted, but is another state transition command (NO in step S15), the process proceeds to step S18, and the motion control unit 212 transitions the state of the drive axis according to the contents of the command data.
[0047] In step S18, when the state transition of the drive axis is completed, the process returns to step S11 and the subsequent processes are repeated.
[0048] <Axis command issuing process in the host control device> Next, a description will be given of the processing on the side of the upper control device 10 corresponding to the processing shown in Fig. 4. Fig. 5 is a flowchart showing an example of an axis command issuing process in the upper control device according to one embodiment.
[0049] In step S21, prior to transmitting an axis command, the upper control device 10 transmits to the axis control device 20 a state transition command to a state in which the axis command can be received.
[0050] In step S22, the host controller 10 receives status data from the axis controller 20. The received status data includes drive axis status information and synchronization status information.
[0051] In step S23, the host controller 10 determines whether or not the drive axis status information indicates a state in which an axis command can be accepted, based on the status data received in step S22. At this time, if the drive axis status information indicates a state in which an axis command can be received, synchronization has already been completed on the side of the axis control device 20. This is because the axis control device 20 transitions the drive axis to a state in which it can receive an axis command when it determines that synchronization has been completed.
[0052] If the drive axis status information indicates that an axis command can be received (YES in step S23), the process proceeds to step S24, where the upper controller 10 transmits command data of the axis command to the axis controller 20. In addition, when multiple drive axes are synchronously controlled by multiple axis control devices 20, the upper control device 10 determines whether the drive axis status information of all of the synchronously controlled drive axes is in a state where axis commands can be accepted, and if all of the synchronously controlled drive axes are in a state where axis commands can be accepted, it transmits command data of the axis commands to each axis control device 20.
[0053] On the other hand, if the answer is NO in step S23, the process returns to step S21 and the subsequent processes are repeated. When the drive axis status information does not transition to a state where an axis command can be accepted, if the reason is that "synchronization is not completed," the upper control device 10 can determine the reason why the drive axis status information has not transitioned to a state where an axis command can be accepted from the synchronization status information.
[0054] In step S24, the upper controller 10 sequentially transmits a series of command data of axis commands generated according to a predetermined program such as a machining program or a control program to the axis controller 20 at the same cycle as the cycle of the synchronization signal. At this time, the axis control device 20 has already completed synchronization with the synchronization signal, and can perform the synchronous operation as instructed by the upper control device 10. When the transmission of the series of command data is completed, the process proceeds to step S25.
[0055] In step S25, the upper control device 10 performs processing to end the axis command issuance processing. The upper control device 10 issues a necessary state transition command to the axis control device 20 and ends the processing. This command causes the axis control device 20 to transition from a state in which it can accept an axis command to a state in which it cannot accept an axis command. The state transition command data in this case is, for example, command data to disable the axis command, but is not limited to this. It may also be command data to cut off the power supply or shut down, etc.
[0056] As described above, according to one embodiment, the following effects can be obtained. The axis control device accepts axis commands to the servo from the upper control device once synchronization between the synchronization signal and processing timing has been completed, allowing the axis commands to be processed periodically, ensuring operation in accordance with commands from the upper control device. The host control device issues commands after confirming that the servo is in a state where it can accept axis commands (servo on state), so each axis control device executes commands in a synchronous state and the operations between units do not become asynchronous. As a result, the operation timing of each unit in response to the axis command is synchronized, ensuring synchronous operation. The host controller confirms that the servo is in a state where it can accept axis commands (servo on state) before issuing a command, and waits until the servo is in a state where it can accept axis commands. If the servo is not in a state where it can accept axis commands, there are several reasons on the axis controller side, but if the reason is that it is not in a synchronized state, the axis controller will notify the synchronized state, and the host controller will be able to confirm why the servo state is not transitioning as instructed. If the operation does not proceed as instructed or if the drives are not synchronized, the cause can be analyzed by checking the recorded synchronization status information and the time difference between the synchronization signal and the processing timing.
[0057] Each function included in the axis control devices 20A to 20C according to an embodiment can be realized by hardware, software, or a combination of these. Here, "realized by software" means that the function is realized by a computer reading and executing a program.
[0058] The program can be stored and supplied to a computer using various types of non-transitory computer-readable media. Non-transitory computer-readable media include various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic storage media (e.g., flexible disks, magnetic tapes, hard disk drives), magneto-optical storage media (e.g., magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / Ws, and semiconductor memories (e.g., mask ROMs, PROMs (Programmable ROMs), EPROMs (Erasable PROMs), flash ROMs, and RAMs). The program may also be supplied to a computer by various types of transitory computer-readable media. Examples of transitory computer-readable media include electrical signals, optical signals, and electromagnetic waves. The transitory computer-readable media can be supplied to a computer via wired communication paths such as electric wires and optical fibers, or via wireless communication paths.
[0059] In addition, the steps of writing a program to be recorded on a recording medium include not only processes that are performed chronologically in accordance with the order, but also processes that are not necessarily performed chronologically but are performed in parallel or individually.
[0060] Although the embodiments of the present invention have been described in detail above, the present invention is not limited to the individual embodiments described above. Various additions, substitutions, modifications, partial deletions, etc. are possible to these embodiments without departing from the gist of the invention or the idea and intent of the present invention derived from the content of the claims and their equivalents. For example, in the above-described embodiments, the order of each operation and the order of each process are shown as examples and are not limited to these. The same applies when numerical values or mathematical expressions are used in the description of the above-described embodiments.
[0061] In other words, the control device of the present disclosure can take on a variety of embodiments having the following configurations. (1) The axis control device of the present disclosure is an axis control device 20 that controls a drive axis based on commands from a network-connected upper control device 10, and includes a communication control unit 211 that receives command data from the upper control device 10, a motion control unit 212 that controls the drive axis based on the received command data, a cycle adjustment unit 213 that adjusts the processing cycle of the motion control unit 212, and a synchronization state determination unit 214 that determines whether synchronization between a synchronization signal and the processing timing of the motion control unit 212 has been completed. The cycle adjustment unit 213 adjusts the processing cycle so that the synchronization signal and the processing timing are synchronized, and the motion control unit 212 transitions the drive axis to a state in which it can accept axis commands when the synchronization state determination unit 214 determines that synchronization has been completed. (2) In the axis control device of (1), the communication control unit 211 may transmit status data to the upper control device 10, and the motion control unit 212 may notify the communication control unit 211 of the synchronization status of the motion control unit 212 determined by the synchronization status determination unit 214. (3) In the axis control device of (1) or (2), the synchronization status determination unit 214 may determine that the synchronization is complete when the time difference between the synchronization signal and the processing timing is within a predetermined threshold value. (4) In the axis control device of (1) or (2), the synchronization signal may be transmitted from the host control device 10 via a network. (5) In the axis control device of (1) or (2), the synchronization signal may be generated by the communication control unit 211. (6) In the axis control device of (3), the threshold value of the time difference between the synchronization signal used by the synchronization state determination unit 214 for determination and the processing timing may be set in advance. (7) In the axis control device of (3), the communication control unit 211 may transmit status data to the upper control device 10 and notify the communication control unit 211 of the time difference between the synchronization signal used by the synchronization status determination unit 214 for determination and the processing timing. (8) In the axis control device of (1) or (2), the synchronization state of the motion control unit 212 determined by the synchronization state determination unit 214 may be recorded. (9) In the axis control device of (3), the synchronization state determination unit 214 may record the time difference between the synchronization signal used for determination and the processing timing. [Explanation of symbols]
[0062] 1. Motion Control System 10 Upper control device 20A~20C, 20-axis control device 21 Control Unit 211 Communication control unit 212 Motion control unit 213 Period adjustment section 214 Synchronization status determination unit 22 Communications Department 23 Memory section 30A~30C unit N Network
Claims
1. An axis control device that controls a drive axis in response to a command from a network-connected upper control device, a communication control unit that receives command data from the upper control device; a motion control unit that controls the drive shaft based on the received command data; a cycle adjustment unit that adjusts the processing cycle of the motion control unit; a synchronization state determination unit that determines whether synchronization between the synchronization signal and the processing timing of the motion control unit has been completed; the cycle adjustment unit adjusts the processing cycle so that the synchronization signal and the processing timing are synchronized; The motion control unit is an axis control device that transitions the drive axis to a state in which it can accept an axis command when the synchronization state determination unit determines that synchronization has been completed.
2. the communication control unit transmits status data to the upper control device; The axis control device according to claim 1 , wherein the motion control unit notifies the communication control unit of the synchronization state of the motion control unit determined by the synchronization state determination unit.
3. The axis control device according to claim 1 or 2, wherein the synchronization state determination unit determines that the synchronization is complete when a time difference between the synchronization signal and the processing timing falls within a predetermined threshold value.
4. 3. The axis control device according to claim 1, wherein the synchronization signal is notified from the host control device via a network.
5. The axis control device according to claim 1 or 2, wherein the synchronization signal is generated by the communication control unit.
6. The axis control device according to claim 3 , wherein the threshold value of the time difference between the synchronization signal used by the synchronization state determination unit for determination and the processing timing is set in advance.
7. the communication control unit transmits status data to the upper control device; The axis control device according to claim 3 , wherein the synchronization state determination unit notifies the communication control unit of a time difference between the synchronization signal used for determination and the processing timing.
8. The axis control device according to claim 1 or 2, wherein the synchronization state of the motion control unit determined by the synchronization state determination unit is recorded.
9. The axis control device according to claim 3 , wherein the synchronization state determination unit records a time difference between the synchronization signal used for determination and the processing timing.
Citation Information
Patent Citations
Method and device for synchronous control in numerical controller
JP1996320714A
Method and device for synchronously establishing plural servo-drive devices
JP2002108414A
Numerical controller and synchronization control method using numerical controller
JP2008171025A
Decentralized motion controller
JP1997160630A
Distributed motion control system
JP2009020547A