Jump to content

_Y_

Members
  • Posts

    43
  • Joined

  • Last visited

Everything posted by _Y_

  1. Thank you for the answers. I cannot say which would work for me because investigation could take quite a time. However, I shall not forget about this discussion.
  2. We use USB-connected Microsoft Smart Card Reader. The devise crashes sometimes. It does not happen often thus search for the reason could take time. The only way to get the devise functioning again, is to open Device Manager, click Uninstall then Scan for hardware changes (that installs the Reader again). Is there any method to do this from LabVIEW? I.e. send commands to reinstall the USB device? I know this could be a bad fix. However, it can help in long-time tests (while we are searching for reason of these crushes). Thank you
  3. Thank you, ShaunR, for your attempts. This is my test code. I can read the file but the output string contains no hidden data, only U8 symbols. So, I get question mark instead of the national character. txt_text.doc word_reader_160913.vi
  4. Is it possible to send such a command from LabVIEW to MS Word? Is there any description how to do it? Actually it could be a good solution.
  5. ShaunR, thank you for the answer. The information about Unicode in LabVIEW is really interesting and will be useful. However, I am still at the square 1. The article does not explain how to get Unicode string from MS Word document (or I did not find answer in the article).
  6. I need to "extract" text from MS Word document (no formatting, just plain text). Unfortunately, methods that I found allow to get only conventional LabVIEW string where all national characters and symbols are lost. Each such a character is replaced with code of question mark. Is there any way to read national text from MS Word? I would be happy to get it in any format; for example as U16 array of Unicode symbols, or U8 array with two values per symbol, or any other. I would also be happy with any Word format: doc or docx. Thank you
  7. I am trying to implement a simple DAQ Watchdog with single digital output but cannot find any logical way to reset the Watchdog timeout signal. One of obvious solutions is invoking DAQmx Reset Device.vi. Unfortunately, it does not work. The Watchdog goes to timeout state but the physical output signal does not turn to High. For some obscure reason (typical non-qualified guess:) I added bottom part of the code that is red-framed in the BD. The only difference between functional and non-functional code is using DAQmx Start Task.vi, that is located in “Solutionâ€-driven case structure. If Boolean control “Solution†is True, the code works; if False, it doesn’t. Please help to understand why launching conventional Digital Output task is necessary for normal functioning of the Watchdog? PS: Attempts to use clear expiration command instead of DAQmx Reset Device.vi were not successful. PSS: HW is PXIe-6358 PSSS: Unfortunately, I cannot post any image here. Any image format results in "You are not allowed to use that image extension on this community" . The VI is attached. watchdogTest150817.vi
  8. Unforttunalely, it does not work if a new element is iserted near an old element and both have default value. The simplest example is inserting in Boolean array where all elements are False. The method will say that the element is added at the end independently on the actual insertion position.
  9. UI has an array. A new element can be added initialising one more element at the end or using menu "Insert element before". Both methods launch user event "Value Change". Is any way to see index of newly added element? My guesses are limited to watching position of mouse clicks but there is no fun is such a solution.
  10. Yes, it seems so. But what is the use for this terminal? Enabling to work with VIs belonging to the caller program without name conflict?
  11. C:\Program Files (x86)\National Instruments\LabVIEW 2013\project\procmphier.llb\CMP Compare two VIs.vi Thank you very much, it is the solution! By the way, I have no idea what for terminal "application reference" is used. My problem is solved without any need in this derminal but I probably miss some pearl?
  12. Hi all, I need to compare two VI-s dynamically, i.e. by my LabVIEW program. Unfortunately, the single solution found does not differ much from conventional VI-comparing tool supplied with Professional version of LabVIEW. This is what I found: LVCompare.exe allows launching comparison of two VI-s but it exposes results in conventional UI. However, I need an output that can be processed automatically: string, array of strings or something else. NI_procmphier.lvlib:CMP compare two VIs.vi seems to be designed for such needs. However, I cannot get it working. It has no description and its BD is password-protected. All terminals are recommended, so the number of combinations is infinite. Can some of you advice a method for dynamic comparison of VI-s? May be some of you know how to use CMP compare two VIs.vi? Thank you!
  13. Hi, I develop a new TestStand solution with use of IMAQ/Vision. The structure is conventional: UI is written in LabVIEW as well as particular tests. In some cases images and test-specific controls/indicators must be shown to user(s). This works well with conventional "Show front panel when called" set to test VI-s. However, such FP pop-up solution is not the best. Is it possible to insert test VI-s in SubPanel of UI? If so, I shall appreciate any hint how VI reference is obtained and sent from TestStand sequence to UI. Thank you
  14. Hi all, I got a strange queue behavior that is probably related to race conditions. The problem is eliminated (a way around is found), so there is no need in a quick solution. However, I would be happy to understand reasons for such a phenomenon. BD of the “problematic†VI is attached. The queue size is limited to 1. The program consists of multiple asynchronous processes. Execution reaches the Enqueue Element node than stops. The timeout never happens; the program hangs. However, there is more. If I try to execute the VI step-wise, everything works fine until the execution enters the internal Case Structure. When it enters, three Stepping buttons become disabled. If I try to decompose the program, i.e. to use the same VI in a simple single-process program, both problems disappear. Have you encountered such a strange behavior? Any ideas that can help to the poor creature (me) to avoid sleepless nights?
  15. Thank you. Careful reading of manual helps Of course, the format string uses backslash to provide a way to write % ("%"). And other are side effects.
  16. A simple code: produces the following symbol I tried some other characters after the backslash. Some remain the same while some result in other pseudo-graphics. It is new for me. Is these any description of such a behavior? And why does it happen? Thank you
  17. I reinstalled the whole LabVIEW in the development computer (using latest DVDs). This probably updated all packages to the last and same version. Seems, the problem is solved. Thank you!
  18. Thank you for answers. The last suggestion "Finally, I would recommend inverting your distribution building process..." is exactly what do I try to do. First step (test program + LV RTE) was successfully installed. But the program does not run complaining about missed libraries (no surprise of course). So, I added Vision RTE. The error listed above appears when attempting to install (not when running the installed program). So, the registry was searched on your advice. Seems there is a version conflict in the development computer. The registry contains "NI Vision Run-Time Engine 2012" while the installer writes about "NI Vision Run-Time Engine 2012 SP1". The GUIDs differ. So far this is the only progress. I shall continue.
  19. I am trying to assemble an installer that includes NI Vision RTE. So far the aim is to understand what must be included in the installer specification. I.e. to assemble minimalistic specification for the installer. So, I include few VI-s with my test program (LabView 2012), LabVIEW Run-Time Engine 2012 f3 and Vision Run.Time Engine 2012. An attempt to install in a blank Windows-XP computer resulted in such an error: .Distribution.cpp(2065): InstallerError 11004 Developer Error. Distribution contains invalid dependencies: 1. Product NI Vision Run-Time Engine 2012 SP1 ({5D9D2C64-6D70-44CB-860C-4C624A03D870}) depends on product with upgrade code {409BEFA9-EB3E-472F-AD77-271A4A1D5927}, version [12.10.35.0,), language in {} which is not in the distribution. 2. Product NI Vision Run-Time Engine 2012 SP1 ({5D9D2C64-6D70-44CB-860C-4C624A03D870}) depends on product with upgrade code {CBA7EDB3-A142-43B6-B68B-A723624F1375}, version [3.7.50,), language in {} which is not in the distribution. 3. Product NI Vision Run-Time Engine 2012 SP1 ({5D9D2C64-6D70-44CB-860C-4C624A03D870}) depends on product with upgrade code {5D6378B2-B24D-4AD6-5DA2-FAEFDB81A250}, version [12.0.7.0,), language in {} which is not in the distribution. Correct the distribution and try again. <No Debug Message> As I understand, more items must be included in the installer. But how can I understand which parts? Upgrade codes and versions without names of products are little confusing. I would be very glad if someone teaches me how to decrypt such error messages. Thank you.
  20. crossrulz, drjdpowell, thank you. Seems call-and-collect can solve the problem but not in the way as described in the example. I did not find a way to call reliably a clone by ref but. Instead I use : i) call-and-collect to keep the ref alive; ii) an additional state machine in the reentrant VI to keep it running and iii) communicate with each clone using DVR. Not so simple but functional.
  21. I tried to reuse clones of a re-entrant VI and did not succeed. Help says: “Shared clone reentrant execution—Allows parallel execution … this type of reentrancy reuses clones among VI calls. If a VI call occurs while all clones are in use, LabVIEW allocates a new clone for that VI call…”. As I understand, if there is a non-used clone, it has to be used instead of making a new allocation. I created a small project (attached archive Test_DynamicCloning.zip). It has two VIs. The r.vi is set as Shared clone reentrant execution. It does not do much but only counts the number of invocation with an uninitialized shift register and closes own FP after 5 sec (alternatively it is closed with a button click): main.vi creates a new clone on button clicks: But each click of the button results in a new clone that is indicated by both: new clone number in the title bar and by the shift-register counter. Now I set Auto Dispose Ref to true and run again. The title bar indicates reusing of the same clones but the shift-register counter shows that the clone is used first time. So, I need your opinions: What happens in the background? Why and how Auto Dispose Ref influences the cloning process? Why the shift register is re-initialized? Thank you Test_DynamicCloning.zip
  22. Mads, thanks for the reply but I do not get its relevance to my question. The VI itself is found and can be called. But, seems, it try to find something else that is reported in the path list as VI_path/VI_name.vi/0 and in the list of names as VI_name.vi:Instance:0. The VI is non-reentrant, thus no instances are expected. By the way, the project contains several VI that are invoked in the same way and have exactly the same settings. All other similar VIs work problem-free.
  23. I try to build an executable out of a program that is fully functional under the development environment (LabVIEW 2011, Linux). The executable complains that one of asynchronously launched VIs is bad because one of its components cannot be found. The VI does not invoke any sub-VI dynamically. To identify the problematic sub-VI, I use the following code: A new executable was build including this code and the VI under investigation. A run results in the following error: Possible reason(s): LabVIEW: File not found. The file might have been moved or deleted, or the file path might be incorrectly formatted for the operating system. For example, use \ as path separators on Windows, : on Mac OS X, and / on Linux. Verify that the path is correct using the command prompt or file explorer. VI Path: /opt/***/Builds/Debugg/Debugg_GetDependencies/SubVIs/*** - Plots & Parameters.vi/0 Built Application or Shared Library (DLL): Make sure all dynamically loaded VIs were properly included in the build specification for the application or shared library. LabVIEW Real-Time: VIs built into executables cannot be accessed through VI Server calls. Use Source Distributions to dynamically call VIs on Real-Time targets. /opt/***/Builds/Debugg/Debugg_GetDependencies/SubVIs/*** - Plots & Parameters.vi/0 The same mysterious path is indicated in the indicator "Array" with Execution State “Bad”. The corresponding name in the indicator “Dependency Names” is “*** - Plots & Parameters.vi:Instance:0”. So, I tried to run the same debugging code under LabVIEW development environment and got the same error (while the program works without any complains under LabVIEW). What could be the reason? Had any of you solved such a problem? Thank you
  24. Ton Plomp, I did not do such things in past. Could you write some details please? A link to RFM should also be fine
×
×
  • Create New...

Important Information

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