Continuous Data Collection from Laser Displacement Sensor using Instrument Control Toolbox

7 views (last 30 days)
Hello everyone -
I have two Acuity AR200 laser displacement sensors, which interface with my computer via serial port R232. I am using the instrument control toolbox to communicate with the lasers, which is working seamlessly. The lasers continously acquire and send displacement measurements, and a measurement can be obtained using fscanf(). My problem is that the string I am able to obtain is the measurement taken at the time fopen() is executed. When I move an object in front of the laser and attempt to read a new measurement with fscanf(s), it is still the old measurement. To get the new measurement, I must either close and re-open the connection or send the instrument a command to take only one reading rather than continuous readings (based on its sampling rate). My acquisition rate is therefore dependent upon the speed of my Matlab program and the speed of the serial port commands, rather than the very high rate of which the lasers are capable (1500+ Hz).
As I do not have Simulink, is there a way I can keep an "open connection" to the serial device to continuously sample data from the device rather than sending a command for a single reading in one line of code and then asking what the reading was in the next line of code? Thanks,
Tristan

Answers (1)

Vinod
Vinod on 24 Apr 2013
Any way I see it, you are going to be limited by the speed of the serial port to transfer the measurements back to MATLAB.
If the instrument supports a "batch mode" and has sufficient memory t hold the measurements taken in "batch mode", you could send a command to the instrument to make 'x' measurements, and then after the 'x' measurements are made, transfer it back to MATLAB. You could also set up a callback or other asynchronous communication to get the data in to MATLAB.

Categories

Find more on Instrument Control Toolbox Supported Hardware in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!