A dynamic messaging system for factory automation equipment.
The dynamic messaging system addresses the challenge of reprogramming or rebooting robot controllers by using configuration templates to configure messaging instructions, allowing for flexible and uninterrupted data message sending, thereby enhancing manufacturing efficiency and quality.
Patent Information
- Application Number
- JP2021024320
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-03-04
- Filing Date
- 2021-02-18
- Publication Date
- 2025-05-23
- Estimated Expiration
- 2041-02-18
AI Technical Summary
Existing robot controllers require reprogramming or rebooting to define new data output messages, disrupting ongoing operations and introducing the risk of programming errors.
A dynamic messaging system that allows configuration of robot controllers with messaging instructions without reprogramming or rebooting, using configuration templates that contain only data definitions and do not include executable code, enabling flexible data transport, presentation, and scheduling.
Enables the sending of dynamically defined and triggered data messages without disrupting robot operations, allowing for flexible message content and formatting, and improving manufacturing uptime and quality by eliminating the need for reprogramming or rebooting.
Smart Images

Figure 0007681983000001 
Figure 0007681983000002 
Figure 0007681983000003
Abstract
Description
[Technical field]
[0001] The present disclosure relates generally to a dynamic messaging system for factory automation equipment. More specifically, the present disclosure describes a method and system for providing dynamically generated messages from industrial robots and other factory automation equipment that provides flexible message content and message formatting, and allows various triggers to be defined to send dynamic messages. [Background technology]
[0002] This section provides background information related to the present disclosure, which is not necessarily prior art.
[0003] Factory automation equipment, specifically industrial robots, are used extensively in many factories. These equipment reliably and repeatedly perform tasks such as moving material, cutting, welding, fastening, etc. To continue to perform these tasks with the required precision, the robots must be maintained at peak operating conditions. Preventive maintenance must be performed when joints begin to wear or electronics such as position encoders begin to degrade. Data from the robot sensors must be periodically evaluated to determine the condition of the robot and to assess the need for maintenance.
[0004] There are also other reasons why data from robot sensors may be needed beyond diagnosing the need for preventive maintenance. A robot manufacturer, or a customer who has installed a robot, may want to receive data about the robot's activities, such as the total or average weight of material moved, the total length of welds performed, the maximum angular velocity or acceleration in a joint, images of handled or rejected parts, etc. Furthermore, the output data required may not be known when the robot is put into production. Thus, there is a need for a robot controller to allow flexible definition of new data output messages.
[0005] Some existing robot controllers allow for the definition of data output messages, however, defining a new data output message in an existing controller requires reprogramming or rebooting the controller, which not only disrupts ongoing operation of the robot but also introduces the opportunity for programming errors that can adversely affect manufacturing uptime and quality. Summary of the Invention [Problem to be solved by the invention]
[0006] In view of the above, there exists a need for a method of configuring a robot controller with messaging instructions that does not require reprogramming or rebooting the controller, where the messaging instructions cause the robot controller to send dynamically defined and triggered data messages to a recipient user or system. [Means for solving the problem]
[0007] This disclosure describes a dynamic messaging system for factory automation equipment that provides flexible data transport, presentation, and scheduling. Dynamic message instructions are provided to the robot controller through the use of configuration templates that can be loaded without rebooting the controller or affecting the ongoing operation of the robot. The configuration templates contain only data definitions and do not contain executable code. Dynamic messages are sent from the robot controller based on triggers including periodic timers, sending preprogrammed messages, equipment element changes, and program requests. Dynamic message attributes such as sending rate and priority can be set, and messages can include file attachments. A message template generator located outside the robot controller generates the configuration templates, ensures message uniqueness, and generates data capture schemas. The schemas are used by a cloud data parser to transform and load data into data tables, where customers can analyze data from messages by using applications in a web portal.
[0008] Further features of the present disclosure will become apparent from the following description and appended claims, taken in conjunction with the accompanying drawings. [Brief description of the drawings]
[0009] [Figure 1] FIG. 1 is a diagram of a factory automation equipment and industrial robot with associated robot controller and network connections according to one embodiment of the disclosure. [Diagram 2] FIG. 1 is a block diagram of a dynamic messaging system for factory automation equipment including details of message generation inside a robot controller according to one embodiment of the disclosure. [Diagram 3] FIG. 1 is a block diagram of a dynamic messaging system for factory automation equipment including data flow from start to finish according to one embodiment of the disclosure. [Figure 4] FIG. 1 is a flowchart of a method for dynamic messaging for factory automation equipment according to one embodiment of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0010] The following detailed description and the accompanying drawings describe and illustrate various exemplary embodiments of the present invention. The description and drawings serve to enable one of ordinary skill in the art to make and use the present invention, and are not intended to limit the scope of the invention in any way. In terms of the disclosed method, the steps presented are illustrative in nature, and thus, the order of the steps is not necessary or critical.
[0011] 1 is a diagram of a factory automation device or industrial robot 100 with an associated robot controller 110 according to one embodiment of the present disclosure. The robot 100 may be any type of industrial robot known in the art, including robots capable of moving materials, cutting, welding, assembling, painting, etc. The robot is in communication with the robot controller 110 over communication lines 102, as will be appreciated by those skilled in the art. That is, the controller 110 provides motion and task commands to the robot 100 based on predefined preprogramming, and the controller 110 receives sensor data back from the robot 100, informing it of joint positions and velocities, forces and torques, tool status, and other data, as appropriate.
[0012] It is also known that the controller 110 communicates with a router or server 120 so that the controller 110 can provide data regarding the operation of the robot 100 for downstream applications. The router or server 120 is typically located in the same factory or facility as the robot 100, but it may be remotely located, and the communication may be over a wired connection 130 or may be wireless. It is also known that a robot controller, such as the controller 110, typically sends pre-programmed messages to a destination device or user via the router or server 120.
[0013] The dynamic messaging system of the present disclosure may be used on any suitable factory automation equipment. Although Figure 1 illustrates the factory automation equipment as a conventional six-axis robot 100, the factory automation equipment may be any suitable robot, Computer Numerical Control (CNC) device (lathe, machine tool, etc.), data collector, or other device having a controller with configuration capabilities, as described below. For purposes of clarity, the factory automation equipment will generally be referred to in the following description simply as an industrial robot (robot 100).
[0014] While it is known that the robot controller 110 communicates with another device, such as a router or server 120, the present disclosure provides new capabilities for flexible message definition, including sending data messages to the "cloud" 140, which represents any location, device, or user accessible via a HyperText Transport 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 may be a standard broadband Internet connection. Alternatively, the robot controller 110 may be configured to communicate directly with the cloud 140, without the need for a router or server 120. Data messages may also be loaded onto a physical device, such as a USB drive (not shown).
[0015] The disclosed dynamic messaging system allows factory automation equipment to send messages to web servers, send messages to phones via text, send messages to email servers, etc. The flexible nature of the service allows users to dynamically configure transport types, message formats, and user-defined message types. The following is a brief overview of the disclosed method and system.
[0016] This disclosure describes a dynamic messaging system for factory automation devices such as the robot 100. The system provides flexible data transport, presentation, and scheduling. It can send diagnostic and production data to any network device or destination in the cloud 140 or to a local file device, depending on the user's choice. Custom data configuration of data messages from a locally attached computer or web interface is available through the service. The configuration process has no impact on the running production of the robot 100, and any program change does not jeopardize production. It automatically appends custom data to existing data blocks or sends standalone data blocks or triggers with change events. The dynamic messaging system has the ability to send various data formats, such as ASCII, images, binary, etc. Data can be presented to the user through the service in any network destination, in handheld devices, web interfaces, and text, and in locally attached file devices such as USB, memory cards, etc.
[0017] The dynamic messaging system is useful for communicating changes in variables within the robot 100. Monitoring the changes in variables includes monitoring data blocks on the robot controller 110 and advising the user of changes that occur. These blocks can be variables (system or user), registers, and / or digital inputs / outputs. Using the disclosed dynamic messaging system, new messages can be configured and loaded into the robot controller 110 without the need to shut down, reboot, or reprogram the controller 110. This capability provides a significant advantage over conventional systems that require the definition of messages in the controller programming.
[0018] Similarly, user-generated programs running on the controller 110 can monitor for any changes in variables, item states, internal messages, etc. Each change is flagged as soon as it occurs, along with the new and old values to observe 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 at run time through configuration templates.
[0019] 2 is a block diagram of a dynamic messaging system 200 for factory automation equipment, including details of message generation inside the robot controller, according to one embodiment of the disclosure. The robot controller 110 is shown graphically at the bottom, connected to the robot 100, similar to FIG 1. The robot controller 110 is also shown generally (in block diagram form) in the center of the page, all contained within the large dashed rectangle.
[0020] The message template generator module 210 runs on a computer or server 212 other than the controller 110. In one embodiment, described further below, the message template generator module 210 is accessed through a web portal. The message template generator module 210 is accessed by a local user 214, who may have direct or local area network access to the computer 212, or by a user from a web portal 310 (described below). A user is a person who wishes to define a new dynamic message composition template, and the message template generator module 210 is the software used to generate the composition template. The dynamic message composition template 218 is provided to the controller 110 using any form of file transfer, such as via a wired or wireless local area network, a physical portable media device, etc.
[0021] The message template generator module 210 allows a user to generate configuration templates 218 for new dynamic messages that define the data or content to be included in the message, one or more triggers that will cause the message to be sent, the sending priority the message will have, and the message format. The message template generator module 210 also generates an endpoint ingestion scheme, i.e., defines how devices receiving the message will ingest the dynamic message based on the defined data content, format, file attachments, etc. Data ingestion is further described below.
[0022] The data or content to be included in the message may include any of a variety of data and files available on the controller 110. This includes kinematic / mechanical data such as joint angular positions, velocities, and accelerations along with joint loads. It may also include data regarding tools or end effectors on the outer arm of the robot 100, such as gripper forces, paint sprayer run times, welder laser run times or lengths, etc. Some robots include a vision system to track parts or positions of other tools. If a vision camera is available, a camera image file may be included as content in the dynamic message. Data and variables from any user-defined programs (in the Karel programming language) running on the controller 110 may also be available for inclusion in the dynamic message. Additionally, any files present on the controller 110 may also be included as attachments in the dynamic message, including diagnostic files, log files, image files, data files, etc. All data and content items mentioned herein are available for selection in the message template generator module 210.
[0023] Several different types of triggers may be defined within the configuration template 218, where the trigger, when detected, causes a dynamic message to be generated and sent by the controller 110. One type of trigger is a periodic timer, where a user can specify a dynamic message to be sent every 4 hours, once per day, once per week, etc. Another type of trigger is the detection of a change in a variable or data value. Various variables and data values (any parameter understood by the controller 110) can be included within a dynamic message and thus can be monitored to trigger a message transmission. For example, a joint force value exceeding a certain limit or a total linear weld distance exceeding a threshold can be cause for triggering a message.
[0024] As mentioned above, it is known to pre-program the robot controller 110 to send messages such as daily log file messages, error report messages, etc. Triggers can also be defined that cause dynamic messages to be sent in response to sending one of the pre-programmed messages. For example, a dynamic message can be defined to send additional data / files / images when a particular error report message is sent, thereby improving the diagnosis of the error. Parameters and values of interest may not be known when the robot 100 is initially programmed and put into production. The disclosed dynamic messaging system allows for the addition of triggering and sending of any data of interest without rebooting or reprogramming the controller 110.
[0025] Other information contained within the configuration template 218 includes message sending priority and message format. Sending priority tells whether the dynamic message is sent immediately or is held for sending at a later time, and also tells the sending rate. Message format specifies how the message is displayed to the recipient, which could be simple ASCII text or numbers, binary data, HTML (web page definition), etc.
[0026] When the user has completed the configuration template 218 by using the message template generator module 210, the template 218 is provided to the robot controller 110 via any suitable file transfer mechanism. A dynamic loader module 220 (within the controller 110) receives the template 218. This step and the following steps may be performed while the controller 110 is running and controlling the robot 100 in normal production operation, since the configuration template 218 contains only data and does not contain programming. The loader module 220 provides the template 218 to a dynamic message parser 230.
[0027] The parser 230 parses the information from the configuration template 218 and performs some actions as a result. The parser 230 generates a new message shell in the robot message database 280, which is an existing database that contains the pre-programmed messages described above. The message shell in the message database 280 is essentially a template of a message that will later be filled with the appropriate data. The parser also generates a record in the dynamic message metadata store 240. The metadata store 240 records the metadata associated with the message shell in the database 280. In other words, the entries in the metadata store 240 specify the data values, files, etc. that need to be added when the dynamic message is generated and sent. Multiple dynamic messages can be configured for the robot controller 110, and each particular dynamic message has an identifier that uniquely identifies the dynamic message shell in the database 280 and the record in the metadata store 240.
[0028] Parser 230 also generates one or more message triggers 250 for each particular dynamic message. As mentioned above, triggers 250 may include periodic timers, detection of a change in the value of a variable or register, detection of the sending of a particular pre-programmed robot message (such as an error message), etc. The triggers 250 are established by parser 230 and then monitored in real time as the operating system of controller 110 executes.
[0029] When a trigger event occurs and is detected by the controller 110, the dynamic message generator module 260 is launched. The generator module 260 is notified that a trigger has been encountered for a particular dynamic message, such as a message identified as the numeric value "9876". As a result, the generator module 260 retrieves a message shell for message number 9876 from the message database 280. The generator module 260 also retrieves a metadata record for message number 9876 from the metadata store 240. The generator module 260 then accesses an existing robot subsystem 270 to collect data specified by the metadata record. For example, the generator module 260 can access a variable manager, an input / output (I / O) manager, a file manager, or other database or memory register of the controller 110. According to the metadata record from the metadata store 240, the content of the dynamic message (such as a file or data value, as described above) is retrieved from the subsystem 270 and plugged into the message shell from the message database 280. At this point, the dynamic message 9876 is complete and ready to be sent.
[0030] The message generator module 260 provides the generated dynamic message to an existing robot message service 290, which is used to send the message from the controller 110 to a predefined destination. A particular robot 100 and controller 110 typically has a single predefined message destination that is used for preprogrammed messages and is also used for the dynamic messages of the present disclosure. As described above, the destination may be any cloud-based or network-based device or user, or a local file transfer device. The destination device may receive the import scheme template from the computer 212, as described above.
[0031] From the robot message service 290, the controller 110 sends the custom data message 130 to a local router or server 120 where it is sent to the cloud 140. The message can also be provided to a local storage device instead of the cloud 140, as described above.
[0032] 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 within one of the dynamic message templates and designated for transmission based on selectable trigger events. All of this data collection can be configured without powering on / off or reprogramming the controller 110.
[0033] The configuration template 218 is a standard file that is recognized by the controller 110. Using the message generator module 210, a single configuration template 218 can be generated and provided to multiple robot controllers 110 so that the same dynamic message instructions can be loaded on multiple robots, such as all identically configured paint robots in a vehicle paint spray booth.
[0034] Figure 3 is a block diagram of a dynamic messaging system for factory automation equipment including data flow from start to finish, according to one embodiment of the present disclosure. While Figure 2 focused on the data message generation operation in the robot controller 110, Figure 3 shows the entire process from the customer's perspective, from message template generation, through message generation by the robot controller 110, data message processing in the cloud, and finally data analysis by the customer.
[0035] The customer begins by defining the data or content to be included in the message, one or more triggers that will cause the message to be sent, the sending priority that the message will have, and the message format using the message template generator module 210 shown in FIG. 2 and described above. In the preferred embodiment shown in FIG. 3, the message template generator module 210 is part of a web portal 310, which is a web-based application hosted by the robot manufacturer and available to robot customers. In addition to the message details described above, the customer also specifies the robot controllers (also shown in FIG. 2) that will receive the message configuration template 218. The customer can choose to load the message configuration template 218 on any individual robot controller 110, or on multiple controllers, such as the controllers of all robots in a particular customer facility (factory), or on the controllers of all robots of a particular model among all of the ones in the customer facility, etc.
[0036] Upon completion of the message template generation, the customer sends the message configuration template 218 from the message template generator module 210 to the robot controller 110 of one or more designated robots. The one or more robot controllers 110 then read and process the message configuration template 218, as described above in connection with FIG. 2, to send the custom data message 130 when the trigger is encountered. Upon completion of the message template generation, the message template generator module 210 also generates a data schema 320 corresponding to the template 218, where the data schema 320 defines the data fields to be included in the data message, and the structure and data type for 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.
[0037] One or more robot controllers 110 read and parse the message configuration template 218. As mentioned above, rebooting or powering on / off the controller 110 is not required to process the template. The robot controller 110 then waits for one or more triggers 250 and sends the custom data message 130 when a trigger is experienced. If the message configuration template 218 is installed on multiple robot controllers 110, the controllers 110 can trigger message transmissions at different times.
[0038] Custom data messages 130 are sent from one or more robot controllers 110 to a cloud data parser 330 in the cloud 140. The action of receiving and storing custom data by the cloud data parser 330 is referred to as "data ingestion," which essentially involves extracting, transforming, and reading, where the data schema 320 is applied to the skeletal XML data in the custom data message 130 so that it is structured for efficient storage, display, and analysis. The XML in the custom data message 130 from the robot controller 110 does not have a structure, nor does it carry enough information with it to interpret the data field values, types, and formats. The data schema 320 contains the structure and data types for the data fields in the custom data message 130 that allows the parser 330 to read the XML message, apply the schema 320 to the XML, and store the formatted and structured data in a data table 340.
[0039] Again, both the data schema 320 and the message configuration template 218 are derived from the same message definition / configuration by the user. When defining / configuring a custom message, the user includes a list of fields they wish to include, and this message definition information is stored in the message template generator module 210 of the web portal 310. As a result, the message template generator module 210 generates not only the message configuration template 218 for loading on the robot controller 110, but also the data schema 320 that the parser 330 will apply to the incoming data message 130.
[0040] Cloud data parser 330 may temporarily form the incoming data messages into a queue for collective processing. Cloud data parser 330 may then ingest a single message, or multiple messages of one type at a time. Either way, ultimately, all the data from all the messages will be present in data table 340.
[0041] The data stored in data tables 340 from the ingestion of data messages by cloud data parser 330 grows over time as more messages are ingested. The data in data tables 340 is sufficiently 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 an individual robot over a given period of time across multiple data messages (to look for changes or upward trends) or analyzing the robot joint data for all robots performing a particular type of operation in a factory (to look for deviations from norms).
[0042] The web portal 310 also includes an analytical application 350 used by the robot customer to view and analyze the data in the data tables 340 provided in the custom data message 130. The analytical application 350 includes a custom analysis module 352 for performing any mathematical or statistical analysis of the data desired by the customer, a data observation module 354 for viewing and reporting the data, and an alerts and notifications module 356, where alerts and notifications can be configured by the customer as appropriate, such as when individual or average data values fall outside of a predefined normal range, or when a trend line for a data field indicates that a parameter may soon fall out of range, etc.
[0043] The analysis application 350 module has access to all of the data in the data tables 340. A customer ID number identifies the data in the data tables 340 so that only users of a particular customer have access to that particular customer's data. With each data record identified by date / time and robot controller identity, the customer has complete flexibility to view and analyze the data in any way they wish to understand the performance of their robot and to anticipate any maintenance that may be required.
[0044] As the customer views and analyzes the data by using the analysis application 350 in the web portal 310, the customer will likely identify other parameters that they wish to monitor, and can easily construct other custom data messages by using the message template generator 210 in the web portal 310.
[0045] In one embodiment, cloud data parser 330 and data tables 340 are hosted by a server computer that also hosts web portal 310, which includes message template generator module 210 and analytical application 350. Other types of distributed computing and cloud computing configurations are also possible, as will be appreciated by those skilled in the art.
[0046] 4 is a flow chart diagram 400 of a method for dynamic messaging for factory automation equipment, according to one embodiment of the disclosure. In box 402, a message composition template 218 is generated using a message template generator module 210. The message template generator module 210 runs on a computer separate from the robot controller 110, such as computer 212. The message template generator module 210 is preferably accessed by a user of a web portal 310. The message template generator module 210 also generates a data schema 320 in box 414 for data ingestion by the data parser 330 when the parser 330 receives the custom data message.
[0047] Once generated, the dynamic message configuration template 218 is provided to the robot controller 110 in box 404. This file transfer can be performed over a local or wide area network connection or by physically transferring the template file 218 on a portable storage device. In a preferred embodiment, the message configuration template 218 is transferred from the web portal 310 to one or more robot controllers 110 targeted for a particular message. In box 406, the configuration template 218 is parsed and processed by the controller 110. Processing the configuration template 218 includes generating a uniquely identified dynamic message shell in the message database 280, generating a corresponding message metadata record in the metadata store 240, and establishing a corresponding message trigger 250.
[0048] At decision diamond 408, the controller 110 monitors for the occurrence of one of the triggers 250. Upon encountering one of the triggers 250, a custom data message 130 is generated at box 410. This includes retrieving a message shell (corresponding to the trigger) from the message database 280, retrieving a metadata record from the metadata store 240, and collecting data and files from the robotics subsystem 270 as notified in the metadata record.
[0049] After generating the custom data messages 130 in box 410, the controller 110 sends the custom data messages 130 in box 412 by using the existing robot message service module 290. The custom data messages 130 are sent to the cloud data parser 330 or a local storage device as described above. In box 416, in a preferred embodiment, the cloud data parser 330 parses the message data from one or more of the custom data messages 130. The cloud data parser 330 previously received the data schema 320 in box 414, where the schema 320 contains the content and format of the XML data in the message 130, allowing the parser 330 to extract and transform the data.
[0050] At box 418, the data in the one or more custom data messages 130 is stored in a data table 340, as described above. At box 420, the customer user analyzes the data in the data table 340 by using an analysis application 350 in the web portal 310. This includes viewing and reporting the data, analyzing the data, and establishing alerts and notifications based on data values and trends.
[0051] Multiple dynamic messages (e.g., one dynamic message transmitting an image of a rejected part, another dynamic message transmitting joint load data when a threshold load value is exceeded, etc.) can be configured on the controller 110, and one dynamic message configuration template 218 can be provided to multiple robot controllers 110 so that all multiple robot controllers 110 operate with the same dynamic messaging instructions.
[0052] In summary, the dynamic messaging system described above offers a number of features and advantages over conventional messaging systems. Dynamic messaging instructions are loaded on the controller 110 without affecting the production operation of the robot 100. The configuration templates 218, which contain only data and no executable code, allow 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 sending pre-programmed robot messages. Extensible message formats such as XML, JSON, and binary are available. Dynamic message formats, sending rates, and priorities are also customizable through the configuration templates 218. The message template generator module 210 allows users to configure message content and triggers as described above, generates the configuration templates 218, and ensures message uniqueness.
[0053] As will be appreciated by those skilled in the art, some and various steps and processes described herein to explain the disclosed methods may refer to operations performed by a computer, processor, or other electronic computing device that uses electrical phenomena to manipulate and / or transform data. Specifically, this refers to the robot controller 110 and the computer 212 running the message template generator module 210. These processors and electronic devices may utilize various volatile and / or non-volatile memories, including non-transitory computer readable media having executable programs stored thereon, including various codes or executable instructions that may be executed by the computer or processor, where memory and / or computer readable media may include all forms and types of memory and other computer readable media. Furthermore, it should be understood that the robot controller 110 is in communication with the computer 212 and has an internet connection, such that the controller 110 may send dynamic messages to any cloud-based destination.
[0054] The disclosed method of dynamic messaging from factory automation equipment provides a means to flexibly define messages to be sent from industrial robots without shutting down, rebooting, or reprogramming the robot. This capability allows customers to analyze robot performance in ways that were not anticipated when the robot was initially programmed and put into production, resulting in improved robot performance and uptime.
[0055] The foregoing discussion discloses and describes merely exemplary embodiments of the present disclosure, and those skilled in the art will readily recognize from such description, and from the accompanying drawings and claims, that various changes, modifications, and variations can be made without departing from the spirit and scope of the present disclosure, as defined in the appended claims.
Claims
1. 1. A method of dynamic messaging for factory automation equipment, comprising: defining a message configuration template by a customer by using a message template generator module running in a web portal application on a server, the message configuration template defining properties of a custom data message including message content, one or more message sending triggers, message priority, and message format; providing the message configuration template to a controller of a factory automation device, the controller having a processor and a memory; dynamically receiving, by the controller, during normal operation of the controller and the factory automation equipment without shutting down, restarting, or reprogramming the controller, the message configuration template, and processing the message configuration template to customize the properties of the custom data message, including the message content, the one or more message transmission triggers, the message priority, and the message format; generating, by the controller, the custom data message when one of the message transmission triggers is experienced, the custom data message including the message content and the message format specified in the message composition template; sending the custom data message from the controller to a message destination, the custom data message being sent according to the message priority specified in the message composition template; The method according to claim 1,
2. 2. The method of claim 1, wherein processing the message composition template by the controller includes generating a uniquely identified message shell in a message database, generating a corresponding message metadata record in a metadata store, and establishing the one or more message sending triggers for monitoring.
3. 3. The method of claim 2, wherein generating the custom data message includes obtaining the message shell corresponding to the message sending trigger experienced, obtaining the corresponding message metadata record, and aggregating the message content according to the message metadata record.
4. 4. The method of claim 3, wherein collecting the message content includes collecting the message content from a robotics subsystem that includes a file manager, a variable manager, and an input / output manager.
5. The method of claim 1 , wherein the message content includes one or more of a data file, an image file, a diagnostic file, a log file, and parameter data.
6. The method of claim 5 , wherein the parametric data includes one or more of joint load data, joint kinematics data, end effector performance data, and user-defined program variable data.
7. The method of claim 1 , wherein the message transmission triggers include a periodic timer, a change in a variable, and the sending of a preprogrammed robot message.
8. 2. The method of claim 1, further comprising providing the message configuration template to a controller of an additional factory automation device, the controller of the additional factory automation device generating and transmitting the custom data message when one of the message transmission triggers is experienced.
9. 2. The method of claim 1, wherein the message destination is an Internet Protocol (IP) address, a HyperText Transport Protocol (HTTP) address, an email address, a Short Message Service (SMS) address or number, or a locally attached storage device.
10. 2. The method of claim 1, wherein the message destination is a cloud data parser that parses the custom data message by using a data schema provided by the message template generator module, and the cloud data parser reads data in the custom data message into a data table that is accessible by a customer web portal for analysis of the data.
11. The method of claim 1 , wherein the factory automation device is a multi-axis industrial robot.
12. 1. A method of dynamic messaging for an industrial robot, comprising: defining a message configuration template by a customer using a message template generator module running in a web portal application on a server, the message configuration template defining properties of a custom data message including message content and message format; generating a data schema that defines the properties of the custom data message, including the message content and the message format; providing the message composition template to a controller of an industrial robot, the controller having a processor and a memory and in communication with the industrial robot; receiving, by the controller, the message configuration template dynamically during normal operation of the controller and the industrial robot without shutting down, restarting, or reprogramming the controller, and processing the message configuration template to customize the properties of the custom data message, including the message content and the message format; generating, by the controller, the custom data message when a message transmission trigger is experienced, the custom data message including the message content and the message format specified in the message composition template; sending the custom data message from the controller to a data parser; parsing the custom data message with the data parser using the data schema; reading, with the data parser, data from the custom data message into a data table; analyzing, by the customer, the data in the data table by using a data analysis and observation module running within the web portal application; The method according to claim 1,
13. 1. A dynamic messaging system for factory automation equipment, comprising: a server computer running a message template generator module, the message template generator module programmed to be accessed by a user via a web portal to define message composition templates, the message composition templates defining properties of custom data messages including message content, one or more message send triggers, and a message format; Factory automation equipment, a controller in communication with the factory automation equipment and the server computer; having The controller includes a processor and a memory. The controller: dynamically receiving the message configuration template from the server computer during normal operation of the controller and the factory automation equipment without rebooting the controller, and processing the message configuration template to customize the properties of the custom data message, including the message content, the one or more message transmission triggers, and the message format; generating the custom data message when one of the message transmission triggers is experienced, the custom data message including the message content specified in the message composition template; transmitting the custom data message from the controller to the server computer; It is structured as follows: the server computer also running a cloud data parser, the cloud data parser configured to parse the custom data message by using a data schema provided by the message template generator module and to store data from the custom data message in a data table; and The server computer also runs an analytical application accessible by the users via the web portal to analyze the data in the data tables.
14. 14. The system of claim 13, wherein processing the message composition template by the controller includes generating a uniquely identified dynamic message shell in a message database, generating a corresponding message metadata record in a metadata store, and establishing the one or more message send triggers for monitoring.
15. 15. The system of claim 14, wherein generating the custom data message includes obtaining the dynamic message shell corresponding to the message sending trigger experienced, obtaining the corresponding message metadata record, and aggregating the message content according to the message metadata record.
16. 16. The system of claim 15, wherein collecting the message content includes collecting the message content from robot subsystems including a file manager, a variable manager, and an input / output manager, and the message content includes one or more of a data file, an image file, a diagnostic file, a log file, and parameter data, and the parameter data includes one or more of joint load data, joint kinematics data, end effector performance data, and user defined program variable data.
17. 14. The system of claim 13, wherein the analytical applications include a mathematical and statistical analysis module, a data observation and reporting module, and an alerts and notifications module.
18. The system of claim 13 , wherein the message transmission triggers include a periodic timer, a change in a variable, and the sending of a preprogrammed robot message.
19. The system of claim 13 , wherein the factory automation device is a multi-axis industrial robot.
Citation Information
Patent Citations
Method and system for managing application program resources
JP2003536133A
Document security system
JP2005065209A
Method and system for receiving, mapping and structuring data from disparate systems in healthcare environment
JP2012178153A
System to monitor / analyze robot related information and display on smart device
JP2014050951A
System and method for dynamically intercepting and adjusting persistence behavior via runtime settings
JP2017532620A