Industrial machine control device and industrial machine control method
The control device with dual software storage units and seamless switching minimizes hardware downtime by detecting abnormalities and switching software, improving safety in industrial machinery.
Patent Information
- Application Number
- JP2021173176
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-10-22
- Publication Date
- 2026-01-16
- Estimated Expiration
- 2041-10-22
AI Technical Summary
Industrial machinery hardware may stop operating due to software issues, leading to undesirable periods of downtime during software switching or abnormality handling.
A control device with dual software storage units and a control unit that seamlessly switches between software to minimize downtime by outputting commands to the other software upon detecting an abnormality.
This approach suppresses periods of software non-control, enhancing safety and reducing hardware operation interruptions.
Smart Images

Figure 0007800832000001 
Figure 0007800832000002 
Figure 0007800832000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a control device for an industrial machine and a control method for an industrial machine. [Background technology]
[0002] Industrial machines that manufacture molded products by performing molding operations have been around for a long time. In recent industrial machines, software running in a control device installed in the industrial machine controls the hardware of the industrial machine to perform the molding operations. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Publication No. 2019-049917 Summary of the Invention [Problem to be solved by the invention]
[0004] In a situation where software controls hardware, the hardware may stop operating due to the software. For this reason, it is desirable to shorten the time that the hardware stops operating due to software. For example, in the technology described in Patent Document 1, a control program can be recorded in multiple areas, and while one control program is running, another control program is written, and after the writing is completed, the control program is switched. This prevents the hardware control from stopping during the update of the control program.
[0005] Furthermore, in consideration of the possibility that an abnormality may occur during software execution in the industrial machinery, a technology for duplication of software has been proposed. In typical duplication of software, when one software stops due to an abnormality, the other software starts operation, thereby controlling the operation of the industrial machinery.
[0006] When the operation of industrial machinery is controlled by switching between these software programs, the hardware operation is stopped for a period of time between when one software program stops and when the other software program starts. Although the operation stoppage time is short, it is considered undesirable for the hardware to be idle for a period of time.
[0007] One aspect of the present invention provides a technique for improving safety by shortening the time required for switching software when an abnormality occurs in software. [Means for solving the problem]
[0008] A control device for industrial machinery according to one aspect of the present invention is ,Nari for controlling industrial machines that perform repetitive movements No. 1 Remember the software a first storage unit, a second storage unit for storing second software identical to the first software, and a storage unit for storing the first software and the second software; Each of the following is processed, The first software and the second software Any one of the following from, Outputting a command for performing a forming operation of the industrial machine and a control unit that controls the first software and the second software. If it is determined that an abnormality has occurred in one of the software, software for outputting the instructions, From one software to the other software Cut to size and the other party Noso Software to At the timing of the change, information is output to the outside of the control unit. [Effects of the Invention]
[0009] According to one aspect of the present invention, the occurrence of a period when software is not performing control is suppressed, thereby improving safety. [Brief explanation of the drawings]
[0010] [Figure 1] FIG. 1 is a diagram showing a state when mold opening of the injection molding machine according to the first embodiment is completed. [Figure 2] FIG. 2 is a diagram showing a state in which the injection molding machine according to the first embodiment is clamped. [Figure 3] FIG. 3 is a functional block diagram showing components of the control device according to the first embodiment. [Figure 4] FIG. 4 is a sequence diagram showing the flow of processing performed by the first control software and the second control software when an abnormality occurs in the first control software in the first embodiment. [Figure 5] FIG. 5 is a sequence diagram showing the flow of processing performed by the first control software and the second control software when an abnormality occurs in the first control software in the second embodiment. [Figure 6] FIG. 6 is a functional block diagram showing components of a control device according to the third embodiment. [Figure 7] FIG. 7 is a sequence diagram showing the flow of processing performed by the first control software, the second control software, and the handler when an abnormality occurs in the first control software in the third embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0011] Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the drawings, the same or corresponding components are denoted by the same or corresponding reference numerals, and the description thereof may be omitted.
[0012] In this embodiment, an example in which the present invention is applied to an injection molding machine as an example of an industrial machine that repeatedly performs molding operations will be described. Note that the present embodiment is not limited to an injection molding machine, and may be applied to any industrial machine that repeatedly performs molding operations, such as a press machine.
[0013] FIG. 1 is a diagram showing the state of the injection molding machine according to the first embodiment when mold opening is completed. FIG. 2 is a diagram showing the state of the injection molding machine according to the first embodiment when mold clamping is performed. In this specification, the X-axis direction, Y-axis direction, and Z-axis direction are perpendicular to each other. The X-axis direction and Y-axis direction represent horizontal directions, and the Z-axis direction represents vertical directions. When the mold clamping device 100 is of a horizontal type, the X-axis direction is the mold opening / closing direction, and the Y-axis direction is the width direction of the injection molding machine 10. The negative side of the Y-axis direction is called the operating side, and the positive side of the Y-axis direction is called the counter-operating side.
[0014] As shown in FIGS. 1 and 2 , injection molding machine 10 includes a mold clamping unit 100 that opens and closes mold apparatus 800, an ejector unit 200 that ejects a molded product molded by mold apparatus 800, an injection unit 300 that injects molding material into mold apparatus 800, a moving unit 400 that moves injection unit 300 forward and backward relative to mold apparatus 800, a control unit 700 that controls each component of injection molding machine 10, and a frame 900 that supports each component of injection molding machine 10. Frame 900 includes a mold clamping unit frame 910 that supports mold clamping unit 10 and an injection unit frame 920 that supports injection unit 300. Clamping unit frame 910 and injection unit frame 920 are each installed on floor 2 via leveling adjusters 930. Control unit 700 is disposed in the interior space of injection unit frame 920. Each component of injection molding machine 10 will be described below.
[0015] (mold clamping device) In the description of the mold clamping unit 100, the moving direction of the movable platen 120 during mold closing (for example, the positive X-axis direction) is defined as the front, and the moving direction of the movable platen 120 during mold opening (for example, the negative X-axis direction) is defined as the rear.
[0016] The mold clamping unit 100 performs mold closing, pressurization, mold clamping, depressurization, and mold opening of the mold device 800. The mold device 800 includes a fixed mold 810 and a movable mold 820. The mold clamping unit 100 is, for example, a horizontal type, and the mold opening and closing direction is horizontal. The mold clamping unit 100 has a fixed platen 110 to which the fixed mold 810 is attached, a movable platen 120 to which the movable mold 820 is attached, and a movement mechanism 102 that moves the movable platen 120 in the mold opening and closing direction relative to the fixed platen 110.
[0017] The stationary platen 110 is fixed to the mold clamping unit frame 910. A stationary mold 810 is attached to the surface of the stationary platen 110 that faces the movable platen 120.
[0018] The movable platen 120 is disposed so as to be movable in the mold opening / closing direction relative to the mold clamping unit frame 910. A guide 101 for guiding the movable platen 120 is installed on the mold clamping unit frame 910. A movable mold 820 is attached to the surface of the movable platen 120 facing the fixed platen 110.
[0019] The moving mechanism 102 moves the movable platen 120 forward and backward relative to the fixed platen 110, thereby performing mold closing, pressurization, mold clamping, depressurization, and mold opening of the mold apparatus 800. The moving mechanism 102 has a toggle support 130 arranged at a distance from the fixed platen 110, tie bars 140 connecting the fixed platen 110 and the toggle support 130, a toggle mechanism 150 that moves the movable platen 120 in the mold opening / closing direction relative to the toggle support 130, a mold clamping motor 160 that operates the toggle mechanism 150, a motion conversion mechanism 170 that converts the rotational motion of the mold clamping motor 160 into linear motion, and a mold thickness adjustment mechanism 180 that adjusts the distance between the fixed platen 110 and the toggle support 130.
[0020] The toggle support 130 is disposed at a distance from the fixed platen 110 and is placed on the mold clamping unit frame 910 so as to be freely movable in the mold opening and closing direction. The toggle support 130 may be disposed so as to be freely movable along a guide laid on the mold clamping unit frame 910. The guide of the toggle support 130 may be the same as the guide 101 of the movable platen 120.
[0021] In this embodiment, the fixed platen 110 is fixed to the mold clamping unit frame 910, and the toggle support 130 is arranged so as to be freely movable in the mold opening and closing direction relative to the mold clamping unit frame 910, but the toggle support 130 may also be fixed to the mold clamping unit frame 910, and the fixed platen 110 may be arranged so as to be freely movable in the mold opening and closing direction relative to the mold clamping unit frame 910.
[0022] The tie bars 140 connect the fixed platen 110 and the toggle support 130 at an interval L in the mold opening / closing direction. A plurality of tie bars 140 (for example, four) may be used. The plurality of tie bars 140 are arranged parallel to the mold opening / closing direction and extend according to the mold clamping force. At least one tie bar 140 may be provided with a tie bar strain detector 141 that detects strain in the tie bar 140. The tie bar strain detector 141 sends a signal indicating the detection result to the control device 700. The detection result of the tie bar strain detector 141 is used to detect the mold clamping force, etc.
[0023] In this embodiment, the tie bar strain detector 141 is used as the mold clamping force detector that detects the mold clamping force, but the present invention is not limited to this. The mold clamping force detector is not limited to the strain gauge type, and may be a piezoelectric type, a capacitance type, a hydraulic type, an electromagnetic type, or the like, and the attachment position thereof is also not limited to the tie bar 140.
[0024] The toggle mechanism 150 is disposed between the movable platen 120 and the toggle support 130 and moves the movable platen 120 relative to the toggle support 130 in the mold opening / closing direction. The toggle mechanism 150 has a crosshead 151 that moves in the mold opening / closing direction and a pair of link groups that bend and extend with the movement of the crosshead 151. Each of the pair of link groups has a first link 152 and a second link 153 that are connected to bendable and extendable by a pin or the like. The first link 152 is attached to the movable platen 120 by a pin or the like so that it can swing freely. The second link 153 is attached to the toggle support 130 by a pin or the like so that it can swing freely. The second link 153 is attached to the crosshead 151 via a third link 154. When the crosshead 151 advances or retreats relative to the toggle support 130, the first link 152 and the second link 153 bend and extend, and the movable platen 120 advances or retreats relative to the toggle support 130.
[0025] The configuration of toggle mechanism 150 is not limited to the configuration shown in Figures 1 and 2. For example, although each link group has five nodes in Figures 1 and 2, it may have four nodes, and one end of third link 154 may be connected to a node between first link 152 and second link 153.
[0026] The mold clamping motor 160 is attached to the toggle support 130 and operates the toggle mechanism 150. The mold clamping motor 160 moves the crosshead 151 forward and backward relative to the toggle support 130, thereby bending and extending the first link 152 and the second link 153 and moving the movable platen 120 forward and backward relative to the toggle support 130. The mold clamping motor 160 is directly connected to the motion conversion mechanism 170, but may also be connected to the motion conversion mechanism 170 via a belt, a pulley, or the like.
[0027] The motion conversion mechanism 170 converts the rotational motion of the mold clamping motor 160 into the linear motion of the crosshead 151. The motion conversion mechanism 170 includes a screw shaft and a screw nut that screws onto the screw shaft. A ball or roller may be interposed between the screw shaft and the screw nut.
[0028] The mold clamping unit 100 performs a mold closing process, a pressure increasing process, a mold clamping process, a pressure reducing process, a mold opening process, and the like under the control of the control device 700.
[0029] In the mold closing process, the mold clamping motor 160 is driven to move the crosshead 151 forward at a set movement speed to a mold closing completion position, thereby moving the movable platen 120 forward and bringing the movable mold 820 into contact with the fixed mold 810. The position and movement speed of the crosshead 151 are detected using, for example, a mold clamping motor encoder 161. The mold clamping motor encoder 161 detects the rotation of the mold clamping motor 160 and sends a signal indicating the detection result to the control device 700.
[0030] The crosshead position detector that detects the position of the crosshead 151 and the crosshead movement speed detector that detects the movement speed of the crosshead 151 are not limited to the mold clamping motor encoder 161, and general types can be used. Furthermore, the movable platen position detector that detects the position of the movable platen 120 and the movable platen movement speed detector that detects the movement speed of the movable platen 120 are not limited to the mold clamping motor encoder 161, and general types can be used.
[0031] In the pressure increasing step, the mold clamping motor 160 is further driven to move the crosshead 151 further forward from the mold closing completion position to the mold clamping position, thereby generating a mold clamping force.
[0032] In the mold clamping process, the mold clamping motor 160 is driven to maintain the position of the crosshead 151 at the mold clamping position. In the mold clamping process, the mold clamping force generated in the pressure increase process is maintained. In the mold clamping process, a cavity space 801 (see FIG. 2) is formed between the movable mold 820 and the fixed mold 810, and the injection device 300 fills the cavity space 801 with liquid molding material. The filled molding material is solidified to obtain a molded product.
[0033] The number of cavity spaces 801 may be one or more. In the latter case, multiple molded products are obtained at the same time. An insert material may be placed in a part of the cavity space 801, and another part of the cavity space 801 may be filled with a molding material. A molded product is obtained in which the insert material and the molding material are integrated.
[0034] In the depressurization process, the mold clamping motor 160 is driven to move the crosshead 151 back from the mold clamping position to the mold opening start position, thereby moving the movable platen 120 back and reducing the mold clamping force. The mold opening start position and the mold closing completion position may be the same position.
[0035] In the mold opening process, the mold clamping motor 160 is driven to move the crosshead 151 backward at a set moving speed from the mold opening start position to the mold opening completion position, thereby moving the movable platen 120 backward and separating the movable mold 820 from the fixed mold 810. Thereafter, the ejector unit 200 ejects the molded product from the movable mold 820.
[0036] The setting conditions for the mold closing process, pressure increase process, and mold clamping process are set together as a series of setting conditions. For example, the movement speed and position of the crosshead 151 in the mold closing process and pressure increase process (including the mold closing start position, movement speed switching position, mold closing completion position, and mold clamping position), and the mold clamping force are set together as a series of setting conditions. The mold closing start position, movement speed switching position, mold closing completion position, and mold clamping position are arranged in this order from the rear side to the front, and represent the start and end points of the section for which the movement speed is set. The movement speed is set for each section. There may be one or more movement speed switching positions. The movement speed switching position does not have to be set. Only one of the mold clamping position and the mold clamping force may be set.
[0037] The setting conditions for the depressurization process and mold opening process are also set in a similar manner. For example, the movement speed and position of the crosshead 151 in the depressurization process and mold opening process (mold opening start position, movement speed switching position, and mold opening completion position) are set together as a series of setting conditions. The mold opening start position, movement speed switching position, and mold opening completion position are arranged in this order from the front to the rear, and represent the start and end points of the section for which the movement speed is set. The movement speed is set for each section. There may be one or more movement speed switching positions. The movement speed switching position does not have to be set. The mold opening start position and mold closing completion position may be the same position. Furthermore, the mold opening completion position and mold closing start position may be the same position.
[0038] It should be noted that the moving speed and position of the movable platen 120 may be set instead of the moving speed and position of the crosshead 151. Furthermore, the clamping force may be set instead of the position of the crosshead (for example, the clamping position) or the position of the movable platen.
[0039] The toggle mechanism 150 amplifies the driving force of the mold clamping motor 160 and transmits it to the movable platen 120. The amplification factor is also called the toggle factor. The toggle factor changes depending on the angle θ between the first link 152 and the second link 153 (hereinafter also referred to as the "link angle θ"). The link angle θ is determined from the position of the crosshead 151. When the link angle θ is 180°, the toggle factor is maximum.
[0040] When the thickness of the mold device 800 changes due to replacement of the mold device 800 or a temperature change in the mold device 800, a mold thickness adjustment is performed so that a predetermined clamping force is obtained during mold clamping. In mold thickness adjustment, for example, the distance L between the fixed platen 110 and the toggle support 130 is adjusted so that the link angle θ of the toggle mechanism 150 becomes a predetermined angle at the time of mold touch when the movable mold 820 touches the fixed mold 810.
[0041] The mold clamping unit 100 has a mold thickness adjustment mechanism 180. The mold thickness adjustment mechanism 180 adjusts the mold thickness by adjusting the distance L between the fixed platen 110 and the toggle support 130. The mold thickness adjustment is performed, for example, between the end of a molding cycle and the start of the next molding cycle. The mold thickness adjustment mechanism 180 has, for example, a screw shaft 181 formed at the rear end of the tie bar 140, a screw nut 182 held rotatably and immovably by the toggle support 130, and a mold thickness adjustment motor 183 that rotates the screw nut 182 that is threaded onto the screw shaft 181.
[0042] A screw shaft 181 and a screw nut 182 are provided for each tie bar 140. The rotational driving force of the mold thickness adjustment motor 183 may be transmitted to the plurality of screw nuts 182 via a rotational driving force transmission unit 185. The plurality of screw nuts 182 can be rotated synchronously. Note that by changing the transmission path of the rotational driving force transmission unit 185, the plurality of screw nuts 182 can also be rotated individually.
[0043] The rotational drive force transmission unit 185 is configured with, for example, gears. In this case, a driven gear is formed on the outer periphery of each screw nut 182, a drive gear is attached to the output shaft of the mold thickness adjustment motor 183, and an intermediate gear that meshes with the multiple driven gears and drive gear is rotatably held in the center of the toggle support 130. Note that the rotational drive force transmission unit 185 may be configured with a belt, pulleys, or the like instead of gears.
[0044] The operation of the mold thickness adjustment mechanism 180 is controlled by a control device 700. The control device 700 drives a mold thickness adjustment motor 183 to rotate the screw nut 182. As a result, the position of the toggle support 130 relative to the tie bar 140 is adjusted, and the distance L between the fixed platen 110 and the toggle support 130 is adjusted. Note that a plurality of mold thickness adjustment mechanisms may be used in combination.
[0045] The gap L is detected using a mold thickness adjustment motor encoder 184. The mold thickness adjustment motor encoder 184 detects the amount and direction of rotation of the mold thickness adjustment motor 183, and sends a signal indicating the detection result to the control device 700. The detection result of the mold thickness adjustment motor encoder 184 is used to monitor and control the position of the toggle support 130 and the gap L. Note that the toggle support position detector that detects the position of the toggle support 130 and the gap detector that detects the gap L are not limited to the mold thickness adjustment motor encoder 184, and general detectors can be used.
[0046] The mold clamping unit 100 may have a mold temperature regulator that regulates the temperature of the mold device 800. The mold device 800 has a flow path for a temperature regulation medium inside. The mold temperature regulator regulates the temperature of the mold device 800 by regulating the temperature of the temperature regulation medium supplied to the flow path of the mold device 800.
[0047] Although the mold clamping unit 100 of this embodiment is a horizontal type in which the mold opening and closing direction is horizontal, it may also be a vertical type in which the mold opening and closing direction is vertical.
[0048] Although the mold clamping unit 100 of this embodiment has a mold clamping motor 160 as a drive source, it may have a hydraulic cylinder instead of the mold clamping motor 160. Also, the mold clamping unit 100 may have a linear motor for opening and closing the mold, and an electromagnet for mold clamping.
[0049] (Ejector device) In describing the ejector device 200, similar to the description of the mold clamping device 100, the direction of movement of the movable platen 120 when the mold is closed (e.g., the positive direction of the X-axis) is defined as the front, and the direction of movement of the movable platen 120 when the mold is opened (e.g., the negative direction of the X-axis) is defined as the rear.
[0050] The ejector unit 200 is attached to the movable platen 120 and moves forward and backward together with the movable platen 120. The ejector unit 200 has an ejector rod 210 that ejects a molded product from the mold device 800, and a drive mechanism 220 that moves the ejector rod 210 in the movement direction of the movable platen 120 (X-axis direction).
[0051] The ejector rod 210 is arranged so as to be able to move forward and backward in a through-hole of the movable platen 120. The front end of the ejector rod 210 contacts an ejector plate 826 of the movable mold 820. The front end of the ejector rod 210 may or may not be connected to the ejector plate 826.
[0052] The drive mechanism 220 includes, for example, an ejector motor and a motion conversion mechanism that converts the rotational motion of the ejector motor into linear motion of the ejector rod 210. The motion conversion mechanism includes a screw shaft and a screw nut that screws onto the screw shaft. Balls or rollers may be interposed between the screw shaft and the screw nut.
[0053] The ejector unit 200 performs an ejection process under the control of the control unit 700. In the ejection process, the ejector rod 210 is advanced from the standby position to the ejection position at a set moving speed, thereby advancing the ejector plate 826 and ejecting the molded product. After that, the ejector motor is driven to retract the ejector rod 210 at the set moving speed, and the ejector plate 826 is retracted to the original standby position.
[0054] The position and movement speed of the ejector rod 210 are detected using, for example, an ejector motor encoder. The ejector motor encoder detects the rotation of the ejector motor and sends a signal indicating the detection result to the control device 700. Note that the ejector rod position detector that detects the position of the ejector rod 210 and the ejector rod movement speed detector that detects the movement speed of the ejector rod 210 are not limited to the ejector motor encoder, and general types can be used.
[0055] (injection device) In the description of the injection device 300, unlike the description of the mold clamping device 100 and the description of the ejector device 200, the movement direction of the screw 330 during filling (e.g., the negative X-axis direction) is described as the forward direction, and the movement direction of the screw 330 during metering (e.g., the positive X-axis direction) is described as the rearward direction.
[0056] The injection unit 300 is mounted on a slide base 301, and the slide base 301 is disposed so as to be able to move forward and backward relative to the injection unit frame 920. The injection unit 300 is disposed so as to be able to move forward and backward relative to the mold unit 800. The injection unit 300 touches the mold unit 800 and fills the molding material measured in a cylinder 310 into a cavity space 801 in the mold unit 800. The injection unit 300 includes, for example, a cylinder 310 that heats the molding material, a nozzle 320 provided at the front end of the cylinder 310, a screw 330 that is disposed so as to be able to move forward and backward and to be able to rotate within the cylinder 310, a metering motor 340 that rotates the screw 330, an injection motor 350 that moves the screw 330 forward and backward, and a load detector 360 that detects the load transmitted between the injection motor 350 and the screw 330.
[0057] Cylinder 310 heats the molding material supplied to the interior through supply port 311. The molding material includes, for example, resin. The molding material is formed, for example, in the form of pellets, and is supplied to supply port 311 in a solid state. Supply port 311 is formed at the rear of cylinder 310. A cooler 312, such as a water-cooled cylinder, is provided on the outer periphery of the rear of cylinder 310. A heater 313, such as a band heater, and a temperature detector 314 are provided on the outer periphery of cylinder 310, ahead of cooler 312.
[0058] Cylinder 310 is divided into a plurality of zones in the axial direction (e.g., X-axis direction) of cylinder 310. Each of the plurality of zones is provided with a heater 313 and a temperature detector 314. A set temperature is set for each of the plurality of zones, and control device 700 controls heater 313 so that the temperature detected by temperature detector 314 becomes the set temperature.
[0059] The nozzle 320 is provided at the front end of the cylinder 310 and is pressed against the mold device 800. A heater 313 and a temperature detector 314 are provided on the outer periphery of the nozzle 320. The control device 700 controls the heater 313 so that the detected temperature of the nozzle 320 becomes the set temperature.
[0060] The screw 330 is disposed within the cylinder 310 so as to be rotatable and movable forward and backward. When the screw 330 is rotated, the molding material is sent forward along the spiral groove of the screw 330. As the molding material is sent forward, it is gradually melted by the heat from the cylinder 310. As the liquid molding material is sent forward to the front of the screw 330 and accumulates in the front part of the cylinder 310, the screw 330 is moved backward. Thereafter, when the screw 330 is moved forward, the liquid molding material accumulated in front of the screw 330 is injected from the nozzle 320 and filled into the mold device 800.
[0061] A backflow prevention ring 331 is attached to the front of the screw 330 so as to be movable back and forth as a backflow prevention valve for preventing the molding material from flowing back from the front to the rear of the screw 330 when the screw 330 is pushed forward.
[0062] When the screw 330 is moved forward, the backflow prevention ring 331 is pushed backward by the pressure of the molding material in front of the screw 330, and moves back relative to the screw 330 to a blocking position (see FIG. 2) where it blocks the flow path of the molding material. This prevents the molding material accumulated in front of the screw 330 from flowing backward.
[0063] On the other hand, when the screw 330 is rotated, the backflow prevention ring 331 is pushed forward by the pressure of the molding material sent forward along the spiral groove of the screw 330, and moves forward relative to the screw 330 to the open position (see FIG. 1) where it opens the flow path of the molding material. This causes the molding material to be sent forward of the screw 330.
[0064] The backflow prevention ring 331 may be either a co-rotating type that rotates together with the screw 330 or a non-co-rotating type that does not rotate together with the screw 330.
[0065] The injection device 300 may have a drive source for moving the backflow prevention ring 331 back and forth relative to the screw 330 between the open position and the closed position.
[0066] The metering motor 340 rotates the screw 330. The drive source for rotating the screw 330 is not limited to the metering motor 340, and may be, for example, a hydraulic pump.
[0067] The injection motor 350 advances and retreats the screw 330. A motion conversion mechanism that converts the rotational motion of the injection motor 350 into linear motion of the screw 330 is provided between the injection motor 350 and the screw 330. The motion conversion mechanism has, for example, a screw shaft and a screw nut that screws onto the screw shaft. A ball or roller may be provided between the screw shaft and the screw nut. The drive source that advances and retreats the screw 330 is not limited to the injection motor 350 and may be, for example, a hydraulic cylinder.
[0068] The load detector 360 detects the load transmitted between the injection motor 350 and the screw 330. The detected load is converted into pressure by the control device 700. The load detector 360 is provided on the load transmission path between the injection motor 350 and the screw 330, and detects the load acting on the load detector 360.
[0069] The load detector 360 sends a signal of the detected load to the control device 700. The load detected by the load detector 360 is converted into pressure acting between the screw 330 and the molding material, and is used to control and monitor the pressure that the screw 330 receives from the molding material, the back pressure on the screw 330, the pressure that the screw 330 acts on the molding material, and the like.
[0070] The pressure detector for detecting the pressure of the molding material is not limited to the load detector 360, and a general detector can be used. For example, a nozzle pressure sensor or a mold internal pressure sensor may be used. The nozzle pressure sensor is installed in the nozzle 320. The mold internal pressure sensor is installed inside the mold device 800.
[0071] The injection device 300 performs a metering process, a filling process, a pressure holding process, etc. under the control of the control device 700. The filling process and the pressure holding process may be collectively referred to as the injection process.
[0072] In the metering process, the metering motor 340 is driven to rotate the screw 330 at a set rotational speed, and the molding material is sent forward along the spiral groove of the screw 330. As this happens, the molding material gradually melts. As the liquid molding material is sent forward to the screw 330 and accumulates at the front of the cylinder 310, the screw 330 is moved backward. The rotational speed of the screw 330 is detected, for example, using a metering motor encoder 341. The metering motor encoder 341 detects the rotation of the metering motor 340 and sends a signal indicating the detection result to the control device 700. Note that the screw rotational speed detector that detects the rotational speed of the screw 330 is not limited to the metering motor encoder 341, and a general one can be used.
[0073] In the metering process, in order to restrict abrupt retraction of the screw 330, the injection motor 350 may be driven to apply a set back pressure to the screw 330. The back pressure on the screw 330 is detected using, for example, a load detector 360. When the screw 330 retracts to the metering completion position and a predetermined amount of molding material accumulates in front of the screw 330, the metering process is completed.
[0074] The position and rotational speed of the screw 330 in the metering process are set together as a series of setting conditions. For example, a metering start position, a rotational speed switching position, and a metering completion position are set. These positions are arranged in this order from the front to the rear, and represent the start and end points of the section for which the rotational speed is set. The rotational speed is set for each section. There may be one or more rotational speed switching positions. The rotational speed switching position does not have to be set. In addition, a back pressure is set for each section.
[0075] In the filling process, the injection motor 350 is driven to move the screw 330 forward at a set moving speed, and the liquid molding material accumulated in front of the screw 330 is filled into the cavity space 801 in the mold device 800. The position and moving speed of the screw 330 are detected using, for example, an injection motor encoder 351. The injection motor encoder 351 detects the rotation of the injection motor 350 and sends a signal indicating the detection result to the control device 700. When the position of the screw 330 reaches a set position, a switch from the filling process to a pressure holding process (so-called V / P switch) is performed. The position at which the V / P switch is performed is also called the V / P switch position. The set moving speed of the screw 330 may be changed depending on the position of the screw 330, time, etc.
[0076] The position and movement speed of the screw 330 in the filling process are set together as a series of setting conditions. For example, a filling start position (also called an "injection start position"), a movement speed switching position, and a V / P switching position are set. These positions are arranged in this order from rear to front, and represent the start and end points of the section for which the movement speed is set. The movement speed is set for each section. There may be one or more movement speed switching positions. The movement speed switching position does not have to be set.
[0077] An upper limit value for the pressure of the screw 330 is set for each section in which the movement speed of the screw 330 is set. The pressure of the screw 330 is detected by a load detector 360. When the pressure of the screw 330 is equal to or lower than the set pressure, the screw 330 is advanced at the set movement speed. On the other hand, when the pressure of the screw 330 exceeds the set pressure, the screw 330 is advanced at a movement speed slower than the set movement speed so that the pressure of the screw 330 is equal to or lower than the set pressure, in order to protect the mold.
[0078] Note that after the position of the screw 330 reaches the V / P switching position during the filling process, the screw 330 may be temporarily stopped at the V / P switching position, and then V / P switching may be performed. Immediately before V / P switching, instead of stopping the screw 330, the screw 330 may be moved forward or backward at a slow speed. Furthermore, the screw position detector that detects the position of the screw 330 and the screw movement speed detector that detects the movement speed of the screw 330 are not limited to the injection motor encoder 351, and general detectors may be used.
[0079] In the dwelling step, the injection motor 350 is driven to push the screw 330 forward, maintaining the pressure of the molding material at the front end of the screw 330 (hereinafter also referred to as "holding pressure") at a set pressure, and pushing the molding material remaining in the cylinder 310 toward the mold device 800. This can replenish any molding material that is insufficient due to cooling contraction within the mold device 800. The holding pressure is detected, for example, using a load detector 360. The set value of the holding pressure may be changed depending on the elapsed time from the start of the dwelling step, etc. Multiple holding pressures and holding times for maintaining the holding pressure in the dwelling step may be set, or they may be set together as a series of setting conditions.
[0080] In the dwelling step, the molding material in the cavity space 801 in the mold device 800 is gradually cooled, and when the dwelling step is completed, the entrance to the cavity space 801 is blocked by the solidified molding material. This state is called a gate seal, and prevents the molding material from flowing back from the cavity space 801. After the dwelling step, the cooling step begins. In the cooling step, the molding material in the cavity space 801 is solidified. A metering step may be performed during the cooling step in order to shorten the molding cycle time.
[0081] The injection device 300 of this embodiment is of an in-line screw type, but may also be of a pre-plasticization type. A pre-plasticization type injection device supplies molding material molten in a plasticization cylinder to an injection cylinder, and injects the molding material from the injection cylinder into a mold device. A screw is disposed in the plasticization cylinder so that it can rotate freely but cannot move back and forth, or the screw is disposed so that it can rotate freely and move back and forth. Meanwhile, a plunger is disposed in the injection cylinder so that it can move back and forth.
[0082] Furthermore, although the injection unit 300 of this embodiment is a horizontal type in which the axial direction of the cylinder 310 is horizontal, it may be a vertical type in which the axial direction of the cylinder 310 is vertical. The mold clamping unit combined with the vertical injection unit 300 may be either a vertical type or a horizontal type. Similarly, the mold clamping unit combined with the horizontal injection unit 300 may be either a horizontal type or a vertical type.
[0083] (Mobile device) In the description of the moving device 400, similar to the description of the injection device 300, the moving direction of the screw 330 during filling (e.g., the negative X-axis direction) is defined as the front, and the moving direction of the screw 330 during metering (e.g., the positive X-axis direction) is defined as the rear.
[0084] The moving device 400 moves the injection device 300 forward and backward relative to the mold device 800. The moving device 400 also presses the nozzle 320 against the mold device 800 to generate nozzle touch pressure. The moving device 400 includes a hydraulic pump 410, a motor 420 as a drive source, a hydraulic cylinder 430 as a hydraulic actuator, and the like.
[0085] The hydraulic pump 410 has a first port 411 and a second port 412. The hydraulic pump 410 is a bidirectional pump, and by switching the rotation direction of the motor 420, it draws in hydraulic fluid (e.g., oil) from one of the first port 411 and the second port 412 and discharges it from the other, thereby generating hydraulic pressure. Note that the hydraulic pump 410 can also draw in hydraulic fluid from a tank and discharge it from either the first port 411 or the second port 412.
[0086] The motor 420 operates the hydraulic pump 410. The motor 420 drives the hydraulic pump 410 in a rotational direction and with a rotational torque according to a control signal from the control device 700. The motor 420 may be an electric motor or an electric servo motor.
[0087] The hydraulic cylinder 430 has a cylinder body 431, a piston 432, and a piston rod 433. The cylinder body 431 is fixed to the injection device 300. The piston 432 divides the interior of the cylinder body 431 into a front chamber 435 as a first chamber and a rear chamber 436 as a second chamber. The piston rod 433 is fixed to the fixed platen 110.
[0088] A front chamber 435 of the hydraulic cylinder 430 is connected to a first port 411 of the hydraulic pump 410 via a first flow path 401. The hydraulic fluid discharged from the first port 411 is supplied to the front chamber 435 via the first flow path 401, thereby pushing the injection unit 300 forward. The injection unit 300 is moved forward, and the nozzle 320 is pressed against the fixed mold 810. The front chamber 435 functions as a pressure chamber that generates nozzle touch pressure of the nozzle 320 by the pressure of the hydraulic fluid supplied from the hydraulic pump 410.
[0089] Meanwhile, the rear chamber 436 of the hydraulic cylinder 430 is connected to the second port 412 of the hydraulic pump 410 via the second flow path 402. The hydraulic fluid discharged from the second port 412 is supplied to the rear chamber 436 of the hydraulic cylinder 430 via the second flow path 402, thereby pushing the injection unit 300 backward. The injection unit 300 is moved backward, and the nozzle 320 is separated from the fixed mold 810.
[0090] In this embodiment, the moving device 400 includes the hydraulic cylinder 430, but the present invention is not limited to this. For example, instead of the hydraulic cylinder 430, an electric motor and a motion conversion mechanism that converts the rotational motion of the electric motor into the linear motion of the injection device 300 may be used.
[0091] (Control device) The control device 700 is configured, for example, by a computer, and as shown in FIGS. 1 and 2, includes a CPU (Central Processing Unit) 701, a storage medium 702 (an example of a storage unit) including a memory 706 and a non-volatile storage medium, an input interface 703, an output interface 704, a communication interface 705, and the memory 706. The control device 700 performs various controls by causing the CPU 701 to execute programs (e.g., an OS and control software 702A) stored in the storage medium 702 and using the memory 706 as a work area. The control device 700 also receives signals from the outside via the input interface 703 and transmits signals to the outside via the output interface 704. The control device 700 also transmits and receives information to and from an information processing device (e.g., a personal computer) connected via a network via the communication interface 705.
[0092] The control device 700 repeatedly manufactures molded products by repeating processes such as a metering process, mold closing process, pressure increase process, mold clamping process, filling process, pressure dwell process, cooling process, pressure release process, mold opening process, and ejection process. A series of operations required to obtain a molded product, such as the operations from the start of a metering process to the start of the next metering process, is also called a "shot" or "molding cycle." The time required for one shot is also called the "molding cycle time" or "cycle time."
[0093] One molding cycle includes, for example, a metering process, a mold closing process, a pressurization process, a mold clamping process, a filling process, a pressure holding process, a cooling process, a depressurization process, a mold opening process, and an ejection process, in this order. The order here refers to the order in which each process starts. The filling process, the pressure holding process, and the cooling process are performed during the mold clamping process. The start of the mold clamping process may coincide with the start of the filling process. The completion of the depressurization process coincides with the start of the mold opening process.
[0094] In addition, multiple processes may be performed simultaneously in order to shorten the molding cycle time. For example, the metering process may be performed during the cooling process of the previous molding cycle, or during the mold clamping process. In this case, the mold closing process may be performed at the beginning of the molding cycle. The filling process may be started during the mold closing process. The ejection process may be started during the mold opening process. If an on-off valve that opens and closes the flow path of the nozzle 320 is provided, the mold opening process may be started during the metering process. This is because even if the mold opening process is started during the metering process, the molding material will not leak from the nozzle 320 as long as the on-off valve closes the flow path of the nozzle 320.
[0095] Note that one molding cycle may include steps other than the metering step, mold closing step, pressure increase step, mold clamping step, filling step, pressure holding step, cooling step, pressure release step, mold opening step, and ejection step.
[0096] For example, after the dwelling step is completed and before the metering step begins, a pre-metering suck-back step may be performed in which the screw 330 is retracted to a preset metering start position. This can reduce the pressure of the molding material accumulated in front of the screw 330 before the metering step begins, and prevent the screw 330 from retracting suddenly at the start of the metering step.
[0097] Furthermore, after the metering step is completed and before the filling step begins, a post-metering suck-back step may be performed in which the screw 330 is retracted to a preset filling start position (also referred to as the "injection start position"). This can reduce the pressure of the molding material accumulated in front of the screw 330 before the filling step begins, and can prevent the molding material from leaking from the nozzle 320 before the filling step begins.
[0098] The control device 700 is connected to an operation device 750 that accepts input operations by a user and a display device 760 that displays a screen. The operation device 750 and the display device 760 may be integrated, for example, by using a touch panel 770. The touch panel 770 serving as the display device 760 displays a screen under the control of the control device 700. The screen of the touch panel 770 may display information such as settings of the injection molding machine 10 and the current status of the injection molding machine 10. The screen of the touch panel 770 may also display operation units such as buttons and input fields that accept input operations by the user. The touch panel 770 serving as the operation device 750 detects input operations on the screen by the user and outputs signals corresponding to the input operations to the control device 700. This allows, for example, a user to operate the operation units provided on the screen while checking information displayed on the screen to perform settings of the injection molding machine 10 (including input of setting values). The user can also operate the operation units provided on the screen to cause the injection molding machine 10 to perform operations corresponding to the operation units. The operation of the injection molding machine 10 may be, for example, the operation (including stopping) of the clamping device 100, the ejector device 200, the injection device 300, the moving device 400, etc. The operation of the injection molding machine 10 may also be the switching of a screen displayed on the touch panel 770 serving as the display device 760, etc.
[0099] Although the operation device 750 and the display device 760 of this embodiment have been described as being integrated as the touch panel 770, they may be provided independently. Also, a plurality of operation devices 750 may be provided. The operation device 750 and the display device 760 are disposed on the operation side (negative Y-axis direction) of the mold clamping unit 100 (more specifically, the fixed platen 110).
[0100] (First embodiment) FIG. 3 is a diagram showing the components of the control device 700 according to the first embodiment in the form of functional blocks. The functional blocks of the OS 711, first control software 720A, and second control software 720B included in the control device 700 shown in FIG. 3 are conceptual and do not necessarily have to be physically configured as shown. All or part of each functional block can be configured by functionally or physically distributing or integrating them in any unit. All or any part of the processing functions performed by each functional block are realized by a program executed by the CPU 701. Alternatively, each functional block may be realized as hardware using wired logic.
[0101] The OS 711 is basic software for controlling the control device 700, and is realized by being executed by the CPU 701 (an example of a control unit).
[0102] In the control device 700 according to this embodiment, the OS 711 executes control software 702A (an example of software for controlling industrial machinery) for controlling the injection molding machine 10, stored in the storage medium 702, twice. The control software 702A may be executed twice based on a user operation. Furthermore, a script describing processing for executing the control software 702A twice may be created in advance, and the OS 711 may execute the script. When the OS 711 executes the control software 702A twice, first control software 720A and second control software 720B are realized within the control device 700. Note that, although this embodiment describes an example in which the control software 702A is executed twice, the execution is not limited to two times, and the control software 702A may be executed three or more times.
[0103] In this way, the CPU 701 of this embodiment executes the control software 702A that controls the injection molding machine 10 at least twice, causing each of multiple identical control software (e.g., first control software 720A and second control software 720B) to perform processing.
[0104] That is, in this embodiment, the first control software 720A and the second control software 720B each perform processing. The first control software 720A and the second control software 720B perform the same processing at approximately the same timing. Of the processing executed by the first control software 720A and the second control software 720B, commands for only one of them are output to the outside of the control device 700.
[0105] Therefore, even if an abnormality occurs in either the first control software 720A or the second control software 720B, the other can control the injection molding machine 10. As a result, when an abnormality occurs in the control software, unlike in the conventional case, control can be continued without restarting the control software.
[0106] In this embodiment, one of the first control software 720A and the second control software 720B is set as "primary" and the other is set as "secondary." In the example shown in FIG. 3, the first control software 720A is set as "primary" and the second control software 720B is set as "secondary," but this is not a limitation. For example, the first control software 720A may be set as "secondary" and the second control software 720B may be set as "primary." Furthermore, the "primary" and "secondary" may be switched at any timing.
[0107] The first control software 720A and the second control software 720B according to this embodiment perform the same processing for operating the injection molding machine 10 at approximately the same timing. However, only one of them actually outputs commands to the hardware 780. In this embodiment, the control software set as "primary" actually outputs commands to the hardware 780.
[0108] That is, in this embodiment, the control software is run twice simultaneously. The control software set as "primary" actually controls the hardware 780. If an abnormality occurs in the software set as "primary," the "primary" setting is switched. Since the two control software perform the same processing almost simultaneously, it is possible for one to immediately take over the other's operations. Each configuration realized by the control device 700 will be described below.
[0109] The memory 706 has a first memory area 706A to which the first control software 720A reads and writes, and a second memory area 706B to which the second control software 720B reads and writes. In this embodiment, by separating the first memory area 706A and the second memory area 706B, even if an abnormality occurs in one of the memory areas, it is possible to continue controlling the injection molding machine 10 using the data stored in the other memory area. Note that in this embodiment, an example will be described in which the first memory area 706A and the second memory area 706B are set in different address areas in the actual memory 706, but the first memory area 706A and the second memory area 706B may also be provided on physically different memories.
[0110] Furthermore, the first memory area 706A and the second memory area 706B store the same data unless an abnormality occurs. Any method may be used to store the same data. For example, to store data received from the hardware 780, control software set to "primary" (e.g., first control software 720A) may transfer the data to control software set to "secondary" (e.g., second control software 720B). The control software that receives the data writes the data to a memory area. This achieves data duplication. In this embodiment, the same data is stored in the first memory area 706A and the second memory area 706B, making it easy to switch control software.
[0111] The first control software 720A and the second control software 720B are programs that run on the OS 711 and are programs for controlling the hardware 780 that the injection molding machine 10 includes.
[0112] The first control software 720A includes a display / input / output control unit 721A, an operation control unit 722A, a life / death status holding unit 723A, a life / death monitoring unit 724A, a primary / secondary switching unit 725A, a switching flag holding unit 726A, and a branch determination unit 727A. Each component of the first control software 720A uses a first memory area 706A in the memory 706 as a working area to perform various processes.
[0113] The display / input / output control unit 721A includes a communication control unit 731A, a display control unit 732A, and a self-diagnosis unit 733A, and controls the display of the injection molding machine 10 as well as the input and output of signals between the injection molding machine 10 and external devices, etc.
[0114] The communication control unit 731A transmits and receives information via the communication interface 705 to and from an external device connected via a network.
[0115] The display control unit 732A controls the display device 760 to display a screen.
[0116] The self-diagnosis unit 733A diagnoses whether the components (communication control unit 731A and display control unit 732A) within the display / input / output control unit 721A are operating normally. Any method, including well-known methods, may be used as the diagnosis method. For example, the self-diagnosis unit 733A may check whether each of the communication control unit 731A and the display control unit 732A is operating (whether it has been forcibly terminated by the OS 711) by referring to an address space or sending and receiving a signal, or may determine whether a notification indicating an abnormality has been received from each of the communication control unit 731A and the display control unit 732A.
[0117] This embodiment does not limit the abnormalities to be diagnosed. For example, it includes a case where the configuration in the display / input / output control unit 721A is forcibly terminated by the OS 711 because it attempts to refer to an invalid address area, or a case where the configuration in the display / input / output control unit 721A terminates abnormally. Furthermore, any abnormality may be detected as long as it is detectable by the self-diagnosis unit 733A.
[0118] The operation control unit 722A includes a sequence control unit 741A, a servo control unit 742A, and a self-diagnosis unit 743A, and controls the operation of the hardware of the injection molding machine 10.
[0119] The sequence control unit 741A controls the order in which the hardware 780 operates in the process currently being performed in the injection molding machine 10. In addition, the sequence control unit 741A inputs and outputs signals to and from other components in order to realize the operation in the process currently being performed in the injection molding machine 10.
[0120] The servo control unit 742A controls the operation of the actuator hardware 781 in accordance with control from the sequence control unit 741A. The actuator hardware 781 includes at least the metering motor 340 and the injection motor 350. Note that the actuator hardware 781 in this embodiment is an example of an actuator operated by the servo control unit 742A, and may be any actuator that is to be controlled by the control device 700.
[0121] Self-diagnosis unit 743A diagnoses whether the components within operation control unit 722A (sequence control unit 741A and servo control unit 742A) are operating normally. The diagnostic method is the same as that of self-diagnosis unit 733A, so a description thereof will be omitted.
[0122] The alive / dead status holding unit 723A holds information for determining whether the first control software 720A can control the hardware 780 of the injection molding machine 10. For example, the alive / dead status holding unit 723A may have a watchdog timer corresponding to each of the display / input / output control unit 721A and the operation control unit 722A. In this case, if the alive / dead status holding unit 723A does not receive a count-up clear request from each of the display / input / output control unit 721A and the operation control unit 722A within a predetermined time (e.g., a predetermined value T), the alive / dead status holding unit 723A can determine that an abnormality has occurred in either the display / input / output control unit 721A or the operation control unit 722A that did not clear the count-up. Note that this embodiment illustrates an example in which a watchdog timer is used as an example of determining whether each of the display / input / output control unit 721A and the operation control unit 722A is abnormal. However, the method for determining whether an abnormality exists is not limited thereto, and any other determination method may be used.
[0123] The alive / dead monitoring unit 724A accesses the alive / dead status holding unit 723B of the second control software 720B and monitors whether each component of the second control software 720B is able to control the hardware 780 or not.
[0124] Specifically, the alive / dead monitoring unit 724A references all watchdog timers held by the alive / dead status holding unit 723B of the second control software 720B and checks whether they have been counted up and cleared within a predetermined time (for example, a predetermined value T). If there is even one watchdog timer that has not been counted up and cleared within the predetermined time (for example, a predetermined value T), the alive / dead monitoring unit 724A determines that the second control software 720B is abnormal. If the alive / dead monitoring unit 724A determines that the second control software 720B is abnormal, it notifies the primary / secondary switching unit 725A of this fact.
[0125] The primary / secondary switching unit 725A controls switching between "primary" and "secondary" for the first control software 720A. Specifically, if "secondary" is set in the first control software 720A and the primary / secondary switching unit 725A receives a notification from the alive monitoring unit 724A that the second control software 720B is abnormal, the primary / secondary switching unit 725A rewrites the flag held in the switching flag holding unit 726A (described later) from "secondary" to "primary."
[0126] The switching flag storage unit 726A stores a “primary” flag or a “secondary” flag. The flag stored in the switching flag storage unit 726A may be stored in the memory 706 or the storage medium 702.
[0127] The branch judgment unit 727A judges whether or not to output the signals output from each of the display / input / output control unit 721A and the operation control unit 722A from the control device 700 to the outside (e.g., hardware 780) depending on the flag held by the switching flag holding unit 726A.
[0128] For example, if it is determined that the switching flag holding unit 726A holds a "primary" flag, the branch judgment unit 727A controls the signals output from each of the display / input / output control unit 721A and the operation control unit 722A to be output from the control device 700 to the outside (e.g., hardware 780).
[0129] On the other hand, if it is determined that the switching flag holding unit 726A holds a "secondary" flag, the branch judgment unit 727A controls the signals output from each of the display / input / output control unit 721A and the operation control unit 722A to be prevented from being output from the control device 700 to the outside (e.g., hardware 780).
[0130] The second control software 720B includes a display / input / output control unit 721B, an operation control unit 722B, a life / death status holding unit 723B, a life / death monitoring unit 724B, a primary / secondary switching unit 725B, a switching flag holding unit 726B, and a branch determination unit 727B. Each component of the second control software 720B uses a second memory area 706B in the memory 706 as a working area to perform various processes.
[0131] The display / input / output control unit 721B includes a communication control unit 731B, a display control unit 732B, and a self-diagnosis unit 733B, and controls the display of the injection molding machine 10 as well as the input and output of signals between the injection molding machine 10 and external devices.
[0132] Note that the communication control unit 731B, display control unit 732B, and self-diagnosis unit 733B in the second control software 720B perform the same processing as the communication control unit 731A, display control unit 732A, and self-diagnosis unit 733A in the first control software 720A, and therefore their explanations will be omitted.
[0133] The operation control unit 722B includes a sequence control unit 741B, a servo control unit 742B, and a self-diagnosis unit 743B, and controls the operation of the hardware of the injection molding machine 10.
[0134] Note that the sequence control unit 741B, servo control unit 742B, and self-diagnosis unit 743B in the second control software 720B perform the same processing as the sequence control unit 741A, servo control unit 742A, and self-diagnosis unit 743A in the first control software 720A, and therefore their explanations will be omitted.
[0135] The alive / dead status holding unit 723B holds information for determining whether the second control software 720B can control the hardware 780 of the injection molding machine 10. For example, the alive / dead status holding unit 723B may have a watchdog timer corresponding to each of the display / input / output control unit 721B and the operation control unit 722B. The processing performed by the alive / dead status holding unit 723B is similar to the processing performed by the alive / dead status holding unit 723A, and therefore a description thereof will be omitted.
[0136] The alive / dead monitoring unit 724B accesses the alive / dead status holding unit 723A of the first control software 720A and monitors whether each component of the first control software 720A is able to control the hardware 780 or not.
[0137] Specifically, the alive / dead monitoring unit 724B references all watchdog timers held by the alive / dead status holding unit 723A of the first control software 720A and checks whether they have been counted up and cleared within a predetermined time (for example, a predetermined value T). If there is even one watchdog timer that has not been counted up and cleared within the predetermined time (for example, a predetermined value T), the alive / dead monitoring unit 724B determines that the first control software 720A is abnormal. If the alive / dead monitoring unit 724B determines that the first control software 720A is abnormal, it notifies the primary / secondary switching unit 725B of this fact.
[0138] The primary / secondary switching unit 725B controls switching between "primary" and "secondary" for the second control software 720B. Specifically, when "secondary" is set for the second control software 720B and the primary / secondary switching unit 725B receives a notification from the alive monitoring unit 724B that the first control software 720A is abnormal, the primary / secondary switching unit 725B rewrites the flag held by the switching flag holding unit 726B (described later) from "secondary" to "primary."
[0139] The switching flag storage unit 726B stores a “primary” flag or a “secondary” flag. The flag stored in the switching flag storage unit 726B may be stored in the memory 706 or the storage medium 702.
[0140] The branch judgment unit 727B judges whether or not to output the signals output from each of the display / input / output control unit 721B and the operation control unit 722B from the control device 700 to the outside (e.g., hardware 780) depending on the flag held by the switching flag holding unit 726B.
[0141] For example, if it is determined that the switching flag holding unit 726B holds a "primary" flag, the branch judgment unit 727B controls the signals output from each of the display / input / output control unit 721B and the operation control unit 722B to be output from the control device 700 to the outside (e.g., hardware 780).
[0142] On the other hand, if it is determined that the switching flag holding unit 726B holds a "secondary" flag, the branch judgment unit 727B controls the signals output from each of the display / input / output control unit 721B and the operation control unit 722B to be prevented from being output from the control device 700 to the outside (e.g., hardware 780).
[0143] In other words, the branch determination units 727A and 727B perform control to output an instruction when the "primary" flag is set, and perform control to suppress output of an instruction when the "secondary" flag is set. The control device 700 according to this embodiment adjusts so that the "primary" flag is set in one of them and the "secondary" flag is set in the other.
[0144] This makes it possible for any one of the multiple identical control software (first control software 720A and second control software 720B) running on the control device 700 according to this embodiment to output a command for performing a molding operation of the injection molding machine 10. Furthermore, even when multiple control software (first control software 720A and second control software 720B) are executed, it is possible to prevent multiple commands from being output to the hardware 780 of the injection molding machine 10. Therefore, it is possible to prevent confusion caused by the hardware 780 of the injection molding machine 10 receiving multiple commands, and to respond appropriately to the commands from the control device 700.
[0145] In this embodiment, the first control software 720A has an alive monitoring unit 724A that monitors the second control software 720B, and the second control software 720B has an alive monitoring unit 724B that monitors the first control device 72A, so that they monitor each other for abnormalities. This allows the first control software 720A and the second control software 720B to recognize an abnormality that has occurred in the other control software. In other words, one control software that is not experiencing an abnormality can recognize an abnormality in the other control software.
[0146] In the first control software 720A and the second control software 720B (each an example of a plurality of identical software) according to this embodiment, when the alive / dead monitoring unit 724A or the alive / dead monitoring unit 724B determines that an abnormality has occurred in the other control software, if the control software has not output a command, the branch determination units 727A and 727B start outputting a command. Therefore, by starting output of a command, the first control software 720A and the second control software 720B according to this embodiment can prevent the abnormal control software from continuing to perform control and allow the normal control software to take over control of the injection molding machine 10. Since the control software already running takes over the control, the time required for switching the control software can be reduced. In other words, the output of commands can be taken over without the time required for switching the control software, thereby improving safety.
[0147] As described above, the first control software 720A and the second control software 720B according to this embodiment mutually monitor each other for abnormalities. If an abnormality occurs in the control software set as "primary," the control software set as "secondary" recognizes the abnormality and performs control so as to switch over to "primary."
[0148] Next, a description will be given of the processing that is performed when an abnormality occurs in the "primary" first control software 720A while the first control software 720A and the second control software 720B according to this embodiment are monitoring each other. Fig. 4 is a sequence diagram showing the flow of processing that is performed by the first control software 720A and the second control software 720B when an abnormality occurs in the first control software 720A in this embodiment.
[0149] First, the self-diagnosis unit 743A of the operation control unit 722A checks whether or not there is an abnormality in each component (for example, the sequence control unit 741A) within the operation control unit 722A (S1401). In S1401, the self-diagnosis unit 743A determines that the sequence control unit 741A is normal.
[0150] 4, the self-diagnosis unit 743A checks whether there is an abnormality in the sequence control unit 741A. The self-diagnosis unit 743A checks not only the sequence control unit 741A but also all the components in the operation control unit 722A, including the servo control unit 742A. The self-diagnosis unit 733A of the display / input / output control unit 721A also checks whether there is an abnormality in all the components in the display / input / output control unit 721A. Furthermore, the self-diagnosis unit 733B and the self-diagnosis unit 743B in the second control software 720B also perform similar checks, so their explanations will be omitted.
[0151] Self-diagnosis section 743A of operation control section 722A determines that each component is normal, and therefore instructs life-or-death status holding section 723A to clear the count of the watchdog timer held by life-or-death status holding section 723A (S1402).
[0152] The alive-or-death monitoring unit 724B of the second control software 720B refers to the count of the watchdog timer held by the alive-or-death status holding unit 723A of the first control software 720A (S1403). Since the count has been cleared, the alive-or-death monitoring unit 724B of the second control software 720B determines that the system is normal (S1404).
[0153] Thereafter, the sequence control unit 741A abnormally terminates (S1405). Note that the manner of abnormal termination is not particularly limited, and any manner may be used.
[0154] The self-diagnosis unit 743A of the operation control unit 722A checks whether or not there is an abnormality in each component (for example, the sequence control unit 741A) in the operation control unit 722A (S1406). Then, the self-diagnosis unit 743A determines that an abnormality has occurred in the sequence control unit 741A (S1407).
[0155] Self-diagnosis unit 743A of operation control unit 722A stops clearing the count of the watchdog timer held by alive / dead status holding unit 723A (S1408). As a result, alive / dead status holding unit 723A recognizes that an abnormal state exists within operation control unit 722A because the count of the watchdog timer is not cleared within a predetermined time (for example, a predetermined value T).
[0156] The alive / dead status holding unit 723A determines that an abnormal state has occurred because the count was not cleared, and requests the primary / secondary switching unit 725A to update the flag (S1409).
[0157] In response to the update request from the alive status holding unit 723A, the primary / secondary switching unit 725A switches the flag held by the switching flag holding unit 726A from "primary" to "secondary" (S1410).
[0158] The branch determination unit 727A refers to the flag held by the switching flag holding unit 726A (S1411). When the branch determination unit 727A refers to the "secondary" flag, it stops output of signals from each of the display / input / output control unit 721A and the operation control unit 722A to the hardware 780 (S1412).
[0159] Meanwhile, the alive-or-death monitoring unit 724B of the second control software 720B refers to the count of the watchdog timer held by the alive-or-death status holding unit 723A of the first control software 720A (S1413). The alive-or-death monitoring unit 724B of the second control software 720B determines that the count has not been cleared, indicating an abnormality (S1414).
[0160] The alive monitoring unit 724B of the second control software 720B requests the primary / secondary switching unit 725B to update the flag (notify of an abnormality) (S1415).
[0161] In response to the update request from the alive status holding unit 723B, the primary / secondary switching unit 725B switches the flag held by the switching flag holding unit 726B from "secondary" to "primary" (S1416).
[0162] The branch determination unit 727B refers to the flag held by the switching flag holding unit 726B (S1417). When the branch determination unit 727B refers to the "primary" flag, it starts outputting signals from each of the display / input / output control unit 721B and the operation control unit 722B to the hardware 780 (S1418).
[0163] In this embodiment, the first control software 720A and the second control software 720B monitor each other and switch between "primary" and "secondary" as necessary, so that the normal control software out of the first control software 720A and the second control software 720B can control the operation of the injection molding machine 10. This prevents abnormalities in molding operations caused by control by abnormal control software, and allows the abnormal control software to be quickly switched to normal control software, thereby preventing time when the control software is not performing control and improving safety.
[0164] Furthermore, in the injection molding machine 10 according to this embodiment, if the control software is switched while a molding operation is being performed, there is a possibility that a deviation will occur in the control of the molding operation based on the switch.
[0165] Therefore, in this embodiment, when the output of commands to the hardware 780 of the injection molding machine 10 is switched from the first control software 720A to the second control software 720B (an example of the other control software) based on the result of determining that an abnormality has occurred in the first control software 720A (an example of one of the control software) of the first control software 720A and the second control software 720B, the display control unit 732A of the second control software 720B outputs to the display device 760 a message that the molded product being molded at the time of the switch is a defective product.
[0166] In this embodiment, the output of the information that the molded product is defective is not limited to the display device 760, and when the storage medium 702 holds information about the molded product, the display / input / output control units 721A, 721B may write to the information that the molded product molded at the time of switching is defective. In this embodiment, the output of the information that the molded product is defective is not limited to the display device 760 and the storage medium 702, and may be output to other devices. By outputting the information that the molded product molded at the time of switching is defective, it is possible to remove molded products that have developed abnormalities due to the switching of the control software, thereby improving the quality of molded products.
[0167] (Second embodiment) In the first embodiment, an example was described in which the first control software 720A and the second control software 720B each have a configuration for monitoring whether an abnormality has occurred, thereby realizing mutual monitoring. However, this is not limited to the method of monitoring to determine whether an abnormality has occurred, and each configuration may make its own determination as to whether an abnormality has occurred. Therefore, in the second embodiment, a case in which each configuration makes its own determination will be described. Note that the configuration of the control device 700 according to the second embodiment is the same as that of the first embodiment, and therefore a description thereof will be omitted.
[0168] Each of the components (one example of each of the multiple identical software) that are elements of the first control software 720A and the second control software 720B according to this embodiment determines whether an abnormality has occurred in its own software. In this embodiment, by determining whether an abnormality has occurred in its own software, it is possible to properly detect an abnormality that cannot be confirmed by other software, and to quickly switch control software in response to the abnormality. As a result, this embodiment can achieve improved safety. Next, a specific configuration will be described.
[0169] In this embodiment, when it is determined that an abnormality has occurred in each of the first control software 720A and second control software 720B components, the component notifies the corresponding self-diagnosis unit 733A, 743A, 733B, or 743B that an abnormality has occurred.
[0170] An abnormality determined by each component may be, for example, an abnormality in the information stored in the first memory area 706A or the second memory area 706B. For example, if a value stored in the first memory area 706A is updated to an abnormal value due to noise or the like, the component that referenced that value notifies the self-diagnosis units 733A and 743A that an abnormality has occurred. In this embodiment, when such a notification is made, processing is performed to switch between "primary" and "secondary."
[0171] FIG. 5 is a sequence diagram showing the flow of processing performed by the first control software 720A and the second control software 720B when an abnormality occurs in the first control software 720A in this embodiment.
[0172] First, the sequence control unit 741A detects an abnormality from the information read from the first memory area 706A (S1501). For example, it may be that the read value is "452" even though the range of values is "0" to "100".
[0173] Then, the sequence control unit 741A notifies the self-diagnosis unit 743A that an abnormality has occurred (S1502).
[0174] 5 shows a case where an abnormality exists in the value read by the sequence control unit 741A. The configuration for notifying when an abnormality exists in the read value is not limited to the sequence control unit 741A, but may be any configuration within the operation control unit 722A and the display / input / output control unit 721A. Furthermore, the configuration within the operation control unit 722B and the display / input / output control unit 721B within the second control software 720B can also perform similar processing.
[0175] Then, the self-diagnosis unit 743A determines that an abnormality has occurred in the sequence control unit 741A (S1503).
[0176] Self-diagnosis unit 743A stops clearing the count of the watchdog timer held by alive / dead status holding unit 723A (S1504). As a result, alive / dead status holding unit 723A recognizes that an abnormal state exists within operation control unit 722A because the count of the watchdog timer has not been cleared within a predetermined time (for example, a predetermined value T).
[0177] The subsequent processing steps S1505 to S1514 until the second control software 720B starts outputting a signal are the same as steps S1409 to S1418 in FIG. 4, and therefore a description thereof will be omitted.
[0178] In this embodiment, the case where the value read from the first memory area 706A is an abnormal value has been described. However, this embodiment does not limit the conditions for determining that each component is abnormal to when the read value is an abnormal value (not within a preset range), in other words, when an abnormality occurs in the first memory area 706A. In this embodiment, any abnormality is acceptable as long as the criteria are such that each component of the control software can be determined to be abnormal by self-diagnosis.
[0179] In this embodiment, an abnormality is detected based on the results of self-diagnosis by the internal configuration of the first control software 720A and the second control software 720B, and the control software is switched between "primary" and "secondary." In this embodiment, by performing the control described above, in addition to the effects shown in the first embodiment, it is possible to switch the control software even if an abnormality that cannot be recognized from outside the configuration occurs. This improves the stability of the molding operation performed in the injection molding machine 10.
[0180] (Third embodiment) In the above-described embodiment, an example has been described in which each piece of control software monitors whether an abnormality has occurred. However, the above-described embodiment is not limited to a method in which the control software performs monitoring. Therefore, in the third embodiment, an example in which a separate configuration for monitoring is provided will be described.
[0181] FIG. 6 is a functional block diagram illustrating components of a control device 700 according to a third embodiment. The functional blocks of the OS 711, first control software 720C, second control software 720D, and handler 728 included in the control device 700 shown in FIG. 6 are conceptual and do not necessarily have to be physically configured as shown. All or part of each functional block can be functionally or physically distributed or integrated in any unit. All or any part of the processing functions performed by each functional block are implemented by a program executed by the CPU 701. Alternatively, each functional block may be implemented as hardware using wired logic. Note that, among the components included in the control device 700 according to the third embodiment, components similar to those in the first embodiment are assigned the same reference numerals, and descriptions thereof will be omitted.
[0182] In the control device 700 according to this embodiment, the OS 711 executes twice the control software 702A that controls the injection molding machine 10 and is stored in the storage medium 702. When the OS 711 executes the control software 702A twice, first control software 720C and second control software 720D are realized in the control device 700. Furthermore, when the OS 711 executes a program related to a handler that is stored in the storage medium 702, a first handler 728 is realized in the control device 700.
[0183] In this embodiment, either the first control software 720C or the second control software 720D is set as "primary" and the other is set as "secondary." In the example shown in FIG. 6, the first control software 720C is set as "primary" and the second control software 720D is set as "secondary," but this is not a limitation. For example, the first control software 720C may be set as "secondary" and the second control software 720D may be set as "primary." Furthermore, the "primary" and "secondary" may be switched at any time.
[0184] The first control software 720C and the second control software 720D according to this embodiment perform the same processing for operating the injection molding machine 10 at approximately the same timing. However, only one of them actually outputs commands to the hardware 780. In this embodiment, the control software set as "primary" actually outputs commands to the hardware 780.
[0185] The first control software 720C and the second control software 720D are programs that run on the OS 711 and are programs for controlling the hardware 780 that the injection molding machine 10 includes.
[0186] The first control software 720C includes a display / input / output control unit 721A, an operation control unit 722A, a life / death status holding unit 723C, a primary / secondary switching unit 725C, a switching flag holding unit 726C, and a branch determination unit 727A. Each component of the first control software 720A uses a first memory area 706A in the memory 706 as a working area to perform various processes.
[0187] The alive status holding unit 723C holds information indicating whether the first control software 720C can control the hardware 780 of the injection molding machine 10. For example, similar to the above-described embodiment, the alive status holding unit 723C may have a watchdog timer corresponding to each of the display / input / output control unit 721A and the operation control unit 722A.
[0188] The primary / secondary switching unit 725C controls the switching between "primary" and "secondary" of the first control software 720C based on a switching request from the handler 728.
[0189] The switching flag storage unit 726C stores a "primary" flag or a "secondary" flag.
[0190] Then, as in the first embodiment, the branch judgment unit 727A switches whether or not to output the signals output from each of the display / input / output control unit 721A and the operation control unit 722A from the control device 700 to the outside (e.g., hardware 780) depending on the flag held by the switching flag holding unit 726C.
[0191] The second control software 720D includes a display / input / output control unit 721B, an operation control unit 722B, a life / death status holding unit 723D, a primary / secondary switching unit 725D, a switching flag holding unit 726D, and a branch determination unit 727B. Each component of the second control software 720D uses a second memory area 706B in the memory 706 as a working area to perform various processes.
[0192] The vital status holding unit 723D holds information indicating whether the second control software 720B can control the hardware 780 of the injection molding machine 10. For example, similar to the above-described embodiment, the vital status holding unit 723D may have a watchdog timer corresponding to each of the display / input / output control unit 721B and the operation control unit 722B.
[0193] The primary / secondary switching unit 725D controls the switching between "primary" and "secondary" of the second control software 720D based on a switching request from the handler 728.
[0194] The switching flag storage unit 726D stores a "primary" flag or a "secondary" flag.
[0195] Then, as in the first embodiment, the branch judgment unit 727B switches whether or not to output the signals output from each of the display / input / output control unit 721B and the operation control unit 722B from the control device 700 to the outside (e.g., hardware 780) depending on the flag held by the switching flag holding unit 726D.
[0196] The handler 728 (an example of a monitoring unit) includes an alive monitoring unit 724E and a switching request unit 729, and monitors whether or not an abnormality has occurred in each of the first control software 720C and the second control software 720D.
[0197] The alive monitoring unit 724E monitors whether or not an abnormality has occurred in each of the first control software 720C and the second control software 720D, in other words, whether or not the hardware 780 is controllable.
[0198] Specifically, the alive / dead monitoring unit 724E accesses the alive / dead status holding unit 723C of the first control software 720C, and monitors whether each component of the first control software 720C is able to control the hardware 780. Similarly, the alive / dead monitoring unit 724E accesses the alive / dead status holding unit 723D of the second control software 720D, and monitors whether each component of the second control software 720D is able to control the hardware 780.
[0199] Specifically, the alive / dead monitoring unit 724E refers to all watchdog timers held by the alive / dead status holding unit 723C of the first control software 720C, and also refers to all watchdog timers held by the alive / dead status holding unit 723D of the second control software 720D, and checks whether all watchdog timers have been counted up and cleared within a predetermined time (for example, a predetermined value T).
[0200] Then, the alive / dead monitoring unit 724E determines that the first control software 720C is abnormal if there is even one watchdog timer among all the watchdog timers held by the alive / dead status holding unit 723C of the first control software 720C that has not been counted up and cleared within a predetermined time (for example, a predetermined value T).
[0201] If the alive monitoring unit 724E determines that the first control software 720C is abnormal, it notifies the switching request unit 729 that the first control software 720C is abnormal.
[0202] Furthermore, the alive / dead monitoring unit 724E determines that the second control software 720D is abnormal if there is at least one watchdog timer among all the watchdog timers held by the alive / dead status holding unit 723D of the second control software 720D that has not been counted up and cleared within a predetermined time (for example, a predetermined value T).
[0203] When the alive monitoring unit 724E determines that the second control software 720D is abnormal, it notifies the switching request unit 729 that the second control software 720D is abnormal.
[0204] In response to the notification from the alive monitoring unit 724E, the switching request unit 729 transmits a request to each of the control software 720C and 720D to switch between "primary" and "secondary".
[0205] For example, if the switching request unit 729 receives a notification that the first control software 720C is abnormal while the first control software 720C is in the "primary" state, it sends a switching request to the primary / secondary switching unit 725C of the first control software 720C and the primary / secondary switching unit 725D of the second control software 720D. As a result, the second control software 720D becomes the "primary" and the first control software 720C becomes the "secondary" state, allowing the molding process to continue.
[0206] Similarly, if the switching request unit 729 receives a notification that the second control software 720D is abnormal while the second control software 720D is in the "primary" state, it sends a switching request to the primary / secondary switching unit 725C of the first control software 720C and the primary / secondary switching unit 725D of the second control software 720D. As a result, the first control software 720C becomes the "primary" and the second control software 720D becomes the "secondary" state, allowing the molding process to continue.
[0207] Next, a description will be given of the processing that is performed when an abnormality occurs in the "primary" first control software 720A while the handler 728 according to this embodiment is monitoring the first control software 720C and the second control software 720D. Fig. 7 is a sequence diagram showing the flow of processing that is performed by the first control software 720C, the second control software 720D, and the handler 728 according to this embodiment when an abnormality occurs in the first control software 720C.
[0208] First, the sequence control unit 741A terminates abnormally (S1701).
[0209] The self-diagnosis unit 743A of the operation control unit 722A checks whether or not there is an abnormality in each component (for example, the sequence control unit 741A) in the operation control unit 722A (S1702). Then, the self-diagnosis unit 743A determines that the sequence control unit 741A is abnormal (S1703).
[0210] The self-diagnosis unit 743A of the operation control unit 722A stops clearing the count of the watchdog timer held by the alive / dead status holding unit 723C (S1704). As a result, the alive / dead status holding unit 723C recognizes that an abnormal state exists within the operation control unit 722A because the count of the watchdog timer has not been cleared within a predetermined time (for example, a predetermined value T).
[0211] The alive / dead monitoring unit 724E of the handler 728 references the alive / dead status holding unit 723C of the first control software 720C and the alive / dead status holding unit 723D of the second control software 720D (S1705). The alive / dead monitoring unit 724E determines that the count has not been cleared in the watchdog timer of the alive / dead status holding unit 723C of the first control software 720C, and that this is an abnormality (S1706).
[0212] The alive monitoring unit 724E notifies the switching request unit 729 that the first control software 720C is abnormal (S1707). When the switching request unit 729 receives the notification, it determines that the first control software 720C is the "primary" and therefore switching between the "primary" and the "secondary" is necessary.
[0213] The switching request unit 729 requests the primary / secondary switching unit 725C of the first control software 720C to update the flag (S1708).
[0214] In response to the update request, the primary / secondary switching unit 725C of the first control software 720C switches the flag held in the switching flag holding unit 726C from "primary" to "secondary" (S1709).
[0215] The branch determination unit 727A of the first control software 720C refers to the flag held by the switching flag holding unit 726C (S1710). When the branch determination unit 727A refers to the "secondary" flag, it stops output of signals from each of the display / input / output control unit 721A and the operation control unit 722A to the hardware 780 (S1711).
[0216] The switching request unit 729 also requests the primary / secondary switching unit 725D of the second control software 720D to update the flag (S1712).
[0217] In response to the update request, the primary / secondary switching unit 725D switches the flag held in the switching flag holding unit 726D from "secondary" to "primary" (S1713).
[0218] The branch determination unit 727B of the second control software 720D refers to the flag held by the switching flag holding unit 726D (S1714). When the branch determination unit 727B refers to the "primary" flag, it starts outputting signals from each of the display / input / output control unit 721D and the operation control unit 722D to the hardware 780 (S1715).
[0219] In this embodiment, the handler 728 monitors the first control software 720C and the second control software 720D and switches between "primary" and "secondary" as necessary, so that the normal control software out of the first control software 720C and the second control software 720D can control the operation of the injection molding machine 10. This prevents abnormalities in molding operations caused by control by abnormal control software, and allows the abnormal control software to be quickly switched to normal control software, thereby preventing time when the control software is not performing control and improving safety.
[0220] Furthermore, in this embodiment, a configuration for monitoring whether or not an abnormality has occurred is provided as a handler 728 separate from the control software. This allows the handler 728 to properly detect the abnormality even if an abnormality occurs in the control software and normal operation becomes impossible.
[0221] The abnormality detected by the handler 728 according to this embodiment is not limited to an abnormal termination of the control software configuration, but includes any abnormality that can be detected by the handler 728.
[0222] The abnormality detection described in the above embodiment is shown as an example, and any abnormality may be detected, regardless of whether it is a software abnormality or a hardware abnormality.
[0223] In the above-described embodiment, an example of executing control software 702A was described as an example of software for controlling industrial machinery, but the software for controlling industrial machinery is not limited to control software 702A that controls the operation of injection molding machine 10, and may be any software for controlling industrial machinery.
[0224] In the above-described embodiment, the control device 700 executes the control software multiple times, so that each of the multiple control software programs performs processing for controlling the operation of the injection molding machine 10 at approximately the same timing, thereby providing redundancy to the control software.
[0225] In the above-described embodiment, a case where each of the multiple control software programs performs processing at approximately the same timing has been described. However, the above-described embodiment is not limited to a case where the processing performed by the multiple control software programs is performed at approximately the same timing. For example, among the multiple control software programs, the control software set as "secondary" may perform processing at a timing slightly delayed compared to the control software set as "primary." The delay time is determined according to the implementation. In this way, if the "primary" control software abnormally terminates and is no longer able to output commands, the command can be output by immediately switching the control software.
[0226] In the above-described embodiment, an example in which one of the plurality of control software programs outputs a command has been described. However, the above-described embodiment is not limited to the aspect in which one of the plurality of control software programs outputs a command, and each of the plurality of control software programs may output a command. For example, if the hardware 780 receives the same command multiple times from the plurality of control software programs at approximately the same time, it is conceivable that the processing corresponding to the command is performed only once.
[0227] Furthermore, in the above-described embodiment, if an abnormality occurs in one of the plurality of control software, the other control software can take over operational control of the injection molding machine 10. This stabilizes the molding operation of the injection molding machine 10 and reduces the time during which the control software is not in control, thereby improving safety.
[0228] While the embodiments of the injection molding machine according to the present invention have been described above, the present invention is not limited to the above-described embodiments. Various changes, modifications, substitutions, additions, deletions, and combinations are possible within the scope of the claims. These changes also naturally fall within the technical scope of the present invention. [Explanation of symbols]
[0229] 10 injection molding machine 700 control device 702 Storage medium 702A Control Software 706 memory 706A First memory area 706B Second memory area 720A, 720C 1st control software 720B, 720D Second Control Software 721A, 721B Display and input / output control unit 722A, 722B Operation control section 723A, 723B, 723C, 723D Life and death status maintenance section 724A, 724B, 724E Life and Death Monitoring Department 725A, 725B, 725C, 725D Primary / Secondary Switching Unit 726A, 726B, 726C, 726C switching flag holding section 727A, 727B Branching decision section 728 Handler 729 Switching request section 731A, 731B communication control unit 732A, 732B Display control unit 733A, 733B Self-diagnosis section 741A, 741B sequence control unit 742A, 742B Servo control unit 743A, 743B Self-diagnosis section
Claims
1. a first storage unit that stores first software for controlling an industrial machine that repeatedly performs a molding operation; a second storage unit that stores second software identical to the first software; a control unit that causes each of the first software and the second software to perform processing and causes one of the first software and the second software to output a command for performing a forming operation of the industrial machine, when it is determined that an abnormality has occurred in one of the first software and the second software, the software that outputs the command is switched from the one software to the other software, and at the timing of switching to the other software, information is output to an outside of the control unit. Industrial machinery control devices.
2. The first software and the second software monitor each other to see if an abnormality has occurred. The control device for industrial machinery according to claim 1.
3. A monitoring unit that monitors whether or not an abnormality occurs in the first software and the second software, The control device for industrial machinery according to claim 1 further comprising:
4. Each of the first software and the second software determines whether an abnormality has occurred in its own software. The control device for industrial machinery according to claim 1.
5. A method for controlling an industrial machine that repeatedly performs forming operations, comprising: the industrial machine comprises a first storage unit that stores first software for controlling the industrial machine that repeatedly performs a molding operation, and a second storage unit that stores second software that is identical to the first software, causing each of the first software and the second software to perform processing, and causing one of the first software and the second software to output a command for performing a forming operation of the industrial machine; When it is determined that an abnormality has occurred in one of the first software and the second software, the software that outputs the command is switched from the one software to the other software, and at the timing of switching to the other software, information is output to an outside of a control unit that performs the control method. The method for controlling industrial machinery.
Citation Information
Patent Citations
Redundant controller
JP2012208706A
Cloud service control device, cloud service control system, cloud service control method, cloud service control program and recording medium
JP2018112829A
Numerical control device and device included in industrial machine
JP2019049917A
Software update system for components of work machines and software update method
JP2021135777A