Jump to content

Recommended Posts

I have just joined a project where we need to communicate with custom hardware using the IPv6 protocol. A quick search indicated that LabVIEW does not support the IPv6 protocol (someone PLEASE tell me I'm wrong!!!). The intention was to use LabVIEW for this project since we have a team of experienced LabVIEW developers and we need to control other instruments over serial and GPIB - not to mention that we have a very short time to delivery and LabVIEW is about the only tool that gives us any chance of success! I'm an experienced .NET developer, so my first thought is to create a .NET DLL that wraps the IPv6 networking tools available in the .NET 2.0 (or 3.0, although I haven't used it) framework and call that from LabVIEW. I'll build a LabVIEW wrapper around the DLL that encapsulates all the functionality so that the DLL could actually be anything that supports IPv6 - the reason for this is that somewhere down the road the customer may ask for inter-platform portablility (to Linux) and then the DLL could be replaced with a .so (is that right? My Linux knowledge is pretty rusty) and the code would still work. At any rate, we'll still have LabVIEW for all the UI, instrument control, configuration control, etc. Please offer criticism of this approach and feel free to suggest any alternatives.

Thanks for your help!

Mark

Link to comment

QUOTE(mesmith @ Feb 13 2008, 03:01 PM)

I have just joined a project where we need to communicate with custom hardware using the IPv6 protocol. A quick search indicated that LabVIEW does not support the IPv6 protocol (someone PLEASE tell me I'm wrong!!!).

Well, I think LabVIEW isn't capable of any IP protocol, it just uses the stack from provided by the OS, so if your OS supports IPv6 you should be OK.

What's special about the hardware and highly advanced it needs IPv6?

Can you talk with the device using hyperterminal?

If yes you can just use the device under LabVIEW.

Ton

Link to comment

QUOTE(tcplomp @ Feb 13 2008, 07:19 AM)

Ton,

Thanks for the reply - Here's why I think LabVIEW doesn't support the IPv6 protocol

http://digital.ni.com/public.nsf/allkb/46A...6256D4B005D3016

which says (dated 07/19/2007)

"Problem:

Does LabVIEW and/or the Internet Toolkit for LabVIEW support the Internet Protocol version 6?

Solution:

No, LabVIEW only supports IPv4. National Instruments will continue to monitor the demand for IPv6 and may add support for this technology to future releases of our products."

Yep, I would have expected that the protocol would depend on the what the OS supports (WinXP in this case), but to keep LabVIEW platform portable maybe the implementation defaults to the lowest common denominator (IPv4)?

As far as what's so special about the hardware? Beats me, but the DUT's are a suite of devices that communicate with each other using IPv6 protocol and we have to be able to generate and receive command and control messages using IPv6 so we can emulate system hardware with the tester.

Thanks,

Mark

Link to comment
  • 2 weeks later...

QUOTE(tcplomp @ Feb 13 2008, 09:19 AM)

Well, I think LabVIEW isn't capable of any IP protocol, it just uses the stack from provided by the OS, so if your OS supports IPv6 you should be OK.

What's special about the hardware and highly advanced it needs IPv6?

Can you talk with the device using hyperterminal?

If yes you can just use the device under LabVIEW.

Ton you are right as far as LaVIEW's use of the socket library is concerned. But unfortunately it's not as simple as adding IPv6 capable sockets to the system. An application needs to initialize a socket with a network family before it can use it to tell the socket what protocols it should use. This is also for IPv6 necessary since the socket needs to be able to recognize the adress parameter for the network adress. For IPv4 this is a 32bit integer but for IPv6 this is in fact a 128 bit entity. As far as the LabVIEW nodes are concerned the only ones that need really some adaption on the Diagram side of things are the IP To String and the String To IP as they will need to support a 128 bit network adress. But for the adress string on those nodes as well as the various Open Nodes there will be some modifications necessery under the hood. They will need to regognize the new IPv6 adress format xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx as well as being able to resolve string adresses to IPv6 adresses. All in all not a very complicated addition but also not something you can just go and mess around with since you absolutely and under no circumstances can allow old functionality to break.

Rolf Kalbermatter

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.