Method of messaging for automated devices and robots and dynamic messaging system

By using loadable configuration templates and a dynamic messaging system on the robot controller, the production interruption problem caused by reprogramming in the existing technology is solved, flexible dynamic data message sending and analysis is achieved, and production efficiency and data availability are improved.

CN113352316BActive Publication Date: 2025-10-10FANUC ROBOTICS NORTH AMERICA INC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202110233601.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-03-04
Filing Date
2021-03-03
Publication Date
2025-10-10
Estimated Expiration
2041-03-03

AI Technical Summary

Technical Problem

Existing robot controllers require reprogramming and restarting when defining new data output messages, resulting in production interruptions and the risk of programming errors, and are unable to flexibly send dynamically defined data messages.

Method used

Provide dynamic message instructions to the robot controller by using loadable configuration templates, including data definitions without affecting the robot's operation, send dynamic data messages based on trigger events, and use message template creators and dynamic message parsers to generate and send flexible data messages.

Benefits of technology

It enables the flexible definition and sending of dynamic data messages without interrupting robot operation, improving the normal production time and flexibility of data analysis, and reducing the risk of programming errors.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113352316B_ABST
    Figure CN113352316B_ABST
Patent Text Reader

Abstract

A messaging method and dynamic messaging system for automated equipment and robots that provides flexible data transmission, presentation, and scheduling. Customized message instructions are provided to a robot controller using loadable configuration templates without restarting the controller or affecting the ongoing operation of the robot. The configuration templates contain only data definitions and no executable code. Customized data messages are sent from the robot controller based on triggering events including periodic timing, transmission of current messages, changes in equipment elements, and programmed requests. Custom message attributes such as transmission rate and priority can be set and messages can include file attachments. A message template creator external to the robot controller creates the configuration templates, ensures message uniqueness, and generates data ingestion patterns. The patterns are used by a cloud data parser to translate and load the data into data tables where customers can analyze the data from the messages using applications in a web portal.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention generally relates to a dynamic messaging system for factory automation equipment. More specifically, the present disclosure describes a method and system for providing dynamically created messages from industrial robots and other factory automation equipment, which provides flexible message content and message format, and allows for the definition of multiple triggers for sending the dynamic messages. Background Art

[0002] This section provides background information related to the present disclosure but this background information is not necessarily prior art.

[0003] Factory automation equipment (specifically, industrial robots) is widely used in many factories. These devices reliably and repeatably perform tasks such as material movement, cutting, welding, fastening, etc. In order to continuously perform these tasks with the required accuracy, the robots must be kept in peak operating condition. When joints begin to wear or electronic devices (such as position encoders) begin to degrade, preventive maintenance must be performed. In order to determine the status of the robot and assess maintenance needs, data from the robot's sensors must be periodically evaluated.

[0004] In addition to the need for diagnostic preventative maintenance, there are other reasons why data from robot sensors may be needed. A robot manufacturer or a customer with an installed robot may wish to receive data about the robot's activity (such as the total or average weight of material moved, the total length of welds performed, the maximum angular velocity or acceleration in the joints, images of parts processed or rejected, etc.). Furthermore, the required output data may not be known when the robot is put into production. Therefore, there is a need for the robot controller to allow for the flexibility of defining new data output messages.

[0005] Some existing robot controllers allow for data output messages to be defined. However, defining new data output messages in existing controllers requires the controller to be reprogrammed and restarted. This not only interrupts the robot's ongoing operations but also introduces the opportunity for programming errors that could adversely affect production uptime and quality.

[0006] In view of the foregoing, a need exists for a method of configuring a robotic controller with messaging instructions that causes the robotic controller to send dynamically defined data messages and triggered data messages to a receiving user or system without requiring reprogramming or rebooting the controller. Summary of the Invention

[0007] The present disclosure describes a dynamic messaging system for factory automation equipment that provides flexible data transmission, presentation, and scheduling. Dynamic message instructions are provided to a robot controller using loadable configuration templates without restarting the controller or affecting the ongoing operation of the robot. The configuration templates contain only data definitions and no executable code. Dynamic data messages are sent from the robot controller based on triggering events including periodic timing, transmission of preprogrammed messages, changes in equipment elements, and programming requests. Dynamic message properties such as transmission rate and priority can be set and messages can include file attachments. A message template creator external to the robot controller creates the configuration templates, ensures message uniqueness, and generates data ingestion patterns. The patterns are used by a cloud data parser to translate and load the data into data tables where customers can analyze the data from the messages using applications in a web portal.

[0008] Additional features of the present disclosure will be apparent from the following description and the appended claims, taken in conjunction with the accompanying drawings. BRIEF DESCRIPTION OF DRAWINGS

[0009] Figure 1 is an illustration of a factory automation equipment or industrial robot and associated robot controller and network connectivity according to embodiments of the present disclosure;

[0010] Figure 2 is a block diagram of a dynamic messaging system for factory automation equipment according to embodiments of the present disclosure including details of message creation internal to the robot controller;

[0011] Figure 3 is a block diagram of a dynamic messaging system for factory automation equipment according to embodiments of the present disclosure including data flow from start to finish; and

[0012] Figure 4 is a flow diagram of a method for dynamic messaging for factory automation equipment according to embodiments of the present disclosure. DETAILED DESCRIPTION

[0013] The following detailed description and accompanying drawings describe and illustrate various exemplary embodiments of the application. The description and drawings are to be regarded as illustrative in nature, and not as restrictive in any way. With respect to the methods disclosed, the steps presented are exemplary in nature, and thus the order of the steps is not essential or critical.

[0014] Figure 11 is a diagram of a factory automation device or industrial robot 100 and an associated robot controller 110 according to an embodiment of the present disclosure. The robot 100 can be any type of industrial robot known in the art, including robots capable of material movement, cutting, welding, assembly, painting, etc. As will be understood by those skilled in the art, the robot communicates with the robot controller 110 via a communication link 102. That is, the robot controller 110 provides movement and task commands to the robot 100 based on predefined programming, and the robot controller 110 receives sensor data returned from the robot 100, which indicates joint positions and velocities, forces and torques, tool status, and other appropriate data.

[0015] It is also known that the robot controller 110 communicates with a router or server 120 so that the robot controller 110 can provide data about the operation of the robot 100 to downstream applications. The router or server 120 is typically located in the same factory or facility as the robot 100, but can be remote, and the communication can be through a hardwired connection or can be wireless. It is known that a robot controller such as the robot controller 110 typically sends pre-programmed messages to a destination device or user via the router or server 120.

[0016] The dynamic messaging system of the present disclosure may be used with any suitable factory automation equipment. Figure 1 The factory automation equipment shown is a typical 6-axis robot 100, but the factory automation equipment can be any suitable robot, computer numerical control (CNC) machine (lathe, milling machine, etc.), data collector, or other equipment with a controller that can be configured as described below. For simplicity, in the following discussion, the factory automation equipment is often simply referred to as an industrial robot (robot 100).

[0017] While it is known that the robot controller 110 communicates with another device such as a router or server 120, the present disclosure also provides new capabilities for flexible message definition, including sending data messages to a "cloud" 140, which represents any location, device, or user accessible via Hypertext Transfer Protocol (HTTP), Internet Protocol (IP) address, Short Message Service (SMS) text message, email address, etc. The router or server 120 communicates with the cloud 140 via a communication link 150, which can be a standard broadband Internet connection. The robot controller 110 can alternatively be configured to communicate directly with the cloud 140 without the need for a router or server 120. The data messages can also be loaded onto a physical device (not shown) such as a USB drive.

[0018] The disclosed dynamic messaging system enables factory automation devices to send messages to web servers, telephones, and other devices via text and email servers. The flexible nature of the service allows users to dynamically configure transmission types, message formats, and user-defined message types. The following is a brief overview of the disclosed method and system.

[0019] The present disclosure describes a dynamic messaging system for factory automation equipment such as the robot 100. The system provides flexible data transmission, presentation, and scheduling. The system can send diagnostic and production data to any network device or destination in the cloud 140 or to a local file device according to user selection. Custom data configuration of data messages from a locally connected computer or website interface can be used through this service. This configuration process does not affect the running production of the robot 100 and does not make any programmatic changes to risk production. The configuration process automatically piggybacks custom data onto existing data blocks, or sends independent data blocks or trigger items with change events. The dynamic messaging system is capable of sending various data formats, such as ASCII, images, binary, etc. Through this service, data can be presented to the user at any network destination, on a handheld device, website interface and text, and on locally connected file devices such as USB, memory cards, etc.

[0020] The dynamic messaging system is useful for communicating variable changes in the robot 100. Variable change monitoring involves monitoring data blocks on the robot controller 110 and notifying the user of changes. These blocks can be variables (system or user), registers, and / or digital I / O. Using the disclosed dynamic messaging system, new messages can be configured and loaded into the robot controller 110 without having to shut down, restart, or reprogram the robot controller 110. This capability provides significant advantages over existing systems that require message definitions within the controller programming.

[0021] Similarly, user-created programs running on the robot controller 110 can be monitored for any changes to variables, project status, internal messages, and the like. Each change is marked with the new and old values ​​to view the difference, and notification of the change is sent to the user via a dynamic messaging system. The frequency of notifications is configurable and can be controlled during runtime via a configuration template.

[0022] Figure 2 FIG is a block diagram of a dynamic messaging system 200 for factory automation equipment according to an embodiment of the present disclosure, including details of message creation within a robot controller. The robot controller 110 is shown graphically at the bottom, and the robot controller 110 is connected to the following: Figure 1The robot 100 is shown. The robot controller 110 is also shown schematically (in block diagram form) in the center of the page, including all contents inside the large dashed rectangle.

[0023] The message template creator module 210 runs on a computer or server 212 external to the robot controller 110. In one embodiment, discussed further below, the message template creator module 210 is accessed via a web portal. The message template creator module 210 is accessed by a local user 214, who may have direct access to the computer 212 or via a local area network, or by a user from a web portal 310 (discussed later). The user is the person who wants to define a new dynamic message configuration template, and the message template creator module 210 is the software used to create the configuration template. The dynamic message configuration template 218 is provided to the robot controller 110 using any form of file transfer, such as via a hardwired or wireless local area network, a physical portable media device, etc.

[0024] The message template creator module 210 allows users to create dynamic message configuration templates 218, which define for a new dynamic message: what data or content will be included in the message, what triggers will cause the message to be sent, what priority the message will have, and the message format. The message template creator module 210 also creates endpoint ingestion methods based on the defined data content, format, file attachments, etc.—that is, how the device receiving the message will obtain the dynamic data. Data ingestion is discussed further below.

[0025] The data or content included in the message can include any content from the wide array of data and files available on the robot controller 110. This includes kinematic / dynamic data (such as joint angular positions, velocities and accelerations, and joint loads). Data about the tool or end effector on the robot 100's outer arm may also be included—such as gripper force, paint sprayer on time, welding laser on time or length, etc. Some robots include a vision system for tracking the position of a part or another tool. Where a vision system camera is available, the camera image file may be included as content in the dynamic message. Data and variables from any user-defined program running on the robot controller 110 (in the Karel programming language) may also be included in the dynamic message. In addition, any file resident on the robot controller 110 may be included in the dynamic message as an attachment—including diagnostic files, log files, image files, data files, etc. All of the data and content items mentioned here are available for selection in the message template creator module 210.

[0026] Several different types of triggers can be defined in the dynamic message configuration template 218, wherein the trigger, when detected, causes the robot controller 110 to create and send a dynamic message. One type of trigger is a periodic schedule—wherein a user can specify that a dynamic message be sent every four hours, once a day, once a week, and so on. Another type of trigger is the detection of a change in a variable or data value. Just as different variables and data values ​​(any parameter understood by the robot controller 110) can be included in a dynamic message, these variables and data values ​​can also be monitored to trigger the sending of a message. For example, exceeding a certain limit joint force value or exceeding a threshold value for the total linear weld distance can be the cause of a trigger message.

[0027] As previously mentioned, the robot controller 110 is known to be pre-programmed to send messages (e.g., daily log file messages, error report messages, etc.). Triggers can also be defined that cause a dynamic message to be sent in response to the sending of one of the pre-programmed messages. For example, a dynamic message can be defined to send additional data / files / images when a specific error report message is sent, thereby improving error diagnosis. When the robot 100 is initially programmed and put into production, the parameters and values ​​of interest may be unknown. Using the disclosed dynamic messaging system, triggers and the sending of any data of interest can be added without restarting or reprogramming the robot controller 110.

[0028] Other information included in the dynamic message configuration template 218 includes the message sending priority and the message format. The sending priority indicates whether the dynamic message will be sent immediately or delayed until a later time, and also indicates the transmission rate. The message format specifies how the message will be displayed to the recipient, which can be simple ASCII text or numbers, binary data, HTML (web page definition), etc.

[0029] When the user has completed the dynamic message configuration template 218 using the message template creator module 210, the dynamic message configuration template 218 is provided to the robot controller 110 via any suitable file transfer mechanism. The dynamic loader module 220 (in the robot controller 110) receives the dynamic message configuration template 218. Because the dynamic message configuration template 218 includes only data and no programming, this and the following steps can be performed while the robot controller 110 is operating and controlling the robot 100 in normal production operation. The dynamic loader module 220 provides the dynamic message configuration template 218 to the dynamic message parser 230.

[0030] The dynamic message parser 230 parses the information in the dynamic message configuration template 218 and performs several actions as a result. The dynamic message parser 230 creates a new message shell in the robot message database 280, an existing database containing the pre-programmed messages discussed previously. The message shell in the robot message database 280 is essentially a template for the message, which will later be populated with the appropriate data. The parser also creates a record in the dynamic message metadata storage 240. The dynamic message metadata storage 240 records the metadata associated with the message shell in the robot message database 280. In other words, the entry in the dynamic message metadata storage 240 specifies what data values, files, etc. need to be added when the dynamic message is created and sent. More than one dynamic message can be configured for the robot controller 110, and each specific dynamic message has an identifier that uniquely identifies the dynamic message shell in the robot message database 280 and the record in the dynamic message metadata storage 240.

[0031] The dynamic message parser 230 also creates one or more message triggers 250 for each specific dynamic message. As previously discussed, the message triggers 250 may include periodic timing, detection of a change in the value of a variable or register, detection of the sending of a specific pre-programmed robot message (such as an error message), etc. The message triggers 250 are established by the dynamic message parser 230 and are then monitored in real time during execution of the operating system of the robot controller 110.

[0032] When a trigger event occurs and is detected by the robot controller 110, the dynamic message generator module 260 is invoked. The dynamic message generator module 260 is notified that a trigger event has been encountered for a specific dynamic message (such as a message identified by the number "9876"). The dynamic message generator module 260 then retrieves a message shell for message number 9876 from the robot message database 280. The dynamic message generator module 260 also retrieves a metadata record for message number 9876 from the dynamic message metadata storage 240. The dynamic message generator module 260 then accesses the existing robot subsystem 270 to collect the data specified by the metadata record. For example, the dynamic message generator module 260 may access the variable manager, input / output (I / O) manager, file manager, or other database or memory register of the robot controller 110. Based on the metadata record from the dynamic message metadata storage 240, the content of the dynamic message (file, data value, etc. - as previously discussed) is retrieved from the robot subsystem 270 and inserted into the message shell from the robot message database 280. At this point, dynamic message 9876 is complete and ready to be sent.

[0033] The dynamic message generator module 260 provides the created dynamic message to the existing robot message service module 290, which is used to send the message from the robot controller 110 to a predetermined destination. A particular robot 100 and robot controller 110 typically has a single predetermined message destination that is used for pre-programmed messages and also for the dynamic messages of the present disclosure. As previously described, the destination can be any cloud-based or network-based device or user, or it can be a local file delivery device. As previously described, the destination device may have already received the ingestion mode template from the computer 212.

[0034] The robot controller 110 sends the custom data message 130 from the robot message service module 290 to the local router or server 120 where it is sent to the cloud 140. As previously mentioned, the message may also be provided to a local storage device instead of the cloud 140.

[0035] The dynamic messaging system of the present disclosure essentially provides an extremely flexible and configurable data collector for the robot 100. Any system-accessible variable or file can be included in one of the dynamic message templates and designated for transmission based on selectable triggering events. All of this data collection can be configured without cycling power or reprogramming the robot controller 110.

[0036] The dynamic message configuration template 218 is a standard file recognized by the robot controller 110. A single dynamic message configuration template 218 can be created using the message template creator module 210 and provided to multiple robot controllers 110 so that the same dynamic message instructions are loaded onto multiple robots—for example, all identically configured painting robots in a vehicle paint booth.

[0037] Figure 3 is a block diagram of a dynamic messaging system for factory automation equipment according to an embodiment of the present disclosure, the dynamic messaging system including a data flow from start to end. Figure 2 Focuses on data message creation operations within the robot controller 110, while Figure 3 The entire process is shown from the customer's perspective - from the creation of the message template, the message creation by the robot controller 110, to the data message processing in the cloud, and finally to the data analysis by the customer.

[0038] Customers use Figure 2 The message template creator module 210 shown and previously discussed begins to define what data or content is included in the message, what triggering events will cause the message to be sent, what sending priority the message will have, and the message format. Figure 3In the preferred embodiment shown, the message template creator module 210 is part of a web portal 310, which is a website-based application hosted by the robot manufacturer and available to robot customers. In addition to the message details described above, the customer also specifies which robot controllers will receive the dynamic message configuration template 218 (also in the Figure 2 ). The customer may choose to load the dynamic message configuration template 218 onto any individual robot controller 110, or onto multiple controllers—such as onto the controllers of all robots in a particular customer facility (plant), or onto the controllers of all robots of a particular model at all customer facilities, etc.

[0039] When the message template creation is complete, the client sends the dynamic message configuration template 218 from the message template creator module 210 to the robot controller 110 of one or more designated robots. The robot controller 110 then proceeds as described above with respect to Figure 2 As discussed above, the dynamic message configuration template 218 is loaded and processed to send a custom data message 130 when a trigger event is encountered. When the message template is created, the message template creator module 210 also creates a data schema 320 corresponding to the dynamic message configuration template 218, wherein the data schema 320 defines the data fields to be included in the data message, as well as the structure and data type of each field. The data schema 320 is sent to the cloud data parser 330, which is a routine hosted by the robot manufacturer in the cloud 140.

[0040] The robot controller 110 loads and parses the dynamic message configuration template 218. As described above, a reboot or power cycle of the robot controller 110 is not required to process the template. The robot controller 110 then waits for one or more message triggering events 250 and sends the custom data message 130 when a triggering event occurs. If the dynamic message configuration template 218 is installed on more than one robot controller 110, the robot controllers 110 may trigger the sending of messages at different times.

[0041] A custom data message 130 is sent from the robot controller 110 to the cloud data parser 330 in the cloud 140. The act of receiving and storing the custom data by the cloud data parser 330 is called "data ingestion"—this "data ingestion" essentially involves extraction, translation, and loading, wherein a data schema 320 is applied to the skeleton XML data in the custom data message 130 to structure it for efficient storage, display, and analysis. While the XML in the custom data message 130 from the robot controller 110 has structure, this structure does not carry enough information to interpret the data field values, types, and formats. The data schema 320 includes the structure and data types of the data fields in the custom data message 130 to allow the cloud data parser 330 to read the XML message, apply the data schema 320 to the XML, and store the formatted and structured data in the data table 340.

[0042] Likewise, both the data schema 320 and the dynamic message configuration template 218 are derived by the user from the same message definition / configuration. When defining / configuring a custom message, the user includes a list of fields that he / she wishes to include, and this message definition information is stored in the message template creator module 210 of the web portal 310. The message template creator module 210 then generates the dynamic message configuration template 218 for loading onto the robot controller 110 and the data schema 320 to be applied by the cloud data parser 330 to the incoming custom data message 130.

[0043] The cloud data parser 330 can temporarily queue incoming data messages for aggregate processing. The cloud data parser 330 can then ingest a single message, or it can ingest multiple messages of one type at a time. Regardless, all data from all messages will eventually end up in the data table 340.

[0044] The data stored in the data table 340 from the ingestion of data messages by the cloud data parser 330 increases over time as more messages are ingested. The data in the data table 340 is fully defined with all attributes to support any type of analysis and reporting a customer may wish to perform—such as analyzing the robot joint data of a single robot over a period of time spanning multiple data messages (to see changes or upward trends), or analyzing the robot joint data of all robots performing a particular type of operation in a factory (to see outliers relative to the norm).

[0045] The web portal 310 also includes an analytics application 350 that is used by the robot client to view and analyze data in the data table 340 provided in the custom data message 130. The analytics application 350 includes a custom analytics module 352 for performing any mathematical or statistical analysis of the data desired by the client, a data viewing module 354 for viewing and reporting on the data, and an alert and notification module 356, where alerts and notifications can be configured based on the client's needs—such as when a single or average data value falls outside a specified normal range, or when a trend line for a data field indicates that a parameter may soon fall outside of a range.

[0046] The modules of the analysis application 350 have access to all the data in the data table 340. The customer ID number identifies the data in the data table 340, so that users of a specific customer can only access the data for that specific customer. With each data record identified by date / time and robot controller identification, customers have complete flexibility to view and analyze the data in any way they wish to understand the performance of their robot and anticipate any maintenance that may be needed.

[0047] As customers view and analyze data using the analytics application 350 in the web portal 310 , they will be able to identify other parameters they would like to monitor and can easily configure other custom data messages using the message template creator module 210 in the web portal 310 .

[0048] In one embodiment, cloud data parser 330 and data table 340 are hosted by a server computer that also hosts a web portal 310, which includes message template creator module 210 and analysis application 350. As will be appreciated by those skilled in the art, other types of distributed computing and cloud computing configurations are possible.

[0049] Figure 4 FIG4 is a flow chart 400 of a method for dynamic messaging of factory automation devices according to an embodiment of the present disclosure. At block 402, a dynamic message configuration template 218 is created using the message template creator module 210. The message template creator module 210 runs on a computer (such as computer 212) that is separate from the robot controller 110. The message template creator module 210 is preferably accessed by a user of the website portal 310. The message template creator module 210 also creates a data schema 320 at block 414 for data ingestion by the cloud data parser 330 when the cloud data parser 330 receives a custom data message.

[0050] Once created, the dynamic message configuration template 218 is provided to the robot controller 110 at block 404. This file transfer can be performed via a local or wide area network connection, or by physically transferring the dynamic message configuration template 218 on a portable storage device. In a preferred embodiment, the dynamic message configuration template 218 is transferred from the web portal 310 to one or more robot controllers 110 that are the target of a particular message. At block 406, the dynamic message configuration template 218 is parsed and processed by the robot controller 110. Processing the dynamic message configuration template 218 includes creating a uniquely identified dynamic message shell in the robot message database 280, creating a corresponding message metadata record in the dynamic message metadata storage 240, and establishing a corresponding message trigger event 250.

[0051] At decision diamond 408, the robot controller 110 monitors for the occurrence of one of the message triggers 250. When one of the message triggers 250 is encountered, a custom data message 130 is created at block 410. This includes retrieving a message shell (corresponding to the trigger) from the robot message database 280, retrieving a metadata record from the dynamic message metadata store 240, and collecting data and files from the robot subsystem 270 as indicated in the metadata record.

[0052] After creating the custom data message 130 at block 410, the robot controller 110 sends the custom data message 130 using the existing robot message service module 290 at block 412. As previously described, the custom data message 130 is sent to the cloud data parser 330 or to a local storage device. At block 416, in a preferred embodiment, the cloud data parser 330 parses the message data from one or more custom data messages 130. The cloud data parser 330 previously received the data schema 320 at block 414, wherein the data schema 320 contains the content and format of the XML data in the custom data message 130, enabling the cloud data parser 330 to extract and translate the data.

[0053] At block 418, as previously described, the data in the one or more custom data messages 130 is stored in the data table 340. At block 420, the customer user uses the analytics application 350 in the portal 310 to analyze the data in the data table 340. This includes data viewing and reporting, data parsing, and establishing alerts and notifications based on data values ​​and trends.

[0054] Multiple dynamic messages can be configured on the robotic controller 110 (e.g., one dynamic message to send an image of the rejected portion, another dynamic message to send joint load data when a threshold load value is exceeded, etc.), and a dynamic message configuration template 218 can be provided to multiple robotic controllers 110 so that all such robotic controllers 110 operate with the same dynamic message delivery instructions.

[0055] In summary, the dynamic messaging system discussed above provides many features and advantages over existing messaging systems. Dynamic messaging instructions are loaded onto the robot controller 110 without affecting the production operation of the robot 100. Dynamic message configuration templates 218, which contain only data and no executable code, enable the robot 100 to dynamically push data to any destination. Dynamic messages can be configured to include any system-accessible parameters or files and can be sent based on triggers such as periodic timers, changes in data registers or other elements, or the sending of pre-programmed robot messages. Extensible message formats (such as XML, JSON, and binary) are available. Dynamic message formats, transmission rates, and priorities can also be customized through dynamic message configuration templates 218. The message template creator module 210 allows the user to configure message content and triggers as described above, create dynamic message configuration templates 218, and ensure message uniqueness.

[0056] As will be readily understood by those skilled in the art, the various steps and processes discussed herein to describe the disclosed methods may refer to operations performed by a computer, processor, or other electronic computing device that manipulates and / or transforms data using electrical phenomena. Specifically, this refers to the robot controller 110 and the computer 212 running the message template creator module 210. These processors and electronic devices may employ various volatile and / or non-volatile memory, including non-transitory computer-readable media having stored thereon an executable program comprising various codes or executable instructions capable of being executed by the computer or processor, wherein the memory and / or computer-readable media may include all forms and types of memory and other computer-readable media. Furthermore, the robot controller 110 is understood to be in communication with the computer 212 and to have internet connectivity, such that the robot controller 110 can send dynamic messages to any cloud-based destination.

[0057] The disclosed method for dynamic messaging from factory automation equipment provides a means for flexibly defining messages to be sent from industrial robots without shutting down, restarting, or reprogramming the robots. This capability enables customers to analyze the robot's performance in ways that were unforeseen when the robot was initially programmed and put into production, thereby improving the robot's performance and uptime.

[0058] The foregoing discussion only discloses and describes exemplary embodiments of the present disclosure. Those skilled in the art will readily recognize various changes, modifications and variations that can be made to the present disclosure without departing from the spirit and scope of the present disclosure as defined in the appended claims.

Claims

1. A method for dynamic message delivery of factory automation equipment, the method comprising: defining a message configuration template using a message template creator module running on a computer, wherein the message configuration template defines attributes of a custom data message, the attributes including message content, one or more message sending triggers, a message priority, and a message format; providing the message configuration template to a controller of the factory automation device, the controller having a processor and a memory; Processing the message configuration template by the controller; When a message sending trigger event occurs, the controller creates the custom data message, wherein the custom data message includes the message content and the message format specified in the message configuration template; and sending the custom data message from the controller to a message destination, wherein the custom data message is sent at the message priority specified in the message configuration template, Wherein, processing the message configuration template by the controller includes: creating a uniquely identifiable message shell in a message database, creating a corresponding message metadata record in a metadata storage, and establishing one or more message sending trigger events for monitoring, wherein the message shell is a template of the message, the template is filled with predetermined data, and wherein the content of the dynamic message is retrieved from the robot subsystem based on the message metadata record.

2. The method according to claim 1, wherein Processing the message configuration template by the controller includes processing the message configuration template during normal operation of the controller and the factory automation device without shutting down, restarting, or reprogramming the controller.

3. The method according to claim 1, wherein Creating the custom data message includes retrieving the message shell corresponding to the experienced message sending trigger event, retrieving the corresponding message metadata record, and collecting the message content according to the message metadata record.

4. The method according to claim 3, wherein: Collecting the message content includes collecting the message content from a robot subsystem including a file manager, a variable manager, and an input / output manager.

5. The method according to claim 1, wherein The message content includes one or more of a data file, an image file, a diagnosis file, a log file, and parameter data.

6. The method according to claim 5, wherein: The parameter data includes one or more of joint loading data, joint kinematics data, end effector performance data, and user-defined program variable data.

7. The method according to claim 1, wherein The message sending triggering events include periodic timing, variable changes, and the sending of pre-programmed robot messages.

8. The method according to claim 1, further comprising: The message configuration template is provided to a controller of another factory automation device, wherein the controller of the other factory automation device creates and sends the custom data message when one of the message sending triggering events is experienced.

9. The method according to claim 1, wherein The message destination is an Internet Protocol address, a Hypertext Transfer Protocol address, an email address, a Short Message Service address or number, or a locally attached storage device.

10. The method according to claim 1, wherein The message destination is a cloud data parser, which parses the custom data message using a data schema provided by the message template creator module, and the cloud data parser loads the data in the custom data message into a data table accessible through a portal for analyzing the data.

11. The method according to claim 1, wherein The factory automation equipment is a multi-axis industrial robot.

12. A method for dynamic message transmission of an industrial robot, the method comprising: The client uses a message template creator module running in a portal website application on the server to define a message configuration template, wherein the message configuration template defines attributes of a custom data message, the attributes including message content and message format; creating a data schema defining attributes of the custom data message including the message content and the message format; providing the message configuration template to a controller of the industrial robot, the controller having a processor and a memory and in communication with the industrial robot; Processing the message configuration template by the controller includes: processing the message configuration template during normal operation of the controller and the industrial robot without shutting down, restarting, or reprogramming the controller; When a message sending trigger event occurs, the controller creates the custom data message, wherein the custom data message includes the message content and the message format specified in the message configuration template; Sending the custom data message from the controller to the data parser; The data parser parses the custom data message using the data pattern; The data parser loads the data from the custom data message into a data table; and The customer uses a data analysis and viewing module running in the portal application to analyze the data in the data table. Wherein, processing the message configuration template by the controller includes: creating a uniquely identifiable message shell in a message database, creating a corresponding message metadata record in a metadata storage, and establishing one or more message sending trigger events for monitoring, wherein the message shell is a template of the message, the template is filled with predetermined data, and wherein the content of the dynamic message is retrieved from the robot subsystem based on the message metadata record.

13. A dynamic message delivery system for factory automation equipment, the system comprising: a server computer running a message template creator module programmed to allow a user to define a message configuration template via a portal website, wherein the message configuration template defines attributes of a custom data message, the attributes including message content, one or more message sending triggers, and a message format; factory automation equipment; and a controller in communication with the factory automation device and the server computer, the controller having a processor and a memory, the controller being configured to: receiving the message configuration template from the server computer; processing the message configuration template during normal operation of the controller and the factory automation device without restarting the controller; When a message sending trigger event occurs, creating the custom data message, wherein the custom data message includes the message content specified in the message configuration template; and sending the custom data message from the controller to the server computer, wherein the server computer further runs a cloud data parser configured to parse the custom data message using a data schema provided by the message template creator module and store data from the custom data message in a data table, and wherein the server computer further runs an analysis application accessible by a user via the portal website to analyze the data in the data table, Wherein, processing the message configuration template by the controller includes: creating a uniquely identifiable dynamic message shell in a message database, creating a corresponding message metadata record in a metadata storage, and establishing one or more message sending trigger events for monitoring, wherein the message shell is a template of the message, the template is filled with predetermined data, and wherein the content of the dynamic message is retrieved from the robot subsystem according to the message metadata record.

14. The system according to claim 13, wherein: Creating the custom data message includes retrieving the dynamic message shell corresponding to the experienced message sending trigger event, retrieving the corresponding message metadata record, and collecting the message content according to the message metadata record.

15. The system according to claim 14, wherein: Collecting the message content includes: collecting the message content from a robot subsystem including a file manager, a variable manager, and an input / output manager, and wherein the message content includes one or more of a data file, an image file, a diagnostic file, a log file, and parameter data, and wherein the parameter data includes one or more of joint load data, joint kinematics data, end effector performance data, and user-defined program variable data.

16. The system of claim 13, wherein: The analysis application includes a mathematical and statistical analysis module, a data viewing and reporting module, and an alarm and notification module.

17. The system of claim 13, wherein: The message sending triggering events include periodic timing, variable changes, and the sending of pre-programmed robot messages.

18. The system of claim 13, wherein: The factory automation equipment is a multi-axis industrial robot.

Citation Information

Patent Citations

  • System to monitor / analyze robot related information and display on a smart device

    CN103679837A

  • Web browser access to robot cell devices

    CN105934723A

  • Display method and device for dynamic interaction in robot system

    CN106201544A