From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Trying LabView 2016 with an old Daytronic System 10

I should preface this by saying I'm not too familiar with LabView and was hoping I could get some help with something.

 

Our company has a Daytronic System 10 data acquisition system. It’s probably close to 30 years old, but still works. We’ve been pondering whether to continue using the System 10 for a while longer but attempt to replace the PC and software OR look for a brand new data acquisition system. We thought we could try the former first assuming we could get software to read the data from the System 10 on a newer PC. A coworker suggested I try LabView as he has some experience with it. We found the System 10 does have a LabView set of VIs (but no longer supported) found here: http://sine.ni.com/apps/utf8/niid_web_display.download_page?p_id_guid=E3B19B3E9328659CE034080020E748... Figured it wouldn't hurt to give it a try.

 

I downloaded the LabView 2016 evaluation and installed it and connected the System 10 to the PC via the serial COM port. The COM port is set to 9600 baud, 7 data bits, 2 stop bits, no parity to match the System 10. Flow control is set to none. Daytronic has a utility called UtiliPAC410 on their website to setup and test the System 10 first. This test was successful and I was able to read the channels and issue commands to the System 10.

 

Troubles ensue when trying to use downloaded System 10 VIs for LabView. I encountered issues with the Serial Port not being initialized at first when attempting to open the example datalogger. Doing some research indicated I needed to download the appropriate NI-VISA package found here: http://www.ni.com/download/ni-visa-5.3/3823/en/ I opened NI Max to configure COM1 and it reads as ASRL1::INSTR and validated it successfully.

 

I configure from System 10 Serial Init.vi. It's defaulted to expect 19200 baud, 8 data bits, 1 stop bit on port 0 (COM1) so I had to make some of its controls visible to set 9600 baud, 7 data bits, 2 stop bits. These settings are passed to Serial Port Init.vi and to the underlying base VISA Configure Serial Port (Instr).vi. It now appears to initialize and doesn't give me any errors, but we're still not getting any data readings either. It seems like I'm missing something and I wasn’t sure if anyone had any ideas about LabView configuration for the System 10. Are the System 10 VIs for LabView just really too old to use now? I was hoping not to have to totally re-invent to wheel. Daytronic indicates the System 10 uses hardware handshaking, but Flow Control is set to none on COM1 and their utility works fine, so I don't think that would be an issue with LabView either.

 

Any help would be appreciated.

0 Kudos
Message 1 of 8
(3,211 Views)

That driver should work just fine.  That being said, it is full of poor programming practices and more than a few bugs.  It relies on functions that are not even exposed anymore.  I'd rewrite it.


"Should be" isn't "Is" -Jay
0 Kudos
Message 2 of 8
(3,182 Views)

I agree with Jeff - this setup should work fine.

I would start with running a LabVIEW RS-232 example (like Continuous Serial Write and Read.vi) and trying to send some simple commands. It's the easiest way to find out where the problem is.

I would also update NI-VISA to the newest version (http://www.ni.com/download/ni-visa-16.0/6184/en/).

0 Kudos
Message 3 of 8
(3,172 Views)

Thanks Jeff and stockson for your replies. I did upgrade the NI-VISA package first (I didn't realize there was a much newer version). I ran the VIs again. What still confuses me is Flow Control. It's set to None on COM1, but the VISA VI is getting a value of "6" which doesn't seem to represent anything. I have attached a few screenshots showing the settings in System 10 Serial Init.vi when ran, the settings received by Serial Port.vi, and then passed to VISA Configure Serial Port (Instr).vi. I also tried Continuous Serial Write and Read.vi and got an error -1073807339 (Timeout expired before operation completed). I'm not sure what this means.

 

Again, the System 10 is connected and working, I've also attached a few screenshots of their setup program and issuing of commands and display.

0 Kudos
Message 4 of 8
(3,126 Views)

First, you are sending *IDN to the device, are you sure that it will even respond to that command?

 

Second, you have configured your termination character in LabVIEW to be x0A which is linefeed, but your one screenshot of the Daytronic test setup shows 0D which would be a carriage return.

Message 5 of 8
(3,106 Views)

First issue that I see is termination character. In the "Continuous Write and Read.vi" you should change "A" (\n) to "D" (\r).

0 Kudos
Message 6 of 8
(3,095 Views)

I'm not sure why the program chooses "6" as parity control, but I expect there is some error in these calculations:

savefe.png

 

I would just replace it it with a "0" (which corresponds to "none") and see if it changes anything.

 

 

By the way - LabVIEW does a pretty good job with cleaning the diagram in case of these driver VIs. Then the program is much more readable.

0 Kudos
Message 7 of 8
(3,070 Views)

And while your messing with that block in red. lets de-rube-goldberg it

Capture1.PNG

 

Then go back to that In Range and Coerce and check the include upper limit.  I always thought that was a bug of IR&C to even allow the limit to show that way with integers since it includes the integer limits with integer operations all the time


"Should be" isn't "Is" -Jay
Message 8 of 8
(3,061 Views)