Patent classifications
G06F8/33
MIXED MODE PROGRAMMING
A mixed mode programming method permitting users to program with graphical coding blocks and textual code within the same programming tool. The mixed mode preserves the advantages of graphical block programming while introducing textual coding as needed for instructional reasons and/or for functional reasons. Converting a graphical code block or group of blocks to a textual block lets the user see a portion of the textual code in the context of a larger program. Within one programming tool the mixed mode method allows users to learn programming and build purely graphical blocks; then transition into mixed graphical and textual code and ultimately lead to their ability to program in purely textual code. The mixed mode further allows users to program using any combination of drag-and-drop graphical blocks and typed textual code in various forms.
MIXED MODE PROGRAMMING
A mixed mode programming method permitting users to program with graphical coding blocks and textual code within the same programming tool. The mixed mode preserves the advantages of graphical block programming while introducing textual coding as needed for instructional reasons and/or for functional reasons. Converting a graphical code block or group of blocks to a textual block lets the user see a portion of the textual code in the context of a larger program. Within one programming tool the mixed mode method allows users to learn programming and build purely graphical blocks; then transition into mixed graphical and textual code and ultimately lead to their ability to program in purely textual code. The mixed mode further allows users to program using any combination of drag-and-drop graphical blocks and typed textual code in various forms.
System and method for industrial automation rules engine
A (GUI) for designing an industrial automation system includes a design window and a first accessory window. The GUI presents a library visualization representative of a plurality of objects within the first accessory window, each object is represented by an icon and corresponds to a respective industrial automation device. The GUI receives inputs indicative of a selection of one or more objects of the plurality of objects from the library, presents the one or more objects in the design window, determines that the one or more inputs do not comply with a set of industrial automation system rules comprising one or more relationships between a plurality of industrial automation devices, and displays a warning message that the one or more inputs do not comply with the set of industrial automation system rules.
Predicting code editor
According to an aspect, there is provided a computing device for performing the following. The computing device obtains, in a code editor, one or more logical lines of code for a program. The computing device predicts, using a first prediction algorithm, one or more most probable next program instructions based on said one or more logical lines of code and displays them to the user. In response to receiving a selection of a program instruction, the computing device inserts a selected program instruction to the code editor. The computing device predicts, using a second prediction algorithm, one or more most probable sets of zero or more parameters based on a selected program instruction and said one or more logical lines of code and displays them to the user. In response to receiving a selection of a set, the computing device inserts a selected set to the code editor.
Predicting code editor
According to an aspect, there is provided a computing device for performing the following. The computing device obtains, in a code editor, one or more logical lines of code for a program. The computing device predicts, using a first prediction algorithm, one or more most probable next program instructions based on said one or more logical lines of code and displays them to the user. In response to receiving a selection of a program instruction, the computing device inserts a selected program instruction to the code editor. The computing device predicts, using a second prediction algorithm, one or more most probable sets of zero or more parameters based on a selected program instruction and said one or more logical lines of code and displays them to the user. In response to receiving a selection of a set, the computing device inserts a selected set to the code editor.
Mechanism for information propagation and resolution in graph-based programming languages
A visual-programming tool processes nodes of a graph corresponding to operations or functions in program code associated with a plurality of programs, (e.g., games), stored as graph of nodes with logical connections signifying inputs, outputs, and/or units of connected nodes. The visual-programming tool resolves valid types and/or units associated with respective connected nodes and can propagate valid types and/or units throughout the graph.
Mechanism for information propagation and resolution in graph-based programming languages
A visual-programming tool processes nodes of a graph corresponding to operations or functions in program code associated with a plurality of programs, (e.g., games), stored as graph of nodes with logical connections signifying inputs, outputs, and/or units of connected nodes. The visual-programming tool resolves valid types and/or units associated with respective connected nodes and can propagate valid types and/or units throughout the graph.
VARIABLE RELATIONSHIP DISCOVERY AND RECOMMENDATIONS FOR INDUSTRIAL AUTOMATION ENVIRONMENTS
Various embodiments of the present technology generally relate to solutions for improving industrial automation programming and data science capabilities with machine learning. More specifically, embodiments of the present technology include systems and methods for implementing machine learning engines within industrial programming and data science environments to improve performance, increase productivity, and add functionality. In an embodiment, a system comprises a machine learning-based analysis engine configured to identify a variable that is available to be utilized in control logic for controlling an industrial automation environment. The machine learning-based analysis engine is further configured to determine that the variable is not utilized in the control logic. A recommendation component of the system is configured to, in an industrial programming environment, surface a recommendation to add the variable to the control logic.
PROVIDING CUSTOM MACHINE-LEARNING MODELS
Providing custom machine learning models to client computer systems. Multiple machine learning models are accessed. Client-specific data for multiple client computer systems are also accessed. For each of at least some of the client computer systems, performing the following actions: First, using the corresponding client-specific data for the corresponding client computer system to determine which subset of the multiple machine learning models is applicable to the corresponding client computer system. The subset of the multiple machine learning models includes more than one of the multiple machine learning models. Then, aggregating the determined subset of the multiple machine learning models to generate an aggregated subset of machine learning models that is customized to the corresponding client computer system.
PROVIDING CUSTOM MACHINE-LEARNING MODELS
Providing custom machine learning models to client computer systems. Multiple machine learning models are accessed. Client-specific data for multiple client computer systems are also accessed. For each of at least some of the client computer systems, performing the following actions: First, using the corresponding client-specific data for the corresponding client computer system to determine which subset of the multiple machine learning models is applicable to the corresponding client computer system. The subset of the multiple machine learning models includes more than one of the multiple machine learning models. Then, aggregating the determined subset of the multiple machine learning models to generate an aggregated subset of machine learning models that is customized to the corresponding client computer system.