LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

ENET 9163 datasocket

Hello,

I am testing a NI 9163 module with a NI 9205 module to see if we can use them for our applications. We have Global virtual channels in MAX tied to the channels on the Eternet board and I have created a vi to pull the channels from the board using tasks(converted from Global virtual channels) and it works fine. However in other applications we also use datasockets to open and read the global virtual channels. Just to be clear I am not using tasks and datasockets at the same time I just have to test acquiring in both ways. When I use datasockets I get a quality error 2147483648 which I converted and it says "subscription failed" every other channel and I get 0 value for that channel. I have swapped channels to see if the problem stays with the channel but it doesn't. It keeps being every other channel read. I have attached the vi I am using. Also, the ethernet module is connected directly to my computer and I have the firewall off. I was using a static IP address but when it was not working I changed it to the default DHCP or Link Local and the problem followed. I would appreciate some help thank you.

0 Kudos
Message 1 of 23
(3,071 Views)

Hey Bertha,

 

Can you post screenshots of the error dialog? You might also want to get rid of the Clear Errors VIs in your code which will make it easier to troubleshoot this problem. I would also definitely recommend going back to the static IP setup. That will be the most stable. Hope that helps!

John B.
Embedded Networks R&D
National Instruments
Certified LabVIEW Developer
0 Kudos
Message 2 of 23
(3,051 Views)

Hello John, thanks for the reply. I removed the clear errors I was just troubleshooting and forgot to take them out. I also have the static IP and the problem is that I don't get any errors I just get a quality 2147483648 and status 4294766191 out of the Datasocket read vi from every other channel that reads 0.

 

0 Kudos
Message 3 of 23
(3,044 Views)

Are you getting this information from the Distributed Systems Manager, and can you post a screenshot of the that information? Also, are you using the Datalogging and Supervisory Control Module?

John B.
Embedded Networks R&D
National Instruments
Certified LabVIEW Developer
0 Kudos
Message 4 of 23
(3,034 Views)

No I am just using datasockets. I can read them just fine in a cDAQ 9188 but I get this on the enet module. here is the screen shot of the blockdiagram and the front panel array is the data I get of the channel, array 2 is the quality and array 3 is the status.

Download All
0 Kudos
Message 5 of 23
(3,030 Views)

I never used the Distributed Sustem Manager but I get this every other channel

0 Kudos
Message 6 of 23
(3,026 Views)

I had some simulated devices I deleted them and here is the distributed system manager with the same problem

0 Kudos
Message 7 of 23
(3,024 Views)

Here they are working when I redirected them to the cDAQ 9188

0 Kudos
Message 8 of 23
(3,021 Views)

Here is an article which details some ways we might be able to get you up and running. I would also try to put a few milliseconds (say 50) wait in that for loop with the datasocket read, and see if that changes anything. It may be that we are trying to read from the datasockets too quickly.

John B.
Embedded Networks R&D
National Instruments
Certified LabVIEW Developer
0 Kudos
Message 9 of 23
(2,970 Views)

I tried all that was possible from the article an it still does not work. I don't think it has to do anything with my vi anymore because the values are also not shown in the distributed system manager. I tried downgrading the daqmx drivers and system configuration with max and it still does not work. Is it because you can't have global virtual variables tied to the ENET 9163 because the values can be accessed if you use tasks? Could it be a hardware failure even thought the values can be accessed if you use tasks? Does anybody have this hardware and system configuration and it works?

0 Kudos
Message 10 of 23
(2,947 Views)