Information processing device, programmable display, information processing system, and information processing method
The information processing device addresses the issue of inconsistent task execution in numerical control devices by calculating and adjusting priorities based on user expectations, ensuring the programmable display executes tasks as intended, and reducing the need for hardware upgrades.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-09-13
- Publication Date
- 2026-03-26
AI Technical Summary
Existing numerical control devices lack the ability to reflect user preferences for function priority based on buffer status monitoring, leading to inconsistent execution of tasks.
An information processing device that calculates the sum of predicted execution times for multiple functions, determines priorities based on user-input expected execution values, and communicates these priorities to a programmable display to adjust execution accordingly.
Ensures the programmable display executes processing as expected by the user, even when functions cannot be completed within a unit of time, reducing the need for trial-and-error adjustments and minimizing hardware upgrades.
Smart Images

Figure 2026054339000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to an information processing apparatus, a programmable display, an information processing system, and an information processing method.
Background Art
[0002] Patent Document 1 discloses a numerical control device including a buffer that holds data analyzed by NC data analysis means, and acceleration / deceleration interpolation means that generates a command value to be output to a servo according to the data held in the buffer. The numerical control device further includes buffer status monitoring means for monitoring the status of the data held in the buffer and determining an excess or shortage of the number of data in the buffer.
[0003] Further, the numerical control device further includes task priority control means, and when the buffer status monitoring means determines that the number of data is insufficient, the task priority control means raises the priority of the NC data analysis processing task executed by the NC data analysis means. Further, when the buffer status monitoring means determines that the data is excessive, the task priority control means lowers the priority of the NC data analysis processing task.
Prior Art Documents
Patent Documents
[0004]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0005] However, in the numerical control device disclosed in Patent Document 1, it is not assumed that the user sets a threshold value that serves as a criterion for the buffer status monitoring means to determine an excess or shortage of the number of data. For this reason, there is a problem that the numerical control device cannot reflect the user's requests for each function of the numerical control device in the priority of the NC data analysis processing task.
[0006] One aspect of the present invention aims to enable a programmable display to execute the processing expected by the user for multiple functions, even when the programmable display determines that it cannot execute multiple functions scheduled to be executed within a unit of time. [Means for solving the problem]
[0007] To solve the above problems, an information processing device according to one aspect of the present invention is an information processing device that can communicate with a programmable display having a plurality of functions, comprising: a calculation unit that calculates the sum of the predicted execution times for the plurality of functions for each unit of time and calculates an index that shows the ratio of the sum to the unit of time; an input receiving unit that receives input from a user of expected execution values for the execution of each of the plurality of functions; a determination unit that determines a first priority and a second priority that indicate the priority of execution of the plurality of functions by the programmable display; and a communication unit that transmits the information determined by the determination unit to the programmable display, wherein, for each unit of time, if the index is less than or equal to a first threshold, the determination unit determines that the programmable display will execute the plurality of functions based on the first priority that is set in advance for the plurality of functions, and if the index is greater than the first threshold, the determination unit determines that the programmable display will execute the plurality of functions based on the second priority that is based on the expected execution value.
[0008] Furthermore, a programmable display according to one aspect of the present invention is a programmable display having a plurality of functions, comprising: a storage unit that stores a first priority and a second priority indicating the priority order of execution for the plurality of functions; and an execution unit that, when an index indicating the ratio of the sum of the predicted execution times of the plurality of functions in a unit of time to a unit of time is less than or equal to a first threshold, executes the plurality of functions based on the first priority, and when the index is greater than the first threshold, executes the plurality of functions based on the second priority, wherein the first priority is set in advance for the plurality of functions, and the second priority is determined for each unit of time based on the expected execution value for each of the plurality of functions, which is input by the user to an information processing device that can communicate with the programmable display.
[0009] Furthermore, an information processing method according to one aspect of the present invention is an information processing method for processing information relating to a programmable display having multiple functions, comprising: a calculation step of calculating the sum of predicted execution times for the multiple functions for each unit of time and calculating an index that shows the ratio of the sum to the unit of time; an input reception step of receiving input from a user regarding expected execution values for each of the multiple functions; a determination step of determining a first priority and a second priority that indicate the priority of execution of the multiple functions by the programmable display; and a transmission step of transmitting the information determined in the determination step to the programmable display, wherein in the determination step, for each unit of time, if the index is less than or equal to a first threshold, the programmable display is determined to execute the multiple functions based on the first priority that is set in advance for the multiple functions, and if the index is greater than the first threshold, the programmable display is determined to execute the multiple functions based on the second priority that is based on the expected execution value. [Effects of the Invention]
[0010] According to one aspect of the present invention, even if a programmable display determines that it cannot execute multiple functions scheduled to be performed within a unit of time, it can still execute the processing that the user expects for those multiple functions. [Brief explanation of the drawing]
[0011] [Figure 1] This is a block diagram showing an example of the configuration of an information processing system according to an embodiment of the present invention. [Figure 2] Figure 1 shows a flowchart illustrating an example of processing performed by an information processing device in the information processing system. [Figure 3] Figure 1 shows an example of a schedule indicating the planned execution of multiple functions by a programmable display in the information processing system. [Figure 4] Figure 2 is a flowchart detailing the process of step S3, which is performed by the information processing device. [Figure 5] This flowchart shows an example of a process performed by a programmable display in the information processing system shown in Figure 1. [Modes for carrying out the invention]
[0012] (Information processing system 100) Figure 1 is a block diagram showing an example of the configuration of an information processing system 100 according to an embodiment of the present invention. As shown in Figure 1, the information processing system 100 comprises an information processing device 1, a programmable display 2, a PLC (Programmable Logic Controller) 3, and a device 4. Note that the information processing system 100 may also comprise only the information processing device 1 and the programmable display 2.
[0013] (Information Processing Device 1) The information processing device 1 comprises a display unit 10, an input receiving unit 11, a storage unit 12, a communication unit 13, and a control unit 14. The information processing device 1 is, for example, a PC (Personal Computer) and is capable of communicating with the programmable display unit 2. The information processing device 1 is capable of creating screens to be displayed by the programmable display unit 2, and the information processing device 1 has drawing software (drawing editor) installed for creating screens to be displayed by the programmable display unit 2.
[0014] The display unit 10 is a monitor that displays the processing content of the information processing device 1. The input receiving unit 11 receives input from the user, and includes, for example, a keyboard for the user to input data and a mouse for the user to operate.
[0015] The memory unit 12 stores the processing details of the information processing device 1. The memory unit 12 also stores drawing software. The communication unit 13 is an interface unit for the information processing device 1 to communicate with the programmable display unit 2. The control unit 14 controls each part of the information processing device 1 and includes a calculation unit 141 and a determination unit 142.
[0016] (Programmable display unit 2) The programmable display unit 2 comprises a display unit 20, an input receiving unit 21, a storage unit 22, a communication unit 23, and a control unit 24. The programmable display unit 2 has multiple functions and is connected to the PLC 3. The programmable display unit 2 communicates with the PLC 3 by being connected to the PLC 3 via a communication cable. The programmable display unit 2 is a dedicated computer that realizes the operation and display functions unique to programmable displays by displaying a screen for operation and display, and is used as an HMI (Human Machine Interface) device.
[0017] The display unit 20 displays the screen created by the information processing apparatus 1 or the state of the device 4 based on the value acquired from the PLC 3. The input reception unit 21 is, for example, a touch panel that receives a touch operation by the user, and is provided so as to overlap the display unit 20. The storage unit 22 stores the processing content in the programmable display 2 and the screen created by the information processing apparatus 1.
[0018] The communication unit 23 is an interface unit for the programmable display 2 to communicate with the information processing apparatus 1 and the PLC 3. The control unit 24 executes an operation of displaying the state of the device 4 connected to the PLC 3 and an operation of controlling the state of the device 4 according to an operation on the input reception unit 21. These operations by the control unit 24 are realized via the PLC 3. Further, the control unit 24 controls each unit of the programmable display 2, and includes an execution unit 241, a correction unit 242, and a storage processing unit 243.
[0019] The PLC 3 is a control device that reads the state of the device 4 or gives a control instruction to the device 4 at a predetermined scan time according to a sequence program created by the user. The device 4 may include, for example, input devices such as sensors or switches, and output devices such as actuators, relays, solenoid valves, or displays.
[0020] (Processing of the information processing apparatus 1) FIG. 2 is a flowchart showing an example of the processing executed by the information processing apparatus 1 included in the information processing system 100 shown in FIG. 1. FIG. 3 is an example of a schedule showing a plan for executing a plurality of functions by the programmable display 2 included in the information processing system 100 shown in FIG. 1. The information processing apparatus 1 executes the processing shown in FIG. 2 using drawing software. The following description also serves as an explanation of an information processing method for processing information related not only to the information processing apparatus 1 but also to the programmable display 2.
[0021] As shown in Figure 2, the calculation unit 141 of the control unit 14 calculates the sum of the predicted execution times for multiple functions of the programmable display unit 2 for each unit of time, and calculates an index that shows the ratio of the sum to the unit of time (S1: calculation process). This will be explained in detail below.
[0022] The schedule shown in Figure 3 is stored in the memory unit 12. In Figure 3, the space between adjacent dotted lines indicates a unit time interval T1, and the shaded rectangles indicate the planned decision time required for the programmable display 2 to determine whether to execute each function. The white rectangles indicate the planned execution time required for the programmable display 2 to execute each function. The unit time T1 is, for example, 100 ms.
[0023] The scheduled judgment time varies depending on the settings in the drawing software. For example, in the case of an alarm function, the more variables assigned to the alarm, the longer the scheduled judgment time will be. In the case of a logging function, the scheduled judgment time tends to be shorter when logging is performed periodically compared to when logging is performed conditionally. When logging is performed conditionally, the more complex the conditions (for example, the more logical operations involved), the longer the scheduled judgment time will be.
[0024] Furthermore, the scheduled decision time also varies depending on the programmable display to which the screen data is transferred. For example, even with the same amount of processing, a programmable display equipped with a high-performance CPU will complete processing faster than a programmable display equipped with a lower-performance CPU. As a result, the scheduled decision time will be shorter.
[0025] The scheduled execution time, like the scheduled judgment time, varies depending on the settings in the drawing software and the programmable display to which the screen data is transferred. The same principle that applies to the scheduled judgment time, which varies depending on the settings in the drawing software and the programmable display to which the screen data is transferred, also applies to the scheduled execution time.
[0026] In Figure 3, Functions 1 to 6 are examples of functions possessed by the programmable display unit 2. For each of the multiple functions possessed by the programmable display unit 2, a scheduled determination time and a scheduled execution time are set, as well as a scheduled determination timing and a scheduled execution timing. The scheduled determination timing is the timing at which the programmable display unit 2 begins to determine whether to execute each function, and the scheduled execution timing is the timing at which the programmable display unit 2 begins to execute each function.
[0027] A creation unit (not shown) in the control unit 14 creates a schedule (e.g., a table) for multiple functions of the programmable display unit 2, including a scheduled determination timing, a scheduled determination time, a scheduled execution timing, and a scheduled execution time. The creation unit may store the created schedule in the storage unit 12 or provide it to the calculation unit 141. The communication unit 13 transmits the schedule created by the creation unit to the programmable display unit 2.
[0028] The calculation unit 141 references a schedule from the storage unit 12, or receives it from the creation unit, which shows the planned execution of multiple functions via the programmable display unit 2, and calculates the sum of the predicted execution times for each unit of time T1. This predicted execution time is the sum of the planned decision time and the planned execution time. The calculation unit 141 also calculates the sum of the planned decision times and the sum of the planned execution times for each unit of time T1.
[0029] The calculation unit 141 calculates an index that shows the ratio of the sum of the predicted execution times for multiple functions to the unit time T1 for each unit time T1. The unit of this index is, for example, percent (%). The calculation unit 141 calculates the index for each unit time T1 as shown in Figure 3. The index for each unit time T1 is shown at the top of Figure 3. For example, if the unit time T1 is 100ms and the index is 90%, the sum of the predicted execution times for the unit time T1 will be 90ms. Also, if the unit time T1 is 100ms and the index is 180%, the sum of the predicted execution times for the unit time T1 will be 180ms.
[0030] Next, the input receiving unit 11 receives input from the user regarding the expected execution values for each of the multiple functions (S2: input receiving process). Specifically, the user inputs the expected execution values to the information processing device 1 by operating the input receiving unit 11. The expected execution value is a numerical representation of the degree of expectation the user has for the execution of each of the multiple functions.
[0031] After the input receiving unit 11 receives the expected execution value, the determination unit 142 of the control unit 14 makes a determination regarding the first and second priorities, which indicate the execution priority of multiple functions related to the programmable display 2, at each unit time T1 (S3: determination step). The details of the process in step S3 are shown in Figure 4. Figure 4 is a flowchart showing the details of the process in step S3, which is executed by the information processing device 1 shown in Figure 2.
[0032] In step S3, as shown in Figure 4, the decision unit 142 determines whether, for each unit time T1, the index representing the sum of the predicted execution times for multiple functions relative to that unit time T1 is less than or equal to a first threshold (S21). The first threshold is, for example, 100%. If the decision unit 142 determines that the index is less than or equal to the first threshold (YES in S21), it decides that the programmable display 2 will execute multiple functions based on a first priority set in advance for the multiple functions (S22).
[0033] Here, the first priority may be pre-set for multiple functions in the programmable display 2. In this case, the first priority is pre-stored in the memory unit 22 of the programmable display 2. The first priority may also be hardcoded in the programmable display 2. Furthermore, the first priority may be pre-set for multiple functions in the information processing device 1. In this case, the first priority is pre-stored in the memory unit 12 of the information processing device 1.
[0034] After the processing in step S22, the determination unit 142 determines the time during which the execution of each of the multiple functions of the programmable display 2 will be stopped, which is a first stop time that is pre-set for each of the multiple functions in the programmable display 2 (S23). Then, the processing in step S3 ends.
[0035] On the other hand, if the decision unit 142 determines that the index is greater than the first threshold (NO in S21), it decides that the programmable display unit 2 will execute multiple functions based on the second priority based on the expected execution value (S24). The expected execution value is, for example, one of the following (1) to (4). An example of the expected execution value is shown in Table 1.
[0036] (1) A numerical value indicating the probability that the programmable display 2 will perform each of its multiple functions. (2) A numerical value indicating the order in which the programmable display 2 performs multiple functions. (3) A numerical value representing the ratio of the time spent by the programmable display 2 to the time spent performing each of its multiple functions relative to a unit of time T1. (4) A numerical value indicating the frequency with which the programmable display 2 performs each of its multiple functions in a unit of time T1.
[0037] [Table 1]
[0038] (If the expected value is (1)) If the expected execution value is a numerical value representing the probability of executing each of the multiple functions, the probabilities of executing functions 1 to 6 are represented as shown in the second column from the left in Table 1. In this case, the decision unit 142 determines the second priority so that when functions 1 to 6 are arranged in descending order of second priority, they become functions 4, 3, 5, 6, 2, and 1.
[0039] For example, since the probability of executing function 4 is 100%, if we consider a time interval T1 as one interval, function 4 will be executed within 10 out of 10 intervals. Also, since the probability of executing function 2 is 20%, function 2 will be executed within 1 out of 10 intervals. Therefore, the probability of executing a function is the probability that the processing of that function will be completed within 1 unit of time T1. Note that the probability of executing a function can also be rephrased as the acceptable time deviation relative to 1 unit of time T1.
[0040] (If the expected value is (2)) If the expected execution value is a numerical value indicating the order in which multiple functions are executed, the order in which functions 1 to 6 are executed is represented as shown in the third column from the left in Table 1. In this case, the decision unit 142 determines the second priority so that when functions 1 to 6 are arranged in descending order of second priority, the order becomes functions 4, 3, 5, 6, 2, 1. Also, if the expected execution value is a numerical value indicating the order, the decision unit 142 may determine the second stop time to be 0 in step S25, which will be described later.
[0041] (If the expected value is (3)) If the expected execution value is a numerical value representing the proportion of time spent executing each of multiple functions, the proportion of time spent executing functions 1 to 6 is represented as shown in the fourth column from the left in Table 1. In this case, the decision unit 142 determines the second priority so that when functions 1 to 6 are arranged in descending order of second priority, they become functions 4, 3, 5, 6, 2, and 1. In other words, in a time slice that defines the proportion of time allocated to processing each function during a unit of time T1, when these proportions are arranged in descending order, they become functions 4, 3, 5, 6, 2, and 1.
[0042] Furthermore, the time ratio for each function is the ratio of time allocated to the processing of each function when the time required to process all functions is set to the unit time T1 (downscaled) for a unit time T1 interval in which the index exceeds the first threshold. Also, if the expected execution value is a numerical value representing a time ratio, the decision unit 142 may determine the second stop time to be 0 in step S25 described later.
[0043] The proportion of time spent performing each of functions 1 through 6 may also be expressed as the time spent performing each of functions 1 through 6 within a unit of time T1.
[0044] (If the expected value is (4)) If the expected execution value is a numerical value indicating the frequency with which each of multiple functions is executed, the execution frequencies of functions 1 to 6 are shown in the fifth column from the left in Table 1. In this case, the decision unit 142 determines the second priority so that when functions 1 to 6 are arranged in descending order of second priority, the order becomes functions 4, 3, 5, 6, 2, 1. Furthermore, the execution frequency of each function is the proportion allocated to the processing of each function when the minimum processing time (e.g., 1 ms) is executed 100 times in a unit time interval T1 (100 ms) where the index exceeds the first threshold.
[0045] The frequency of executing functions 1 to 6 may be expressed as the number of times each of functions 1 to 6 is executed per unit time T1. Also, if the expected execution value is a numerical value indicating frequency, the determination unit 142 may determine the second stop time to be 0 in step S25 described later.
[0046] After the processing in step S24, the determination unit 142 determines a second stop time, which is the time during which the execution of each of the multiple functions by the programmable display 2 is suspended, based on the expected execution value (S25). Here, if the expected execution value is a numerical value indicating the probability of executing each of the multiple functions, the processing in step S25 will be described in detail below.
[0047] The decision unit 142 determines the second stop time to 0 for functions with an execution expectation of 100%. The decision unit 142 also determines the second stop time for functions with an execution expectation of less than 100% using the following equation (1). Note that the following equation (1) is an example of a calculation formula for determining the second stop time for functions with an execution expectation of less than 100%, and the parameters of equation (1) can be adjusted according to the processing time of each function.
[0048] T1 × 0.1 × (1-E1 / SA1)···(1)
[0049] In equation (1), T1 is the unit time, E1 is the expected execution value of the function whose second stop time is to be determined, and SA1 is the sum of the expected execution values of functions whose expected execution value is less than 100% within the unit time T1. For example, in the second column from the left of Table 1 and in Figure 3, if the unit time T1 is 100 ms, the second stop time of function 3 is as follows.
[0050] 100×0.1×(1-80 / (10+20+80+50+30))≒5.789[ms]
[0051] Note that the functions whose second downtime is determined are only those that are scheduled and predicted within the unit time T1. In the leftmost unit time T1 in Figure 3, all functions are scheduled and predicted, so the second downtime for function 3 is calculated according to the above formula. However, in the second unit time T1 from the left in Figure 3, only functions 1 and 2 are scheduled and predicted, so the second downtime for function 1 is as follows.
[0052] 100×0.1×(1-10 / (10+20))≒6.67[ms]
[0053] Furthermore, if there are functions that have not been completed in the previous unit time interval T1, the determination unit 142 also includes those functions in the calculation of the second stop time. The previous unit time interval T1 is the unit time interval T1 that is one unit time interval prior to the unit time interval T1 that is the target of the second stop time calculation.
[0054] For example, in the fourth unit time T1 from the left in Figure 3, the second stop time for function 2 is as follows:
[0055] 100×0.1×(1-20 / (10+20+80))≒8.182[ms]
[0056] When the process in step S25 is completed, the process in step S3 is completed.
[0057] After the processing in step S3, as shown in Figure 2, the communication unit 13 transmits the information determined by the determination unit 142 in step S3 to the programmable display unit 2 (S4: transmission process). For example, suppose there is a first threshold as a criterion for the programmable display unit 2 to be able to execute a function so that a certain margin is generated in a unit time T1. According to the above configuration, if the index is less than or equal to the first threshold, for example, consider the case where the programmable display unit 2 determines that it can execute multiple functions that are scheduled to be executed within a unit time T1. In this case, the programmable display unit 2 executes multiple functions based on the first priority, which is the initial priority, because it can execute the processing that the user expects for multiple functions.
[0058] In step S4, the communication unit 13 transmits the information shown in Figure 3 (scheduled judgment time and scheduled execution time) to the programmable display 2 so that the correction unit 242 can perform the processing in step S38, which will be described later.
[0059] On the other hand, consider a case where the indicator is greater than the first threshold, for example, when the programmable indicator 2 determines that it cannot execute multiple functions that are scheduled to be performed within a unit of time T1. In this case, the programmable indicator 2 executes the multiple functions based on a second priority based on the execution expectation value entered by the user. In this way, even when the programmable indicator 2 determines that it cannot execute multiple functions that are scheduled to be performed within a unit of time T1, it is still possible to execute the processing that the user expects for those multiple functions.
[0060] Furthermore, the programmable display 2 can execute the processing that the user expects for multiple functions simply by the user inputting the expected execution value into the input reception unit 11. This eliminates the need for the user to go through trial and error, such as adjusting the performance of each function based on its usage frequency and data volume, in order to adjust the performance of the multiple functions of the programmable display 2.
[0061] Furthermore, the number of expected execution values entered by the user in the input reception unit 11 is less than the number of parameters required by the user to adjust the performance of each function based on its usage frequency and data volume. This significantly reduces the amount of trial-and-error work required by the user.
[0062] If the control unit 24 is a CPU (Central Processing Unit), even if the number of CPU cores and performance are limited, the programmable display unit 2 can be made to execute the processing expected by the user for the multiple functions it has. Furthermore, after the programmable display unit 2 starts processing, there is no need to adjust the performance of each function based on the frequency of use and the amount of data for each function, and there is no need to change the hardware of the programmable display unit 2 to one with higher specifications. As a result, power consumption can be reduced.
[0063] In the information processing device 1, the user can input expected execution values in the input reception unit 11, so the user does not need to make difficult decisions regarding the multiple functions of the programmable display 2 (such as determining the execution order and execution time for each combination of functions).
[0064] Regarding step S2, if the expected execution value is a number indicating the probability that each of the multiple functions will be completed within a unit time T1, the user can input a number indicating that probability. Therefore, even if the programmable indicator 2 determines that it cannot execute the multiple functions scheduled to be executed within a unit time T1, the user can still execute the processes for the multiple functions with the probability they expect. Similarly, the programmable indicator 2 can execute the processes for the multiple functions in the order, time ratio, or frequency that the user expects.
[0065] Furthermore, the following effects can be obtained from the processing in steps S23 and S25. Specifically, even if the programmable display 2 determines that it cannot execute multiple functions that are scheduled to be executed within a unit time T1, it can determine the time at which the execution of each of the functions will be suspended so that the user can execute the processing that the user expects for each of the functions.
[0066] (Processing of programmable display 2) Figure 5 is a flowchart illustrating an example of processing performed by the programmable display 2 of the information processing system 100 shown in Figure 1. As shown in Figure 5, the communication unit 23 receives information determined by the information processing device 1 from the information processing device 1 (S31). Specifically, the communication unit 23 receives information transmitted from the communication unit 13 in step S4.
[0067] The memory processing unit 243 of the control unit 24 stores the information received by the communication unit 23 in step S31 in the memory unit 22 (S32). At this time, the memory processing unit 243 stores the first priority, second priority, and second stop time in the memory unit 22. As a result, the memory unit 22 stores the first priority and second priority, which indicate the priority order of execution for multiple functions.
[0068] Next, the execution unit 241 of the control unit 24 refers to the information stored in the storage unit 22 and determines whether it has been decided to execute multiple functions based on the first priority (S33). If the execution unit 241 determines that it has been decided to execute multiple functions based on the first priority (YES in S33), it executes the multiple functions based on the first priority (S34).
[0069] If the answer in step S33 is YES, the process in step S22 shown in Figure 4 is executed, which means that the decision unit 142 determined in step S21 that the index is below the first threshold. Therefore, if the index, which shows the ratio of the sum of the predicted execution times of multiple functions in a unit time T1 to the unit time T1, is below the first threshold, the execution unit 241 executes multiple functions based on the first priority. After the processing in step S34, the processing by the control unit 24 proceeds to the processing in step S36.
[0070] On the other hand, if the execution unit 241 determines that it has been decided to execute multiple functions based on the second priority (NO in S33), it executes the multiple functions based on the second priority (S35). The second priority is determined for each unit of time T1 based on the expected execution value for each of the multiple functions that was input by the user to the information processing device 1 in step S2 shown in Figure 2.
[0071] If the answer in step S33 is NO, the process in step S24 shown in Figure 4 is executed, which means that the decision unit 142 determined in step S21 that the index is greater than the first threshold. Therefore, if the index, which shows the ratio of the sum of the predicted execution times of multiple functions in a unit time T1 to the unit time T1, is greater than the first threshold, the execution unit 241 executes multiple functions based on the second priority. After the processing in step S35, the processing by the control unit 24 proceeds to the processing in step S36.
[0072] After the processing in step S34 or S35, the correction unit 242 increments the counter value i by 1 (S36). After incrementing the counter value i by 1, the correction unit 242 determines whether the counter value i exceeds a predetermined value N (N can be set arbitrarily and is a natural number) (S37). If the correction unit 242 determines that the counter value i does not exceed the predetermined value N (NO in S37), the processing of the programmable display 2 returns to step S31. Note that the processing in steps S31 to S36 is executed every unit time T1.
[0073] If the correction unit 242 determines that the counter value i exceeds a predetermined value N (YES in S37), it determines whether the difference between the predicted execution time of the multiple functions and the execution time of the multiple functions executed by the execution unit 241 in a unit time T1 is greater than or equal to a second threshold (S38). The second threshold can be set according to the functions provided by the programmable display unit 2. For example, the second threshold can be a value equivalent to 20% of the difference between the execution time and the predicted execution time (e.g., 20ms), or a user-specified value in the information processing device 1.
[0074] In step S38, the predicted execution time is the sum of the scheduled decision time and the scheduled execution time for each of the multiple functions. The scheduled decision time is the rectangle shown with diagonal lines in the schedule shown in Figure 3, and the scheduled execution time is the rectangle shown in white in the schedule shown in Figure 3.
[0075] Furthermore, in step S38, the execution time during which the execution unit 241 executes multiple functions is the sum of the determination time and the processing time. The determination time is the time required for the execution unit 241 to determine whether to execute multiple functions, and the processing time is the time required for the execution unit 241 to execute multiple functions.
[0076] If the correction unit 242 determines that the difference between the predicted execution time and the actual execution time is greater than or equal to the second threshold (YES in S38), it corrects the predicted execution times of multiple functions based on the actual execution time in a unit of time T1 (S39).
[0077] Specifically, the correction unit 242 individually corrects the predicted execution time for each of the multiple functions. For example, consider a case where the predicted judgment time for function 1 was 10ms and the predicted execution time was 30ms, but the actual judgment time was 5ms and the actual execution time was 50ms. In this case, the correction unit 242 uses these values to correct the predicted judgment time and the predicted execution time for function 1. Similarly, the correction unit 242 corrects the predicted execution times for functions 2 to 6. Then, the series of processes shown in Figure 5 are completed.
[0078] On the other hand, if the correction unit 242 determines that the difference between the predicted execution time and the actual execution time is less than the second threshold (NO in S38), the series of processes shown in Figure 5 ends.
[0079] In step S38, for example, the correction unit 242 may use the average execution time of multiple functions from the time the programmable display 2 is started up to the present time as the execution time in step S38. Also, since the storage unit 22 of the programmable display 2 has limited capacity, the correction unit 242 may set restrictions on the items for which it calculates the average execution time. For example, the average execution time over past units of time T1 × a predetermined value N may be used as the execution time in step S38.
[0080] The correction unit 242 then determines whether the difference between the predicted execution time and the actual execution time is greater than or equal to the second threshold. If the answer is YES in step S38, in step S39, the correction unit 242 may correct the current predicted execution time to the average value of the current predicted execution time and the actual execution time in step S38. Alternatively, in step S39, the correction unit 242 may perform a correction that replaces the current predicted execution time with the actual execution time in step S38.
[0081] In this way, the correction unit 242 corrects the predicted execution time based on the actual execution time of multiple functions executed by the execution unit 241. This improves the accuracy of the index that shows the ratio of the sum of the predicted execution time to a unit time T1. Therefore, it is possible to improve the accuracy of the determination of whether to execute multiple functions based on the first priority or the second priority.
[0082] (Variation 1) The control unit 24 of the programmable display unit 2 may be a control device such as a CPU having multiple cores as an execution unit 241 that performs multiple functions. In this case, as a result of the processing in step S32, the storage unit 22 stores an index, a first priority, and a second priority for the multiple functions that each of the multiple cores performs.
[0083] Furthermore, each of the multiple cores executes the processing in steps S33 to S35 for the multiple functions that it itself performs from among the multiple functions of the programmable display 2. In other words, the multiple cores share the processing in steps S33 to S35 for the multiple functions of the programmable display 2. Therefore, each of the multiple cores executes multiple functions based on the first priority when the index is less than or equal to the first threshold, and executes multiple functions based on the second priority when the index is greater than the first threshold.
[0084] In this way, each of the multiple cores in the control unit 24 performs multiple functions. Furthermore, each of the multiple cores can determine whether to perform the multiple functions based on the first priority or the second priority.
[0085] Furthermore, in steps S21, S22, and S24, the determination unit 142 may determine the number of cores according to the target hardware selected in the drawing software (such as the control unit 24 of the programmable display unit 2), and determine the index, first priority, and second priority according to that number of cores.
[0086] For example, if the programmable display unit 2 is a PC, the drawing software cannot determine the number of cores in the PC. However, by having the input receiving unit 11 accept input from the user regarding the number of cores in the PC, the determination unit 142 can obtain the number of cores from the input receiving unit 11.
[0087] Furthermore, if the programmable display unit 2 has a function to dynamically change the number of cores, a situation may arise where the actual number of cores differs from the number of cores that the determination unit 142 had determined in the drawing software. In this case, the execution unit 241 of the programmable display unit 2 may stop the operation of the programmable display unit 2 as an error handling measure.
[0088] (Modification 2) Regarding step S24, consider the case where the expected execution value is a numerical value representing the probability that the processing of each of the multiple functions will be completed within a unit time T1 (i.e., the expected execution value is (1)). In this case, for example, in the second column from the left of Table 1, the probability of function 4 is 100%, so if the unit time T1 is 100 ms, function 4 may be executed according to the predetermined time. Furthermore, the above probability can also be rephrased as a predetermined time deviation that is acceptable with respect to the unit time T1.
[0089] Furthermore, since the probability of function 5 occurring is 50%, function 5 may be executed in unit time T1 or the next unit time T1. In other words, if unit time T1 is 100ms, function 5 may be executed with a deviation of up to 100ms from a predetermined time. Note that the probability of executing a function and the allowable time deviation may be predetermined to correspond.
[0090] (Variation 3) In step S38, the predicted execution time may be the scheduled decision time for each of the multiple functions, and the execution time for which the multiple functions are executed by the execution unit 241 may be the decision time. In this case, the correction unit 242 obtains the time difference between the start time of the decision process and the end time of the decision process for each of the multiple functions.
[0091] For example, the correction unit 242 may use the average value of the time difference acquired from the time the programmable display unit 2 was started up to the present time as the determination time. Also, the storage unit 22 of the programmable display unit 2 has limited capacity. For this reason, the correction unit 242 may set restrictions on the target for calculating the average value of the time difference. For example, the average value of the time difference acquired over past unit time T1 × predetermined value N may be used as the determination time in step S38.
[0092] The correction unit 242 then determines whether the difference between the scheduled determination time and the actual determination time is greater than or equal to the second threshold. If the answer in step S38 is YES, in step S39 the correction unit 242 may correct the current scheduled determination time to the average value of the current scheduled determination time and the actual determination time. Alternatively, in step S39 the correction unit 242 may perform a correction that replaces the current scheduled determination time with the actual determination time.
[0093] (Modification 4) In step S38, the predicted execution time may be the scheduled execution time for each of the multiple functions, and the execution time for the multiple functions executed by the execution unit 241 may be the processing time. In this case, the correction unit 242 obtains the time difference between the start time of the execution process and the end time of the execution process for each of the multiple functions.
[0094] For example, the correction unit 242 may use the average value of the time difference acquired from the time the programmable display unit 2 was started up to the present time as the processing time. Also, the storage unit 22 of the programmable display unit 2 has limited capacity. For this reason, the correction unit 242 may set restrictions on the target for calculating the average value of the time difference. For example, the average value of the time difference acquired over past unit time T1 × predetermined value N may be used as the processing time in step S38.
[0095] The correction unit 242 then determines whether the difference between the scheduled execution time and the processing time is greater than or equal to the second threshold. If the answer in step S38 is YES, in step S39 the correction unit 242 may correct the current scheduled execution time to the average value of the current scheduled execution time and the processing time. Alternatively, in step S39 the correction unit 242 may perform a correction that replaces the current scheduled execution time with the processing time. Instead of step S38, the correction unit 242 may determine whether the difference between the scheduled execution time and the processing time is greater than or equal to the third threshold. The third threshold may be the same value as the second threshold, or it may be a different value from the second threshold.
[0096] [Examples of implementation using software] The functions of the information processing device 1 and the programmable display 2 (hereinafter referred to as "the device") can be realized by a program that causes the device to function as a computer, and by a program that causes each control block of the device (particularly each part included in the control units 14 and 24) to function as a computer.
[0097] In this case, the device includes a computer having at least one control device (e.g., a processor) and at least one storage device (e.g., memory) as hardware for executing the program. By executing the program using this control device and storage device, each of the functions described in the above embodiment is realized.
[0098] The above program may be recorded on one or more computer-readable recording media, not temporary ones. These recording media may or may not be provided by the above device. In the latter case, the program may be supplied to the above device via any wired or wireless transmission medium.
[0099] Furthermore, some or all of the functions of each of the above control blocks can also be realized by logic circuits. For example, an integrated circuit in which logic circuits functioning as each of the above control blocks are formed is also included in the scope of the present invention. In addition, it is also possible to realize the functions of each of the above control blocks by, for example, a quantum computer.
[0100] Furthermore, each process described in the above embodiment may be performed by AI (Artificial Intelligence). In this case, the AI may operate on the control device described above, or it may operate on other devices (for example, an edge computer or a cloud server).
[0101] 〔summary〕 An information processing device according to Embodiment 1 of the present invention is an information processing device capable of communicating with a programmable display having a plurality of functions, comprising: a calculation unit that calculates the sum of the predicted execution times for the plurality of functions for each unit of time and calculates an index that shows the ratio of the sum to the unit of time; an input receiving unit that receives input from a user of expected execution values for the execution of each of the plurality of functions; a determination unit that determines a first priority and a second priority that indicate the priority of execution of the plurality of functions by the programmable display; and a communication unit that transmits the information determined by the determination unit to the programmable display, wherein, for each unit of time, if the index is less than or equal to a first threshold, the determination unit determines that the programmable display will execute the plurality of functions based on the first priority that is set in advance for the plurality of functions, and if the index is greater than the first threshold, the determination unit determines that the programmable display will execute the plurality of functions based on the second priority that is based on the expected execution value.
[0102] In the information processing apparatus according to aspect 2 of the present invention, in aspect 1 described above, the expected execution value may be any of the following: a numerical value indicating the probability that the programmable display will perform each of the plurality of functions; a numerical value indicating the order in which the programmable display will perform the plurality of functions; a numerical value indicating the ratio of the time the programmable display will perform each of the plurality of functions to the unit time; or a numerical value indicating the frequency with which the programmable display will perform each of the plurality of functions within the unit time.
[0103] In the information processing apparatus according to embodiment 3 of the present invention, in embodiment 1 or 2 described above, the determination unit may, for each unit of time, determine a first stop time, which is the time during which the execution of each of the multiple functions by the programmable display is stopped, if the index is less than or equal to the first threshold, and determine a second stop time, which is the time during which the execution of each of the multiple functions by the programmable display is stopped, based on the expected execution value.
[0104] A programmable display according to aspect 4 of the present invention is a programmable display having a plurality of functions, comprising: a storage unit that stores a first priority and a second priority indicating the priority order of execution for the plurality of functions; and an execution unit that, when an index indicating the ratio of the sum of the predicted execution times of the plurality of functions in a unit of time to a unit of time is less than or equal to a first threshold, executes the plurality of functions based on the first priority, and when the index is greater than the first threshold, executes the plurality of functions based on the second priority, wherein the first priority is set in advance for the plurality of functions, and the second priority is determined for each unit of time based on the expected execution value for each of the plurality of functions, which is input by the user to an information processing device that can communicate with the programmable display.
[0105] A programmable display according to aspect 5 of the present invention further comprises a control device having a plurality of cores as the execution unit that performs the plurality of functions, the storage unit stores the index, the first priority and the second priority for the plurality of functions that each of the plurality of cores performs, and each of the plurality of cores may perform the plurality of functions based on the first priority if the index is less than or equal to the first threshold, and perform the plurality of functions based on the second priority if the index is greater than the first threshold.
[0106] In the programmable display according to embodiment 6 of the present invention, in embodiment 4 or 5 described above, if the difference between the predicted execution time of the plurality of functions and the execution time during which the plurality of functions are executed by the execution unit is greater than or equal to a second threshold, the programmable display may further include a correction unit that corrects the predicted execution time of the plurality of functions based on the execution time in the given unit.
[0107] The information processing system according to aspect 7 of the present invention may, in any of aspects 1 to 3 above, include the information processing device and the programmable display, and in any of aspects 4 to 6 above, it may include the information processing device and the programmable display.
[0108] An information processing method according to aspect 8 of the present invention is an information processing method for processing information relating to a programmable display having a plurality of functions, comprising: a calculation step of calculating the sum of the predicted execution times for the plurality of functions for each unit of time and calculating an index that shows the ratio of the sum to the unit of time; an input reception step of receiving input from a user regarding the expected execution value for each of the plurality of functions; a determination step of determining a first priority and a second priority that indicate the priority of execution of the plurality of functions by the programmable display; and a transmission step of transmitting the information determined in the determination step to the programmable display, wherein in the determination step, for each unit of time, if the index is less than or equal to a first threshold, the programmable display decides to execute the plurality of functions based on the first priority that is set in advance for the plurality of functions, and if the index is greater than the first threshold, the programmable display decides to execute the plurality of functions based on the second priority that is based on the expected execution value.
[0109] Each aspect of the present invention may be implemented by a computer, in which case the information processing program for the information processing device that enables the computer to implement the information processing device by operating the computer as each part (software element) of the information processing device, and a computer-readable recording medium on which the program is recorded, also fall within the scope of the present invention.
[0110] Furthermore, each aspect of the present invention may be implemented by a computer. In this case, a control program for the programmable display that enables the computer to implement the programmable display by operating the computer as each part (software element) of the programmable display, and a computer-readable recording medium on which the programmable display is recorded, also fall within the scope of the present invention.
[0111] The present invention is not limited to the embodiments described above, and various modifications are possible within the scope of the claims. Configurations obtained by appropriately combining the multiple technical means disclosed in the embodiments are also included in the technical scope of the present invention. [Explanation of symbols]
[0112] 1. Information Processing Device 2. Programmable Display 11 Input reception section 13 Communications Department 22 Memory section 24 Control Unit (Control Device) 100 Information Processing Systems 141 Calculation Section 142 Decision Section 241 Execution Department 242 Correction section T1 Unit time
Claims
1. An information processing device capable of communicating with a programmable display having multiple functions, A calculation unit calculates the sum of the predicted execution times for each of the multiple functions for each unit of time, and calculates an index that shows the ratio of the sum to the unit of time, An input receiving unit that receives input from the user regarding the expected execution value for each of the aforementioned multiple functions, A determination unit that determines the first priority and second priority indicating the execution priority of the multiple functions by the programmable display, The system includes a communication unit that transmits the information determined by the determination unit to the programmable display, The determination unit, at each unit time, If the indicator is below the first threshold, the programmable display decides to execute the multiple functions based on the first priority set in advance for the multiple functions. An information processing device characterized in that, if the indicator is greater than the first threshold, the programmable display determines to execute the plurality of functions based on the second priority based on the expected execution value.
2. The aforementioned expected execution value is, A numerical value indicating the probability that the programmable display will perform each of the multiple functions, The programmable display shows a numerical value indicating the order in which the multiple functions are performed, A numerical value representing the ratio of the time the programmable display takes to perform each of the multiple functions relative to the unit time, The information processing apparatus according to claim 1, characterized in that it is either a numerical value indicating the frequency with which the programmable display performs each of the plurality of functions in the given unit of time, or
3. The determination unit, at each unit time, If the index is less than or equal to the first threshold, the time during which the execution of each of the multiple functions by the programmable display is stopped is determined to be a first stop time that is pre-set for each of the multiple functions in the programmable display. The information processing apparatus according to claim 1 or 2, characterized in that, if the index is greater than the first threshold, a second stop time is determined based on the expected execution value, which is the time during which the execution of each of the multiple functions by the programmable display is stopped.
4. A programmable display having multiple functions, A storage unit that stores a first priority and a second priority indicating the execution priority for the aforementioned multiple functions, The system includes an execution unit which, if an index showing the ratio of the sum of the predicted execution times of the plurality of functions in a given unit of time to a given unit of time is less than or equal to a first threshold, executes the plurality of functions based on a first priority, and if the index is greater than the first threshold, executes the plurality of functions based on a second priority, The first priority is predetermined for the multiple functions, The programmable display is characterized in that the second priority is determined based on the expected execution value for each of the multiple functions, which is input by the user to an information processing device that can communicate with the programmable display, for each unit of time.
5. The control device further comprises a control unit having multiple cores as the execution unit that performs the aforementioned multiple functions, The memory unit stores the index, the first priority, and the second priority for each of the multiple functions performed by each of the multiple cores. The programmable display according to claim 4, characterized in that each of the plurality of cores executes the plurality of functions based on the first priority when the index is less than or equal to the first threshold, and executes the plurality of functions based on the second priority when the index is greater than the first threshold.
6. The programmable display according to claim 4 or 5, further comprising a correction unit that corrects the predicted execution time of the plurality of functions based on the execution time in the unit time if the difference between the predicted execution time of the plurality of functions and the execution time in which the plurality of functions are executed by the execution unit is greater than or equal to a second threshold.
7. An information processing system characterized by comprising the information processing device according to claim 1 or 2, and the programmable display.
8. An information processing method for processing information about a programmable display having multiple functions, A calculation step of calculating the sum of the predicted execution times for each of the multiple functions for each unit of time, and calculating an index that shows the ratio of the sum to the unit of time, An input receiving step that receives input from the user regarding the expected execution value for each of the aforementioned multiple functions, A decision step for determining the first priority and second priority that indicate the execution priority of the multiple functions by the programmable display, The process includes a transmission step of transmitting the information determined in the determination step to the programmable display, In the aforementioned decision process, at each unit time, If the indicator is below the first threshold, the programmable display decides to execute the multiple functions based on the first priority set in advance for the multiple functions. An information processing method characterized in that, if the indicator is greater than the first threshold, the programmable display determines to execute the plurality of functions based on the second priority based on the expected execution value.
Citation Information
Patent Citations
Numerical controller
JP2001034320A