04.01.2015 Views

CR1000 Manual - Campbell Scientific

CR1000 Manual - Campbell Scientific

CR1000 Manual - Campbell Scientific

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Section 10. Troubleshooting<br />

10.4.2 Communicating with Multiple PCs<br />

10.4.3 Comms Memory Errors<br />

10.4.3.1 CommsMemFree(1)<br />

The <strong>CR1000</strong> can communicate with multiple PCs simultaneously. For example,<br />

the <strong>CR1000</strong> may be a node of an internet PakBus network communicating with a<br />

distant instance of LoggerNet. An onsite technician can communicate with the<br />

<strong>CR1000</strong> using PC200W via a serial connection, so long as the PakBus addresses<br />

of the host PCs are different. All <strong>Campbell</strong> <strong>Scientific</strong> datalogger support software<br />

include utilities for altering PC PakBus addressing.<br />

CommsMemFree() is an array of three registers in the Status table (p. 528) that<br />

report communications memory errors. In summary, if any CommsMemFree()<br />

register is at or near zero, assistance may be required from <strong>Campbell</strong> <strong>Scientific</strong> to<br />

diagnose and correct a potentially serious communications problem. Sections<br />

CommsMemFree(1) (p. 432), CommsMemFree(2) (p. 433), and CommsMemFree(3) (p.<br />

434) explain the possible communications memory errors in detail.<br />

CommsMemFree(1): Number of buffers used in all communication, except with<br />

the external keyboard / display. Two digits per each buffer size category. Most<br />

significant digits specify the number of larger buffers. Least significant digits<br />

specify the number of smaller buffers. When TLS (p. 469) is not active, there are<br />

four-buffer categories: tiny, little, medium, and large. When TLS is active, there<br />

is a fifth category, huge, and more buffers are allocated for each category.<br />

When a buffer of a certain size is required, the smallest, suitably-sized pool that<br />

still has at least one buffer free will allocate a buffer and decrement the number in<br />

reserve. When the communication is complete, the buffer is returned to the pool<br />

and the number for that size of buffer will increment.<br />

When TLS is active, the number of buffers allocated for tiny can only be<br />

displayed as the number of tiny buffers modulo divided by 100.<br />

CommsMemFree(1) is encoded using the following expression:<br />

where,<br />

CommsMemFree(1) = tiny + lil*100 + mid*10000 + med*1000000 +<br />

lrg*100000000<br />

tiny = number of 16‐byte packets available<br />

lil = number of little (≈100 bytes) packets<br />

mid = number of medium size (≈530 bytes) packets<br />

med = number of big (≈3 kB) packets<br />

lrg = number of large (≈18 kB) packets available, primarily for TLS.<br />

The following expressions are used to pick the individual values from<br />

CommsMemFree(1):<br />

tiny = CommsMemFree(1) % 100<br />

lil = (CommsMemFree(1) / 100) % 100<br />

432

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!