LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Use LabVIEW to test video card ports.

I have two video cards on a PC both with 2 outputs a piece.  Is there a way to use LabVIEW to output a test image to each port individually?  All I want to see is the test image on a monitor connected to the different ports.  Thanks for your help!

0 Kudos
Message 1 of 7
(1,072 Views)

As far as I know, LabVIEW can't interact directly with the video card. It can, however, send an image to each monitor, which would be enumerated by Windows. You can create a window, then set which panel it displays on and set it to Maximized.

 

In other words, you would need Windows to recognize the ports and monitors before LabVIEW could do anything with them. If there are some lower level API's available then someone else might be able to help. It would be good if you could explain what you're actually trying to do.

0 Kudos
Message 2 of 7
(1,048 Views)

/google "LabVIEW Boarderless front panel"

See if this gives you any ideas...

 

Boarderless vi Example.png

---------------------------------------------
Certified LabVIEW Developer (CLD)
0 Kudos
Message 3 of 7
(1,042 Views)

Thank you for your replies.  I will try to explain my problem a little better.  Imagine you have 2 video cards

with 2 ports on each card in your computer.  The goal is to test all of those ports and ensure you can output

video on each.  How would you do that programmatically with LabVIEW?  Imagine all ports are connected to a different monitor.  Can you write a program to output an image out each port and see it on each monitor?

 

Thanks.

0 Kudos
Message 4 of 7
(985 Views)

I guess I'm confused as to why you can't just do this with Windows. Hook up four monitors- do you see the desktop? Then the ports work.

0 Kudos
Message 5 of 7
(980 Views)

So I don't believe video is being output on all ports all the time.  I also do not want the user using the control panel or configuring any ports on there own.  I am wondering if there is a way I can program a test to output video on each port one at a time and verify it.  I will check that video is not being displayed on all ports all the time, but I am pretty sure that is not the case.  Thanks!

0 Kudos
Message 6 of 7
(948 Views)

LabVIEW can not address hardware directly in any way. You need drivers for that and LabVIEW interfaces to them. In the case of graphics cards they are normally managed 100% by the OS. LabVIEW only interfaces to them through the official Windows GDI interface. This interface is not meant to give an application control over individual cards or monitors but represents a graphic canvas on which an application can draw lines, arcs and similar. And it does not do so directly normally but through so called windows that are fully managed by Windows. Only inside these windows is an application like LabVIEW allowed to draw its things.

 

What you want to do would require a very deep dive into Windows API calls, DirectX programming and a lot of involved C/C++ code! How many 10000 bucks can you spare for this? 😀

Rolf Kalbermatter
My Blog
0 Kudos
Message 7 of 7
(936 Views)