Image Not Available
Current Version: 4.5
BMP5 Direct Software Development Kit (SDK) is a programming interface available at no charge in the Downloads section. It enables you to create custom software clients that support communications with one PakBus datalogger using an RS-232 or IP Port connection.Read More
BMP5 Direct SDK includes a simple call-level API (SimplePB.DLL) that acts as a wrapper for the included PakBus communications engine (coralib3d.dll).
OpenPort, ClosePort, OpenIPPort, CloseIPPort, GetClock, SetClock, GetValue, SetValue, GetData, GetDataHeader, GetCommaData, File_Send, GetAddress, GetStatus, GetTableNames, GetDLLVersion, GetLastResults, FileControl, SetSecurity, and GetTableRecordsCount
1) The developer should be familiar with Campbell Scientific’s hardware and software. 2) SimplePB.DLL and coralib3d.dll must be installed in the same folder. 3) The datalogger must use the PakBus communications protocol. 4) Only one datalogger can be connected at a time.
Retired dataloggers must have the PakBus operating system.
Number of FAQs related to BMP5: 11
Expand AllCollapse All
In general, no. The BMP5 Direct SDK only works with direct connections (IP or COM port connections) between the datalogger and the computer, or connections that appear to be direct (that is, modems that are transparent, like the SRM-5A Short Haul Modem).
Yes. The BMP5 Direct SDK can communicate with the datalogger as long as two conditions are met:
Yes. This can be done using a block of unsafe (that is, .NET unmanaged) code. A C# sample program can be obtained by contacting Campbell Scientific’s technical support.
Current dataloggers compatible with the BMP5 Direct SDK are the CR200X-series, CR1000, CR3000, CR800, and CR850.
Retired compatible dataloggers include the CR10X-PB, CR23X-PB, and CR510-PB. These dataloggers must have the optional PakBus operating system installed, which is available on the Downloads page of our website.
The BMP5 Direct SDK is a software development kit that allows the creation of custom software clients for simple and direct communication with a single datalogger containing a PakBus operating system.
Using the FileControl() instruction, the .dat files can be retrieved directly from the memory card. When data is collected by the standard method (not as downloaded files, but as streamed data) with a GetData() or similar instruction, the memory card is automatically used as a source of records to be returned when the internal CPU table no longer contains the oldest data. These records can be retrieved simply by using their record numbers.
This can only be done by sending a different program using the FileControl() or File_Send() instruction. Data tables in a datalogger cannot be added or deleted at datalogger runtime using any of our datalogger communication software, such as LoggerNet, PC400, PC200W, or any of the SDKs. Changes (additions, deletions, or modifications) to data tables within a datalogger have to be changed inside the actual datalogger program using a program editor such as CRBasic. After the data tables are modified within the program, the program must be resent to the datalogger. Compiling the new program on the datalogger will reset and create new tables as defined by the program.
To clear a data table (zero out the data), the CoraScript control, found in either the LoggerNet-SDK or the LoggerNet Server SDK, would need to be used. This functionality does not exist in the BMP5 Direct SDK.
After running the downloaded bmp5directsdk4.0.exe installation file, both the coralib3d.dll and simplepb.dll libraries should be in the C:\Campbellsci\BMP5DirectSDK\Controls directory unless a directory other than C:\Campbellsci\BMP5DirectSDK was specified during installation.
This is not supported in the BMP5 Direct SDK. The options available are to specify a starting record number, get the most recent record, or collect all available records. When specifying a starting record, all data from that record forward is then retrieved. The burden is on the programmer that uses the SDK to keep track of the last record number retrieved within the program and then to retrieve what is needed or desired in the future.
The functionality to specify a date/time data collection range is available in the LoggerNet-SDK and the LoggerNet Server SDK. Both the LoggerNet-SDK and the LoggerNet Server SDK are available for purchase from Campbell Scientific.