A timing chart generation program, a timing chart generation device, an auxiliary system, and a timing chart generation method

By using a computer system to automatically generate timing diagrams using the control program and time length information of a programmable controller, the problem of information preparation burden for users when generating timing diagrams is solved, and the generation efficiency is improved.

CN121444025BActive Publication Date: 2026-08-04MITSUBISHI ELECTRIC CORP
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
MITSUBISHI ELECTRIC CORP
Filing Date
2023-08-31
Publication Date
2026-08-04

AI Technical Summary

Technical Problem

In existing technologies, when generating timing diagrams, users need to pre-input information about the sequential and subordinate relationships of device actions, which is a significant preparation burden and leads to excessive workload.

Method used

The timing diagram is generated automatically by using a computer system and the control program and time length information of a programmable controller, reducing the workload of users in preparing information.

Benefits of technology

It reduces the burden on users when generating sequence diagrams, omits some information preparation work, and improves generation efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121444025B_ABST
    Figure CN121444025B_ABST
Patent Text Reader

Abstract

The program causes the auxiliary device (10) to function as: an acquisition section (120) that acquires a control program (12) executed by a PLC for controlling a device and time length information (114) related to a time length of an action of the device prescribed in the control program; a generation section (140) that generates a time chart of the action based on the control program (12) and the time length information (114); and an interface section (170) that outputs display data for displaying the generated time chart.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to a timing diagram generation program, a timing diagram generation apparatus, an auxiliary system, and a timing diagram generation method. Background Technology

[0002] In the field of Factory Automation (FA), there is a desire to improve productivity by referring to sequence diagrams. However, drawing sequence diagrams is a tedious and labor-intensive task. Therefore, a technology for automatically generating sequence diagrams to some extent has been proposed (for example, see Patent Document 1).

[0003] Existing technical documents

[0004] Patent documents

[0005] Patent Document 1: Japanese Patent Application Publication No. 2021-149609 Summary of the Invention

[0006] The problem that the invention aims to solve

[0007] In the technology of Patent Document 1, the user needs to pre-input the information required to generate the timing diagram, specifically the temporal sequence and subordination of the device's actions. The burden of preparing such information remains, leaving room for further reduction.

[0008] This disclosure was made under the above circumstances, and its purpose is to further reduce the burden on users when generating timing diagrams.

[0009] Methods for solving problems

[0010] To achieve the above objectives, the timing diagram generation program of this disclosure enables a computer to function as the following units: an acquisition unit that acquires the control program executed by the programmable controller to control the controlled device and time length information related to the duration of the actions of the controlled device specified in the control program; a generation unit that generates a timing diagram of the actions based on the control program and the time length information; and an output unit that outputs display data for displaying the generated timing diagram.

[0011] Invention Effects

[0012] According to this disclosure, the control program used to control the device is used to generate the timing diagram. Therefore, a portion of the user's work in preparing information specifically for generating the timing diagram can be omitted. Thus, the user's burden in generating the timing diagram can be further reduced. Attached Figure Description

[0013] Figure 1 This is a diagram showing the structure of the first example of the auxiliary system according to Embodiment 1.

[0014] Figure 2 This is a second example of the structure of the auxiliary system according to Embodiment 1.

[0015] Figure 3 This is a diagram showing a first example of the configuration of the device according to Embodiment 1.

[0016] Figure 4 This is a diagram illustrating an example of a timing diagram for Embodiment 1.

[0017] Figure 5 This is a diagram illustrating an example of the control program of Implementation Method 1.

[0018] Figure 6 This is a diagram showing the hardware structure of the auxiliary device in Embodiment 1.

[0019] Figure 7 This is a diagram showing the functional structure of the auxiliary device according to Embodiment 1.

[0020] Figure 8 This is a diagram illustrating an example of device data in Embodiment 1.

[0021] Figure 9 This is a diagram illustrating an example of time length information in Implementation 1.

[0022] Figure 10 This is a flowchart illustrating the timing diagram generation process of Implementation 1.

[0023] Figure 11 This is a diagram showing an example of a screen displayed by an auxiliary device in Embodiment 1.

[0024] Figure 12 This is a diagram illustrating an example of the fluctuations in the operation of Embodiment 1.

[0025] Figure 13 This is a diagram illustrating an example of the temporal causal relationship in Embodiment 1.

[0026] Figure 14 This is a diagram illustrating an example of the conditional causal relationship in Implementation 1.

[0027] Figure 15 Figure 1 is a modified example showing a timing diagram of Embodiment 1.

[0028] Figure 16 This is a diagram illustrating a modification example of the control content in Implementation 1.

[0029] Figure 17 This is a diagram showing a second example of the configuration of the device according to Embodiment 1.

[0030] Figure 18Figure 2 is a modified example showing the timing diagram of Embodiment 1.

[0031] Figure 19 This is a diagram illustrating an example of interlocking in Implementation 1.

[0032] Figure 20 This is a diagram showing a setting example related to the control program in Implementation Method 1.

[0033] Figure 21 This is a diagram illustrating an example of a unit comprising an actuator assembly according to Embodiment 1.

[0034] Figure 22 This is a diagram illustrating a modified example of the control program in Implementation Method 2.

[0035] Figure 23 This is a diagram showing a modified example of the timing diagram of Embodiment 2.

[0036] Figure 24 This is a diagram showing the first example of the parameter derivation in Implementation 2.

[0037] Figure 25 This is a diagram showing a second example related to the derivation of parameters in Embodiment 2.

[0038] Figure 26 This is a diagram showing a third example related to the derivation of parameters in Embodiment 2.

[0039] Figure 27 This is a diagram showing an example of a timing diagram of Embodiment 2.

[0040] Figure 28 This is a diagram illustrating an additional example of interlocking in Embodiment 2.

[0041] Figure 29 This is a diagram showing an example of editing the timing diagram of Implementation Method 2.

[0042] Figure 30 This is a diagram showing the first example of embodiment 3.

[0043] Figure 31 This is a diagram showing a second example of embodiment 3.

[0044] Figure 32 This is a diagram showing the third example of embodiment 3.

[0045] Figure 33 This is a diagram showing the fourth example of embodiment 3.

[0046] Figure 34 This is a diagram showing an example of a screen displaying Embodiment 3.

[0047] Figure 35 This is a diagram illustrating the first example of the improvement measures in Implementation 4.

[0048] Figure 36 This is a diagram illustrating the second example of the improvement measures in Implementation 4.

[0049] Figure 37 This is a diagram illustrating the third example of the improvement measures in Implementation 4.

[0050] Figure 38 This is a diagram illustrating the fourth example of the improvement measures in Implementation 4.

[0051] Figure 39 This is a diagram illustrating the fifth example of the improvement measures for implementation method 4.

[0052] Figure 40 This is a diagram illustrating the sixth example of the improvement measures for implementation method 4.

[0053] Figure 41 This is a diagram illustrating an example of auxiliary information for implementation method 4.

[0054] Figure 42 This is a diagram illustrating the seventh example of the improvement measures in Implementation 4.

[0055] Figure 43 This is a diagram illustrating the eighth example of the improvement measures for implementation method 4.

[0056] Figure 44 This is a diagram illustrating the 9th example of the improvement measures in Implementation 4.

[0057] Figure 45 This is a diagram illustrating a proposed example of adding a sensor in Embodiment 4. Detailed Implementation

[0058] The auxiliary system of the present disclosure will now be described in detail with reference to the accompanying drawings.

[0059] Implementation Method 1

[0060] like Figure 1 As shown, the auxiliary system 1000 of this embodiment is a system that assists the user 40 in designing a facility including PLC 20 and equipment 31, 32. Figure 1 The example illustrates the pre-start-up state of a facility, represented by a factory, where PLC 20 and devices 31 and 32 are the objects of simulation. Furthermore, as... Figure 2 As shown, the auxiliary system 1000 is a system that assists users 40 who wish to improve production indicators, such as cycle time, by using PLC 20 and equipment 31 and 32 that are actually installed in the facility and in operation.

[0061] The auxiliary system 1000 includes an auxiliary device 10 that assists the user 40 by providing various information prompts. The auxiliary device 10 is a terminal device, such as an IPC (Industrial Personal Computer), or a GOT (Graphic Operation Terminal) or display that is connected to the PLC 20 and mainly functions as the UI (User Interface) terminal of the PLC 20.

[0062] Auxiliary device 10 can be subject to the timing designed by user 40. Figure 11 Output to user 40 based on the processing time sequence Figure 11 The generated auxiliary information can also generate timing information based on the input information provided by user 40. Figure 11 40. Timing information is provided to the user as supplementary information. Figure 11 This is a diagram showing the progression of the operations of devices 31 and 32. Furthermore, in this embodiment, the timing sequence is generated using the auxiliary device 10. Figure 11 The example provided to the user is 40. The auxiliary device 10 is an example of a timing diagram generation device.

[0063] Furthermore, the auxiliary device 10 can output auxiliary information based on the control program 12 created by the user 40 to the user 40, or it can generate the control program 12 based on the input information input by the user 40 and provide it to the user 40 as auxiliary information, or it can cause the PLC 20 to execute it. The control program 12 is a program executed by the PLC 20 to control the devices 31 and 32, for example, a sequential program described in ladder diagram language. The control processes specified in the control program 12 are usually repeatedly executed by the PLC 20 to perform the same process on a large number of workpieces.

[0064] Furthermore, the auxiliary device 10 has a 3D (3-dimensional) simulator 13 that simulates the movements of devices 31 and 32 controlled by PLC 20 in three-dimensional space. The 3D simulator 13 receives information from the user 40 showing the model, type, size, shape, position and orientation of devices 31 and 32 within the facility, as well as details of the movements represented by the magnitude, distance, direction, speed, range, time, pressure, temperature, and intensity of the movements when given action commands specified by the control program 12. Specifically, the user 40 selects devices 31 and 32 from a pre-prepared library of various devices to be configured in the facility and places them in the corresponding three-dimensional virtual space. Then, by virtually executing the control program 12 provided by the user 40 or the control program 12 generated by the auxiliary device 10, the 3D simulator simulates the movements of devices 31 and 32 in the three-dimensional virtual space. In addition to devices 31 and 32, 3D simulator 13 also handles the setting of actions including configuration and movement for elements outside the control objects of the facility, such as walls, floors, ceilings, supports, bases, workers, AGVs (Automated Guided Vehicles), and other elements controlled by the control program 12, and simulates these actions within the aforementioned virtual space. 3D simulator 13 is primarily used to study the operation and production indicators of the facility before user 40 starts the facility; however, it can also be used... Figure 2 Once activated, the facility shown is used to assist users 40 who wish to improve their production metrics.

[0065] When a facility is started up, the person in charge of the mechanical design of the equipment and the person in charge of the software design (SW) are usually different. Preferably, the person in charge of the mechanical design initially determines the equipment and creates a timing diagram, while the person in charge of the SW creates the basic model of the software. Then, these created contents are updated between the two, and practical application begins after production targets exceeding a certain level are reliably predicted. However, in actual field operations, due to various circumstances, practical application often begins in such an insufficiently prepared state. For example, starting application without creating a timing diagram sometimes results in low production targets leading to improvement measures, and sometimes the person in charge of the SW has to create the timing diagram instead of the person in charge of the mechanical design, thus overburdening the workload. In contrast, the auxiliary device 10 of this embodiment assists the user 40 by creating a timing diagram, which helps to achieve efficient control processing of the PLC 20 in the early stages.

[0066] PLC 20 is a control device that executes pre-written control program 12 in the facility to control devices 31 and 32. PLC 20 can be connected to devices 31 and 32 via signal lines that transmit voltage or current signals, or via a field network. Figure 1 ,2 The diagram typically shows one PLC 20 and two devices 31 and 32. However, there can be multiple PLCs 20, and the controlled objects can be more than two devices. Hereinafter, devices 31 and 32 are sometimes referred to as device 30 without distinction. PLC 20 is an example of a programmable controller, and device 30 is an example of a controlled device. Devices 31 and 32 each have axes 31a and 32a as their actuators.

[0067] Figure 3 Examples are shown of devices 301-303 and 311-313 installed in a facility as equipment. Figure 3 In the example, device 301, acting as a servo motor, rotates the shaft, which is a ball screw, thereby moving the support platform holding the workpiece 41 from point A in the figure, via point B, to point C, and transporting the workpiece 41 directly below device 303, which acts as a pneumatic chuck. Then, after device 302, acting as a cylinder, lowers the piston rod via air drive, device 303, mounted on the piston rod, holds the workpiece 41. Furthermore, there are devices 311, acting as sensors, with the piston rod of device 302 at the lowering end; devices 312, acting as sensors, with the piston rod of device 303 in the holding state; and devices 313, acting as sensors, with the piston rod of device 302 at the rising end. Additionally, these devices 30 are also operated via control program 12 in the processes before the workpiece 41 is placed on the support platform and after the workpiece 41 is held by device 303; however, details of these processes are omitted.

[0068] The above is shown Figure 3 A timing diagram of the operation of the device shown is, for example... Figure 4 As shown. Figure 4 As shown, the timing diagram is as follows: the horizontal axis represents time, and the vertical axis is arranged with devices 30 or their action axes, showing the progression of their mechanical positions for each device 30 or each action axis. The timing diagram contains lines representing the causal relationships between the actions of device 30 and the events that trigger those actions. Figure 4In the diagram, causal relationships are represented by dashed arrows. For example, dashed arrow 501 indicates that the result of a triggering event where the device value "M0" corresponding to the "workpiece gripping" action command becomes active (ON) is that the device value "Y0" becomes active (ON), and the cylinder pushes out the piston. Similarly, dashed arrow 502 indicates that the result of a triggering event where the piston of the cylinder is pushed out, causing the device value "X0" corresponding to the detection result of the sensor device 311 to become active, is that the device value "Y1" becomes active, and the pneumatic chuck begins gripping the workpiece. Furthermore, dashed arrow 503 indicates that the result of a triggering event where the pneumatic chuck grips the workpiece, causing the device value "X1" corresponding to the detection result of the sensor device 312 to become active, is that the device value "Y2" becomes active, and the cylinder pushes the piston back. Furthermore, the dashed arrow 504 indicates that the piston of the cylinder returns, thereby triggering the device value "X2" corresponding to the detection result of the device 313, which acts as a sensor, to become valid. As a result of this triggering, the PLC 20 determines that the workpiece gripping has been completed based on the device value "M3".

[0069] like Figure 4 As shown, the timing diagram illustrates the device values ​​X0, X1, X2, Y0, Y1, Y2, M0, M1, and M2 recorded in control program 12. These device values ​​correspond to the variables used in control program 12 and are values ​​stored in the memory of PLC 20. Some or all of the device values ​​are shared with device 30, and signals are transmitted between PLC 20 and device 30 through these device values.

[0070] like Figure 5 As illustrated, control program 12 includes: input variables X0, X1, X2, which are names for the combined identification values ​​of the input signals labeled "X" representing signals input to PLC 20; output variables Y0, Y1, Y2, which are names for the combined identification values ​​of the output signals labeled "Y" representing signals output from PLC 20 to device 30; and intermediate variables M0, M1, M2, which are names for the combined identification values ​​labeled "M" used within control program 12. Line 511 of control program 12 describes how to activate device value "Y0" by triggering device value "M0" to become active, corresponding to... Figure 4 Arrow 501 in the image. Similarly, Figure 5 Line 512 in the middle corresponds to Figure 4 The starting side of arrow 502 in the image, Figure 5 Line 513 in the middle corresponds to Figure 4 The endpoint of arrow 502 in the diagram. Furthermore, Figure 5 Line 514 in the middle corresponds to Figure 4 The starting side of arrow 503 in the image, Figure 5 Line 515 in the middle corresponds to Figure 4 The arrow 503 points to the end of the arrow. Thus, the causal relationship represented in control program 12 is indicated by arrows in the timing diagram. That is, control program 12 represents the causal relationship between a predetermined trigger and the action that occurs according to that trigger, and the timing diagram contains lines representing this causal relationship.

[0071] In addition, Figure 5 In the middle, representative examples are shown with Figure 4 The control processes corresponding to arrows 501-504 are omitted; other control processes are omitted. For example, as... Figure 4 The description shown here is for making the servo motor move. Figure 5 The text is omitted. Control program 12 can include descriptions for manual operation and descriptions for automatic operation. In manual operation, it is preferable to specify multiple interlock conditions to achieve safe operation. Conversely, in automatic operation, the necessary minimum interlock conditions to meet predetermined criteria can be retained, and other conditions can be excluded from the operands during program execution by using Assert, thereby increasing the scan cycle of PLC 20. In cases of slow scanning, when the sensor output is switched on / off instantaneously, it may be impossible to read the sensor output. Therefore, by increasing the scan cycle speed, the risk of errors caused by such reading errors can be reduced. Furthermore, the increased scan cycle speed can also contribute to a shorter cycle time.

[0072] The auxiliary device 10 consists of hardware elements used to function as a computer. Specifically, such as... Figure 6 As shown, the auxiliary device 10 includes a processor 101, a main storage unit 102, an auxiliary storage unit 103, an input unit 104, an output unit 105, and a communication unit 106. The main storage unit 102, the auxiliary storage unit 103, the input unit 104, the output unit 105, and the communication unit 106 are all connected to the processor 101 via an internal bus 107.

[0073] Processor 101 includes a CPU (Central Processing Unit) or MPU (Micro Processing Unit) as processing circuitry. Processor 101 performs various functions and executes the processing described later by executing program P1 stored in auxiliary storage unit 103. Program P1 can also be a software application equivalent to a so-called engineering tool. Program P1 is an example of a timing diagram generation program.

[0074] The main storage unit 102 contains RAM (Random Access Memory). Program P1 is loaded from the secondary storage unit 103 into the main storage unit 102. Then, the main storage unit 102 is used as the working area of ​​the processor 101.

[0075] The auxiliary storage unit 103 includes non-volatile memory such as EEPROM (Electrically Erasable Programmable Read-Only Memory) and HDD (Hard Disk Drive). In addition to storing the program P1, the auxiliary storage unit 103 also stores various data used in the processing of the processor 101. The auxiliary storage unit 103 supplies data used by the processor 101 to the processor 101 according to the instructions of the processor 101. Furthermore, the auxiliary storage unit 103 stores data supplied from the processor 101.

[0076] The input unit 104 includes input devices such as hardware switches, input keys, keyboards, pointing devices, and microphones. The input unit 104 acquires information input by the user and notifies the processor 101 of the acquired information. User input can be performed via a GUI (Graphical User Interface) or via voice input.

[0077] The output unit 105 includes output devices such as LEDs (Light Emitting Diodes), LCDs (Liquid Crystal Displays), and speakers. The output unit 105 displays various information to the user according to the instructions of the processor 101.

[0078] The communication unit 106 includes a communication interface circuit for communicating with external devices. The communication unit 106 receives signals from the outside and outputs the data represented by those signals to the processor 101. Furthermore, the communication unit 106 transmits signals representing data output from the processor 101 to external devices.

[0079] Through the collaboration of the aforementioned hardware structure, the auxiliary device 10 performs various functions. In detail, such as... Figure 7As shown, the auxiliary device 10 includes a storage unit 110 for storing various types of data, an acquisition unit 120 for acquiring information from the outside, a 3D simulator 13 for simulating the operation of the device 30 in a three-dimensional virtual space, a generation unit 140 for generating auxiliary information including a timing diagram, a correction unit 150 for appropriately correcting the data in the storage unit 110, an analysis unit 160 for analyzing the data in the storage unit 110, an interface unit 170 for relaying information transmission and reception between the device and the outside, and a display unit 180 for providing prompts to the user 40.

[0080] The storage unit 110 is primarily implemented using at least one of the main storage unit 102 and the auxiliary storage unit 103. The data stored in the storage unit 110 includes data pre-written in the auxiliary device 10 and data acquired by the acquisition unit 120. More specifically, as... Figure 7 As shown, the storage unit 110 stores: a device library 111, which represents specifications including details of the models, shapes, and operations of a large number of devices that can be configured in the virtual space; timing diagram data 112 representing timing diagrams generated by the generation unit 140; device data 113 related to the device 30 configured in the virtual space; time length information 114 representing the duration of the operation of the device 30; and a control program 12. The device library 111 is data pre-written into the storage unit 110, and the control program 12 is data provided by the user 40.

[0081] exist Figure 8 The diagram schematically illustrates an example of device data 113. Device data 113 includes simulation data 1131 for performing simulations related to device 30 selected by user 40 from device library 111, and auxiliary program 1132 representing causal relationships among multiple actions of device 30, which are not shown in control program 12.

[0082] Simulation data 1131 is data that maps the model number of device 30, the configuration of device 30, the parameters set in device 30, and the corresponding device values ​​of device 30. It is generated according to the settings of user 40. The model number is information that specifies the details of size, shape, and movement. By retrieving the model number of simulation data 1131 from the device library 111, the specifications of device 30 of that model can be referenced. The configuration indicates position and orientation. The parameters are information that specifies the movement of device 30. For example, Figure 8 The parameter "A→B: sine wave" indicates the mechanical position shift from point A to point B. Figure 4 The waveform shown is sinusoidal. The device value represents the name of the device value shared between device 30 and device 40. For example, regarding... Figure 8In the cylinder, parameters such as "output" and device values ​​such as "Y0" are mapped together, indicating that the cylinder pushes out the piston rod when the device value Y0 is valid. Analog data 1131 is equivalent to an example of device information related to the controlled device, and an example of configuration information representing the configuration of the controlled device.

[0083] in addition, Figure 8 The simulated data 1131 shown is an example; simulated data 1131 can also contain... Figure 8 Different information. For example, as described later, the stroke length of the cylinder can be set as a parameter, and the simulation data 1131 can also include so-called configuration data used by the 3D simulator 13.

[0084] The auxiliary program 1132 is information that represents the relationships between devices 30 and the relationships between the actions of devices 30 in the same form as the control program 12. Figure 3 In the example, device 311, acting as a sensor, detects that the piston rod of device 302 has reached the descending end. This relationship between device 302 and device 311 is necessary for generating the timing diagram, but it is not shown in control program 12. This relationship is represented by auxiliary program 1132. For example, line 517 of auxiliary program 1132 indicates that when device value Y0 corresponding to device 302 becomes valid, device value X0 corresponding to device 311 becomes valid. Auxiliary program 1132 is equivalent to an example of trigger information that correlates the action of the controlled device with other triggers occurring through that action.

[0085] Furthermore, the situation where device 302 is detected to have performed an action by device 311 can be simulated by 3D simulator 13. In this way, the information represented by auxiliary program 1132 can be included in simulation data 1131. If auxiliary program 1132 is substantially included in simulation data 1131, auxiliary program 1132 can also be omitted from device data 113.

[0086] like Figure 9As illustrated, the time length information 114 represents the length of time taken for each device 30 to operate. The time length information 114 can also be directly input by the user 40 and obtained by the acquisition unit 120. Furthermore, sometimes the parameters set by the user 40 for the device 30 substantially specify the duration of the device 30's operation. In this case, the acquisition unit 120 obtains the parameter used to make the device 30 operate as the time length information, and the time length corresponding to this parameter can also be determined by the generation unit 140 by using parameter calculations or by referring to a database that correspondingly stores parameters and time lengths. For example, when the user 40 specifies the cylinder stroke length and speed as parameters, the time length is calculated by dividing the stroke length by the speed. In such cases, the simulation data 1131 substantially contains the time length information 114; therefore, the time length information 114, which is stored separately from the simulation data 1131 in the storage unit 110, can be omitted.

[0087] Furthermore, the action logs in actual use of device 30 and in simulated operation of device 30 can be considered as time length information representing the duration of each action of device 30. The acquisition unit 120 can also acquire such action logs as time length information 114 and process them, thereby... Figure 9 The time length information 114, representing the duration of each action, is stored in the storage unit 110. Specifically, representative values ​​of various actions of the device 30, repeatedly recorded along with time in the action log, are used as the time length. The representative value can be, for example, any single sample, or a value determined statistically such as an average or median value. The acquisition unit 120 is an example of an acquisition unit that acquires log information as time length information when a control program is executed by the programmable controller or when a control program is simulated to be executed by the programmable controller. The generation unit 140 is an example of a generation unit that obtains the time length based on the log information and generates a timing diagram.

[0088] return Figure 7 The acquisition unit 120 is mainly implemented through the input unit 104 and the communication unit 106. The acquisition unit 120 acquires information from outside the auxiliary device 10 and stores the acquired information in the storage unit 110. For example, the acquisition unit 120 acquires parameters set by the user 40, as well as the control program 12, the auxiliary program 1132, and the time length information 114 provided by the user 40. The acquisition unit 120 is equivalent to an example of an acquisition unit that acquires the control program executed by the programmable controller to control the controlled device, the time length information related to the duration of the operation of the controlled device specified in the control program, and the trigger information.

[0089] The 3D simulator 13 is primarily implemented through the processor 101. The 3D simulator 13 simulates the actions of the device 30 based on simulation data 1131. If the simulation cannot continue due to insufficient data after starting, the 3D simulator 13 can prompt the user 40 for input to supplement the data and continue simulating the actions of the device 30. The 3D simulator 13 is equivalent to an example of a simulation unit that simulates the control of the controlled device by a programmable controller executing the control program.

[0090] The generation unit 140 is mainly implemented by the processor 101. The generation unit 140 generates timing diagram data 112 based on device data 113, time length information 114, and control program 12, and stores it in the storage unit 110. For example, if referring to... Figure 5 Control program 12, as described above, shows that... Figure 4 The causal relationship is indicated by the dashed arrow. Therefore, the generator 140 can, for example, determine that in... Figure 4 The pneumatic chuck begins its gripping action simultaneously with the cylinder reaching the "out" state. Furthermore, referring to the auxiliary program 1132 in the equipment data 113, it can be seen that, for example... Figure 4 The cylinder in the middle begins the piston rod extension action, and the completion of this action is detected by a sensor. Therefore, the generating unit 140 is able to... Figure 4 The solid line connecting "Y0" to "X0," representing the cylinder's ejection action, is connected to arrow 502. Furthermore, by referring to the time length information 114, the length of time taken for the cylinder's ejection action can be determined. Thus, the generation unit 140 can determine the slope of the aforementioned solid line. Similarly, the generation unit 140 generates a timing diagram representing the operation of each device 30. The generation unit 140 is an example of a generation unit that generates timing diagrams based on the control program, time length information, and trigger information.

[0091] return Figure 7 The correction unit 150 and the analysis unit 160 are mainly implemented by the processor 101. Details of the correction unit 150 and the analysis unit 160 will be described in other embodiments.

[0092] The interface unit 170 is mainly implemented through the processor 101, the input unit 104, and the communication unit 106. The interface unit 170 functions as a UI interface for receiving information input from the user 40, providing the received information to the acquisition unit 120. Furthermore, the interface unit 170 outputs display data indicating information to be displayed to the user to the display unit 180. The interface unit 170 is an example of an output unit that outputs display data for displaying the generated timing diagram. Moreover, the interface unit 170 functions as a communication interface for communicating with external devices.

[0093] The display unit 180 is mainly implemented through the output unit 105. The display unit 180 displays the timing diagram represented by the timing diagram data 112 to the user according to the instructions from the user. Alternatively, the display unit 180 may be omitted in the auxiliary device 10, which may also exchange information with the user through communication with an external UI device.

[0094] Figure 10 The steps of the timing diagram generation process performed by the auxiliary device 10 are shown. This timing diagram generation process is equivalent to an example of a timing diagram generation method and is initiated by a specific operation of the user 40. In the timing diagram generation process, the acquisition unit 120 acquires the control program 12, device data 113, and time length information 114 (step S1). When acquiring the device data 113, the acquisition unit 120 may also retrieve and read information about the device 30 corresponding to the model specified by the user 40 from the device library 111. Next, the generation unit 140 generates a timing diagram based on the control program 12, device data 113, and time length information 114 (step S2). Then, the interface unit 170 outputs the display data of the timing diagram, and the timing diagram is displayed by the display unit 180 (step S3).

[0095] Figure 11 This shows an example of a screen that includes the timing diagram displayed in step S3. For example... Figure 11 As shown, the auxiliary device 10 can also be synchronized with the timing sequence. Figure 1 It also displays the cycle time as a production indicator to assist users in their research work.

[0096] As explained above, the auxiliary device 10 generates a timing diagram using the control program 12. The control program 12 contains the data necessary for the PLC 20 to perform control processing regardless of the presence or absence of a timing diagram, and the timing diagram is generated using the causal information contained in the control program 12. This reduces the burden on the user 40 in generating the timing diagram.

[0097] Furthermore, the acquisition unit 120 can also acquire parameters that should be set in the device 30 as time length information 114. This reduces the workload of the user 40 in determining the time length. Moreover, the acquisition unit 120 can also acquire the device 30's operation log as time length information 114. This reduces the workload of preparing time length information.

[0098] Furthermore, the auxiliary device 10 can also be a GOT (Geometric Response Device). Previously, to check the control program, engineering tools needed to be operated on a PC. If the user 40 was unfamiliar with PC operation and engineering tool handling, even grasping the current situation could be difficult. In contrast, if a timing diagram is displayed on the auxiliary device 10 as a GOT, the field operator can use the same indicator—the timing diagram—to pinpoint the problem area.

[0099] In addition, such as Figure 8 , 9 As shown in Figure 11, the mechanical positions of the device 301, which serves as a servo motor, are labeled with names such as "A," "B," and "C." These names are used not only to designate the stop position of the servo motor but also to indicate the location of the servo motor. When the position of the servo motor is represented numerically in the timing diagram, if the positions of the servo motors that serve as the starting points for indicating the movement of two different axes are close together, the user 40, who visually interprets the timing diagram, may misinterpret which point affects which axis. In contrast, labeling the mechanical positions of the servo motors with names avoids misinterpreting the timing diagram.

[0100] Furthermore, the generation unit 140 generates a timing diagram based on the simulation data 1131 containing the configuration. Conventionally, the process involves a mechanical designer creating a 3D model to design equipment, constructing the motion steps using the configuration, and then generating a timing diagram after confirmation. However, this is labor-intensive and time-consuming, and rework requires corrections to both the configuration and the timing diagram. In contrast, if the timing diagram is generated based on the configuration as described above, design time can be reduced, and errors due to omissions in corrections to one side can be avoided.

[0101] Furthermore, the generation and display of timing diagrams are not limited to the examples above and can be changed arbitrarily. For example, as... Figure 12 As shown, when there are fluctuations in the operating time of each device 30, the region 518-521 representing this fluctuation can also be displayed on the timing diagram. Furthermore, as... Figure 12 As shown, when the fluctuation size is smaller than the threshold, it can be displayed without shading, as in areas 518-519; when the fluctuation size exceeds the threshold, it can be highlighted with shading, as in areas 520-521. Alternatively, coloring corresponding to the fluctuation size can be used instead of shading. Furthermore, according to... Figure 12 It can be seen that the fluctuation in region 520 is caused by the fluctuation in region 521. Two regions with such a causal relationship can be displayed using different methods, or only the region corresponding to the cause can be emphasized. Generation unit 140 is an example of a generation unit that generates a timeline diagram representing the fluctuation.

[0102] Furthermore, fluctuation information, representing the fluctuation, can be obtained by the acquisition unit 120 from the user 40, or it can be calculated using statistical methods based on the action logs during repeated executions of the control processes specified in the control program 12. The fluctuation can be, for example, the standard deviation, or a range defined by upper and lower limits.

[0103] In typical FA (Financial Analyst) scenarios, it's generally difficult to grasp market fluctuations; situations where data is not obtained are common, and even if it is obtained, it cannot be effectively utilized. However, according to... Figure 12 Such a display facilitates the analysis of the causes of fluctuations, and can help achieve stabilization of cycle time by eliminating hidden causes. Furthermore, in cases where fluctuations are caused by mechanical factors, it can indicate the need for reselection of machinery; therefore, it is desirable to configure the facility with equipment of sufficient and necessary capacity and to design efficient equipment.

[0104] Furthermore, the method of displaying causal relationships in a sequence diagram can also be changed. For example, it can also be done as follows: Figure 13 The diagram illustrates a temporal causal relationship. Here, a temporal causal relationship means the relationship between a cause that directly influences a result and that result. In other words, it can be described as the relationship between the most recently occurring cause and the result that occurs simultaneously with that cause. Figure 13 In the example, for the device value M200, which is the result described in the control program, a dashed arrow is drawn from the last device value X20, which is the cause of the device values ​​X10 and X20, and contributes to the device value M200.

[0105] on the other hand, Figure 14 The following is an example of a timeline diagram illustrating conditional causality. Conditional causality means the relationship between all causes that contribute to a result and that result. In other words, it can be said to be the relationship between all the causes that produce the result and that result, regardless of sequence and time. Figure 14 In the example, for the device value M200, which corresponds to the result, dashed arrows are drawn from the device values ​​X10 and X20, which correspond to the cause. Alternatively, the settings can be switched via user interaction. Figure 13 This kind of temporal causal relationship is shown and Figure 14 This demonstrates a conditional causal relationship.

[0106] Previously, adjustments to the causal relationships of actions required simultaneous observation of the control program by the SW designer, the 3D model or timing diagram created by the mechanical designer, and the actual equipment operation by the site supervisor. Different operators used different tools, resulting in significant information discrepancies and a long period from problem occurrence to improvement. In contrast, displaying such temporal and conditional causal relationships makes it easier to identify improvement points in the control program and cycle times. Furthermore, it is expected that mechanical designers and site supervisors, in addition to the SW designer, can easily grasp the processing flow specified in the control program.

[0107] In addition, such as Figure 15As shown, the lines representing the actions of each device 30 in the timing diagram can also be changed to blocks. Depending on the user 40 or the research work performed by the user 40, sometimes a timing diagram like a Gantt chart is more suitable. Furthermore, as... Figure 15 As shown, blocks can also be colored according to the type of action.

[0108] In addition, such as Figure 15 As shown, the generation unit 140 may also include a display unit 522 in the timing diagram that displays the power consumption or power amount during servo motor operation. Power consumption is calculated based on simulation data 1131 and the device library 111. Previously, determining power consumption during the design phase was cumbersome; therefore, most manufacturers did not calculate accurate power consumption and instead selected circuit breakers and power supplies with larger capacities. In contrast, if... Figure 15 By displaying the power consumption, one can select the appropriate circuit breaker and power source.

[0109] In addition, such as Figure 15 As shown, the generation unit 140 may also include a display unit 523 in the timing diagram that displays the air flow rate or air consumption during cylinder operation. The air flow rate and air consumption are calculated based on simulation data 1131 and the equipment library 111. Conventionally, the air flow rate has often been excessively designed. Insufficient air has become a cause of fluctuations in the equipment's operating time, leading to prolonged start-up periods and poor operation. In contrast, if... Figure 15 By predicting and displaying the consumed airflow along the time axis, it is possible to grasp the peak consumption flow, which can assist in the stabilization design of the equipment.

[0110] In addition, such as Figure 15 As shown, the generation unit 140 can also include the display component 524, which indicates that the peak value in the cycle time of the servo motor's acceleration and deceleration exceeds a predetermined threshold and thus becomes excessive, in the timing diagram. The peak value of acceleration and deceleration is calculated based on the analog data 1131 and the device library 111. Previously, there was no such display; therefore, during emergency acceleration and deceleration of the servo motor, the operator usually pressed the emergency stop button. Sometimes, even pressing the button could not completely stop the motor, causing its mechanical position to move outside the normal range. That is, sometimes it was necessary to use a mechanical stop instead of a limit switch to stop it. In contrast, if... Figure 15 Such a display allows user 40 to anticipate the possibility that the device may not be able to stop completely. This helps prevent equipment malfunctions. Alternatively, instead of displaying on the timing diagram, or together with such display, a compile-time alarm in control program 12 can be used to alert user 40 of rapid acceleration or deceleration of the servo motor.

[0111] In addition, such as Figure 15As shown, the generation unit 140 can also include the display unit 525 representing the torque value of the servo motor in the timing diagram. The torque value is calculated based on the simulation data 1131 and the device library 111. Previously, designers would separately calculate the acceleration / deceleration values ​​and select the servo motor based on a pre-predicted timeframe for the most drastic acceleration / deceleration. In contrast, if... Figure 15 Displaying torque values ​​in this way makes it easier to design a system that balances the acceleration and deceleration of the servo motor throughout the entire cycle.

[0112] Furthermore, instead of torque values, the generation unit 140 may also connect a display unit representing the average load or operating load of the servo motor to... Figure 15 The display component 525 is also included in the timing diagram. The average load is calculated based on simulation data 1131 containing information related to the workpiece and the equipment library 111. Previously, when selecting bearings or ball screws, the calculation of the average load in complex movements was cumbersome; therefore, the average load was often overestimated without accurate calculation. Consequently, larger components were selected, requiring larger motors, resulting in a tendency for overall equipment to become larger. In contrast, if the average load is displayed in the timing diagram, appropriate components are selected, and equipment miniaturization is expected.

[0113] Furthermore, the auxiliary device 10 can also derive and suggest control measures that equalize the acceleration and deceleration of the servo motor and achieve a target value for the cycle time. For example, based on... Figure 16 In the actions of the upper sequence diagram, such as Figure 16 As shown in the middle section, in interval 541, the torque value of the servo motor has a margin until it reaches the allowable value, while in interval 542, the torque value exceeds the allowable value. In this case, it is recommended to shorten the length of interval 541 by increasing the torque value to near the allowable value, and to converge the torque value to the allowable range for interval 542. The allowable range of torque can be provided as device library 111 or analog data 1131, or it can be input by user 40 as the rated torque and allowable torque of the servo motor. According to this recommendation, the selection reference of the servo motor is relaxed, and further reduction of cycle time can be predicted.

[0114] Furthermore, the generation unit 140 can generate timing diagrams at multiple stages before facility startup and store them in the storage unit 110, and can also generate timing diagrams at multiple stages after startup or periodically and store them in the storage unit 110. That is, the storage unit 110 can also store a log of the timing diagrams as timing diagram data 112. For example, if the timing diagram at the time of facility startup is used as a reference, changes over time can be observed, and the lifespan of actuators including servo motors and cylinders can be predicted, which helps with predictive maintenance.

[0115] Furthermore, the auxiliary device 10 can also display both the normal timing diagram and the timing diagram when an anomaly occurs, allowing the user 40 to compare these timing diagrams. Previously, by obtaining the operation logs of the equipment 30, the user 40 would create timing diagrams themselves, using them to identify the causes of malfunctions and shorten production cycle time. In contrast, if the timing diagrams created by the auxiliary device 10 can be compared with each other, for example, by comparing the timing diagrams created during the design phase with those created from the logs, errors can be identified at an earlier stage, contributing to shorter production cycle time. Similarly, by comparing the timing diagrams created by the machine manager with those generated by the production unit 140, earlier facility startup and shorter production cycle time can be achieved.

[0116] Figure 17 This shows another example of equipment configured in the facility. Figure 17 In the example, the sequence of actions performed by device 30 is indicated by the numbers enclosed in parentheses under the arrows representing the direction of action. First, action 1 is as follows: device 321, acting as a servo motor, rotates the ball screw, causing the support platform carrying workpiece 42 to move from point D, sequentially through points C and B, to point A, thereby moving workpiece 42 directly below devices 322 and 323. Action 2 is the action of device 322, acting as a cylinder, extending the piston rod. Action 3 is the action of device 323, acting as a pneumatic chuck mounted at the end of the piston rod, holding workpiece 42. Action 4 is the action of device 322 returning the piston rod, causing the pneumatic chuck holding the workpiece to rise. Furthermore, action 5 is as follows: device 324, acting as a servo motor, moves the support platform on which device 322 is mounted, thereby moving workpiece 42 over wall 332 and directly above tray 333.

[0117] Figure 18 Showing with Figure 17 The timing diagram corresponding to the actions. Along Figure 18 The numbering of the axes arranged along the vertical axis corresponds to Figure 17 The devices shown are numbered 321 to 324. Furthermore, along... Figure 18 The numbers within the parentheses of the horizontal axis labels correspond to Figure 17 The numbers are labeled on the dashed arrows shown.

[0118] like Figure 18 As shown, based on the simulation of the 3D simulator 13, it is determined that the device 323, which is a cylinder, approaches the wall component during period (5). In this way, the generation unit 140 can also show the timing of the device 30 approaching other devices on the timing diagram based on the simulation. Here, the approach of the device 30 to other devices means that the distance between the device 30 and other devices is shorter than a predetermined threshold.

[0119] Previously, during the startup phase of a facility, adjustments were made by simultaneously initiating actual operation of equipment 30 and overlapping two or more actions to converge the cycle time to a target value. Here, overlap means that by executing at least a portion of two or more actions simultaneously, the completion of all of these actions is earlier than if they were executed sequentially. However, due to unexpected interference, overlapping of actions is often difficult to achieve. In contrast, if... Figure 18 As shown, when the display device 30 approaches other devices, a control program 12 that overlaps actions during desktop adjustment can be easily created without actually preparing the device 30. Therefore, the adjustment period during the on-site startup phase can be shortened. Furthermore, if a component that interferes during operation is identified, the shape of the component can be re-examined to avoid interference, thereby further shortening the cycle time.

[0120] also, Figure 18 It is shown that when device value Y10 becomes valid, device 322 begins to extend the piston rod, and when device value Y20 becomes valid, device 324 begins to return the support platform. When these actions are performed simultaneously, according to... Figure 17 It is known that interference occurs when the piston rod of device 322 contacts the wall component. To avoid such interference, control program 12 typically includes... Figure 19 The description illustrates this type of interlocking. Specifically, as a condition for device value Y10 to become valid, the b-contact of device value Y20 is inserted; as a condition for device value Y20 to become valid, the b-contact of device value Y10 is inserted. This prevents both device values ​​Y10 and Y20 from becoming valid simultaneously. When the control program 12 includes such an interlocking description, as shown... Figure 18 As shown, the generation unit 140 may also include a block 531 representing the interlock at the portion where the action is restricted by interlocking. Furthermore, the generation unit 140 may color the portion corresponding to block 531 instead of block 531. Thus, the user 40 can easily determine the state where the action is restricted by interlocking based on the timing diagram. The generation unit 140 is equivalent to an example of a generation unit that generates a timing diagram that emphasizes the period during which the action of the controlled device is restricted by interlocking in the control program.

[0121] In addition, the acquisition unit 120 can also provide a UI function that sets the action of an actuator from input to completion when the control program 12 is acquired by accepting the editing operation of the user 40. Figure 20This example illustrates such a block configuration. Specifically, the descriptions in multiple lines labeled "Pneumatic Chuck: Workpiece Holding" are configured as a single block. This block can be reused like a routine or function without being separated. Previously, the structure of control programs depended on the program creator, and in most cases, control programs were not structured as blocks, from the input of each actuator's action to its completion. In this case, even actions within the same actuator were described in separate locations within the control program, resulting in very low readability. Furthermore, when generating timing diagrams from control programs with this structure, the control program itself is difficult to process, thus presumably hindering the utilization of timing diagrams and making it difficult to improve productivity. In contrast, as... Figure 20 As shown, it is believed that if a third party can easily summarize the descriptions related to the actions of the actuators inside the control program 12, the operability of the control program 12 as an input terminal can be improved, the utilization rate of timing diagrams can be increased, and the penetration rate into the organization can be increased.

[0122] In addition, Figure 20 The example described is of setting the action of one device 30 as a block; however, a UI for setting the sequential actions of multiple devices 30 as blocks can also be provided. Furthermore, the generation unit 140 can also generate a timing diagram showing the actions of a device unit after summarizing the actions of multiple devices 30 that have been set as blocks. Figure 21 The following is an example of a timing diagram that illustrates the actions of devices 322 and 323 on a workpiece from gripping to releasing it as the actions of a chuck unit composed of these devices 322 and 323. Conventionally, descriptions of actuator units composed of multiple actuators are mostly scattered within the control program. In particular, as the number of motion axes to be processed increases, the readability of the control program and the readability of the timing diagrams derived from it decrease. In contrast, if it is possible to... Figure 21 By summarizing the actions of the actuator units as shown, the timing layer is hierarchically simplified, improving readability and enhancing the maintainability of the control program 12.

[0123] In addition, Figure 20 , 21 In the example shown, user 40 manually sets the block, but generation unit 140 can also extract the description of sequential processing that appears repeatedly in control program 12 as a block through pattern recognition.

[0124] In addition, the generation unit 140 can also be like Figure 21 As shown, the timing chart is annotated as follows. Figure 20 The annotation shown is added by user 40 to control program 12.

[0125] Furthermore, an example of the generation unit 140 generating a timing diagram based on the control program 12, device data 113, and time length information 114 has been described. However, the user 40 may also directly input insufficient information, or the timing diagram may be generated using information supplemented from the user 40. For example, the user 40 may specify the relationships between events not shown in the control program 12 and the auxiliary program 1132, as well as the relationships between events and triggers.

[0126] Furthermore, the generation of a timing diagram based on simulation data 1131 used to perform the simulation in the 3D simulator 13 is described. Here, the timing diagram can also be generated based on the constraints of the 3D model represented by the simulation data 1131. For example, when two parts fastened by hinges have a relationship and perform actions, the 3D simulator 13 can detect the relationship between the actions, so that the actions of these parts are accurately synchronized on the timing diagram.

[0127] Implementation Method 2

[0128] Next, regarding Embodiment 2, the description will focus on its differences from Embodiment 1 described above. Furthermore, structures that are the same as or equivalent to those in Embodiment 1 will be referred to using the same reference numerals. In this embodiment, the description will focus on the function of the auxiliary device 10 after the timing diagram is provided by the user 40 or generated by the auxiliary device 10.

[0129] In this embodiment, the storage unit 110 stores the timing diagram represented by the timing diagram data 112 in correspondence with the control program 12. Specifically, it stores... Figure 4 The lines indicated by arrows 501 to 504 in the timing diagram are stored in correspondence with the descriptions of causal relationships shown in control program 12.

[0130] Figure 22 An example is shown of a control program 12 that changes the state of data stored in storage unit 110 through user 40's operation. For example, device value Y0 in control program 12 is changed to device value Y2, device value X0 is changed to device value X2, device value Y2 is changed to device value Y0, and device value X2 is changed to device value X0.

[0131] The correction unit 150 of the auxiliary device 10 is modified in accordance with the changes in the control program 12, such as Figure 23 The timing diagram represented by the timing diagram data 112 stored in the storage unit 110 is corrected. Regarding the change points of the control program 12, the timing diagram graph component is generated using the same method as the generation unit 140 in Embodiment 1, thereby executing the correction unit 150 to correct the timing diagram.

[0132] In addition, the correction unit 150, through user 40, such as Figure 23 The changes shown are as follows Figure 4In the case of the timing diagram shown, control program 12 is modified to represent a causal relationship consistent with the modified timing diagram. For example, as Figure 23 As indicated by arrow 601 in the diagram, according to the revised timing diagram, the device value Y2 changes based on the device value M0. Therefore, as... Figure 22 As shown, the correction unit 150 corrects the device value, which changes according to the device value M0, from Y0 to Y2. Similarly, according to... Figure 23 Arrows 602, 603, and 604 indicate causal relationships, and the correction unit 150 respectively corrects the causal relationships. Figure 22 Lines 612, 613, and 614 in the text are corrected. Correction unit 150 is equivalent to an example of a correction unit.

[0133] As described above, when one of the control program and the timing diagram is changed, the correction unit 150 corrects the part of the other corresponding to the change. Therefore, when one of the timing diagram and the control program is changed, the user 40 does not need to perform correction work on the other, thus reducing the user's burden.

[0134] Furthermore, the analysis unit 160 of this embodiment analyzes the parameters that should be set in the device 30 to realize the operation represented by the timing diagram. For example, the acquisition unit 120 via Figure 24 The input screen shown retrieves data indicating the motor model, stroke, load capacity, load rate, and cam profile shape, providing detailed information representing the actions depicted in the timing diagram. Then, the analysis unit 160 performs predetermined calculations based on the actions and detailed information shown in the timing diagram, or by referring to data stored in a storage device corresponding to the actions and detailed information shown in the timing diagram, to derive parameters that should be set in the device 30. The interface unit 170 outputs the derived parameters to the display unit 180, which displays them. Figure 24 The output screen shown is as follows. In this output screen, PG1, representing the model control gain used for motor gain adjustment, and PG2, representing the position control gain, are displayed as parameters. However, the parameters are not limited to these; other parameters may also be displayed.

[0135] Figure 25 The second example of parameters derived from the analysis unit 160 is shown. Figure 25 In the example, the piping diameter is derived as a parameter based on the timing diagram representing the cylinder's action and the cylinder model, stroke, workpiece weight, throttling opening rate, and air pressure specified by user 40. Figure 26 This shows another example of analysis performed by the analysis unit 160. Figure 26 In the example, a recommended combination of motors is shown based on the timing diagram representing the actions of the two servo motors and the information specified by the user 40 in the input screen.

[0136] As described above, the analysis unit 160 analyzes the parameters that should be set in the device 30. Previously, when there were many parameters, it was difficult to distinguish whether the cause of the error lay with the control program 12 itself or with the parameters when an error occurred, tending to increase debugging time. In contrast, if the analysis unit 160 analyzes the parameters that should be set in the device 30, debugging time can be shortened. The analysis unit 160 is an example of an analysis unit.

[0137] Furthermore, the analysis unit 160 can also, based on the actions represented by the timing diagram and the simulation of the 3D simulator 13, perform analysis on... Figure 15 The average load, the operating load, or the rated load shown are analyzed.

[0138] Furthermore, in the event of an error during the execution of control program 12, interface unit 170 will output display data of the element corresponding to the error in the timing diagram to display unit 180. For example, such as Figure 27 As shown, when an error occurs in timer T3, which counts time based on device values ​​Y2 and X2, the line connecting device values ​​Y2 and X2 is highlighted in the timing diagram.

[0139] Since device 30 does not retain movement information for a specific axis (device value X2 becomes valid only after a specific time has elapsed after device value Y2 becomes valid), the SW manager imports... Figure 27 This timer is designed to output an error if the device value X2 is not valid within a specific time period. Similar to the timing diagram design, the duration of the movement information is calculated based on the load and axis output specifications, and an error tolerance level is set for this duration. When device 30 retains axis movement information, it is also possible to set an error output when an unexpected action is performed, and to exclude program components that unnecessarily cause errors from the error output.

[0140] In addition, Figure 27 In such timers, silent stopping usually does not occur, however, during... Figure 27 The illustrated example of such an emphasis-displayed error could also be a silent stop. For instance, even if there is no specific error output and the device 30 stops unexpectedly, an unresponsive sensor output value or device value could be displayed, and the possibility of a silent stop could be reported. Furthermore, the auxiliary device 10 could add error handling for silent stops by having the user press a button on the reporting screen.

[0141] Furthermore, the generation unit 140 of this embodiment generates origin reset steps for multiple devices 30. This step is generated, for example, through a simulation loop or a genetic algorithm. Then, the correction unit 150 adds a program component to the control program 12 to cause the multiple devices 30 to perform the generated origin reset steps. Furthermore, in the case of interference occurring when multiple devices 30 operate simultaneously, as illustrated by simulation using simulation data 1131, [further details are provided]. Figure 28 As illustrated, the correction unit 150 adds an interlock description to the program component, thereby enabling the devices 30 to perform origin reset without interfering with each other.

[0142] Previously, in scenarios involving origin reset, the equipment's state was often one where this state never occurred at any point during automatic operation. Therefore, interference during debugging could lead to equipment damage, requiring the user (40) to set multiple interlocks. However, in equipment with many axes in potentially interfering positions, countless interlock conditions are needed, resulting in insufficient settings by the user (40). Therefore, to avoid equipment damage, steps to reliably prevent interference need careful consideration. In contrast, if the origin reset steps are generated by the generation unit (140) and the description of interlocks is added by the correction unit (150) as described above, it can help shorten software development time, reduce debugging time, and suppress equipment interference failures caused by insufficient interlocks.

[0143] Furthermore, as the number of axes increases, the interlocking conditions increase exponentially. Therefore, machine learning can be used to compress the dimensions and set appropriate interlocking conditions with minimal parameter input from the user.

[0144] Furthermore, the acquisition unit 120 of this embodiment acquires detection results from sensors that detect the position of the motion axis of the detection device 30 when it is manually operated and the timing of the motion axis's movement. For example, sometimes a trial run is performed by manually performing a series of actions on the equipment assembly during JOG operation and single-action cylinder operation. In addition, for servo motors, the operator manually operates the equipment, and the auxiliary device 10 records point information and interlock information. Moreover, the correction unit 150 creates a program component that operates the equipment 30 in accordance with the sensor detection results and adds it to the control program 12, or creates a chart component that operates the equipment 30 in accordance with the sensor detection results and adds it to the timing diagram. In this case, the devices 311 to 313, which serve as sensors, are equivalent to an example of a detection unit.

[0145] Sometimes, timing diagrams are not created during the facility design phase. Instead, an automatic operation control program 12 is created after the actual machine is operated using JOG and single-action techniques and appropriate actions are studied. In contrast, if the correction unit 150 creates program components or diagram components corresponding to manual operation as described above, it is possible to reduce working hours.

[0146] Furthermore, the interface unit 170 of this embodiment accepts intuitive operations from users who modify timing diagrams. For example, Figure 29 The thick solid line 621 in the timeline can also be drawn by tracing it with a finger. Additionally, the dashed line 624 connecting points 622 and 623 can be drawn by clicking on points 622 and 623. Furthermore, any sensor can be selected from the sensor overview to map points on the timeline to device values. Moreover, the axes arranged on the vertical axis of the timeline can also be rearranged.

[0147] Previously, sequence diagrams were mostly created using spreadsheet software or CAD (Computer-Aided Design) software. However, creating sequence diagrams is a tedious and labor-intensive task. In contrast, if it were possible to... Figure 29 The operation shown can reduce work time and labor hours.

[0148] Implementation Method 3

[0149] Next, regarding Embodiment 3, the description will focus on its differences from Embodiment 1 described above. Furthermore, structures that are the same as or equivalent to those in Embodiment 1 will be referred to using the same reference numerals. In this embodiment, the description will focus on utilizing the functions of the auxiliary device 10 for the 3D simulator 13.

[0150] The generation unit 140 of this embodiment generates and outputs display data for displaying an image that includes a first image and a second image. The first image represents the operation history of the device 30 based on the operation log when the device 30 is actually controlled, and the second image represents the simulated operation history of the device 30 when the device 30 is controlled by the 3D simulator 13.

[0151] For example, such as Figure 30 As shown, the generation unit 140 generates a first image and a second image. The first image represents a timing diagram of the planning phase based on the simulation, and the second image represents a timing diagram of the results based on the action log. Different parts of these timing diagrams are highlighted as shown by line 701.

[0152] In addition, such as Figure 31As shown, the generation unit 140 generates a first image representing the progression of equipment values ​​during the planning phase based on the simulation, and a second image representing a timeline diagram as performance based on the action log. Furthermore, as... Figure 32 As shown, the generation unit 140 generates: a first image, which represents the action of a 3D model based on the planning phase of the simulation; and a second image, which represents the 3D model as an achievement based on the action log.

[0153] about Figures 30-32 The timing diagram, device value progression, and 3D model display shown can also be switched by user-specified settings. Alternatively, it can be switched by pressing... Figure 30 The button 702 in the middle, the pointer 704 on the drag bar 703 indicating the current position moves, and the first image and the second image change along the time. That is, the animation can also be reproduced.

[0154] also, Figure 30 The drag bar 703 is divided into multiple control zones. Specifically, control of device 30 is achieved by sequentially executing zone controls within the multiple control zones. Furthermore, if the time taken for zone control in the plan differs from the time taken for zone control in the actual situation, the control zone can be highlighted as shown by the hollow line 705.

[0155] In addition, Figure 32 In the example, the mechanical position of the device with the piston rod that moves in the vertical direction is different, and the action that causes this difference is displayed by message 706. In this way, the generation unit 140 can also generate an image that represents the different events corresponding to the triggering of the actions when the actions of the device 30 represented in the action log are different from the actions on the simulation of the device 30.

[0156] In addition, the generation unit 140 can also be like Figure 33 The timeline diagrams for the planning phase and the actual performance phase are generated in an overlapping manner, as shown.

[0157] Furthermore, the storage unit 110 in this embodiment is equivalent to an example of a storage unit that stores strategies for reducing the error between the actual operation time of the device 30 and the simulated operation time, corresponding to the device 30. Moreover, the generation unit 140 reads from the storage unit 110 strategies for reducing errors generated in the multiple devices 30, such as... Figure 34 As shown above, an image is generated and displayed in descending order of error. In detail, the storage unit 110 stores the device for the cause of the error, the cause, the difficulty of the strategy to reduce the error, the error reduction effect when the strategy is implemented, and the corresponding strategy.

[0158] exist Figure 34 In the upper image, when user 40 selects the sequence "3", generation unit 140 generates... Figure 34 The image shown at the bottom displays the inspection results of the strategy and problem corresponding to the selected priority. Furthermore, when the prototype action button 707 is pressed, the display unit 180 displays the simulation results of the action when the strategy is implemented. Specifically, the display unit 180 displays timing diagrams before and after strategy implementation in a comparative format.

[0159] As explained above, an image is displayed that includes a first image showing the device's operational history and a second image showing the simulated actions. This allows for easy verification of the differences between the simulated and actual actions.

[0160] Implementation Method 4

[0161] Next, regarding Embodiment 4, the description will focus on its differences from Embodiment 1 described above. Furthermore, structures that are the same as or equivalent to those in Embodiment 1 will be referred to using the same reference numerals. In this embodiment, the description will focus on the function of the auxiliary device 10, which outputs auxiliary information to improve production line performance based on simulation.

[0162] Figure 35 This example illustrates how the analysis unit 160 suggests improvements to the control program 12 based on a timing diagram obtained through simulation. Specifically, when the 3D simulator 13 simulates control of the device 30 by changing the sequence of actions of the device 30 specified in the control program 12, the analysis unit 160 outputs auxiliary information indicating the change in sequence as an improvement measure, thus avoiding interference caused by contact between the device 30 and other devices and shortening the cycle time. The change in the sequence of actions can be randomized or performed according to a pre-defined algorithm. Furthermore, if the user decides to adopt this improvement measure, the correction unit 150 modifies the control program 12 to implement it. Figure 35 The text shows a button that allows you to change the order of actions by pressing the cursor.

[0163] Furthermore, in the case where the components of device 30 interfere with each other in a simulated manner, such as Figure 36 As shown, the analysis unit 160 can also output a timing diagram as auxiliary information, indicating that the component no longer interferes with the other components. Such a timing diagram representing an improvement measure can be discovered, for example, by cyclically searching for changes in the action.

[0164] Furthermore, improvement measures are not limited to changes in motion; they can also include changes in the weight or material of the equipment 30 or the workpiece. The constraints used to search for these improvement measures are set by the user. Constraints may include, for example, fixed types of drive sources such as servo motors or cylinders related to the current state, upper and lower limits of the stroke, and conditions where the motion axes interfere with each other.

[0165] Figure 37 The example shown illustrates the overlapping parts of events specified in the control program 12, indicated by the analysis unit 160. Specifically, when the 3D simulator 13 simulates the simultaneous execution of actions sequentially performed by multiple devices 30 as specified in the control program 12, the analysis unit 160 outputs auxiliary information indicating that simultaneous execution of the sequentially executed actions is a countermeasure to avoid interference caused by contact between the multiple devices 30 and to shorten the cycle time.

[0166] in addition, Figure 36 The avoidance of such interference and Figure 37 The reduction in cycle time achieved by the overlapping of such actions is a trade-off. Therefore, an index value representing the probability of interference can also be used. Figure 38 In the control content editing screen shown, user 40 selects control content by operating a slider corresponding to an indicator value. The indicator value, for example, is the distance corresponding to the closest point to device 30.

[0167] Furthermore, the analysis unit 160 can also suggest reducing the speed of the servo motor as an improvement measure. Specifically, the analysis unit 160 can also detect the peak values ​​of acceleration and deceleration of the servo motor in the simulation of the 3D simulator and output auxiliary information indicating that reducing the acceleration and deceleration of the servo motor at the moment the peak value is detected is an improvement measure.

[0168] Furthermore, the analysis unit 160 can also suggest excluding unused components from the program components constituting the control program 12. For example, the analysis unit 160 can detect program components that specify the manual operation of the device 30 from the control program 12 and output auxiliary information indicating that excluding the detected program components from the scan targets during the automatic operation of the device 30 is a corrective measure. Specifically, such as Figure 39 As illustrated, an MC (Master Control) can also be inserted into the unused portion during automatic operation, thereby switching the execution on / off.

[0169] Furthermore, the analysis unit 160 can also suggest improvement measures such as shifting peak power consumption to utilize renewable power. Specifically, for example... Figure 40As shown, the analysis unit 160 calculates the shift in power consumption based on the operation of the device 30 during the cycle time. Furthermore, the analysis unit 160 can suggest alternatives: instead of utilizing power from the main power supply at its peak, utilizing regenerated power from the operating axes of other devices at the same time, or releasing regenerated power generated and accumulated at other times during this period. Thus, regarding power consumption, equalization during the cycle time is expected to reduce the rated power required by the main power supply.

[0170] In addition, such as Figure 41 As shown, the analysis unit 160 can also use cursor 708 to designate the component as the object of change for user 40, calculate the maximum dimension without interference based on the timing diagram and simulation results, and display the calculated dimension. Previously, actual actions were reproduced in a simulation space, and the presence of interference was confirmed visually by the designer. If interference existed, corrections were required, which was time-consuming. In contrast, if... Figure 41 Such a display can shorten operation time, efficiently avoid interference, and easily optimize the size of components.

[0171] In addition, such as Figure 42 As shown, the analysis unit 160 can also calculate the load rate of the servo motor and servo amplifier based on the data in the storage unit 110 containing the timing diagram, and predict the temperature rise. Then, if the temperature rise exceeds a threshold and becomes excessive, the analysis unit 160 can also suggest an operating mode that converges the temperature rise within a predetermined allowable range as an improvement measure. Previously, the load rate was mostly calculated based on the operating time within one cycle; however, considering the temperature rise, i.e., the integral value of the load rate and the thermal balance of heat dissipation, the user needs to calculate it separately. In contrast, if a suggestion is made... Figure 42 Such improvement measures can suppress the deterioration of equipment 30.

[0172] Furthermore, the analysis unit 160 can also suggest parameters related to the device 30 based on the target value specified as the operating time of the device 30. For example, such as Figure 43 As shown, the analysis unit 160 can also suggest recommended change points based on the action selected by the user 40 and the specified target action time, through predetermined calculations or by referring to a database. Specifically, the analysis unit 160 predicts the mechanical position and post-stop damping time of the device 30 during its operation based on the physical model and data stored in the storage unit 110, and suggests change points required to achieve the action within the target time. These change points may include, for example, reducing the weight of the device 30, changing the motor output, or changing the air pressure. Predictions can also be made using a predictive model obtained through machine learning, based on existing equipment data.

[0173] The existing design process sometimes follows this sequence: mechanical design and cycle time estimation, followed by the creation of timing diagrams, and then the creation of control programs. At the point when the timing diagrams and control programs are created, the mechanical structure is already determined. Therefore, the next opportunity for re-evaluation or modification of the mechanical structure arises at the start-up time or from the next machine number. This leads to increased drawing revisions and structural differences between machine number 1 and the next machine number. In contrast, if... Figure 43 Such suggestions, after the timing diagram is created, indicate the points where mechanical design should be changed, enabling modifications to the mechanical design before startup. This is expected to shorten the startup period, reduce losses due to the purchase of unnecessary products, and eliminate the machine difference between machine number 1 and the next machine number.

[0174] In addition, such as Figure 44 As shown, the analysis unit 160 can also generate a control program corresponding to the margin and risk level specified by the user. Specifically, the analysis unit 160 predicts the mechanical position during cylinder operation and the damping time after stopping based on data stored in the storage unit 110. This prediction value is calculated along with prediction accuracy and precision. Prediction accuracy represents the range of temporal and spatial fluctuations, while precision represents the qualitative level of the prediction accuracy. The analysis unit 160 then corrects the prediction results based on the precision required by the user 40 and displays them. Prediction can also be performed using models obtained through machine learning, based on external applications or big data.

[0175] User 40 specifies a margin and a risk level. The margin is an indicator of the allowable range of deviation between the actual movement time and the position traveled relative to the predicted time of each part. The risk level indicates the extent of the impact of an accident that occurs when the mechanical position deviates significantly from the command value after the action command. Analysis unit 160 suggests that, if a high-risk action axis becomes a bottleneck in shortening the cycle time, the action of that action axis should be overlapped to shorten the cycle time. Furthermore, it can also suggest the location of a sensor that should be added to detect the action axis at a certain time. For example, such as... Figure 45 As shown, it is recommended to add a sensor to the simulated cylinder operation to detect whether the piston rod deviates from the range where it interferes with other axes. Here, the sensor should be added near the boundary of the interference range.

[0176] The embodiments of this disclosure have been described above; however, this disclosure is not limited to the above embodiments. The above embodiments can also be combined in any way.

[0177] The function of the auxiliary device 10 in the above-described embodiments can be implemented by dedicated hardware, or by a conventional computer system.

[0178] For example, storing program P1 on a computer-readable recording medium such as floppy disk, CD-ROM (Compact Disk Read-Only Memory), DVD (Digital Versatile Disk), or MO (Magneto-Optical disk) and distributing it, and installing program P1 on a computer, can thereby constitute a device for performing the above-mentioned processing.

[0179] Alternatively, program P1 can be stored on a disk device of a server device on a communication network such as the Internet, and downloaded to a computer, for example, overlaid on a carrier wave.

[0180] In addition, the above process can also be achieved by executing the startup process simultaneously via a network transfer program P1, such as the Internet.

[0181] Furthermore, the above-mentioned processing can also be achieved by executing all or part of program P1 on a server device, with the computer executing program P1 while sending and receiving information related to the processing via a communication network.

[0182] In addition, if the above functions are implemented by the OS (Operating System) or through the collaboration between the OS and the application, the parts other than the OS can be stored on the medium and distributed. Alternatively, they can be downloaded to a computer.

[0183] Furthermore, the unit that implements the function of the auxiliary device 10 is not limited to software, but can also implement part or all of it through dedicated hardware or circuits.

[0184] This disclosure can be implemented and modified in various ways without departing from the broad spirit and scope of this disclosure. Furthermore, the above-described embodiments are illustrative of this disclosure and do not limit its scope. That is, the scope of this disclosure is not shown by the embodiments, but by the claims. Moreover, various modifications implemented within the scope of the claims and their equivalents are considered to be within the scope of this disclosure.

[0185] Industrial availability

[0186] This disclosure applies to the design of facilities where equipment is configured on-site at the FA.

[0187] Label Explanation

[0188] 10: Auxiliary device; 11: Timing diagram; 12: Control program; 13: 3D simulator; 20: PLC; 30-32, 301-303, 311-313, 321-324: Equipment; 31a, 32a: Axis; 40: User; 41, 42: Workpiece; 101: Processor; 102: Main storage unit; 103: Auxiliary storage unit; 104: Input unit; 105: Output unit; 106: Communication unit; 107: Internal bus; 110: Storage unit; 111: Equipment library; 112: Timing diagram data; 113: Equipment data; 114: Time length information; 120: Acquisition unit; 140: Generation unit ; 150: Correction section; 160: Analysis section; 170: Interface section; 180: Display section; 332: Wall; 333: Tray; 511-515, 517: Row; 518-521: Area; 522-525: Display component; 531: Block; 541, 542: Interval; 621: Solid line; 622, 623: Dot; 624: Dashed line; 701, 705: Line; 702: Button; 703: Drag bar; 704: Pointer; 706: Message; 707: Prototype action button; 708: Cursor; 1000: Auxiliary system; 1131: Simulation data; 1132: Auxiliary program; P1: Program.

Claims

1. A computer program product comprising a timing diagram generation program, said timing diagram generation program enabling a computer to function as: The acquisition unit acquires the control program executed by the programmable controller to control the controlled device and time length information related to the duration of the operation of the controlled device specified in the control program; A generation unit that generates a timing diagram of the action based on the control program and the time length information; and The output unit outputs display data for showing the generated timing diagram. The timing diagram includes lines with slopes corresponding to the time lengths. The control program represents the causal relationship between a predetermined trigger and the action that occurs according to that trigger. The time series diagram contains lines representing the causal relationships. The acquisition unit also acquires trigger information that maps the action to other triggers that occur through the action and represents it in a form equivalent to the control program. The generation unit generates the timing diagram based on the control program, the time length information, and the trigger information.

2. The computer program product according to claim 1, wherein, The acquisition unit acquires log information from when the control program is executed by the programmable controller or when the programmable controller is simulated to execute the control program, as the time length information. The generation unit obtains the time length based on the log information and generates the time sequence diagram.

3. A computer program product comprising a timing diagram generation program, said timing diagram generation program enabling a computer to function as: The acquisition unit acquires the control program executed by the programmable controller to control the controlled device and time length information related to the duration of the operation of the controlled device specified in the control program; A generation unit that generates a timing diagram of the action based on the control program and the time length information; and The output unit outputs display data for showing the generated timing diagram. The timing diagram includes lines with slopes corresponding to the time lengths. The acquisition unit acquires parameters used to cause the controlled device to perform an action as the time length information. The generation unit generates the time sequence diagram by using the calculation of the parameters or by referring to a database that stores the parameters and time lengths in correspondence.

4. The computer program product according to claim 1 or 3, wherein, The acquiring unit acquires fluctuation information representing the fluctuation of the time length. The generation unit generates the timing diagram representing the fluctuations.

5. The computer program product according to claim 1 or 3, wherein, The generation unit generates a timing diagram that emphasizes the period during which the operation of the controlled device is restricted by interlocking in the control program.

6. The computer program product according to claim 1 or 3, wherein, The timing diagram generation program also enables the computer to function as a simulation unit, which simulates the actions of the controlled device controlled by the programmable controller executing the control program in a three-dimensional virtual space. The generation unit generates the timing diagram representing the timing when the controlled device approaches other devices during the simulation in the simulation unit.

7. The computer program product according to claim 1 or 3, wherein, The controlled device is a servo motor. The acquiring unit also acquires device information related to the servo motor. The generation unit generates a timing diagram based on the device information, representing the peak value in the period time of the acceleration and deceleration of the servo motor as it operates according to the control program.

8. The computer program product according to claim 1 or 3, wherein, The acquiring unit also acquires equipment information related to the controlled device. The generation unit generates a timing diagram representing the power consumption of the controlled device when it performs actions according to the control program, based on the device information.

9. The computer program product according to claim 1 or 3, wherein, The controlled device is a cylinder. The acquiring unit also acquires equipment information related to the cylinder. The generation unit generates a timing diagram representing the air consumption of the cylinder when it operates according to the control program, based on the device information.

10. A timing diagram generation apparatus, comprising: The acquisition unit acquires the control program executed by the programmable controller to control the controlled device and time length information related to the duration of the operation of the controlled device specified in the control program; A generation unit that generates a timing diagram of the action based on the control program and the time length information; and The output unit outputs display data for showing the generated timing diagram. The timing diagram includes lines with slopes corresponding to the time lengths. The control program represents the causal relationship between a predetermined trigger and the action that occurs according to that trigger. The time series diagram contains lines representing the causal relationships. The acquisition unit also acquires trigger information that maps the action to other triggers that occur through the action and represents it in a form equivalent to the control program. The generation unit generates the timing diagram based on the control program, the time length information, and the trigger information.

11. A timing diagram generation apparatus, comprising: The acquisition unit acquires the control program executed by the programmable controller to control the controlled device and time length information related to the duration of the operation of the controlled device specified in the control program; A generation unit that generates a timing diagram of the action based on the control program and the time length information; and The output unit outputs display data for showing the generated timing diagram. The timing diagram includes lines with slopes corresponding to the time lengths. The acquisition unit acquires parameters used to cause the controlled device to perform an action as the time length information. The generation unit generates the time sequence diagram by using the calculation of the parameters or by referring to a database that stores the parameters and time lengths in correspondence.

12. An auxiliary system having: The timing diagram generation apparatus according to claim 10 or 11; and The programmable controller.

13. A method for generating a time series diagram, comprising the following steps: The generation unit generates a timing diagram of the actions based on the control program executed by the programmable controller to control the controlled device and time length information related to the duration of the actions of the controlled device specified in the control program; and The output unit outputs display data for displaying the generated timing diagram. The timing diagram includes lines with slopes corresponding to the time lengths. The control program represents the causal relationship between a predetermined trigger and the action that occurs according to that trigger. The time series diagram contains lines representing the causal relationships. The generation unit generates the timing diagram based on trigger information that maps the action to other triggers that occur through the action and is expressed in the same form as the control program, the control program, and the time length information.

14. A method for generating a time series diagram, comprising the following steps: The acquisition unit acquires the control program executed by the programmable controller to control the controlled device and time length information related to the duration of the operation of the controlled device specified in the control program; The generation unit generates a timing diagram of the action based on the control program and the time length information; and The output unit outputs display data for displaying the generated timing diagram. The timing diagram includes lines with slopes corresponding to the time lengths. The acquisition unit acquires parameters used to cause the controlled device to perform an action as the time length information. The generation unit generates the time sequence diagram by using the calculation of the parameters or by referring to a database that stores the parameters and time lengths in correspondence.