Automatic discovery and configuration technology
Automatically discover industrial automation equipment in linear motor systems through the network and map network communication attributes, generate configuration files to automatically control equipment operation, solve the problems of low configuration efficiency and high errors in the prior art, and achieve efficient and accurate equipment configuration.
Patent Information
- Application Number
- CN202210332557.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-04-06
- Filing Date
- 2022-03-31
- Publication Date
- 2025-06-10
- Estimated Expiration
- 2042-03-31
AI Technical Summary
The prior art is difficult to automatically discover and configure industrial automation equipment, especially in linear motor systems, resulting in low configuration efficiency and high potential errors.
Automatically discover industrial automation equipment in linear motor systems through the network, map their network communication properties to the system topology, and generate configuration files to automatically control device operations.
It realizes rapid discovery and configuration of automation equipment, improves configuration efficiency, reduces manual errors, and reduces the time and effort to generate configuration files.
Smart Images

Figure CN115208240B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure generally relates to systems and methods for automatically discovering and configuring industrial automation devices. More specifically, embodiments of the present disclosure relate to automatically discovering industrial automation devices in a linear motor system via a network and mapping corresponding network communication attributes of the industrial automation devices to the topology of the industrial automation devices in the linear motor system. Background Art
[0002] Linear motor systems are used in various industries such as manufacturing, filling, packaging, and material handling applications. For example, a linear motor system may include various industrial automation devices (e.g., track modules and corresponding motors) arranged and connected in a specific topology, where a moving component (e.g., a mover, a vehicle, or a puck) is positioned, accelerated, decelerated, and generally moved under the influence of a controlled magnetic field and an electromagnetic field. In such a system, a control system may coordinate the operation of the industrial automation devices in the linear motor system via a wired or wireless communication network. Therefore, it may be useful to improve techniques for automatically discovering industrial automation devices in a linear motor system and mapping or associating the network communication attributes of the discovered industrial automation devices to the topology of the industrial automation devices in the linear motor system to improve the efficiency of configuring, controlling, and operating industrial automation devices.
[0003] This section is intended to introduce to the reader various aspects of technologies that may be related to various aspects of the present technology described and / or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding of various aspects of the present disclosure. Accordingly, it should be understood that these statements should be read from this perspective and not as an admission of prior art. Summary of the Invention
[0004] An overview of certain embodiments disclosed herein is presented below. It should be understood that these aspects are presented merely to provide a brief overview of these particular embodiments to the reader and are not intended to limit the scope of the present disclosure. Indeed, the present disclosure may cover various aspects that may not be stated below.
[0005] In one embodiment, a non-transitory computer-readable medium includes computer-executable code that, when executed by at least one processor, causes the processor to perform operations including receiving topology information associated with a linear motor system. The linear motor system may include a plurality of track modules, each track module including one or more motors. The operations may further include automatically populating a profile having one or more property fields with one or more corresponding properties associated with each motor based on the topology information. The corresponding properties associated with each motor may include an identifier associated with the corresponding motor. The operations may further include associating one or more communication properties of the motor with one or more corresponding identifiers, automatically populating a profile having corresponding communication property fields associated with the motor based on the communication properties, and transmitting one or more commands to the motor based on the profile to control one or more corresponding operations.
[0006] In another embodiment, a method may include receiving topology information associated with a linear motor system including a plurality of track modules. Each track module may include one or more motors. The topology information may include one or more media access control (MAC) addresses associated with the motors. The method may further include: associating one or more Internet protocol (IP) addresses with the MAC addresses associated with the motors; generating a profile associated with the linear motor system based on the topology information and the IP addresses; and transmitting one or more commands to the motors based on the profile to control or adjust one or more operations of the motors.
[0007] In yet another embodiment, a non-transitory computer-readable medium includes computer-executable code that, when executed by at least one processor, causes the processor to perform operations including receiving topology information associated with a linear motor system from a computing device. The linear motor system may include a plurality of track modules, each track module including one or more motors. The operations may further include automatically populating a profile based on the topology information using one or more corresponding properties associated with each motor. The corresponding properties associated with each motor may include a media access control (MAC) address. The operations may further include: associating an IP address of each motor with the MAC address associated with each motor; automatically populating the profile using the IP address associated with the motor; and transmitting one or more commands to the motor based on the profile to control one or more corresponding operations. BRIEF DESCRIPTION OF THE DRAWINGS
[0008] These and other features, aspects, and advantages of the present invention will become better understood when the following detailed description is read with reference to the accompanying drawings, throughout which like reference numerals represent like parts, and in which:
[0009] Figure 1 A perspective view of an exemplary industrial automation system including a linear motor system according to one embodiment is shown;
[0010] Figure 2 A block diagram of an exemplary communication network according to one embodiment is shown, the communication network including a linear motor system, a network switch, and a control system that can be employed by Figure 1 the industrial automation system;
[0011] Figure 3 A block diagram of a Figure 1 and Figure 2 control system according to one embodiment is shown;
[0012] Figure 4 An exemplary debug tool graphical user interface (GUI) for generating a configuration file for a linear motor system according to one embodiment is shown;
[0013] Figure 5 A flowchart of a method for generating a configuration file for a linear motor system using the Figure 4 GUI according to an embodiment is shown;
[0014] Figure 6 A flowchart of a method for manually scanning or capturing network address information associated with each motor of a linear motor system and associating the network address information with an IP address assigned to each motor according to an embodiment is shown;
[0015] Figure 7A A first representation of an exemplary GUI for manually scanning or capturing network address information of a motor to be associated with an IP address assigned to the motor according to an embodiment is shown;
[0016] Figure 7B A second representation of an exemplary GUI of a Figure 7A according to an embodiment is shown; and
[0017] Figure 8 A flowchart of a method for automatically detecting a magnetic field associated with an energized motor and assigning an IP address to be associated with the MAC address of the energized motor according to an embodiment is shown. DETAILED DESCRIPTION
[0018] When introducing elements of various embodiments of the present disclosure, the articles "a", "an", "the", and "said" are intended to mean that there is one or more than one element. The terms "comprising", "including", and "having" are intended to be inclusive and mean that there may be other elements in addition to the listed elements. One or more specific embodiments of the embodiments described herein will be described below. To provide a concise description of these embodiments, not all features of an actual implementation may be described in the specification. It should be understood that in the development of any such actual implementation, as in any engineering or design project, numerous implementation-specific decisions must be made to achieve the developer's specific goals, such as complying with system-related and business-related constraints, which may vary from implementation to implementation. In addition, it should be understood that although such development efforts may be complex and time-consuming, they would still be a routine task of design, fabrication, and manufacture for those of ordinary skill in the art who would benefit from the present disclosure.
[0019] The present disclosure generally relates to techniques for automatically discovering industrial automation devices in a linear motor system via a communication network (e.g., Ethernet), and mapping or associating network communication attributes of the discovered industrial automation devices to a topology of industrial automation devices in the linear motor system. For example, a linear motor system may include various industrial automation devices (e.g., track modules and corresponding linear motors) arranged and connected in a specific topology to perform related operations. During operation of the linear motor system, a control system may coordinate the operation of industrial automation devices in the linear motor system via the communication network to move components of the linear motor system along a path provided by the linear motor system. For example, a moving component (e.g., a mover, a vehicle, or a disk) of the linear motor system may be positioned, accelerated, decelerated, and generally moved under the influence of a controlled magnetic field and an electromagnetic field.
[0020] To coordinate the operation of industrial automation equipment of a linear motor system via a communication network, a control system can generate a configuration file including various attributes of the industrial automation equipment and can subsequently send commands to the industrial automation equipment based on the configuration file to control the operation of the industrial automation equipment. For example, the configuration file can include the following attributes: an attribute that identifies each motor of each track module in the linear motor system, the relative positions of each motor in the linear motor system with respect to other motors, the orientation of each track module associated with each motor in the linear motor system, the media access control (MAC) address of each motor in the linear motor system, the Internet protocol (IP) address associated with each motor in the linear motor system, and the like. However, the control system may not be able to automatically determine such attributes of the linear motor system using the communication network. Thus, an operator may have to manually input information about each attribute of each track module and the corresponding motor into the control system or other suitable computing system to generate the configuration file. Since the linear motor system may include hundreds or thousands of motors, manually inputting such information to generate the corresponding configuration file may be time-consuming and pose a risk of potential errors when submitting the information.
[0021] Accordingly, embodiments of the present disclosure are directed to automatically discovering industrial automation equipment (e.g., track modules and corresponding motors) in a linear motor system and mapping or associating one or more communication attributes of the discovered industrial automation equipment to the topology of the industrial automation equipment in the linear motor system. For example, an operator can use a debugging tool graphical user interface (GUI) provided by the control system to automatically generate a configuration file associated with the linear motor system. The operator can submit topology information of the linear motor system to the control system via the debugging tool GUI. After receiving the topology information, the control system can automatically populate corresponding fields of the debugging tool GUI using the corresponding attributes of the track modules and the corresponding motors of the linear motor system. For example, the populated fields can include identifiers of each motor in the linear motor system, the positions of each motor in the linear motor system, the orientation of each track module associated with each motor in the linear motor system, and the like.
[0022] After the control system populates the fields of the debug tool GUI based on the received topology information, the control system can map or associate one or more communication attributes of each motor in the linear motor system to the corresponding identifier of the motor in the linear motor system. For example, the control system can map or associate the IP address of each motor to the MAC address of each motor. In some embodiments, the control system can map the IP address of each motor to the MAC address of each motor by prompting the operator to manually scan the MAC address of each motor one by one via a mobile device. In response to receiving the corresponding MAC address of the motor from the mobile device, the control system can assign the IP address to the motor and automatically populate the corresponding IP address field of the motor in the debug tool GUI.
[0023] In other embodiments, after the linear motor system has been powered on, the control system can assign a temporary IP address to each track module in the linear motor system. The control system can then transmit a signal to or receive a signal from the track module to map or associate the IP address to be assigned to each motor associated with the track module to the MAC address of each motor. For example, the control system can prompt the operator to manually move the mover (e.g., a vehicle or a disk) over each motor and the corresponding track module in the linear motor system, or the control system can automatically drive the mover over each motor and the corresponding track module in the linear motor system. As the mover traverses the motor, the motor of the corresponding track module can receive the magnetic field generated by the corresponding magnet array of the mover. The control system can then receive a signal from the magnetic field sensor of the track module associated with the traversed motor and automatically assign the IP address to the traversed motor, thereby populating the corresponding IP address field of the traversed motor in the debug tool GUI. Alternatively, the control system can selectively energize the corresponding set of coils of each track module of the linear motor system one by one to generate a magnetic field at each track module without using a mover. After a particular set of coils is energized, the sensors of the adjacent track pieces can detect the generated magnetic field and send a signal indicating the detected magnetic field to the control system. Based on the received signal, the control system can then assign the IP address to the motor associated with the adjacent track piece, thereby populating the corresponding IP address field of the motor in the debug tool GUI. The control system can then repeat this process at adjacent sets of motors (e.g., coils) until the IP address is assigned to each motor in the linear motor system.
[0024] After each motor in the linear motor system has been assigned an IP address, the control system can then optionally prompt the operator to submit orientation information about the motors in the corresponding fields in the commissioning tool GUI that have not been automatically populated, based on the received topology information. For example, certain types of motors and their corresponding track modules can have different orientations based on the path formed by the track modules in the linear motor system. Based on the direction of movement of the mover on a motor of a particular track piece, a straight track piece or a curved track piece can have a "standard" orientation or a "reverse" orientation in the linear motor system. In some embodiments, the control system can automatically detect the orientation of the track module via various detection processes of the magnetic field as described herein. After the operator has optionally submitted the orientation information about any remaining track modules and corresponding motors in the commissioning tool GUI, the control system can generate a configuration file for each motor based on the attributes populated in each set of fields in the commissioning tool GUI. Thereafter, the control system can utilize the configuration file to control the operation of one or more industrial automation devices of the linear motor system. In this way, generating the configuration file via the commissioning tool GUI can reduce the risk of potential errors that may result from the operator manually entering the corresponding information into the commissioning tool GUI and reduce the effort that the operator would spend manually entering the information. Additional details related to the above-described embodiments and other embodiments for automatically generating the configuration file will be discussed below with reference to Figures 1 to 8 Discuss additional details related to the above-described embodiments and other embodiments for automatically generating the configuration file.
[0025] In view of the foregoing, Figure 1 A linear motor system 10 is shown that can move an article or product around a track 12. As will be understood by those skilled in the art, in many applications, the linear motor system 10 can operate with other machines, robots, conveyor belts, control equipment, etc. (not shown) in overall automation applications, packaging applications, material handling applications, or other types of applications. The linear motor system 10 itself generally can include a "linear motor" as described below, where a moving component can be positioned, accelerated, decelerated, and generally moved under the influence of a controlled magnetic field and an electromagnetic field. In the illustrated embodiment, the track 12 can include a straight track module 14 (i.e., and its corresponding motor) and a curved track module 16 (i.e., and its corresponding motor). These modules generally can be independent and can be installed in various physical configurations, such as Figure 1 the oval shape shown in. It should be noted that other configurations are equally possible, as described below. This configuration can form closed loops of various shapes, but can also include end-open segments and / or steering tracks, such as a steering track or a rotating track (e.g., a revolving track).
[0026] The linear motor system 10 may also include one or more movers 18 (e.g., a vehicle or a disk) mounted to the track 12 and movable along the track 12. Control parameters regarding these movers 18 (e.g., position, velocity, acceleration, and higher-order derivative parameters) are controllable by appropriate control of the respective coils of the respective motors of the track modules 14, 16 of the linear motor system 10 that are energized and de-energized to achieve specific control parameter values. In the illustrated embodiment, the mover 18 interacts with fixed elements inside and around the periphery 20 of the track 12, although other configurations are conceivable. A sensor system 22 is provided to detect the position of the mover 18 around the track 12. Such a sensor system 22 may include a permanent magnet, an energized coil, a Hall effect sensor, an image sensor, a radio frequency identification (RFID) sensor, or any other suitable device that performs such detection. Generally, each mover 18 may include a first component of the sensor system 22, and each track module 14, 16 may include a second component of the sensor system 22. As described above, in one example, when the mover 18 traverses the respective motors of the track modules 14, 16, the second component of the sensor system 22 may detect the magnetic field generated by the mover 18.
[0027] Each mover 18 may include a mounting platform 24. In a practical implementation, various tools, holders, support structures, loads, etc. may be mounted to the mounting platform 24. The mover 18 itself may be different from those shown, e.g., a mover adapted to various loads. Although a horizontal configuration is shown in Figure 1 , other orientations may also be provided, such as the illustrated oval shape generally standing on one side or end, or standing at any angle between the two. For example, one or more movers 18 may be suspended on the track and / or may float above the track.
[0028] The linear motor system 10 may also include circuitry for controlling the movement of the mover 18. As Figure 1As shown, the circuit may include a drive circuit 26 that may provide signals to respective coils of the motors of each of the track modules 14, 16 and track modules 14, 16 (see below) to generate an electromotive force that may interact with the magnets on the track modules 14, 16, thereby driving the mover 18 to a specific position (e.g., moving along the surface of the track 12) at a specific speed, acceleration, etc. The drive circuit 26 may include an inverter circuit that uses power electronic switches to provide drive power to the respective coils of each module in a controlled manner. In some cases, the drive circuit 26 may be included in each individual track module 14, 16 and / or the mover 18, and signals may be provided from the power and control circuit 28 to the drive circuit 26. The power and control circuit 28 (and the drive circuit 26) may receive feedback from the mover 18 and / or from the sensor system 22 to detect the position, speed, acceleration, etc. of each mover 18. In certain embodiments, the mover 18 may also be identified by the power and control circuit 28 as being associated with respective axes of motion that are independently controlled but are coordinated with respect to their position, speed, and acceleration to avoid collisions, impacts, etc. The adjustment of their position, speed, and acceleration may be maintained as part of coordinated motion and / or coordinated industrial automation operations. Depending on the specific task to be performed, the specific motion trajectory implemented by the power and control circuit 28 may be achieved during the design and commissioning of the linear motor system 10.
[0029] In addition, various remote control and / or monitoring circuits (e.g., the control system 30) may be linked to the linear motor system 10 via one or more communication networks 32 (e.g., Ethernet). For example, each motor of each track module 14, 16 may communicate with the control system 30 via the communication network 32 through a network switch 34. Additionally, each motor of each track module 14, 16 may communicate with each motor of an adjacent track module 14, 16 via the communication network 32. As used herein, an "adjacent track module" may refer to track modules 14, 16 that are directly connected to the corresponding track modules 14, 16 in the downstream or upstream direction with respect to the track 12 of the linear motor system 10. For example, the communication network 32 may be implemented as a wired communication network or a wireless communication network, such as a local area network (LAN), a wide area network (WAN), etc. Additional details regarding the communication between each track module 14, 16 and the corresponding motor, network switch 34, and control system 30 via the communication network 32 are described in more detail. Figure 2 Additional details regarding the communication between each track module 14, 16 and the corresponding motor, network switch 34, and control system 30 via the communication network 32 are described in more detail.
[0030] The control system 30 can generally coordinate the operation of the linear motor system 10 with other automated components, machine systems, manufacturing and material handling machines, etc. As described above, according to one or more embodiments described herein, the control system 30 can automatically generate a configuration file associated with the linear motor system 10. For example, the control system 30 can generate a commissioning tool GUI and transmit it to one or more computing devices 36 (e.g., a laptop, desktop computer, or mobile device) via the communication network 32. Figures 4 to 8 Additional details regarding the debugging tool GUI are described in more detail.
[0031] The control system 30 may receive topology information and / or orientation information associated with each motor of each track module 14, 16 of the linear motor system 10 from the computing device 36 via the debugging tool GUI. In some embodiments, the topology information may include an identifier of each motor of each track module 14, 16 in the linear motor system 10, a position of each motor of each track module 14, 16 in the linear motor system 10, and an orientation of each track module 14, 16 associated with each motor in the linear motor system 10. In some instances, the topology information received by the control system 30 may not include information about the orientation of some or each of the track modules 14, 16 associated with each motor in the linear motor system 10. In such instances, orientation information about one or more track modules 14, 16 and corresponding motors may also be received from the computing device 36 via the debugging tool GUI. Reference Figure 2 Additional details regarding the orientation of each track module 14 , 16 and corresponding motors in the linear motor system 10 are described in greater detail.
[0032] The control system 30 may map or associate one or more communication properties (e.g., an IP address) of the motors of the track modules 14, 16 in the linear motor system 10 to a unique network identifier (e.g., a MAC address) of the motors of the track modules 14, 16 in the debugging tool GUI. In some embodiments, the control system 30 may receive a representation of the MAC address of a particular motor of the track modules 14, 16 in the linear motor system 10 from a computing device 36 or a scanning device (not shown). For example, the representation of the MAC address of the motors of the track modules 14, 16 may be manually scanned or captured by an operator via the computing device 36 (e.g., via a camera) or a scanning device (e.g., a barcode scanner or a quick response (QR) code scanner). The control system 30 may then map or associate the IP address to the MAC address of the motors of the track modules 14, 16 based on the received representation of the MAC address. Reference Figure 5 , Figure 6 , Figure 7A and Figure 7BAdditional details are described in more detail regarding manually scanning or capturing the MAC address of the motors of the track modules 14, 16 and subsequently associating an IP address with the MAC address of the motors.
[0033] In other embodiments, the control system 30 may transmit signals to or receive signals from the linear motor system 10 via the communication network 32 and the network switch 34 to map or associate an IP address to the corresponding MAC address of the motors of the track modules 14, 16. For example, the control system 30 may utilize magnetic field detection at a set of coils of the motors of the track modules 14, 16 to map or associate an IP address to the MAC address of the motors of the track modules 14, 16. In one embodiment, the operator may move the mover 18 over each motor of each track module 14, 16. As the mover 18 traverses the motors of the track modules 14, 16, the magnetic field sensors of the sensor system 22 may detect the magnetic field generated by the mover 18 and transmit a signal indicative of the detected magnetic field to the control system 30. The control system 30 may then map or associate an IP address to the MAC address of the traversed motors of the track modules 14, 16.
[0034] In another embodiment, the control system 30 may automatically drive the mover 18 over each motor of each track module 14, 16 via the drive circuit 26 and the power and control circuit 28. After the magnetic field sensors of the sensor system 22 detect the magnetic field generated by the mover 18, the magnetic field sensors of the sensor system 22 may transmit a signal indicative of the detected magnetic field to the control system 30. The control system 30 may then map or associate an IP address to the MAC address of the traversed motors of the track modules 14, 16.
[0035] In yet another embodiment, the control system 30 may send command signals to the corresponding coils of the motors of the track modules 14, 16 to selectively and / or independently energize the coils of the motors to generate a magnetic field. The magnetic field sensors at the adjacent track modules 14, 16 of the sensor system 22 may detect the generated magnetic field and transmit a signal indicative of the detected magnetic field to the control system 30. Based on the received signal, the control system 30 may then map or associate an IP address to the MAC address of the motors of the adjacent track modules 14, 16. Reference will be made to Figure 5 and Figure 8 Additional details are described in more detail regarding mapping or associating an IP address to the motors of the track modules 14, 16 by utilizing magnetic field detection at a set of coils of the motors of the track modules 14, 16.
[0036] It should be noted that although the foregoing descriptions of various implementations for mapping track modules are described as being related to MAC addresses, the implementations described herein should not be limited to MAC addresses. In fact, the implementations described herein can be applied to any suitable network address identifier, communication protocol, etc.
[0037] As described above, the track 12 of the linear motor system 10 can have a plurality of track modules 14, 16 that can be installed in various configurations. Figure 2 A block diagram 50 of a linear motor system 52 having track modules 60, 61, 62, 63, 64, 65, 66, 67 is shown, the track modules being installed in an oval configuration having an inner path 68 and an outer path 70 of a track 53. For example, the linear motor system 52 can include one or more movers (e.g., mover 18) that are mounted to the track provided by the track modules 60, 61, 62, 63, 64, 65, 66, 67 and can move along the track. As Figure 2 shown, the linear motor system 52 can include four curved track modules 60, 61, 62, 63, two straight track modules 64, 65, and two switch track modules 66, 67 that form the inner path 68 and the outer path 70 of the track 53. For example, the inner path 68 of the track 53 can include two curved track modules 60, 61, two straight track modules 64, 65, and two switch track modules 66, 67. The outer path 70 of the track 53 can include four curved track modules 60, 61, 62, 63, two straight track modules 64, 65, and two switch track modules 66, 67. Additionally, the curved track modules 60, 61, 62, 63 and the two straight track modules 64, 65 can have respective motors for driving the mover along respective portions of the inner path 68 and the outer path 70 of the track 53. The two switch track modules 66, 67 can have two or more respective motors for driving the mover along respective portions of the inner path 68 and the outer path 70 of the track 53. For example, the switch track module 66 can have a first motor that can drive the mover along a first portion 76 of the inner path 68 and a second motor that can drive the mover along a first portion 78 of the outer path 70.
[0038] Each motor of each track module 60, 61, 62, 63, 64, 65, 66, 67 of the linear motor system 52 can have a unique identifier, a position identifier, and an orientation in the linear motor system 52. For example, the unique identifier of the motor of the corresponding track module can include a MAC address, a serial number, a component type, a motor type, or a combination thereof. The position identifier of the motor of the corresponding track module can include a path identifier that indicates a specific path formed at least in part by the corresponding track module associated with the motor in the linear motor system 10. The position identifier of the motor can also include a motor identifier that indicates the relative position of the motor along a path formed at least in part by the corresponding track module in the linear motor system 52.
[0039] As Figure 2 shown, the first motor of the switch track module 66 (e.g., the motor that drives the slider along the first portion 76 of the internal path 68) can have a path identifier indicating the internal path (e.g., "Path ID: 1") and a position identifier indicating the position of the motor in the series of motors along the internal path 68 ("Motor ID: 1"). In addition, the second motor of the switch track 66 (e.g., the motor that drives the slider along the first portion 78 of the external path 70) can have a path identifier indicating the external path 70 (e.g., "Path ID: 2") and a position identifier indicating the position of the motor in the series of motors along the external path 70 (e.g., "Motor ID: 1"). Each other motor along the internal path 68 and the external path 70 can then have sequentially numbered path identifiers and motor identifiers (e.g., the motor of the curved track module 62 can have "Path ID: 2" and "Motor ID: 2", the motor of the straight track module 65 can have "Path ID: 1" and "Motor ID: 3" and / or "Path ID: 2" and "Motor ID: 5", etc.). Although the illustrated embodiment has been described with reference to the motor along the internal path 68 having "Path ID: 1" and the motor along the external path 70 having "Path ID: 2", it should be understood that in other embodiments, the motor along the external path 70 can have "Path ID: 1" and the motor along the internal path 68 can have "Path ID: 2". Similarly, the numbering of the position identifiers of each motor along the corresponding path (e.g., the internal path 68 or the external path 70) can start at any motor along the corresponding path. Figure 2 the illustrated embodiment, it should be understood that in other embodiments, the motor along the external path 70 can have "Path ID: 1" and the motor along the internal path 68 can have "Path ID: 2". Similarly, the numbering of the position identifiers of each motor along the corresponding path (e.g., the internal path 68 or the external path 70) can start at any motor along the corresponding path.
[0040] In addition, each of the track modules 60, 61, 62, 63, 64, 65, 66, 67 can have a specific orientation in which the track modules 60, 61, 62, 63, 64, 65, 66, 67 are arranged in the linear motor system 52. For example, the straight track modules 64, 65 can be of the same type of track module, but are differently oriented in the linear motor system 52 to form the track 53 of the linear motor system 52. As Figure 2 shown, the straight track module 64 can have a "standard" orientation in the linear motor system 52 (e.g., the mover is driven along the straight track module 65 in the downstream direction 72 relative to the linear motor system 52), or a "reverse" orientation in the linear motor system 52 (e.g., the mover is driven along the straight track module 65 in the upstream direction 74 relative to the linear motor system 52). Although some of the embodiments described herein are described with reference to movement around the track 53 in the downstream direction 72 as being clockwise around the track 53 and movement around the track 53 in the upstream direction 74 as being counterclockwise around the track 53, it should be understood that in other embodiments, movement around the track 53 in the downstream direction can be counterclockwise around the track 53 and movement around the track 53 in the upstream direction can be clockwise around the track 53.
[0041] As Figure 2As shown, each motor of each of the track modules 60, 61, 62, 63, 64, 65, 66, 67 can communicate with the control system 30 via the communication network 32 through the network switch 34. For example, the control system 30 can generally coordinate the movement of the mover around the track 53 of the linear motor system 52 by transmitting corresponding commands to the motors of each of the track modules 60, 61, 62, 63, 64, 65, 66, 67 of the linear motor system 52 via the communication network 32. In this way, the control system 30 can selectively energize and de-energize the corresponding coils of one or more motors of the track modules 60, 61, 62, 63, 64, 65, 66, 67 to coordinate the movement of the mover around the track 53. However, before communicating with the motors, the control system 30 determines certain attributes associated with the motors of the track modules 60, 61, 62, 63, 64, 65, 66, 67 to facilitate communication with the motors. For example, the control system 30 receives topology information associated with the linear motor system 10 from one or more computing devices (e.g., computing device 36) communicatively coupled to the control system 30. As described above, the topology information can include identifiers of each motor of each of the track modules 60, 61, 62, 63, 64, 65, 66, 67 in the linear motor system 52, the expected relative positions of each motor of each of the track modules 60, 61, 62, 63, 64, 65, 66, 67 in the linear motor system 52, and the orientations of each of the track modules 60, 61, 62, 63, 64, 65, 66, 67 associated with each motor in the linear motor system 52. In some embodiments, such topology information can be submitted to the computing device via a debug tool GUI provided by the control system 30. For example, the topology information can be included in a file created during the debugging of the linear motor system 52 and subsequently uploaded to the control system 30 via the debug tool GUI.
[0042] Based on the received topology information, the control system 30 can determine the identification of each motor in each of the track modules 60, 61, 62, 63, 64, 65, 66, 67 of the linear motor system 52. For example, the control system 30 can obtain information based on the topology information, including the number of motors in the linear motor system 52, the number of paths provided by the tracks 53 of the linear motor system 52, the number of motors along each path provided by the tracks 53, one or more interconnections between each pair of paths provided by the tracks 53, and the like. However, in order to communicate with the motors of the track modules 60, 61, 62, 63, 64, 65, 66, 67 in the linear motor system 52, the control system 30 can assign communication attributes (e.g., IP addresses) to each motor of the track modules 60, 61, 62, 63, 64, 65, 66, 67. As described herein, according to certain embodiments described herein, the control system 30 can map or associate IP addresses to the identifiers (e.g., MAC addresses) of each motor of the track modules 60, 61, 62, 63, 64, 65, 66, 67 via the communication network 32. Then, the control system 30 can generate a configuration file based on the topology information associated with the linear motor system 52 and the IP addresses of each motor of the track modules 60, 61, 62, 63, 64, 65, 66, 67. After generating the configuration file, the control system 30 can transmit corresponding commands to the motors of each track module 60, 61, 62, 63, 64, 65, 66, 67 based on the configuration file to coordinate the movement of the mover around the track 53.
[0043] In addition, each motor of each track module 60, 61, 62, 63, 64, 65, 66, 67 can communicate with each motor of each adjacent track module 60, 61, 62, 63, 64, 65, 66, 67 via the communication network 32. For example, each motor of each track module 60, 61, 62, 63, 64, 65, 66, 67 can be communicatively coupled to each adjacent track module 60, 61, 62, 63, 64, 65, 66, 67 via a wired communication network 32 or a wireless communication network 32. In certain embodiments, the communication network 32 can be an Ethernet-based communication network.
[0044] To perform some of the above actions, the control system 30 can include certain embodiments that facilitate these actions. Figure 3It is a block diagram of example components within control system 30. For example, control system 30 may include communication component 80, processor 82, memory 84, storage device 86, input / output (I / O) port 88, display 90, etc. Communication component 80 may be a wireless or wired communication component that may facilitate communication between control system 30 and linear motor systems 10, 52 (e.g., each motor of the track module, sensor system 22, etc.), between control system 30 and computing device 36, between control system 30 and drive circuit 26 via power and control circuit 28, etc. via network switch 34. Additionally, communication component 80 may facilitate data transmission to control system 30 such that control system 30 may receive topology information and orientation information from computing device 36, signals from linear motor systems 10, 52, etc.
[0045] Processor 82 may be any type of computer processor or microprocessor capable of executing computer-executable code. Processor 82 may also include multiple processors that may perform the operations described below. Memory 84 and storage device 86 may be any suitable article of manufacture that may serve as a medium for storing processor-executable code, data, etc. These articles of manufacture may represent computer-readable media (e.g., any suitable form of memory or storage device) that may store processor-executable code for processor 82 to execute the presently disclosed technology. Memory 84 and storage device 86 may also be used to store data, consumer models, various other software applications, etc. Memory 84 and storage device 86 may represent non-transitory computer-readable media (e.g., any suitable form of memory or storage device) that may store processor-executable code for processor 82 to execute the various technologies described herein. It should be noted that non-transitory merely indicates that the medium is tangible and not a signal.
[0046] I / O port 88 may be an interface coupled to other peripheral components such as input devices (e.g., keyboard, mouse), sensors, I / O modules, etc. Display 90 may be operative to depict a visualization associated with software or executable code processed by processor 82. In one embodiment, display 90 may be a touch display capable of receiving input from a user of control system 30. Display 90 may be any suitable type of display, such as a liquid crystal display (LCD), plasma display, or organic light-emitting diode (OLED) display. Additionally, in one embodiment, display 90 may be provided with a touch-sensitive mechanism (e.g., touchscreen) that may serve as part of a control interface for control system 30.
[0047] It should be noted that the components described above with respect to the control system 30 are exemplary components, and the control system 30 may include additional or fewer components as shown. Additionally, it should be noted that the computing device 36 may also include components similar to those described as part of the control system 30.
[0048] As described above, the control system 30 may generate a debug tool GUI (e.g., for visualization for display) and transmit it to the computing device 36, and an operator may use the debug tool GUI to automatically generate a configuration file associated with the linear motor system (e.g., linear motor systems 10, 52). For example, after generating the configuration file, the control system 30 may transmit corresponding commands to the motors of each track module (e.g., track modules 14, 16 or track modules 60, 61, 62, 63, 64, 65, 66, 67) based on the configuration file to coordinate the movement of the mover around the track (e.g., track 12 or track 53). Figure 4 An example visualization representing a debug tool GUI 100 for automatically generating a configuration file associated with a linear motor system is shown. An operator may submit topology information associated with the linear motor systems 10, 52 to the debug tool GUI, or upload topology information that may be used to populate the debug tool GUI. After the operator has submitted or uploaded the topology information (e.g., in the form of a text file, xml file, etc.), the control system 30 may automatically populate the corresponding property fields in the debug tool GUI 100 with the corresponding property values in the topology information.
[0049] As described above, the topology information can include an identifier of each motor of each track module in the linear motor systems 10, 52, a position identifier of each motor of each track module in the linear motor systems 10, 52, and an orientation identifier of each track module associated with each motor in the linear motor systems 10, 52. For example, the identifier of a motor can include a MAC address, a serial number, a component type, a motor type, or a combination thereof. The position identifier of a motor can include a path identifier indicating a specific path that is at least partially formed by the track module associated with the motor in the linear motor systems 10, 52. The position identifier of a motor can also include a motor identifier that indicates the relative position of the motor along the path that is partially formed by the track module associated with the motor in the linear motor systems 10, 52. The orientation identifier of a motor can indicate whether the track module associated with the motor has a "standard" orientation or a "reverse" orientation in the linear motor systems 10, 52. Based on the received topology information, the control system 30 can use the corresponding attribute values in the received topology information to populate the path identifier field 102, the motor identifier field 104, the alternative path identifier field 106, the alternative motor identifier field 108, the motor type field 110, the MAC address field 112, the orientation field 116, etc. in the debug tool GUI 100.
[0050] After populating the corresponding fields associated with the motor (e.g., fields 102, 104, 106, 108, 110, 112, 116) in the debug tool GUI 100 based on the received topology information, the control system 30 can map or associate the communication attribute (e.g., IP address) of each motor to the corresponding identifier (e.g., MAC address) of the motor. In some embodiments, the control system 30 can prompt the operator to manually scan the MAC address of each motor in a specific order via a mobile device communicatively coupled to the control system 30 based on the arrangement of the track modules. Then, the control system 30 can then map or associate the IP address assigned to each motor to the MAC address of each motor. In this way, each motor can be accessed by the control system 30 by means of the IP address mapped to the MAC address of the corresponding motor. In other embodiments, the control system 30 can use magnetic field detection at the corresponding group of coils of each motor to map or associate the IP address assigned to each motor to the MAC address of each motor. In any case, after associating the IP address of each motor to the MAC address of each motor, the control system 30 can automatically populate the corresponding IP address field 114 in the debug tool GUI 100 with the assigned IP address of each motor.
[0051] After the IP address fields 114 associated with each motor in the control system 30 are filled in the debug tool GUI 100, the operator can submit or upload additional orientation information about the motors to the corresponding orientation fields 116 in the debug tool GUI 100 that are not automatically filled based on the received topology information. In some embodiments, the operator can directly enter the attribute values about a particular motor in any corresponding attribute field (e.g., 102, 104, 106, 108, 110, 112, 114), or overwrite the attribute values in the corresponding attribute fields that have been automatically filled by the control system 30. In any case, after the attribute fields associated with each motor of the linear motor systems 10, 52 in the debug tool GUI 100 have been filled, the control system 30 can generate a configuration file based on the corresponding attribute values filled in the attribute fields associated with each motor of the linear motor systems 10, 52.
[0052] In view of the foregoing, Figure 5 FIG. shows a flowchart of a method 150 for generating a configuration file after receiving topology information associated with the linear motor systems 10, 52 and associating the corresponding IP addresses assigned to each motor of the linear motor systems 10, 52 with the corresponding MAC addresses associated with the motors. Although the following description of the method 150 is described in a particular order, it should be noted that the method 150 is not limited to the depicted order, but rather the method 150 can be performed in any suitable order. Additionally, although the method 150 is described as being performed by the control system 30, it should be noted that it can be performed by any suitable computing device.
[0053] As described above, the control system 30 can transmit corresponding commands to the motors of each track module of the linear motor systems 10, 52 to coordinate the movement of the movers around the tracks 12, 53. However, the control system 30 can first receive certain attributes associated with each motor of each track module to communicate with the motors. For example, the control system 30 can receive the IP address of each motor to transmit commands to the motors via the communication network 32 (e.g., an Ethernet-based communication network). Thus, the control system 30 can generate a configuration file based on the topology information associated with the linear motor systems 10, 52 received from one or more computing devices communicatively coupled to the control system 30 and each corresponding IP address assigned to each motor.
[0054] With this in mind and now referring to Figure 5, at block 152, the control system 30 may receive topology information associated with the linear motor systems 10, 52. For example, the control system 30 may provide a debug tool GUI to the computing device 36, and an operator may input or upload topology information via the debug tool GUI. In some embodiments, the topology information may be included in a text file, an XML file, etc. Such files may be generated during the debugging of the linear motor systems 10, 52.
[0055] As described above, the topology information may include an identifier for each motor of each track module in the linear motor systems 10, 52, a position identifier for each motor of each track module in the linear motor systems 10, 52, and an orientation identifier for each track module associated with each motor in the linear motor systems 10, 52. For example, the identifier for a motor may include a MAC address, a serial number, a component type, a motor type, or a combination thereof. The position identifier for a motor may include a path identifier indicating a particular path that is at least partially formed by the track modules associated with the motors in the linear motor systems 10, 52. The position identifier for a motor may also include a motor identifier that indicates the position of the motor along a path that is at least partially formed by the track modules associated with the motors in the linear motor systems 10, 52. The orientation identifier for a motor may indicate whether the track module associated with the motor has a "standard" orientation in the linear motor systems 10, 52 or a "reverse" orientation in the linear motor systems 10, 52.
[0056] After receiving the topology information, at block 154, the control system 30 may automatically populate the corresponding fields of the debug tool GUI with the corresponding known attribute values associated with each motor of the linear motor system based on the topology information. For example, the populated fields in the debug tool GUI may include a path identifier field, a motor identifier field, an alternative path identifier field, an alternative motor identifier field, a motor type field, a MAC address field, an orientation field, etc.
[0057] After the control system 30 fills certain fields of the debug tool GUI based on the received topology information, at block 156, the control system 30 may map or associate one or more communication attributes (e.g., IP address) of each motor to the corresponding identifier (e.g., MAC address) of the motor. As described in more detail below, in certain embodiments, the control system 30 may prompt the operator to manually scan the MAC address of each motor in a specific order via a mobile device communicatively coupled to the control system 30. The scanned MAC address may confirm the identity of the motor or track module with respect to the relative position of the motor or track module in the linear motor system 10, 52. Using the scanned MAC address, the control system 30 may then map or associate the IP address to each MAC address of each motor. In other embodiments, the control system 30 may utilize magnetic field detection at the corresponding set of coils of each motor to identify the relative position of each motor based on the MAC address of each motor and the corresponding detected magnetic field. In any case, the control system 30 may then associate the IP address of each motor to the MAC address of each motor. The IP address assigned to each motor may correspond to a specific order, arrangement, or position of the corresponding track module. After assigning the IP address to the corresponding motor, at block 158, the control system 30 may automatically fill the corresponding IP address fields associated with each motor in the debug tool GUI using the assigned IP address of each motor.
[0058] At block 160, the control system 30 may optionally receive orientation information regarding one or more motors from the computing device 36 via the debug tool GUI 100. For example, an operator may submit or upload additional orientation information regarding one or more motors to the respective orientation fields 116 of the debug tool GUI 100 that are not automatically populated based on the received topology information. In some embodiments, each track module associated with a motor in the linear motor systems 10, 52 may have a specific orientation set within the linear motor systems 10, 52. As described above, the track module may have a "standard" orientation within the linear motor systems 10, 52 (e.g., the mover is driven along the track module in the downstream direction relative to the linear motor systems 10, 52), or a "reverse" orientation within the linear motor system 10 (e.g., the mover is driven along the track module 65 in the upstream direction relative to the linear motor systems 10, 52). That is, certain types of track modules may be positioned within the linear motor systems 10, 52 in different directions to provide a path formed by the tracks 12, 53 of the linear motor systems 10, 52. For example, a straight track module may be used to drive the mover in the downstream direction along the tracks 12, 53, or the straight track module may be flipped and used to drive the mover in the upstream direction along the tracks 12, 53. A curved track module (e.g., having a 90-degree curve) may be set to provide a right turn in the tracks 12, 53 or a left turn in the tracks 12, 53. For example, a curved track module that provides a right turn in the tracks 12, 53 may be associated with the "standard" orientation within the linear motor systems 10, 52, and a curved track module that provides a left turn in the tracks 12, 53 may be associated with the "reverse" orientation within the linear motor systems 10, 52, and vice versa. In any case, if the orientation field regarding a particular motor in the debug tool GUI 100 is not automatically populated by the control system 30 based on the topology information received at block 154, the operator may submit such orientation information into the debug tool GUI 100.
[0059] At block 162, after receiving orientation information from computing device 36, control system 30 can then populate or update the orientation field 116 of the debug tool GUI 100 based on the received orientation information. At block 164, control system 30 can generate a configuration file based on the respective property values in the property fields associated with each motor of the linear motor system in the debug tool GUI 100. As described above, the configuration file can include respective properties that identify each motor of each track module in linear motor systems 10, 52, the position of each motor in linear motor systems 10, 52, the orientation of each track module associated with each motor in linear motor systems 10, 52, the MAC address of each motor in linear motor systems 10, 52, the Internet Protocol (IP) address associated with each motor in linear motor systems 10, 52, or a combination thereof. In this way, after generating the configuration file, control system 30 can refer to the configuration file regarding the IP addresses of the motors in order to transmit commands to the motors when coordinating the movement of the movers on tracks 12, 53 provided by linear motor systems 10, 52.
[0060] As described above, at block 156, control system 30 can associate one or more communication properties (e.g., IP address) of each motor with the corresponding identifier (e.g., MAC address) of the motor before generating the configuration file. In some embodiments, control system 30 can prompt the operator to manually scan the MAC address of each motor of linear motor systems 10, 52 via a mobile computing device 36 communicatively coupled to control system 30 and subsequently map or associate the MAC address received from mobile computing device 36. In view of the foregoing, Figure 6 A flowchart of a method 200 is shown for manually scanning or capturing the respective representations of the MAC addresses associated with each motor in linear motor systems 10, 52 and mapping or associating the MAC addresses to the respective IP addresses assigned to each motor. Although the following description of method 200 is described in a particular order, it should be noted that method 200 is not limited to the depicted order, but rather method 200 can be performed in any suitable order. Additionally, although method 200 is described as being performed by control system 30, it should be noted that it can be performed by any suitable computing device.
[0061] At block 202, the control system 30 may receive an input indicating the association of the MAC addresses of the motors of the linear motor systems 10, 52 with the respective IP addresses to be assigned to each motor. In one embodiment, an operator may select an option within the debug tool GUI 100 to provide an input to the control system 30 to begin the process of manually scanning each MAC address of each motor. In another embodiment, after the control system 30 automatically populates the respective fields of the debug tool GUI 100 based on the topology information received from the computing device 36 (e.g., at the block 154 of Figure 5 ), the control system 30 may automatically prompt the operator to begin the process of manually scanning each MAC address of each motor. For example, the control system 30 may transmit a command to the computing device 36 to display, via the debug tool GUI, a notification to begin manually scanning the first MAC address of the motors of the linear motor system, or the control system 30 may transmit a command to the mobile computing device 36 associated with the operator to begin manually scanning the first MAC address of the first motor of the linear motor system.
[0062] In any case, at block 204, the control system 30 may receive a representation of the MAC address associated with the first motor of the linear motor systems 10, 52. For example, the representation of the MAC address of the motor may include a text representation of the MAC address displayed in a suitable area of the track module associated with the motor or a suitable area of other components of the linear motor systems 10, 52, a bar code indicating the MAC address, a quick response (QR) code indicating the MAC address, etc. The operator may use the mobile computing device 36 (e.g., a smart phone, a tablet computer, a laptop computer, a bar code scanner, a two-dimensional code reader, etc.) to scan, capture, or otherwise obtain the representation of the MAC address associated with the first motor.
[0063] After receiving a representation of the MAC address associated with the first motor, at block 206, the control system 30 may assign an IP address to the first motor, and at block 208, the control system 30 may automatically populate the IP address attribute associated with the motor in the debug tool GUI 100. For example, based on the received representation of the MAC address associated with the first motor, the control system 30 may identify the corresponding IP attribute field in the debug tool GUI 100 associated with the first motor. The control system 30 may then update the corresponding IP attribute field in the debug tool GUI 100 to indicate the assigned IP address. In one embodiment, the control system 30 may assign a static IP address to the first motor, which remains the same regardless of whether the first motor is communicatively connected to the communication network 32. In another embodiment, the control system 30 may assign a dynamic IP address to the first motor, and if the first motor is replaced or removed from the linear motor systems 10, 52, the dynamic IP address may be re-assigned to a different motor.
[0064] After the control system 30 has populated the IP address attribute field in the debug tool GUI 100 associated with the first motor, the control system 30 may optionally repeat the steps of blocks 202 to 208 until the control system 30 has assigned an IP address to each motor of the linear motor systems 10, 52 by populating the IP address attribute fields associated with the motors in the debug tool GUI 100 and associated the assigned IP addresses with the MAC addresses of the motors. After the control system 30 has populated the IP address attribute fields in the debug tool GUI associated with each motor of the linear motor systems 10, 52, the control system 30 may optionally perform the steps at blocks 160 and 162 described above with reference to Figure 5 before proceeding to generate the configuration file at block 164.
[0065] In view of the foregoing, Figure 7A and Figure 7B shows a GUI 250 of a mobile device application that an operator may use to manually scan or capture the MAC address of each motor in the linear motor systems 10, 52. Figure 7A shows a GUI 250 that may be displayed on the mobile computing device 36, which includes an optional option 251 that may initiate the process of manually scanning the MAC address of a specific motor in the linear motor systems 10, 52. For example, the control system 30 may receive an input indicating the selection of the option 251 and listen for or be ready to receive a subsequent input from the mobile computing device 36 identifying the specific motor associated with the MAC address to be scanned by the mobile computing device 36.
[0066] Figure 7B shows the GUI 250 after the operator has selected option 251 in the GUI 250 illustrated in Figure 7A . Although Figure 7A and Figure 7B are described herein as a series of representations of the GUI 250 displayed by the mobile computing device 36, it should be understood that in some embodiments, the GUI 250 may be directly displayed Figure 7B the GUI 250 shown, without first receiving Figure 7A the selection of option 251 in the GUI 250 shown. Now referring to Figure 7B , the GUI 250 may display a path identifier field 254 and a motor identifier field 256, which allow the operator to specify the identification of the motor associated with the MAC address to be obtained by the mobile computing device 36. For example, before the operator scans or captures the physical MAC address 252 displayed on a suitable area of the track module associated with the motor or another suitable area of the linear motor system, the operator may input the path identifier attribute associated with the motor into the path identifier field 254 in the GUI 250, and input the motor identifier attribute associated with the motor into the motor identifier field 256 in the GUI 250. In this way, the control system 30 can quickly and accurately identify the respective fields associated with the motor in the debugging tool GUI 100 (e.g., the MAC address field and the IP address field) to be filled based on the representation of the physical MAC address 252 received from the mobile computing device 36.
[0067] After the operator has specified the corresponding path identifier attribute and the corresponding motor identifier attribute associated with the motor, the operator may use the mobile computing device 36 to scan or capture the physical MAC address 252 associated with the motor. As described above, the mobile computing device 36 may include a smart phone, a tablet computer, a laptop computer, a barcode scanner, a QR code reader, etc. As Figure 7B shown, the GUI 250 may present an image 258 of the area of the track module or the linear motor system 10, 52 on which the physical MAC address 252 is displayed. After the mobile computing device 36 has obtained an image or a representation of the physical MAC address 252, the mobile computing device 36 may process the image or the representation and fill the MAC address field 260 with the corresponding MAC address in the GUI 250. In some embodiments, the MAC address filled in the MAC address field 260 may be edited by the operator (e.g., if the filled MAC address does not correspond to the physical MAC address 252). In other embodiments, the MAC address field 260 may be fixed, such that the operator may re-scan or re-capture the MAC address to edit the MAC address filled in the MAC address field 260.
[0068] After the acquired MAC address associated with the motor has been filled into the MAC address field 260, the control system 30 can receive the acquired MAC address from the mobile computing device 36. In some embodiments, the mobile computing device 36 can transmit the acquired MAC address to the control system 30 substantially at the same time that the mobile computing device 36 fills the MAC address field 260 with the MAC address. In any case, after receiving the MAC address associated with the motor, the control system 30 can assign an IP address to the motor and transmit an indication of the assigned IP address to the mobile computing device 36. After the mobile computing device 36 has received the assigned IP address, the mobile computing device 36 can automatically fill the IP address field 262 of the GUI 250.
[0069] In some embodiments, the control system 30 can automatically fill the corresponding IP address field in the debug tool GUI 100 after assigning an IP address to the motor. In other embodiments, the control system 30 can fill the corresponding IP address field after receiving from the mobile computing device an indication that the operator has confirmed that the information submitted and / or filled in the GUI 250 is correct input (e.g., via selection of option 264). In any case, the operator can use the GUI 250 to specify additional motors associated with the respective MAC identifiers to be acquired by the mobile computing device 36 (e.g., via the path identifier field 254 and the motor identifier field 256). In this way, after receiving a scan or capture indication of the MAC address of the additional motor, the control system 30 can assign an additional IP address to the additional motor.
[0070] To reduce the time and manual effort for generating the configuration file, in certain embodiments, the control system 30 can use magnetic field detection at the respective group of coils of each motor to automatically map and associate the IP address to be assigned to each motor to the MAC address of each motor in the linear motor systems 10, 52. In view of the foregoing, Figure 8 A flowchart of a method 300 for detecting a magnetic field at a group of coils associated with an energized motor and assigning an IP address to be associated with the MAC address of the energized motor is shown. Although the following description of the method 300 is described in a particular order, it should be noted that the method 300 is not limited to the depicted order and that the method 300 can be performed in any suitable order. Further, although the method 300 is described as being performed by the control system 30, it should be noted that it can be performed by any suitable computing device.
[0071] At block 302, the control system 30 may receive topology information associated with the linear motor systems 10, 52. For example, the topology information may describe the specific sequence, arrangement, or position of each track module in the linear motor systems 10, 52. In certain embodiments, such topology information may be received by the control system at block 152 of the method 150 shown in Figure 5 After receiving the topology information, the control system 30 may receive corresponding communications from each track module of the linear motor systems 10, 52 after the track modules have been powered on and connected to the communication network 32. For example, communications may be received from the corresponding IP addresses associated with the track modules connected to the communication network 32. In certain embodiments, such IP addresses may be dynamically assigned to each track module when connected to the communication network 32 or predefined for each track module. Each communication may indicate to the control system 30 that the corresponding track module of the linear motor systems 10, 52 has been connected to the communication network 32. In this way, the control system 30 may identify the available track modules in the linear motor systems 10, 52 such that the corresponding desired IP addresses may be assigned to each identified track module in the configuration file.
[0072] At block 306, the control system 30 may send commands to the first track module via the IP address assigned to the track module at block 304. For example, the control system 30 may transmit signals via the communication network 32 to the first track module to identify each motor associated with the track module. In one embodiment, the control system 30 may prompt an operator to manually move the mover on the first track module of the linear motor systems 10, 52. As the mover traverses the linear motor systems 10, 52, each motor associated with the first track module may receive a magnetic field generated by the corresponding magnet array of the mover. Sensors associated with the traversed track module (e.g., magnetic field sensors, voltage sensors, or electric field sensors) may then detect the generated magnetic field and send a signal (e.g., magnetic field or electric field data) indicating the detected magnetic field to the control system 30.
[0073] In another embodiment, the control system 30 may automatically drive the mover on each track module of the linear motor systems 10, 52. For example, after the mover is placed on the first track module of the linear motor systems 10, 52, the control system 30 may transmit commands to the first track module to energize one or more corresponding sets of coils associated with the first track module. As the mover traverses each motor of the first track module, the magnetic field generated by the mover is affected by the traversal of the mover over the motor. Sensors associated with the traversed track module (e.g., magnetic field sensors, voltage sensors, or electric field sensors) may then detect the generated magnetic field and send a signal (e.g., magnetic field or electric field data) indicating the detected magnetic field to the control system 30.
[0074] Alternatively, the control system 30 can transmit commands to the track modules to energize a set of coils associated with the track modules without driving the mover. For example, each track module of the linear motor systems 10, 52 can have a set of coils disposed near sensors (e.g., magnetic field sensors or voltage sensors) within the adjacent ends of adjacent track modules. After a particular track module energizes a set of coils in response to a command received from the control system 30 to generate a magnetic field, sensors within the adjacent track module can detect the generated magnetic field and transmit a signal (e.g., magnetic field or electric field data) indicating the detected magnetic field to the control system 30.
[0075] After receiving a signal indicating a magnetic field at block 308, the control system 30 can automatically assign a desired IP address to the energized motor or the motor associated with the energized coils at block 310. For example, the control system 30 can refer to the received topology information to determine the identity of the motor based on the identity and location of the track module and the received signal (e.g., the position of the motor relative to the sensor that transmitted the signal). In this way, the control system 30 can determine the sequence, arrangement, or position of the motor relative to the other motors in the linear motor systems 10, 52.
[0076] In some embodiments, the control system 30 can assign IP addresses to the motors based on a predefined list of IP addresses or numerically ordered IP addresses. For example, the control system 30 can assign the next available IP address in the list to the motor. In other embodiments, the IP address assigned to the motor can be based on a randomly generated IP address. In any case, the IP address assigned to the motor can be any suitable IP address compatible with the communication network 32. After assigning the IP address to the motor at block 310, the control system 30 can automatically populate the IP address field associated with the motor in the debug tool GUI 100 with the assigned IP address.
[0077] Regarding each of the above-described embodiments, the control system 30 can optionally repeat the steps of blocks 306 to 312 until the control system 30 has assigned an IP address to each motor of the linear motor systems 10, 52 by populating the IP address property fields associated with the motors in the debug tool GUI 100 and associated the assigned IP address with the MAC address of the motor. After the control system 30 has populated the IP address property fields associated with each motor of the linear motor systems 10, 52 in the debug tool GUI 100, the control system 30 can optionally perform the steps at blocks 160 and 162 described above with reference to Figure 5 before proceeding to generate the configuration file at block 164.
[0078] Although the embodiments herein are described with reference to a control system 30 that associates the IP address assigned to each motor of the linear motor systems 10, 52 and the corresponding MAC address associated with each motor, it should be understood that similar techniques may be performed by the control system 30 to associate the IP addresses of motors assigned to existing motors replacing the linear motor systems 10, 52. For example, a particular motor of the linear motor systems 10, 52 may be replaced with a new motor due to maintenance issues. According to the embodiments described herein, the control system 30 may assign an IP address to the new motor, associate the assigned IP address with the MAC address of the new motor, and update the configuration file associated with the linear motor systems 10, 52 with the IP address, MAC address, and other attributes of the new motor.
[0079] The technical effects of the present disclosure include techniques for automatically identifying components (e.g., motors, track modules, etc.) of a linear motor system in an industrial system, assigning IP addresses to the identified components, and generating a configuration file associated with the linear motor system. After the configuration file has been generated, the control system may use the configuration file to coordinate the operation of the components of the linear motor system for various industrial applications. Compared with manually creating a configuration file, automatically generating a configuration file according to one or more of the embodiments described herein reduces the time and effort spent in generating the configuration file. Additionally, the configuration file may increase the accuracy and certainty of the control system's identification and control of the components of the linear motor system. Furthermore, by detecting a magnetic field by one or more sensors of the track module and converting the signals received from the track module to automatically identify the corresponding motor of the track module, the techniques described herein may reduce the amount of data transmitted via a communication network and the frequency of transmitting data via the communication network when generating the configuration file.
[0080] The techniques presented and claimed herein are cited and applied to specific examples of physical objects and physical properties, which significantly improve the technical field, and thus are not abstract, intangible, or purely theoretical. Additionally, if any claim appended to this specification includes one or more elements designated as "means for [performing] [function]..." or "steps for [performing] [function]...", such elements are intended to be construed in accordance with 35 U.S.C. 112(f). However, for any claim that includes elements designated in any other manner, such elements are not intended to be construed in accordance with 35 U.S.C. 112(f).
[0081] Although only certain features of the invention have been shown and described herein, many modifications and variations will occur to those skilled in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and variations that fall within the true spirit of the invention.
Claims
1. A non-transitory computer-readable medium, the non-transitory computer-readable medium including computer-executable code that, when executed by at least one processor, causes the at least one processor to perform operations including the following: Receiving topology information associated with a linear motor system including a plurality of track modules, wherein, each of the plurality of track modules includes one or more motors associated with the track module; Automatically populating a configuration file having one or more attribute fields based on the topology information using one or more respective attributes associated with each of the one or more motors, wherein the one or more respective attributes associated with each of the one or more motors include an identifier associated with the respective motor; Associating one or more communication attributes of each of the one or more motors with the respective identifier of the motor, wherein associating the one or more communication attributes with the respective identifier includes: Receiving a signal from a sensor associated with a track module of the plurality of track modules, wherein the signal indicates a magnetic field associated with a first motor of the one or more motors; and Assigning a first communication attribute of the one or more respective communication attributes to the first motor based on the signal; Automatically populating the configuration file having one or more respective communication attribute fields associated with the one or more motors based on the one or more communication attributes; and Transmitting one or more commands to the one or more motors based on the configuration file to control one or more respective operations.
2. The non-transitory computer-readable medium according to claim 1, wherein, the magnetic field is generated in response to a mover traversing a second track module adjacent to the first motor among the plurality of track modules.
3. The non-transitory computer-readable medium according to claim 1, wherein, associating the one or more communication attributes with the respective identifier further includes: Transmitting commands to the one or more motors to generate a magnetic field that causes a mover to move across the plurality of track modules.
4. The non-transitory computer-readable medium according to claim 1, wherein, associating the one or more communication attributes with the respective identifier includes: assigning an Internet Protocol IP address to the one or more motors.
5. The non-transitory computer-readable medium according to claim 1, wherein, the one or more communication attributes are associated with an Ethernet-based network.
6. The non-transitory computer-readable medium according to claim 1, wherein, the one or more respective attributes include one or more respective Media Access Control MAC addresses associated with the one or more motors.
7. A method for configuring a linear motor system, comprising: Receiving, via a processor, topology information associated with the linear motor system including a plurality of track modules, wherein each of the plurality of track modules includes one or more motors associated with the track module; Automatically populate a configuration file having one or more attribute fields using one or more corresponding attributes associated with each of the one or more motors based on the topology information, wherein the one or more corresponding attributes associated with each of the one or more motors include an identifier associated with the corresponding motor; Associate one or more communication attributes of each of the one or more motors with the corresponding identifier of the motor, wherein associating the one or more communication attributes with the corresponding identifier includes: Receiving a signal from a sensor associated with an orbital module of the plurality of orbital modules, wherein the signal indicates a magnetic field associated with a first motor of the one or more motors; and Assigning a first communication attribute of the one or more corresponding communication attributes to the first motor based on the signal; Automatically populate the configuration file having one or more corresponding communication attribute fields associated with the one or more motors based on the one or more communication attributes; and Transmit one or more commands to the one or more motors based on the configuration file to control one or more corresponding operations.
8. The method according to claim 7, wherein, the topology information includes one or more media access control (MAC) addresses associated with the one or more motors, wherein associating the one or more communication attributes of each of the one or more motors with the corresponding identifier of the motor includes associating one or more IP addresses with one or more MAC addresses associated with the one or more motors, and wherein associating the one or more IP addresses with one or more MAC addresses associated with the one or more motors includes: receiving a representation of a particular MAC address of the corresponding MAC address, wherein the representation includes text indicating the particular MAC address, a barcode indicating the particular MAC address, a quick response (QR) code indicating the particular MAC address, or a combination of the above.
9. The method according to claim 7, wherein, the topology information includes position information associated with one or more motors in the linear motor system, orientation information associated with a plurality of orbital modules in the linear motor system, or both.
10. The method according to claim 7, comprising: Receiving the configuration file from a computing device configured to generate the configuration file based on one or more inputs in a graphical user interface associated with the linear motor system.
11. The method according to claim 10, comprising: Via the graphical user interface, automatically populate corresponding attribute fields associated with the one or more motors using the corresponding attributes associated with the one or more motors based on the topology information.
12. A non-transitory computer-readable medium, the non-transitory computer-readable medium including computer-executable code that, when executed by at least one processor, causes the at least one processor to perform operations including the following: Receiving topology information associated with a linear motor system including a plurality of track modules from a computing device, wherein, each track module of the plurality of track modules includes one or more motors associated with the track module; Automatically populating a configuration file based on the topology information using one or more corresponding attributes associated with each of the one or more motors, wherein the one or more corresponding attributes associated with each of the one or more motors include a Media Access Control (MAC) address; Associating an Internet Protocol (IP) address of each of the one or more motors with the MAC address associated with each of the one or more motors, wherein associating the IP address of each of the one or more motors with the MAC address associated with each of the one or more motors includes: Receiving a signal from a sensor associated with a track module of the plurality of track modules, wherein the signal indicates a magnetic field associated with a first motor of the one or more motors; and Allocating the IP address to the first motor based on the received signal; Automatically populating the configuration file using the IP address associated with the one or more motors; and Transmitting one or more commands to the one or more motors based on the configuration file to control one or more corresponding operations.
13. The non-transitory computer-readable medium according to claim 12, wherein, the operations include receiving orientation information associated with a particular motor of the one or more motors.
14. The non-transitory computer-readable medium according to claim 13, wherein, the orientation information indicates a moving direction in which a mover is configured to traverse a track module associated with a particular motor in the linear motor system.
15. The non-transitory computer-readable medium according to claim 12, wherein, the configuration file includes: a corresponding path identifier field associated with the one or more motors, a corresponding motor identifier field associated with the one or more motors, a corresponding motor type field associated with the one or more motors, a corresponding orientation field associated with a corresponding track module of the plurality of track modules associated with the one or more motors, or a combination thereof.
Citation Information
Patent Citations
Path arrangement for a multi-track linear motor system and method to control same
US7026732B1