Section 10. Troubleshooting
CommsMemFree(2)
. Doubling
PakBusNodes
to
100
doubles
CommsMemFree(2)
from ≈300 to ≈600 (assuming a large PakBus network has
not been just discovered). The larger the discovered PakBus network, and the
larger the number of simultaneous TCP connections, the smaller
CommsMemFree(2)
number will be. A
PakBusNodes
setting of 50 is normally
enough, and can probably be reduced in small networks to free memory, if
needed. Reducing
PakBusNodes
by one frees 224 bytes. If
CommsMemFree(2)
drops and stays down for no apparent reason (a very rare
occurrence), please contact a Campbell Scientific application engineer since the
CR1000 operating system may need adjustment.
10.8.3.3 CommsMemFree(3)
CommsMemFree(3)
Specifies three two-digit fields, from right (least
significant) to left (most significant):
•
lilfreeq
= "little" IP packets available
•
bigfreeq
= "big" IP packets available
•
rcvdq
= IP packets in the received queue (not yet processed)
At start up, with no TCP/IP communication occurring, this field will read 1530,
which is interpreted as 30
lilfreeq
and 15
bigfreeq
available, with no packets in
rcvdq
. The Ethernet and/or the PPP interface feed
rcvdq
. If
CommsMemFree(3)
has a reading of 21428, then two packets are in the received
queue, 14
bigfreeq
packets are free (one in use), and 28
lilfreeq
are free (two in
use). These three pieces of information are also reported in the
IP trace
(p. 518)
information every 30 seconds as
lilfreeq
,
bigfreeq
, and
recvdq
. If
lilfreeq
or
bigfreeq
free packets drop and stay near zero, or if the number in
rcvdq
climbs
and stays high (all are rare occurrences), please contact a Campbell Scientific
application engineer as the operating system may need adjustment.
CommsMemFree(3)
is encoded as follows:
CommsMemFree(3) = li bigfreeq*100 + rcvdq*10000 +
sendq*1000000
where,
lilfreeq
= number of small TCP packets available
bigfreeq
= number of large TCP packets
rcvdq
= number of input packets currently waiting to be serviced
sendq
= number of output packets waiting to be sent
The following expressions can be used to pick the values out of the
CommsMemFree(3)
variable:
lilfreeq = CommsMemFree(3) % 100
bigfreeq = (CommsMemFree(3) / 100) % 100
rcvdq = (CommsMemFree(3) / 10000) % 100
sendq = (CommsmemFree(3) / 1000000) % 100
493
Summary of Contents for CR1000
Page 2: ......
Page 4: ......
Page 6: ......
Page 32: ......
Page 36: ......
Page 38: ......
Page 40: ......
Page 60: ...Section 4 System Quickstart Figure 16 PC200W View Line Graph 60 ...
Page 96: ......
Page 98: ...98 ...
Page 302: ......
Page 453: ...Section 8 Operation Figure 115 Using the Keyboard Display 453 ...
Page 456: ...Section 8 Operation Figure 118 Real Time Custom 456 ...
Page 457: ...Section 8 Operation 8 8 1 3 Final Memory Tables Figure 119 Final Memory Tables 457 ...
Page 458: ...Section 8 Operation 8 8 2 Run Stop Program Figure 120 Run Stop Program 458 ...
Page 460: ...Section 8 Operation Figure 122 File Edit 460 ...
Page 461: ...Section 8 Operation 8 8 4 PCCard Memory Card Display Figure 123 PCCard CF Card Display 461 ...
Page 478: ......
Page 506: ......
Page 536: ......
Page 636: ......
Page 642: ......
Page 644: ......
Page 676: ......
Page 677: ......