Interoperability of the WirelessHART Join Key
Published on : Monday 30-11--0001
The WirelessHART standard requires that any device from any vendor will operate in the same network and work together in harmony. I do remember one incident, however, where a customer using a non-Emerson HART hand held communicator ran into problems during FAT. None of the devices they had configured would connect to the Rosemount 1420 gateway whilst other devices, configured by our technician using an Emerson HART hand held communicator worked perfectly.
WirelessHART, now recognised as the IEC62591 standard, supports interoperability, so in theory, everything should work regardless of the HART communicator, the instrument or the gateway. The issue in this example turned out to be in the way the Network Join Key was represented.
To join a WirelessHART Network, each device needs to know the ID of the network it is joining, and the secret join key for that network. The Network ID is a single integer between 0 and 36,863, and has to be unique for all networks operating in the same area. The join key is a 128 bit password, written as 32 hexadecimal characters. This would commonly be documented as:
Join Key: 00001581-00003135-00007676-00006240
Unless you have an IT background, “hexadecimal” might sound foreign to you, so the Join Key you choose for your site will most likely contain only the digits 0 through 9 and look like four, 8-digit numbers. With hexadecimal, however, the letters A through F also count as numbers and can be used in the join key. Most of us ignore this and stick with good old 0 through 9, which has its consequences.
Security is one issue, in that a join key using only 0 through 9 has 10^32 possible values – 100 million trillion trillion combinations. This sounds like quite a lot, however, if you add in options for A through F you get 3 million times as many possible combinations – not 3 million more combinations, 3 million times as many. Using the full gamut of hexadecimal numbers makes your system much harder for a fast PC to crack simply by running through common possibilities.
The other issue is how join keys are managed in different systems. If you use AMS Device Configurator, or an Emerson Hand Held Communicator, or even the Web based interface to the gateway, then you will enter the Network ID and Join Key exactly as written above, in hexadecimal. You enter the numbers, you are asked to confirm the numbers, the device is configured with these numbers, the gateway is configured with these numbers and all the devices join the network automatically.
Our unfortunate customer, using a non Emerson hand held communicator had configured their device correctly, however, this particular hand held communicator expects that the join key is entered as 4 decimal numbers, rather than 4 hexadecimal numbers. This device would convert the decimal values to hexadecimal equivalents before being writing them to the instrument. Unaware of this, the technician entered the join key exactly as written above, but the conversion changed each of the 4 parts of the join key into completely different numbers. This configuration was valid, but, due to the conversion, the instrument’s pass key did not match the gateway’s pass key, so the instrument would never be authorised to join the WirlessHART network. Using the example join key above, this is what happened in the hart hand held communicators (HHC):
Gateway configuration:
Enter: 00001581-00003135-00007676-00006240
Gateway key is: 00001581-00003135-00007676-00006240
Emerson HHC:
Enter: 00001581-00003135-00007676-00006240
Instrument key is: 00001581-00003135-00007676-00006240
Non-Emerson HHC:
Enter: 00001581-00003135-00007676-00006240
Convert to: 0000062D-00000C3F-00001DFC-00001860
Instrument key is: 0000062D-00000C3F-00001DFC-00001860
Note the mismatch between the gateway and the instrument key
The Network keys are hexadecimal numbers, and the Emerson gateway and Emerson HHC expect to be provided with a hexadecimal numbers and pass them through unmodified. The non-Emerson HHC expects to be provided with a hexadecimal number and to convert that number to its hexadecimal equivalent. Both methods are valid, and will work, as long as each device is provided with the correct value.
Had the join key contained at least one letter, the hand held communicator would have rejected the numbers as entered – it expected decimal values and decimal values don’t contain letters. This would have alerted the technician to the fact that something was amiss, long before waiting for devices with invalid join keys to fail to connect to the network. As would be typical, the technician assumed he had simply mistyped the join key, so entered the values again and waited again, with no success.
The realisation on what was to be done came when we looked very carefully at what this hand held communicator requested. For each part of the four parts of the join key, it asked for a value in the range from -2 billion to +2 billion. That’s a range of 4 billion, in decimal, which just happens to match the range of an 8 character hexadecimal value. We realised, of course that it was telling us to give it a decimal value and we had been giving it the wrong data type all along. One facepalm later, we understood the solution.
The trick for this particular hand held, is to first convert the join key from Hexadecimal, to its Decimal equivalent. You can use a scientific calculator, the function “=HEX2DEC()”in Excel or you can search the web for various online tools. For the example given above:
Hexadecimal Key: 00001581-00003135-00007676-00006240
Decimal equivalent: 5505 – 12597 – 30326 – 25152
This conversion done, we entered the four decimal values into the non-Emerson HHC and confirmed that we wanted to update the join key in the instrument. Moments later the instrument connected to the WirelessHART network – Problem Solved.
Captions:
Photo1. AMS Trex Device Communicator from Emerson.
Photo2. Source: Wikipedia: Caïn by Henri Vidal, Tuileries Garden, Paris, 1896, photograph CC BY 2.0 by Alex E. Proimos (https://www.flickr.com/photos/proimos/).
Emerson Automation Solutions
Australia