RE: Write to Parallel port

First you have to change the labview.ini file and add the line:
serialDevices="COM1;COM2;COM3;COM4;COM5;COM6;
COM7;COM8;COM9;LPT1;LPT2;LPT3;LPT4;"
Then you can use the LabVIEW Serial Port Write.vi using port number 10,
and it will send a string to the parallel port. But, if you have not
yet modified your "labview.ini" file, you may receive an error -37.
I haven't use this method yet, so if it works, please email me.
Paul
[email protected]
Sent via Deja.com http://www.deja.com/
Before you buy.

Hallo, palma,
Du (x) meintest am 14.08.01 zum Thema RE: Write to Parallel port:
> I would like to know where can i found the IV
> of Labview: "write to parallel port.vi".
> I found it in "parallel 8-bit digital output
> port" but when I try to open it appear this:
Which OS do you use? Windows NT and Windows 2000 don't like direct port
access. For these OSs you need a special file from the NI website
("hwaccess.xxx" oder "accesshw.xxx").
Greetings!
Helmut
Please excuse my gerlish!

Similar Messages

  • Sending trigger through parallel port, C++, Visual Studio 2010, Windows 7

    Hi, I have a problem that I am really stuck with, and I am novice to the task so any help would be extremely helpful.
    I an trying to write to parallel port on my PC in order to send a trigger to EEG recording machine every time the new goal appears in a Virtual Reality game that I wrote in C++ (I want to record EEG brain signals while subjects are playing the game).
    I tried to follow the instructions from here: http://msdn.microsoft.com/en-us/library/ff802693.aspx
    I wrote the following code:
    BOOL FileExists(LPCTSTR szPath)
    DWORD dwAttrib = GetFileAttributes(szPath);
    return (dwAttrib != INVALID_FILE_ATTRIBUTES && 
    !(dwAttrib & FILE_ATTRIBUTE_DIRECTORY));
    BOOL WriteABuffer(char * lpBuf, DWORD dwToWrite)
    OVERLAPPED osWrite = {0};
    DWORD dwWritten;
    DWORD dwRes;
    BOOL fRes;
    // Create this write operation's OVERLAPPED structure's hEvent.
    osWrite.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
    if (osWrite.hEvent == NULL)
    // error creating overlapped event handle
    return FALSE;
    // Issue write.
    if (!WriteFile(ghComm, lpBuf, dwToWrite, &dwWritten, &osWrite)) {
    if (GetLastError() != ERROR_IO_PENDING) {
    // WriteFile failed, but isn't delayed. Report error and abort.
    fRes = FALSE;
    else
    // Write is pending.
    dwRes = WaitForSingleObject(osWrite.hEvent, INFINITE);
    switch(dwRes)
    // OVERLAPPED structure's event has been signaled.
    case WAIT_OBJECT_0:
    if (!GetOverlappedResult(ghComm, &osWrite, &dwWritten, FALSE))
    fRes = FALSE;
    else
    // Write operation completed successfully.
    fRes = TRUE;
    break;
    default:
    // An error has occurred in WaitForSingleObject.
    // This usually indicates a problem with the
    // OVERLAPPED structure's event handle.
    fRes = FALSE;
    break;
    else
    // WriteFile completed immediately.
    fRes = TRUE;
    CloseHandle(osWrite.hEvent);
    return fRes;
    I get none of the specified errors, but game fails to start and it seems nothing gets written to parallel port. Any suggestions on how to proceed from here would be more than appreciated.
    Thank you, Joanna

    Hi, I have a problem that I am really stuck with, and I am novice to the task so any help would be extremely helpful.
    I an trying to write to parallel port on my PC in order to send a trigger to EEG recording machine every time the new goal appears in a Virtual Reality game that I wrote in C++ (I want to record EEG brain signals while subjects are playing the game).
    I tried to follow the instructions from here: http://msdn.microsoft.com/en-us/library/ff802693.aspx
    I wrote the following code:
    BOOL FileExists(LPCTSTR szPath)
    DWORD dwAttrib = GetFileAttributes(szPath);
    return (dwAttrib != INVALID_FILE_ATTRIBUTES && 
    !(dwAttrib & FILE_ATTRIBUTE_DIRECTORY));
    BOOL WriteABuffer(char * lpBuf, DWORD dwToWrite)
    OVERLAPPED osWrite = {0};
    DWORD dwWritten;
    DWORD dwRes;
    BOOL fRes;
    // Create this write operation's OVERLAPPED structure's hEvent.
    osWrite.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
    if (osWrite.hEvent == NULL)
    // error creating overlapped event handle
    return FALSE;
    // Issue write.
    if (!WriteFile(ghComm, lpBuf, dwToWrite, &dwWritten, &osWrite)) {
    if (GetLastError() != ERROR_IO_PENDING) {
    // WriteFile failed, but isn't delayed. Report error and abort.
    fRes = FALSE;
    else
    // Write is pending.
    dwRes = WaitForSingleObject(osWrite.hEvent, INFINITE);
    switch(dwRes)
    // OVERLAPPED structure's event has been signaled.
    case WAIT_OBJECT_0:
    if (!GetOverlappedResult(ghComm, &osWrite, &dwWritten, FALSE))
    fRes = FALSE;
    else
    // Write operation completed successfully.
    fRes = TRUE;
    break;
    default:
    // An error has occurred in WaitForSingleObject.
    // This usually indicates a problem with the
    // OVERLAPPED structure's event handle.
    fRes = FALSE;
    break;
    else
    // WriteFile completed immediately.
    fRes = TRUE;
    CloseHandle(osWrite.hEvent);
    return fRes;
    I get none of the specified errors, but game fails to start and it seems nothing gets written to parallel port. Any suggestions on how to proceed from here would be more than appreciated.
    Thank you, Joanna

  • Is it possible to get direct access to parallel port pins under Windows NT? What can I do

    to get such an access under NT? I found Write to Parallel Port.vi but I can`t open it. The error that occurs is:
    resource not found, error occured while loading the vi, labview load error code 8: could not load vi ressources.
    This vi is from 1994. Maybe the source of trouble is that I`m using version 5.1.1 or it is a problem with NT. What do you think?

    Parallel Port.vi can only be used in DOS-Systems (like Win9x, WinME ;-). NT does not allow writing to parallel port with low level routines. It is more useful to use the digital port that is on most of the DAQ cards.
    Some more informations on parallel ports: http://www.lvr.com/parport.htm
    In general it seems to be possible. Somebody told me just to use the write port command with the address of the parallel port. Another way seems to be to tell NT to allow direct port access - but I don't know how.
    Andreas

  • How can I write to the parallel port using LabVIEW 6.0.2

    I have tried updating the labview.ini file and also using the parallel.llb available on the site. When I execute the program it gives me error 37 saying,"device not found". I am running this code on windows 98. I tried to use VISA write,serial port write (using port 10) but nothing seems to work. I also tried to develop a sample code using inPort and outPort, but no success, it is not able to read the data back from the parallel port, even if it seems (????i don't know any way to cross-check it though????) to write.
    Does anybody know the problem here?
    THanks.
    Pari.

    Thanks Brian.
    Well here is the next problem. I got a VI (attatched) off ni.com and it works fine on a windows98 platform. But quits working on NT.
    I can write perfectly (which i checked by hooking an LED display unit at the other end of the parallel port cable). I observed that the LEDs respond to the toggling of individual bits (data bits). But the error occures at the "out port.vi", when I try to run it on a NT machine (where I actually wanna use it). Are you aware of any changes to be made in order to run a VI on NT that works on 98?
    Thanks again.
    Pari.
    Attachments:
    parallelPortSwitcher.vi ‏124 KB

  • How can i write a vi in using parallel port for digital inputs

    Dear all,
    i am a beginner user of LabVIEW and i want to write a vi in using parallel port for digital I/O. After reading the article "Using the Parallel Port in LabVIEW
    " and download the parallel.zip, i know how to write the vi for output, but i still don't know how to write the input one.i've try to use a Inport.vi to test, but nothing change when i set pin2-9 to high. (my computer:win2K & LabVIEW 6.1)
    Can anybody teach me how to write it?
    Can anyone write the vi for me too?
    Thanks all!
    p.s.i've already install the "accessHW.exe"

    Are you using VISA or the accessHW VIs? You may need to goto the bios and set the parallel port to run in spp mode or standard mode. This is the simpliest configuration and where you should start.
    As far as writing the VI goes, just copy the diagram out of the tutorial you mentioned.

  • I want to write data into eeprom(93LC86) in parallel port using labview?

    I want to write data into eeprom(93LC86) in parallel port using labview? Also I want to read data from EEprom.

    Hi Mr. Mz,
    after having a look to 93LC86-Datasheet I do not see a problem. The self-timing programming cycle of this Chip avoids timing problems; the rest is only logical stuff.
    If you need more general info, how to use the parallel port, I recommend: http://[email protected]/ or
    in case you need an example of SPI-Interface in LabVIEW with paraport - then write to: [email protected]
    You are welcome
    regards
    wha

  • Is VISA Write VI / Out Port (need AccessHW) better for writing to parallel port?

    We have experimented with 2 methods for writing to parallel port:
    1. Using NI VISA directly by calling VISA Write vi.
    2. Using the Out Port vi, for which we had to install AccessHW.
    Does the first method have any disadvantages. It seems to be a simpler solution.
    Operating system: Windows 2000
    Labview 8.2
    NI VISA 4.0

    Hey rashadi,
    There is nothing wrong with using the VISA write.vi to write to a parallel port.  Here is a great example program of how to use the VISA vi's to write to a parallel  port. 
    I hope this helps!
    Best regards,
    Jason W
    Applications Engineering
    National Instruments

  • I swtiched from LabView7 to LabView8.2, and now my parallel port on LPT1 is not more recognised (I am not able to use VISA to write on it). Why?

    I switched from LabView7 to LabView8.2, and now my parallel port on LPT1 is not more recognised (I am not able to use VISA to write on it). Why?

    Hi,
    Sorry for the delay,
    I need to know more informations about your problem. Have you check the configuration of LPT in MAX? Can you open a VISA session? Do you receive a timeout error when you try to write on that port?
    You can find same importants informations about parallel port configuration for different versions of LabVIEW at this link: 
    http://digital.ni.com/public.nsf/websearch/E6415E8A8376F63D86256C46007592E8?OpenDocument
    Let's me know.
    Riccardo

  • Read/Write Parallel port

    I need to write to several different pins of the parallel port and then read back 2 different signals simultaneously.  inp and outp do not seem to give me the capability to do this.  Any help is appreciated

    Hi Clayton,
    That's NOT correct. The output pins of the parallel port are between 2(lsb) and 9(msb).
    You cannot control pin 14 as ouput and I thnik you misunderstood the connection between the data (the second parameter to the outp function) you write and the pins effected.
    The data byte is 8 bits and each bit correspond to a pin from 2 to 9. So writing 0x0D = "0000 1101" to the port will send a logic 1 to pins 9,7 and 6.
    The attached drawing may help to clarify further.
    I also recommend a little reading from the internet. You can start with: http://logix4u.net/Legacy_Ports/Parallel_Port/A_tutorial_on_Parallel_port_Interfacing.html
    Hope this helps.
    S. Eren BALCI
    www.aselsan.com.tr
    Attachments:
    parallel.gif ‏6 KB

  • Why does this loop used to write values to the parallel port keep going forever?

    Have a look at this VI guys. I'm trying to send a sequence of bits (used to trigger an IC). I'm interested in the last bit of the data port (D0). so I'm sending either 0 or 1 to that pin to trigger the IC. it works, but the problem is that the loop keeps going forever and i cant control it. if i send 3 to the loop count, I'm expecting to get: 1 0 1 0 1 0, but it doesnt stop and keeps going forever.
    It seems that the problem is not with the loop. because i deleted the loop and just left the flat sequence so that it executes only once, but still it keeps repeating. How can i make the flat sequence execute only once?
    I'm using a parallel port monitor (parmon.exe) and a LED connected to D0 of the parallel port to check.
    If anybody has an alternative or better method to send the bits to the parallel port, I'd be very thankful.Message Edited by krayzie on 05-14-2005 04:33 PM
    Attachments:
    pport.vi ‏24 KB

    It works just fine here. Place an indicator to the iteration terminal [i] to watch how things progress. Do the number ever increase above N-1 to what you wire to N? I don't think so!
    Also make sure you don't run the VI with the "Continuous run" button. In this case the VI would immediately restart whenever it is finished. use the "Run" button.
    LabVIEW Champion . Do more with less code and in less time .

  • Write among COM ports in the same PC without cables

    How can I write to the memory address(es) of a serial COM port?  I would like to send data from one serial COM port to another in a manner similar to the that of the 'Simple Data Client' and 'Simple Data Server' vi examples.  This must sound strange since this is exactly what a null modem cable will do, externally.  I would like to eliminate the cable connection between COM ports that exsit in the same PC and communicate between them, internal to the PC, somehow. 
    Currently, I am using a LabVIEW vi to read a serial message on COM1, translate it, send the trsanslation out on COM2, so that a separate windows program (no .DLLs to interface with LabVIEW) can read the message on COM 3.  COM 2 and COM 3 are connected by a null-modem cable.  This requires three COM ports, and two serial cables.  I realize that I can use a physical loop-back jumper on COM2, for instance, where I send and read the translated message on COM2, but I still wonder if there is a method for doing this in memory, or something. Is there a way to accomplish the same objective with one cable (into COM1), no loop-back jumpers, and only two serial ports?  In summary, I want to read on COM 1, translate in LabVIEW, then write directly to another COM port, internally, without using a serial cable.  Can the 'IN PORT' or 'OUT PORT' vi's apply here?  Are these tools only for parallel ports?
    Hope this is not too confusing....  It seems like I am always trying to do something with LabVIEW that was not meant to be done....
    Thanks.

    Thank you.  If I pay the price they ask, this looks like it will create and share virtual COM ports - exactly what I need.  However, I would really like to find a way to do this in LabVIEW, such that I do not have to make my application dependent on another piece of third party software.  The 'Simple Data Client.vi' and 'Simple Data Server.vi', included in the shipset examples, seem to do this for TCP/ IP ports.  I wonder why the COM ports cannot be addressed at the memory level, in a similar manner???

  • Problem in sending data to parallel port

    Hello,
    I can open a parallel port (LPT1) using java comm api i,e javax.comm.
    but problem in sending data to parallel port,
    I choose the appropriate port(LPT1), it is in bi-directional mode according to BIOS configuration.
    but according to the java program the mode is SSP.
    when i write data to parallel port the volt-meter give a reading of high state for all data pin (pin1 to 9) i,e the parallel port doesnot change state. I am using windows XP.
    What is the solution?

    try it on Open Solaris 10 or Linux platform.
    also just try using the new FileWriter("LPT1").write("Hello");
    on windows platform
    Pravin

  • Push button signal to parallel port to trigger a process

    I just need to connect a push button to the parallel port to set it as a trigger signal for a process.
    When push button is pressed, labview executes a process.
    Kindly help me how to do this, the wiring please
    Regards
    Grugh Mike
    Success is Everything !!
    Solved!
    Go to Solution.

    Data Lines to be used as inputsSome parallel ports can be configured to use the data lines as inputs. It depends a great deal on the way the manufacturer designed the parallel port. With some models the data lines can be read the same way we read the control lines, by driving them to high logic so they will take on the value of an external signal. However, most parallel ports require that you set the direction bit for input. This is bit 5 in the Control register (base+2). If the port is capable of it, setting the direction bit high has the effect of making the lines tri-state so it can be driven externally. Sometimes it is also necessary to toggle bit 6 high or low. However, it should be noted that some manufacturers actually lock these bits so that software cannot change them. An example is shown below in Figure 7.
    To test whether your data lines can be used for input, try the following:
    Set bit 5 of the control register high (at base address+2).
    With nothing connected to the port, write a couple of values to the data port, and read each back after you write it.
    If the reads DON'T match the writes, your port is probably bidirectional. Setting C5 disabled the data outputs and you're reading the open inputs of the data-port buffer. If the reads DO match the writes, your port isn't bidirectional. The data outputs are still enabled, you're reading back what you wrote, and you won't be able to read external signals. If it is possible to use your data lines for input, then you just need to set control register bit 5 high and read from the value of the data lines at the base address.

  • How should I develop Level Controller using Parallel port(Printer port)

    I need to develop a level controller using parallel port of my computer with a third party Data Acquisition Device.  Is it possible to do it with In and out port vi in labView 7.1. Please guide me how can should I configure these Vis to write control data and then receive level transmitteed data through parallel Port(Printer port). My third party DAQ has two analog input channel and one analog output channel.  

    Dennis Knuston
    I have uploded the details of that  third party daq in another thread please see that and tell wether this type of daq requires driver software
    http://forums.ni.com/t5/Multifunction-DAQ/Parallel-port-based-daq-and-drivers/m-p/1819997

  • How can i us the parallel port of the printer to control a frequenz-generator?

    Hello all !
    I like to  control with LabVIEW 8 student-version, the Frequenz-generator gadget . For this challenge i like to us the parallel port of the printer. I need for data flow only 2 cable. The frequenz-generator gadget need two signal : Low and High.How  can i  us the parallel port of the printer to control a frequenz-generator gadget? I have us  the VIs-Visa  (Visa-Serial, write, Close ), but i dont no what command i have to write on the Visa-Write so that the Signal can be in the low or high position.
    Thanks

    Hi Jeanjac,
    first, look here:
    http://en.wikipedia.org/wiki/Parallel_port
    to get the port numbering. also, be sure not to leave pin unconected, sometimes you might get an error message otherwise (i remember pin11 has to be always connected or so for windows...)
    second, just run the test panel in MAX and write something to your device to check if it works.
    then in LV, you have to decide to which pin is connected your instrument. in any case you have to address all 8 output pins together! this is a parallel...
    if you prefere to use only one pin, then you can use the serial port, with just pin 2 and 3 connected. it would work easier for you, since you address only one bit.
    Gabriel
    ... And here's where I keep assorted lengths of wires...

Maybe you are looking for

  • How to share photos or other media to friends inbox on facebook with blackberry z10

    Good day, So while talking to a friend bout a meeting I went to he asked if I could send him pictures to his Facebook inbox I went to the picture, tapped on share icon but I realized that if I share to Facebook it will go to the time My question is h

  • Icon not displaying in dynpro table

    Greetings, I am currently having an issue displaying icons within a table on a classic dynpro screen.  In debugging the program I see that the icon image is loading to the table structure correctly.  However, when the information is displayed on the

  • Headphone problem with 6300

    Hi, hope someone can help me.... I've purchased an adapter from 2.5mm to 3.5mm so that I can use my "normal" headphones. However, when I put the 2.5mm jack in the phone, I can still hear music from the phone itself; nothing at all from the headphones

  • URL address is not showing in the address bar

    Since few days I have noticed in the address bar where it show such as https://yahoo.com is not showing but it says "search or enter address". However it open the desired web as in this case yahoo.com. So far, some time address appears and some time

  • MDM Installation Error........

    Hi All, I'm new to MDM.i tried to install mdm 9.3.1 ,at the end of installation it shows the following message: "*The wizard was interrupted before Hyperion Data Relationship Management could be completely installed.*** *Your system has not been modi