Jump to content

All Activity

This stream auto-updates     

  1. Today
  2. overcurrent?the function belong to DMM. you can remote the DMM, however, the labview have no the subvi which can monitor overcurrent
  3. The programming term you should look into is Futures and Promises. It is about handling results not yet received (such as defining their order, as you wish to do). Single-element Queues, as TomOrr0W suggests, is what I usually use.
  4. I don't know of any ready-built solutions, but I did come up with the idea below when you mentioned not wanting to reorder (there may be a way to do this with channel wires, but I am not really familiar with that feature) (vi is also attached, saved to LV2018): Parallel Processing Order.vi
  5. Yesterday
  6. The Parallel For Loop is perfect for parallel processing of an input array, and reassembling the results in the correct order, however this only works if the array is available before the loop starts. There is no equivalent "Parallel While Loop" which might process a data stream - so what is the best architecture for doing this? In my case, I'm streaming image data from a camera via FPGA, acquiring 1MB every ~5ms - call this a "chunk" of data - and I know I will acquire N chunks (N could be 1000 or more). I then want to process (compress) this data before writing to disk. The compression time varies, but is longer than the acquisition time. So I'd like to have a group of tasks which will each take chunks and return the results - however it's no longer guaranteed that the results are in the same order, so there's a bit of housekeeping to handle that. I have a workable architecture using channels, but I'd be interested in any better options. Easiest to explain with a simplified code which mimics the real program: It requires the processing to use a Messenger channel (i.e. Queue) because a Stream channel cannot work in a Parallel For Loop, but this doesn't maintain order. And the reordering is a little messy - perhaps could be tidied using Maps but I don't have 2019 at the moment. The full image is too large to keep in memory (I'm restricted to 32-bit because the acquisition is from an FPGA card), so I need to process and write the data as it becomes available. I've considered writing a separate file for each chunk, but writing millions of small files a day is not particularly efficient or sustainable. Is there a better approach? Have I missed something? I feel like this must be a solved problem, but I haven't come across an equivalent example. Could there be a Parallel Stream Channel which maintains ordering, or a Parallel While Loop which handles a defined number of tasks? Thanks. Greg
  7. Hi, Explanation from NI website: https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000019KZNSA2&l=en-IL Regards, Joseph.
  8. Hi, I found a solution: when using Labview 32 bit I get the error :-41106 If I open the same .vi with labview 64 bit i don't get the error anymore. it seem to be an error using different format system (32bit and 64bit together). so I renew my question: How can I run vi running with labview 32 bit and Office 64 bit ? Regards, Joseph.
  9. When reading data from excel file with labview 2017 (32bit) I get the error code: Error -41106. Week ago everything worked properly. I uninstall and install Office again. what can I do to make it work again? Regards, Joseph. Windows 10 Home Excel Version: 2016 MSO (16.0.11901.20170) 64bit Labview 2017 32 bit Untitled 1.vi
  10. Last week
  11. DVRs can be upcast and downcast with To More Generic and To More Specific. So if you have a public type that is the ancestor of the private one, you can upcast to the public one in public and then downcast when you need to actually use it. That's all completely type safe. (Note: DVR of LabVIEW Object works without you having to create a new ancestor class.)
  12. The instructions in KERNEL_SOURCE.txt are pretty good and work well for me. I use a Ubuntu 18.04 VM for cross-compiling, I would suggest at least 70 GB hard drive space. More help can be found here: https://forums.ni.com/t5/NI-Linux-Real-Time/ct-p/7013 And you can watch this if you'd like:
  13. Why would you want to do that? Compiling a Linux image for embedded hardware is not a trivial feat. Yes NI does provide the scripts that are necessary to do that but you also need to have the perfectly setup development system with the right version of gcc toolchain to even hope to get that working seemlessly. Even slight version differences can mean that you might have to edit scripts and all and such edits are really not for the faint at heart. You need a very deep knowledge into Linux in general and especially embedded kernel compiling of Linux in order to hope that your edits will cause anything else than more errors. Googling with errors is in these cases usually also not a solution because you mostly find only answers from other noobs who have no idea what they are doing and just post random recommendations.
  14. Wow, conditional auto-indexing in loops has been around since Labview 2012? How the heck did I not notice this?
  15. Which kind-hearted person can give you some advice: How to recompile an image that can run on ZYNQ according to the LINUX RT source code on GITHUB? The links are as follows: Https://github.com/ni/nilrt/tree/nilrt/15.0
  16. I wouldn't do this. Its probably ok in this limited case, but its possible to make labview crash in this way. A better route is the variant, which has the same capabilities (cast to an opaque untyped blob and back again) but without the danger.
  17. Even as a pointer, that wouldn't work in C++. Any use of the type in a public signature must be public, even by pointer, even by reference.
  18. I am trying to generate arbitrary pulses from keithley 2614B SMU. I downloaded driver files from keithley website and added to the labview drivers, but the there were multiple VI files and no files to generate pulse pulse voltage and measure current. Do i need to use these driver files to create a new program or shall i can use the same driver file to generate pulse. If any of you are having VI files for pulse generation in 2614B please attach it here.
  19. Hi, You can actually typecast your DVR reference to U32 value (pointer) and back. You can store this U32 number in a helper class, that will represent your API. Or, if you decide to go with a helper API class, then you actually don't need to typecast it to U32 - just store the DVR inside the public API helper class:
  20. Just to say that I have also had the same issue for quite some time. Several months ago I sent a message using the Contact Us link at the bottom of the website, but have not had a response.
  21. Thx for your sharing sir! But at my current project, I got the a EXE file, and I would write some commands after i execute it, and i can't finished it with SYSTEM Exec or your tool, could you pls help me to figure out it ? the yellow part below are the commands, thx again! D:\DESKTOP\VIG\BLE>BLE_GET_RSSI.exe Loading... <<READY>> Connect FDB06556E922 <<READY>> 7C1ABEE86B33 Connectng Connecting to FDB06556E922, Device name: VIG2_BLE_FDB06556E922 Connected to FDB06556E922 Discover Complete SEND VIG_BYPASS TX: VIG_BYPASS <<READY>> RX: MAC CHK OK SEND soc_ver? TX: soc_ver? <<READY>> RX: 0.762 quit D:\DESKTOP\VIG\BLE>
  22. I found a post with the exact same error codes: https://forums.ni.com/t5/SystemLink/Package-deployment-failed-through-SystemLink/td-p/3839425 (Google had exactly 1 hit on ni.com) JoshuaP suggests installing ni-certificates first. (His solution is for SystemLink rather than NIPM, so I'm not sure how applicable it is to your case)
  23. Getting absoerrorlog.txtlutely nowhere with this. Reinstalled my OS, managed to install LV2019, now cannot install any RT stuff. Package managed is choking on NI-Serial. ===== 2019-Aug-12 22:44:11.734283 ===== Exception in ni::pkgclient::TransactionBase::StartInternal. Error code: -125083 Request type: 30 -125083: An error occurred while installing a package: ni-serial-runtime (19.0.0.49152-0+f0) File: source\nipkg_client\pkgclient\PluginInteraction.cpp Line number: 237 Additional error information: -125530: An error occurred while installing the MSI at 'serialRuntime64.msi'. File: p:\AST\PackageManagement\components\nipkg\trunk\19.0\source\shared_agents\WinInstall/ErrorHandler/ErrorInfo.h Line number: 111 Anybody know what these error codes mean?
  24. Earlier
  25. Rather than have a bunch of links floating around, I'm creating this "one stop shop" for my contributions to the LabVIEW community. This is my Cilino Suite aka "C Suite". Presentations My YouTube Channel of Presentations (bit.ly/ChrisCilino_Presentations) including: My LabVIEW Champion Interview NIWeek 2018 Keynote Presentation Soliton Customer Testimonial LabVIEW Architect's Forum Q3 2018 - LabVIEW Auto Documentation Software LabVIEW Architect's Forum Q4 2016 - Automated Build Process 2018 Certified LabVIEW Architect Summit - Everything a Software Engineer Needs to Know That Has Nothing to Do with Software Engineering My First Keynote Presentation at VIP Days in Germany Code - Reuse Libraries Automated Build System - Software Module Builder Summary: A system that turns source into exports. The exports can be of any type. Also determines build order of hierarchical modules, updates dependencies, and allows you to move the exports to the location you need for your end users to find and install the export and its dependencies. Download BitBucket Repository: git clone https://ChrisCilino@bitbucket.org/ChrisCilino/software-module-builder.git Dependencies LabVIEW Container (see link below) LabVIEW SCC API Summary: An API designed to abstract server based source code control providers. BitBucket Repository: git clone https://ChrisCilino@bitbucket.org/ChrisCilino/labview-scc-api.git Distributed as a part of the Automated Build system NI Package Manager Build Spec API Summary: An API to programmatically interact with and edit the LabVIEW NI Package Build Specification. BitBucket Repository: git clone https://ChrisCilino@bitbucket.org/ChrisCilino/ni-package-manager-api.git Distributed as a part of the Automated Build system Software Module Template - NIPKG and VIP Summary: A template LabVIEW Project designed to be built into an NI Package and VI Package by the Software Module Builder (see above). With this template, a user need only put their code in the "source" directory and edit some build specification information and the build process will do the rest. Distributed with the Software Module Builder BitBucket Repository: git clone https://ChrisCilino@bitbucket.org/ChrisCilino/software-module-template-nipkg-vip.git Watchdog Framework Summary: A software observer of "situations" that can notify when something of "interest" happens. The observer is the "WatchDog", the thing being observed is a "Perpetrator", and the notification is a "bark". Download BitBucket Repository: git clone https://ChrisCilino@bitbucket.org/ChrisCilino/labview-watchdog-framework.git Sequencer Summary: A simple design pattern that organizes code on a single block diagram without the inappropriate/excessive use of subVIs. Download BitBucket Repository: git clone https://ChrisCilino@bitbucket.org/ChrisCilino/sequencer-pattern.git Auto Documentation Summary: Think of this as Doxogen for LabVIEW. Given a Project, Lvlib or .class, this software generates report. The report is "printed" to a confluence page. The software is Object Oriented and designed to be extended through inheritance. Download BitBucket Repository: git clone https://ChrisCilino@bitbucket.org/ChrisCilino/labview-auto-documentation.git Dependencies LabVIEW Atlassian / Confluence / Jira APIs Summary: An API that allows you to control Atlassian assets such as Confluence and JIRA from LabVIEW BitBucket Repository: git clone https://ChrisCilino@bitbucket.org/ChrisCilino/labview-atlassian-api.git LabVIEW Container Summary: A dynamic data structure that combines the strengths of a cluster and an array. Download BitBucket Repository: git clone https://ChrisCilino@bitbucket.org/ChrisCilino/labview-container.git Custom Install Step Launcher Summary: Enables NI Package Manager to execute VIs as a Post-Install/Post-Install All/Pre-Uninstall action. Download BitBucket Repository: git clone https://ChrisCilino@bitbucket.org/ChrisCilino/custom-install-step-launcher.git History/Credentials/Social Media LabVIEW Champion Page LinkedIn LabVIEW Champion Badge Certified LabVIEW Architect Badge Twitter NI.com Profile
  26. Doing a quick search, C++ doesn't permit access scope for the class itself -- only at the member level. In other words the class itself is always public
  27. Raw TCP. Make your application respond to SCPI commands and the other engineer can treat it like any other instrument. Can even be over a network (remote). It's a simple method which is programming language independent and can be added to existing applications without much problem. Also has no additional installation or distribution requirements.
  1. Load more activity
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.