Sergey L Posted October 27, 2007 Report Share Posted October 27, 2007 Hello, I've been using LVSERIAL library for several years now, and it worked great. The program is a wrapper for communicating with the Windows RS232 port driver; it frees you from using VISA. It written by Martin Henz. Recently we started using LabVIEW and LVSERIAL on Intel Core 2 Duo machines (specifically Dell Latitude D520), and our LabVIEW executable periodically crashes (after anywhere from 2 to 10 hours of operation) indicating an exception in one of the LVSERIAL functions ("comm read.vi"). The very same program running on single-core processors (Pentium M, Celeron M, Pentium III) never show any problems, and they run for many days at a time. If I replace LVSERIAL calls with VISA calls in the same program on the same Dell machine, the program becomes stable. I would still prefer using LVSERIAL over VISA because of simplified installation and support (in particular, not having to deal with the issues of aliases and visaconf.ini), so I would like to resolve the issue of crashes. Does anyone have any ideas as to what may be causing these crashes? Thanks, Sergey Quote Link to comment
Michael Aivaliotis Posted October 27, 2007 Report Share Posted October 27, 2007 I don't have a solution of course. But you've just proven a point. With VISA you actually have support. Quote Link to comment
Rolf Kalbermatter Posted November 20, 2007 Report Share Posted November 20, 2007 QUOTE(liber @ Oct 26 2007, 07:58 AM) Hello,I've been using LVSERIAL library for several years now, and it worked great. The program is a wrapper for communicating with the Windows RS232 port driver; it frees you from using VISA. It written by Martin Henz. Recently we started using LabVIEW and LVSERIAL on Intel Core 2 Duo machines (specifically Dell Latitude D520), and our LabVIEW executable periodically crashes (after anywhere from 2 to 10 hours of operation) indicating an exception in one of the LVSERIAL functions ("comm read.vi"). The very same program running on single-core processors (Pentium M, Celeron M, Pentium III) never show any problems, and they run for many days at a time. If I replace LVSERIAL calls with VISA calls in the same program on the same Dell machine, the program becomes stable. I would still prefer using LVSERIAL over VISA because of simplified installation and support (in particular, not having to deal with the issues of aliases and visaconf.ini), so I would like to resolve the issue of crashes. Does anyone have any ideas as to what may be causing these crashes? Thanks, Sergey I'm not to familiar with lvserial and don't know it's internal details. Also I'm not sure what Visual C version and options Martin used to create the DLL. It is very much possible that the code generation used is not able to cope with multi core (and mayb hypertrheading) CPUs to well. If that would be the case, recompiling the DLL with more secure options and/or a newer Visual C compiler could help. Another possiblity is the use of globals or some other non-reentrant constructs in the C code and not using the Ui threading setting in the Call Library Node. But as Micheal said, that library is nice but it comes at the cost of not having an entire development team ready to deal with any issues that can come up due to new OSes, hardware or whatever the powers in the world can come up with. Rolf Kalbermatter Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.