摘要:
Devices and methods for synchronizing devices over a switched fabric. A switch receives a request packet from a device, transmits a completion packet to the device, determines an in-switch delay, and stores the in-switch delay. Another switch receives a packet from a first device, forwards the packet to a second device, determines an in-switch delay of the packet, and stores the in-switch delay. Storing of in-switch delays may include adding an in-switch delay to values in one or more transaction delay fields of a packet. Storing of in-switch delays may include storing the delays in a storage element of a switch. In-switch delay may be determined as a difference between a receiving time corresponding to reception of a packet and a forwarding or transmittal time corresponding to forwarding or transmitting of a packet.
摘要:
Apparatus and method for real-time scheduling. An apparatus includes first and second processing elements and a memory. The second processing element is configured to generate or modify a schedule of one or more tasks, thereby creating a new task schedule, and to write to a specified location in the memory to indicate that the new schedule has been created. The first processing element is configured to monitor for a write to the specified location in the memory and execute one or more tasks in accordance with the new schedule in response to detecting the write to the specified location. The first processing element may be configured to begin executing tasks based on detecting the write without invoking an interrupt service routine. The second processing element may store the new schedule in the memory.
摘要:
A system and method for configuring a hardware device to execute a prototype is presented. The hardware device may include a programmable hardware element and/or a processor and memory. The prototype may comprise a software entity operable to perform a plurality of executable operations, wherein the prototype is created by a user without requiring user programming. For example, a prototyping environment may provide a library of operations that are specific to a particular problem domain and may enable the user to select various operations from the library for inclusion in the prototype. The prototyping environment may include a graphical user interface that is streamlined for interactively experimenting with various parameters or properties associated with the selected operations and seeing the effects of adjusting the parameters.
摘要:
In a real-time application, one or more computational tasks execute according to a time schedule and use input data from input devices and/or output data from output devices. One or more of the input devices or output devices may be unscheduled devices that attempt to access the peripheral bus at unscheduled times. Such unscheduled bus access can cause the time schedule to become comprised. Various methods for arbitrating access to the bus to better integrate the bus access with the time schedule followed by the application are described.
摘要:
A user may utilize a prototyping environment to create a sequence of motion control, machine vision, and/or data acquisition (DAQ) operations, 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 sequence at a high level, by selecting from and configuring a sequence of operations using the GUI. The prototyping environment application may then be operable to automatically, i.e., programmatically, generate graphical program code implementing the sequence. For example, the environment may generate a standalone graphical program operable to perform the sequence of operations.
摘要:
System and method for performing industrial control. A vision engine operable to execute vision functions to control a vision element in response to received asynchronous commands is stored on a vision system. An application programming interface (API) that provides access to the vision engine is stored. The API includes multiple function blocks operable to be included in an industrial control application, and executable to send the asynchronous commands to the vision engine. The application is created, including inserting at least one function block of the API into the application. The application is executed on a programmable controller, including executing the function block to send a corresponding asynchronous command to the vision engine. The vision engine performs a vision function corresponding to the function block in response to the asynchronous command, and sends resultant data to the industrial control application, which stores the resultant data.
摘要:
System and method for utilizing drawing specifications for use in motion control. Elements in a drawing specification may be automatically identified. The drawing specification may include one or more drawings, digital files, AutoCAD drafting files, and/or drawing specifications. Code may be automatically generated based on the one or more elements in accordance with a schema, and may include instructions in a data representation language, e.g., a markup language such as HTML, XML, etc. The automatically generated code may include move operations, e.g., arc, contour, line, raise, lower, halt, begin, etc., with associated parameters, e.g., move constraints, digital outputs, position compares, etc. The schema may include one or more blocks, each associated with a portion of the drawing specification, one or more elements, each associated with a block, one or more move operations, each associated with an element, and one or more parameters, each associated with a move operation.
摘要:
Adapting move constraints for position based moves in a trajectory generator. Specification of a trajectory may be received. The specification may include a geometry of the trajectory, where the geometry specifies a desired trajectory length. A plurality of constraints for the trajectory may be received. The plurality of constraints may include one or more of a velocity, acceleration, or jerk constraint. A motion control profile may be generated based on the plurality of constraints. The method may include determining if a distance of the motion control profile exceeds the desired trajectory length. If the distance of the motion control profile exceeds the desired trajectory length, one or more values of the plurality of constraints may be decreased to make the distance of the motion control profile less than or equal to the desired trajectory length.
摘要:
Devices and methods for synchronizing devices over a switched fabric. A switch receives a request packet from a device, transmits a completion packet to the device, determines an in-switch delay, and stores the in-switch delay. Another switch receives a packet from a first device, forwards the packet to a second device, determines an in-switch delay of the packet, and stores the in-switch delay. Storing of in-switch delays may include adding an in-switch delay to values in one or more transaction delay fields of a packet. Storing of in-switch delays may include storing the delays in a storage element of a switch. In-switch delay may be determined as a difference between a receiving time corresponding to reception of a packet and a forwarding or transmittal time corresponding to forwarding or transmitting of a packet.
摘要:
System and method for controlling access to a bus. A Network Interface (NI) is coupled to a memory via the bus, and receives a schedule to a Direct Memory Access (DMA) controller on the NI. The schedule indicates one or more timeslots reserved for transmission of deterministic data, and further indicates one or more available timeslots which are not reserved for transmission of deterministic data. The NI receives first data for transmission onto the bus, during a first timeslot of the available timeslots, where the first data are received in a non-deterministic manner, and determines that the first timeslot is a reserved timeslots based on the schedule. The first data are buffered in a buffer memory during the first timeslot, and transferred to the first memory via the bus during a second timeslot after the buffering, where the second timeslot is one of the one or more available timeslots.