Generating location-based addresses for wireless network communication

A system may include a first device that has a first network component and a second device that has a second network component. The second network component may receive a data packet from the first network component based at least in part on a network address, where the network address is generated based at least in part on a location of the first device.

BACKGROUND

This disclosure relates generally to systems and methods for wireless communication within industrial automation systems. More particularly, embodiments of the present disclosure discusses unique address generation, which may be used within the industrial automation systems.

Industrial automation systems may include automation control and monitoring systems. The automation control and monitoring systems may monitor statuses and/or receive information from a wide range of actuators, such as valves, electric motors, and so forth, a wide range of sensors, other suitable monitoring devices, or the like, which each may respectively collect data via a variety of sensors. One or more components of the automation control and monitoring systems, such as programming terminals, automation controllers, input/output (I/O) modules, communication networks, human-machine interface (HMI) terminals, and the like, may use the statuses and/or received information in providing alerts to operators, in changing or adjusting operation of one or more components of the industrial automation system (e.g., such as adjusting operation of one or more actuators), in managing the industrial automation system, or the like.

Generally, the networked devices described above may be associated with information, such as different statuses, sensing data, or the like. The information may relate to an operation of the industrial automation system and may be monitored by the automation control and monitoring systems. Certain precautions are taken to operate networked devices in industrial automation systems as desired and to transmit the information to automation control and monitoring systems of the industrial automation systems. For example, each networked devices may be assigned a unique address (e.g., a network address) to enable the industrial automation system to identify each networked device interaction with specific devices, data transmitted from the networked device, and the like. With this in mind, it may be useful to use efficient methods for generation of addresses for use as networked addresses in industrial automation systems.

SUMMARY

In one embodiment, a device may include a first network component that communicates with a second network component of an industrial control system. The device may also include a processor that transmits a first set of signals from the first network component to the second network component. The processor may also receive a response from the second network component and determine a location based at least in part on the response to the first set of signals. The processor may also generate a network address based at least in part on the location.

In another embodiment a system may include a first device and a second device, each including a network component. The network component of the second device may receive information from the network component of the first device based at least in part on a network address. The network address may be generated based at least in part on a location of the first device.

In yet another embodiment, a tangible, non-transitory computer-readable medium configured to store instructions executable by a processor of an electronic device that, when executed by the processor, cause the processor to transmit a first set of signals from a first network component to a second network component. The processor may also be caused to receive a response from the second network component and determine the location based at least in part on the response to the first set of signals. The processor may generate a network address using the location.

DETAILED DESCRIPTION

When introducing elements of various embodiments of the present disclosure, the articles “a,” “an,” “the,” and “said” are intended to mean that there are one or more of the elements. The terms “comprising,” “including,” and “having” are intended to be inclusive and mean that there may be additional elements other than the listed elements. One or more specific embodiments of the present embodiments described herein will be described below. In an effort to provide a concise description of these embodiments, all features of an actual implementation may not be described in the specification. It should be appreciated 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 developers' specific goals, such as compliance with system-related and business-related constraints, which may vary from one implementation to another. Moreover, it should be appreciated that such a development effort might be complex and time consuming, but would nevertheless be a routine undertaking of design, fabrication, and manufacture for those of ordinary skill having the benefit of this disclosure.

The present disclosure is generally directed towards a networked device disposed in an industrial automation system that may determine its location within the industrial automation system and, based on the determined location, generate a unique address (e.g., a network address). That is, the networked device may detect its own location and use the location to generate a unique address. In this way, the networked device may generate a unique address without incorporation of a unique device identifier (e.g., an extended unique device identifier (EUID)) into the unique address. The networked device may operate according to control instructions (e.g., operation parameters, control signals) received via a wireless network using the unique address to reference the networked device. In some embodiments, the networked device may transmit a data packet to an industrial control system that controls the industrial automation system based on the data packet.

When wireless communications use a unique address generated based on a location, certain operations may improve, such as replacement operations of networked devices. For example, a replacement networked device may replace an original networked device that corresponds to a unique address based on its location. After the replacement, the replacement networked device may resume communication via the wireless network using a same unique address as the original networked device. Because the replacement networked device is installed into a same location as the original networked device, the unique address remains unchanged after the replacement.

After the replacement, references to the unique address of the original networked device do not have to be updated in response to the replacement networked device being installed. For example, a human-machine interface (HMI), a controller, other networked devices, or the like, communicating with the replacement networked device may use the same unique address as it did with the original networked device. Furthermore, system configurations may not be automatically updated or automatically re-determined in response to the replacement networked device being installed. For example, a unique address generated using hardware identifiers may change as a result from the replacement because the hardware changed with the replacement. When a pre-replacement unique address is different from a post-replacement unique address, references to the pre-replacement unique address may be updated after the replacement to reference the post-replacement unique address to preserve communication with the replacement networked device. This update process is inefficient and may sometimes lead to references or configurations being overlooked (e.g., not updated, skipped). By using the techniques described herein, the unique address is not changed during the replacement, and thus the update process does not have to be performed after the replacement.

Furthermore, the techniques described herein may be used to improve security of the wireless communication network. For example, a location for a networked device may be determined, and a mapping function may be applied to the location to generate a pseudo random number. The pseudo random number may be used to generate a code for use in a unique address for the networked device. The mapping function may use a known algorithm to convert the location into the pseudo random number. That is, devices permitted within the industrial automation system may be aware of the known algorithm and able to recreate the pseudo random number from the location. Devices external to the industrial automation system (e.g., unpermitted devices) may be unaware of the known algorithm and unable to recreate the pseudo random number from the location. The mapping function may be any suitable private algorithm that devices of the industrial automation system are privy to but unpermitted devices do not know. For example, the mapping function may use a public-private key pair, a common private key, a hash value, a hash-based algorithm, a cryptography technique used to generate the random number that the code is based on, or the like, to generate the pseudo random number based on the location.

In some embodiments, the generated pseudo random number may be mapped to a code to be used in the unique address. Codes for each expected location of a networked device may be stored and accessible by the industrial automation system for determining whether a new networked device is authorized. Thus, the industrial automation system may permit or deny a new device into the network based on the code of the unique address. For example, the industrial automation system may reference a list of permitted codes when determining whether to enable communication with a new device via the network. In this way, access may be denied to a new device that does not communicate using an approved code, therefore promoting and improving security of the industrial automation system.

By way of introduction,FIG. 1is a perspective view of an example industrial automation system10controlled by an industrial control system11. The industrial automation system10includes stations having machine components and/or machines to conduct a particular function within an automated process, for example, a beverage packaging process, as is depicted. The automated process may begin at a station13used for loading objects, such as empty cans or bottles to be filled, into the industrial automation system10via a conveyor section14. The conveyor section14may transport the objects to a station16to perform a first action, for example, washing the empty cans and/or bottles. As objects exit from the station16, the conveyor section14may transport the objects to a station20, such as a filling and sealing station, in a single-file line. A second conveyor section14may transport objects from the station20to a station26. After the objects proceed through the various stations, the objects may be removed from the station28, for example, for storage in a warehouse30. Clearly, for other applications, the particular system, machine components, machines, stations, and/or conveyors may be different or specially adapted to the application.

For example, the industrial automation system10may include machinery to perform various operations in a compressor station, an oil refinery, a batch operation for making food items, a mechanized assembly line, and so forth. Accordingly, the industrial automation system10may include a variety of operational components, such as electric motors, valves, actuators, temperature elements, pressure sensors, or a myriad of machinery or devices used for manufacturing, processing, material handling, and other applications.

Additionally, the industrial automation system10may include various types of equipment that may perform the various operations as part of an industrial application. For instance, industrial automation system10may include electrical equipment, hydraulic equipment, compressed air equipment, steam equipment, mechanical tools, protective equipment, refrigeration equipment, power lines, hydraulic lines, steam lines, and the like. Some example types of equipment may include mixers, machine conveyors, tanks, skids, specialized original equipment manufacturer machines, and the like. In addition to the equipment described above, the industrial automation system10may also include motors, protection devices, switchgear, compressors, and the like.

In certain embodiments, one or more properties of the industrial automation equipment, such as the station16, may be monitored and controlled by an industrial control system11for regulating control variables. For example, sensing devices (e.g., sensors31) may monitor various properties of the industrial automation system10and may be used in adjusting operations of the industrial automation system10. In some cases, the industrial automation system10may be associated with devices used by other equipment. For instance, scanners, gauges, valves, flow meters, and the like may be disposed on the industrial automation system10. Here, the industrial control system11may receive data from the associated devices and use the data to perform their respective operations more efficiently. For example, a controller of the industrial automation system10associated with a motor drive may receive data regarding a temperature of a connected motor and may adjust operations of the motor drive based on the data.

The industrial control system11may be communicatively coupled to a display/operator interface32(e.g., a HMI) and to devices of the industrial automation system10. Although one industrial control system11is depicted, it should be understood that any suitable number of industrial control systems11may be used in a particular industrial automation system10embodiment. The industrial control system11may represent components of the industrial automation system10through programming objects that may be instantiated and executed to provide simulated functionality similar or identical to the actual components, as well as visualization of the components, or both, on the display/operator interface32. The programming objects may include code and/or instructions stored in the industrial control system11and executed by processing circuitry of the industrial control system11. The processing circuitry may communicate with memory circuitry to permit the storage of the component visualizations.

As illustrated, the display/operator interface32depicts representations33of the components of the industrial automation system10. The industrial control system11may use data transmitted by sensors31to update visualizations of the components via changing one or more statuses, states, and/or indications of current operations of the components. These sensors31may be any device adapted to provide information regarding process conditions. Indeed, the sensors31may be used in a process loop monitored and controlled by the industrial control system11. As such, a process loop may be activated based on process inputs (e.g., an input from the sensor31) or direct input from a person38via the display/operator interface32. The person38operating and/or monitoring the industrial automation system10may reference the display/operator interface32to determine various statuses, state, and/or current operations of the industrial automation system10and/or for a particular component. Furthermore, the person operating and/or monitoring the industrial automation system10may adjust to various components to start, stop, power-down, power-on, or otherwise adjust an operation of one or more components of the industrial automation system10through interactions with control panels or various input devices.

The industrial control system11may use networked devices40in managing operation of the industrial control system11. The networked devices40may be any suitable device within the industrial automation system10that communicates a status, a data packet, an alert, or the like, to the industrial control system11and/or other networked devices40. For example, the networked device40may be processing circuitry coupled to an example sensor31that enables the sensor31to transmit sensing data to the industrial control system11. As an additional example, the network of the industrial control system11may enable communication between an example networked device40including the sensor31and another networked device40that controls an operation of a component (e.g., motor, valve) based on data packets generated via the sensor31.

The network of the industrial control system11may be a wired network, a wireless network, and/or a combination of the two. Some addressing between networked devices40may be implicit, such as is the case in wired networks. However, in wireless networks, a networked device40may use a unique address to communicate via the network. The unique address may include information at least identifying that a particular transmission originated from the networked device40. The unique address may be associated with a data packet to help the industrial control system11transmit the data packet between networked devices40.

These addressing operations may be used for a variety of operations. For example, a processor that generates a graphical user interface indicative of a current operation of the industrial automation system10may communicate with the networked devices40to retrieve data indicative of the current operation. As another example, a processor of the industrial control system11may operate a control value to open by referencing a specific actuator via its unique address. Many of the communications between networked devices40and/or the industrial control system11may use unique addresses to particularly transmit or receive data packets.

In some cases, the unique address may be assigned to a networked device40based on a device identifier of the networked device40. However, when the networked device40associated with the unique address is replaced with hardware having a new device identifier, the unique address for the networked device40changes. When the unique address changes, references to the original unique address have to be updated to reflect the new unique address. Updating the unique address may be time-consuming, complex, inefficient, and so on, relative to not updating the unique address and leaving the original unique address as-is.

Keeping the forgoing in mind, a unique address may be generated based on a location of the networked device40instead of based on the device identifier of the networked device40. When an original networked device40is replaced with a replacement networked device40, an original unique address based on the location of the networked device40does not have to be updated to a replacement unique address because the location does not substantially change.

To help elaborate,FIG. 2is a block diagram of an example networked device40of the industrial automation system10and includes a representation of three networked devices40(40A,40B,40C). The networked devices40are shown as each wirelessly communicating with the industrial control system11via a gateway42(e.g., a gateway device). As used herein, the term networked device40may refer to networked devices40ofFIG. 1and/or any other suitable status or information emitting device that communicates in some way via a wireless network. For example, the networked device40may also refer to at least a portion of devices and/or components associated with stations13,16,20,26, and/or28, the warehouse30, the sensors31, the conveyer sections14, and the like. Furthermore, in some cases, the networked devices40may be retrofitted onto an existing device and/or component of the industrial automation system10.

The networked devices40, the gateway42, the server and/or network device56, any other suitable devices of the industrial automation system10, or the like, may each include processing circuitry44including a communication component46, a processor48, a memory50, I/O ports52, or the like. The communication component46and/or the gateway42may be a wireless or a wired communication component that may facilitate communication between the networked device40and other networked devices40, machines having communication functionalities, components having communication functionalities, and/or the industrial control system11via a network54. For example, the communication component46and/or the gateway42may each be a radio and/or include one or more radios (e.g., integrated radios of the networked device40). The networked device40via the communication component46and/or the gateway42may communicate using ultra-wide band wireless radio technology that includes both communication and location functionalities within components of the radios (e.g., integrated communication-location functionalities), however other suitable wireless communication may be used by the networked device40and/or the gateway42. For example, the networked device40, the communication component46, and/or the gateway42may leverage technologies that do not integrate communication and location functionalities, and instead have at least partially separate components for performing communication operations and/or for performing locating operations. These wired or wireless communication protocols may include any (or use any) suitable communication protocol include Wi-Fi, mobile telecommunications technology (e.g., 2G, 3G, 4G, long term evolution (LTE) enabled devices), Bluetooth®, near-field communications technology, and the like. The communication component46may include a network interface to enable communication via various protocols such as EtherNet/IP®, ControlNet®, DeviceNet®, or any other industrial communication network protocol.

The processor48may be any suitable type of computer processor or microprocessor capable of executing computer-executable code, including but not limited to one or more field programmable gate arrays (FPGA), application-specific integrated circuits (ASIC), programmable logic devices (PLD), programmable logic arrays (PLA), and the like. The processor48may, in some embodiments, include multiple processors. The memory50may include any suitable articles of manufacture that serve as media to store processor-executable code, data, or the like. The memory50may store processor-executable code, that when executed, cause the processor48to perform the presently disclosed techniques.

In general, these components of the networked devices40may generate data packets and/or other suitable information that is to be communicated via a wireless network to another component, such as a server and/or a network device56coupled to the gateway42via a network54. A networked device40may transmit information to the gateway42and/or other suitable networked device40using communication components46, other suitable radio circuitry, and/or unique addresses for each participating device. For example, the networked device40C may transmit information via its communication component46to the gateway42based on the unique address for the networked device40C. As another example, the gateway42may transmit information via its communication component46to the networked device40A indicating its destination via the unique address for the networked device40A. The unique address may be selected such that the networked device40B has a different unique address than the networked device40A and the networked device40C. In this way, each of the networked devices40may respectively communicate through the wireless network based on respective unique addresses. Advantages to basing unique addresses on locations of networked devices40, rather than on unique identifiers of the networked devices40, at least include an increased ease of replacement and improved security.

FIG. 3is a block diagram of the networked devices40, where the networked device40C has undergone a device replacement. In this example, the networked device40C is or is being replaced by the networked device40D. When the networked device40C is replaced, the networked device40D is located in a substantially similar location (e.g., same location) as the networked device40C. Since the location did not change of the networked device40D, the unique address is not updated in response to the replacement.

For example, before a device replacement, the industrial control system11may communicate with the networked device40C using a first unique address. After the networked device40C is replaced by the networked device40D, the industrial control system11may communicate with the networked device40D using the same first unique address, even despite the device replacement. Generating the unique address based on locations of networked devices40may reduce down-time (e.g., shutdown or offline time periods of the industrial automation system10due to a device replacement) and may decrease addressing errors from updating unique addresses that sometimes lead to inaccurate operation of the industrial automation system10.

To elaborate on the present disclosed embodiments regarding unique address generation,FIG. 4Ais a block diagram70of a location72converted into a unique address76via a mapping function74. Although the mapping function74is described below in generalized terms, it should be understood that any methods associated with the mapping function74and/or the block diagram70may be performed by any suitable processor (e.g., the industrial control system11, one or more networked devices40) to generate the unique address76. Moreover, although the following description of the mapping function74is described in a particular order and as associated with particular inputs and outputs, it should be noted that the methods may be performed in any suitable order and/or generate any number of suitable outputs based on any number of suitable inputs. The mapping function74may map the location72(or other suitable ranging values) to generate the unique address76(e.g., a unique addressing value).

The location72may correspond to a physical and/or logical location of the networked device40within the industrial automation system10. The location72may be defined coordinates within a space (e.g., plane, volume, or the like), defined relative to other networked devices40, defined relative to one or more features (e.g., physical-based, logical-based, device-based) of the industrial automation system10, predetermined at a time of installation of the networked device40, or the like. In this way, the location72may be defined based on one or more global positioning system (GPS) signals, time of flight (ToF) calculations (e.g., calculations or determinations based at least in part on a rate of propagation of a signal through air), nearby cell phone signals, or the like. For example, the ToF calculations may be based on an expected rate of propagation of a signal through air and based on a difference between a time of transmission and a time of reception of the signal. Indications of the locations72may be stored in a suitable data store, such as a table, database, tangible memory, server (e.g., server and/or network device56), or the like.

The location72may be determined relative to a non-moving, physical aspect of the industrial automation system10, such as a staircase, a doorway, a wall, a pillar, machinery that is disposed at a constant location (despite having optionally moving components, such as a motor or a fan), or the like, that may be used as reference points in determining the location of the networked device40. These are examples of physical-based features. Examples of logical-based features may be defined as digital points-of-interest within confines of a site map, or otherwise indicated in memory, to use as reference points in determining the location of the networked device40. For example, a location of a networked device40may be stored as a logical-based feature since it is relatively less permanent as a point of interest than a physical aspect of the industrial automation system10. A site map may be stored in a memory or a server. The site map may supply indications of where features are distributed within physical confines of the industrial automation system10. The features may include logical-based features and/or physical-based features, and thus may be used to determine a distance between a feature of the site map and the networked device40.

Sometimes, the location72may be determined via a real-time locating systems (RTLS). RTLS may automatically identify and track objects and/or operators in real-time within a monitored area (e.g., a building, defined region, defined volume, defined region, defined area, cabinet, automation unit, or the like). The industrial control system11may reference a tag disposed on a physical surface of the networked device40when determining the location72of the networked device40. RTLS, and other locating operations of the industrial automation system10, may use any suitable distance determination technique when determining the location72of the networked device40. For example, sensors that leverage radio frequency waveforms, laser or light waveform, acoustic waveforms, or the like, may help determine the location72.

Furthermore, there may be some examples where distance measurements are used instead of and/or to supplement the determined location of the networked device40when determining the code. For example, using a distance between a networked device and a beacon device may be used in determining the unique address rather than an exact location of the networked device.

The mapping function74may use the location72to generate the unique address76. The mapping function74may be any suitable private algorithm that other networked devices40and the industrial control system11know but devices external to the industrial automation system10(e.g., unauthorized devices) do not know. For example, the mapping function74may use a public-private key pair, a hash value, a hash-based algorithm, a cryptography technique used to generate the random number that the code is based on, or the like, to generate the random number based on the location. The generated random number may be mapped to a code to be used in the unique address76.

In some embodiments, the industrial control system11may manage unique addresses for each approved and/or expected transmitting location within the industrial automation system10. For example, the industrial automation system10may reference a preset list of codes permitted to communicate with other devices of the industrial automation system when determining whether to enable communication with a new device via the network. The industrial control system11may permit or deny a new device to communicate via the network based on the code of the unique address76. In this way, access may be denied to a new device that does not communicate using an approved code, therefore promoting and improving security of the industrial automation system.

The unique address76may be of any suitable address form, format, compliant with any addressing protocol, or the like. For example, the unique address76may include a network prefix and an interface identification (interface ID). The network prefix may include a global routing prefix and a subnet identification (subnet ID). The code generated based on the location may be used as the interface ID, or as a part of the interface ID. The interface ID may be appended to the network prefix, such as after the global routing prefix and the subnet ID. The subnet ID may be used in wireless networks sub-divided into subnets (e.g., logically divided networks of the overall wireless network), wherein the subnet ID identifies which subnet to use for communication with the networked device40.

Additionally or alternatively, each of these described portions of an example unique address76may correspond to any suitable size. For example, the global routing prefix may be a 45-bit string corresponding to a provider. In this way, the subnet ID may be a 16-bit string corresponding to a site and/or the code may be a 64-bit string corresponding to a host (e.g., the networked device40). In some embodiments, the network prefix is appended to a start-code (e.g., a 3-bit initialization string, “001”) that identifies a unique address76follows the start-code.

In general, the mapping function74may be of any suitable format to generate a unique address76based on the location72and compatible with the network of the industrial control system11. Thus, in some embodiments, the mapping function74may generate the unique address76based on both the location72and on particular network compatibility requirements. Thus, the mapping function74may permit compatibility between other components and/or existing infrastructure of the industrial automation system10by how the code is used to generate the unique address76.

To help illustrate an example mapping function74that generates an example unique address76,FIG. 4Bis a block diagram of an example mapping function74that generates the unique address76based at least in part on the location72. In this particular example, the mapping function74generates the unique address76, such that the unique address76is compliant for use in an Internet Protocol-based network, in particular Internet Protocol version 6 (IPv6). The IPv6 compatible unique address76is generated by the mapping function74based on the location72.

In this example, the location72is a coordinate-based location defined in terms of an x-position, a y-position, and a z-position in space (e.g., X-Y-Z location). Each of the x-position, y-position, and z-position are determined distances from a reference point (e.g., an origin). When the location72is an X-Y-Z location, the location72corresponds to a location within a physical volume of the industrial automation system10determined through relative distances between the networked device40at the location72and reference points. The relative distances may be determined based on communication with one or more beacon devices and/or based on known locations of reference points, such as from a site plan. A beacon device may be a networked device40that may emit locating signals for use in determining the location72and/or may correspond to a known location, such that determining a relative distance to the beacon device helps to determine the location72.

When considered a volume, the industrial automation system10may be defined into a variety of partitions (e.g., two-dimensional (2D) regions, smaller volumes or three-dimensional (3D) regions). An example of a partition may be a representative cube of volume defined over a portion of an x-axis, a portion of a y-axis, and a portion of a z-axis. A respective partition may be defined based on a range of each axis that belongs to that respective partition. Therefore, each partition may have a different definition. For example, adjacent partitions along the x-axis may correspond to boundary ranges [x1, y1, z1]=[0:2, 0:1, 0:3] and [x2, y2, z2]=[2:4, 0:1, 0:3]. Definitions of the partitions may be stored in a memory and/or a server, and be accessible when determining the location72. For example, the networked device40may be located at any place within a partition and a same location of the partition may be used as the location72for the networked device40. Thus, even if the networked device40were moved within the boundary ranges of the partition, the unique address corresponding to the location72is unchanged.

In this example, the location72is determined based on an automatic communication procedure for locating the networked device40within the industrial control system11. This particular automatic communication procedure is performed by the networked device40in this example (as labeled).

It is noted that in some embodiments, a unique device identifier is associated with the networked device40installed at the location72. For example, the unique device identifier may be an alphanumeric series of characters, an extended unique device identifier (EUID)86, or the like. Similar to how locations72are stored, a listing or collection of EUIDs86corresponding to particular locations72may be stored in any suitable data store and accessible by processing circuitry.

FIG. 5is a flowchart of a method90for determining a unique address (e.g., the unique address76) for the networked device40. The method90may be performed by the networked device40to self-generate its unique address based on its location. Although the method90is described below as being performed by the networked device40, it should be understood that any suitable processing device, such as the industrial control system11(e.g., via the gateway, via the server and/or network device), may perform the method90. Moreover, although the following description of the method90is described in a particular order, it should be understood that the method90may be performed in any suitable order.

At block92, the networked device40may perform initialization operations. These initialization operations may be activities and/or installations that the networked device40performs when initially powering-on or initially connecting to a network. The networked device40may use the initialization operations to setup or otherwise prepare itself for use within the industrial automation system10.

At block94, the networked device40may perform locating operations. The locating operations may include referencing determining the location of the networked device40by referencing a data store, determining relative distances between the networked device40and other networked devices40, using global positioning system (GPS) techniques, or the like. In some embodiments, the networked device40may use one or more integrated radios to determine its location. The integrated radio, or other suitable broadcasting and/or signal generation device, may communicate with nearby radios of other networked devices40and/or GPS to determine the location of the networked device40. For example, the networked device40may use its integrated radio as part of a triangulation operation to leverage communication links with nearby networked devices40in determining the location. Additionally or alternatively, the networked device40may identify an additional networked device40as an anchor and reference the anchor as part of ranging operations to determine the location. For example, the anchor may be a digital-point-of-interest, a physical-feature, or may otherwise have a known location, where by determining a location relative to the anchor, the network device40may determine its own location.

Additionally or alternatively, the networked device40may locate itself on a site plan or otherwise provided computer-readable map of the industrial automation system10that enables the networked device40to identify the location relative to digital-points-of-interests and/or physical-features of the site plan, or an otherwise provided computer-readable map of the industrial automation system10. The site plan may be generated at a time of construction of the industrial automation system10.

At block96, the networked device40may determine a unique address based on the locating operations. The networked device40may use a mapping function (e.g., mapping function74) specific to at least one wireless network of the industrial automation system10to generate the unique address based on the locating operations. The mapping function may use a location determined by the networked device40to generate the unique address. The networked device40may apply the mapping function via a software application, code, processing circuitry, or the like to change the location determined into a unique address. If the networked device40performs the method90after a replacement installation, the networked device40may generate, at the block96, a same unique address as the networked device40being replaced.

After generation of the unique address, the networked device40and/or the industrial control system11may intercommunicate based on the respective unique address for each component. The unique address may be a series of bits, characters, identifiers, or the like that identify the networked device40to a receiving device (e.g., gateway42of the industrial control system11, another networked device40) associated with a current data transmission. The networked device40may know the address of the receiving device prior to determining its own unique address. When the networked device40does not know the address of the receiving device, the networked device40may use one or more broadcast definition operations to contact the receiving device. In some cases, the receiving device is already expecting a replacement when the networked device40begins the broadcast definition operations, so the receiving device may verify or authenticate the replacement networked device40based on the unique address. The broadcast definition operations may include interrogating nearby devices based at least in part on a device type, a hardware revision installed on the devices, a software revision installed on the devices, or the like, before communication between the receiving device and the networked device40happens. In this way, components of the wireless network, such as routers, may transmit a data packet including the unique address to a particular end networked device40associated with the unique address.

At block98, the networked device40may determine one or more channel configurations based on the locating operations. While performing the method90, the networked device40may be communicatively coupled to the industrial control system11via an initialization channel. Within wireless networks, sometimes networked devices40may communicate with the industrial control system11on different channels. A channel may segregate wireless transmissions into different frequency ranges, or other suitable wave properties. In this way, a first networked device40communicating on a first channel may not interfere data packet transmission of a second networked device40via a second channel. Although one or more networked devices40may intercommunicate on a same channel, sometimes separating communications onto different channels improves organization of the communications. This may enable wireless communications to be organized based on a category of communication and/or based on a desire to balance communications between channels.

With this in mind, after the networked device40determines its unique address, the networked device40may determine one or more channel configurations based on the unique address and/or the determined location (e.g., a result from the locating operations). The channel configuration may include one or more properties via which the networked device40communicates. Properties may include a determined communication channel, a determined transmitter power, a transmitting frequency, or the like. To elaborate, the determined communication channel may be defined via a range of transmitting frequencies for a respective channel. In addition, the determined transmitter power may indicate a power level to supply to a transmitter of a radio during communication. Furthermore, a transmitting frequency may indicate a frequency that a radio is to transmit data packets at. Processing circuitry of the networked device40may reference one or more of the properties when transmitting via the network. For example, the processing circuitry may change a power supplied to a radio component based on the determined transmitter power or may change a frequency range used by the radio component based on the determined communication channel and/or the transmitting frequency. The determination operations may involve the networked device40determining which channel is relatively the best for communication via the network. When the network device40is installed to replace a different networked device40previously at the same location, the networked device40may determine the channel configurations by retrieving stored channel configurations from a previous determination associated with the determined location. Retrieving the channel configurations may use fewer computing resources and/or reduce an amount of time the networked device40is out of service for the replacement.

At block100, the networked device40may transmit information, via the network, using the unique address and/or the channel configurations. The unique address may be a readable name, identifier, or the like that indicates the networked device40and its data packet transmitted. In some cases, the unique address is used along with an address corresponding to a receiving networked device40and/or a receiving component of the industrial control system11.

The method90ofFIG. 5is performed by the networked device40(such as, via processor48) when the networked device40is to perform initialization and address determination operations. In some embodiments, the industrial control system11may determine a unique address for a new networked device40or for a replacement networked device40installed in the industrial automation system10.FIG. 6describes a method that may be a complementary procedure to operations of the method90. For example, when the replacement networked device40generates its own unique address (e.g., by following the method90), the replacement networked device40may then receive setup instructions from a suitable instruction-sending device (e.g., a networked device40, a gateway42of the industrial control system11) via at least a portion of operations ofFIG. 6.FIG. 6generally describes a method of how the instruction-sending device may know the location-based unique address of the replacement networked device40.

Keeping this in mind,FIG. 6is a flowchart of another method110for determining a unique address (e.g., the unique address76) for the networked device40. Although the method110is described below as performed by the industrial control system11, it should be understood that any suitable processing device may perform the method110. Moreover, although the following description of the method110is described in a particular order, it should be understood that the method110may be performed in any suitable order. The method110may be used to determine a unique address for another device (e.g., replacement networked device40) and sending information to the device using the unique address. In this way, at least a portion of the method110and the method90may be performed in parallel, or partially in parallel. Performing some or all of the method90in parallel with some or all of the method110may further increase efficiency of network device40installation and/or set up.

At block112, the industrial control system11may receive an indication that a networked device40has been installed (e.g., an installation indication). The industrial control system11may classify a networked device40as an original networked device40when the industrial control system11determines that this networked device40is a first networked device40to be installed in a particular location. In some cases, the industrial control system11may operate in an initialization mode where the industrial control system11assumes each networked device40that is detected as installed corresponds to an original networked device40. For example, when operated in the initialization mode, such as during a start-up of the industrial automation system10, the industrial control system11may automatically categorize each networked device40detected during this time to be an original device.

At block114, the industrial control system11may perform locating operations to determine a location of the original networked device40. To do this, the industrial control system11may retrieve a predetermined location of the networked device40from memory50, perform a triangulation operation to determine the location of the original networked device40relative to other networked devices40, determine the location using GPS techniques, reference a site plan to determine the location of the networked device40, or the like. In this way, the industrial control system11may use one or more of the techniques described at the block94. After the industrial control system11determines the location of the original networked device40, the industrial control system11may save the location to a memory50and verify that the location is saved to the memory50.

At block116, the industrial control system11may generate a unique address based on the location of the original networked device40determined at block114. The industrial control system11may use a mapping function (e.g., mapping function74) specific to at least one wireless network of the industrial automation system10to generate the unique address for the location. The mapping function may use the determined location to generate the unique address. The industrial control system11may apply the mapping function to change the determined location into at least a portion of the unique address. For example, the mapping function may use the determined location to generate a code that is used in the unique address. As a reminder, the mapping function may be any suitable cryptographic conversion known by authorized devices and unknown by unauthorized devices. Upon generation of the unique address, the original networked device40and/or the industrial control system11may intercommunicate using the respective unique address.

In response to generating the unique address, the industrial control system11may, at block118, send setup instructions to the original networked device40using the unique address. The original networked device40may know on what address to receive the instructions on based on its generated unique address, such as the unique address generated via the method90. The setup instructions may be any suitable instructions that are used to setup operation of the original networked device40within the industrial automation system10. The setup instructions may include channel configuration information, set points, operational information or settings, alarm configurations, naming configurations, or the like. For example, set points may define default operational ranges that the networked device40is to operate in accordance and alarm configurations may define thresholds that an exceedance of may trigger an alarm. Setup instructions may also include configuration software or the like for initializing the networked device40for operation. After setup instructions are suitably applied to the original networked device40, the industrial automation system10may interact with and/or use the original networked device40as part of control operations.

After a period of time, at block120, the industrial control system11may receive an offline indication. The offline indication may be generated in response to the original networked device40being taken off the network, such as due to powering off, being taken offline for inspection or replacement, or the like. In some embodiments, the offline indication is merely a lack of an online indication, where the lack of the online indication is interpreted by the industrial control system11as an offline indication.

Furthermore, in some cases, the industrial control system11may receive a notification that accompanies the offline indication, such as to notify the industrial control system11approved replacement operations are happening. In these embodiments, the industrial control system11may alarm, generate a signal that generates an audible alarm, a visual alarm, generates a window on a HMI, or the like, in response to receiving an un-approved offline indication, or an offline indication not accompanied by the additional notification. The lack of the notification with the offline indication may be interpreted by the industrial control system11as potentially fraudulent replacement operations and/or replacement operations happening outside of operating protocol.

At block122, the industrial control system11may determine that a replacement networked device40has been installed at the same or substantially similar location of the original networked device40. After the industrial control system11receives the offline indication, the industrial control system11may wait for an additional installation indication transmitted in response to a networked device40powering on and wirelessly transmitting an installation indication (e.g., such as the installation indication transmitted at block112). In this way, the industrial control system11is expected a replacement networked device40. When a networked device40is installed in a substantially similar or same location as the original networked device40, the industrial control system11may understand the networked device40to be a replacement networked device40or otherwise authenticate the replacement networked device40. In response to determining that the replacement networked device40is installed, the industrial control system11may proceed to associate the unique address determined at the block116with the replacement networked device40.

At block124, the industrial control system11may send setup instructions to the replacement networked device40using the unique address determined at the block116. Communication between the industrial control system11and the replacement networked device40is permitted because both devices may independently determine the same unique address based on the location of the replacement networked device40. These setup instructions may be substantially similar to the setup instructions sent, at block118, to the original networked device40. Furthermore, in some embodiments, the setup instructions may include system configurations or settings implemented into the original networked device40before the replacement. The setup instructions may enable the replacement networked device40to operate substantially similar to the original networked device40.

As described above, the location of the networked device40may be determined by the networked device40and/or the industrial control system11. The location may be a specific GPS coordination combination, relatively defined based on the locations of two networked devices40, relatively defined based on the locations of three networked devices40, or the like. Furthermore, the location may be defined based on partitions (e.g., regions). In these embodiments, a replacement networked device40detected within a same partition as an original networked device40may use a same unique address as the original networked device40.

To help illustrate,FIG. 7Ais a graphical representation150of an example 2D locating operation performed to determine the location of the networked device40.FIG. 7Bis a graphical representation152of an example three-dimensional locating operation performed to determine the location of the networked device40. For ease of description,FIG. 7Ais described withFIG. 7Bbelow.

In the graphical representation150, the networked device40C determines its location based on its relative location to the gateway42and the networked device40B. The networked device40C may determine its location based at least in part on a distance between the networked device40C and the gateway42.

This determination may involve an analysis of circular-planes, where a distance between the networked device40C and the gateway42and/or the networked device40B is used as a radius of respective circles, and where the circular-planes intersect (e.g., for use with two reference radii) correspond to the location of the networked device40C. This example where the networked device40C uses positioning relative to two components of the industrial automation system10may enable the networked device40C to determine its location within a plane (e.g., X-Y plane).

The networked device40C may determine its location within a volume (e.g., X-Y-Z volume) when the networked device40C determines its location relative to three components of the industrial automation system10. This is illustrated inFIG. 7B. In the graphical representation152, the networked device40C determines its location based on respective distances between the gateway42, the networked device40B, and the networked device40A. The networked device40C may determine its location using similar determination methods as described relative toFIG. 7Abut based on spherical-volume (e.g., determined by three reference radii) intersection rather than circular-planes (e.g., determined by two reference radii) intersection. The networked device40C may determine its location within a volume based on its positioning relative to three components of the industrial automation system.

In both of these depicted examples, the location of the networked device40C is self-generated. However, it should be understood that the above-described relative positioning techniques may also be used by the industrial control system11to determine the location of the networked device40C. In general, when the location is within (or between) boundaries156, any location within the boundaries156may correspond to a same unique address. Thus, the boundaries156may permit unique addresses to be defined with consideration for assignment tolerances. For example, a replacement device installed in a generally same location and within suitable boundaries156may be assigned a same unique address as an original networked device40initially installed within the same boundaries156despite not being in an exactly same location.

In some embodiments, regions or areas of the industrial automation system10(e.g., specific operational units) may demand relatively stricter location assignments than other regions or areas. Thus, it may be of particular use to have boundaries156that are of variable sizes. In this way, a first region162may be larger and/or have a tighter granularity than a second region164. For example, a sensor disposed in a relatively open space of the industrial automation system10may correspond to a relatively larger definition of a region than a sensor disposed in a relatively small space internal to a cabinet of the industrial automation system. This may be permitted since precision and/or accuracy of location may be relatively more key in some partitions of the industrial automation system10in determining which sensor belongs to a particular unique address compared to other partitions.

To generalize the descriptions above,FIG. 8is a flowchart of a method174for determining a unique address based on information gathered at least in part by the networked device40. Although the method174is described below as being performed by the networked device40, it should be understood that any suitable processing device, such as the industrial control system11(e.g., via the gateway, via the server and/or network device), may perform the method174. Moreover, although the following description of the method174is described in a particular order, it should be understood that the method174may be performed in any suitable order.

At block176, the networked device40may determine a distance between itself and two or more additional networked devices40. The networked device40may determine its relative positioning based on a GPS signal, ToF calculation, nearby cell phone signals, or the like. At block178, the networked device40may determine its location based at least in part on the distances determined at the block176. At block180, the networked device40may determine a unique address for itself based on the determined location from the block178. Finally, at block182, the networked device40may use the unique address to transmit information to one or more additional components of the wireless network. In this way, the networked device40may transmit a first set of signals to a second network component, receive a response from the second network component, and determine the location based at least in part on the response. The networked device40may continue onto generate the unique address based on the location and use the unique address when communicating with other networked devices40and/or the industrial control system11. It is noted that these operations may be similarly used by replacement networked devices40after being powered-on post-replacement. It is also noted that the networked device40and/or the industrial control system11may determine channel configurations at any suitable time during the performance of the method174, such as while determining the unique address at the block180and/or before (or while) transmitting information at the block182.

For example, the channel configurations may be determined each time a location of a networked device40is determined. However, in some embodiments, a previously determined channel configuration is saved and associated with the location of a networked device40and/or the corresponding unique address. In this way, a default or initialization channel configuration and/or a default address may be used to parallelize determination operations to permit the unique address and the channel configuration to be determined at least partially simultaneous. For example, the initialization channel used for initialization of new networked devices40may be used before a final channel is determined for the networked device40to use to communicate. As another example, a default address may be used during initialization of new networked devices40before a final unique address is determined for the networked device40to use.

The initialization channel may be relatively crowded, provided without a specific directionality (e.g., a general beam-forming pattern applicable to many different directions of wireless signal propagation and reception), noisy, or the like. The initialization channel may be a default channel used to determine the location of the networked device40for use in determining the unique address. The initialization channel may be used before specific channel configurations are retrieved from memory.

After determining the location, the networked device40and/or the gateway42may determine a more-desired channel configuration for the networked device40to communicate via the network that is different from the initialization channel. For example, the more-desired channel configuration may reference channel configurations stored in memory and associated with the location to determine a less noisy channel, a more directional channel relatively more suited for the location of the networked device40, and/or a less crowded channel suitable for use with communications of the networked device40. This may be facilitated by mutual knowledge of the unique address determined by the networked device via the method90and by the gateway42(e.g., the industrial control system11) via the method110.

By using the systems and methods described herein, wireless communication technology may be implemented complimentary to wired communication technology, and be of use for devices that involve rotating, movable, and/or otherwise difficult-to-access areas of the industrial automation system. However, in industrial automation systems, device addressing used by wireless communication technology may be tied together with networked device hardware (e.g., unique device identifiers, EUIDs). After replacing a device in a system that uses unique address generation based on the networked device hardware, the unique address may be updated in response to the device replacement. However, this may be an inefficient process that may introduce errors into industrial automation system operation.

Thus, technical effects of the present disclosure include techniques for operating an industrial automation system based at least in part on a unique address corresponding to a location of a device. In this way, a networked device may perform sensing operations, or otherwise generate information, to be transmitted to an industrial control system. Based on its location within the industrial automation system, a unique address may be determined for the networked device to use when communicating with the industrial control system. When the networked device (e.g., original networked device) is replaced by another networked device (e.g., replacement networked device), the replacement networked device may use a same unique address as the original networked device for wireless communication. Not having to update references to the unique address after a device replacement may increase a robustness of the industrial automation system by improving an efficiency of replacements and/or by improving security.