Our full technical support staff does not monitor this forum. If you need assistance from a member of our staff, please submit your question from the Ask a Question page.


Log in or register to post/reply in the forum.

BMP5 Sample Program


AlexChao Nov 11, 2008 06:14 AM

Dear Sir

I use BMP5 sample program for VB,and GetValue Command to get data from CR1000.If I develop my program for VB,our program will delay about 21 second,if i connect to CR1000 directly.This make our program busy,and can't do next step.
I remember that there are commands for CR10X user manual,and I can read data.Do you give me a hand to solve this ?


jmurray Nov 13, 2008 06:54 PM

It sounds like you are using the BMP5 Direct SDK to communicate with a CR1000 datalogger. What version of coralib3d.dll and simplepb.dll are you using?

GetValue is used to get a single value from a specific table in the datalogger. I can't think of any reason this action would cause a delay. What are the table and value you are trying to get? Do you have the same problem with lack of response no matter what value or table you are requesting? Do any of the other commands like GetClock work without a delay?

The CR1000 uses a packet based protocol for communication so there aren't simple commands that you can use to get data directly from the datalogger like you may have used with the CR10X.

Other SDK options available to communicate with the CR1000 datalogger include the LoggerNet SDK, LoggerNet Server SDK, and JAVA PakBus SDK.


AlexChao Nov 13, 2008 10:50 PM

What version of coralib3d.dll and simplepb.dll are you using?
--coralib3d.dll (1.3.9.83),simplepb.dll (2.0.1.3)

What are the table and value you are trying to get?
--I am trying to get "Public" table and 16 values per time.

Do you have the same problem with lack of response no matter what value or table you are requesting?
--Sometimes,because I connect to datalogger with wireless.

Do any of the other commands like GetClock work without a delay?
--yes

I want to develop my real time software to connect 10 CR1000 datalogger with coralib3d.dll,and simplepb.dll.In fact,this problem that delay when GetValue happen.Could you support
me to give other command directly getting value ?


jtrauntvein Nov 15, 2008 02:58 PM

simplepb.dll maintains log files in the c:\campbellsci\simplepb\2.0\logs that are likely to contain information that can diagnose the communication problem that you are experiencing. Some of the issues that you may be facing include:

- poor link quality causing communications errors and forcing retries.

- If your datalogger is using card storage (a CFM100 or NL115 module), there is a delay imposed by the datalogger in retrieving table definitions while it reads the card.

Again, the above mentioned log files would likely contain the information needed to diagnose what is going on.


By way of suggestion: You will be better off polling the entire public table using GetData() and picking the values you want out of the result than you would be to try to poll the 16 values individually. Also, if I understand your email above correctly, you will be attempting to poll values from 10 different loggers. Since simplepb is designed to work with only one datalogger at a time and it does not remember the state of any datalogger between runs, you will face the overhead of renewing table definitions each time that you connect to a datalogger. In this case, you would be much better off using a product like the LoggerNet SDK or the Java SDK which will be more likely to poll your network efficiently.

Regards,

Jon Trauntvein

Log in or register to post/reply in the forum.