Senior Fitness - Exercise and Nutrition for Aging Men and Women
FREE Article Feed for your website.
Home Ownership Magazine
Party Planning Information
Article Marketing Resources
Bio-Medical Research Article Database
Informative Articles on Life, Love and Happiness
Tutorials on Business to Writing
Famous Quotes from Famous People
Song Lyric Information
New US Patent Information
Comprehensive List of Content by Category
Online Auctions and Shopping Related Articles
Article Search
Most Recent Articles
Title: Method and system for acquiring time synchronization between base stations in a broadband wireless access communication system
Patent Number: 7,436,813 Issued on 10/14/2008 to Kim,   et al.

Title: System for oderwire modulation
Patent Number: 7,436,812 Issued on 10/14/2008 to Geile

Title: Multicasting data method in a radio communication system
Patent Number: 7,436,811 Issued on 10/14/2008 to Putcha,   et al.

Title: Determination of wireless link quality for routing as a function of predicted delivery ratio
Patent Number: 7,436,810 Issued on 10/14/2008 to Ma,   et al.

Title: Communicating system, communicating method, base station, and mobile station
Patent Number: 7,436,809 Issued on 10/14/2008 to Harada,   et al.

Title: Method and apparatus for bandwidth reservations
Patent Number: 7,436,808 Issued on 10/14/2008 to Geva,   et al.

Title: Communication network
Patent Number: 7,436,807 Issued on 10/14/2008 to Hanninen,   et al.

Title: Apparatus and method for symbol mapping TFCI bits for a hard split mode in a CDMA mobile communication system
Patent Number: 7,436,806 Issued on 10/14/2008 to Hwang,   et al.

Title: Method for call establishment over a packet exchange network
Patent Number: 7,436,805 Issued on 10/14/2008 to Yokota,   et al.

Title: Methods and apparatus for using a Care of Address option
Patent Number: 7,436,804 Issued on 10/14/2008 to O'Neill

Title: Apparatus and method for determining a soft handover in a CDMA mobile communication system
Patent Number: 7,436,803 Issued on 10/14/2008 to Chae,   et al.

Title: Frequency hopping method in orthogonal frequency division multiplexing system
Patent Number: 7,436,802 Issued on 10/14/2008 to Lee,   et al.

Title: Deferred access method for uplink packet channel
Patent Number: 7,436,801 Issued on 10/14/2008 to Kanterakis

Title: Radio communication scheme
Patent Number: 7,436,800 Issued on 10/14/2008 to Toshimitsu,   et al.

Title: Method for minimizing expenditures associated with optimized backhaul networks
Patent Number: 7,436,799 Issued on 10/14/2008 to El-Sayed,   et al.

Title: Communication system, communication terminal apparatus, wireless key apparatus and program
Patent Number: 7,436,798 Issued on 10/14/2008 to Itoh,   et al.

Title: Wireless architecture and support for process control systems
Patent Number: 7,436,797 Issued on 10/14/2008 to Shepard,   et al.

Title: Mobile-unit-dedicated data delivery assistance method
Patent Number: 7,436,796 Issued on 10/14/2008 to Takeuchi,   et al.

Title: Timer based stall avoidance mechanism for high speed wireless communication system
Patent Number: 7,436,795 Issued on 10/14/2008 to Jiang

Title: Transmission power control method and apparatus for mobile communication system
Patent Number: 7,436,794 Issued on 10/14/2008 to Takahashi,   et al.

Title: System and method for effectively performing a transmit power adjustment procedure
Patent Number: 7,436,793 Issued on 10/14/2008 to Read

Title: For-fee distribution of consumer-selected content items between different satellite radio service providers
Patent Number: 7,436,792 Issued on 10/14/2008 to Diamond

Title: Methods and apparatus for providing slot reservations for slotted messages in wireless communication networks
Patent Number: 7,436,791 Issued on 10/14/2008 to Willey,   et al.

Title: Wireless access point methods and apparatus for reduced power consumption and cost
Patent Number: 7,436,790 Issued on 10/14/2008 to Todd,   et al.

Title: Ad Hoc wireless node and network
Patent Number: 7,436,789 Issued on 10/14/2008 to Caliskan,   et al.

Title: Dynamic frequency spectrum re-allocation
Patent Number: 7,436,788 Issued on 10/14/2008 to Huschke,   et al.

Title: Transceiver for full duplex communication systems
Patent Number: 7,436,787 Issued on 10/14/2008 to Huang,   et al.

Title: Telecommunications system for minimizing the effect of white noise data packets for the generation of required white noise on transmission channel utilization
Patent Number: 7,436,786 Issued on 10/14/2008 to Ban

Title: Method and system for location based subject matter teleconferencing
Patent Number: 7,436,785 Issued on 10/14/2008 to McMullen,   et al.

Title: Resilient packet ring network for realizing MAC bridging
Patent Number: 7,436,784 Issued on 10/14/2008 to Hashimoto

Title: Method and apparatus for detecting a router that improperly responds to ARP requests
Patent Number: 7,436,783 Issued on 10/14/2008 to Cheshire,   et al.

Title: Full mesh LSP and full mesh T-LDP provisioning between provider edge routers in support of Layer-2 and Layer-3 virtual private network services
Patent Number: 7,436,782 Issued on 10/14/2008 to Ngo,   et al.

Title: Method and apparatus for determining the location of a node in a wireless system
Patent Number: 7,436,781 Issued on 10/14/2008 to Niu,   et al.

Title: Method and apparatus for approximating location of node attached to a network
Patent Number: 7,436,780 Issued on 10/14/2008 to Stephens,   et al.

Title: Method and system for controlling when a radio link layer connection to a wireless terminal is released
Patent Number: 7,436,779 Issued on 10/14/2008 to Mangal,   et al.

Title: Related-packet identification
Patent Number: 7,436,778 Issued on 10/14/2008 to Iannaccone,   et al.

Title: Failed link training
Patent Number: 7,436,777 Issued on 10/14/2008 to Lesartre

Title: Communication test device
Patent Number: 7,436,776 Issued on 10/14/2008 to Koga

Title: Software configurable cluster-based router using stock personal computers as cluster nodes
Patent Number: 7,436,775 Issued on 10/14/2008 to Jordan,   et al.

Title: Communication network connection rerouting methods and systems
Patent Number: 7,436,774 Issued on 10/14/2008 to Gunther,   et al.

Title: Packet flow control in switched full duplex ethernet networks
Patent Number: 7,436,773 Issued on 10/14/2008 to Cunningham

Title: Available bandwidth estimation
Patent Number: 7,436,772 Issued on 10/14/2008 to Padhye,   et al.

Title: System for refining network utilization and data block sizes in the transfer of data over a network
Patent Number: 7,436,771 Issued on 10/14/2008 to Roberts,   et al.

Title: Metering packet flows for limiting effects of denial of service attacks
Patent Number: 7,436,770 Issued on 10/14/2008 to Sterne,   et al.

Title: Method of throttling data flow through a router
Patent Number: 7,436,769 Issued on 10/14/2008 to Loader,   et al.

Title: Method, apparatus and computer program for transmitting a packet
Patent Number: 7,436,768 Issued on 10/14/2008 to Yun

Title: Method and apparatus for controlling the transmission of cells across a network
Patent Number: 7,436,767 Issued on 10/14/2008 to Wei

Title: Telecommunication network support for service based policy in roaming configurations
Patent Number: 7,436,766 Issued on 10/14/2008 to Alfano,   et al.

Title: Method and apparatus for dynamically allocating upstream bandwidth in passive optical networks
Patent Number: 7,436,765 Issued on 10/14/2008 to Sisto,   et al.

Title: Notification of control information in wireless communication system
Patent Number: 7,436,764 Issued on 10/14/2008 to Lee,   et al.

Title: Data communication apparatus with a dual mode protection switching system
Patent Number: 7,436,763 Issued on 10/14/2008 to Phelps,   et al.

Title: Mobile communication network system for managing the location of a mobile IP terminal
Patent Number: 7,436,762 Issued on 10/14/2008 to Oka,   et al.

Title: Apparatus and method for connecting fibre channel devices via bypass buffers
Patent Number: 7,436,761 Issued on 10/14/2008 to Winter,   et al.

Title: Method for reading sensor
Patent Number: 7,436,760 Issued on 10/14/2008 to Chen

Title: Reception apparatus and method, and channel response measurement apparatus for receiving an orthogonal frequency divisional multiplexing signal
Patent Number: 7,436,759 Issued on 10/14/2008 to Hayashi,   et al.

Title: Apparatus and method for transmitting/receiving pilot pattern set to distinguish base station in orthogonal frequency division multiplexing (OFDM) communication system
Patent Number: 7,436,758 Issued on 10/14/2008 to Suh,   et al.

Title: Scattered pilot and filtering for channel estimation
Patent Number: 7,436,757 Issued on 10/14/2008 to Wilson,   et al.

Title: Record carrier and apparatus enabling seamless playback
Patent Number: 7,436,756 Issued on 10/14/2008 to Bernsen

Title: Optical information recording medium, recording and reproduction methods using the same, optical information recording device, and optical information reproduction device
Patent Number: 7,436,755 Issued on 10/14/2008 to Takamori,   et al.

Title: Information-recording medium and method
Patent Number: 7,436,754 Issued on 10/14/2008 to Kojima,   et al.

Title: Contact probe storage FET sensor
Patent Number: 7,436,753 Issued on 10/14/2008 to Mejia,   et al.

Title: Method and apparatus for signal equalization in a light storage system
Patent Number: 7,436,752 Issued on 10/14/2008 to He

Title: Disposable article with containment structure
Patent Number: 6,790,202 Issued on 09/14/2004 to Klemp,   et al.

Title: Method and apparatus for securing a computer-based game of chance
Patent Number: 6,790,139 Issued on 09/14/2004 to Walker,   et al.

Title: Compensation for power variation along patient cables
Patent Number: 6,790,206 Issued on 09/14/2004 to Panescu

Title: Methods and apparatus for recirculating air in a controlled ventilated environment
Patent Number: 6,790,136 Issued on 09/14/2004 to Sharp,   et al.

Title: Health instrument
Patent Number: 6,790,194 Issued on 09/14/2004 to Katane,   et al.

Title: Method and device for transventricular mechanical circulatory support
Patent Number: 6,790,171 Issued on 09/14/2004 to Grundeman,   et al.

Title: Gaming system with individualized centrally generated random number generator seeds
Patent Number: 6,790,143 Issued on 09/14/2004 to Crumby

Title: Adjustable striking bag training apparatus
Patent Number: 6,790,167 Issued on 09/14/2004 to Carlin,   et al.

Title: Flexible shaft plug insert
Patent Number: 6,790,144 Issued on 09/14/2004 to Talesky

Title: Apparatus for controlling vehicle drive system including engine with turbocharger, and lock-up clutch
Patent Number: 6,790,157 Issued on 09/14/2004 to Tabata

Title: Implantable prosthesis
Patent Number: 6,790,213 Issued on 09/14/2004 to Cherok,   et al.

Title: Apparatus for controlling vehicle drive system including engine with turbocharger, and lock-up clutch
Patent Number: 6,790,158 Issued on 09/14/2004 to Tabata

Title: On-vehicle display device
Patent Number: 6,795,757 Issued on 09/21/2004 to Sadahiro

System for motion control, method of using the system for motion control, and computer readable instructions for use with the system for motion control Number:7,143,301 from the United States Patent and Trademark Office (PTO) owispatent

Home    Author Login    Submit Article    Article Search    Add Your Link    Edit Your Link    Contact Us    Advertising    Disclaimer

   

 
Web LinkGrinder.com

Top Breaking News
     Greek, Cypriot Leaders Resume Unification Talks in Nicosia by Nathan Morley
     Indonesia Tobacco Sales Grow, Raising Health Fears
     South Korea Allows Top Defector to Travel Overseas by VOA News

Title: System for motion control, method of using the system for motion control, and computer readable instructions for use with the system for motion control

Abstract: A motion control system and method that includes a central controller configured to generate first and second demand control signals to be used to define actuation motion of respective first and second actuators. The central controller is in communication with first and second nodes by way of a data network, each node including at least a respective actuator configured to implement at an actuator time a motion or force-related effort based upon the respective demand control signal. Each node also includes a memory configured to store at least one respective propagation delay parameter related to a signal propagation delay between the central controller and the node. A timing mechanism establishes timing at each node based on the respective propagation delay parameter so that the actuator time at the nodes occurs simultaneously. Strictly cyclic and/or full-duplex high-speed communication can be supported. The network can be wired in a ring or as a tree and with twisted pair cabling or fiber. The central controller issues demand signals to the nodes that are actuator, servo motor drive, and/or I/O devices. The central controller can also provide a timing message that is used by the nodes, in conjunction with local delay correction circuitry, so that the simultaneous acquisition of data and the simultaneous implementation of controlled action occur.

Patent Number: 7,143,301 Issued on 11/28/2006 to Pearce,   et al.


Inventors: Pearce; Robert (Bristol, GB), Cline; David (Santa Barbara, CA)
Assignee: Motion Engineering, Inc. (Santa Barbara, CA)
Appl. No.: 11/120,207
Filed: May 3, 2005


Related U.S. Patent Documents

Application NumberFiling DatePatent NumberIssue Date
09779834Apr., 20067024257

Current U.S. Class: 713/401 ; 327/136; 327/141; 370/519; 700/71; 700/72; 709/248; 709/251; 709/252; 713/400
Current International Class: G06F 1/12 (20060101); G05B 11/01 (20060101); G06F 13/42 (20060101); G06F 15/16 (20060101); H03K 4/90 (20060101); H03L 7/00 (20060101); H04J 3/06 (20060101)
Field of Search: 713/400-401 327/136,141 709/248,251-252 370/519 700/71-72


References Cited [Referenced By]

U.S. Patent Documents
4214823 July 1980 Pritchard
4262336 April 1981 Pritchard
4449196 May 1984 Pritchard
5361277 November 1994 Grover
5555438 September 1996 Blech et al.
5821666 October 1998 Matsumoto et al.
5914963 June 1999 Basile
6112308 August 2000 Self et al.
6718476 April 2004 Shima
6918047 July 2005 Sita et al.
6943610 September 2005 Saint-Laurent
2001/0024455 September 2001 Thaler et al.
2002/0031199 March 2002 Rolston et al.
2004/0064750 April 2004 Conway
2006/0129776 June 2006 Ware et al.
Foreign Patent Documents
6-43937 Feb., 1994 JP
8-76822 Mar., 1996 JP
9-69481 Mar., 1997 JP
11-95842 Apr., 1999 JP
11-509387 Aug., 1999 JP
2000-35806 Feb., 2000 JP
2000-132428 May., 2000 JP
2000-151667 May., 2000 JP
2000-339024 Dec., 2000 JP
WO 97/04512 Feb., 1997 WO

Other References

Allen-Bradley Company, Inc., Offline Development System (ODS), Publication 8520-UM051A-EN-P, User Manual, the entire book, Oct. 2000. cited by other.

Primary Examiner: Knight; Anthony
Assistant Examiner: Hartman, Jr.; Ron D
Attorney, Agent or Firm: Oblon, Spivak, McClelland, Maier & Neustadt, P.C.

Parent Case Text



CROSS-REFERENCE TO RELATED APPLICATION

This application is a divisional of application Ser. No. 09/779,834, filed Feb. 9, 2001, now U.S. Pat. No. 7,024,257, issued Apr. 4, 2006, the entire contents of which are hereby incorporated herein by reference.
Claims



What is claimed as new and desired to be secured by Letters Patent of the United States is:

1. A method of autoenumerating a plurality of slaves controlled by a central controller in a system for motion control, comprising: linking the central controller and the slaves in a network; determining a propagation delay parameter between said central controller and each respective slave in said plurality of slaves by a timing mechanism configured to establish timing at each slave based on the respective propagation delay and to delay reception of a servo clock message at each slave by an amount of time corresponding to the propagation delay parameters for information passed from the central controller to each slave so that actuator times at each of the slaves occurs simultaneously; transmitting a query message from the central controller along said network; receiving said query message at a slave of said plurality of slaves in said network; transmitting an answer message to said query message along said network from said slave to said central controller, said answer message enumerating said slave; receiving said answer message at said central controller; retransmitting said query message from said central controller along said network; relaying said retransmitted query message through said enumerated slave to a further slave; and transmitting a further answer message to said query message along said network from said further slave through said enumerated slave to said central controller, said further answer message enumerating said further slave.

2. The method according to claim 1, wherein said query message is transmitted in a first direction and said answer message is transmitted in a reverse direction.

3. A computer readable medium storing instructions for execution on a computer system, which when executed by a computer system causes the computer system to perform the method recited in claim 2.

4. The method according to claim 1, wherein said linking step comprises arranging the central controller and the slaves in a ring network.

5. The method according to claim 4, further comprising: repeating said steps of retransmitting said query message, relaying said query message, and transmitting a further answer message until said further slave comprises a last slave in said ring network; transmitting said query message from said central controller along said ring network; relaying said query message through each slave in said plurality of slaves; and receiving said query message at central controller.

6. A computer readable medium storing instructions for execution on a computer system, which when executed by a computer system causes the computer system to perform the method recited in claim 5.

7. A computer readable medium storing instructions for execution on a computer system, which when executed by a computer system causes the computer system to perform the method recited in claim 4.

8. A computer readable medium storing instructions for execution on a computer system, which when executed by a computer system causes the computer system to perform the method recited in claim 1.

9. A computer readable medium storing instructions for execution on a computer system, which when executed by a computer system, cause the computer system to perform the method recited in claim 1.

10. The method according to claim 1, wherein said linking step comprises arranging the central controller and the slaves in a full-duplex ring network, said method further comprising: a step of reenumerating, from each of two ports of the central controller, two fragments of a ring that remains connected to the central controller when one or more links of the full-duplex ring network no longer functions or has been removed; and a step of operating the two fragments as two networks each of a slender tree topology.

11. An autoenumerating motion control system comprising: a network; and a central controller and plural slaves communicating with each other via said network; and at least one timing mechanism, wherein said timing mechanism is configured to establish timing at each slave based on a respective propagation delay parameter for each slave and to delay reception of a servo clock message at each of said plural slaves by an amount of time corresponding to each respective propagation delay parameter for information passed from the central controller to each of said plural slaves so that the actuator times at each of said plural slaves occur simultaneously, wherein the central controller further comprises: means for transmitting a query message from the central controller along said network, and means for receiving said answer message at said central controller, and each of said slaves further comprises means for receiving said query message carried by said means for linking, means for transmitting an answer message to said query message along said means for linking from said slave to said central controller, said answer message enumerating said slave, and means for relaying a further query message through said enumerated slave to a further slave and a further answer message to said query message along said network from said further slave through said enumerated slave to said central controller, said further answer message enumerating said further slave.
Description



BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates to the control of motion of complex machines, and specifically to an improved system, method, and computer-readable instructions designed to minimize wiring yet retain the flexibility of centralized control systems.

2. Discussion of the Background

The control of moving components in modern manufacturing equipment, such as the equipment used to process and package semiconductor devices, has become extremely complex as demands for both speed and precision increase. Such complexity is seen, for example, in the implementation of feedback control loops used in servo motion control systems. These servo control systems are used for critical positioning actuators, typically referred to as motion axes, in a complex machine.

A schematic representation of an exemplary basic servo axis motion control system 10 is shown in FIG. 1. Typically, a desired motion path profile is generated at a motion planning device 12, either prior to operation or in response to a system stimulus. The desired motion profile is converted to a motor signal (or other actuator signal) by the drive 16. The drive 16 is typically a combination analog or pulse width modulated (PWM) amplifier along with the digital circuitry needed to convert a digital motion profile into the analog actuator drive signals.

The desired motion path profile can be described and regulated in several ways. For example, a "demanded position" is the desired motion profile expressed in terms of the position of the actuator (and/or actuated object). Alternatively, the "demanded velocity" of the actuator and/or actuated object may be used, as well as a combination of velocity and position. A position measuring device, typically an optical motion encoder, is used to measure the "actual motion path profile" (e.g., the "actual position" and/or "actual velocity") of either the shaft of the motor 15, or for more precise systems, the actual moving part position.

Due to various mechanical and electrical sources of error (such as, e.g., noise, backlash, part flexing), a difference between the desired motion profile and the actual motion profile is often present. For example, PID (Proportional Integral Differential) feedback 120 in the position/velocity loop can be used to adjust the drive signal to minimize the error between demand and actual position. The algorithms in many high performance servo motion systems go well beyond PID control. Servo systems often include filters to compensate for mechanical resonances, tailored acceleration/deceleration profiles, and other software intensive control elements that help optimize the speed and accuracy of a moving system.

The control signal input to the drive 16 is usually a voltage, whereas most motors generate a torque that is proportional to an input current. Therefore, the drive 16 must often convert the input voltage representing the desired position and/or velocity to a current corresponding to the motor torque. This voltage-to-current conversion requires another feedback element, the current loop 110, which may range from a simple wire between the input and output of a linear amplifier to fairly complex digital logic controls in the case of PWM amplifiers.

Modern motion control systems may include several elements (e.g. actuators) that need to operate simultaneously to perform complex tasks. In other words, a motion control system may include several servo motors 18 (or other actuators) and therefore several axes of control. The decisions about when and where to move using which trajectory are termed "motion planning." The motion control system also includes a cascade control scheme for each axis, where the elements in the cascade include the current/torque control loop, and the position and/or velocity control loop, which may either be combined or separate parts of the cascade.

Several types of digital networks have been indicated for use in motion control. These networks can be divided up into two groups: those that have been designed for general purpose data transmission but then applied to motion control and those that are designed specifically for use as motion control networks.

1. General Purpose Networks

These are generally networks designed for data communications or multi-media applications and adapted to machine control. Data communications networks are directed to moving data from point to point in an efficient and reliable manner but they pay little or no attention to the timeliness of delivery. For example, multi-media networks stream data at 8 kHz from a CD player to an audio amplifier. Although multi-media networks guarantee the average streaming rate, they do not provide strict periodicity, as the data is buffered at both ends in multi-media appliances and can therefore tolerate deviations in the delivery period. Thus, multi-media networks are not ideal for real-time motion control networks.

ARCNET

ARCNET is such a data communications network. Several companies are known to have motion control networks based on ARCNET (ATA/ANSI 878.1, 2 and 3). ARCNET is a medium speed token-bus network that can be operated to provide strict cyclic messaging. However, there are limitations to using ARCNET. The first limitation is a moderate bit rate (10 Mbit/s) that is not fast enough to send out torque/current demands. Moreover, the speed of ARCNET cannot be upgraded to 100 Mbit/s over copper without a fundamental re-design.

ARCNET can use twisted pair copper but has no scrambling and therefore data transmission may potentially cause electromagnetic interference. ARCNET can operate as a physical ring (or as a bus) but cannot operate after a link has been severed. Nor can it report where such a fault has occurred, thereby impeding automatic and remote fault diagnosis. ARCNET has no mechanism for auto-enumeration, which increases the time necessary to commission a machine. ARCNET, being half-duplex, cannot carry command and feedback data simultaneously. ARCNET uses a token-passing scheme; such schemes are inherently less robust in the event of electromagnetic interference than time-division multiplexing as the loss of the token requires the network to re-start a configuration process wherein the token is re-created. ARCNET has no propagation time correction mechanism and therefore would suffer significant data skew if a moderate number of nodes is used with a short cycle time.

IEEE Std 1394 1995 and prEN 1394b

This network is intended for multi-media applications and has a tree topology. The proposed 1394b version is to have both fiber and twisted pair copper layers, although neither has been reduced to practice to date. This network is proposed to operate at 100 Mbit/s or faster.

1394 is proposed to be cyclic, but not strictly cyclic. It is proposed to have a guaranteed rate for cyclic data but will delay transmission of the cyclic data depending upon network traffic. 1394 as proposed is restricted to an 8 kHz cycle rate, but rates of 16 kHz or more are required to update the torque/current demand in a motion control system. 1394b is proposed as full-duplex at the physical and data link layers but only half-duplex at the application layer. In other words, command and feedback data cannot be sent simultaneously. The proposed 1394 cannot operate as a ring and cannot operate all nodes in the event of a fault such as a broken cable. The proposed 1394 has auto-enumeration and node discovery but unfortunately these functions are `hot-pluggable` (i.e. the network is re-enumerated when a new node is plugged-in or removed). Therefore, the position of a node within the network cannot be reliably used to signify the axis of control since this position would change if another node were disconnected during operation. Proposed 1394 has no time-correction mechanism for dealing with the situation where a synchronization message is received at different times at different points in the network, and therefore would suffer significant data skew if a moderate number of nodes were used with a short cycle time. Existing 1394 and proposed 1394b can, however, correct for a delay in sending a synchronization message.

Ethernet--IEEE 802.3-1998

This general network is intended for data communications applications and has a tiered hub topology that operates at 100 Mbit/s and above. The point-to-point physical layer can be used to form the network in one embodiment of the present invention.

Ethernet has no inherent cyclic messaging. Ethernet also cannot be operated as a full-duplex ring and therefore has no means of operating all nodes after a link has been severed. No known implementation of an Ethernet network can report where such a fault has occurred, thereby automatic and remote fault diagnosis is prevented. Ethernet lacks an appropriate mechanism for auto-enumeration since it cannot assign node numbers on the basis of position. Ethernet is normally half-duplex; full-duplex operation introduces the expense, complexity, and temporal uncertainty of using switches. Ethernet lacks a time-correction mechanism.

2. Networks Designed Specifically for Motion Control

The technical details of many of these networks are proprietary, and only some have been disclosed to the public. Only two of these networks possess a bus speed of exceeding 10 Mbit/s as is required to meet the fairly modest objective of achieving an update rate of 8 kHz on four axes with a telegram size of only 19 bytes.

SERCOS

The concept of cyclic, time-domain multiplexed messaging originated with the SERCOS network and was subsequently codified as IEC 61491. SERCOS is implemented upon a single fiber optic ring, is half-duplex, and can operate at up to 16 Mbit/s. While this network is accepted for use in certain industry sectors such as machine tools and automotive assembly lines, it has several significant limitations.

In a network with more than a few nodes, the SERCOS bit rate of up to 16 Mbit/s substantially limits the network cycle time to a moderate 1 ms. This moderate network cycle time in turn dictates that the position feedback loop must be closed at the drive rather than centrally at the motion controller. SERCOS networks thus limit the feasibility of close inter-axis coupling (including centralized implementation of electronic gearboxes and cams) and on-the fly changes of trajectory. The moderate bit rate also limits the number of axes that may be attached to a network to around 16 when there are many applications that demand more than 16 axes. SERCOS does not work with a copper transmission medium, which significantly increases the cost and poses a problem in applications where the network medium must be routed through flexible trunking such as cable retractors. This is due to the fact that the long term flexure characteristics of fiber are poor. SERCOS furthermore does not operate after a link has been severed, nor does it report where a fault has occurred. Finally, SERCOS has no mechanism for auto-enumeration and relies on DIP switches to identify nodes.

MACRO

MACRO is a proprietary network introduced by Delta-Tau Inc. It uses the FDDI fiber-optic physical layer to transmit 100 Mbit data on a single optical ring. MACRO has a weak error detection mechanism based on a checksum--not a CRC. MACRO, according the March 1999 specification has no long-haul (100 m) copper medium. MACRO cannot operate in a tree topology or in the event of a fault and lacks node discovery and auto-enumeration capabilities. It is unclear whether MACRO has a time-correction mechanism and therefore may suffer significant data skew if an even moderate number of nodes were used with a short cycle time.

SUMMARY OF THE INVENTION

Accordingly, it is an object of this invention to provide a system for motion control, a method of using a system for motion control, and a computer readable medium storing instructions for operating a system for motion control that provides a motion control system with a reduced need for wiring while retaining centralized control of the motion system.

These and other objects of this invention are achieved according to the present invention by providing a novel system, a method of using the system, and a computer program product storing instructions for implementing a system for motion control. This system for motion control includes a central controller configured to generate first and second demand control signals defining actuation motion of respective first and second actuators; first and second nodes in communication with the central controller, each node including, at least a respective one of the actuators configured to implement at an actuator time an action based upon the respective demand control signal, and a memory configured to store at least one respective propagation delay parameter related to a signal propagation delay between the central controller and the node; a timing mechanism configured to establish timing at each node based on the respective propagation delay parameter so that the actuator times at the nodes occur simultaneously; and a data network configured to place the first and second nodes in communication with the central controller.

A node configured to be in communication with a central controller over a data network can thus include a delay correction memory configured to store a delay correction signal related to a propagation delay between the central controller and the node over the data network; and an actuator configured to implement a motion or force-related effort at an actuator time based upon the stored delay correction signal. A node configured to be in communication during operation with a central controller over a full-duplex data network can alternatively include a first receiver configured to receive a first signal transmitted along a first direction over the data network; a second receiver configured to receive a second signal transmitted along a second direction over the data network; and an actuator configured to implement an action based one of the received first signal and the second signal.

The operations of a plurality of actuators in a system for motion control can thus be synchronized by determining a respective propagation delay between a central controller and each actuator of the plurality of actuators; and timing operations of each actuator of the plurality of actuators based on the determined respective propagation delay for each actuator.

A plurality of nodes controlled by a central controller in a system for motion control can be autoenumerated by linking the central controller and the nodes in a network; transmitting a query message from the central controller in along the network; receiving the query message at a node of the plurality of nodes in the network; transmitting an answer message to the query message along the network from the node to the central controller, the answer message enumerating the node; receiving the answer message at the central controller; retransmitting the query message from the central controller along the network; relaying the retransmitted query message through the enumerated node to a further node; and transmitting a further answer message to the query message along the network from the further node through the enumerated node to the central controller, the further answer message enumerating the further node.

Moreover, the operations of a plurality of nodes in a ring network controlled by a central controller can be maintained in the event of a fault by transmitting first messages addressed to plural respective nodes in a first direction along said ring network; monitoring first reply messages transmitted by said plural nodes in a second direction along said ring network in response to the transmitted first messages; identifying, when first reply messages are not received from each node to which a first message was transmitted, a first subset of nodes from which said first reply messages are received, and based thereon, determining a second subset of nodes exclusive of said first subset of nodes, from which respective first reply messages were not received; transmitting in said second direction, when first reply messages are not received from each node to which a first message was transmitted, second messages addressed to respective nodes in said second subset of nodes; receiving second reply messages transmitted by respective of said nodes of said second subset of nodes in response to said second messages, said second reply messages traveling in said first direction along said ring network; transmitting in said first direction third messages addressed to said first subset of nodes; and transmitting in said second direction fourth messages addressed to said second subset of nodes.

Finally, a computer readable medium storing instructions for execution on a computer system, which when executed by a computer system, can cause the computer system to synchronize the operations of a plurality of actuators in a system for motion control, autoenumerate a plurality of nodes controlled by a central controller in a system for motion control, or maintain operations in the event of a fault of a plurality of nodes in a ring network controlled by a central controller as described above.

Further objects and advantages of our invention will become apparent from a consideration of the drawings and the technical description.

BRIEF DESCRIPTION OF THE DRAWINGS

A more complete appreciation of the invention and many of the attendant advantages thereof will be readily obtained as the same become better understood by reference to the following detailed description when considered in light of the following drawings, wherein:

FIG. 1 illustrates an exemplary one-axis motion control system;

FIG. 2 illustrates exemplary layers of the cascade control of a two-axis motion control system variation of FIG. 1;

FIG. 3 illustrates an exemplary system cabled in the ring topology;

FIG. 4 illustrates an example format of a network telegram;

FIG. 5 illustrates examples of different types of network telegrams in tabular format;

FIG. 6 illustrates an exemplary state diagram of a system for motion control;

FIG. 7 illustrates a simple exemplary undiscovered ring network;

FIG. 8 illustrates the transmission of an exemplary master query telegram during an exemplary network discovery;

FIG. 9 illustrates the transmission of an exemplary answer telegram during an exemplary network discovery;

FIG. 10 illustrates the transmission of an exemplary master assignment telegram during an exemplary network discovery;

FIG. 11 illustrates the transmission of an exemplary second answer telegram during an exemplary network discovery;

FIG. 12 illustrates the transmission of an exemplary port telegram during an exemplary network discovery;

FIG. 13 illustrates accessing of the next node in the chain with a second master query telegram during an exemplary network discovery;

FIG. 14 illustrates an exemplary timing process for determining an outward ring delay during an exemplary network discovery;

FIG. 15 illustrates an exemplary process of setting a RPTC of a first node during an exemplary network discovery;

FIG. 16 illustrates an exemplary confirmation of an RPTC by a first node during an exemplary network discovery;

FIG. 17 illustrates the transmission of an exemplary master query telegram in the reverse direction during an exemplary network discovery;

FIG. 18 illustrates an exemplary format of a Master Synch Telegram;

FIG. 19 illustrates an exemplary format of a Master Data Telegram;

FIG. 20 illustrates an exemplary format of an Amplifier Telegram;

FIG. 21 illustrates examples of outward messaging on a ring network that occurs during the operational phase;

FIG. 22 illustrates examples of inbound messaging on a ring network that occurs during the operational phase;

FIG. 23 illustrates examples of outbound messaging on a ring network that occurs under fault conditions during the operational phase;

FIG. 24 illustrates examples of inbound messaging on a ring network that occurs under fault conditions during the operational phase;

FIG. 25 illustrates an exemplary approach to network timing under fault conditions;

FIG. 26 illustrates a simple exemplary ring network;

FIG. 27 illustrates a timing diagram describing the synchronous operation of multiple nodes;

FIG. 28 illustrates another simple exemplary ring network used to describe scheduling (strict timing and free timing);

FIG. 29 illustrates outbound messaging in a tree network during the operational phase; and

FIG. 30 illustrates inbound messaging in a tree network during the operational phase.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Referring now to the drawings, wherein like reference numeral designate identical or corresponding parts throughout the several views, and more particularly to FIG. 2 thereof, wherein a generic two-axis control system with each element of the cascade is illustrated. Each of the regions 2A, 2B, 2C, 2D, and 2E represent elements of the control system. Namely, 2A illustrates an exemplary system host and man/machine interface, 2B illustrates a motion planning device, 2C illustrates an exemplary position control element, 2D illustrates an exemplary velocity control element (including a differentiator 24 on the feedback line), 2E illustrates an exemplary current/torque control element, and 2F illustrates an exemplary drive unit which may include, for example, a signal amplifier 26, the motor/actuator 27, and position, velocity, and/or acceleration transduction elements 28. Although the feedback to each of the control elements is shown as including a PID (Proportional Integral Differential) control 25, it is to be understood that various forms of digital compensation elements may be used. The actual digital compensation elements used will depend upon the position of the control element in the cascade and the control system application.

Moreover, some motion control systems operate by providing a series of discrete signals to the actuators. Examples of such signals are Step and Direction and Clockwise/Counterclockwise. In these systems, either no closed loop feedback is required, or the closed loop control is in the drive and the drive is controlled by discrete signals from the motion controller. These systems still have many of the elements of the cascade. Although the example of servo control systems is used for this invention, closed loop feedback is not an integral part of the invention, and the inclusion of discrete actuators using the invention is explicitly included.

Although each of the elements of the cascade are illustrated as discrete units in FIG. 2, modern implementations of control systems often combine one or more of these units. For example, as described in regard to FIG. 1, position 2C and velocity 2D control can be combined in a single controller. As a further example, the most common implementation of a motion control system is a "motion controller" that includes a program running on a central processor unit that, in some embodiments, may itself be in communication with a system host (such as a personal computer) that also supervises other machine control functions such as a vision system, a display, etc. for motion planning. In these systems, not only will all of the motion planning be carried out in the "motion controller," but at least a part of the cascade control structure will be implemented at the motion controller as well. The part of the cascade control implemented at the motion controller commonly includes either just the position control loop or both the position and velocity control loops, indicated in FIG. 2 as 2C and 2D, respectively. The highest performance existing motion controllers are formed by a dedicated motion control processor printed circuit card, with an associated motion programming interface, residing on the bus of a system host. The combination host/board level motion controller performs all of the tasks illustrated as units 2A, 2B, 2C, and 2D in FIG. 2. Such a motion controller is commonly referred to as a centralized motion control system because all motion planning decisions are taken centrally, all data is collected centrally and almost all control loops are closed centrally. Either of the units 2C or 2D of FIG. 2 thus represents the extent of the cascade control that is implemented at the motion controller. In a real centralized motion control system, the control signals are analogue or pulse demand signals that are sent from the motion controller to the drive, and position feedback signals are returned from the transducer 28 on the motor 27 (possibly routed via the drive).

Although these serve as the fundamental operational platforms of motion control systems in many thousands of operating machines, it is recognized that these platforms have many shortcomings. Firstly, the cost of the cabling (demand cable, feedback cable, and I/O cable plus connectors--in the whole amounting to 14 to 20 or more terminations), is quite high. The installation of the cabling, especially where the control signals for multiple axes are to be routed through a drag chain or cable retractor, is quite difficult and/or bulky. For example, drag chains are typically used when signals must be routed to a moving control element, such as the machine head suspended on an XY stage. The drag chain is thus often moved at high speeds. If the machine head (pick/place head, etc.) uses servo motors, the drag chain will have a large number of wires and will be quite inflexible and large. Furthermore, these motion control systems do not provide a mechanism for gathering data other than the transducer (position) feedback signal from the amplifier or motor. As yet another example of a problem in motion control systems, the distance between the motion controller and the drive is limited in practical terms.

For these and other reasons, there is a growing tendency towards the adoption of digital networks in motion control systems. A digital network, properly implemented, eliminates the need to route the 14 20 or more lines per axis from the motor/drive/position sensor to the host. Rather, one thin two-pair network cable connects all local control nodes to the host. The use of local nodes allows the 14 20 or more lines to be limited to the area immediately surrounding the motor. The reduction in wiring count and complexity is thus quite dramatic. Such a system is commonly referred to as a "distributed motion control system" in the literature although the term "networked control system" might be more accurate since networks can be used either to concentrate control functions at the center or to distribute them to the nodes.

Distributed motion control systems retain the fundamental cascade control structure, but insert a two line, digital communication path (e.g., a network) between at least two of the elements 2A, 2B, 2C, 2D, and 2E in FIG. 2. In the design of distributed motion control systems, there are many options regarding the location of the network in the cascade control system. The various locations may all achieve the same reduction in wire count, but result in significant differences in system design and performance.

The first common location of the network is between the units 2A and 2B of FIG. 2. In this case units 2B, 2C, 2D, 2E and 2F are divided-up (horizontally in the diagram) on a per-axis basis into separate networked drive units. Employing the network at this location transfers all of the cascade control for each axis to the drive itself together with the associated motion planning. The drives in the resulting control system are called "smart drives," and the network is employed to link the smart drives to the host (2A in FIG. 2). This arrangement can work satisfactorily provided that the motion planning, and indeed the cascade control, for each axis can be independent. In other words, there should be little or no need for inter-axis coupling (necessary, for example, to perform coordinated multi-axis moves) to enable use of this architecture. Since all of the high speed control loops are in the drives, there are no feedback signals transmitted across the network and a moderate bandwidth network is adequate.

However, many machines and manufacturing processes require tight inter-axis coupling to, for example, implement coordinated multi-axis moves, realize electronic gearboxes, change trajectories on-the-fly, and achieve time-optimal moves. Examples of such machines include a pick and place machine for electronic surface mounted components and machines used to process and to package semiconductors. In such cases, not only does the motion planning require simultaneous actions along more than one axis but the cascade control system may also pass terms from one axis to another (not indicated in FIG. 2 for reasons of clarity). Hence, it is often essential to retain the flexibility of a central motion controller.

There are other problems with implementing a multi-axis motion control system using multiple smart drives. A first problem is that, by transferring extra responsibility to the drives, extra hardware is added to each drive. This hardware includes, for example, not only extra processor(s) and memory, but also other features such as I/O and displays. Thus, on the system level, much of this hardware and its functionality is unused and/or redundant, but it still must be purchased and space must be provided at the drive. A second problem, which is indicative of recent developments in smart drives, is that it is necessary to write and maintain separate programs for each smart drive. Moreover, this must be done in the absence of a standardized programming environment for all drives. No longer are the familiar `C` (or other high level programming environment) compilers provided by the major vendors of board level controllers available, and in their absence there is no standardized method of communication with smart drives. Another significant disadvantage is that smart drives are more difficult to miniaturize than simple drives. This makes it difficult to achieve the optimum wiring reduction possible for a distributed motion system: no existing high performance smart drives are small enough to mount on a pick/place head for fast SMT machines and thus a smart drive would not lower the wire count in the drag chain for this application.

The case for retaining the concentration of control functions at the center in a multi-axis control system is thus compelling. A problem remains in that it is difficult to retain this centralized model yet adopt a network connection to the drives in order to achieve the desired wiring reduction because of the extra demands this places on the network.

The second common location of the network is between the units 2C and 2D or between the units 2D and 2E shown in FIG. 2. This location retains centralization of control functions and uses the network solely to achieve wiring reduction and data gathering. Employing the network at these locations places the network between the motion controller and the drives along the control cascade. Since the network is digital, the motion control system is in fact a sampled data system. The motion planner provides demands at a regular rate (typically a value in the range 1 to 4 kHz), the control loops in the cascade control system operate more quickly (typically 1 to 4 kHz for the position loop and 2 to 8 kHz for the velocity loop) and the current loop operates at 16 kHz or faster.

It is desirable in a sampled data system for the various elements to operate in synchronism so as to avoid the uncertainties that would be introduced by variable transport delays and in a networked sampled data system this means that there must be a common network time reference. One known method of generating a common network time is as follows: the motion controller emits a timing reference message at regular intervals and the receiving nodes then each use this signal to calibrate a local clock which is derived from a much higher local frequency source. This local clock is used as the timing reference for the PWM and any local control loops. Typically, the multiplication of the network timing reference is performed using phase locked loops. For this reason, strictly cyclic messaging is required since any jitter on the network timing reference will propagate into all of the dependent local clocks. Moreover, in a physically large network (or one where the messages pass through numerous repeaters), the propagation delay to the nodes may be significant and will differ from one node to another and this can introduce delays and therefore non-simultaneity into the node clocks.

FIG. 3 illustrates an exemplary network 30 for motion control according to the present invention that is cabled in full-duplex ring topology. The ring topology illustrated is cheaper than a tree because there is no requirement for a hub or extra ports at each node and is thus normally preferred. The physical layer of this network for motion control 30 can be based, e.g., upon known data transmission networks such as, for example, IEEE 802.3-1998, Clauses 24 26. IEEE 802.3-1998, Clauses 24 26 are in turn based upon ANSI X3.263-1995 and thus a choice of fiber or copper transmission media is offered. Such a physical layer is generally known as 100BASE-X, but the wiring topology does not follow IEEE 802.3-1998, Clauses 24 26.

The network for motion control 30 includes nodes (alternatively referred to as slaves) 32 and 34 of FIG. 3 that are connected by a network link 2 to each other on one side and to the master (motion controller) 36 on the other side by network links 1 and 3, as illustrated in FIG. 3. Further nodes can be added to the ring topology with further links. The addition of a further node will result in a node being connected only to the other nodes, and not with the master 36. The network 30 in this exemplary embodiment is strictly master-slave. The master 36 initiates all communication. The slave nodes 32 and 34 respond to the master 36, and do not communicate with one another. The master 36 can also broadcast to one or more of the nodes 32 and 34.

Each of the nodes 32 and 34 and the master 36 includes a P0 port 310, a Q port 320, at least one PHY ("physical entity") device 330, and a MAC ("medium access controller") 340A, 340B, or 340C. PHY devices 330 are attached to a transmission/reception port on one side and to the MAC 340 on the other. PHY devices 330 are part transceiver, part encoder/decoder and send and receive signals on a point-to-point link. PHY devices 330 thus operate at the level of bits and symbols and are available off-the-shelf either as silicon or as IP cores conforming to the appropriate standards of the selected physical layer that forms the ring network 30. The MAC's 340A, 340B, and 340C implement the digital logic responsible for exchanging messages with (typically) a processor on one side and the PHY 330 on the other. The MAC's 340A, 340B, and 340C operate at the level of symbols and messages. The master MAC 340C and slave MAC's 340A and 340B have different functionality.

The MAC devices 340A and 340B in the slaves act either as the originator of a message or they can repeat incoming messages. In the ring network 30, a message received at the PHY 330 on the Q port 320 is repeated through the PHY 330 at the P0 port 310 and a message received at the PHY 330 on the P0 port 310 is repeated through the PHY 330 at the Q port 320. The exemplary physical layer supports point-to-point links only, i.e., it cannot be wired as a bus and this is generally true of all physical layers than run faster than around 20 Mbit. Therefore, messages that are to be received by a node beyond the end of a given link must be conveyed through a repeater and re-transmitted. Since the network is full-duplex, a repeater is required for each direction.

The repeater function of the MAC devices 340A, 340B, and 340C is implemented using a FIFO in each direction (not shown). Aside from conveying telegrams to further nodes, the FIFO's achieve two other objectives. Firstly, they isolate the clock domain of the receiver from the local clock domain (which is also the transmitter clock). Secondly, they allow the inevitable slight differences in the transmit clock and receive clock frequencies to be tolerated without loss of data.

The required depth of the FIFO depends upon the maximum discrepancy between clock frequencies, the FIFO width (it is normally 4-bit wide, depending on the PHY devices) and the maximum packet size.

The final link in the ring network 30 is referred to as the return link 3. The return link 3 is largely redundant for operational traffic since the network 30, being full-duplex, allows unrestricted communication with all slaves 32 and 34 via the P0 port of the master 36. However, the return link 3 to the Q port of the master 36 is needed to allow the master 36 to verify that packets transmitted from the P0 port of the master 36 travel through the complete ring network 30 to the Q port of the master 36. Similarly, packets transmitted from the Q port of the master 36 will reach the P0 port of the master 36 via the ring network 30. In the event of a fault condition it is possible to infer the position of the fault by noting which messages fail to be received at the P0 port 310 and Q port 320 of the master 36.

The network links 1 and 3, the P0 port 310 and the Q port 320 are off-the shelf, commercially available items (PHYs, cabling, fibre, couplers/connectors). The PHY 330, the FIFO, and the MAC devices 340 can be implemented in an FPGA or other digital logic such as an ASIC. All functions including the automatic answer mechanism, the phase-locked loop to create the local clock, the FPTC/RPTC time correction mechanism, the detection of a severed link by a timer watchdog and subsequent use of the MTT instead of the MST are digitally realized.

In such a network system 30, the master 36 (motion controller) can perform current/torque feedback control of a motor or actuator node 32 and/or 34. For example, in a network system 30 for motion control with 16 axes, a 16 kHz update rate with a total telegram size of 24 bytes in each direction has a bit rate of at least 100 Mbit/s. This is within the capabilities of the network system 30 described above.

The network communication within the ring network 30 is in the form of short packets sent out from the master (motion controller) 36 at regular intervals to provide the demand signals, and short packets sent back from the nodes 32 and 34 to the master 36 at regular intervals to provide feedback and monitoring data. Not only must the regular intervals align with the control system loop rate at the point in the control cascade where the network 30 is inserted but a network time must be established so that all demands take effect simultaneously and all feedback is acquired simultaneously.

An example of a telegram 4 that would be transmitted from the master 36 is illustrated in FIG. 4. The telegram includes an address field 42, a control field 43, a data field 44, and a frame check sequence 45. The start of stream 41 and end of stream 46 delimiters delineate the telegram.

Each address field 42 can be used to identify the destination node (such as slave nodes 32 and 34 of FIG. 2) for the data in the telegram. Each slave node recognizes at least one slave address, namely the base address for that node. In some embodiments, a node may include more than one control entity such as, for example, a servo axis. In these cases, there is an additional network address for each additional control entity that is present at the slave node. The base address of a slave node can be assigned topologically during the node discovery process and the additional addresses for the additional control entities can sequentially follow the base address. For example, a network 30 consisting of two four-entity nodes can be enumerated [1, 2, 3, 4] at the first node and [5, 6, 7, 8] at the second node. In one embodiment, the address field is one byte long and its meaning (the address of the source node or the address of the destination node) varies according to the telegram type.

Each control field 43 can be used to indicate the type of telegram 4 being transmitted to the receiving node. Furthermore, it can also indicate how the address is to be interpreted. FIG. 5 enumerates examples of different types of network telegrams in a tabular format. For the sake of convenience, a naming convention can be adopted as illustrated in FIG. 5, where telegrams originating from the master start with M and those from the slaves start with A for amplifier. Different telegram types can also be associated with different operational states (otherwise referred to as phases) of the network for motion control. Naturally, other telegram types that perform additional functions or combinations of the functions described below can be added to extend the capabilities of the network, and this would be denoted in the control field 43. The specific telegram types illustrated in FIG. 5 are provided solely to further clarify some of the communication capabilities of the network according to the present invention.

Each data field 44 of the telegram 4 has a variable length and is used to communicate data between the master 36 and the nodes. This data can include, for example, actuator or actuated object position information for motion control, and the drive signals themselves. Given the state of the art in current physical layers, there are preferred limits on the length of the data fields 44, although it will be obvious to those skilled in the art that larger data fields 44 can be used as equipment is developed. The current limits are determined by, e.g., the efficacy of the frame check sequence and the depth of repeater FIFO's, as well as other economic and operational considerations. In a typical embodiment, 2048 bytes is considered practicable at the present time.

The frame check sequence 45 is used to identify errors in the telegram 4 that typically arise due to equipment malfunction and/or electrical interference. A frame check sequence suitable for use in the present invention is a 32-bit CRC according to IEEE802.3-1998 Clause 3.2.8, namely G(x)=x.sup.32+x.sup.26+x.sup.23+x.sup.22+x.sup.16+x.sup.12+x.sup.1- 1+x.sup.10+x.sup.8+x.sup.7+x.sup.5+x.sup.4+x.sup.2+x.sup.1 since this sequence is known to be compatible with the scrambler polynomial in the physical layer. As illustrated in the state diagram of FIG. 6, the network operation has two phases (or states), namely the discovery phase 60 and the operational phase 62.

The discovery phase 60 describes operations whereby the nodes (such as, e.g., node 32 and 24 of FIG. 3) are discovered and enumerated (e.g., assigned address and other network parameters) by the master 36. Communication during the discovery phase 60 is asynchronous and the slave normally sends a telegram in response to one received from the master 36.

On the other hand, the operational phase 62 is characterized by cyclic communication. For example, the master sends a timing telegram (e.g., the MST of FIG. 5) followed by the telegrams conveying the position/velocity/torque/current demands (MDT's) and the slave sends back status and feedback data as amplifier telegrams (ATs).

The exact time at which the telegrams such as the ATs and MDT's are sent must meet certain criteria for correct operation of the physical layer. However the relationship between the two can be freely chosen to meet application needs; for example the MDT could be sent before, after, or simultaneously with the AT for a given node. In one embodiment, all ATs and MDT's must be completed before the next MST so that timing can be updated regularly.

The discovery phase 60 always occurs prior to the operational phase 62, although an operational phase 62 can be interrupted to return the network to a discovery phase 60. Slave nodes are in the undiscovered state immediately following power-up. They can also be forced back into this state along path 600 by the master 36 sending out a hide packet (the MHT), after discovery of a fault, for example, at which time the slaves then propagate this packet throughout the network. A simple network ring 30 prior to the discovery process after power-up is illustrated in FIG. 7. At first the slaves 32 and 24 are undiscovered by the master 36 following power-up and are hence shown in dashed lines. In other words, the master 36 has not identified and/or enumerated the slaves 32 and 34. At this time, the master issues an MQT (master query telegram, illustrated in FIG. 8) from its P0 port over network link 1, as illustrated in FIG. 8. The first slave 34 in the network receives the MQT but, since slave 34 is undiscovered, slave 34 does not pass the MQT along. Instead, slave 34 replies with an AAT (amplifier answer telegram, illustrated in FIG. 9) that supplies the master 36 with certain information about the slave 34. This information is commonly the information that is required for operation of the network and would include, e.g., the number of slave addresses required by the node, the number and type of control entities, etc.

The delay between the transmission of the MQT the master 36 and the reception of the AAT by the slave 34 is repeatable to an uncertainty associated with the physical layer clocks. Hence by timing the delay between transmission of the MQT and reception of the AAT and then subtracting the known internal delay of the slave 34 when transmitting the MQT, the propagation delay caused by the cabling and the repeaters in any intervening nodes may be computed by automated means. The known internal delay of the slave 34 has two elements. The first arises due to the FIFO's of the slave 34. This is a fixed quantity, dependent on depth. The second is the time taken for the node to automatically respond to the MQT with an AAT. This is a fixed number of clock cycles for fully synchronous circuitry. Thus, the sole elements of uncertainty are the resolution of the governing clocks (master and slave) and too a lesser degree the drift and accuracy thereof. Nevertheless, this known internal delay is then used to calculate a forward path time correction factor (FPTC) for the particular node (such as node 32 in FIGS. 8 and 9). After a determination of the FPTC, the master then issues a MAT (master assignment telegram, as illustrated in FIG. 10) from its P0 port. The MAT thus assigns the lowest available network address to the slave 34 and sets the FPTC for slave 34. The slave 34 responds to the MAT with a further AAT (as illustrated in FIG. 11) to confirm that the address assigned by the MAT has been accepted by the slave 32. In FIG. 11 and in all further illustrations, slave 34 will be denoted as slave 34E to indicate that it has been enumerated.

After enumeration of slave 34E, the master 36 issues an MPT (master port telegram, as illustrated in FIG. 12) from its P0 port that activates the P0 port on slave 34E. This causes slave 34E to relay messages though its internal FIFOs, and thus it becomes possible to discover and enumerate further nodes on the ring network such as slave 32. This discovery and enumeration process proceeds for slave 32 as it did for slave 34E. It should be noted that when the MQT is transmitted through slave 34E to slave 32 (as illustrated in FIG. 13), the FPTC will include the delay caused by the repeaters of slave 34E. In all further illustrations, slave 32 will be denoted as slave 32E to indicate that it has been enumerated. Naturally, the discovery, enumeration, and configuration can be extended to more slave nodes than herein illustrated. For the sake of brevity and clarity in the figures, further slave nodes have been omitted.

In one embodiment, when all of the slaves in the ring have been discovered, enumerated, and configured it is determined if the ring is complete and the total time taken for the MQT to travel from the P0 port of the master 36 to Q port of the master 36 is measured (as illustrated in FIG. 14). The total delay time is then


Free Web Sudoku Puzzles.
Solve with your browser.
    5   6 3     8
  3   7 9       1
4                
    6 9         3
  5           2  
9         8 4    
                6
2       4 6   8  
6     8 5   7    
What is it?



Add Your Site · Terms Of Service · Privacy Policy


DISCLAIMER
Linkgrinder is a free service that searches the Internet and indexes all files found so that you may search quickly and easily for shared files. These files are created and made available individually by users whose identity we are not aware of and who we have no control over. In essence we function like a search engine tool; these files ARE NOT STORED OR SERVED BY OUR NETWORK. We are not responsible for any materials obtained by using our service. We do not monitor any of the contents of these files. These files may contain viruses, illegal materials, materials inappropriate for minors, offensive files and the like. BY USING OUR SERVICE, YOU ASSUME FULL RESPONSIBILITY FOR DOWNLOADING THESE MATERIALS AND WILL INDEMNIFY US FOR ANY DAMAGES THAT MAY BE INCURRED.

For More Specific Information VIEW OUR TERMS OF SERVICE.

Thank you and Enjoy!