Campbell Hausfeld SDM-CAN Manual Do Utilizador

Página de 74
SDM-CAN CAN-Bus Interface User Guide 
3.2  System Limitations 
The SDM-CAN interface, in combination with a datalogger, has some limitations 
of which you need to be aware: 
1)  Memory Allocation and P118 
Firstly, as discussed above, when the datalogger compiles a program with 
P118 in it, it sends commands to the SDM-CAN instructing it what to do at 
run time. When it does this the SDM-CAN allocates some of its memory (a 
‘bin’) for each call of P118 in the program. Appendix A discusses the 
operation of these bins and other buffers in the SDM-CAN in more detail. 
However, most users only need to know that there is a limit of 128 bins in the 
SDM-CAN thus constraining the number of instances of P118 for any one 
SDM-CAN to 128.  
It is, of course, possible to have several SDM-CAN devices connected to the 
datalogger(s), each with separate SDM addresses, and each with up to 128 
calls of P118. 
2)  Data Capture Limitations 
Another limitation is the capability of the overall speed at which the 
datalogger can pick up and transfer data values back to its memory. These 
limitations do not arise within the SDM-CAN interface itself, as it uses a high 
speed CAN interface along with a fast microprocessor. Data can therefore be 
captured off the CAN-Bus at close to the maximum bus loading at the 
maximum baud rate. However, the limitations arise from the datalogger itself, 
both in terms of its capability to call P118 often enough (especially when 
making other measurements) and also in its capability to transfer the data from 
the SDM-CAN back into its memory over the SDM communications port. 
The exact throughput possible is determined by a very complicated 
combination of variables, including the speed of the datalogger in question, 
the program it is running, how many SDM devices are in use and, to a lesser 
degree, other tasks it is running, e.g. communications activity. 
In practise, for fast data, it will not be practical to capture every single data 
packet. However, the SDM-CAN will be used to sample the last reading it 
received on the CAN-Bus before the datalogger requests data.  
If a new data value has not been captured from the CAN-Bus since the last 
value was transferred to the datalogger, the SDM-CAN can either be set to 
always return the previous value captured (default) or it can be configured 
(see the internal software switch settings below) to return the standard out of 
range value to the datalogger, i.e. –99999 if the value has already been read. 
This value will also be returned in the event of other errors including 
communication errors between the datalogger and SDM-CAN. 
Data stored in packets on the CAN-Bus can be encoded in a number of 
different ways. The SDM-CAN itself can cater for many different types of 
data, but there are some limitations imposed by the way in which the data is 
stored in the datalogger. The prime limitation is that data read into the 
datalogger is first converted into a 4 byte floating point format which can only 
resolve, at most, 23 bits, or roughly 7 digits, of the decimal equivalent of any 
number stored. Furthermore, when data is stored to final storage, the 
resolution is truncated again to either 4 or 5 digits (with the exception of the 
CR5000/9000 dataloggers which also support storage in IEEE4 format). 
To avoid over-running the datalogger’s internal floating point resolution, the 
maximum length of integer that the SDM-CAN can send or receive is 
therefore limited to 16 bits. This limited resolution can cause problems when 
reading CAN data where data is encoded as 32 or 64 bit integers.  
3-2