System information

4-1
Section 4. The CR1000 Type Datalogger
The CR1000 type datalogger (CR1000, CR3000, and CR800) is a rugged and versatile
measurement device. This datalogger contains a CPU and both digital and analog inputs
and outputs. The CR1000 type datalogger uses a PakBus operating system and
communicates with applications via the BMP5 message protocol. Programs sent to the
datalogger are written in a BASIC-like language that includes data processing and
analysis routines. These programs run on a precise execution interval and will store
measurements and data in tables.
4.1 Dealing with Unexpected Commands
Since communication with a CR1000 type datalogger is packet based, chances
are an application will receive unexpected or asynchronous commands from
the datalogger. The response packet received may or may not be related to the
last command packet sent by the application or may not even be destined for
the application. Transaction numbers generated by the application and
included in the command message are one way to track appropriate responses.
By identifying the message type and knowing the transaction number, response
packets can be appropriately handled by the application. In addition, the
application should ignore messages that have a DstPhyAddr value in the packet
header that is different than the address being used by the application.
An application may also periodically receive packets from the datalogger that
weren’t requested but which need a response. For example, the datalogger may
send out a Hello transaction to which the application should respond. If the
application receives a command packet and does not respond, the datalogger
will continue to send command packets until the application answers
appropriately. If the application receives any packets from a datalogger that
haven’t been discussed in this documentation, the application should respond
with a PakCtrl Delivery Failure Message (Packet Type 0x81) specifying that
the command is not currently implemented or understood by the application.
4.2 Getting the Attention of the Datalogger and
Establishing a Baud Rate
The application should initiate communication with the datalogger by using a
SerPkt Link-state “Ring” transaction. The datalogger will return a SerPkt
Link-state “Ready” packet to let the application know to proceed with
communication. Although the Ring and Ready packets should be used, they
are not required. If the PakBus address of the datalogger is known, the
application can send any appropriate message to the datalogger at anytime.
The following is an example “Ring” packet from an application with a PakBus
address of 4094 sent to a datalogger with a PakBus address of 1 to determine
the communication link state:
BD 90 01 0F FE 71 D2 BD
The following is a corresponding example of a “Ready” response from a
datalogger with an address of 1 to an application with an address of 4094
letting the application know it can proceed with communication: