Method and Apparatus for Communication between Analytic Modules and a Motor Drive

A method and system for communication between a motor controller and an analytic module includes a Single Pair Ethernet interface with power supplied over the two data lines. The analytic module, in turn, connects to a motor or other devices proximate the motor. The analytic module receives input signals from the motor or different types of sensors or devices. A processing unit in the analytic module may perform some initial processing on the incoming data. The processing unit is configured to transmit either the raw input signals or processed data via the Single Pair Ethernet connection back to the motor controller or to other controllers in the system with the motor controller acting solely as a pass-through gateway. The analytic module unit may be configured to transmit data at different update rates. One of the update rates may be synchronized to an update period in the motor controller.

BACKGROUND INFORMATION

The subject matter disclosed herein relates generally to a method and system for communication between analytic modules and a motor drive in a motion application and, more specifically, to a method and system for communication between a motor drive and the analytic modules via a single-pair Ethernet connection, where the analytic module is, in turn, in communication with the motor, load mounted devices, position feedback devices, or other sensors proximate the motor.

Electric motors are commonly utilized for controlling motion in industrial applications. Motors may be used to drive conveyor belts, winding equipment, robots, pick and place machinery, and the like. Electric motors are commonly paired with a motor drive, also referred to herein as a motor controller, and a position feedback device where the motor controller may include algorithms paired with the motor, and the position feedback device facilitates angular positioning of the motor.

Commonly, electric motors and motor controllers are incorporated into a larger controlled machine, system, or process. The controlled machine, system, or process may include a central controller, one or more distributed industrial controllers, and often multiple motors and motor controllers. The central controller may be a desktop computer located in a control room or in a remote facility. Optionally, the central controller may be an industrial computer, configured to operate in a harsh environment and located at the controlled machine, system, or process. The industrial controllers include processors and operating systems optimized for real-time control and are programmed with languages designed to permit rapid development of control programs tailored to a constantly varying set of machine control or process control applications.

An industrial control network is typically employed to facilitate communications between devices in the controlled machine, system, or process. The industrial networks are typically selected to exhibit high reliability and real-time communication. The industrial network may utilize protocols such as EtherCAT®, Ethernet/IP®, or Profinet® which have been developed for automation applications and include features such as a guaranteed maximum communication delay, low communication jitter, pre-scheduling of the communication capacity of the network, and/or providing seamless redundant communication capabilities for high-availability.

Historically, it has been known to install the network between controllers, such as the central controller and the industrial controller. Further, certain devices such as motor drives may be configurable, include a large parameter set, have sufficient processing capabilities, or the like such that they may include a network interface and are also connected to the industrial network. Other devices, however, such as motors, sensors, relays, and other actuators, provide input signals to or receive output signals from one of the controllers and perform fixed tasks in the controlled machine, system, or process. These devices are typically located remotely, and often at long runs, from the control cabinets in which the controllers are located. Wiring must be run between the control cabinets and each of the devices. Because of the expense of running network cabling to and providing network interfaces on every device, many of these devices are not connected directly to the network. The input and/or output signals are transmitted directly between one of the controllers and the device. Optionally, groups of signals may be routed to an intermediate location and pass through a gateway which is connected to the industrial network and which can convert the input and output signals from separate signals to data in a message packet to be transmitted via the desired industrial protocol for at least a portion of the distance between the controllers and the devices.

Traditionally, a motor controller has served as a gateway in the industrial network. The motor controller includes a network interface and is configured to communicate via the industrial network. The motor controller also communicates on a point-to-point basis to transmit and receive output and input signals with devices connected to the motor controller. The devices include, for example, a brake on the motor, a temperature sensor, a vibration sensor, or a position encoder mounted on the motor.

However, recent trends have been to include additional sensors on the motor or other load mounted devices to monitor operating conditions in the motor. The additional sensors may include, for example, vibration sensors mounted to the motor as disclosed in U.S. Pat. No. 9,673,685 to measure the vibration present on the motor. Temperature sensors may be mounted at different locations on the motor, encoder, gearbox, or the like to provide information on ambient conditions or to provide early detection of an impending failure in the motor. Torque transducers or accelerometers may be provided to measure performance of the motor.

The addition of these devices communicating with the motor controller requires additional wiring between each of the devices and the motor controller. The motor controller must also be configured to communicate with each device. Different communications protocols may be utilized by different devices, requiring the motor controller to accept each of the communication protocols. Certain communications are unidirectional, providing, for example, data from a sensor to the motor controller, but preventing, for example, configuration of the sensor by the motor controller. For devices that allow bidirectional communication, the communication is restricted to communication between the device and the motor controller and does not provide for extended communication between the device and other controllers over the industrial network. Further, the additional signals utilize processing bandwidth of the motor controller to sample each signal and to perform subsequent processing on the signal, such as storing the signal, converting the signal from an analog value to a digital value, packing the value of the signal into a data packet for transmission to the industrial controller, or the like as required by the application. Increasing complexity and more demanding performance requirements for control routines to control operation of the motor place competing demands on the resources of the motor controller.

Thus, it would be desirable to provide an improved method and system for communication between a motor controller and a motor or between the motor controller and devices mounted on or proximate to the motor.

BRIEF DESCRIPTION

According to one embodiment of the invention, a system for communication between a motor drive and at least one electronic device is disclosed, where the motor drive is operative to control a motor in an industrial control system. The system includes a first Ethernet communication interface in the motor drive and a second Ethernet communication interface in an analytic module. The first Ethernet communication interface is configured to receive a first end of a single-pair Ethernet cable, and the second Ethernet communication interface is configured to receive a second end of the single-pair Ethernet cable. Power is provided to the analytic module from the motor drive via the single-pair Ethernet cable. The analytic module also includes at least one input configured to receive a feedback signal from the at least one electronic device and a processor. The feedback signal corresponds to an operating state in the industrial control system. The processor is configured to receive the feedback signal from the at least one input, insert a value of the feedback signal in a data packet, and transmit the data packet to the motor drive via the single-pair Ethernet cable in real-time.

According to another embodiment of the invention, a method for communication between a motor drive and at least one electronic device is disclosed, where the motor drive is operative to control a motor in an industrial control system. A feedback signal is received from the at least one electronic device at an input to an analytic module. The analytic module is connected to the motor drive via a single-pair Ethernet cable, and the analytic module is configured to receive power from the motor drive via the single-pair Ethernet cable. The feedback signal corresponds to an operating state in the industrial control system. A value of the feedback signal is inserted in a data packet with a processor for the analytic module, and the data packet is transmitted to the motor drive via the single-pair Ethernet cable in real-time.

DETAILED DESCRIPTION

The subject matter disclosed herein provides an improved method and system for communication between a motor controller and a motor or between the motor controller and devices mounted on or proximate to the motor. An analytic module is provided for communication with the motor controller. To simplify wiring, a two-wire, Single Pair Ethernet interface with power supplied over the two data lines may be utilized between the analytic module and the motor controller. The Ethernet connection with power is referred to as Power over Ethernet (PoE). The power supplied to the analytic module via the PoE connection is used to energize the analytic module. Thus, the Single Pair Ethernet connection is sufficient wiring to both energize the analytic module and provide for communication between the module and the motor controller.

According to different embodiments of the invention, the analytic module may be configured to mount in different positions. According to a first embodiment of the invention, the analytic module is configured to mount directly to the motor drive. The analytic module includes an Ethernet plug that directly engages the socket on the motor drive and further includes at least one mechanical coupling, such as a screw, bolt, or other fastener that secures the analytic module to the motor drive. According to another embodiment of the invention, the analytic module may be configured to mount independently of other devices. The analytic module is enclosed within its own housing, where the housing includes mounting features, such as a slot configured to engage a rail, such as rail specified by the Deutsches Institut fur Normung (DIN), or holes through which bolts may pass to mount to a control panel or another surface on the controlled machine or process. According to still another embodiment of the invention, the analytic module is configured to mount to the motor controlled by the motor drive. The analytic module may be configured to mount to an end surface of the machine, a side or top surface of the machine, or within an existing housing on the machine. Each of the embodiments includes a connector on the analytic module configured to receive one end of the PoE cable, where the other end of the PoE cable is connected to the motor drive.

The analytic module is configured to receive input signals or input data from multiple different types of sensors or devices mounted on or around the controlled machine or process. According to one embodiment of the invention, the analytic module includes a primary encoder interface configured to receive data from a first encoder operatively mounted on the motor which provides information on the angular position of the motor. The analytic module may also include a secondary encoder interface configured to receive data from a second encoder. The second encoder may be mounted, for example, at a location along the output of the motor, a gearbox connected to the motor, or on the load and is used to verify operation of the motor and/or a mechanical coupling between the motor. Similarly, the second encoder may be coupled to and verify operation of an element of the controlled machine or process that is driven by the motor. The analytic module further includes at least one additional input. Each additional input may be a digital signal, an analog signal, or a serial input corresponding, for example, to a temperature, vibration, load torque, or other operating parameter being monitored by a sensor on the motor, gearbox, or located in proximity to the motor. The analytic module includes a sensor interface circuit configured to receive the input from each encoder and each additional sensor and transfer the input signals to a processing unit located within the analytic module.

The processing unit is configured to transmit the input signals back to the motor controller. Because the analytic module is connected to the motor controller via a two-wire, Single Pair Ethernet interface, the processing unit may assemble data received from the input signals into data packets for transmission. In addition, the analytic module may assemble the data packets according to the protocol present on the industrial network connected between the motor controller and an industrial controller or central controller present in the controlled system and transmit data directly to the industrial controller or central controller with the motor controller acting solely as a pass-through gateway allowing data packets to continue on along the industrial network without substantial processing within the motor controller. When data is transmitted directly from the analytic module to the industrial controller or central controller, a network interface located in the motor controller may handle all of the processing of the data packet without routing the data packet to the processor of the motor controller, thereby eliminating the processing burden for gateway functions from the processor of the motor controller.

The processing unit in the analytic module may also be configured to perform some initial functions on the incoming data. The analytic module includes memory and may store a number of data samples. The processing unit may, for example, assemble multiple samples for a single transmission to the motor controller or back to the industrial controller. The processing unit may be configured to perform some initial analysis of the data, for example, converting the raw encoder data to an angular position or angular velocity prior to transmitting the data. The processing unit may be configured to store a baseline value of a data signal or to store data over an extended period of time and monitor the input data for changes over time. By detecting a change over time, the processing unit may generate a signal indicating a failure of a device or generate a signal indicating preventive maintenance is required.

The processing unit may be configured to transmit data at different update rates. Raw data from the encoder, for example, may be utilized by the motor controller for real time control. This data from the encoder, or encoders, may be transmitted at a fast update rate. Other data, such as an input signal from a temperature sensor may not change rapidly. The processing unit may be configured to transmit this data at a slower update rate, where the slower update rate may be configurable and range from milliseconds to seconds or longer according to the application requirements. It is also contemplated that the processing unit may be configured to communicate with the motor controller to synchronize execution of one or more of the periodic updates in the analytic module with a periodic routine executing in the motor controller.

Turning initially toFIG.1, an exemplary industrial controller10is provided to control operation of an industrial machine or process. The illustrated industrial controller10includes a power supply module12, a processor module14, a communication module16, multiple input modules18, and multiple output modules20. A remote rack is connected to the industrial controller via an adapter module21. The adapter module21is connected to the communication module16via a network cable22and to still additional input and output modules18,20via a second backplane extending between the adapter module21and each of the input and output modules18,20mounted adjacent to each other. It is understood that the industrial controller10may include numerous different configurations. An industrial controller may include a rack or multiple racks in which modules are inserted. A backplane extends along the rack for communication between modules and an industrial network may be configured for communication between remote racks or other devices within the controlled machine or process. According to the illustrated embodiment, each module is mounted on a rail11, such as a DIN rail. A backplane is established via connectors on adjacent modules. Still other industrial controllers may include a fixed configuration, having a predefined processor, communication interface, inputs, and outputs. The illustrated industrial controller10is intended to be exemplary and not limiting.

The processor module14is configured to execute a control program or a series of different programs, in series, in parallel, or a combination thereof to achieve desired operation of the controlled machine or process15. Motion in the controlled machine or process may be achieved by controlling operation of one or more motors40with a motor drive30. Each motor drive30and the corresponding motor40to be controlled by the motor drive30are sometimes referred to as an axis of motion. The illustrated embodiment includes three axes of motion within the controlled machine or process15. The controlled machine or process15may include any number of axes of motion according to the application requirements. The control program executing in the processor module14may be configured to generate motion commands to achieve the desired operation of the controlled machine or process15. Optionally, one or more dedicated motion modules may be included in the industrial controller10to generate the motion commands. These motion commands are, in turn, transmitted to the motor controller30.

According to the illustrated embodiment, a network cable22is connected between the communication module16and each motor controller30across which the motion command may be transmitted. Optionally, the network cable22may be connected directly to the processor module14, or the network cable22may be connected to a motion module included in the industrial controller10. Each motor controller30includes at least one network communication port32. According to the illustrated embodiment, each motor controller30includes multiple communication ports. A first communication port32on a first motor controller30is connected to the communication module16, and a second communication port32on the first motor controller30is connected to a first communication port32on a second motor controller30. Still additional motor controllers30could be connected in a similar manner from the second communication port32of the second motor controller30, such that multiple motor controllers30may be connected in a daisy-chain configuration. A third communication port34on each motor controller30is connected to an analytic module70, as will be discussed in more detail below.

Each motor controller30is operatively connected to a motor40and is configured to control operation of the connected motor. According to the illustrated embodiment, each motor controller30receives power from a power source31. The power source31may be a multi-phase Alternating Current (AC) voltage, a single-phase AC voltage, or a Direct Current (DC) voltage according to the application requirements. The motor controller30converts the power received at the input to a desired voltage and/or current supplied at an output33to achieve desired operation of the motor40.

According to one embodiment of the invention, a pair of cables35,37may extend between the motor controller30and the motor40. A first cable35is a single-pair Ethernet cable and is utilized for communication between the motor controller30and the motor40. The first cable35is connected between one of the communication ports34on the motor controller30and the analytic module70. The second cable37is utilized for supplying the voltage from the output33of the motor controller30to the motor40.

According to another embodiment of the invention, a single cable (not shown) may extend between the motor controller30and the motor40. The single cable may be configured to include conductors for both the single-pair Ethernet and the output voltage. The single-pair Ethernet enters the analytic module70and the conductors for the output voltage are split out at the analytic module and provided to the motor40. The single pair Ethernet cable is configured to provide power for operation of the analytic module70via PoE on the single pair Ethernet cable.

Each motor40includes a stator and a rotor. In many applications, it is desirable for the motor controller30to have knowledge of an angular position of the rotor. A position feedback device46, such as an encoder or resolver, may be mounted to one side of the rotor, where the position feedback device46is configured to generate a position feedback signal corresponding to the angular position of the rotor. The other end of the rotor includes a drive shaft48, which may be connected to a drive assembly by which the controlled machine or process15operates. It is contemplated that the drive assembly may be a gearbox, a pulley, a drive chain, a ball screw, other drive members, or a combination thereof by which a desired motion in the controlled machine or process15is obtained as a result of rotation of the rotor within the motor40. In certain applications, such as robotic motion, it may be desirable to provide a second encoder at the output of the drive assembly where the second encoder may be operatively connected to an output drive member from the drive assembly. The second encoder may be used to verify an angular position of an end effector or tool located at the output of the drive assembly and the second encoder provides a second position feedback signal.

It is further contemplated that the motor40may include still additional devices80mounted on or proximate to the motor, where the additional devices80generate signals corresponding to operation of the motor40, the drive assembly, or of other aspects of the controlled machine or process. It is contemplated that the additional devices80may be sensors configured to measure, for example, temperature, angular acceleration, vibration, orientation, proximity, a level, an open or closed contact, and the like. One of the additional devices80may be, for example, a temperature sensor mounted in the body of the motor or outside the motor, where the temperature sensor is configured to generate a temperature feedback signal for the motor or of an ambient temperature, respectively. Each of the feedback signals proximate a motor40, including the position feedback signal, the second position feedback signal, if present, the temperature feedback signal, or any other feedback signals generated by other devices80mounted on or proximate to the motor40are provided to the analytic module70for subsequent transmission back to the motor controller30.

Turning next toFIG.3A-FIG.5, the analytic module70may take one of several different form factors. InFIG.3A, the analytic module70A is configured to mount directly to a motor drive30. The analytic module70A includes a plug71(seeFIG.3B) complementary to the communication port34on the motor drive. According to one embodiment of the invention, the plug71has an RJ45 form factor and is configured to establish a single-pair Ethernet connection between the motor drive30and the analytic module70A. Optionally, the plug71may have a form factor other than an RJ45 form factor to distinguish the single-pair Ethernet connection from a standard Ethernet connection. The communication port34, in which the plug71on the analytic module70A is inserted, is similarly configured to conduct via a single-pair Ethernet connection. The analytic module70A includes a pair of mounting holes73through which a screw or bolt may be inserted. Complementary openings39on the motor drive30align with the mounting holes73on the analytic module. A screw or bolt may be inserted through the mounting hole73and secured to the opening39on the motor drive30to hold the analytic module70A to the motor drive30. Optionally, captive screws or bolts may be provided with and retained by the analytic module70A. Still other methods of fastening the analytic module70A to the motor drive30may be utilized without deviating from the scope of the invention. The analytic module70A includes at least one socket75configured to receive a plug from a remote device80mounted proximate the motor40. According to still another option, the analytic module70A may include terminals77to which a cable from the remote device80may be connected.

InFIG.4, the analytic module70B is configured to mount to a DIN rail11. The analytic module70B includes a communication port79complementary to the communication port34on the motor drive30. According to one embodiment of the invention, the communication port has an RJ45 form factor and is configured to receive one end of a single-pair Ethernet cable connected between the motor drive30and the analytic module70B. The communication port34on the motor drive30is configured to receive the other end of the single-pair Ethernet cable. Optionally, one or more network devices, such as a switch, router, gateway, or the like may be connected between the motor drive30and the analytic module. The analytic module70B includes a mounting slot81on the rear of the module configured to engage the DIN rail11. Optionally, the analytic module70B may include mounting holes73similar to the embodiment illustrated inFIGS.3A,3B. The analytic module70B may then be mounted to a control panel at any location in the controlled machine or process15. The analytic module70B includes at least one socket75configured to receive a plug from a remote device80mounted proximate the motor40. According to still another option, the analytic module70B may include terminals77to which a cable from the remote device80may be connected.

InFIG.5, the analytic module70C is configured to be mounted directly to the motor40. The analytic module70C includes one or more connectors83configured for an industrial application. It is contemplated that the connector83may include a threaded exterior periphery. A complementary connector may plug in to the motor connector83, and a retaining ring on the complementary connector can screw on to the threaded exterior periphery to secure a cable to the motor. Optionally, the connector may include a gasket to provide an air or water tight seal with the connector. Still other form factors may be implemented according to the application requirements. One end of a single-pair Ethernet cable may be configured with the complementary connector such that the single-pair Ethernet connection is established from the motor drive30to the analytic module70C mounted on the motor40. In certain applications, it may be acceptable to provide a communication port having an RJ45 form factor as shown on the second embodiment of the analytic module70B. The communication port34on the motor drive30is configured to receive the other end of the single-pair Ethernet cable. Optionally, one or more network devices, such as a switch, router, gateway, or the like may be connected between the motor drive30and the analytic module. The analytic module70C is mounted to the motor40according to any suitable mounting configuration. The analytic module70C includes at least one socket75configured to receive a plug from a remote device80mounted proximate the motor40. According to still another option, the analytic module70C may include terminals in a manner similar to the embodiments ofFIGS.3and4to which a cable from the remote device80may be connected. According to yet another option, when the analytic module70C is mounted to the motor40, the application is well suited to embed one or more sensors, such as a vibration sensor or a temperature sensor, within the analytic module. The feedback signals may be provided directly from the sensor to the processor92in the analytic module70C.

Referring next toFIG.2, the processor module14includes a processor51in communication with a memory device50to execute an operating system program, generally controlling the operation of the processor module14, and a control program, describing a desired operation of the controlled machine or process15, where each control program is typically unique to a given application of the industrial control system. The processor module14communicates with adjacent modules via the backplane25extending between backplane connectors23. A clock circuit53is provided to generate a clock signal for the processor module14. It is contemplated that the clock circuit53in the processor module14may be a master clock module to which each of the other clock circuits in the control system are synchronized.

The network module16similarly includes a processor61in communication with a memory device60to execute instructions for operation of the network module. The network module16communicates with adjacent modules via the backplane25extending between backplane connectors23. The network module16includes a clock circuit63configured to generate a clock signal for the network module16. The network module16further includes a communication interface65configured to be connected to the industrial network. The communication interface65may include multiple communication ports, where each communication port may be identical and configured to communicate via a single industrial network. Optionally, the communication interface65may include communication ports having different configurations for different industrial networks. Network cables22configured for the desired industrial network are configured to connect to each communication port65. The communication port includes the physical elements of a communication stack to receive data from the network cables22and either pass data packets along the cables22to another device or to pass data packets up to the processor61. The processor61may also generate data packets and transmit the data packets back down through the communication interface65to the network cables22. The communication interface65provides for execution of low-level electrical protocols on the industrial control network. Similar communication interface circuits may be provided on other devices, such as the motor drives30or analytic modules70, to provide communication between devices.

Each motor drive30includes a control circuit89, which includes a microprocessor82and a program stored in memory84and/or dedicated control circuitry such as an application specific integrated circuit (ASIC) or field programmable gate array (FPGA). The control circuit89may include one or more dedicated processing devices, configured, for example, to control switching of power electric devices in a power segment88of the motor drive30to convert the voltage at the input31to a desired voltage at the output33of the motor drive30. The motor drive30includes a clock circuit86configured to generate a clock signal for the motor drive30. The motor drive30further includes a communication interface85configured to be connected to the industrial network. According to the illustrated embodiment, the communication interface85includes each of the communication ports32,34and provides for execution of low-level electrical protocols via any desired industrial protocol such as EtherCAT®, Ethernet/IP®, or Profinet®, DeviceNet®, ControlNet®, or CompoNet®. The communication interface85is configured to communicate with the analytic module70via a single-pair Ethernet connection.

The analytic module70includes a processor92in communication with memory94and is configured to execute a series of instructions stored in the memory94. The processor92may be a single processor, multiple processors, or multiple processing cores arranged on a single device. The processor92may be configured to execute a single series of instructions or multiple series of instructions asynchronously, synchronously, in series, or in tandem. The memory94may be a single device or multiple devices and includes at least a portion of non-volatile memory. The analytic module70also includes a communication interface96for managing communication with the motor controller30. According to one embodiment of the invention, the communication interface96is an Ethernet interface. Similarly, the communication port34on the motor controller30is an Ethernet port. If the network between the industrial controller10and the motor controller30is similarly an Ethernet network, or an industrial Ethernet network, data packets may be transmitted between the analytic module70and the motor controller30or between the analytic module70and other devices, such as the industrial controller10, connected to the network. The communication interface96may be an integral component of the processor92or, optionally, a separate communication interface96may be arranged on a common printed circuit (PC) substrate to which the interface96and processor92may be mounted. The communication interface96is configured to transmit and receive data packets over the network according to the protocol of the network, where the protocol is preferably an industrial network protocol.

According to one aspect of the invention, Ethernet connection between the analytic module70and the motor drive30is configured as a single-pair Ethernet connection with PoE. A power regulator97is provided in the analytic module and is configured to receive power from the communication interface96. The power regulator97may include one or more power regulator devices configured to receive a DC voltage injected on the single-pair Ethernet connection. The DC voltage injected may be in the range of 5 to 57 VDC and, preferably is in a range of 7-12 VDC. The power regulator97converts the input voltage to a desired output voltage, such as 3.3 VDC, 5 VDC, 24 VDC, or any other DC voltage required to energize electronic devices within the analytic module70. The DC voltages output from the power regulator(s)97are provided, for example, to the processor92, memory94, and other circuits within the analytic module70for operation.

The analytic module70further includes a clock circuit93and a sensor interface91. The clock circuit93generates a clock signal for use in the analytic module70. The sensor interface91is configured to receive each of the feedback signals provided to the communication module. The sensor interface91may include, for example, buffers to temporarily store values of the feedback signals or analog-to-digital converters to convert an analog feedback signal to a digital feedback signal. The sensor interface91includes circuitry and components to receive and process the feedback signals to a suitable form for the processor92.

In operation, the analytic module70provides an interface between one or more sensors/devices mounted on or proximate to the motor40being controlled by the motor controller30. Typically, a motor controller30has served as a final node in an industrial network. Position feedback data or data from other sensors/devices mounted on or proximate to the motor40are first transmitted to the motor controller30and then may be transmitted over the network. Similarly, if a sensor is, for example, a smart sensor with the ability to be remotely configured, the motor controller30must be configured to first receive the configuration packet and then a communication interface between the motor controller30and the sensor must be established to pass on the configuration data. Operating in such a capacity, however, places extra demands on the motor controller30. The motor controller30must be configured with additional inputs and outputs configured to receive or send signals with the devices mounted on or proximate to the motor40. Similarly, a portion of the processing bandwidth in the motor controller is required to serve as a gateway to receive the data feedback signals, package these signals into data packets, and transmit them to the industrial controller10. Dedicated wiring between each device and the motor controller30is also required. As the number of devices located on or proximate to the motor40increases, the number of conductors required increases, increasing the physical space required for wiring, reducing the flexibility of bundled wires, and increasing the potential for a wiring error to occur.

Inclusion of the analytic module70in the controlled machine or process15reduces the processing demands placed on the motor controller30and simplifies wiring between the motor40and the motor controller30. As illustrated inFIG.1, the wiring includes just a pair of cables35,37, with a single-pair Ethernet cable35connected between the motor drive30and the analytic module70and a power cable37extending between the motor controller30and the motor40. In some embodiments of the invention, the pair of cables35,37may be combined into a single cable. The single cable includes a pair of conductors for the single-pair Ethernet, the power conductors to the motor and a ground conductor. The single cable extends between the motor controller30and the analytic module70. For the on-motor embodiment, illustrated inFIG.5, all wiring between the motor controller30and motor40may be done via the single cable. If the analytic module70is mounted off the motor40as shown, for example, inFIG.4, the single cable extends between the motor controller30and the analytic module70. The single-pair Ethernet conductors are electrically connected to the communication interface96in the analytic module70and the power and ground conductors are electrically connected to a separate cable extending between the analytic module70and the motor40to provide voltage from the power segment88to the motor40.

Sensor cables69extend between a position feedback device46and other devices80located proximate the motor to the analytic module70. The analytic module70receives the feedback signals and transmits them back to the motor drive30, industrial controller10, or other processing device. The feedback signals transmitted by these sensor cables69are received at the sensor interface91. The feedback signals may be proprietary data packets, such as those generated by certain position feedback devices, or the feedbacks signals may be digital or analog signals corresponding to an operating state in the controlled machine or process15. The sensor interface91converts the feedback signals to digital values suitable for use in a digital processor and passes the signals to the processor92in the analytic module. The processor92in the analytic module70then samples a value of the feedback signal for transmission. The processor92may periodically sample values of the feedback signal and insert these values into data packets for transmission via the single-pair Ethernet connection in real-time. Optionally, the processor92may periodically sample multiple values of the feedback signal and package multiple values for transmission in a single packet. According to still another aspect of the invention, the processor92may be configured to perform some initial processing on the feedback signal. The processor92may, for example, filter the sampled values or convert the sampled value, for example, from a position feedback signal to a velocity feedback signal. The processor92may then insert the processed data into data packets for transmission back to the motor controller30or industrial controller. The analytic module70transmits the generated data packets to the motor controller30if the feedback signal, such as angular position of the motor, is intended for the motor controller30or may transmit the data packet back to the industrial controller10if the feedback signal, is needed for the control program executing in the processor module14of the industrial controller.

According to one aspect of the invention, each of the devices in the system have clock circuits synchronized with each other. Synchronization may be performed using, for example, the Precision Time Protocol (PTP) as defined in the IEEE-1588 standard. One clock circuit is defined as a master clock circuit or, preferably, as a grandmaster clock circuit and synchronized to an external time reference, such as a Global Positioning System (GPS). Once the master, or grandmaster, clock circuit has been synchronized, clock circuits in adjacent devices in the industrial network are synchronized to the master, or grandmaster clock circuit. An adjacent device in the industrial network does not refer to physical positioning, but rather is a device that is one communication hop away from another device along the industrial network. Successive devices along the industrial network are synchronized until all of the clock circuits have been synchronized. With reference, for example toFIG.2, the clock circuit53in the processor module14serves as the master, or grandmaster, clock circuit. The clock circuit63in the communication module16is synchronized to the clock circuit53in the processor module. The clock circuit86in the motor drive30is synchronized to the clock circuit63in the communication module, and the clock circuit93in the analytic module70is synchronized to the clock circuit86in the motor drive30such that all clock circuits are executing synchronously.

In a motion application, precise control of the motor40requires that the motor controller30receives the angular position of the motor40. In addition to receiving the angular position, the motor controller30must obtain the sampled value at precise intervals and, preferably, at a consistent time during the interval (i.e., without jitter). A control algorithm executing within the motor controller30similarly executes at the same interval as the angular position is sampled or at multiples of the interval. In a traditional control system, the position feedback signal is provided directly from the position feedback device46to the motor controller30. The motor controller30may, therefore, sample the position feedback signal at any time according to the requirements of the control algorithm executing in the motor controller30. However, because the position feedback signal is being transmitted to the motor controller30via the analytic module70, the motor controller30must coordinate with the analytic module70to obtain the angular position at a desired time interval.

With reference toFIGS.6A and6B, exemplary timing diagrams illustrate coordination of update periods between the motor controller30and the analytic module70.FIG.6Aillustrates two different periodic update intervals executing in the motor controller30. A first update interval102is slower and executes at a two millisecond interval. A second update interval104is faster and executes at a one hundred microsecond interval. The first update interval102may be configured to execute slower control loops, such as a position control loop or a velocity control loop. The second update interval104may be configured to execute a faster control loop, such as a current regulator. Still additional periodic update intervals as well as background execution of instructions may exist within the motor controller30according to the application requirements.FIG.6Billustrates one periodic update interval executing within the analytic module70. The first periodic signal106corresponds to the start of every periodic update interval. The second periodic signal108corresponds to a time within the periodic update interval at which data is transmitted from the analytic module70to the motor controller30.

According to one aspect of the invention, the motor controller30may provide the analytic module70an indication of the start of an update period at which it wishes the feedback signal to be sampled. The motor controller30transmits a start time and duration of the second update interval104in which the motor controller30requires position feedback data. The analytic module70may set its periodic update interval, corresponding to the first periodic signal106, equal in duration to the duration of the second update interval104for the motor controller30. Because the clock circuit93in the analytic module70is synchronized in time with the clock circuit86in the motor controller30, the analytic module70may also set the start point106of its periodic interval to coincide with the start point of the second periodic interval104in the motor controller30. Thus, the second periodic update interval104within the motor controller30may execute synchronously with the periodic update interval in the analytic module70. The analytic module samples the position feedback signal at the start of each update interval as indicated by the first periodic signal106. The analytic module packages the value of the feedback signal into a data packet and transmits the value of the feedback signal to the motor controller30at the time indicated by the second periodic signal108. Thus, the analytic module70may coordinate with the motor controller30for real-time control of the motor40.

According to another aspect of the invention, the analytic module70may store a timestamp corresponding to the time at which it samples the position feedback signal. The timestamp may be inserted into the data packet with the value of the position feedback signal. The motor controller30receives the timestamp and the position feedback signal. The motor controller30may use data from two sequential data packets to interpolate a value of the position feedback signal between two timestamps as a function of the values of the position feedback signals obtained at each timestamp.

According to another aspect of the invention, it is contemplated that other data in addition to the position feedback signal may need to be sent from the analytic module70to the motor controller30within each of the second periodic update cycles104of the motor controller30. In one application, a second position feedback device may be mounted to provide a check on the first position feedback device46or to verify operation of the mechanical drive train. The position feedback signal from the second position feedback device may similarly be sampled at the start of each cycle and both angular position values may be packaged into a data packet and transmitted to the motor controller30. In another application, it may be desirable for the motor controller30to have data from one or more of the sensors80mounted proximate to the motor at the same frequency as the angular position of the motor. A vibration sensor, for example, may be mounted to the motor and generate a feedback signal corresponding to vibration measured on the motor40. The value of the vibration feedback signal may be packaged within the position feedback signal in a data packet and transmitted to the motor controller30in tandem with the angular position. It is contemplated that the data to be sent in each data packet is configurable within the motor controller30, and the motor controller30can send an initial configuration packet, for example, during power up or during a commissioning process to configure the analytic module70to transmit the desired data accordingly at the periodic frequency during the second periodic update interval104.

According to still another aspect of the invention, it is contemplated that data transfer may be bidirectional between the motor controller30and the analytic module70. The motor controller30may transmit data at the first periodic interval102, the second periodic interval104, or at any other suitable interval according to the application requirements. The motor controller30may also generate data packets “on-demand” responsive, for example, to control signals received from the industrial controller10. As an exemplary application, the motor controller30may control operation of a brake on the motor40via serial communication. When the motor controller30receives a run command, the motor controller30, in turn, generates a data packet with a brake release signal. The analytic module70receives the data packet with the brake release signal and sets an output signal to the brake, causing the brake to open. A sensor may be provided as one of the remote devices80, where the sensor generates a feedback signal indicating whether the brake is open or closed. The analytic module70, in turn, inserts the feedback signal into a data packet for transmission back to the motor controller.

As discussed above, the analytic module70is configured to receive feedback signals not only from the position feedback device46but also from other devices80mounted on or proximate to the motor40. The motor controller30and/or the industrial controller10periodically requires values of the feedback signals. However, the timing for obtaining values of the other feedback signals is typically not as critical and/or does not require as frequent updates as a position feedback signal. The motor controller30, for example, may execute a routine which generates pulse-width modulation (PWM) signals to control operation of the motor40at a frequency in the range of two to twenty kilohertz (2-20 kHz) and some applications may require a PWM frequency even greater than twenty kilohertz. The exemplary application discussed herein may execute a PWM routine at ten kilohertz (10 kHz) or within the one hundred microsecond update period104. In contrast, the industrial controller10or the motor controller30may only require knowledge of other sensor feedback signals, such as the brake feedback signal or a motor temperature value, during each two millisecond interval102or at slower intervals such as five or ten milliseconds (5-10 msec). The analytic module70may then be configured to generate first data packets, including the position feedback signal at a first periodic interval106, which is synchronized to the corresponding update interval in the motor controller30and to generate second data packets, including the other feedback signals such as the brake feedback signal, at a second periodic interval, where the second periodic interval is longer than the first periodic interval. These feedback signals may also be requested on-demand by the industrial controller10or motor controller30. It is further contemplated that the on-demand messages may be used for configuration messages on power-up, parameter configuration, and other messages that may be sent infrequently or only when needed.

Turning next toFIG.7, in some embodiments of the invention, the analytic module70is configured to execute at least one control instruction in response to data received at the module. As previously discussed with respect to a brake control signal, the data may be transmitted from the motor controller30to the analytic module70. Optionally a feedback signal from one of the remote devices80may provide data used by the control instruction.FIG.7illustrates a segment of a ladder program115with two rungs illustrated. The first rung may include a compare instruction, a timer instruction, or the like, with at least one status bit. When the data received at the analytic module70indicates it is appropriate, a contact, serving as a first control instruction in the first rung, is closed and the instruction is executed. A status bit, set by the second instruction in the first rung, is used to set the contact, serving as a first control instruction in the second rung, which, in turns, sets an output. Optionally, the data may be used directly, such as the brake control signal to set the output. The output is set to an actuator120to achieve a desired function within the controlled machine or process15. According to one example, the actuator120may be a glue gun, configured to output a drop of glue on a product moving along a process line. Each product may pass the glue gun at exactly one revolution of the motor40. Thus, the position feedback signal is provided to a compare instruction and when the position feedback signal is equal to the desired angular position during each revolution, the output is set, causing the glue gun to output a drop of glue once per revolution of the motor40.