Industrial machine system and industrial machine control apparatus
The industrial machinery system addresses the inflexibility of conventional sequence programs by enabling variable-linking with IO devices or internal ports through a sequence program execution unit, IO allocation, and data transfer units, improving programming flexibility and scalability.
Patent Information
- Application Number
- PCT/JP2024/016405
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-04-26
- Publication Date
- 2025-10-30
AI Technical Summary
Conventional sequence programs in industrial machinery control devices lack flexibility in programming due to fixed addresses and symbols, limiting the ability to link variables with IO devices, and require extensive time to assign IO devices to variables using creation tools that need comprehensive information about all types of IO devices.
An industrial machinery system with an industrial machinery control device that includes a sequence program execution unit, an input/output shared area, an IO allocation unit, an IO data transfer unit, and a variable data transfer unit, allowing variables in a sequence program to be linked with IO devices or internal ports without requiring the creation tool to have information about the IO devices.
Enables flexible programming by linking variables in a sequence program with IO devices or internal ports, enhancing scalability and reducing the time required for IO device assignment.
Smart Images

Figure JP2024016405_30102025_PF_FP_ABST
Abstract
Description
Industrial machinery system and industrial machinery control device
[0001] The present disclosure relates to an industrial machinery system in which IO devices and sequence programs operate in cooperation with each other, and an industrial machinery control device.
[0002] In some industrial machinery control devices, such as machine tools and robots, a sequencer (Programmable Logic Controller: PLC) is incorporated into the control device. For example, in the case of a robot control device, a system controls peripheral devices (hereinafter also referred to as "IO devices"), such as the robot's hand, conveyor, safety fence, and open / close sensor. In this case, a sequence program can be created in a ladder programming language or the like and periodically executed within the robot control device. In this case, the sequence program must be linked to the IO devices connected to the robot and the robot's operation program. Therefore, a technology for industrial machinery control devices is known that can both accommodate system diversity and scalability and enable appropriate data sharing between a control application (PLC language) and an information application (C language, etc.). For example, see Patent Document 1.
[0003] Japanese Patent Application Laid-Open No. 2022-041359
[0004] Conventional sequence programs have fixed addresses and symbols (X0, Y0) for identifying them, and values are stored within those addresses. For example, as shown in FIG. 9 , a robot control device has an address data area that is uniquely determined for each address (or symbol). By allocating the address data area to an IO device area, the robot control device can link the IO devices with the address data area, thereby linking the IO devices with the sequence program. However, users cannot define variables, which limits programming flexibility. On the other hand, there is also a method for writing sequence programs that defines variables. When creating a sequence program using the variable definition method, the PLC does not have fixed addresses. In other words, a sequence program created using the variable definition method may not be able to link with operation programs or IO devices. Furthermore, in conventional technology, sequence programs and variables are created using a sequence program creation tool (hereinafter also referred to as the "creation tool") installed on a personal computer, etc. However, if the creation tool is used to assign an arbitrary IO device to a variable, the creation tool must have information on all types of IO devices, which is time-consuming. The above-mentioned problems are common to industrial machine control devices, including robot control devices.
[0005] Therefore, it is desirable to link variables in a sequence program created using a method of defining variables with internal ports of IO devices or industrial machinery systems without the creation tool having information about IO devices.
[0006] One aspect of the industrial machinery system of the present disclosure is an industrial machinery system including an industrial machinery control device that controls industrial machinery and a sequence program creation tool ("creation tool"), wherein the industrial machinery control device includes: a sequence program execution unit that executes a sequence program; an input / output shared area that shares data between variables in the sequence program and IO devices or internal IO ports of the industrial machinery system; an IO allocation unit that sets an allocation between the input / output shared area and the IO devices or the internal IO ports; an IO data transfer unit that transfers data between the input / output shared area and the IO devices or the internal IO ports in accordance with the allocation by the IO allocation unit; and a variable data transfer unit that transfers data between the input / output shared area and variables in the sequence program, wherein the sequence program creation tool ("creation tool") sets variable allocation data that allocates the input / output shared area to variables in the sequence program, and the variable data transfer unit transfers data between the input / output shared area and variables in the sequence program based on the variable allocation data set by the sequence program creation tool.
[0007] One aspect of the industrial machine control device of the present disclosure includes a sequence program execution unit that executes a sequence program, an input / output shared area that shares data between variables in the sequence program and IO equipment or internal IO ports of an industrial machinery system, an IO allocation unit that sets an allocation between the input / output shared area and the IO equipment or the internal IO port, an IO data transfer unit that transfers data between the input / output shared area and the IO equipment or the internal IO port in accordance with the allocation by the IO allocation unit, a variable allocation unit that sets variable allocation data that allocates the input / output shared area to variables in the sequence program, and a variable data transfer unit that transfers data between the input / output shared area and variables in the sequence program based on the variable allocation data.
[0008] FIG. 1 is a diagram showing an example of an outline of the operation of an industrial machine control device according to an embodiment. FIG. 2 is a diagram showing an example of a functional block configuration of an industrial machine system according to an embodiment. FIG. 3 is a diagram showing an example of a functional block configuration of a robot control device. FIG. 4 is a diagram showing an example of a setting screen for IO allocation of an IO device area by an IO allocation unit. FIG. 5 is a diagram showing an example of variable allocation data. FIG. 6 is a diagram showing an example of a sequence program created by a creation tool. FIG. 7 is a flowchart illustrating data transfer processing of a robot system. FIG. 8 is a diagram showing an example of a functional block configuration of a robot control device. FIG. 9 is a diagram showing an example of an outline of the operation of a conventional robot control device.
[0009] An industrial machinery system according to an embodiment will be described in detail below with reference to the drawings. <Embodiment> First, an overview of this embodiment will be described. In this embodiment, as shown in FIG. 1 , a sequence program of an industrial machinery control device includes variable data and program data. The industrial machinery control device also includes an I / O shared area that shares data between variables in the sequence program and I / O devices or internal I / O ports connected to the industrial machinery control device, and an I / O device area in which the I / O shared area is assigned to the I / O devices or internal I / O ports. The industrial machinery control device performs I / O allocation between the I / O device area and the I / O shared area and performs variable allocation between the I / O shared area and variables in the sequence program. This transfers data between the I / O shared area and the I / O devices or internal I / O ports according to the I / O allocation, and between the I / O shared area and variables in the sequence program according to the variable allocation. As a result, this embodiment allows variables in a sequence program created using a variable definition method to be linked to I / O devices or internal ports of the industrial machinery system, without the creation tool having information about I / O devices. This concludes the overview of this embodiment.
[0010] FIG. 2 is a diagram showing an example of a functional block configuration of an industrial machinery system according to an embodiment. Here, a robot is used as the industrial machine, a robot control device is used as the industrial machine control device, and a robot program is used as the operation program. The present invention is also applicable to various types of industrial machinery, such as machine tools, industrial robots, service robots, forging machines, and injection molding machines, as well as numerical control devices. In the case of machine tools, the operation program is an NC (Numerical Control) program. An end effector, such as a hand attached to the end of a robot arm, is also shown as an example of an IO device. The present invention is also applicable to conveyors, open / close sensors, and other IO devices.
[0011] As shown in FIG. 2 , the industrial machinery system 1 includes a computer 10, a robot 20, a robot control device 30, and a machine tool 40. The computer 10 includes a creation tool (sequence program creation tool) 101. The robot 20 has a hand 21 attached to the end of its arm. A teaching pendant 35 is connected to the robot control device 30. The computer 10, the robot 20, the robot control device 30, and the machine tool 40 may be directly connected to each other via a connection interface (not shown). The computer 10, the robot 20, the robot control device 30, and the machine tool 40 may also be connected to each other and communicate via a network (not shown) such as a local area network (LAN) or the Internet. In this case, the computer 10, the robot 20, the robot control device 30, and the machine tool 40 each include a communication unit (not shown) for communicating with each other via such a connection.
[0012] <Robot 20> The robot 20 is a known robot that operates under the control of a robot control device 30, which will be described later. The robot 20 has a base unit that rotates around a vertical axis, an arm that moves and rotates, and an end effector such as a hand 21 attached to the tip of the arm.
[0013] <Machine Tool 40> The machine tool 40 is, for example, a machine tool known to those skilled in the art, and can perform operations linked to the operation of the robot 20 based on commands from a sequence program executed by the robot control device 30, which will be described later. The machine tool 40 according to this embodiment operates as an IO device linked to the robot 20. That is, for example, the machine tool 40 can link operations such that, when machining or the like is completed, the robot 20 replaces a workpiece and starts machining the replaced workpiece.
[0014] <Robot control device 30> The robot control device 30 is a robot control device known to those skilled in the art for controlling the operation of the robot 20, and is connected to a teaching pendant 35. The robot control device 30 generates control signals by executing a robot program created using, for example, Cartesian coordinate values or axis values indicating the position of the tip point of the robot 20 taught by an operator using the teaching pendant 35. The robot control device 30 operates the robot 20 by outputting the generated control signals to the robot 20. The teaching pendant 35 is a device that teaches the robot 20, and may be a computer designed specifically for the robot control device 30, or may be a computer such as a tablet computer.
[0015] 3, the robot control device 30 includes a CPU (Central Processing Unit) 31 and a storage unit 32. The CPU 31 also includes a sequence program execution unit 311, an IO allocation unit 312, an IO data transfer unit 313, and a variable data transfer unit 314.
[0016] <Storage Unit 32> The storage unit 32 is a read-only memory (ROM), a random access memory (RAM), a solid-state drive (SSD), a hard disk drive (HDD), or the like. The storage unit 32 stores an operating system and application programs executed by the CPU 31, as well as a sequence program created by a creation tool 101 of the computer 10 (described later) and a robot program created by a teaching pendant 35 or the like. The storage unit 32 also has an input / output shared area 321 and an input / output device area 322. The storage unit 32 may also store variable allocation data 323 set by the creation tool 101 of the computer 10 (described later). Next, the input / output shared area 321 and the input / output device area 322 will be described, and IO allocation between the input / output device area 322 and the input / output shared area 321 will be described.
[0017] The input / output shared area 321 is a memory such as RAM in the storage unit 32, and is added to link values of an IO device area 322 having a sequence program (described later), variables, and data of IO devices or internal IO ports of the industrial machinery system 1. As shown in Fig. 3, the input / output shared area 321 has, for example, N memory areas Data1 to DataN (N is an integer of 2 or more) for sharing variables in a sequence program and data of IO devices or internal IO ports.
[0018] The IO device area 322 is a memory such as RAM in the storage unit 32. The IO device area 322 is an input / output port for the sequence program, which is set for each IO device or internal IO port, and includes an input port and an output port. As shown in Fig. 4, for example, an IO device (IO Board A) is set with an IO device area (Input1) which is an input port and an IO device area (Output1) which is an output port.
[0019] As shown in FIG. 4 , in the IO device area 322, storage areas Data1 to DataN of the input / output shared area 321 are allocated to each input port and output port included in each IO device area based on IO allocation by the IO allocation unit 312 (described later). FIG. 4 is a diagram showing an example of a setting screen for IO allocation of the IO device area 322 by the IO allocation unit 312. As shown in FIG. 4 , the setting screen displays an "IO Device" setting area for setting IO devices or internal IO ports, and an "Input / Output Shared Area" setting area for setting the input / output shared area 321 (PLC area). Here, the "Device Name" setting area of the "IO Device" displays a list of IO devices or internal IO ports (e.g., IO boards, network ports, Robot Output, Register, etc.) connected to the robot control device 30. Here, Robot Output is an output port with a terminal on the wrist of the robot 20, and Register is an internal variable within the robot 20. The "IO Device Area" of "IO Device" displayed on the setting screen displays the input port and output port. Note that since Register is an internal variable within the robot 20, a blank "-" is displayed. The "Type" of the "IO Device" displayed on the setting screen is automatically determined by the IO device, and the type of the IO device or internal IO port of the "IO Device" (digital input / output, analog input / output, etc.) is displayed, and the size of the IO device or internal IO port is displayed in "Size."
[0020] The "Storage Area" field of the "I / O Shared Area" displayed on the setting screen displays the storage area (Data i; i is a natural number) of the I / O shared area 321 that shares data for each I / O device or internal I / O port of the "Device Name" of the displayed "IO Device." A blank "-" is stored in Register. The "Type" of the storage area (Data i; i is a natural number) included in the "I / O Shared Area" displayed on the setting screen is automatically determined based on the type of the assigned I / O device or internal I / O port. The "Start Byte" of the storage area (Data i; i is a natural number) included in the "I / O Shared Area" displayed on the setting screen is set by the user via an input device (not shown) such as a keyboard included in the robot control device 30, the teaching operation panel 35, or the like.
[0021] The data of the IO allocation between the input / output shared area 321 and the IO device area 322 set by the IO allocation unit 312 using the setting screen of Fig. 4 may be stored in the storage unit 32. The IO allocation has been described above. Next, variable allocation will be described.
[0022] The variable allocation data 323 is data that allocates variable data in a sequence program created by a creation tool 101 of the computer 10 (described later) to the I / O shared area 321. FIG. 5 is a diagram showing an example of the variable allocation data 323. As shown in FIG. 5, the variable allocation data 323 allocates each variable in the sequence program to each storage area (Data i; i is a natural number) included in the I / O shared area 321 (PLC area). When the name of a variable declared in the sequence program is set in "Name," the "Type" and "Size" associated with the variable are automatically set. The "Type" associated with the I / O shared area 321 determines whether each variable in the sequence program is used for input or output, as set by the creation tool 101 of the computer 10 (described later). The "Start Byte" is set based on the start offset of the I / O shared area 321 to be allocated, and is determined based on the IO allocation between the I / O shared area 321 and the IO device area 322 set using the setting screen of FIG. 4. In this way, a storage area (Data i; i is a natural number) in the input / output shared area 321 is allocated for each variable in the sequence program by the creation tool 101 of the computer 10 (to be described later).
[0023] <CPU 31> The CPU 31 is a processor that performs overall control of the robot control device 30. The CPU 31 reads out the system program and various software application programs stored in the storage unit 32, and controls the entire robot control device 30 in accordance with the system program and the application programs. As a result, as shown in Fig. 3, the CPU 31 is configured to realize the functions of a sequence program execution unit 311, an IO allocation unit 312, an IO data transfer unit 313, and a variable data transfer unit 314. Note that the CPU 31 may also execute the robot program for the robot 20.
[0024] The sequence program execution unit 311 operates, for example, as a function of the PLC in the robot control device 30, and executes a sequence program created by a creation tool 101 of the computer 10 (described later).
[0025] As described above, the IO allocation unit 312 sets the allocation between the input / output shared area 321 and the IO devices or the internal IO ports of the industrial machinery system 1. Specifically, the IO allocation unit 312 sets the allocation between the storage areas Data1 to DataN of the input / output shared area 321 and the IO devices or the internal IO ports of the industrial machinery system 1, for example, based on a user's input operation via an input device (not shown) of the robot control device 30 or the teaching operation panel 35, using the setting screen shown in FIG.
[0026] The IO data transfer unit 313 transfers data between the input / output shared area 321 and the IO device or the internal IO port of the industrial machinery system 1 in accordance with the allocation by the IO allocation unit 312 using the setting screen of FIG. 4, for example.
[0027] The variable data transfer unit 314 transfers data between the input / output shared area 321 and variables in a sequence program created by a creation tool 101 (described later) of the computer 10. Specifically, the variable data transfer unit 314 transfers data between the input / output shared area 321 and variables in the sequence program based on variable allocation data 323 set by the creation tool 101 (described later) of the computer 10, for example.
[0028] <Computer 10> The computer 10 is an information processing device such as a general personal computer or tablet terminal. The computer 10 has a microprocessor including a CPU, RAM, ROM, and I / O (Input / Output), a storage device such as an SSD or HDD, input devices such as a keyboard and a mouse, and an output device such as a liquid crystal display. The CPU executes each program read from the ROM or storage device, and the hardware and software (programs) work together to realize the functions of the creation tool (sequence program creation tool) 101 in this embodiment.
[0029] The creation tool 101 creates a sequence program based on, for example, a user's input operation via an input device (not shown), and sets variable allocation data 323 that allocates variables in the created sequence program to the input / output shared area 321 of the robot control device 30. FIG. 6 is a diagram showing an example of a sequence program created by the creation tool 101. As shown in FIG. 6, lines 2 to 7 of the sequence program define variable data. "hand_open" is a variable for a hand open / close command from the robot program, "hand_output" is a variable for output to the hand 21, and "hand_status" is a variable for status feedback of the hand 21. "position_x" is a variable for the x-coordinate value of the robot, "error_status" is a variable for error output, and "counter" is a counter variable. Lines 8 to 27 of the sequence program are program data, and line 8 increments the variable "counter." Lines 9 to 13 specify that the hand can be opened and closed only when the robot's x address is at a predetermined position (e.g., greater than -1000 and less than 1000), and request the robot's operation program to open the hand, output an open signal to the hand, and reset the variable "counter." Lines 14 to 18 request the robot's operation program to close the hand if the robot's x address is not at the predetermined position, output a close signal to the hand, and reset the variable "counter." Lines 20 to 23 check feedback from the hand 21 500 ms after opening and closing, and output an error if the feedback is incorrect despite a retry of the close signal. On the other hand, lines 24 to 27 output an error if the feedback is incorrect despite a retry of the open signal.
[0030] The creation tool 101 sets and creates variable allocation data 323 based on variable data of the sequence program and IO allocation data between the I / O shared area 321 and the I / O device area 322 acquired from the robot control device 30. Specifically, the creation tool 101 acquires the IO allocation data between the I / O shared area 321 and the I / O device area 322 from the robot control device 30. The creation tool 101 references the acquired IO allocation data and sets the variable allocation data 323 so that, for example, the variable "hand_open" is allocated to a storage area in the I / O shared area 321 that is allocated to an internal port of the robot control device 30. The creation tool 101 also references the acquired IO allocation data and sets the variable allocation data 323 so that the variable "hand_output" is allocated to a storage area in the I / O shared area 321 that is allocated to an output port of the wrist of the robot 20. The creation tool 101 also references the acquired IO allocation data and sets the variable allocation data 323 so that the variable "hand_status" is allocated to the storage area of the I / O shared area 321 allocated to the input port of the wrist of the robot 20. The creation tool 101 also references the acquired IO allocation data and sets the variable allocation data 323 so that the variable "position_x" is allocated to the storage area of the I / O shared area 321 allocated to the built-in port of the robot control device 30. The creation tool 101 also references the acquired IO allocation data and sets the variable allocation data 323 so that the variable "error_status" is allocated to the storage area of the I / O shared area 321 allocated to the external output port. Note that since the variable "counter" is an internal variable, the creation tool 101 does not set the variable "counter" in the variable allocation data 323. The creation tool 101 transmits the variable allocation data 323 set as described above to the robot control device 30 together with the sequence program. By doing so, the robot control device 30 can link the variables of a sequence program created using a method for defining variables with the IO equipment or the internal ports of the industrial machinery system 1 without the creation tool 101 having information about the IO equipment.The creation tool 101 may create, together with the sequence program, a robot program for the robot 20 and an NC program for the machine tool 40 that can access data from the IO device or the internal IO port of the industrial machinery system 1. The creation tool 101 may transmit the created robot program and NC program to the robot control device 30.
[0031] <Data Transfer Processing of Robot System 1> Next, the flow of data transfer processing of the robot system 1 will be described with reference to Fig. 7. Fig. 7 is a flowchart illustrating the data transfer processing of the robot system 1.
[0032] In step S21, the IO allocation unit 312 of the robot control device 30 allocates the input / output shared area 321 to the IO device or the internal IO port of the industrial machinery system 1, and sets IO allocation data.
[0033] In step S11, the creation tool 101 creates a sequence program based on an input operation by a user via an input device (not shown).
[0034] In step S12, the creation tool 101 refers to the IO allocation data set by the IO allocation unit 312 in step S21, and sets and creates variable allocation data 323 that allocates variables in the sequence program created in step S11 to the input / output shared area 321 of the robot control device 30.
[0035] In step S13, the computer 10 transmits the sequence program created in step S11 and the variable allocation data 323 created in step S12 to the robot control device 30.
[0036] In step S22, the robot control device 30 (CPU 31) receives the sequence program and variable allocation data 323 transmitted from the computer 10 in step S13.
[0037] In step S23, the sequence program execution unit 311 executes the sequence program.
[0038] In step S24, the variable data transfer unit 314 transfers data between the input / output shared area 321 and the variables in the sequence program based on the variable allocation data 323.
[0039] In step S25, the IO data transfer unit 313 transfers data between the input / output shared area 321 and the IO device or the internal IO port of the industrial machinery system 1 in accordance with the IO allocation allocated in step S21.
[0040] As a result, the robot control device 30 according to one embodiment can link variables in a sequence program created using a variable definition method with internal ports of IO devices or industrial machinery systems, without the creation tool having information about the IO devices.
[0041] <Modification 1> In the embodiment described above, the robot controller 30 sets the IO allocation between the I / O shared area 321 and the I / O devices or the internal I / O ports of the industrial machinery system 1, and then the creation tool 101 of the computer 10 sets the variable allocation data 323 that allocates the I / O shared area 321 of the robot controller 30 to the variables of the sequence program by referring to the IO allocation data. However, the present invention is not limited to this. For example, the creation tool 101 of the computer 10 may set the variable allocation data 323 that allocates the I / O shared area 321 of the robot controller 30 to the variables of the sequence program by referring to the variable allocation data 323.
[0042] <Modification 2> Furthermore, for example, in the above-described embodiment, the creation tool 101 of the computer 10 creates the variable allocation data 323 along with the sequence program and transmits it to the robot control device 30, but this is not limiting. For example, the creation tool 101 may create only the sequence program and transmit it to the robot control device 30, and the CPU 31 of the robot control device 30 may have a variable allocation unit 315 that references the IO allocation data and sets the variable allocation data 323 that allocates the I / O shared area 321 to variables in the received sequence program, as shown in FIG.
[0043] <Modification 3> Furthermore, for example, in the above-described embodiment, the hand 21 attached to the tip of the robot 20 is used as an example of the IO device, but this is not limiting. For example, the IO device may be a sensor such as an acceleration sensor attached to the tip of the robot 20. In this case, the sequence program may include code for processing the sensor value detected by the sensor.
[0044] In one embodiment, each function included in the robot control device 30 can be realized by hardware, software, or a combination of these. Here, "realized by software" means that the function is realized by a computer reading and executing a program.
[0045] The program can be stored and supplied to a computer using various types of non-transitory computer-readable media. Non-transitory computer-readable media include various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic recording media (e.g., flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (e.g., magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / Ws, and semiconductor memories (e.g., mask ROMs, PROMs (Programmable ROMs), EPROMs (Erasable PROMs), flash ROMs, and RAMs). The program may be provided to the computer by various types of transient computer-readable media. Examples of transient computer-readable media include electrical signals, optical signals, and electromagnetic waves. The transient computer-readable media can provide the program to the computer via a wired communication path such as an electrical wire or optical fiber, or via a wireless communication path.
[0046] The step of executing the program recorded on the recording medium includes not only processes that are performed in chronological order, but also processes that are not necessarily performed in chronological order but are performed in parallel or individually. Also, the step of writing the program may be performed by cloud computing.
[0047] Although the present disclosure has been described in detail, the present disclosure is not limited to the individual embodiments described above. Various additions, substitutions, modifications, partial deletions, etc. are possible in these embodiments without departing from the gist of the present disclosure or the spirit of the present disclosure derived from the content of the claims and their equivalents. These embodiments can also be implemented in combination. For example, in the above-described embodiments, the order of each operation and the order of each process are shown as examples and are not limited to these. The same applies when numerical values or mathematical expressions are used in the description of the above-described embodiments.
[0048] The following supplementary notes are further disclosed regarding the above-described embodiment and modified examples. (Supplementary Note 1) The industrial machine system (1) includes an industrial machine control device (30) that controls an industrial machine (20) and a sequence program creation tool (101), and the industrial machine control device (30) includes a sequence program execution unit (311) that executes a sequence program, an input / output shared area (321) that shares data between variables in the sequence program and IO devices (21, 40) or internal IO ports of the industrial machine system (1), an IO allocation unit (312) that sets allocation between the input / output shared area (321) and the IO devices (21, 40) or internal IO ports, and an input / output shared area (321) that allocates data between the input / output shared area (321) and the IO devices (21, 40) or internal IO ports according to allocation by the IO allocation unit (312). (321), an IO data transfer unit (313) that transfers data between the IO device (21, 40) or the internal IO port, and a variable data transfer unit (314) that transfers data between the I / O shared area (321) and variables in the sequence program, wherein the sequence program creation tool (101) sets variable allocation data (323) that allocates the I / O shared area (321) to the variables in the sequence program, and the variable data transfer unit (314) transfers data between the I / O shared area (321) and the variables in the sequence program based on the variable allocation data (323) set by the sequence program creation tool (101). (Supplementary Note 2) In the industrial machinery system (1) of Supplementary Note 1, the industrial machinery control device (30) has an operation program that operates the industrial machinery (20, 40), and the operation program is capable of accessing data of the IO device (21, 40) or the internal IO port. (Supplementary Note 3) In the industrial machinery system (1) of Supplementary Note 1 or Supplementary Note 2, the industrial machinery is a robot (20). (Supplementary Note 4) In the industrial machinery system (1) of Supplementary Note 3, the IO device (21) is a hand (21) or a sensor attached to the tip of the robot (20), the sequence program includes control of the hand (21) or processing of sensor values of the sensor, and the sequence program execution unit (311) controls IO signals input to and output from the hand (21) or the sensor.(Supplementary Note 5) The industrial machine control device (30) includes a sequence program execution unit (311) that executes a sequence program, an input / output shared area (321) that shares data between variables in the sequence program and the IO devices (21, 40) or internal IO ports of the industrial machine system (1), an IO allocation unit (312) that sets allocation between the input / output shared area (321) and the IO devices (21, 40) or the internal IO ports, an IO data transfer unit (313) that transfers data between the input / output shared area (321) and the IO devices (21, 40) or the internal IO ports in accordance with the allocation by the IO allocation unit (312), a variable allocation unit (315) that sets variable allocation data (323) that allocates the input / output shared area (321) to variables in the sequence program, and a variable data transfer unit (314) that transfers data between the input / output shared area (321) and variables in the sequence program based on the variable allocation data (323). (Supplementary Note 6) The industrial machine control device (30) of Supplementary Note 5 has an operation program for operating the industrial machine (20), and the operation program is capable of accessing data from an IO device (21, 40) or an internal IO port. (Supplementary Note 7) In the industrial machine control device (30) of Supplementary Note 5 or Supplementary Note 6, the industrial machine is a robot (20). (Supplementary Note 8) In the industrial machine control device (30) of Supplementary Note 7, the IO device (21) is a hand (21) or a sensor attached to the tip of the robot (20), the sequence program includes control of the hand (21) or processing of sensor values from the sensor, and the sequence program execution unit (311) controls IO signals input to and output from the hand (21) or the sensor.
[0049] REFERENCE SIGNS LIST 1 Industrial machinery system 10 Computer 101 Creation tool 20 Robot 21 Hand 30 Robot control device 31 CPU 311 Sequence program execution unit 312 IO allocation unit 313 IO data transfer unit 314 Variable data transfer unit 315 Variable allocation unit 32 Storage unit 321 Input / output shared area 322 IO device area 323 Variable allocation data 35 Teaching operation panel 40 Machine tool
Claims
1. An industrial machinery system including an industrial machinery control device that controls industrial machinery and a sequence program creation tool, wherein the industrial machinery control device comprises: a sequence program execution unit that executes a sequence program; an input / output shared area that shares data between variables in the sequence program and IO devices or internal IO ports of the industrial machinery system; an IO allocation unit that sets an allocation between the input / output shared area and the IO devices or the internal IO ports; an IO data transfer unit that transfers data between the input / output shared area and the IO devices or the internal IO ports in accordance with the allocation by the IO allocation unit; and a variable data transfer unit that transfers data between the input / output shared area and variables in the sequence program, wherein the sequence program creation tool sets variable allocation data that allocates the input / output shared area to variables in the sequence program, and the variable data transfer unit transfers data between the input / output shared area and variables in the sequence program based on the variable allocation data set by the sequence program creation tool.
2. The industrial machinery system according to claim 1, wherein the industrial machinery control device has an operating program for operating the industrial machinery, and the operating program enables access to data of the IO device or the internal IO port.
3. The industrial machinery system according to claim 1 or 2, wherein the industrial machinery is a robot.
4. The industrial machinery system according to claim 3, wherein the IO device is a hand or a sensor attached to the tip of the robot, the sequence program includes control of the hand or processing of the sensor values of the sensor, and the sequence program execution unit controls IO signals input and output to the hand or sensor.
5. An industrial machinery control device comprising: a sequence program execution unit that executes a sequence program; an input / output shared area that shares data between variables in the sequence program and IO devices or internal IO ports of an industrial machinery system; an IO allocation unit that sets the allocation between the input / output shared area and the IO devices or the internal IO ports; an IO data transfer unit that transfers data between the input / output shared area and the IO devices or the internal IO ports in accordance with the allocation by the IO allocation unit; a variable allocation unit that sets variable allocation data that allocates the input / output shared area to variables in the sequence program; and a variable data transfer unit that transfers data between the input / output shared area and variables in the sequence program based on the variable allocation data.
6. The industrial machine control device according to claim 5, further comprising an operating program for operating the industrial machine, said operating program enabling access to data of said IO device or said internal IO port.
7. The industrial machine control device according to claim 5 or 6, wherein the industrial machine is a robot.
8. An industrial machine control device as described in claim 7, wherein the IO device is a hand or a sensor attached to the tip of the robot, the sequence program includes control of the hand or processing of the sensor value of the sensor, and the sequence program execution unit controls IO signals input and output to the hand or sensor.
Citation Information
Patent Citations
Programmable controller system, support device thereof and programmable controller
JP2015215865A
Support device, support program, and program generation method
JP2020042710A