Knowledge Base

The following tables depict how the Xwire data block needs to appear in memory.

Xwire receive data block:
MemoryBoard designator DescriptionFormat
0 – 3 I010 bit analog inFloating point number returned in the range of 0-1
4 – 7I110 bit analog inFloating point number returned in the range of 0-1
8 – 11I210 bit analog inFloating point number returned in the range of 0-1
12Conductivity channel dataBits 0 – 4 = Conductivity

Bits 5&6 unused

Bit 7 = Reading Valid

*Note that this data block does not need to start at memory location 0. The data block can be moved anywhere in memory as long as it stays together is in the order above and is defined in the NVEM Xwire table in the program code.

Memory locations in the Xwire receive data block 0-11 are 10 bit analog inputs from the SX10504. Each channel is returned in 4 bytes as a floating point number in the range of 0 to 1. The same format used by the fanin instruction.

Memory location 12 holds the conductivity channels data.

Bits 0-4 are the 5 conductivity channels. The bits are set true when the channel is conducting.

Bits 5&6 are unused.

Bit 7 is set true when the conductivity channels have had enough time to be Valid.
This is set following an enabling of the conductivity system from either the user setting the Conductivity enable or board power up. The timeframe for this is 4 times the conductivity Time factor.

Xwire transmit data block:
MemoryBoard designator DescriptionFormat
0 – 3O010 bit analog outFloating point number in the range of 0-1
4 – 7O110 bit analog outFloating point number in the range of 0-1
8 – 11Internal Thermistor drive.8 bit analog outFloating point number in the range of 0-1
12Conductivity control byteBits 0-6 = Time factorBit 7 = Conductivity disable

*Note that this data block does not need to start at memory location 0. The data block can be moved anywhere in memory as long as it stays together is in the order above and is defined in the NVEM Xwire table in the program code.

Memory locations in the Xwire transmit data block 0-7 correspond to the two 10 bit analog outputs on the SX10504. Each channel is sent in 4 bytes as a floating point number in the range of 0 to 1. The same format used by the fanout instruction.

Memory locations in the Xwire transmit data block 8-11 correspond to the 8 bit thermistor drive analog output.
This channel is sent 4 bytes as a floating point number in the range of 0 to 1.
With this memory set to 0 it will result in a 0V drive, with this memory se to 1 it will result in 20V drive.

Memory location 12 in the Xwire transmit data block is the conductivity control byte.

Using Conductivity channels

The conductivity of each of the 5 channels is tested with an AC excitation signal generated locally on each board. However if 2 or more boards are hooked up in the same tank/vat of liquid their excitation signals can interfere with one another and produce false readings. This can be overcome by only allowing only one board at a time to measure liquid levels. This is done by setting bit 7 of the conductivity control byte TRUE to completely turn off all conductivity channels on the alternative SX10504’s.
By having one board’s conductivity enabled at a time (by setting bit 7 of the conductivity control byte FALSE) it is possible to cycle through all the boards
in the shared tank/vat of liquid, thus we can have 10 boards all measuring different liquid levels but only 1 board will be testing conductivity at a time.

Bit 7 of the conductivity control byte is false by default.

Bits 0-6 of the conductivity control byte control the conductivity time factor.

The time factor is the time the conductivity channel must be stable before the SX10504 deems it to be conducting. This prevents false triggers due to the conductivity electrodes getting splashed and liquid sloshing around.

Equation:

Finding seconds: (Number + 1) x .05 = seconds

Finding number: (seconds / .05) – 1 = number

CCBValue when set
Bit01
Bit12
Bit24
Bit38
Bit416
Bit532
Bit664

Example: If there are 3 bits set. Bit0 is set, Bit 2 is set and Bit 5 was set the total value is 37. (1 + 4 + 32 = 37)

Therefore (37 + 1) x .05 = 1.9 seconds.

Or, if working out the bits to set from the time you require.

(1.9 seconds / .05) – 1 = 37