From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Labview sub-vi performance enhancement is needed

Hello,
 
I have two sub-vi's in an attachment with this message that I could use some help with.  I've been told by a regional NI field sales engineer that they can be improved by a NI application engineer so that they will perform much faster.  Anyone able to help me out in a bind on short notice?  These sub-vi's are used to generate hexidecimal code with a check-sum that's used to control the functional mode of a CDMA microprocessor.  The code is passed through the serial port interface of the CDMA device and it needs to operate faster.
 
/BCU
/BCU002


Hardware Engineer•Design Reliability/Performance and Validation Group•Wavecom, Inc. - Research Triangle Park, N.C.•http://www.wavecom.com
0 Kudos
Message 1 of 8
(2,919 Views)
Remove all the intermediary boolean arrays. Logical operations on intergers are performed bitwise, so you don't need anything green. 🙂
Message 2 of 8
(2,903 Views)
As altenbach stated, remove the boolean operations. I was refactoring your frame_out1.vi when he suggested this.

See the attached vi (LabVIEW 8.2)



Now is the right time to use %^<%Y-%m-%dT%H:%M:%S%3uZ>T
If you don't hate time zones, you're not a real programmer.

"You are what you don't automate"
Inplaceness is synonymous with insidiousness

Message 3 of 8
(2,884 Views)
Nice work to both you and altenbach and thanks for recreating this vi for me!  I test it out tomorrow and send you and update about how it went.
Thanks!
/BCU002
/BCU002


Hardware Engineer•Design Reliability/Performance and Validation Group•Wavecom, Inc. - Research Triangle Park, N.C.•http://www.wavecom.com
0 Kudos
Message 4 of 8
(2,864 Views)

Altenbach,

Your re-creation of the original sub-vi seems to be a nice fit for my application and it does seem to run faster.  However now I'm not able figure out why the rest of the application isn't functioning properly.  The rest of my application runs through all of the subvi's very quickly now but once I get to the While Loop it stops working everything inside of it except for the two delays I'm using as on/off timers.  I've changed the VI properties of the sub-vi's that are being used in triplicate to 'reentrant' but that's not helping me like I expected.  Another odd thing is that I can't get the indicators on my top level panel to update and display the information I need from the While Loop.

I really need more help with this application because I've spetn all day and all evening trying to figure it out and I'm at a loss for understanding how to fix the problems.  Can you help me out of this mess?

/BCU002

/BCU002


Hardware Engineer•Design Reliability/Performance and Validation Group•Wavecom, Inc. - Research Triangle Park, N.C.•http://www.wavecom.com
0 Kudos
Message 5 of 8
(2,826 Views)
You forgot to include your code (only the project file).

To do this right, open your top-vi, select save as, and select the last option (Duplicate Hierarchy to new location)

Reading your post, I think you have the terminal outside the while loop, put them inside the while loop and it will be much faster.

Ton
Free Code Capture Tool! Version 2.1.3 with comments, web-upload, back-save and snippets!
Nederlandse LabVIEW user groep www.lvug.nl
My LabVIEW Ideas

LabVIEW, programming like it should be!
0 Kudos
Message 6 of 8
(2,821 Views)
TonP,
 
I've attached the top level vi as per your request.  I'll be here at work all day today if you need to contact me directly.
 
Thanks for looking at this post!
 
/BCU002 Smiley Happy
/BCU002


Hardware Engineer•Design Reliability/Performance and Validation Group•Wavecom, Inc. - Research Triangle Park, N.C.•http://www.wavecom.com
0 Kudos
Message 7 of 8
(2,807 Views)
Phillip,
 
I plugged in the frameout_2.vi and discovered that part of the hexidecimal code is being reversed in your VI.  For example, the code that is sent to the device via the serial port normally would appear in this order when viewed from an indicator attached to a write vi: 4B0B 0020 27AC 7E however what I've seen with your VI is 4B0B 0020 AC27 7E whereas the underlined characters are reversed.  I'm not an expert in this coding scheme but it's not going to work this way.  Do you have the time to fix it?
/BCU002


Hardware Engineer•Design Reliability/Performance and Validation Group•Wavecom, Inc. - Research Triangle Park, N.C.•http://www.wavecom.com
0 Kudos
Message 8 of 8
(2,762 Views)