LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Port In/Out under Windows Vista/7

Hello!

 

I get the

 

error -4850

Device driver not present or not supported. The device driver needed to execute the In Port and Out Port VIs is not present. LabVIEW does not support this device driver on Windows Vista or later.

 

usin PortIn.vi under Windows 7. What can I use instead?

 

Regards, Eugen

0 Kudos
Message 1 of 21
(5,084 Views)

Most of that functionality was replaced with VISA. What exactly are you trying to do?

0 Kudos
Message 2 of 21
(5,067 Views)

Hi!

 

I have a DIO Card, which uses Port Adress 200h to read Digital Inputs.

0 Kudos
Message 3 of 21
(5,061 Views)

I'm sorry, but I left my mind-reader hat at home today. What kind of DIO card? Is it one from NI? Is it another vendor? Who is the vendor? What is the model number? Do you have documentation? Did you get a DLL?

0 Kudos
Message 4 of 21
(5,057 Views)

This is one from Advantech UNO-3027L

 

Eugen

0 Kudos
Message 5 of 21
(5,047 Views)

      I posed the same question as you did , except I wanted to IO through the RS232 DB9 COM port.  This operation is functionally very simple and it has been implemented in every OS before VISTA.   I will repeat again, this program has been implemented in "every OS before VISTA" and in other languages such as C, and C++.   The question you had posed is common, fundamental, further, it is rudimentary.   The reply by technical support should be simple, straight forward, moreover, understandable, due to the fundamental nature of the question.  But most tech support people reply to you as if you are asking for the moon and you are not.     

 

     

0 Kudos
Message 6 of 21
(4,600 Views)

@noobie_programmer wrote:

      I posed the same question as you did , except I wanted to IO through the RS232 DB9 COM port.  This operation is functionally very simple and it has been implemented in every OS before VISTA.   I will repeat again, this program has been implemented in "every OS before VISTA" and in other languages such as C, and C++.   The question you had posed is common, fundamental, further, it is rudimentary.   The reply by technical support should be simple, straight forward, moreover, understandable, due to the fundamental nature of the question.  But most tech support people reply to you as if you are asking for the moon and you are not.     

     


The only trouble with your answer is, that it is basically all wrong!

 

It is is far from simple, requires access into kernel interna that would put the hardened security requirements from these days at risk if not breach them. Try to do direct random port access in Linux! No joy, unless you add your own kernel extension to the build and rebuild your kernel. Vista and Windows 7 have finally come around to also go that route. Also the OP did only say Windows 7 and while the Port IO VI's actually still work in Windows 7 32 Bit they can't in 64 Bit since NI would have to develop a kernel device driver for 64 Bit Windows which needs to access kernel IO routines that are depreciated by Microsoft since at least Windows 2000 and finally have been removed in the 64 Bit variant of Windows without any replacement at all.

 

And the tech support people you bash here is simply a volunteer who dedicates his own free time to give a hopefully helpful answer. It does maybe not detail all the technical details and reasons why it could not work, not ask the question if this was 32 bit or 64 bit Windows, but is still to the topic and even mentions a possible alternative route.

 

If you need to do direct Port IO, you either have to write your own kernel device driver or go back to DOS.

Rolf Kalbermatter
My Blog
Message 7 of 21
(4,589 Views)

... you don't have to go back to DOS Port I/O still works in XP 32 bit. I was using it to control the parallel port.

 

Cheers

Edgar

0 Kudos
Message 8 of 21
(4,578 Views)

I know, I wrote the OpenG PortIO library! But doing Port IO in such a way was even in XP an already strongly depreciated feature under Windows, and without kernel patch and recompile simply impossible in Linux, about 10 years ago already! And Windows 64 Bit made definintely an end to this backdoor and has no intentions to change that anymore. With this driver installed an unprivileged user can actually reformat your entire harddisk and do even worse things to your computer if that user only knows the correct addresses. You are basically back to DOS security level.

 

It was a somewhat over the top statement, I agree, but technically not to far away from the truth.

 

Fact is that the statement: "This feature has been implemented in every OS before Vista!!!" is simply wrong. Linux is also an OS and hasn't had any support for that out of the box for over 10 years. I doubt you could do it on MacOS X in any way either. Knowing Apple a bit I would bet it is even more unlikely than Linux. And the bashing in that post was also misplaced.

Rolf Kalbermatter
My Blog
Message 9 of 21
(4,575 Views)

I think the unbiased readers at this forum should take notice of this fact.   The original person who posted this question raised a question that was of a "rudimentary" nature.   I will repeat that point again, - the question was of a rudimentary nature - not even fundamental.     The replies to this individual were less than courteous. 

 

Take notice that the people who are "associated" with NI felt my post was inappropriate but did not seek to criticize the "rude" responses to the original poster.   Again, my point, the NI associated people are not criticizing their colleagues but rather the "customer". 

 

The point I had made is not wrong.   Operating systems are designed to input and output data.    Every O/S can input and output data.  

 

This type of program was written for just about every O/S before to my knowledge.  The people who replied negatively with regard to this generality cited an exception rather than the rule.   I will repeat again, they cited an "exception" rather than the general condition.  This is a standing fact. 

 

      The public should take notice of the point that just saying someone is "wrong," does not make the individual "wrong".   

 

 

To be exact, when you say someone is wrong, you must support it with facts.  

 

      You will notice that I could argue that my statement was theoretically true and be theoretically correct.  But I will not.  In deference to "civil" communication I will say that an exception may exist to my initial statment - in order to assuage the "feelings" of the NI associated people who replied "negatively."    Thus, leaving the NI associated people a "moment of repose", to stand back, and fully consider what they have written.

 

    The "NI associated people" are "outraged" because I used the term "simple" to describe the task at hand.  "Simple" is a relative description.    This task is fairly simple if you are a programmer employed to design, create, and operate, the operating system.

 

       I will concede that this may not be a simple task, if you are an "outsider" looking in  (a programmer with no inside information from the OS designer).    However, even if you are an outsider,  and you are employed by a software company, this will be one of the company's fundamental assignments that it will have to naturally pursue.   You have many hours per day to look into this assignment.    In addition, a team of programmers has probably been tasked with this assignment - making this assignment much easier. 

 

        The measure of complexity is now measured over how much time the individual has been afforded to look into the assignment.   

 

The current condition:   

 

VISTA O/S in "programmer design time" is now an old operating system.  It is now 2 generations behind the current OS.    Therefore, the time frame to find a "working" remedy has spanned many, many, years.   I will repeat again, the time frame to find a working remedy has spanned - years.  

 

This is where my analysis becomes irrefutable.  Here is a link which substanciates that a "solution" was found a long time ago by National Instruments itself:

 

http://digital.ni.com/public.nsf/allkb/496CD7613F331EA4862571E200633507

 

They looked into this.

 

What I don't like about a lot of technical support people is that instead of looking at the facts as they stand, it appears that some tech support personnel will together as a group, and agree, that if the question raised by the novice appears to be too difficult for them to answer, they will put down the person raising the question.    This is a rudimentary question that all beginners must raise.  

 

    Some tech support people can just e-mail the person the solution (because we know a solution exists) and tell the person the "pitfalls" of using the program and tell the individual, "use at your own risk". 

 

      Instead of just, posting the program source code, or e-mailing the code to the "customer", they just publicly put him/her down.

 

      Instead of "thinking as a group" and convincing themselves that they are in the right, they should just step back back for a moment, get out of "group think" mode, and consider what the customer is asking for. 

 

"I want a simple one, or a simple zero, out of a port"  or

 

"I want to read stored data at an io port address" (not "streaming data")

 

does that really "sound" like too much to ask for.   

 

  To be fair:  

 

 

With regard to accomplishing this task, it might be a lot to ask for depending upon the "artificial" complexity that has been designed into the OS.   

 

 

But does the task at hand really so "sound" difficult.  

 

The point I am trying to make, the replies were not balanced, nor considerate, to the customer.

 

The points I have made in this discussion do not reflect upon all "NI associated" programmers".    There are many courteous NI programmers and courteous NI "associates" my comments do not reflect upon them.    I am by no means making a general statement, nor have I made a general statement, referring to these people.  

 

If I have offended anyone with my replies,  I apologize.   I believe in being courteous, honest, and fair to all those whom I correspond with.   Please try to understand the points I have tried to make - they are "balanced."

 

 

 

 

 

 

0 Kudos
Message 10 of 21
(4,564 Views)