LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

LabVIEW not working with DS2431 TEDS chips through serial interface.

Hi

We are experimenting with using Dallas Semiconductor's DS2431 chip through serialport using DS9097U-009 device described here.

This setup is connected to a Dell workstation and seems accessible through COM1 port using Maxim's (DS) OneWireViewer Java Application described here.

I was expecting that the DS2431 chip will be accessible using the same setup through LabVIEW also, using the create_teds_serial.llb library described here. But it did not work.   I debugged deep into it and found out that if in the "Seria teds Hardware Write to 1-wire EEPROM.vi" I passed just one byte of data, then it worked, but if I passed two bytes then it broke. When I say "worked" I mean it didn't give an error. Any time there were more than one bytes of data, the comparator checking whether the data we read back from the chip is the same as the data we intended to write, failed, and I get error -715 "teds_Errors.vi<APPEND>"

At this point I'm not even sure if that one bytes goes to it's intended place or goes some place else. But from whatever little imfo there was available on the ni site at the link above and here, it seemed like this should've worked.

Any idea where the problem is or how should I go about fixing this?
0 Kudos
Message 1 of 20
(9,290 Views)
Also eventually I plan to use DS2431 chip as a TEDS memory with NI 9219 which seems to support TEDS, but when I tried to program for it on Compact RIO FPGA using LabVIEW, I couldnot find any Property or Method in that IO module that provided back the TEDS data, so my next question is how does NI 9219 module use the TEDS cip and how am I supposed to program for it?

Thanks
Spundun.
0 Kudos
Message 2 of 20
(9,283 Views)
Hi Spundun,

Regarding using the DS2431 with an NI 9219 under CompactRIO, you only have read access to the TEDS memory through a LV FPGA Host Interface method named "Read TEDS".

Not sure if there is an example for the 9219 as to how to read TEDS, but I know the NI 9233 Getting Started example demonstrates how to read TEDS on CompactRIO. The important thing to be aware is that the information is only available at the Host Interface and not directly in the FPGA.

C:\Program Files\National Instruments\LabVIEW 8.2\examples\CompactRIO\Module Specific\NI 9233\NI 9233 Getting Started

Hope this answers your second question.

JMota
0 Kudos
Message 3 of 20
(9,228 Views)
Hi Spundun,

You can locate a TEDs example for the 9219 at the following location if you have NI RIO 2.1.3 or higher installed:

C:\Program Files\National Instruments\LabVIEW 8.2\examples\CompactRIO\Module Specific\NI 9219\NI 9219 teds

Regards,

Bassett
0 Kudos
Message 4 of 20
(9,224 Views)
Thanks Basset Hound and JMota for answering my second question, I was able to find it, and after studying it for half a day, was able to figureout what was going on. 🙂 (I'm just getting started with LabVIEW and this was my first question here actually).

But I still need the answer to my first question. Why did the library I downloaded from ni.com did not work with my setup? What is wrong and how can I fix it. Please let me know if you want more information about my problem, I'm not too sure what is significant and what is not.

What is the method peopel usually use to write the teds data to the chip as I mentioned?

0 Kudos
Message 5 of 20
(9,085 Views)
I have read and written multiple bytes to the DS2431 via the DS9097 device with all LabVIEW code. The code is proprietary so I cannot share it here. It sends command characters and uses hex FF characters as placeholders for reads. The system I have can read and write at least 32 characters at a time.

Lynn
0 Kudos
Message 6 of 20
(9,086 Views)
Thanks Lynn for responding,

Can you tell me if it was a DS9097-009 device or DS9097-S09 device that you used?

Also DS9097-009 seems to have two chips that you can access, one is something built-in and the other is the DS2431 chip. Did you have to address the DS2431 chip specifically somehow? the NI library code that I mentioned above seems to assume that the address space for the DS2431 chip starts from 0, and I didn't see any code that "select"ed the chip specifically, I have been wondering if that was the problem.

Here are two screenshots of the OneWireViewer java app from maxim/ds, showing two items in the device list (I've only connected the DS9097-009 through com1 port)





Thanks
Spundun.
0 Kudos
Message 7 of 20
(9,070 Views)
Spundun,

I do not recall which version of the DS9097 was used. If there was any addressing, it was embedded into the command set that was sent out. I did not write the VIs and did not have access to the background data. For example I do not know how the data is structured in the ROM. The read ROM command set was the following series of hex characters: C1 E1 33 FF E3 C1. Almost every function was bracketed by the C1 E1 ... E3 C1 commands. Some of the higher level VIs would go through a series of reads, discard the data then do an Init (C1), and then read again, finally using the data. I wondered if there was some kind of timing issue or if the VIs may have some subtle bugs. My task was to do something other than this part of the program, so I am not sure what was going on.

Lynn
0 Kudos
Message 8 of 20
(8,994 Views)
I have still not been able to get the TEDS code from NI website working and I don't know whats wrong with the code. The website says its supposed to work.
0 Kudos
Message 9 of 20
(8,483 Views)
I'm having the same issue with the DS2431 and DS2430A not working with the create_teds_serial.llb.  Has anyone found a solution?
0 Kudos
Message 10 of 20
(7,446 Views)