The present invention relates to an information processing device operated in cooperation with a control device that executes control of a control object.
In the related art, in order to reduce a processing load of an industrial controller, an industrial control system of a type that uses various units operated in cooperation with a controller together is known. In such a system, the controller and the units share the same memory, and the controller or the units may be operated to access the shared memory and read and write data. However, when the controller and the units can disorderly access the shared memory, “memory contention” will occur because each access occurs at the same timing, and as a result, reading/writing of data to be processed with priority may be delayed.
Here, in the related art, examples of technologies for avoiding occurrence of such memory contention are proposed in, for example, Patent Literatures 1 and 2.
Patent Literature 1 discloses a memory access arbitration device including a first control unit configured to output a request signal to obtain use permission of the shared memory at a random timing, a second control unit configured to output a request signal to obtain use permission of the shared memory at each constant cycle, and an arbitration unit configured to arbitrate the request signal output from each of the first control unit and second control unit, wherein a determination unit configured to receive the output of the request signal from the second control unit and output an ack prohibition signal that prohibits the arbitration unit from outputting an ack signal to the first control unit to the arbitration unit is provided.
Patent Literature 2 discloses an arbitration system configured to arbitrate use requests of a plurality of devices with respect to a shared resource according to a prescribed priority ranking and selectively permit use of the shared resource, including a time counting part configured to count a time from a use request permission start of a specific device having a need to transfer data within a constant time in the plurality of devices that are arbitration objects to the next use request permission start and generate a timeout signal when it is detected that selection of the use request permission of the specific device is not within a predetermined time, and an arbitration unit configured to permit a use request of the specific device at each constant time by changing a priority ranking of the specific device to the highest or at least the second highest according to the timeout signal from the time counting part.
[Patent Literature 1]
Japanese Patent Laid-Open No. 2005-115421
[Patent Literature 1]
Japanese Patent Laid-Open No. H09-91194
In the technology of Patent Literature 1, both of the first control unit and the second control unit need to access to the arbitration unit to arbitrate and receive the access to the memory. For this reason, for example, when the first control unit is used as a CPU of an industrial controller, since a processing load (request transmission, ACK reception, or the like) of the CPU for arbitration is increased, a control cycle of the CPU is increased. As a result, there is a problem that the CPU cannot execute processing in a constant cycle.
Even in the technology of Patent Literature 2, the plurality of devices and the one CPU need to access the arbitration circuit to avoid memory contention. Accordingly, since the processing load (request transmission, ACK reception, or the like) of the CPU for arbitration is increased, the control cycle of the CPU becomes longer. As a result, there is a problem that the CPU cannot execute processing in a constant cycle.
In order to solve the above-mentioned problems, an objective of the present invention is to prevent occurrence of memory contention without executing arbitration processing in a computation unit of a control device to prevent the memory contention.
An information processing device according to an aspect of the present invention is an information processing device connected to a control device including a first memory connected to a serial bus, and a first communication part connected to the serial bus and configured to communicate with the first memory via the serial bus, the information processing device including: a generating part configured to generate a plurality of pieces of smallest payload data from communication data transmitted to the first memory via the serial bus; a transmission part configured to sequentially transmit the smallest payload data to the first memory via the serial bus at each constant time; a computation part configured to calculate a transmission time of the smallest payload data transmitted by the transmission part at a first point of time; a determination part configured to determine whether the calculated transmission time exceeds a predetermined reference value; and a transmission control part configured to cause the transmission part to stand by for transmission of the smallest payload data during a constant duration from a second point of time when it is determined that the transmission time has been determined as exceeding the reference value to a third point of time when the transmission part transmits the smallest payload data transmitted after the latest smallest payload data that has been transmitted at the second point of time.
According to the aspect of the present invention, it is possible to minimize occurrence of memory contention without executing arbitration processing for preventing memory contention in a computation unit of a control device.
Hereinafter, an embodiment related to one aspect of the present invention (hereinafter, referred to as “the embodiment”) will be described with reference to the accompanying drawings.
§ 1 APPLICATION EXAMPLE
First, an example of a situation to which the present invention is applied will be described with reference to
As shown in
The protocol control part 33 calculates a transmission time T2 of smallest payload data D6 transmitted to the memory 12 at a time t4 based on, for example, a time t5 when ACK with respect to the smallest payload data D6 is received. When it is determined that the calculated transmission time T2 exceeds a predetermined reference value set in the unit 20, the protocol control part 33 assumes that memory contention occurs between the CPU 11 and the protocol control part 33, and transmission of smallest payload data D8 transmitted subsequently to smallest payload data D7 upon transmission at an ACK reception point of time is on standby for a predetermined duration T3. Accordingly, since transmission of the large capacity data is on standby during the duration T3, even when the CPU 11 continues transfer of the control data in the duration T3, memory contention does not easily occur. As a result, in each control cycle, occurrence of memory contention between the CPU 11 and the protocol control part 33 can be minimized.
§ 2 CONFIGURATION EXAMPLE
(Configuration of Control System 1)
The control system 1 is a system configured to control production facilities in which a plurality of control objects such as various instruments or facilities (not shown) are installed. The PLC 10 is a type of controller configured to control these control objects in the control system 1. The PLC 10 and the control objects are connected to a network of a control system such as a field network or the like (not shown). The PLC 10 transmits and receives various control data to the control object and thus controls the production facilities by periodically communicating with the control objects via the network of the control system. The PLC 10 further generates large capacity data used for statistics processing or the like of an operational status or the like of the control system 1 on the basis of the data collected from each of the control objects, and stores the data in the memory 12.
The unit 20 is a device (an information processing device) connected to the PLC 10 and operates in cooperation with the PLC 10. In the embodiment, the unit 20 takes charge of various types of processing applied to the large capacity data generated by the PLC 10 to reduce, for example, a processing load of the CPU 11 of the PLC 10. As such processing, for example, packet division processing, abnormality processing, and the like, are exemplified.
(Detailed Configuration of PLC 10)
In the PLC 10, each of the CPU 11, the memory 12, and the switching part 13 is connected to the serial bus 15. One end of the serial bus 15 is connected to the communication interface 42 in the protocol control part 33 of the unit 20. The serial bus 15 is a communication route on which serial communication is executed, for example, a Peripheral Component Interconnect express (PCIe) bus.
The CPU 11 is a processor configured to generally control operations of the PLC 10. The memory 12 is any of various types of non-volatile recording media such as a read only memory (ROM) or the like. The switching part 13 switches a communication partner of the transfer part 25 to the CPU 11 or the memory 12. The CPU 11 can relay communication between the CPU 11 and the memory 12. Accordingly, the CPU 11 relays each of communication between the transfer part 25 and the memory 12 and communication between the transfer part 25 and the CPU 11. The protocol control part 14 transmits and receives data according to a communication protocol appropriate for serial communication on the serial bus 15.
Control data is stored in the memory 12 to control the control object in the control system 1. The CPU 11 reads the control data from the memory 12, and periodically transmits the data to the control object. The CPU 11 starts one control cycle upon occurrence of any event (for example, reading start of the control data) as a trigger. Then, while the control cycle continues, various types of controls (for example, transmission of the control data or the like) to be executed in each cycle are executed.
(Detailed Configuration of Unit 20)
The MPU 21, the memory 22, the switching part 23, and the DMAC 31 are connected to a serial bus 26 in the unit 20. Specifically, the DMAC 31 is connected to the serial bus 15 via the protocol control part 33. The DMAC 31 is also further connected to the serial bus 15 via the protocol control part 32. The serial bus 26 is, for example, a Peripheral Component Interconnect express (PCIe) bus. Both the CPU 11 and the DMAC 31 are connected to the memory 12 via the serial bus 15, and thus the CPU 11 and the DMAC 31 share the memory 12.
The micro processing unit (MPU) 21 is a processor configured to generally control operations of the unit 20. The MPU 21 executes various types of processing such as the above-mentioned packet division processing, abnormality processing, and the like. The memory 22 is various types of non-volatile recording media such as a read only memory (ROM) and the like. The large capacity data or the like transferred from the unit 20 is stored in the memory 22.
The switching part 23 switches a communication partner of the transfer part 25 to the MPU 21 or the memory 22. Accordingly, each of communication between the transfer part 25 and the memory 22 and communication between the transfer part 25 and the MPU 21 is relayed. The switching part 23 can also relay communication between the 1VIPU 21 and the memory 22. The protocol control part 24 transmits and receives data to and from the protocol control part 32 according to a communication protocol appropriate for serial communication on the serial bus 26.
The transfer part 25 executes data transfer between the PLC 10 and the unit 20 according to control by the 1VIPU 21 or the CPU 11. The DMAC 31 and the protocol control part 33 in the transfer part 25 take charge of communication with the memory 12 via the serial bus 15. The DMAC 31 is a controller configured to read and write large capacity data in the memory 12 through direct access to the memory 12 with no intervention of the CPU 11. The DMAC 31 transfers, for example, the large capacity data read from the memory 12 to the DMAC 31 through serial communication on the serial bus 15, further transfers the data to the memory 22 through serial communication on the serial bus 26, and thus writes the data on the memory 22. The DMAC 31 can also write the large capacity data read from the memory 22 on the memory 12 by transferring the data to the memory 12 through serial communication on the serial bus 15.
The protocol control part 32 cooperates with the protocol control part 24 and executes serial communication of data on the serial bus 15 according to a communication protocol appropriate for the serial communication on the serial bus 26.
The protocol control part 33 cooperates with the protocol control part 14 and executes serial communication of data on the serial bus 15 according to a communication protocol appropriate for the serial communication on the serial bus 15. The smallest payload data generating part 41 in the protocol control part 33 receives the large capacity data transferred to the memory 12 by the DMAC 31 from the DMAC 31, divides the data into a plurality of pieces of smallest payload data, and thus generates each piece of smallest payload data. The smallest payload data is data of a minimum unit communicated upon serial communication on the serial bus 15. The smallest payload data generating part 41 transmits the generated smallest payload data to the communication interface 42. The smallest payload data generating part 41 outputs the transmission instruction of the smallest payload data to the ACK monitoring part 43 and the communication interface 42 at each constant time. The communication interface 42 receives this and transmits each piece of smallest payload data to the memory 12 via the serial bus 15 one by one at each constant time.
The ACK monitoring part 43 monitors whether an ACK with respect to the transmitted smallest payload data is received. The ACK is a completion report indicating that the smallest payload data is written on the memory 12. The protocol control part 14 of the unit 20 transmits the ACK indicating that writing of the smallest payload data is terminated to the unit 20 via the serial bus 15 when the smallest payload data received from the unit 20 is written on the memory 12. The ACK monitoring part 43 can calculate a transmission time of the smallest payload data based on reception of the ACK.
(Flow of Data Transfer)
The protocol control part 33 does not start transmission of the large capacity data at the time t1. Accordingly, after the time t1, the CPU 11 continues transfer of the control data without causing memory contention with the transfer part 25. The CPU 11 completes transfer of the five pieces of smallest payload data R1 to R5 from the time t1 to a time t2, and thus completes transfer of the control data to the CPU 11 in the control cycle C1.
The transfer part 25 starts transmission of the large capacity data to the memory 12 at the time t2 in the control cycle C1. Here, the smallest payload data generating part 41 outputs a transmission instruction of smallest payload data D1 of the transmission object to the ACK monitoring part 43 and the communication interface 42. The ACK monitoring part 43 receives this and starts reception monitoring of the ACK with respect to the smallest payload data D1. The communication interface 42 receives this and transmits the smallest payload data D1 to the memory 12 via the serial bus 15. In the PLC 10, the protocol control part 14 receives the smallest payload data D1. Here, since the CPU 11 does not transfer the control data via the serial bus 15, memory contention does not occur. Accordingly, the protocol control part 14 writes the received smallest payload data D1 on the memory 12 with no delay. In the example in
The communication interface 42 in the transfer part 25 receives the ACK with respect to the smallest payload data D1 at the time t3 and outputs the ACK to the ACK monitoring part 43. The ACK monitoring part 43 calculates a transmission time T1 of the smallest payload data D1 based on the time t2 when the monitoring is started and the time t3 when the ACK is received. Here, the transmission time T1 is an elapsed time from the time t2 to the time t3. The ACK monitoring part 43 determines whether the calculated transmission time T1 exceeds a reference value at the time t3. The reference value greater than the transmission time T1 is set in the unit 20 in advance. Accordingly, the ACK monitoring part 43 determines that the transmission time T1 does not exceed the reference value at the time t3. Accordingly, a prohibition signal is not output to the smallest payload data generating part 41.
The smallest payload data generating part 41 outputs the transmission instruction of the next smallest payload data D2 to the ACK monitoring part 43 and the communication interface 42 at the time t3 because the prohibition signal is not input at the time t3. The ACK monitoring part 43 receives this and newly starts reception monitoring of the ACK with respect to the smallest payload data D2. The communication interface 42 transmits the input smallest payload data D2 to the memory 12 via the serial bus 15. After that, the same processing is repeated until the time t4 when the control cycle C1 is terminated. That is, since the control data is not transferred after the time t4, the transmission time of each of the pieces of smallest payload data D2 to D5 does not exceed the reference value. Accordingly, the transfer part 25 transmits and writes the smallest payload data D2 to D5 on the memory 12 in sequence with no delay without causing the memory contention. As a result, in the example of
The CPU 11 terminates the control cycle C1 at the time t4, and starts the next control cycle C2. The CPU 11 starts transfer of the smallest payload data R1 of the control data from the memory 12 to the CPU 11 at the time t4. Meanwhile, the protocol control part 33 transmits the smallest payload data D6 of the large capacity data to the memory 12 at the time t4 (a first point of time). As a result, since the CPU 11 and the protocol control part 33 access the memory 12 at the same time, memory contention occurs. The protocol control part 14 of the PLC 10 gives priority to the memory access by the CPU 11, reads the smallest payload data R1 in the memory 12 from the memory 12, and transmits the data to the CPU 11. The transmission is terminated at the time t41. The CPU 11 starts transfer of the next smallest payload data R2 from the memory 12 at the time t41.
The time t41 is equal to a time when the transfer part 25 should start transmission of the next smallest payload data D7. The smallest payload data generating part 41 outputs the transmission instruction of the next smallest payload data D7 to the ACK monitoring part 43 and the communication interface 42 at the time t41 based on the lapse of the constant time after the time t4. Since the ACK monitoring part 43 has not yet received the ACK of the smallest payload data D6, even when a new transmission instruction is received, ACK reception monitoring of the smallest payload data D6 is continued. The communication interface 42 transmits the input smallest payload data D7 to the memory 12 via the serial bus 15 at the time t41.
The protocol control part 33 writes the smallest payload data D6, writing of which is on standby due to memory contention, on the memory 12 at the time t41. The writing is terminated at the time t5. The protocol control part 33 transmits the ACK with respect to the smallest payload data D6 to the transfer part 25 at the time t5.
The communication interface 42 receives the ACK with respect to the smallest payload data D6 at the time t5 (a second point of time) and outputs the ACK to the ACK monitoring part 43. The ACK monitoring part 43 calculates the transmission time T2 of the smallest payload data D6 based on the time t4 when the monitoring is started and the time t5 when the ACK is received. Here, the transmission time T2 is an elapsed time from the time t4 to the time t5. The ACK monitoring part 43 determines whether the calculated transmission time T2 exceeds the reference value at the time t5. In the example of
The time t5 is equal to a time when the transfer part 25 should start transmission of the next smallest payload data D8. The smallest payload data generating part 41 does not immediately output the transmission instruction of the next smallest payload data D8 based on the prohibition signal being input, and the output of the instruction transmission is on standby until the predetermined duration T3 (a constant duration) elapses to become a time t6 (a third point of time) after the time t5. The duration T3 is set to the unit 20 in advance as a standby duration in which transmission of the next smallest payload data is on standby at the communication interface 42 when the memory contention occurs. In the example of
Reading of the smallest payload data R2 from the memory 12 and writing of the smallest payload data D7 on the memory 12 at the time t5 are not yet terminated. That is, the CPU 11 and the protocol control part 33 cause memory contention again. Execution of both of reading of the smallest payload data R2 and writing of the smallest payload data D7 is delayed to the duration T3. The protocol control part 14 reads the smallest payload data R1 from the memory 12 to transfer the data to the CPU 11, and then writes the smallest payload data D7 on the memory 12. After the time t5, the CPU 11 sequentially executes transfer of the remaining smallest payload data R3 to R5. All of the timings when this data is transferred to the CPU 11 are within the duration T3. During the duration T3, since transmission of the smallest payload data D8 is on standby, transmission of the large capacity data is not executed. Accordingly, the CPU 11 does not cause memory contention with respect to the smallest payload data R3 to R5, i.e., can read it out of the memory 12 with no delay. In the example of
(Main Effects)
As shown in
The ACK monitoring part 43 calculates the transmission time T1 of the smallest payload data D1 based on time t1 when transmission of the smallest payload data D1 is started and the time t2 when the ACK with respect to the smallest payload data D1 is received in the control cycle C1. In addition, in the control cycle C2, the ACK monitoring part 43 calculates the transmission time T2 of the smallest payload data D6 in the control cycle C2 based on the time t4 when transmission of the smallest payload data D6 is started and the time t5 when the ACK with respect to the smallest payload data D6 is received. In both cases, since the transmission time is calculated based on reception of the ACK with respect to one smallest payload data D1 or D6, a large time difference does not occur when an occurrence point of time of the memory contention due to transmission of certain smallest payload data and a point of time upon determination of whether the memory contention occurs. Accordingly, when the memory contention occurs, since the fact can be determined quickly, it is possible to quickly take a measure to minimize the memory contention upon occurrence thereof.
(Another Example of Transmission Time Calculation)
The protocol control part 33 outputs the received ACK: n+3 to the ACK monitoring part 43. The ACK monitoring part 43 determines that the point of time when the ACK: n+3 is received is a monitoring termination time Te. Then, a transmission time corresponding to one of the four pieces of smallest payload data n to n+3, which are continuously transmitted, is calculated based on the monitoring start time Ts and the monitoring termination time Te. Specifically, the transmission time is calculated by dividing the elapsed time from the monitoring termination time Te to the monitoring start time Ts by 4.
The ACK monitoring part 43 determines whether the calculated transmission time exceeds the reference value, and outputs the prohibition signal to the smallest payload data generating part 41 when it is determined as exceeding.
In the example of
(Continuous Occurrence of Memory Contention)
For example, at the time t11 at the start point of time in the control cycle C1, since the CPU 11 is trying to read the smallest payload data R1 from the memory 12 and the protocol control part 33 is trying to write the smallest payload data D1 on the memory 12, the memory contention occurs. Accordingly, the ACK monitoring part 43 determines that the transmission time T2 of the smallest payload data D1 exceeds the reference value at the time t12 when the transmission of the smallest payload data D1 is completed. As a result, the communication interface 42 stands by the transmission of the smallest payload data D3 during the duration T3 after the time t12. The communication interface 42 receives the transmission instruction of the smallest payload data D3 from the smallest payload data generating part 41 at the time t13, and thus, transmits the smallest payload data D3 to the memory 12 at the time t13.
In the example of
In the example of
The ACK monitoring part 43 determines whether events that the transmission time of the smallest payload data exceeds the reference value occur continuously constant times at the time t16. In
As shown in
Hereinafter, an embodiment related to another aspect of the present invention (hereinafter, also referred to as “the embodiment”) will be described with reference to the accompanying drawings.
§ 2 CONFIGURATION EXAMPLE
(Configuration of Control System 1A)
The setting device 50 is an external device connected to the PLC 10 and operated by a user such as a manager or the like of the control system 1. The setting device 50 includes a program creating part 51, a simulation execution part 52, and a setting part 53. The setting part 53 is connected to the CPU 11 of the PLC 10. The PLC 10 is a device configured to execute a program created by a user, and the setting device 50 is a device configured to allow the user to create the program.
The program creating part 51 creates a program executed in the PLC 10 according to the operation of the setting device 50 by the user. The setting part 53 provides the created program to the CPU 11. The CPU 11 executes the provided program. The simulation execution part 52 executes the created program through simulation. In other words, a behavior when the CPU 11 executes the program in the PLC 10 is simulated in the setting device 50. The simulation execution part 52 calculates a communication time when the CPU 11 communicates the control data with the memory 12 through simulation by executing the created program through simulation.
(Main Effects)
Since the duration T3 can be set based on the time Tcpu calculated through simulation, an appropriate duration T3 can be automatically set to the unit 20. That is, since each user of the control system 1 does not have to calculate the duration T3 by oneself, the user's trouble of setting an appropriate duration T3 to the unit 20 can be eliminated. In other words, the smallest payload data generating part 41 can automatically set the appropriate duration T3 to the unit 20 as long as the user creates the program executed by the PLC 10 in his/her control system 1.
(Variant)
The CPU 11 can measure the transfer time when the CPU 11 transfers the control data to and from the memory 12 during the operation of the PLC 10, i.e., during execution of the program created by the user. The CPU 11 corrects the information indicating the time Tcpu provided from the setting part 53 based on the transfer time measured by the CPU 11 when the transfer time is measured. For example, the time Tcpu indicated by the information approaches the transfer time measured by the CPU 11. The CPU 11 transmits the information after correction to the unit 20. Accordingly, the smallest payload data generating part 41 can set the duration T3 to the unit 20 based on the time Tcpu close to the actual transfer time of the control data by the CPU 11. Accordingly, when the memory contention occurs, the communication interface 42 can be on standby for the more appropriate duration T3 until the next smallest payload data is transmitted. In addition, when the transfer time of the control data by the CPU 11 is changed together with advance of an operation of the control system 1, since the time Tcpu can be adjusted appropriately according to the change of the transfer time, the appropriate duration T3 can be continuously set.
[Implemented Example by Software]
The control block (in particular, the transfer part 25 and the DMAC 34) of the unit 20 may be realized by a logical circuit (hardware) constituted by an integrated circuit (IC chip) or the like, or may be realized by software.
In the case of the latter, each of the units 20, 20A, and 20 includes a computer configured to execute a command of a program that is software configured to realize each function. The computer includes, for example, at least one processor, and also includes a computer-readable recording medium on which the program is stored. Then, in the computer, the processor is executed by reading the program from the recording medium, and the purposes of the present invention are accomplished. For example, a central processing unit (CPU) can be used as the processor. As the recording medium, “a non-temporary tangible medium,” for example, in addition to the read only memory (ROM), a tape, a disk, a card, a semiconductor memory, a programmable logical circuit, and the like, can be used. In addition, the random access memory (RAM) or the like configured to deploy the program may be further provided. In addition, the program may be supplied to the computer via an arbitrary transmission medium (a communication network, a broadcast medium, or the like) that can transmit the program. Further, the aspect of the present invention can also be realized in the form of a data signal embedded in a carrier wave, in which the program is embodied through electronic transmission.
The information processing device according to an aspect of the present invention is an information processing device connected to a control device including a first memory connected to a serial bus, and a first communication part connected to the serial bus and configured to communicate with the first memory via the serial bus, the information processing device including: a generating part configured to generate a plurality of pieces of smallest payload data from communication data transmitted to the first memory via the serial bus; a transmission part configured to sequentially transmit the smallest payload data to the first memory via the serial bus at each constant time; a computation part configured to calculate a transmission time of the smallest payload data transmitted by the transmission part at a first point of time; a determination part configured to determine whether the calculated transmission time exceeds a predetermined reference value; and a transmission control part configured to cause the transmission part to stand by for transmission of the smallest payload data during a constant duration from a second point of time when it is determined that the transmission time has been determined as exceeding the reference value to a third point of time when the transmission part transmits the smallest payload data transmitted after the latest smallest payload data that has been transmitted at the second point of time.
According to the configuration, when it is determined that the transmission time of the smallest payload data transmitted to the first memory at the first point of time exceeds the predetermined reference value, the transmission of the smallest payload data transmitted next to the latest smallest payload data that has been transmitted at the second point of time determined in this way is on standby for a constant duration. Accordingly, since the second communication part does not transmit the communication data to the first memory during the constant duration after the second point of time, a memory contention does not occur between the first communication part and the second communication part. Here, since avoidance of the memory contention is realized based on the transmission time of the smallest payload data calculated by the computation part, the first communication part does not need to execute arbitration processing to prevent memory contention. In this way, the information processing device according to the aspect of the present invention can minimize occurrence of memory contention without causing the first communication part of the control device to execute arbitration processing to prevent the memory contention. Accordingly, a load of the first communication part can be reduced.
In the above-mentioned configuration, the information processing device according to the aspect of the present invention includes a reception part configured to receive a completion report indicating that the smallest payload data transmitted at the first point of time is written on the first memory, and the computation part calculates the transmission time based on the first point of time and a point of time when the completion report is received.
According to the configuration, when the memory contention occurs, since the fact can be quickly determined, a measure can be quickly taken to minimize the memory contention upon occurrence of the memory contention.
In the above-mentioned configuration, in the information processing device according to the aspect of the present invention, the reception part receives the completion report indicating that the plurality of continuously transmitted smallest payload data are written on the first memory, the computation part calculates the transmission time of each of the smallest payload data based on the first point of time and the point of time when the completion report is received, and the determination part determines whether the transmission time of each of the smallest payload data exceeds the reference value.
According to the configuration, the present invention can also be applied to the information processing device configured to conclusively receive a writing completion report for the plurality of pieces of smallest payload data. In addition, since the number of executions of determination can be reduced, a load of determination in the information processing device can be reduced.
In the above-mentioned configuration, in the information processing device according to the aspect of the present invention, the control device is connected to an external device configured to calculate a transmission time when the first communication part transfers first data to and from the first memory through simulation and configured to provide information indicating the calculated transmission time to the control device, and includes: an acquisition part configured to acquire the information provided from the external device to the control device from the control device, and a setting part configured to set the constant duration based on the information.
According to the configuration, since the constant duration can be set based on the time calculated through simulation, an appropriate constant duration can be automatically set to the information processing device. That is, since it is not necessary for each user of the control system to calculate a constant duration by himself/herself, it is possible to eliminate the user's trouble for setting an appropriate constant duration.
In the above-mentioned configuration, in the information processing device according to the aspect of the present invention, the first communication part measures a transmission time when the first data is transmitted to the first memory during an operation of the control device and corrects information indicating the transmission time based on the measured transmission time, and the acquisition part acquires the corrected information from the control device.
According to the configuration, when the transfer time of the first data by the first communication part is changed together with advance of the operation of the control system, since the set constant duration can be appropriately prepared according to the change of the transfer time, the appropriate constant duration can be continuously set to the information processing device.
In the above-mentioned configuration, in the information processing device according to the aspect of the present invention, the transmission control part makes the transmission part transmitting the next smallest payload data without making the transmission part stand by when the events that the transmission time is determined as exceeding the reference value occur continuously constant times.
According to the configuration, it is possible to prevent transmission of the communication data from being delayed more than necessity.
The present invention is not limited to each of the above-mentioned embodiments described above, and various modifications may be made without departing from the scope shown in the claims. Embodiments obtained by appropriately combining the technical means disclosed in different embodiments are also included in the technical scope of the present invention. New technical features can also be formed by combining the technical means disclosed in each embodiment.
1, 1A Control system
10 PLC
11 CPU
12, 22 Memory
13, 23 Switching part
14, 24, 32, 33 Protocol control part
15, 26 Serial bus
20 Unit
21 MPU
25 Transfer part
31, 34 DMAC
41 Smallest payload data generating part
42 Communication interface
43 ACK monitoring part
50 Setting device
51 Program creating part
52 Simulation execution part
53 Setting part
Number | Date | Country | Kind |
---|---|---|---|
2019-093182 | May 2019 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2020/008704 | 3/2/2020 | WO | 00 |