Multiple serial port initialisation problem

Good Morning All
I have attached a vi which is giving me a problem that I can't solve, and would appreciate any help.
The vi is supposed to intialise up to 7 serial ports (only using 5 at the moment), and I'm assuming this is a plausible way to do the initialisation (could be wrong). The serial ports are connected to a pc via a usb hub. The windows XP o/s does recognise the ports according to the device manager.
The problem is that when the vi is run the following error is reported as shown in the attached word document.
I have compared the port settings in the device manager properties for each port to the vi settings and they match. What more can I do?
If somebody has a setup with mutliple serial ports could they try the vi and see if it works for them?
Thanks and best regards
Ray
Solved!
Go to Solution.
Attachments:
ax500 serial port init.vi ‏37 KB
init error.docx ‏518 KB

It has nothing to do with multiple serial ports.  It has to do with an invalid setting you are trying to use to configure any one of the serial ports.
Look at the information in the error message.  Argument 4 of the property node in Configure Serial Port VI is the Stop Bits setting.  I see a coercion dot going into that VI, so that tells me the datatype you are wiring in doesn't quite match.
You have an array of I32 values, and your values consist of 1's.  Disconnect that array and right click on the terminal of Configure Serial Port VI and pick Create Constant.  You'll see you get a ring data type.  It is a U16.  But if you look at the items in there, you'll see that stop bits 1.0 has a value of 10.  1.5 has a value of 15, 2.0 has a value of 20.  So the value of 1 has no meaning to that property node and you get an error.  You should be wiring in a value of 10.
Delete that array.  Create an array of the ring constants.  Turn it into a control, and choose the correct ring value for each element of your array.
You have several other coercion dots.  They may not be causing you problems, but I would consider disconnecting them, creating a constant of the correct datatype, and using that in the array you wire to the Configure subVI.
I modified your VI and attached it.  See if it works for you.
Attachments:
ax500SerialPortInitMOD.vi ‏37 KB

Similar Messages

  • Multiple serial ports reading from a shared USB port

    I have a program that reads from 4 flow controllers, which send data through RS232 serial ports. Because the computer is located pretty far away, the vendor suggested to use an Edgeport box to convert RS232 to USB, then convert to ethernet port using a SuperBooster converter. The signal travels long distance in ethernet cable to the computer and get converted back to USB, then to the computer. In MAX, I was able to see 8 com ports from the Edgeport box, and I was able to communicate with my flow controllers.
    The problem is, it will give me some error message occasionally. Sometime it's a VISA Read error, sometime it's a VISA framing error. Could this be caused by the way the signal is transmitted?
    In the program I have four parallel WHILE loops that constantly do READ and WRITE to the 4 flow controllers. Could this be causing the errors? If so, what is the best strategy to design this program?
    Thanks

    I agree with Mike, you will need an error handling strategy that accounts for these errors.  And retries the communications.  This can be a little tricky, but very doable.  I believe some sort of statemachine approach will work best for this. 
    As for your heated probe.  I would make some sort of hardware interlock that will shut it down in case of a coolant failure.  NEVER, EVER trust the computer to be running where safety is concerned, either for personal or hardware.  There are plenty of ICs that can monitor temperature, and have warning, and alarm outputs!  Another option is some sort of watchdog on the communications bus for the coolant control, but I think this is a bit more tricky. 
    Paul <--Always Learning!!!
    sense and simplicity.
    Browse my sample VIs?

  • RxtxSerial library multiple serial ports listener

    Hello All,
    I am using rxtxSerial library (import gnu.io.*; compatible with previousely available from Sun import javax.comm.*;) for my bridge application. Th example provided in the library's web site with nulltest.java employs only one serial port. It is powerful since it is threaded and detects incomming/outgoing streams.
    However, I would like to bridge between servers so multiple ports will be employed. Do you heave any suggestion how to obtain multiple port handling (reading/writing) within the same class. The null test code is presented as follows. Simplest idea is to use arrays, but more details are required.
    // derived from SUN's examples in the javax.comm package
    import java.io.*;
    import java.util.*;
    //import javax.comm.*; // for SUN's serial/parallel port libraries
    import gnu.io.*; // for rxtxSerial library
    public class nulltest implements Runnable, SerialPortEventListener {
       static CommPortIdentifier portId;
       static CommPortIdentifier saveportId;
       static Enumeration        portList;
       InputStream           inputStream;
       SerialPort           serialPort;
       Thread           readThread;
       static String        messageString = "AT";
       static OutputStream      outputStream;
       static boolean        outputBufferEmptyFlag = false;
       public static void main(String[] args) {
          boolean           portFound = false;
          String           defaultPort;
          // determine the name of the serial port on several operating systems
          String osname = System.getProperty("os.name","").toLowerCase();
          if ( osname.startsWith("windows") ) {
             // windows
             defaultPort = "COM5";
          } else if (osname.startsWith("linux")) {
             // linux
            defaultPort = "/dev/ttyS0";
          } else if ( osname.startsWith("mac") ) {
             // mac
             defaultPort = "????";
          } else {
             System.out.println("Sorry, your operating system is not supported");
             return;
          if (args.length > 0) {
             defaultPort = args[0];
          System.out.println("Set default port to "+defaultPort);
              // parse ports and if the default port is found, initialized the reader
          portList = CommPortIdentifier.getPortIdentifiers();
          while (portList.hasMoreElements()) {
             portId = (CommPortIdentifier) portList.nextElement();
             if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) {
                if (portId.getName().equals(defaultPort)) {
                   System.out.println("Found port: "+defaultPort);
                   portFound = true;
                   // init reader thread
                   nulltest reader = new nulltest();
          if (!portFound) {
             System.out.println("port " + defaultPort + " not found.");
       public void initwritetoport() {
          // initwritetoport() assumes that the port has already been opened and
          //    initialized by "public nulltest()"
          try {
             // get the outputstream
             outputStream = serialPort.getOutputStream();
          } catch (IOException e) {}
          try {
             // activate the OUTPUT_BUFFER_EMPTY notifier
             serialPort.notifyOnOutputEmpty(true);
          } catch (Exception e) {
             System.out.println("Error setting event notification");
             System.out.println(e.toString());
             System.exit(-1);
       public void writetoport() {
          System.out.println("Writing \""+messageString+"\" to "+serialPort.getName());
          try {
             // write string to serial port
             outputStream.write(messageString.getBytes());
          } catch (IOException e) {}
       public nulltest() {
          // initalize serial port
          try {
             serialPort = (SerialPort) portId.open("SimpleReadApp", 2000);
          } catch (PortInUseException e) {}
          try {
             inputStream = serialPort.getInputStream();
          } catch (IOException e) {}
          try {
             serialPort.addEventListener(this);
          } catch (TooManyListenersException e) {}
          // activate the DATA_AVAILABLE notifier
          serialPort.notifyOnDataAvailable(true);
          try {
             // set port parameters
             serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8,
                         SerialPort.STOPBITS_1,
                         SerialPort.PARITY_NONE);
          } catch (UnsupportedCommOperationException e) {}
          // start the read thread
          readThread = new Thread(this);
          readThread.start();
       public void run() {
          // first thing in the thread, we initialize the write operation
          initwritetoport();
          try {
             while (true) {
                // write string to port, the serialEvent will read it
                writetoport();
                Thread.sleep(1000);
          } catch (InterruptedException e) {}
       public void serialEvent(SerialPortEvent event) {
          switch (event.getEventType()) {
          case SerialPortEvent.BI:
          case SerialPortEvent.OE:
          case SerialPortEvent.FE:
          case SerialPortEvent.PE:
          case SerialPortEvent.CD:
          case SerialPortEvent.CTS:
          case SerialPortEvent.DSR:
          case SerialPortEvent.RI:
          case SerialPortEvent.OUTPUT_BUFFER_EMPTY:
             break;
          case SerialPortEvent.DATA_AVAILABLE:
             // we get here if data has been received
             byte[] readBuffer = new byte[20];
                   int numBytes = 0;
             try {
                // read data
                while (inputStream.available() > 0) {
                   numBytes = inputStream.read(readBuffer);
                // print data
                String result  = new String(readBuffer);
                System.out.println("Bytes read: "+numBytes+", Read contents: "+result);
             } catch (IOException e) {}
             break;
    }Kujtim
    Edited by: Kujtim on Jul 12, 2009 1:41 PM
    Edited by: Kujtim on Jul 12, 2009 1:43 PM
    Edited by: Kujtim on Jul 13, 2009 1:57 PM

    As an off the wall suggestion, check the usb "power save settings" under "control Panelower Options:Edit Plan Settings:Advanced Settings:USB settings" You want the USB selective suspend setting to be Disabled. Another possible idagnostic tool might be to do  a    Power Efficiency Diagnostics Report  which we have found has occasionally pointed us to usb hanging issues. 
    Using the same type usb-serial adapters doesn't guarantee anything, but I have run into issues where a vendor's driver was implemented incorrectly. It ended up being a wrapper around the FTDI driver, and the wrapper dll wasn't correctly made multi-threaded safe. I browbeat the vendor (I was working at a LARGE corporation, with a prospective LARGE purchase of the devices) into telling me what calls their wrapper made. I then used the FTDI dll directly, not using the "simplified interface" of the vendor's dll. FTDI's dll was thread safe, no more random lockups/BSOD.
    Good Luck, these are incredibly painful!
    Putnam
    Certified LabVIEW Developer
    Senior Test Engineer
    Currently using LV 6.1-LabVIEW 2012, RT8.5
    LabVIEW Champion

  • Serial port communication problems

    Hello.  I am trying to control a MKS Instruments 651C Pressure Controller via RS-232.  Right now, I am just trying to establish basic communication with the device over the serial port.  I can connect to the device with windows hyperterminal using the following settings:
    Bits per second: 9600
    Data bits: 8
    Parity: None
    Stop bits: 1
    Flow control: None
    Once I connect, I go to File-->Properties, Settings tab,and click on ASCII Settings button.  I must check the following boxes (not checked by default) for any communication to occur:
    Send line ends with line feeds
    Echo typed characters locally
    Append line feeds to incoming line ends
    Force incoming data to 7-bit ASCII
    Once I have all that set, I can communicate with my device via hyperterminal.  What I would like to do now is to use LabVIEW to control the device, so I need to be able to send/receive data over the RS-232 connection via LabVIEW.  I have been using the Basic Serial Write and Read vi, but I am not getting any response from my device.  Looking at the block diagram for the basic read/write, I saw that  Enable Termination Char was hardwired to false, so I changed it to a control and set it to true.  I also changed Termination Char to a control and set it to 0xD for CR.  I still cannot get a response from the device.
    I'm guessing that I am still not setting everything for the serial port setup correctly.  Can anyone give me some suggestions on what else to modify to match my hyperterminal settings?  Thanks!
    Solved!
    Go to Solution.

    Have you tried running NI-Spy to see what is actually happening on the serial port? This may help you narrow down what is happening. I also wonder if you are having an issue since you are using 8-bit ASCII when you open the port but in hyperterminal you are telling it to use 7-bit ASCII to read the data.
    Mark Yedinak
    "Does anyone know where the love of God goes when the waves turn the minutes to hours?"
    Wreck of the Edmund Fitzgerald - Gordon Lightfoot

  • Multiple serial ports streaming - BSOD/freezes - Hardware or Software problem?

    Hello all,
    I just joined the forums as I'm in dire need of some help with LV. I'm trying to hook up three lasers for an experiment. These are connected to my laptop via seperate RS232 cables with an adapter each to a COM port. I found an LV example that reads in one laser from the manufacturers site (something with .dll files and a C++ library). I'm a beginner with LV and I can't really say I have experience, especially not with custom libraries, so I just tried to make it work somehow. So what I did was basically copy it three times and reconnected some wires and changed the output format. I've added my program to this post; warning, you might get slightly sick by looking at it.
    Anyway, my main problem is; it works, but only for a limited time. After some time the VI will crash or my laptop will BSOD. Now, since my VI isn't very professional and probably has a very bad structure I'm not sure whether this is a problem with the VI or with the RS232 adapters/USB hub. I read some things on faulty RS232 adapters that conflict, but I can also imagine my VI can't deal with three data streams correctly, so I'm not sure where this is coming from.
    I was hoping that if any of you would take a glance at my VI, you could tell me whether it's my VI or not. I'd rather confirm this before I buy three new RS232 adapters.
    P.S. I'm running this on LV 2011 and LV 8.2.1 (my laptop with 2011 only recognises 2 COM ports simultaenously and my other laptop with 8.2.1 all three, but my laptop with 2011 can handle the crashes better)
    Thanks!
    Attachments:
    lv_RF603_Measure_3L_FORCE6.vi ‏120 KB
    library.7z ‏12 KB

    As an off the wall suggestion, check the usb "power save settings" under "control Panelower Options:Edit Plan Settings:Advanced Settings:USB settings" You want the USB selective suspend setting to be Disabled. Another possible idagnostic tool might be to do  a    Power Efficiency Diagnostics Report  which we have found has occasionally pointed us to usb hanging issues. 
    Using the same type usb-serial adapters doesn't guarantee anything, but I have run into issues where a vendor's driver was implemented incorrectly. It ended up being a wrapper around the FTDI driver, and the wrapper dll wasn't correctly made multi-threaded safe. I browbeat the vendor (I was working at a LARGE corporation, with a prospective LARGE purchase of the devices) into telling me what calls their wrapper made. I then used the FTDI dll directly, not using the "simplified interface" of the vendor's dll. FTDI's dll was thread safe, no more random lockups/BSOD.
    Good Luck, these are incredibly painful!
    Putnam
    Certified LabVIEW Developer
    Senior Test Engineer
    Currently using LV 6.1-LabVIEW 2012, RT8.5
    LabVIEW Champion

  • Serial Port Configuration Problem (SerialPortX 2.1 library)

    First, thanks to the author for all of the hard work on this AppleScript library. It has worked sucessfully for me for the last two years.
    However, I'm having a problem with a new-to-us scale in our laboratory. It's an older model and requires the communications settings to be 9600 / 7-E-1 with no handshaking. For novices such as myself that's 9600 bits per second, 7 data bits, even parity and 1 stop bit. I am able to successfully communicate with the scale via screen in Terminal or Serial Tools v0.4. The scale is physically attached to my Mac using a KeySpan USA-19HS serial to USB adapter.
    By connecting my mac to a PC I've been able to successfully communicate between the two machines with an AppleScript using the SerialPortX library as long as all parameters match (e.g., bit rate, parity, stop bits and handshaking). The only time this fails is if the data bits is anything other than 8, which makes me think that a bug is preventing me from changing the default value (in my scale's case from 8 to 7).
    Has anyone had any experience with this error? Is it possible to edit the script library to change the default to 7? Any other possible work-arounds (remember the scale is old and I can change the data bits on it)?Any advice or follow up questions are appreciated. Thanks for your time and consideration.

    Thanks for the suggestion. Here's my AppleScript:
    set {lf, cr} to {ASCII character 10, ASCII character 13}
    set carriage_return to (cr & lf as Unicode text)
    set myport to serialport list
    set oh to choose from list myport
    set PR to serialport open oh bps rate 9600 data bits 7 parity 2 stop bits 1 handshake 0
    set cmd to "Q" & carriage_return
    if PR is equal to -1 then
    display dialog "could not open port "
    else
    serialport write cmd to PR
    delay 10
    set mystr to serialport read PR --for 30
    delay 1
    #set cmd to "OP" & lf
    serialport close PR
    end if
    display dialog mystr

  • Communication cldc serial port with problems?

    I have a problem using CLDC serial communications:
    I need a connection using Stopbit 2, databits 7, parity even and baudrate 4800.
    I use the line code:
    serialport.open("0;baudrate=4800;bitsperchar=7;stopbits=2;parity=even",1,true);
    or the sintax :
    soc_ = (StreamConnection)Connector.open("comm:0;baudrate=4800;bitsperchar=7;stopbits=2;parity=even");
    but the data arrive in palm of strange way. I send the bit 67 and receive in palm the bits 4, 12, 20 for example.
    helpme
    thank you

    [superfudido],
    The MIDP for Palm OS implementation currently does not
    support the comm protocol. Although CLDC supports the
    use of the serial comm protocol, what type of
    connections is determined by the profile, in the case
    of the Palm device, currently the only available
    profile is MIDP for Palm. The MIDP specification
    states that all MIDP compliant implementations must
    provide HTTP connections, all other connection types
    are optional.
    See this URL for the frequently asked questions for
    the MIDP for Palm technology:
    http://java.sun.com/products/midp4palm/faq.html#Q5
    HTH.
    Allen Lai
    Developer Technical Support
    SUN Microsystems
    http://www.sun.com/developers/support/
    However is possible to create conection for serial using databits 8, parity none, stopbit 1 without problems. Then exist comm protocol in CLDC, but no run with databits 7, parity even, stopbit 2. This is a Bug?

  • Serial Port Overrun

    Hello All,
    I am developing Teststand sequences which run Labview code. I use 1 labview vi to configure and drive the serial port, the first call configures the serial port. The second call writes a message and reads the response, the last call releases the resource. When running the call write&read I intermittently receive the error shown in the attached jpg, this causes my whole sequence to lockup till I return to restart the test. I need to run this repeatedly overnight so its a problem. I have a feeling this isnt so much a serial port overrun problem as a hardware clash ( i also configure and run a camera ).
    I have spotted a number of posts a on this same topic but I havent yet found a soultion only advice, which I have already tried.
    Help greatly appreciated
    Regards Chris
    Attachments:
    Serial Port Error.jpg ‏63 KB

    Are you familiar with handshaking?  There were several posts on this subject recently.  The end device is sending data faster than your computer and Labview program can handle.  You need to implement handshaking.  There are two types of handshaking, software and hardware:
    Software, also called XON/XOFF.  With this setup, when the computer serial port incoming buffer gets nearly full, it automatically sends an XOFF command (don't worry about what it is since it is automatic).  The XOFF command tells the endpoint device to stop sending data.  When the buffer gets near empty, the computer sends an XON command.  The endpoint device then starts sending data again.  For this protocol, the endpoint device must be able to support this, and must be configured to use this type of handshaking.  You would have to read the manual to find out how to set it up.  For the computer end, you can set it up with an option for the configure serial port function on the input labeled "Flow Control".  Right click on this terminal and select Create - Constant.  A text ring will be created.  Select XON/XOFF in the text ring.
    Hardware, also called RTS/CTS.  Same principle in that the computer signals the endpoint when to stop sending data and when to start again.  However, instead of sending a command, the computer drops the CTS line (Clear To Send).  Actually, the endpoint device raises the RTS (Request To Send) when it wants to send data, and the computer responds with raising CTS if it is ready to receive data.  When the buffers get full, the computer drops CTS which tells the endpoint to stop sending data.  When the computer is ready to start receiving again, it raises CTS.  Again, both sides must be configured for this.  The text ring has an RTS/CTS selection.
    You will have to read the manual on your endpoint device to see what it supports and how to configure it.  Warning:  If sending binary data, DO NOT use XON/XOFF.  The binary data may just happen to form a pattern that looks like XOFF, and everything will lock up because XON will never be sent.  So if binary data is being transferred, use RTS/CTS.  If normal ASCII characters are being sent, you can use either protocol.
    - tbob
    Inventor of the WORM Global

  • Serial Communicat​ion problem in LabVIEW 7.0

    I recently upgraded my test computer from a 450 Mhz machine to a
    Del 2.8 Ghz Pentium 4processor with 512meg's of ram using Windows 2000 for the operating system running LabVIEW 7.0.
    I use the serial port to communicate with a piece of hardware,
    Rs232, 115200 baud, 8 bits, 2 stop bits. NO hardware or software handshaking
    The hardware is capable of receiving data from the computer at a full 115200 baud up to 65k transfers at a time with no extra delays.
    The problem that the serial data coming from the new Dell computer will send out 2 bytes then waits 2 to 3 milliseconds and sends 2 more bytes.
    I generated a separate serial VI that will jest shove data out the serial port.
    The VI is a VISA configure serial po
    rt, into a while loop that contains 6 VISA Write VI
    And on the backside of the wile loop a VISA close.
    The above VI will generate the serial data stream as stated above
    EXCEPT when I put a PROBE on each of the ERROR OUT of the 6 writes, then the serial port will generate a continuous serial data stream with no millisecond breaks.
    I have changed the FIFO Buffer settings (all the possible combinations) of the serial port in Windows 2000, and that has hade no effect.
    Any help would be greatly appreciated
    James Zumstein
    E-mail [email protected]
    Attachments:
    Serial_Test_1.vi ‏45 KB

    Greetings!
    Serial port commucations problems can be a real joy, can't they? Have you tried communicating with your instrument with Hyperterm? Usually Hyperterm is capable of operating with almost no overhead, so you can see if there's any strange symbols being transmitted that might be holding things up. There might be an extra CR being inserted, or something like that, which will show up as heiroglyphics in Hyperterm. See if all your symbols coming back are valid. This is where I usually start.
    Hope this helps.
    Eric
    Eric P. Nichols
    P.O. Box 56235
    North Pole, AK 99705

  • Second serial port for CompactRIO

    I would like to reiterate the question posted here.
    Is it possible to add a second serial port to a CompactRIO chassis?
    Using the FPGA seems like it would not actually be transmitting at RS-232 levels, and using an Ethernet-to-Serial Port converter sounds more promising, but that means having the drivers loaded properly.  Are these the only options, and are they even feasible?  Having a multi serial port module seems like it would be a nice addition to the CompactRIO suite.

    Hi m3nth,
    The link involving using the FPGA and digital modules has been successful in the past with many people and like the tutorial says, a big part with this is converting to voltage using a voltage translator.  With respect to the ENET option, the link below can be used to direct you to the products that we have that you may want to try to implement multiple serial ports.  I've done some research and it appears that there shouldn't be an issue using the converters with a real-time system.  When using the ENET converters, keep in mind that it may cause some more latency in your network as opposed to regular serial transmission.  If you have any more questions, please let me know.  Thanks!
    http://sine.ni.com/nips/cds/view/p/lang/en/nid/10043
    Regards
    Noah R
    Applications Engineering
    National Instruments

  • Testo 176 - Serial initialisation problem

    I am trying to get the Testo 176P1 talking with labview 2011.
    I have downloaded the TestoToolbox and also got an update from the German support with a Toolbox2.exe installer.
    Anyhow I am unable to get through the initialisation process with the tcddka.dll from Testo (V1.2).
    I do have a simple question: What device name do you feed to the Init procedure?
    1) the name you can see in devicemanager?  in my case "testo 175-176-2010" --> Exception occured in tcddka: Invalid DeviceName in testo serial init.vi
    2) but "testo175-176-2010" gives me --> "Exception occured in tcddka: The instrument is not responding in testo serial init.vi"
    3) or the general "testo175-177" results in  "Exception occured in tcddka: The instrument is not responding in testo serial init.vi"
    Seems I did set the COM-port correctly!
    + the testo software is able to connect with the device without a problem.
    in earliers posts about a Testo Gas detector, I saw characters being added and modifications being made in comsoft.cat file... ?
    Any suggestions are welcome!
    Solved!
    Go to Solution.
    Attachments:
    testo_init.GIF ‏9 KB

    These are most likely the possible devicenames which can be connected:
    Type
    Communication library
    testo174
    ftd2xx
    testo174-2010
    ftd2xx
    testo175-176-2010
    ftd2xx
    testo175-177
    usbser
    testo435-635-735
    ftd2xx
    My initialisation problem was resolved after unplugging & reconnecting the device!
    Attached Vi works without error reporting but I still do not get the pressure value displayed on the screen of the Testo 176...
    Attachments:
    testo test.vi ‏38 KB

  • Problem on WinXP / Labview 6.1 with VISA (serial port)

    There is a problem on WinXP / Labview 6.1 with VISA which i use to poll the state lines of the serial port. The only functions that i use are "VISA Open", "Find Resource", line state properties and "VISA close".
    On my own machine (WinME) it works fine as a standalone application (with runtime engine in the same direction), even if i rename the Labview directory so that Labview is not found.
    From my VXIpnp directory i deleted all but these files:
    directory "Win95",
    subdirectory "Bin" containing "NiViAsrl.dll",
    subdirectory "NIvisa" containing "visaconf.dll".
    When shipping this to WinXP (and copying "VXIpnp" to the root directory), the serial port was not found, so i renamed the direction "Win95" to "
    WinNT", but this did not work also.
    I installed the VISA server, although it seems not to be required -- no result.
    Final question:
    What must i do for distributing the program as a standalone application for all windows platforms?

    Hey Joachim,
    In order to create an installer that includes the VISA Run-time engine for serial IO you will have to purchase LabVIEW 7.x. See screen shot. This packages a small compact version of the run-time that can only be used for serial, but it takes up much less space. The installer that I created has my application, the LV Run-time, and the VISA run-time and it is about 26 MB.
    That is much smaller than if I had to include the 32 MB LV 7.1 run-time and the 14 MB VISA run-time separately. It would have been even smaller if I would have uncheck some of the items that I wasn't using.
    -Josh
    Attachments:
    advanced.JPG ‏31 KB

  • I have problem with delay in serial port

    I have problem with serial port. I have connected two computers by serial port and I need to create program in Labview for transfer strings using start bits and stop bits. My problem is that my program is working quite well ...when I press start bit it starts to concatenate strings and if i press stop bits it stops...this is the purpose of this program...but problem is that it working only with delay...and need that this program dont need delay, because it can only concatenating data depends on delay from start bit....I wana solved problem with delay...I dont want using delay process in my program, but allways when I try to delete this delay it stop works correct
    here is my program

    Ok this should be simple - if I understand you correctly.
    You have the VISA session initialized with read termination character enabled.  So reading the number of bytes at port is NOT the correct way to read from the port.  Set the read number of bytes to something large (say 4096) and the read will return as soon as a termination character is received (or timeout).
    You'll need to make sure the sending device is configured to send termination character on writes (you can set that with a VISA property node)  and that you are sending the correct termination character.  The default is 0x0A (newline).
    Jeff

  • Problem in using serial port.

    I am using serial port to get data from a fusion splicer. The number of bytes at the port is 4096 but the read buffer of VISA read is empty. I am reading the same number of bytes. Can any one tell me what is the maximum size of VISA Read buffer? I am trying to put the contents of the buffer in a file. I am using labVIEW 6.1 on linux.I am also attaching the VI.
    I also noticed this problem...If I read the number of bytes in the serial buffer many times, sometimes it reads it as 0 and I have to keep trying until it reads this 4096 bytes.
    Thanx for any help.
    S.Vijayalakshmi
    Attachments:
    serail_comm.vi ‏52 KB

    Hey Viji,
    In your application it looks like you are just checking to see how many bytes are at the serial port. Is it possible that your application is check for the serial data at the port before the data actually gets there. If you are looping this code as a subVI or just running it over and over it is possible that one of the iterations could occur faster than your device can write the information to the bus. In this instance you are checking the number of bytes at the port and there might not be any there yet. In this case the port reads 0 as you have designed it.
    If you want the read function to wait and always read 4096 then don't wire the bytes at port to the read function. Just wire a constant/control equal to 4096 to the read function instead o
    f the bytes at port. In this case, if there are not any bytes at the port the read function will wait for the bytes to show up or until the timeout period is reached.
    I would also, suggest lowering your time to something more reasonable, because if your instrument quits transmitting your application is going to wait for 33 minutes. That is a long time for a program to hang.
    I hope this helps out.
    JoshuaP
    National Instruments

  • Problem --serial port reading one character at a time

    Hi Friend,
    I reading the serial port  one character at a time ,  i specified it in the "serial bytes to read" option in serial port read examples.
    The problem is ----------i can able to read  the data.
    but only the first character is reading again and again...and "reading string indicator" in the serial port example shows only the first character sent ..only for a single time.since i am reading continously ----aleast the first character should display as many times i running the program
    (i am running the vi by run continous option..........)..
    please help me ....how to read the character one by one.....
    regards
    rajasekar

    Hi jason...
    I can able to read the serial port by 1 byte or 2 byte or 4 byte as i can specify it in the serial port read bytes option..(in visa serial read)..
    I need to acquire 4 bytes of data and pass it to the Math-script node..and save these 4bytes of data in array (1 row and 4 column)..
    And split this array(just like array-indexing.vi) and processing it each each column separately....
    or suggest some method to achieve my task.....please.
    one more thing the math-script node is placed in a while loop.....in order to read sequence of bytes continously.......
    regards
    rajasekar

Maybe you are looking for

  • How to access APEX variables within compiled pl/sql function.

    Hi, My initial problem is to create pl/sql code returning column names for my custom calendar report. There are 7 columns for each day of the week and I want it to be on two rows - first the day of the week, such as 'Monday' and below it (with BR tag

  • CO-PA flow

    Hi, In our client we have CO-PA, SD revenue is assigned to the CO-PA Value field, but when I see the CO-PA document from SD which shows the details of the characteristics and value fields, it see only the quantity flows to CO-PA, i see the quantity v

  • Use iPhone as an external hard drive?

    I am going to be purchasing an iPhone in the near future, and I was wondering, does the iPhone have an external hard drive mode? What I mean is, on the iPod, I can turn on "use as external hard drive" as a means of transferring files (i.e. word docum

  • Samsung LN40D630 LCD TV --

    purchased June 2011. Many white dots forming lines both horizontal and vertical. Picture veiled more or less.  Called Samsung and they gave name of tv specialist. TV specialist said go buy another one. This one is way too expensive to repair. I just

  • Where is all my Gb?

    Hello. Im having problems with the space on my Macbook (1.g Intel Macbook, 80gb Hdd). I have quite a lot in my Itunes (Music, Videos and Podcasts, all about 30Gb). The program folder is around the 2-3Gb, and so is the Pictures! What i can't figure ou