Jump to content

All Activity

This stream auto-updates     

  1. Today
  2. Hi, I want to unit test methods in my classes using JKI's VI Tester. Some methods are private or protected, which means, the TestCase class can't access it. (Yeah, I know, testing private methods is controversial for some people, but I want to do it anyway 😛.) My approach is, to save the access scope of every vi in the class that I want to test. Then set all members to 'public' in the test setup and finally restore to the original setting in tear down. The problem is: Everytime the 'Set Source Scope' or 'Set Source Scope And Propagate' library method is called with a dynamic dispatch method, a warning pops up. This requires me to click a button, which I wanted to avoid in the first place by programmatically changing the access scope 😬. My question: Is this dialog suppressable or automatable somehow? At least 'Set Source Scope And Propagate' should not result in a popup. Its sole purpose is change the scope and propagate that change. (Generally, calling invoke nodes shouldn't popup anything, IMHO.) I could also set the access scope to 'community' and add the test classes as friends, but that seems like an ugly workaround... Edit: By the way: I'm using LV 2018 SP1, if that makes a difference.
  3. This means that RT Linux for Desktop PC is theoretically possible. Can I buy a Linzens from RT Linux for Desktop PC´s? And how long will Pharlab ETS be available?
  4. Hello, I'm new to LabView so please be gentle. I have a project on work in which I have to "merge" a number of signals. For this example I'll use 3, in order to be easier to understand: Signal 1 with a frequency of 100, a sample rate of 46k and a duration of 3 seconds (those are random numbers) Signal 2 with a frequency of 1000, same sample rate and a duration of 2 seconds Signal 3 with a frequency of 500, same sample rate and a duration of 5 seconds I need to create a new signal, signal 4, composed by signal 1 + signal 2 + signal 3. All 3 with different specifications. Basically signal 4 will have 3+2+5 seconds and every of those 3 seconds interval with the specific specifications (frequency, sample rate, duration)( i'll need to change the sample rate for signal 2 for example, also keep the signal 1 and 3 the same, or maybe to change the sample rate for signal 2 and 3. I started to break the "problem" in small pieces in order to learn and understand what I'm doing. So far I managed to put the 3 signals together and to obtain 3+2+5 seconds, but i don't know how to "play" signal 4 with different sample rates. What i'm trying now is to interpolate 2 arrays, i searched for more examples on the internet, in LabVIEW help and I don't get it how it should work with 2 arrays. I tried also to use the Threshold function. Can someone help me with an example on how to interpolate 2 arrays? Let's say Array 1 has the values: 1, 3, 5, 7, 9; And Array 2 has the values 1,2,4,6,7,8,9 ( i think it is possible to have arrays with different dimensions in the end). Thank you
  5. cRIO is all linux, PXI now supports linux: https://www.ni.com/product-documentation/55164/en/
  6. No, the account is fine. The CI build (system account) still works. The problem is when I log in manually to debug a problem. I just don't know where to look for those files it's trying to access or which files those are.
  7. Yesterday
  8. Want to cross-post this discussion from NI Forums and see if anyone here has suggestions. https://forums.ni.com/t5/Actor-Framework-Discussions/Looking-for-IDE-Performance-Optimization-Suggestions/m-p/3961791#M6126 Boils down to, as you build large projects with AF are long build times unavoidable? What are best practices for avoiding long build times while working with AF? Is there is a compilation of all the "tribal knowledge" about best AF/OOP coding practices for keeping build and IDE performance manageable?
  9. I would highly recommend that you use one of the existing modbus libraries to communicate with the E5CN. See: OR: https://github.com/NISystemsEngineering/LabVIEW-Modbus-API
  10. I noticed on sourceforge that there is a version 4.2 of OpenG Zip. Will it be released as a package anytime soon?
  11. Hello, experts, in the current description of the NI Vision Acquisition Software it says: http://www.ni.com/pdf/manuals/375130k.html Deprecated Features ◾NI - IMAQ 19.0 .... ◾Removed support for LabVIEW Real-Time targets running Phar Lap ETS OS Will the OS Labview Real Time (Phar Lap ETS OS) be discontinued and is there an alternative based on Linux? a good time Jim
  12. Hi every one, I can connect and run E5CN tempt. controller to Labview through Modbus. Attached files are my programming test for E5CN. I think E5CC has the same protocol with E5CN. I hope these files can hep you. E5CN_test new.vi MBcrc (2).vi String Hex to Interger Decimal.vi
  13. Hi every one, I can connect and run E5CN tempt. controller to Labview through Modbus. Attached files are my programming test for E5CN. E5CN_test new.vi MBcrc (2).vi String Hex to Interger Decimal.vi
  14. Hi, Over night something changed on my windows 10 build server and I can now no longer open VIPM. It just shows the splash screen and then closes again. Here's the log file: =========== START of VIPM 2018.0.0 (build 2025) Error Message =========== An internal VIPM 2018.0.0 (build 2025) Error has occured on: Tuesday August 20, 2019 at 03:19:48 PM = Automated Message Start = Error 8 occurred at Open/Create/Replace File in NI_LVConfig.lvlib:Parse Config to Queue.vi->NI_LVConfig.lvlib:Load.vi->NI_LVConfig.lvlib:Open Config Data (compatibility).vi->DDEFA056211BA4DA4D215C322E067D90->621BFCD461979D3C7127139A69154E03->762BBE85A007 171D5A65B48289D23361->46803A2448FAC5F85BFF8F5C199E9C6F->OGPM Class.lvlib:7D7C5CD8C5D361C01081DF5613237E15->OGPM Class.lvlib:D69AB3997B80ACD75689430E3922612C->OGPM Class.lvlib:OGPM Init.vi->VIPM Splash.vi Possible reason(s): LabVIEW: File permission error. You do not have the correct permissions for the file. ========================= DMA hardware error detected. C:\ProgramData\JKI\VIPM\cache\ngene_lib_deepltk_fpga_addon-1.0.0.45.spec = Automated Message End = = User Defined Message Start = Error(s) Generated in Splash Window = User Defined Message End = = Error Handler Call Chain Start = VIPM Splash.vi = Error Handler Call Chain End = =========== END of VIPM 2018.0.0 (build 2025) Error Message =========== Any idea where the files are that it doesn't have the right permissions for?
  15. Last week
  16. Thanks - I hadn't even thought of using multiple queues in this way, but that makes a lot of sense. I should be able to structure it like this fairly easily.
  17. overcurrent?the function belong to DMM. you can remote the DMM, however, the labview have no the subvi which can monitor overcurrent
  18. 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.
  19. 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
  20. 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
  21. Hi, Explanation from NI website: https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000019KZNSA2&l=en-IL Regards, Joseph.
  22. 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.
  23. 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
  24. 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.)
  25. 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:
  1. Load more activity
×
×
  • Create New...

Important Information

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