Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

Problem to identify TEDS sensors using DAQ hardware

Hi,

I'm having problems to identify TEDS sensors using my DAQ. The aquisition plataform is NI cDAQ-9172 and the modules are NI 9233, the TEDS EEPROM is DS2430A from Dallas Semiconductor/MAXIM.

I connect the EEPROM in one input channel using Class I template (Two-Wire Interface for IEPE Sensors) and try to identify then using the "Scan for HW TEDS" option in the NI Measurement and Automation Explorer but i get "Error -200741 occurred at Configure TEDS" mensage.

 

Someone know why it happens?

 

Tanks

 

João Paulo

0 Kudos
Message 1 of 11
(5,602 Views)

Hi João,

 

What version of DAQmx are you using?  There was a bug in versions of DAQmx prior to 9.0 where TEDS could potentially be read improperly for modules in a cDAQ-9172 chassis.  If you are using an earlier version, you might consider upgrading.

 

Class I is the proper configuration for the NI 9233.

 

The description for error -200741 is "A TEDS sensor not supported by DAQmx is connected to the specified physical channel.".  This means the driver is properly detecting the presence of the DS2430A and is able to read the contents of the EEPROM but cannot correctly parse the data.  What template are you using for the TEDS data?  Did you write it yourself or is it from a sensor manufacturer?  If you wrote it yourself, did you write the ID byte to the PROM?  Did you use DAQmx to write it?

Message Edited by MarkGrot on 08-21-2009 11:33 AM
0 Kudos
Message 2 of 11
(5,596 Views)
Hi,

I'm using DAQmx 8.8, so i`ll start looking a last version of the software.

About the template, i`m using the templates 27 and 28. I`m trying to develop the system by myself, so i`m writing and reading the EEPROM.

For start, i tried to identify the empty EEPROM, without any data write, usign DAQ, but it not worked.    
Then I tryed to write in EEPROM using a serial port, with DS9097U Universal 1-Wire COM Port Adapter from MAXIM. This worked, but not as it should. When i read the EEPROM using the same adapter the data was completely wrong, including the ID that you quoted. I tryed with others templates, but the error persisted.

So i tryed again with the DAQ, now knowing that the EEPROM is ok, but the error remained.

When i use the serial port I'm sure that the program is ok because the data write in virtal TEDS works fine, and i used these virtual TEDS associated with the DAQ channel. I use "Single Device 8-bit transfer" to write in the serial port, the only option that worked.

   
Grateful

João Paulo

0 Kudos
Message 3 of 11
(5,585 Views)

Let me know if the upgrade to DAQmx 9.0 helps.

 

My guess is that the data isn't correctly written to the EEPROM given that when you read it back using the adapter you don't read what you expect.  Have you tried writing the TEDS data through the DAQmx API?  In LabVIEW you can use "DAQmx Write TEDS Data.vi", in C DAQmxWriteToTEDSFromFile, etc.

 

A scan for TEDS will only work if the TEDS data is properly written to the EEPROM.  You don't need TEDS configured to use the DAQmx write TEDS commands--they will detect the presence of your EEPROM.  If the write was successful the TEDS data should show up properly configured for your channel in MAX.

0 Kudos
Message 4 of 11
(5,582 Views)
HI,

I forgot to say, i tryed already write the EEPROM using DAQ and the same error occurs. I get Error -200741 message

"DAQmx Write TEDS Data (U8 Array).vi:1<append>
<B>Physical Channel Name: </B>cDAQ1Mod1/ai3"

So, of the 3 options available, the Virtual TEDS works fine, the Serial port works, but the data is wrong, and use the DAQmx doesn't works.

I will try get DAQmx9.0 until monday and inform if works.

Grateful

João
0 Kudos
Message 5 of 11
(5,577 Views)

Well, I update for DAQmx 9.0 and the error persists.

 

I'll adding the LabVIEW code i'm using to try read and write the EEPROM.

 

Tanks for help

 

João

0 Kudos
Message 6 of 11
(5,541 Views)
Can you post an example of the virtual TEDS files you are generating?  I would like to see where it is failing in the DAQmx driver.  I have to check but I think virtual TEDS might be tolerant of an additional checksum where hardware TEDS is not.
0 Kudos
Message 7 of 11
(5,538 Views)

MarkGrot

 

I'm sending two virtual TEDS files, a bridge sensor that I created using the code that i sent above and i use for tests. And a microphene TEDS created by a code I developed.

 

Tanks for help

 

Joao

0 Kudos
Message 8 of 11
(5,532 Views)
There are two problems:  first,  you have your EEPROM connected backwards.  Flip the connection and you'll see a different error.  The driver should be giving you a better error for the wrong connection though.  Second, your TEDS data is too large (which is the second error).  The DS2430A is a  256 bit EEPROM and the TEDS data you are trying to write is larger than that.  You might consider a different EEPROM like the DS2431 or DS2433.
0 Kudos
Message 9 of 11
(5,529 Views)

Hi,

 

About the size of EEPROM you are right, the data are to large for it. But the conection is right, I checked in the datasheet and is right. Anyway, I tryed flip the conection and the error with DAQ realy changes. But with the serial adapter, that gave no error before, a error "No presence pulse" showed up.

 

So, there is a way to test DAQ with this EEPROM? I looked the others templates from the code I sent, but none gave a virtual TEDS with less than 256 bytes.

 

Tanks for help

 

João

0 Kudos
Message 10 of 11
(5,523 Views)