01-13-2011 02:15 PM
I need to receive data from a RS482 connection at a baud rate of 230400, will this be possible in the next version of Dasylab?
I am currently using V11.00.02
Solved! Go to Solution.
01-13-2011 02:20 PM
Hi,
There are no plans to provide support for higher baud rates at this time. I suppose that I would have to say that regardless of our real plans, since we cannot make future commitments.
Having said that....
The real speed of the RS232 module is determined by how the module processes data. It processes a single sample at a time, releasing control back to the DASYLab scheduler after each sample. This usually means that the higher baud rates won't change the effective data rate. Expect 1 to 10 samples/second.
01-13-2011 02:32 PM - edited 01-13-2011 02:34 PM
Hi CJ
I am trying to use a work around where i read the streaming data with a Labview Vi and then transfer data to Dasylab using DDE transfer, do you know of any other solutions that might work. I want to make an exe file that can be controlled by Dasylab
At baud rate 230400 up to 98 channels are send with 50 samples/sec as float32 including some tail info.
01-13-2011 03:20 PM
For now, the only answer would be to write your own module using the Extension toolkit. You'd need to be a confident C programmer to handle the high speed input.
02-16-2011 04:55 AM
Your own module developped with the Extension Toolkit is, sure, the best solution for high speed transfer beetween Labview and Dasylab but it's not so easy.
For slow transfer (<100 samples per second) think you could use DataSocket transfer (TCPIP encapsulation).
In Labview, you build real arrays (64 or 128 values for your example) for each measurement you write in the DataSocket database. So Dasylab can read this blocks as measurement channels.
As Dasylab DataSocket Module is not completely programmed (I discuss with Dasylab programmers but they do not want to finish they job), it has some limitations: 100 S/s (more will fill memory ans crash Dasylab) and no buffered transfer (you must choose a block size that represents one, two or more seconds (latency) because if Dasylab do not read the block before Labview updates it, it will be lost). For a good data integrity, you could add flags to control the transfer.
I use this way and it works but is speed limited. Because DataSocket is a ActiveX, it's usefull to communicate with other languages or softwares (Visual Basic, LabWindows...).
I hope it helps,
02-16-2011 10:29 PM - edited 02-16-2011 10:31 PM
Online high speed Data Transfer between LabVIEW and DASYLab: A memory shared transfer is the best base for this job. But this require:
- under LabVIEW: develop an Express-VI with included C/C++ Library for memory shared transfer on LabVIEW side
- under DASYLab: develop an C/C++ Extension Toolkit module for memory shared transfer on DASYLab side
So you needs an C/C++ programmer with DASYLab Extension Toolkit and LabVIEW Express-VI experience.
Best regards,
MHa