Abstract:
A system and method for developing a sequence of motion control operations. Various embodiments of a motion control prototyping environment application are described. The motion control prototyping environment may be designed to enable a user to easily and efficiently develop/prototype a motion control sequence without requiring the user to perform programming, e.g., without needing to write or construct code in any programming language. For example, the environment may provide a graphical user interface (GUI) enabling the user to develop/prototype the motion control sequence at a high level, by selecting from and configuring a sequence of motion control operations using the GUI.
Abstract:
System and method for modifying properties of tasks on a programmable logic controller. Input specifying modification of a property of a task included in a programmable logic controller (PLC) may be received. The property of the task may be modified based on the input, and the task may halt or continue to execute in accordance with the modified property. The modification may enable, disable, modify the rate of, modify the priority of, and/or modify properties of programs included in the task, among others. Modifying the programs may include changing the program execution order. When enabling or disabling the task, the input may be received from another task executing on the PLC. For at least some property modifications, the input may be received from one or more of a program included in the task, another executing task, a host computer system, and a user of the host computer system, among others.
Abstract:
System and method for developing a motion application. A motion manager component implementing a supervisory control function and at least one trajectory generation algorithm is stored on a motion controller. A first application programming interface (API) for interfacing the motion manager component to a user developed motion control application is displayed. A second API for interfacing the motion manager component to a user developed communication interface component is displayed. A user application executable for sequencing motion operations in the motion system is created using the first API is created in response to user input. A first communication interface component is created using the second API in response to user input, where the communication interface component is operable to interface with the motion manager component using the second API, and where the user developed communication interface component is executable to communicate with a motion element, e.g., a drive or simulation.
Abstract:
System and method for automatically updating a memory map coupled to or included in a programmable logic controller (PLC). A PLC may automatically detect at least one programmable hardware element (PHE) coupled to the PLC. The PHE may provide a customizable interface, i.e., input and output (I/O) interface, between one or more devices and the PLC. The devices may include one or more measurement, data acquisition, signal generation, automation, motion control, and/or analysis device(s), among others. The PHE may perform one or more functions on the data transmitted between the device(s) and the PLC. One or more of the PHEs and/or device(s) may be local or remote to the PLC. The PLC may automatically update the memory map based on a hardware I/O interface of the at least one programmable hardware element, where the memory map facilitates communications between programs executing on the PLC and the programmable hardware element.
Abstract:
System and method for utilizing a drawing specification for motion control. A plurality of elements in a drawing specification may be automatically identified. The elements may include one or more lines, polygons, arcs, splines, alphanumeric characters, and/or ellipses. Additionally, the drawing specification may be a drawing or digital drafting file, e.g., an AutoCAD file, among others. An order of the plurality of elements may be automatically determined according to a sorting algorithm. The sorting algorithm may include a geometric and/or radial sorting algorithm. The radial sorting algorithm may specify the order of the elements according to nesting, e.g., nesting order and depth, and/or distance from the center of the drawing specification. Code may be automatically generated for implementing motion control based on the identified elements and the determined order. The generated code may include inserted operations such as raise, lower, and move operations, among others.
Abstract:
System and method for modifying properties of tasks on a programmable logic controller. Input specifying modification of a property of a task included in a programmable logic controller (PLC) may be received. The property of the task may be modified based on the input, and the task may halt or continue to execute in accordance with the modified property. The modification may enable, disable, modify the rate of, modify the priority of, and/or modify properties of programs included in the task, among others. Modifying the programs may include changing the program execution order. When enabling or disabling the task, the input may be received from another task executing on the PLC. For at least some property modifications, the input may be received from one or more of a program included in the task, another executing task, a host computer system, and a user of the host computer system, among others.
Abstract:
A system and method for enabling a graphical programming development environment to provide suggested graphical programming operations, such as suggested nodes or icons to include in a graphical program. User input specifying one or more nodes to include in the graphical program may be received. The one or more specified nodes may then be included in the graphical program. One or more suggested nodes to include in the graphical program may be then be automatically displayed or otherwise suggested to the user. The one or more suggested nodes may be based on the nodes already included in the graphical program. In various embodiments, the one or more suggested nodes may be displayed or otherwise suggested in various ways.
Abstract:
A system and method for specifying and satisfying move constraints when performing a motion control sequence. One or more motion control operations may be included in a sequence in response to user input. User input specifying one or more move constraints for a first motion control operation in the sequence may be received to a graphical user interface. When the motion control sequence is subsequently performed, the first motion control operation may be performed in such a way that the one or more specified move constraints are satisfied. The specified move constraints preferably do not cause the trajectory of the first motion control operation to be altered.
Abstract:
A system and method for user configuration of an autotuning algorithm for a PID controller. User input is received via a Graphical User Interface (GUI) indicating a desired characteristic of a PID controller, such as stiffness or response time. The system is excited via a proportional controller to characterize the intrinsic behavior of the system, i.e., to calculate a system transfer function. An autotuning algorithm is configured in accordance with the user input. The configured autotuning algorithm is applied to the transfer function to generate gain values for the PID controller resulting in the PID controller characteristic specified by the user. The PID controller gains are loaded into the PID controller hardware or software, thereby configuring the PID controller to operate according to the desired characteristic specified by the user. The user may trigger and view a step response of the system to review the results of the tuning process.
Abstract:
A system and method for performing trajectory generation, interpolation, and control for a motion control application, where the trajectory generation, interpolation, and control are performed in parallel with each other. In one embodiment, an FPGA in a motion control device may be configured to perform the trajectory generation, interpolation, and control in parallel. Performing trajectory generation, interpolation, and control in parallel on an FPGA may increase the efficiency of the motion control application.