IP Library Granted Patent US 12,259,715
Granted Patent B2
US 12,259,715 · App. 17/511,735 · Granted Mar 25, 2025

Open application interface for industrial equipment

Inventors: Michael E. Donelan (Upton, MA); Linfeng Liu (Suzhou, CN); John Anthony Cronin (Franklin, MA)
Assignee: Illinois Tool Works Inc.
G05B19/4185G05B19/4183G05B19/4188
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,259,715
App. No.
17/511,735
Granted
Mar 25, 2025
Kind
B2
Abstract

An open application protocol for industrial equipment is disclosed. Disclosed techniques include: opening a connection between (a) an open application associated with a manufacturing execution system and (b) an instance of a data sharing interface operating on an industrial machine used in a surface mounting process, the open application being configured to communicate with any machine that implements the data sharing interface, regardless of machine type or manufacturer; discovering, by the open application via the connection, discoverable information associated with the industrial machine, the discoverable information including one or more of data items, events, commands, or alarms; and controlling, by the open application via the connection, operation of the industrial machine to control at least a portion of the surface mounting process.

Claims (40)

1. One or more non-transitory computer-readable media storing instructions that, when executed by one or more processors of a computing device, cause the one or more processors to perform operations for controlling at least part of a surface mounting process, the operations comprising:

opening a connection between (a) an open application, running on the computing device, associated with a manufacturing execution system and (b) an instance of a data sharing interface operating on an industrial machine used in the surface mounting process, the open application being configured to communicate with any machine that implements the data sharing interface, regardless of machine type and manufacturer, the industrial machine being external to the computing device;

sending, by the open application via the connection, a request message from the computing device to the industrial machine, the request message requesting a list of commands that are eligible to be executed on the industrial machine;

receiving, by the open application from the industrial machine via the connection, in response to the request message, the list of commands available to be executed on the industrial machine, the list of commands including properties and parameters of each command of the list of commands;

controlling, by the open application via the connection, operation of the industrial machine to control at least a portion of the surface mounting process by causing a command defined in the received list of commands to be executed, at least by transmitting an instruction to execute the command to the industrial machine via the instance of the data sharing interface.

2. The one or more non-transitory computer-readable media of claim 1 , the operations further comprising:

opening another connection between (a) the open application associated with the manufacturing execution system and (b) another instance of the data sharing interface operating on another industrial machine used in the surface mounting process, the other industrial machine being external to the computing device and the industrial machine;

sending, by the open application via the other connection, another request message to the other industrial machine, the other request message requesting another list of commands available to be executed on the other industrial machine;

receiving, by the open application from the other industrial machine via the other connection, in response to the other request message, the other list of commands available to be executed on the other industrial machine, the other list of commands including other properties and parameters of each command of the other list of commands; and

controlling, by the open application via the other connection, operation of the other industrial machine to control at least another portion of the surface mounting process.

3. The one or more non-transitory computer-readable media of claim 2 , the industrial machine and the other industrial machine being provided by different manufacturers.

4. The one or more non-transitory computer-readable media of claim 2 , the industrial machine and the other industrial machine being different kinds of machines.

5. The one or more non-transitory computer-readable media of claim 1 , the industrial machine being one of a stencil printer, a dispenser, a pick-and-place machine, a reflow oven, a wave solder machine, or a selective solder machine.

6. A system for controlling at least part of a surface mounting process, comprising:

at least one device including a hardware processor;

the system being configured to perform operations for controlling at least part of the surface mounting process, the operations comprising:

opening a connection between (a) an open application, running on the at least one device, associated with a manufacturing execution system and (b) an instance of a data sharing interface operating on an industrial machine used in a surface mounting process, the open application being configured to communicate with any machine that implements the data sharing interface, regardless of machine type and manufacturer, the industrial machine being external to the at least one device;

sending, by the open application via the connection, a request message from the at least one device to the industrial machine, the request message requesting a list of commands that are eligible to be executed on the industrial machine;

receiving, by the open application from the industrial machine via the connection, in response to the request message, the list of commands available to be executed on the industrial machine, the list of commands including properties and parameters of each command of the list of commands;

controlling, by the open application via the connection, operation of the industrial machine to control at least a portion of the surface mounting process by causing a command defined in the received list of commands to be executed, at least by transmitting an instruction to execute the command to the industrial machine via the instance of the data sharing interface.

7. The system of claim 6 , the operations further comprising:

opening another connection between (a) the open application associated with the manufacturing execution system and (b) another instance of the data sharing interface operating on another industrial machine used in the surface mounting process, the other industrial machine being external to the at least one device and the industrial machine;

sending, by the open application via the other connection, another request message to the other industrial machine, the other request message requesting another list of commands available to be executed on the other industrial machine;

receiving, by the open application from the other industrial machine via the other connection, in response to the other request message, the other list of commands available to be executed on the other industrial machine, the other list of commands including other properties and parameters of each command of the other list of commands; and

controlling, by the open application via the other connection, operation of the other industrial machine to control at least another portion of the surface mounting process.

8. The system of claim 7 , the industrial machine and the other industrial machine being provided by different manufacturers.

9. The system of claim 7 , the industrial machine and the other industrial machine being different kinds of machines.

10. The system of claim 6 , the industrial machine being one of a stencil printer, a dispenser, a pick-and-place machine, a reflow oven, a wave solder machine, or a selective solder machine.

11. A method, performed by a computing device, for controlling at least part of a surface mounting process, comprising:

opening a connection between (a) an open application, running on the computing device, associated with a manufacturing execution system and (b) an instance of a data sharing interface operating on an industrial machine used in the surface mounting process, the open application being configured to communicate with any machine that implements the data sharing interface, regardless of machine type and manufacturer, the industrial machine being external to the computing device;

sending, by the open application via the connection, a request message from the computing device to the industrial machine, the request message requesting a list of commands that are eligible to be executed on the industrial machine;

receiving, by the open application from the industrial machine via the connection, in response to the request message, the list of commands available to be executed on the industrial machine, the list of commands including properties and parameters of each command of the list of commands;

controlling, by the open application via the connection, operation of the industrial machine to control at least a portion of the surface mounting process by causing a command defined in the received list of commands to be executed, at least by transmitting an instruction to execute the command to the industrial machine via the instance of the data sharing interface.

12. The method of claim 11 , further comprising:

opening another connection between (a) the open application associated with the manufacturing execution system and (b) another instance of the data sharing interface operating on another industrial machine used in the surface mounting process, the other industrial machine being external to the computing device and the industrial machine;

sending, by the open application via the other connection, another request message to the other industrial machine, the other request message requesting another list of commands available to be executed on the other industrial machine;

receiving, by the open application from the other industrial machine via the other connection, in response to the other request message, the other list of commands available to be executed on the other industrial machine, the other list of commands including other properties and parameters of each command of the other list of commands; and

controlling, by the open application via the other connection, operation of the other industrial machine to control at least another portion of the surface mounting process.

13. The method of claim 12 , the industrial machine and the other industrial machine being provided by different manufacturers.

14. The method of claim 12 , the industrial machine and the other industrial machine being different kinds of machines.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 27, 2021
From: DONELAN, MICHAEL E.; LIU, LINFENG; CRONIN, JOHN ANTHONY
To: ILLINOIS TOOL WORKS INC.
Reel/Frame 057929/0006 →
Continuity (1)
Related Publication 20230126456A1 · Apr 27, 2023
References Cited (33)
US 6754551B1 · Zohar et al. · 2004 [cited by applicant]
US 7046383B1 · Ueda · 2006 [cited by examiner]
US 7117504B2 · Smith et al. · 2006 [cited by applicant]
US 7324861B1 · Zheng · 2008 [cited by applicant]
US 7475472B2 · Haarberg et al. · 2009 [cited by applicant]
US 8145341B2 · Jaroszewski et al. · 2012 [cited by applicant]
US 9060437B2 · Bloom et al. · 2015 [cited by applicant]
US 20010046862A1 · Coppinger et al. · 2001 [cited by applicant]
US 20020007422A1 · Bennett · 2002 [cited by examiner]
US 20030023336A1 · Kreidler et al. · 2003 [cited by applicant]
US 20030059964A1 · Kawai et al. · 2003 [cited by applicant]
US 20050071996A1 · Ray · 2005 [cited by applicant]
US 20060000871A1 · Wang · 2006 [cited by examiner]
US 20070046283A1 · Onishi et al. · 2007 [cited by applicant]
US 20080152411A1 · Konig et al. · 2008 [cited by applicant]
US 20100122633A1 · Doyle · 2010 [cited by applicant]
US 20100122634A1 · Doyle · 2010 [cited by examiner]
US 20100125359A1 · Doyle · 2010 [cited by examiner]
US 20110067024A1 · Chiu et al. · 2011 [cited by applicant]
US 20130192482A1 · Bloom · 2013 [cited by examiner]
US 20220255805A1 · Hausermann · 2022 [cited by examiner]
CN 205787658U · 2016 [cited by examiner]
CN 108092884A · 2018 [cited by examiner]
CN 112150125A · 2020 [cited by examiner]
DE 102020127123A1 · 2022 [cited by examiner]
Definition for “standardized protocols”, https://www.GeeksforGeeks.org/protocol-and-standard-in-computer-network (Year: 2023). [cited by examiner]
P. Peniak and M. Franekova, “Open communication protocols for integration of embedded systems within Industry 4,” 2015 International Conference on Applied Electronics (AE), Pilsen, Czech Republic, 2015, pp. 181-184. (Ye… [cited by examiner]
Michael Ford, I Connect007—Good for the Industry, How Do I Get Smart With IPC CFX? (Part 1), Jul. 30, 2019, 8 pages. [cited by applicant]
Michael Ford, I Connect007—Good for the Industry, How Do I Get Smart With IPC CFX? (Part 2), Jul. 31, 2019, 7 pages. [cited by applicant]
The Hermes Standard: The new backbone for board-flow data management in Smart SMT Factories, IPC-HERMES-9852, Oct. 27, 2021, www.the-hermes-standard.info, 51 pages. [cited by applicant]
Wikipedia, CAMX, Jan. 28, 2021, 2 pages Retrieved from: https://en.wikipedia.org/w/index.php?title=CAMX&oldid=1003375149. [cited by applicant]
Wikipedia, Manufacturing execution system, Apr. 16, 2021, 5 pages Retrieved from: https://en.wikipedia.org/w/index.php?title=Manufacturing_execution_system&oldid=1018059127. [cited by applicant]
Wikipedia, SECS/GEM, Apr. 9, 2021, 2 pages Retrieved from: https://en.wikipedia.org/w/index.php?title=SECS/GEM&oldid=1016852699. [cited by applicant]