Patent Publication Number: US-2022236997-A1

Title: Information processing device and industrial robot

Description:
CROSS REFERENCE TO RELATED APPLICATION 
     The present invention claims priority under 35 U.S.C. § 119 to Japanese Application No. 2021-010109 filed Jan. 26, 2021, the entire content of which is incorporated herein by reference. 
     FIELD OF THE INVENTION 
     At least an embodiment of the present invention may relate to an information processing device and an industrial robot. 
     BACKGROUND 
     Conventionally, an information processing device has been known which includes a first information processing part having a first calculation part and a second information processing part having a second calculation part and in which the first information processing part and the second information processing part are communicated with each other. 
     For example, a traffic signal system described in Japanese Patent Laid-Open No. 2019-200570 (Patent Literature 1) as an information processing device includes a main control unit as a first information processing part and a transmission unit as a second information processing part, and the main control unit and the transmission unit are communicated with each other. Each of the main control unit and the transmission unit is individually provided with a CPU (Central Processing Unit) as a calculation part. 
     In Patent Literature 1, a communication system between the main control unit and the transmission unit is not specifically described, but it is conceivable that two communication systems, i.e., periodic communication and non-periodic communication may be adopted. Periodic communication is a system which regularly transmits and receives data at a predetermined cycle, for example, periodically transmits and receives sensing data. On the other hand, non-periodic communication is a system which transmits and receives predetermined data at a non-periodic timing, for example, transmits and receives an error signal which is suddenly generated. 
     In order to realize periodic communication between the main control unit and the transmission unit, each CPU of the respective units is required to individually execute periodic communication for periodically transmitting and receiving data by executing a periodic communication application. Further, in order to realize non-periodic communication between the main control unit and the transmission unit, each CPU of the respective units is required to individually execute non-periodic communication for non-periodically transmitting and receiving data by executing a non-periodic communication application. 
     Respective source codes of the periodic communication application and the non-periodic communication application are commonly different from each other according to a configuration of a communication device. 
     For example, in each of the units, a communication device may be configured so that each of two SPIs (Serial Peripheral Interface) as a communication device individually executes periodic communication. In this case, the source code of the periodic communication application include a cord for periodically creating predetermined data to transmit from one SPI and a code for periodically creating other predetermined data to transmit from the other SPI. 
     Alternatively, for example, in each of the units, a communication device may be configured so that each of mutually different types of data is periodically communicated by one SPI. In this case, the source code of the periodic communication application includes, for one SPI, a cord for transmitting predetermined data periodically created and a cord for transmitting other predetermined data periodically created. 
     In a case that a configuration of a communication device which is a later-developed product in a traffic signal system is different from a configuration of a precedent communication device due to a design change, a source code of a periodic communication application is required to be changed and thus, large time and labor is required. This is a problem in a case that a configuration of a communication device for performing periodic communication is changed. However, also in a case that a configuration of a communication device for performing non-periodic communication is changed, a similar problem may occur. 
     SUMMARY 
     In view of the problem described above, at least an embodiment of the present invention may advantageously provide an information processing device and an industrial robot described below. In other words, at least an embodiment of the present invention may advantageously provide an information processing device and an industrial robot in which, in a case that a configuration of a communication device is changed, time and labor of changing source code of a periodic communication application and time and labor of changing source code of a non-periodic communication application can be reduced. 
     According to at least an embodiment of the present invention, there may be provided an information processing device including a first information processing part having a first calculation part and a second information processing part having a second calculation part, and the first information processing part and the second information processing part are communicated with each other. The first information processing part includes a first communication part configured to execute communication and a first data storage part configured to store data. The first calculation part is configured to execute a first communication device driver which is software for making the first communication part execute communication; a first periodic communication application configured to execute first periodic communication in which data for transmission are periodically created and recorded by being added to an FIFO type transmission periodic data list stored in the first data storage part and, in addition, data are read from a reception periodic data list which is an FIFO type data list periodically received by the first communication part and stored in the first storage part; a first non-periodic communication application configured to execute first non-periodic communication in which data for transmission are non-periodically created and recorded by being added to an FIFO type transmission non-periodic data list stored in the first data storage part and, in addition, data are read from a reception non-periodic data list which is an FIFO type data list non-periodically received by the first communication part and stored in the first storage part; and a first data processing application configured to process data. The first data processing application integrates the data which are read from the transmission periodic data list stored in the first data storage part with the data which are read from the transmission non-periodic data list stored in the first data storage part to process into transmission integrated data, and the transmission integrated data are transmitted from the first communication part through execution of the first communication device driver. 
     Effects of the Invention 
     According to the present invention, in a case that the communication device configuration is changed, time and labor of changing the source code of the periodic communication application and time and labor of changing the source code of the non-periodic communication application can be reduced. 
     Other features and advantages of the invention will be apparent from the following detailed description, taken in conjunction with the accompanying drawings that illustrate, by way of example, various features of embodiments of the invention. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       Embodiments will now be described, by way of example only, with reference to the accompanying drawings which are meant to be exemplary, not limiting, and wherein like elements are numbered alike in several Figures, in which: 
         FIG. 1  is a perspective view showing an industrial robot in accordance with an embodiment of the present invention. 
         FIG. 2  is a plan view showing the industrial robot. 
         FIG. 3  is a block diagram showing a main part of an electric circuit of the industrial robot. 
         FIG. 4  is a configuration view showing a first example of various configurations in a main controller of a robot controller in the industrial robot. 
         FIG. 5  is an explanatory configuration view showing configurations of various data sets which are handled by the configuration in the first example. 
         FIG. 6  is a configuration view showing a first example of various configurations in a sub controller of the robot controller. 
         FIG. 7  is a configuration view showing a second example of various configurations in the main controller of the robot controller. 
         FIG. 8  is an explanatory configuration view showing configurations of various data sets which are handled by the configuration in the second example. 
         FIG. 9  is a configuration view showing a second example of various configurations in the sub controller of the robot controller. 
         FIG. 10  is an explanatory configuration view showing modified configurations of various data sets which are handled by the configuration in the second example. 
         FIG. 11  is a configuration view showing a third example of various configurations in the main controller of the robot controller. 
         FIG. 12  is a configuration view showing a third example of various configurations in the sub controller of the robot controller. 
         FIG. 13  is a configuration view showing a communication device configuration and a software configuration for executing common periodic communication and non-periodic communication. 
         FIG. 14  is an explanatory configuration view showing configurations of various data sets which are handled in the example shown in  FIG. 13 . 
     
    
    
     DETAILED DESCRIPTION 
     A robot controller and an industrial robot in accordance with at least an embodiment of the present invention will be described below with reference to the accompanying drawings. In the drawings, in order to easily understand respective structures, the structures are described so as to be different from actual structures, and reduction scales and the number of the described structures may be different from the actual structures. 
       FIG. 1  is a perspective view showing an industrial robot  1  in accordance with an embodiment of the present invention.  FIG. 2  is a plan view showing the industrial robot  1 . The industrial robot  1  is a robot for conveying a glass substrate and includes an arm  2 , a frame  3  and a lifting part  4 . The lifting part  4  is held by the frame  3  and ascends and descends in an upper and lower direction (arrow direction in  FIG. 1 ) by driving a lifting motor not shown. The arm  2  includes a hand part  2 A on which a glass substrate is placed, a forearm part  2 B and an upper arm part  2 C, and the arm  2  is held by the lifting part  4 . 
     A shoulder joint  2 D which is a connection part with the lifting part  4  in the upper arm part  2 C is capable of turning along a horizontal direction by driving a first motor  22 A. Specifically, a rotation drive force of the first motor  22 A is transmitted to the shoulder joint  2 D through a first belt  2 E to turn the shoulder joint  2 D in the horizontal direction. Further, an elbow joint  2 F which is a connection part between the upper arm part  2 C and the forearm part  2 B is capable of turning along the horizontal direction by driving a second motor  22 B. Specifically, a rotation drive force of the second motor  22 B is transmitted to the elbow joint  2 F through a second belt  2 G to turn the elbow joint  2 F in the horizontal direction. Further, a wrist joint which is a connection part between the forearm part  2 B and the hand part  2 A is capable of turning along the horizontal direction by receiving a drive force of the second motor  22 B through a belt. 
     The lifting part  4  in  FIG. 1  is capable of ascending and descending in the arrow direction in the drawing by normal rotation and reverse rotation of the lifting motor. 
       FIG. 3  is a block diagram showing a main part of an electric circuit of the industrial robot  1 . The industrial robot  1  includes a robot controller  30  which is an information processing device, a first temperature sensor  81 , a second temperature sensor  82 , a lifting brake  83 , a lifting motor  84 , the first motor  22 A and the second motor  22 B. 
     The robot controller  30  includes a main controller  31  which is a first information processing part and a sub controller  41  which is a second information processing part. The main controller  31  includes a first CPU  32  which is a first calculation part, a first ROM (Read Only Memory)  33 , a first data storage part  34  and a first communication part  35 . The first ROM  33  is recorded with various applications and device drivers. The first CPU  32  executes the applications recorded in the first ROM  33  and executes the device drivers recorded in the first ROM  33 . The first data storage part  34  is configured of a RAM (Random Access Memory) or the like. The first communication part  35  executes communication with the sub controller  41 . 
     The sub controller  41  includes a second CPU  42  which is a second calculation part, a second ROM  43 , a second data storage part  44 , a second communication part  45 , a first motor drive circuit  46 , a second motor drive circuit  47 , a lifting motor drive circuit  48  and a bus  49 . The second ROM  43  is recorded with various applications and device drivers. The second CPU  42  executes the applications recorded in the second ROM  43  and executes the device drivers recorded in the second ROM  43 . The second data storage part  44  is configured of a RAM or the like. The second communication part  45  executes communication with the main controller  31 . 
     The first motor drive circuit  46  controls driving of the first motor  22 A which is a drive source for the shoulder joint ( 2 D in  FIG. 2 ) based on a control signal created in the second CPU  42 . The second motor drive circuit  47  controls driving of the second motor  22 B which is a drive source for the elbow joint ( 2 F in  FIG. 2 ) based on a control signal created in the second CPU  42 . The lifting motor drive circuit  48  controls driving of the lifting motor  84  which is a drive source for the lifting part ( 4  in  FIG. 2 ) based on a control signal created in the second CPU  42 . 
     The lifting brake  83  is structured so as to physically stop rotation of the lifting motor  84  and release the physical stopping. In a case that an external force is applied to the lifting motor  84  from the arm ( 2  in  FIG. 2 ) when the lifting motor  54  is stopped, the lifting motor  84  may be rotated to lower the lifting part. The lifting brake  83  is a brake which is structured to physically prevent rotation of the lifting motor  84  in a stopped state due to an external force. The second CPU  42  controls on (rotation stop) and off (release of rotation stop) of the lifting brake  83 . 
     The first temperature sensor  81  outputs a detected result of temperature of the shoulder joint ( 2 D in  FIG. 2 ) of the industrial robot  1  as shoulder joint temperature data. The second temperature sensor  82  outputs a detected result of temperature of the elbow joint ( 2 F in  FIG. 2 ) of the industrial robot  1  as elbow joint temperature data. 
     The second CPU  42  periodically acquires shoulder joint temperature data which are outputted from the first temperature sensor  81 . Further, the second CPU  42  periodically acquires elbow joint temperature data which are outputted from the second temperature sensor  82 . When the shoulder joint temperature data exceed a predetermined threshold value or, when the elbow joint temperature data exceed a predetermined threshold value, the second CPU  42  transmits a temperature error signal to the main controller  31  through the second communication part  45 . 
       FIG. 13  is a configuration view showing a communication device configuration and a software configuration for executing common periodic communication and non-periodic communication.  FIG. 14  is an explanatory configuration view showing configurations of various data sets which are handled in the example shown in  FIG. 13 . 
     In  FIG. 13 , the communication device configuration is configured of a communication part  209 . The communication part  209  includes a periodic communication part  206  and a non-periodic communication part  207 . The periodic communication part  206  includes a first SPI  206   a  configured to perform periodic communication and a second SPI  206   b  configured to perform periodic communication separately from the first SPI  206   a . The non-periodic communication part  207  includes UART (Universal Asynchronous Receiver/Transmitter)  207   a  configured to perform non-periodic communication. 
     In the example shown in  FIG. 13 , as shown in  FIG. 14 , a first transmission periodic data set “d 1 ”, a first reception periodic data set “d 2 ”, a second transmission periodic data set “d 3 ”, a second reception periodic data set “d 4 ”, a transmission non-periodic data set “d 5 ” and a reception non-periodic data set “d 6 ” are used. The first transmission periodic data set “d 1 ” consists of a header, first transmission periodic data and an FCS (Frame Check Sequence). The first reception periodic data set “d 2 ” consists of a header, first reception periodic data and an FCS. The second transmission periodic data set “d 3 ” consists of a header, second transmission periodic data and an FCS. The second reception periodic data set “d 4 ” consists of a header, second reception periodic data and an FCS. The transmission non-periodic data set “d 5 ” consists of a header, transmission non-periodic data and an FCS. The reception non-periodic data set “d 6 ” consists of a header, reception non-periodic data and an FCS. 
     The software configuration shown in  FIG. 13  includes a periodic communication application  201 , a non-periodic communication application  202  and a communication device driver  203 . Further, the communication device driver  203  includes a first periodic communication device driver  203   a , a second periodic communication device driver  203   b  and a non-periodic communication device driver  203   c . The first transmission periodic data set (“d 1 ” in  FIG. 14 ) periodically created by execution of the periodic communication application  201  is outputted from the first SPI  206   a  through execution of the first periodic communication device driver  203   a . Further, the first reception periodic data set (“d 2 ” in  FIG. 14 ) periodically received by the first SPI  206   a  is received by the CPU through execution of periodic communication application  201 . 
     The second transmission periodic data set (“d 3 ” in  FIG. 14 ) periodically created by execution of the periodic communication application  201  is outputted from the second SPI  206   b  through execution of the second periodic communication device driver  203   b . Further, the second reception periodic data set (“d 4 ” in  FIG. 14 ) periodically received by the second SPI  206   b  is received by the CPU through execution of periodic communication application  201 . 
     The transmission non-periodic data set (“d 5 ” in  FIG. 14 ) non-periodically created by execution of the non-periodic communication application  202  is outputted from the UART  207   a  through execution of the non-periodic communication device driver  203   c . Further, the reception non-periodic data set (“d 6 ” in  FIG. 14 ) non-periodically received by the UART  207   a  is received by the CPU through execution of the non-periodic communication device driver  203   c.    
     In the example shown in  FIG. 13 , it is assumed that a communication device configuration is different from the precedent communication device configuration due to a design change. In this case, it may occur that the source code of the periodic communication application  201  is required to be changed or, the source code of the non-periodic communication application  202  is required to be changed and, as a result, large time and labor may be required. 
       FIG. 4  is a configuration view showing a first example of various configurations in the main controller ( 31  in  FIG. 3 ) of the robot controller ( 30  in  FIG. 3 ) in accordance with an embodiment of the present invention.  FIG. 5  is an explanatory configuration view showing configurations of various data sets which are handled by the configuration in the first example. 
     In  FIG. 4 , the communication device configuration consists of the first communication part  35 . The first communication part  35  includes a periodic communication part  36  and a non-periodic communication part  37 . The periodic communication part  36  includes a first SPI  36   a  configured to perform periodic communication and a second SPI  36   b  configured to perform periodic communication separately from the first SPI  36   a . The non-periodic communication part  37  includes a UART  37   a  configured to perform non-periodic communication. 
     In the first example shown in  FIG. 4 , as shown in  FIG. 5 , a first transmission periodic data set “D 1 ”, a first reception periodic data set “D 2 ”, a second transmission periodic data set “D 3 ”, a second reception periodic data set “D 4 ”, a transmission non-periodic data set “D 5 ” and a reception non-periodic data set “D 6 ” are handled. The first transmission periodic data set “D 1 ” consists of a header, first transmission periodic data and an FCS. The first reception periodic data set “D 2 ” consists of a header, first reception periodic data and an FCS. The second transmission periodic data set “D 3 ” consists of a header, second transmission periodic data and an FCS. The second reception periodic data set “D 4 ” consists of a header, second reception periodic data and an FCS. The transmission non-periodic data set “D 5 ” consists of a header, transmission non-periodic data and an FCS. The reception non-periodic data set “D 6 ” consists of a header, reception non-periodic data and an FCS. 
     A software configuration in the first example shown in  FIG. 4  includes a software configuration “A” and a software configuration “B”. The software configuration “A” consists of a first data processing application  53  and a first communication device driver  54 . Further, the software configuration “B” consists of a first periodic communication application  51  and a first non-periodic communication application  52 . 
     The first communication device driver  54  includes a first periodic communication device driver  54   a , a second periodic communication device driver  54   b  and a non-periodic communication device driver  54   c . The first transmission periodic data set “D 1 ” periodically created by execution of the first periodic communication application  51  is recorded in a first transmission queue in an inside of the first data storage part ( 34  in  FIG. 3 ) through execution of the first data processing application  53 . Further, the first reception periodic data set “D 2 ” periodically received by the first SPI  36   a  is written into a first reception queue in the inside of the first data storage part through execution of the first periodic communication device driver  54   a.    
     The first transmission queue is a data FIFO (fast-in fast-out) type transmission periodic data list. Further, the first reception queue is a data FIFO (fast-in fast-out) type reception periodic data list. Further, the data FIFO type is a type in which new data are added to a tail of a data list and the leading data of the data list are read to be outputted and erased. 
     The second transmission periodic data set “D 3 ” periodically created by execution of the first periodic communication application  51  is recorded in a second transmission queue in the inside of the first data storage part ( 34  in  FIG. 3 ) through execution of the second periodic communication device driver  54   b . Further, the second reception periodic data set “D 4 ” periodically received by the second SPI  36   b  is written into a second reception queue in the inside of the first data storage part through execution of the second periodic communication device driver  54   b . The second transmission queue is a data FIFO (fast-in fast-out) type transmission periodic data list, and the second reception queue is a data FIFO type reception periodic data list. 
     The transmission non-periodic data set “D 5 ” non-periodically created by execution of the first non-periodic communication application  52  is recorded in a third transmission queue in the inside of the first data storage part ( 34  in  FIG. 3 ) through execution of the non-periodic communication device driver  54   c . Further, the reception non-periodic data set “D 6 ” non-periodically received by the UART  37   a  is written into a third reception queue in the inside of the first data storage part through execution of the non-periodic communication device driver  54   c . The third transmission queue is a data FIFO (fast-in fast-out) type transmission non-periodic data list, and the third reception queue is a data FIFO type reception non-periodic data list. 
     The first data processing application  53  transfers the first transmission periodic data set “D 1 ” periodically created by execution of the first periodic communication application  51  to the first periodic communication device driver  54   a  as it is. Further, the first data processing application  53  transfers the second transmission periodic data set “D 3 ” periodically created by execution of the first periodic communication application  51  to the second periodic communication device driver  54   b  as it is. Further, the first data processing application  53  transfers the transmission non-periodic data set “D 5 ” non-periodically created by execution of the first non-periodic communication application  52  to the non-periodic communication device driver  54   c  as it is. Further, the first data processing application  53  separates the leading first reception periodic data set “D 2 ” of the first reception queue from the first reception queue to transfer to the first periodic communication application  51 . Further, the first data processing application  53  separates the leading second reception periodic data set “D 4 ” of the second reception queue from the second reception queue to transfer to the first periodic communication application  51 . Further, the first data processing application  53  separates the leading reception non-periodic data set “D 6 ” of the third reception queue from the third reception queue to transfer to the first non-periodic communication application  52 . 
     The leading first transmission periodic data set “D 1 ” in the first transmission queue in the inside of the first data storage part ( 34  in  FIG. 3 ) is separated from the first transmission queue and is outputted from the first SPI  36   a  through execution of the first periodic communication device driver  54   a . Further, the leading second transmission periodic data set “D 3 ” in the second transmission queue in the inside of the first data storage part is separated from the second transmission queue and is outputted from the second SPI  36   b  through execution of the second periodic communication device driver  54   b . Further, the leading transmission non-periodic data set “D 5 ” in the third transmission queue in the inside of the first data storage part is separated from the third transmission queue and is outputted from the UART  37   a  through execution of the non-periodic communication device driver  54   c.    
     Names of various data sets shown in  FIG. 5  are expressed with the main controller ( 31  in  FIG. 3 ) as a reference. In a case that the names of the data sets are expressed with the sub controller ( 41  in  FIG. 3 ) as a reference, the names are expressed so that transmission and reception are reversed in  FIG. 5 . Specifically, in a case of the expression with the sub controller as a reference, the first transmission periodic data set “D 1 ” in  FIG. 5  is expressed as a first reception periodic data set. Further, the first reception periodic data set “D 2 ” in  FIG. 5  is expressed as a first transmission periodic data set. Further, the second transmission periodic data set “D 3 ” in  FIG. 5  is expressed as a second reception periodic data set. Further, the second reception periodic data set “D 4 ” in  FIG. 5  is expressed as a second transmission periodic data set. Further, the transmission non-periodic data set “D 5 ” in  FIG. 5  is expressed as a reception non-periodic data set. Further, the reception non-periodic data set “D 6 ” in  FIG. 5  is expressed as a transmission non-periodic data set. In the following descriptions, in order to easily understand, the names of the various data sets are expressed with the main controller as a reference. 
       FIG. 6  is a configuration view showing a first example of various configurations of the sub controller ( 41  in  FIG. 3 ) in the robot controller ( 30  in  FIG. 3 ) in accordance with an embodiment of the present invention. 
     In  FIG. 6 , a communication device configuration consists of a second communication part  45 . The second communication part  45  includes a periodic communication part  76  and a non-periodic communication part  77 . The periodic communication part  76  includes a first SPI  76   a  configured to perform periodic communication and a second SPI  76   b  configured to perform periodic communication separately from the first SPI  76   a . The non-periodic communication part  77  includes a UART  77   a  configured to perform non-periodic communication. 
     A software configuration in the first example shown in  FIG. 6  includes a software configuration “A” and a software configuration “B”. The software configuration “A” consists of a second data processing application  63  and a second communication device driver  64 . Further, the software configuration “B” consists of a second periodic communication application  61  and a second non-periodic communication application  62 . 
     The second communication device driver  64  includes a first periodic communication device driver  64   a , a second periodic communication device driver  64   b  and a non-periodic communication device driver  64   c . The first reception periodic data set “D 2 ” periodically created by execution of the second periodic communication application  61  is recorded in a first transmission queue in an inside of the second data storage part ( 44  in  FIG. 3 ) through execution of the first periodic communication device driver  64   a . Further, the first transmission periodic data set “D 1 ” periodically received by the first SPI  76   a  is written in a first reception queue in the inside of the second data storage part through execution of the first periodic communication device driver  64   a.    
     The second reception periodic data set “D 4 ” periodically created by execution of the second periodic communication application  61  is recorded in a second transmission queue in the inside of the second data storage part ( 44  in  FIG. 3 ) through execution of the second periodic communication device driver  64   b . Further, the second transmission periodic data set “D 3 ” periodically received by the second SPI  76   b  is written in a second reception queue in the inside of the second data storage part through execution of the second periodic communication device driver  64   b.    
     The reception non-periodic data set “D 6 ” non-periodically created by execution of the second non-periodic communication application  62  is recorded in a third transmission queue in the inside of the second data storage part ( 44  in  FIG. 3 ) through execution of the non-periodic communication device driver  64   c . Further, the transmission non-periodic data set “D 5 ” non-periodically received by the UART  77   a  is written in a third reception queue in the inside of the second data storage part through execution of the non-periodic communication device driver  64   c.    
     The second data processing application  63  transfers the first reception periodic data set “D 2 ” periodically created by execution of the second periodic communication application  61  to the first periodic communication device driver  64   a  as it is. Further, the second data processing application  63  transfers the second reception periodic data set “D 4 ” periodically created by execution of the second periodic communication application  61  to the second periodic communication device driver  64   b  as it is. Further, the second data processing application  63  transfers the reception non-periodic data set “D 6 ” non-periodically created by execution of the second non-periodic communication application  62  to the non-periodic communication device driver  64   c  as it is. Further, the second data processing application  63  separates the leading first transmission periodic data set “D 1 ” of the first reception queue from the first reception queue to transfer to the second periodic communication application  61 . Further, the second data processing application  63  separates the leading second transmission periodic data set “D 3 ” of the second reception queue from the second reception queue to transfer to the second periodic communication application  61 . Further, the second data processing application  63  separates the leading transmission non-periodic data set “D 5 ” of the third reception queue from the third reception queue to transfer to the second non-periodic communication application  62 . 
     The leading first reception periodic data set “D 2 ” in the first transmission queue in the inside of the second data storage part ( 44  in  FIG. 3 ) is separated from the first transmission queue and is outputted from the first SPI  76   a  through execution of the first periodic communication device driver  64   a . Further, the leading second reception periodic data set “D 4 ” in the second transmission queue in the inside of the second data storage part is separated from the second transmission queue and is outputted from the second SPI  76   b  through execution of the second periodic communication device driver  64   b . Further, the leading reception non-periodic data set “D 6 ” in the third transmission queue in the inside of the second data storage part is separated from the third transmission queue and is outputted from the UART  77   a  through execution of the non-periodic communication device driver  64   c.    
       FIG. 7  is a configuration view showing a second example of various configurations in the main controller ( 31  in  FIG. 3 ) of the robot controller ( 30  in  FIG. 3 ) in accordance with an embodiment of the present invention.  FIG. 8  is an explanatory configuration view showing configurations of various data sets which are handled by the configuration in the second example. 
     In the second example shown in  FIG. 7 , as shown in  FIG. 8 , a first transmission periodic data set “D 1 ”, a first reception periodic data set “D 2 ”, a second transmission periodic data set “D 3 ”, a second reception periodic data set “D 4 ”, a transmission non-periodic data set “D 5 ” and a reception non-periodic data set “D 6 ” are handled. In addition, a first transmission integrated data set “D 7 ”, a second transmission integrated data set “D 8 ” a first reception integrated data set “D 9 ” and a second reception integrated data set “D 10 ” are handled. 
     In  FIG. 8 , the first transmission periodic data set “D 1 ”, the first reception periodic data set “D 2 ”, the second transmission periodic data set “D 3 ”, the second reception periodic data set “D 4 ”, the transmission non-periodic data set “D 5 ” and the reception non-periodic data set “D 6 ” are respectively the same as those shown in  FIG. 5 . 
     The first transmission integrated data set “D 7 ” consists of the first transmission periodic data set “D 1 ” and the second transmission periodic data set “D 3 ” which is combined at the end of the first transmission periodic data set “D 1 ”. The second transmission integrated data set “D 8 ” consists of the first transmission periodic data set “D 1 ”, the second transmission periodic data set “D 3 ” combined at the end of the first transmission periodic data set “D 1 ”, and the transmission non-periodic data set “D 5 ” combined at the end of the second transmission periodic data set “D 3 ”. The first reception integrated data set “D 9 ” consists of the first reception periodic data set “D 2 ” and the second reception periodic data set “D 4 ” combined at the end of the first reception periodic data set “D 2 ”. The second reception integrated data set “D 10 ” consists of the first reception periodic data set “D 2 ”, the second reception periodic data set “D 4 ” combined at the end of the first reception periodic data set “D 2 ”, and the reception non-periodic data set “D 6 ” combined at the end of the second reception periodic data set “D 4 ”. 
     Names of various data sets shown in  FIG. 8  are expressed with the main controller ( 31  in  FIG. 3 ) as a reference. In a case that the names of the data sets are expressed with the sub controller ( 41  in  FIG. 3 ) as a reference, their names are expressed so that transmission and reception are reversed in  FIG. 8 . Specifically, in a case of the expression with the sub controller as a reference, the first transmission integrated data set “D 7 ” in  FIG. 8  is expressed as a first reception integrated data set. Further, the second transmission integrated data set “D 8 ” shown in  FIG. 8  is expressed as a second reception integrated data set. Further, the first reception integrated data set “D 9 ” shown in  FIG. 8  is expressed as a first transmission integrated data set. Further, the second reception integrated data set “D 10 ” shown in  FIG. 8  is expressed as a second transmission integrated data set. In the following descriptions, in order to easily understand, the names of the various data sets are expressed with the main controller as a reference. 
     Next, the second example shown in  FIG. 7  will be described below regarding only configurations different from the first example shown in  FIG. 4 . In  FIG. 7 , the communication device configuration consists of a first communication part  35 . The first communication part  35  includes only a first SPI  36   a  as a communication device. The software configuration includes a software configuration “A” and a software configuration “B”. The software configuration “A” consists of a first data processing application  53  and a first communication device driver  54 . Further, the software configuration “B” consists of a first periodic communication application  51  and a first non-periodic communication application  52 . 
     The first communication device driver  54  includes only a communication device driver  54   d  as a device driver. The first transmission periodic data set “D 1 ” periodically created by execution of the first periodic communication application  51  is recorded in a first transmission queue in an inside of the first data storage part ( 34  in  FIG. 3 ) through execution of the first data processing application  53 . Further, the first reception periodic data set “D 2 ” periodically received by the first SPI  36   a  is written in a first reception queue in the inside of the first data storage part through execution of the communication device driver  54   d.    
     The second transmission periodic data set “D 3 ” periodically created by execution of the first periodic communication application  51  is recorded in a second transmission queue in the inside of the first data storage part ( 34  in  FIG. 3 ) through execution of the communication device driver  54   d . Further, the second reception periodic data set “D 4 ” periodically received by the first SPI  36   a  is written in a second reception queue in the inside of the first data storage part through execution of the communication device driver  54   d.    
     The transmission non-periodic data set “D 5 ” non-periodically created by execution of the first non-periodic communication application  52  is recorded in a third transmission queue in the inside of the first data storage part ( 34  in  FIG. 3 ) through execution of the communication device driver  54   d . Further, the reception non-periodic data set “D 6 ” non-periodically received by the first SPI  36   a  is written in the third reception queue in the inside of the first data storage part through execution of the communication device driver  54   d.    
     The first data processing application  53  integrates the first transmission periodic data set “D 1 ” and the second transmission periodic data set “D 3 ”, which are created by execution of the first periodic communication application  51 , to process into the first transmission integrated data set “D 7 ” and transfer it to the communication device driver  54   d . Further, the first data processing application  53  processes the first transmission periodic data set “D 1 ”, the second transmission periodic data set “D 3 ”, and the transmission non-periodic data set “D 5 ” created by execution of the first non-periodic communication application  52 . Specifically, the first data processing application  53  integrates the first transmission periodic data set “D 1 ”, the second transmission periodic data set “D 3 ” and the transmission non-periodic data set “D 5 ” to process into the second transmission integrated data set “D 8 ” and transfer it to the communication device driver  54   d . Further, the first data processing application  53  divides the first reception integrated data set “D 9 ” received by the first SPI  36   a  to process into the first reception periodic data set “D 2 ” and the second reception periodic data set “D 4 ” and transfer them to the first data processing application  53 . Further, the first data processing application  53  divides the second reception integrated data set “D 10 ” received by the first SPI  36   a  to process into the first reception periodic data set “D 2 ”, the second reception periodic data set “D 4 ” and the reception non-periodic data set “D 6 ” and transfer them to the first data processing application  53 . 
       FIG. 9  is a configuration view showing a second example of various configurations in the sub controller ( 41  in  FIG. 3 ) of the robot controller ( 30  in  FIG. 3 ) in accordance with an embodiment of the present invention. Next, the second example shown in  FIG. 9  will be described below regarding only configurations different from the first example shown in  FIG. 6 . 
     In  FIG. 9 , a communication device configuration consists of a second communication part  45 . The second communication part  45  includes only a first SPI  46   a  as a communication device. A software configuration includes a software configuration “A” and a software configuration “B”. The software configuration “A” consists of a second data processing application  63  and a second communication device driver  64 . Further, the software configuration “B” consists of a second periodic communication application  61  and a second non-periodic communication application  62 . 
     The second communication device driver  64  includes only a communication device driver  64   d  as a device driver. The first reception periodic data set “D 2 ” periodically created by execution of the second periodic communication application  61  is recorded in a first transmission queue in an inside of the second data storage part ( 44  in  FIG. 3 ) through execution of the second data processing application  63 . Further, the first transmission periodic data set “D 1 ” periodically received by the first SPI  46   a  is written in a first reception queue in the inside of the first data storage part through execution of the communication device driver  64   d.    
     The second reception periodic data set “D 4 ” periodically created by execution of the second periodic communication application  61  is recorded in a second transmission queue in an inside of the second data storage part ( 44  in  FIG. 3 ) through execution of the communication device driver  64   d . Further, the second transmission periodic data set “D 3 ” periodically received by the first SPI  46   a  is written in a second reception queue in the inside of the second data storage part through execution of the communication device driver  64   d.    
     The reception non-periodic data set “D 6 ” non-periodically created by execution of the second non-periodic communication application  62  is recorded in a third transmission queue in the inside of the second data storage part ( 44  in FIG.  3 ) through execution of the communication device driver  64   d . Further, the transmission non-periodic data set “D 5 ” non-periodically received by the first SPI  46   a  is written in a third reception queue in the inside of the second data storage part through execution of the communication device driver  64   d.    
     The second data processing application  63  integrates the first reception periodic data set “D 2 ” and the second reception periodic data set “D 4 ”, which are created by execution of the second periodic communication application  61 , to process into the first reception integrated data set “D 9 ” and transfer it to the communication device driver  64   d . Further, the second data processing application  63  processes the first reception periodic data set “D 2 ”, the second reception periodic data set “D 4 ” and the reception non-periodic data set “D 6 ” created by execution of the second non-periodic communication application  62 . Specifically, the second data processing application  63  integrates the first reception periodic data set “D 2 ”, the second reception periodic data set “D 4 ” and the reception non-periodic data set “D 6 ” to process into the second reception integrated data set “D 10 ” and transfer it to the communication device driver  64   d . Further, the second data processing application  63  divides the first transmission integrated data set “D 7 ” received by the first SPI  46   a  to process into the first transmission periodic data set “D 1 ” and the second transmission periodic data set “D 3 ” and transfer them to the second data processing application  63 . Further, the second data processing application  63  divides the second transmission integrated data set “D 8 ” received by the first SPI  46   a  to process into the first transmission periodic data set “D 1 ”, the second transmission periodic data set “D 3 ” and the transmission non-periodic data set “D 5 ” and transfer them to the second data processing application  63 . 
     In accordance with an embodiment of the present invention, the first transmission integrated data set “D 7 ”, the second transmission integrated data set “D 8 ”, the first reception integrated data set “D 9 ” and the second reception integrated data set “D 10 ” may be configured as shown in  FIG. 10  instead of those shown in  FIG. 8 . Specifically, in a case that transmission non-periodic data are created by the first non-periodic communication application ( 52  in  FIG. 7 ), the first data processing application ( 53  in  FIG. 7 ) creates a second transmission integrated data set “D 8 ” shown in  FIG. 10 . The second transmission integrated data set “D 8 ” includes an entire header, the first transmission periodic data, the second transmission periodic data, non-periodic header, the transmission non-periodic data and an entire FCS. The entire header is a header for the entire second transmission integrated data set “D 8 ”. The non-periodic header is a header for the transmission non-periodic data. The entire FCS is an FCS for the entire second transmission integrated data set “D 8 ”. Each of the entire header and the entire FCS is configured by the first data processing application. 
     On the other hand, in a case that transmission non-periodic data are not created by the first non-periodic communication application ( 52  in  FIG. 7 ), the first data processing application ( 53  in  FIG. 7 ) creates the first transmission integrated data set “D 7 ” shown in  FIG. 10 . The first transmission integrated data set “D 7 ” includes an entire header, the first transmission periodic data, the second transmission periodic data, dummy data and an entire FCS. The dummy data are data for setting an entire length of the first transmission integrated data set “D 7 ” to be the same as an entire length of the second transmission integrated data set “D 8 ”, and the dummy data are configured by the first data processing application. A length of the dummy data is the same as a total value of a length of the non-periodic header and a length of the transmission non-periodic data of the second transmission integrated data set “D 8 ”. 
     Further, in a case that reception non-periodic data are created by the second non-periodic communication application ( 62  in  FIG. 9 ), the second data processing application ( 63  in  FIG. 9 ) creates the second reception integrated data set “D 10 ” shown in  FIG. 10 . The second reception integrated data set “D 10 ” includes an entire header, the first reception periodic data, the second reception periodic data, a non-periodic header, the reception non-periodic data and an entire FCS. The entire header is a header for the entire second reception integrated data set “D 10 ”. The non-periodic header is a header for the reception non-periodic data. The entire FCS is an FCS for the entire second reception integrated data set “D 10 ”. Each of the entire header and the entire FCS is configured by the second data processing application. 
     On the other hand, in a case that reception non-periodic data are not generated by the second non-periodic communication application ( 62  in  FIG. 7 ), the second data processing application ( 63  in  FIG. 9 ) creates the first reception integrated data set “D 9 ” shown in  FIG. 10 . The first reception integrated data set “D 9 ” includes an entire header, the first reception periodic data, the second reception periodic data, dummy data and an entire FCS. The dummy data are data for setting an entire length of the first reception integrated data set “D 9 ” to be the same as an entire length of the second reception integrated data set “D 10 ”, and the dummy data are configured by the second data processing application. A length of the dummy data is the same as a total value of a length of the non-periodic header and a length of the reception non-periodic data of the second reception integrated data set “D 10 ”. 
       FIG. 11  is a configuration view showing a third example of various configurations in the main controller ( 31  in  FIG. 3 ) of the robot controller ( 30  in  FIG. 3 ) in accordance with an embodiment of the present invention. The third example is similarly configured to the second example shown in  FIG. 7  except that a UART  37   a  is provided instead of the first SPI. 
     By comparing  FIG. 11  with  FIG. 4  and  FIG. 7 , in the main controller ( 31  in  FIG. 3 ) of the robot controller ( 30  in  FIG. 3 ) in accordance with this embodiment, even when a communication device configuration is changed, processing contents of the first periodic communication application  51  are not changed. In addition, similarly, processing contents of the first non-periodic communication application  52  are not changed. Specifically, the first periodic communication application  51  creates the first transmission periodic data set “D 1 ” having a first data configuration “Da”, the second transmission periodic data set “D 3 ” having a second data configuration “Db”, and the transmission non-periodic data set “D 5 ” having a third data configuration “Dc” regardless of the communication device configuration. Further, the first periodic communication application  51  refers to the first reception periodic data set “D 2 ” having the first data configuration “Da”, the second reception periodic data set “D 4 ” having the second data configuration “Db”, and the reception non-periodic data set “D 6 ” having the third data configuration “Dc” regardless of the communication device configuration. In other words, even when the communication device configuration is changed, the source code of the first periodic communication application  51  is not changed. Therefore, according to the main controller ( 31  in  FIG. 3 ), in a case that the communication device configuration is changed, time and labor of changing the source code of the first periodic communication application  51  and time and labor of changing the source code of the first non-periodic communication application  52  can be reduced (avoided). 
     In this case, contents of the configuration of the first communication device driver  54  and contents of the first data processing application  53  are required to be changed depending on the communication device configuration. However, each of the first communication device driver  54  and the first data processing application  53  executes typical routine processing. Therefore, time and labor of changing each configuration of the first communication device driver  54  and the first data processing application  53  is reduced in comparison with those of changing of each source code of the first periodic communication application  51  and the first non-periodic communication application  52 . 
       FIG. 12  is a configuration view showing a third example of various configurations in the sub controller ( 41  in  FIG. 3 ) of the robot controller ( 30  in  FIG. 3 ). The third example is similarly configured to the second example shown in  FIG. 9  except that a UART  47   a  is provided instead of the first SPI. 
     By comparing  FIG. 12  with  FIG. 6  and  FIG. 9 , in the sub controller ( 41  in  FIG. 3 ) of the robot controller ( 30  in  FIG. 3 ) in accordance with this embodiment, even when the communication device configuration is changed, processing contents of the second periodic communication application  61  are not changed. In addition, similarly, processing contents of the second non-periodic communication application  62  are not changed. Specifically, the second periodic communication application  61  creates the first reception periodic data set “D 2 ” having the first data configuration “Da”, the second reception periodic data set “D 4 ” having the second data configuration “Db”, and the reception non-periodic data set “D 6 ” having the third data configuration “Dc” regardless of the communication device configuration. Further, the second periodic communication application  61  refers to the first transmission periodic data set “D 1 ” having the first data configuration “Da”, the second transmission periodic data set “D 3 ” having the second data configuration “Db”, and the transmission non-periodic data set “D 5 ” having the third data configuration “Dc” regardless of the communication device configuration. In other words, even when the communication device configuration is changed, the source code of the second periodic communication application  61  is not changed. Therefore, according to the sub controller ( 41  in  FIG. 3 ), in a case that the communication device configuration is changed, time and labor of changing the source code of the second periodic communication application  61  and time and labor of changing the source code of the second non-periodic communication application  62  can be reduced (avoided). 
     Although the present invention has been shown and described with reference to a specific embodiment, various changes and modifications will be apparent to those skilled in the art from the teachings herein. The above-mentioned embodiments are included in a range and summary of the present invention and are also included in the invention described in the claim and its equivalent range. 
     The present invention provides specific effects for the respective embodiments. 
     First Embodiment 
     The first embodiment is characterized in that: 
     an information processing device comprises a first information processing part (for example, main controller  31 ) having a first calculation part (for example, first CPU  32 ), and a second information processing part (for example, sub controller  41 ) having a second calculation part (for example, second CPU  42 ), and the first information processing part and the second information processing part are communicated with each other; 
     the first information processing part includes a first communication part (for example, first communication part  35 ) which executes communication, and a first data storage part (for example, first data storage part  34 ) which stores data; 
     the first calculation part is configured to execute:
         a first communication device driver (for example, first communication device driver  54 ) which is software for making the first communication part execute communication;   a first periodic communication application (for example, first periodic communication application  51 ) configured to execute first periodic communication in which data for transmission are periodically created and recorded by being added to an FIFO type transmission periodic data list (for example, first transmission queue and second transmission queue) stored in the first data storage part and, in addition, data are read from a reception periodic data list (for example, first reception queue and second reception queue) which is an FIFO type data list periodically received by the first communication part and stored in the first storage part;   a first non-periodic communication application configured to execute first non-periodic communication in which data for transmission are non-periodically created and recorded by being added to an FIFO type transmission non-periodic data list (for example, third transmission queue) stored in the first data storage part and, in addition, data are read from a reception non-periodic data list (for example, third reception queue) which is an FIFO type data list non-periodically received by the first communication part and stored in the first storage part; and   a first data processing application configured to process data (for example, first data processing application  53 );       

     the first data processing application integrates the data which are read from the transmission periodic data list stored in the first data storage part (for example, first transmission periodic data set “D 1 ” and second transmission periodic data set “D 3 ”) with the data which are read from the transmission non-periodic data list stored in the first data storage part (for example, transmission non-periodic data set “D 5 ”) to process into transmission integrated data (for example, second transmission integrated data set “D 8 ”); and 
     the transmission integrated data are transmitted from the first communication part through execution of the first communication device driver. 
     According to the first embodiment, in a case that the communication device configuration is changed, time and labor of changing the source code of the periodic communication application (first periodic communication application) and time and labor of changing the source code of the non-periodic communication application (first non-periodic communication application) can be reduced (avoided). 
     Second Embodiment 
     The second embodiment is characterized in that: 
     the information processing device comprises the configuration of the first embodiment and, in addition, the first data processing application divides data periodically received by the first communication part (for example, second reception integrated data set “D 10 ”) into a plurality of data (for example, first reception periodic data set “D 2 ”, second reception periodic data set “D 4 ” and reception non-periodic data set “D 6 ”), and respective divided data are added to reception periodic data lists which are different from each other (for example, second reception queue). 
     According to the second embodiment, in the first information processing part, a plurality of mutually different type data can be collectively received as one data set. 
     Third Embodiment 
     The third embodiment is characterized in that: 
     the information processing device comprises the configuration of the second embodiment and, in addition, 
     the second information processing part comprises a second communication part which executes communication (for example, second communication part  45 ) and a second data storage part which stores data (for example, second data storage part  44 ); 
     the second calculation part is configured to execute:
         a second communication device driver which is software for making the second communication part execute communication (for example, second communication device driver  64 );   a second periodic communication application configured to execute second periodic communication in which data for transmission are periodically created and recorded by being added to an FIFO type transmission periodic data list stored in the second data storage part and, in addition, data are read from a reception periodic data list which is an FIFO type data list periodically received by the second communication part and stored in the second storage part (for example, second periodic communication application  61 );   a second non-periodic communication application configured to execute second non-periodic communication in which data for transmission are non-periodically created and recorded by being added to an FIFO type transmission non-periodic data list stored in the second data storage part and, in addition, data are read from a reception non-periodic data list which is an FIFO type data list non-periodically received by the second communication part and stored in the second storage part (for example, second non-periodic communication application  62 ); and   a second data processing application configured to process data (for example, second data processing application  63 );       

     the second data processing application integrates the data which are read from the transmission periodic data list stored in the second data storage part with the data which are read from the transmission non-periodic data list stored in the second data storage part to process into transmission integrated data; and 
     the transmission integrated data are transmitted from the second communication part through execution of the second communication device driver. 
     According to the third embodiment, in a case that the communication device configuration is changed, time and labor of changing the source code of the second periodic communication application and time and labor of changing the source code of the second non-periodic communication application can be reduced (avoided). 
     Fourth Embodiment 
     The fourth embodiment is characterized in that: 
     the information processing device comprises the configuration of the third embodiment and, in addition, the second data processing application divides data periodically received by the second communication part into a plurality of data, and respective divided data are added to reception periodic data lists which are different from each other. 
     According to the fourth embodiment, in the second information processing part, a plurality of mutually different type data can be collectively received as one data set. 
     Fifth Embodiment 
     The fifth embodiment is characterized in that: 
     an industrial robot comprises an information processing device, and the information processing device is one of the information processing devices defined in the first embodiment through the fourth embodiment. 
     According to the fifth embodiment, in a case that the communication device configuration is changed, time and labor of changing the source code of the periodic communication application (first periodic communication application) and time and labor of changing the source code of the non-periodic communication application (first non-periodic communication application) can be reduced (avoided). 
     While the description above refers to particular embodiments of the present invention, it will be understood that many modifications may be made without departing from the spirit thereof. The accompanying claims are intended to cover such modifications as would fall within the true scope and spirit of the present invention. 
     The presently disclosed embodiments are therefore to be considered in all respects as illustrative and not restrictive, the scope of the invention being indicated by the appended claims, rather than the foregoing description, and all changes which come within the meaning and range of equivalency of the claims are therefore intended to be embraced therein.