LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

Get/Put data from Port.

This configuration is work:

 

NI Measures Studio 6.0.

Board Advantech PCL-720+, http://www.advantech.ru/products/1-2MLJWH/PCL-720%2B/mod_19B4A4F1-806F-42BE-9F9E-BE2155A0BBC2.aspx

Windows 2000.

 

If change Windows 2000 to Windows 7 - have a locked ports. I think, new version of NI Measures Studio 6.0 can open ports, because have new driver to this work.

 

What product NI i need to install in Windows 7 (x64) to fine work? In Windows XP x32 such problem.

 

I try to write function in language Borland C++ Builder: "outp", "inp".

0 Kudos
Message 1 of 5
(4,378 Views)

Sergey,

inp and outp functions are present in CVI as well, but with several cautionaries around them that you can see in the functions help.

Generally speaking, it appears you won't be able to use them in a 64-bit OS; for other systems, the low-level support driver needs to be installed on the machine.

 

Useful informations can be found in this example program and this thread that suggests alternatives using VISA function, though I don't know if your specific board can be addressed through VISA.

 

These are general informations, as I have never used a board from that producer and my use of low-level functions dates back several years.



Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Community
________________________________________
If I have helped you, why not giving me a kudos?
0 Kudos
Message 2 of 5
(4,344 Views)

Not work. Example in link http://www.ni.com/example/26953/en/ don't get address port of LPT from Windows XP x64. In Windows 2000 example work correctly.

Problem not in board(s)! Problem in Windows. Mission - open I/O ports in windows.

 

This is solution, but i can't try this. Who tried this? This code opened I/O automatically.

http://www.lpt-port.narod.ru/2.html

0 Kudos
Message 3 of 5
(4,332 Views)

Sergey

I know it won't work in 64-bit environment: it's clearly stated in the help and I have warned you about this in my previous post.

 

Have you checked whether your board can be addressed with VISA functions?

 

Regarding the link you posted, the page is in russian and I can't understand it. Besides it, did you focused it was written in 2005? It clearly speaks about Windows NT and XP, I can hardly imagine that code/software works under a 64-bit OS. Why can't you test it yourself?



Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Community
________________________________________
If I have helped you, why not giving me a kudos?
0 Kudos
Message 4 of 5
(4,313 Views)

Is it the LPT port specifically that you need to access ? Or basically any register located at a non-virtual memory address ?

 

If the former, I have no idea but I suspect that there is no lpt 'port' (in the sense of hardware address) anymore in recent Windows. There may be low-level printer access function in the Windows SDK, I have no idea.

 

If that is the latter, the general solution is to write a driver... MY solution is to compile my CVI program for Linux and use a simple mmap() to get the virtual address of that register and just read and write from that.

0 Kudos
Message 5 of 5
(4,292 Views)