serial communication - program is slow

Hello community,

I have a problem: I'm using LabVIEW to communicate with a CPU with RS232, but the program is extremely slow. In this configuration (it's a minimal example), it takes about 8 seconds to send a new string. What could be wrong? (I'm a beginner)

The program of mission is to prepare a string containing incrementing values and send over the UART.

Thanks for your help!

Greetings!

The yellow bulb is to highlight execution.  It is strictly a debugging tool.  Your turn that to slow down execution and be able to see how the data passes through the wires.

Disable execution of climax, and it will run at full speed.

But how do you use this VI?  You have not a while loop and you have not told me if an another VI call this VI.  So this VI runs only once and then stops.

(Please don't tell me you use run continuously the button which is also strictly a debugging tool.)

I recommend you watch the LabVIEW tutorials online
LabVIEW Introduction course - 3 hours
LabVIEW Introduction course - 6 hours

Tags: NI Software

Similar Questions

  • Programming of the digital I/o pins on the NOR myRIO-9100 for serial communication

    I use NEITHER myRIO for my robot and I want to use four reading of the distance sensors that communicate via the serial port. But the myRIO has only two UART ports on board so I was wondering if there is a way to program the digital pins use for serial communication. Any help appreciated.

    It is possible.  Here is an example that I could find.

    Example of reference to RS-232 for LabVIEW FPGA Interface

  • Serial communication error VISA with LUDL stage controller

    Hello

    I'm trying to control a micro-positionnement made by Ludl stage. The model is Ludl MAC2000. It seems that the RS232 comunnication is implemented because I can talk to the controller using HyperTerminal. However, when I want to do the same thing through Labview, I can't answer the controller at all. The vi is roughly the same as the visa basic read/write in the example. Looks like a very similar problem in this post:

    http://forums.NI.com/T5/instrument-control-GPIB-serial/visa-serial-communication-problem/m-p/567065#...

    But the trick of nature of endpoint does not help in my case: I tried to toggle the termination character setting in the property node and different combinations of '\r', '\n' as termination characters, but nothing has worked so far.

    Seems to me there is some difference between the interpretations of the same order to Hyper Terminal in Labview. But I just can't understand what it could be.

    Anyone with a similar experience could give me some comments/suggestions? Thank you very much!

    Another difference between hyperterminal and labview is the speed of sending characters.

    LabVIEW breaks out the whole string to the controller

    HyperTerminal is this character by character. So much slower and slow the controller can be affected by this.

    You could add a loop around the writing of visa (to make it easy convert the string into a byte array outside of the loop and convert it to a string inside and you have a shipment char by char in LabVIEW

  • Serial communication - ignore parity error

    I have a question about how LabVIEW opens a serial port for communication. I communicate with a device that uses a protocol owner. It sets and clears the parity bit to indicate the nature of the response. For example, the orders are sent with the parity bit higher while responses are sent with the weak parity bit (unless the answer is at the end of the transmission, in which case the device sets the parity bit high to indicate).

    My problem is the way that LabVIEW opens the serial port for communication. Using Portmon, that I captured the control indicators, that it sends to Windows to configure serial communication:

    IOCTL_SERIAL_SET_LINE_CONTROL   Serial0 SUCCESS StopBits: 1 Parity: MARK WordLength: 8IOCTL_SERIAL_SET_CHAR  Serial0 SUCCESS EOF:0 ERR:0 BRK:0 EVT:0 XON:11 XOFF:13IOCTL_SERIAL_SET_HANDFLOW  Serial0 SUCCESS Shake:1 Replace:44 XonLimit:64 XoffLimit:64
    

    Note the values 'Shake' and 'replace '. In my view, they are originally bytes with parity errors is removed. A separate RS232 Comm Debug tool that I use with success looks like this:

    IOCTL_SERIAL_SET_LINE_CONTROL    Serial0 SUCCESS StopBits: 1 Parity: NONE WordLength: 8IOCTL_SERIAL_SET_CHAR  Serial0 SUCCESS EOF:0 ERR:0 BRK:0 EVT:0 XON:11 XOFF:13IOCTL_SERIAL_SET_HANDFLOW  Serial0 SUCCESS Shake:0 Replace:80000000 XonLimit:128 XoffLimit:128
    

    Notice the difference in values. By using this tool, Windows does not packages with parity errors - that's what I want. Is there any way to change how LabVIEW opens the serial communication port to achieve?

    I tried to change the parity, where the ILO is defined differently, but I think that I am running in a race condition; LabVIEW can not run the code and change the mode of fast enough parity before the next byte of data is sent by the device.

    Ravens fan: the parity bit, in the proprietary protocol, that I use, is not used for parity checking. Basically, the protocol uses a 9-bit serial communication. The parity bit must be paid or compensated according to what byte do (if it is a command, if it is the end of transmission, etc.).

    I found an old post on this page which seems to answer my question (my apologies for not completely research before posting... I learn the right use/search phrases that I find more information). I download the 3.4.1 version of VISA now.

  • VISA + Serial Communication - need help!

    Hello world

    I have a lot of help with my project of this forum and I'm looking for more . Thank you for taking the time to help. Please bear with my as I ask a LOT of questions.

    I intend to control a frequency converter using its series terminals and send orders from my PC + LabVIEW it. The commands do the basic functions like, start, stop, speed up/down etc etc. I use a converter Series USB to transfer data.

    Now, I ve played with examples like SERIAL COMMUNICATION VI and others and I begin to understand the functioning of VISA.

    Q1. In order for LabVIEW + VISA contact my frequency converter, do I need to install some sort of a driver for him to recognize? The frequency controller is old ages, even I don't know and I don't think I can find a driver for it any time soon? What kind of driver I'm looking for? Is it possible to customize my own driver and which would be easy?

    accessory included - process.jpg

    I downloaded some pictures about the problems of data format. I need to send information to the converter to format "telegram" as shown in the image below. Each 'function' in the 'format telegram' has varied length in bytes: some have 1 others have 2, other 4...

    I also downloaded an image called "Format.jpg" which indicates what information each of these 'functions' will contain. Note:-the frequency converter uses only the last 4 bits.

    Say for example:

    START function will have this bit of information-

    Start the Byte - ASCII ' 59 "

    Address - 00

    Control character -? I'm not sure what it should be I need to use the converter based on parameter values - is confused on what to choose - C, U, I or r Start, stop, etc. have their own specific parameter values such as 402, 404 RESP, so I guess I want update (U)?

    Word of State control -? depends on the previous action

    Sign - do not necessary

    Data - 0

    Comma - is not necessary

    check the sum - is not necessary

    Stop the Byte - ' > ' (ASCII: 62)

    Phew... How would I go about clubbing this whole format together to send a control signal? Put all this information in a table allow somehow?

    Please help to me... to achieve desperately need...

    Thank you

    Sandeep

    It would be useful that you could find a driver, but it is not absolutely necessary to have a. You can write your own, use the Instrument i/o Assistant, or use VISA readings and some discreet.

    The format of the commands is a bit complicated but not impossible. You just need to be careful to have the exact number of bytes.

    What I don't see in the atttachments, it is possible words to control and the State and the number of parameter. I hope these are in another part of the manual.

    A bytes example (without the control and settings) to update the frequency to 12.34 could be '<00U________+123403??>'.

  • Trovo più non it cd di sommergibili di acrobat XI fortunatamente possiedo it by attivarlo como posso download serial number program?

    Trovo più non it cd di sommergibili di acrobat XI fortunatamente possiedo it by attivarlo como posso download serial number program?

    Hi, Giuseppe.

    Please visit: http://www.adobe.com/downloads/other-downloads.html

    I hope this helps.

    (Double Post)

    Concerning

    Megha Rawat

  • Problems with the simple serial communication.

    I followed a tutorial online to start learning basic communication series. The involved tutorial shorting pins 1 and 3 on port 1 Comm and write a simple program (attached). I've edited it a bit, the program to see varied results I get when trying to write and read a simple sentence via a serial port.

    Could someone explain what causes the kind of result shown in "Serial Comm example.png"? I think it has to do with timing. Why would be transmitted only the parts of the sentence?

    Thank you

    Sarah

    sarahzig wrote:

    The involved tutorial shorting pins 1 and 3 on the Comm 1 port

    What should be pins 2 and 3?  On a standard serial port DB-9, pin 2 is the receive and pin 3 is the transmission.

    Now for your code...

    1. move the Serial Port to be before the loop to set it up.  Simply configure the port once.

    2. close the port after the loop.

    3. managing your error after closing.

    4 stop your loop on an error or the stop button has been pressed.  You will need a RC in there.

    5. no need to Flush Buffer function.  Remove it.

    6. using the bytes to the Port is a dangerous thing.  It introduced all kinds of race conditions that are interesting.  Instead, say VISA reading to read the number of bytes that you expect to read.

    6a. Moreover, don't forget to send a character to end of line at the end of your data and all the number of bytes to read something a lot more than you ever expect read.  The VISA read will stop reading when he a) sees the number of bytes, it was said to read, b) sees the stop character (currently enabled and set to a line break, which is part of the end of line), or c) the time-out occurs.  Whichever comes first.

    7. with 6, the wait is no longer necessary.

  • Serial communication cause the crash of LabView

    Hello

    I'm set to do a serial with Labview. The problem is that the program always crash (no popup error but only LabView don't freeze) when I read or write with VISA.

    I work with a module converter (ADAM 4571) that convert Ethernet to RS-232/422/485. The module is mapped to the computer and the similar work as a COM port. I tested the connection with the Terminal windows and its work. This means that it is not a hardware problem.

    I did the same communication a few weeks with the same material and did not have a problem. I don't understand why it does not work now.

    I give my code as an attachment, but it is not something special except for the block that buffered (which is required for my module), but if I remove it the problem persists.

    Does anyone have an idea what can be the problem?

    Thank you

    Jérôme

    OK, I solved the problem.

    The version of the driver for the converter module mapping was not exactly right, now I change it and its work.

    Jérôme

  • Cannot read serial communication in OHAUS Ranger 7000

    Hello

    I'm reading a balance OHAUS Ranger 7000 data. Communication is via a virtual USB port (drivers came with scale). I have configured the port according to the parameters of their manual series. But for some reason I'm not able to read all the data. The process is either expire or I read 0 bytes data. I have attached the snippet here. I'd appreciate really any suggestions on this.

    Thank you

    Naren

    I have tried several things and understood the mistake. The program worked when I wrote the one byte of orders at a time.

  • Serial communication is blocking my time loop

    Hello world. I need your help with my program. I use LabView2014 and a B2902A Agilent.
    I want to measure the current value with my instrument continuously, store the values of every second and the display of the messages received through the serial port when I'm gone.
    Everything works perfectly separately, but when I put everything together I have this problem: my instrument is waiting for a message from the serial port to take (and display) a measure.
    You have an idea to save my problem?
    Thank you!

    Pauline

    (Please find attached a screenshot of my program)

    Use the byte to serial port to check if a message is available and read only when a message is available.

  • Problem formatting of serial communication

    I am communicating with a host machine that spits out data on the serial port.  I'm using fairly standard settings (9600, 8, N-1) and I'm getting data.

    The problem is the formatting of the data.  Obviously, the data are supposed to be fixed width, but the fields are moved after each CR/LF.

    Some examples of data:

    0   |    0.925.    0,833 |   110.444 |   549.278 |    23.812 |
    |  2   |
    0   |    0,921 |    0,832 |   106.971 |   480.604 |    24.464 |
    |  3   |
    0   |    0.926 |    0.831 |   114.320 |   555.821 |    23,785 |
    |  4   |
    0   |    0.920 |    0.830 |   108.434 |   587.374 |    23.411 |
    |  5   |
    0   |    0.925.    0.836 |   106.459 |   554.808 |    23.717 |
    |  6   |
    0   |    0,923 |    0.830 |   112.048 |   507.875 |    24.242 |
    |  7   |     0
    |    0.924 |    0,837 |   103.943 |   605.860 |    23.181 |
    |  8   |     0
    |    0,921 |    0.831 |   108.303 |   582.447 |    23,459.
    |  9   |     0
    |    0.925.    0,827 |   118.501 |   426.680 |    25.118 |
    | 10.     0
    |    0,922 |    0,826 |   116.223 |   483.567 |    24.527 |
    | 11.     0   |

    Any ideas what may be the cause?  There the series parameters that may change the data format?  I get the same results using LabVIEW and hyperterminal.

    I have No control over the host (long story).

    Thanks for your help.

    Set the properties of your VISA to "activate the term on readings tank" = TRUE and "term char" = 0x0A (line feed).  Configure your reading to read MORE characters that you expect and each reading will end when we see a 0x0A. (you can remove the warning from VISA if you wish.

    -What happened to the cursor - this lack of cursor's post a little harder! Laura_F - is this known?

  • serial communication control! Help!

    Hello guys,.

    I am trying to acquire serial port data. I use FTDI serial - usb converter.

    I have attached the VI and capture example.

    It send CDD1 CDD3 CDD3 to device and device ADD1 ADD3 sending, then I send CDD3 and device begin to measure and send it to the serial port.

    The first question is about the current is to communicate with the correct device?

    The main question is about the first loop stops when I turn off the device in the middle of transmission (for example) or sometimes I don't know why, if I choose the wrong port to check that everything works well, the port read data, I sent and send CDD3 CDD3. Then the loop 1 none stop!. I want to programately the loop to detect the "time out" and stop the loop.

    One thing to keep in mind is that the transmission does not constantly. When start transmission of the device send data, stop for maybe 2 or 3 seconds to change the sensors and send it again...

    So, I'd like if someone can give advises me to stop the loop1 when it receives data.

    Thank you.

    What is the instrument you want to contact?  Should I use a stop character?  If this isn't the case, then turn off the stop character on the Serial Port to set it up.  Avoid using the bytes to Port if possible.  If you know how long of a message receive you, simply read as many characters.

  • imitate running a script to run Labview tera - serial communication

    Hi I have an anemometer which I am trying to communicate with via the serial interface. I am connected via a USB converter to 485. The manufacturer of the anemometer provided two scripts of term tera to communicate with the device. When I run scripts in tera term anemometer reacts as expected. When I imitate (or so I think I'm) orders in Labview, I get no response.  Please see the attached document for more information.

    I'm not familiar with the language of terms of Tera, but what I found on the internet I guess that there is more information (CR & CRLF variable defined by the code2str function), which is in fact the echo back on display "00TR 00012 '.

    Any ideas?

    Thank you

    -Scott

    It is probably sending a return trolley/line.  (or just one or the other).

    I suggest using a program like Portmon using Teraterm to see what is actually sent and received.

  • Cannot modify startup programs - very slow laptop computer at startup.

    Hi my laptop is running slow at startup, so I thought I would "change the startup programs" via the control panel.

    I get the message 'Windows Defender is disabled' then when I try to turn it on it freezes.

    I have Microsoft Security Essentials.

    This question was asked several times but no answers that I can see.

    Thank you

    MSE disables Defender by default, MSE has its own integrated version of Defender.

    You can try this from Microsoft:

    http://TechNet.Microsoft.com/en-us/sysinternals/bb963902.aspx

    This utility, which has a knowledge of auto-starting locations of any startup monitor, shows you what programs configured to run at system startup or login and that the entries in the order of processing windows. These programs include those in your startup folder, Run, RunOnce, and other registry keys. You can configure Autoruns to show other locations, including Explorer shell, toolbar extensions, helper objects to the browser, Winlogon notifications, auto and many start-up services even more. Autoruns goes way beyond the MSConfig utility bundled with Windows Me and XP.

    See you soon.

    Mick Murphy - Microsoft partner

  • Responses from Microsoft programs have slowed and a label that says: "Ask for genuine Microsoft software" appears on my control panel.

    Original title:

    How to get rid of real tag?

    Hello

    A few days ago I had install and run "Fix it for me" on a few bottlenecks and since then good number of my programs answers Microsoft slowed and a label that says, "ask for Microsoft software genuine" appears on my Panel only. Why - what is shown? and how do I get rid of him? Please, tell me if there are ways to erase the effects of the "Fix it for me" programs on my Windows 7 Professional which is also a genuine and registered copy?

    Thank you

    Dr. Reza

    Real should have some instructions, so you can type your product key (from the sticker on your computer or CD case) and it can solve the problem.

    Or you could try the system restore to undo the fix - it program.

Maybe you are looking for