Author: Craig Abbott
Recently, a customer using a non-Emerson 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 a 475 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 configuration of the Network Join Key.
In order 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 be treated as 4 decimal 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 1032 possible values – 100 million trillion trillion combinations. This sounds like quite a lot, however, if you add in 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 far more secure.
The other issue is how join keys are managed in different systems. If you use AMS Device Configurator, or a 475 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.
The decimal values are converted to hexadecimal before being written it 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 provided the instrument with an invalid pass key so that it would never be authorised to join the WirelessHART network. Using the example join key above, this is what happened:
Join Key: 00001581-00003135-00007676-00006240 (as entered by technician)
Join Key: 0000062D-00000C3F-00001DFC-00001860 (as written to instrument)
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 mistyped the join key, so entered the values again and waited again, with no success.
The realization 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 and then presented completely different hexadecimal values for confirmation. One facepalm later, we realised what needed to be done.
The trick for this particular hand held, is to first convert the join key to decimal using a scientific calculator, the function “=HEX2DEC()”in Excel or any other tool you can Google. For the example given above:
Join Key: 00001581-00003135-00007676-00006240 (in hexadecimal)
Join Key: 5505 – 12597 – 30326 – 25152 (in decimal)
This conversion done, we entered the decimal values rather than our standard join key. The confirmation provided by the communicator matched our original join key which we approved and it was written to the instrument. Moments later, the instrument connected to the WirelessHART network – Problem Solved.