Jump to content

Bobillier

Members
  • Posts

    209
  • Joined

  • Last visited

  • Days Won

    5

Everything posted by Bobillier

  1. After search in Labjack documentation i have find this : " 4.1.2 Multi-Threaded Operation This driver is completely thread safe. With some very minor exceptions, all these functions can be called from multiple threads at the same time and the driver will keep everything straight. Because of this Add, Go, and Get must be called from the same thread for a particular set of requests/results. Internally the list of requests and results are split by thread. This allows multiple threads to be used to make requests without accidentally getting data from one thread into another. If requests are added, and then results return LJE_NO_DATA_AVAILABLE or a similar error, chances are the requests and results are in different threads. The driver tracks which thread a request is made in by the thread ID. If a thread is killed and then a new one is created, it is possible for the new thread to have the same ID. Its not really a problem if Add is called first, but if Get is called on a new thread results could be returned from the thread that already ended. As mentioned, the list of requests and results is kept on a thread-by-thread basis. Since the driver cannot tell when a thread has ended, the results are kept in memory for that thread regardless. This is not a problem in general as the driver will clean it all up when unloaded. When it can be a problem is in situations where threads are created and destroyed continuously. This will result in the slow consumption of memory as requests on old threads are left behind. Since each request only uses 44 bytes, and as mentioned the ID's will eventually get recycled, it will not be a huge memory loss. In general, even without this issue, it is strongly recommended to not create and destroy a lot of threads. It is terribly slow and inefficient. Use thread pools and other techniques to keep new thread creation to a minimum. That is what is done internally. The one big exception to the thread safety of this driver is in the use of the Windows TerminateThread() function. As is warned in the MSDN documentation, using TerminateThread() will kill the thread without releasing any resources, and more importantly, releasing any synchronization objects. If TerminateThread() is used on a thread that is currently in the middle of a call to this driver, more than likely a synchronization object will be left open on the particular device and access to the device will be impossible until the application is restarted. On some devices, it can be worse. On devices that have interprocess synchronization, such as the U12, calling TerminateThread() may kill all access to the device through this driver no matter which process is using it and even if the application is restarted. Avoid using TerminateThread()! All device calls have a timeout, which defaults to 1 second, but can be changed. Make sure to wait at least as long as the timeout for the driver to finish. " Can you agree that i can modify UI tread option to Any thread option.?
  2. Thanks all I call Labjack support to know if their driver is "thread safe". Good week-end Eric
  3. Hi I try to write a software using Labjack library ( http://labjack.com/support/ud/examples/labview ). This library made dll calling. When i look the call library function node configuration, i see than the calling is on "Run in UI thread" and not "Run in any thread". Can you explain me the difference between "Run in UI thread" and "Run in any thread". Who is best when i made few calling in same time and speedily. I try to work with 5 Labjack U9E in same time. Actually when run my software, it take 50% CPU time. Eric
  4. Is there a way to use LVcompare with Labview Full Developement System ? I have try to use it with tortoise , but get below error (sorry in french). "Une erreur est survenue lors de l'exécution de LVCompare. Nœud de méthode dans LVCompare.vi <APPEND> Nom de la méthode : <b>User Interaction:Compare VIs</b>" Eric
  5. Hi is there somebody so friendly to convert this 8.0 library in 7.1 ? regards Eric Dossier Test com Millenium3.zip
  6. Have a look here http://zone.ni.com/devzone/cda/tut/p/id/11784
  7. Version 1.1.0 LV8.5

    792 downloads

    Convert_to v1.1.0 LV8.5 Copyright © 2010, BOBILLIER ERIC All rights reserved. Author: BOBILLIER ERIC LAVA Name: BOBILLIER ERIC Contact Info: Contact via PM on lavag.org LabVIEW Versions: 8.5 Dependencies: Nones Description: This tool is a right click framework plug_in. it's use to convert one or few elements ( control or constant) in one cluster. You can convert one element ( control or constant) in array. (if this element is one array, then add one dimension). You can convert too one array or cluster in this element(s). And that without moving anythings. Installation and instructions: This tool is package in .ogpb file. Please use VIPM for installation. Examples of use: http://www.screencast.com/t/NTk4MzY0Y Known Issues: Acknowledgements: To Dan_K for the start idea (http://decibel.ni.co.../docs/DOC-10621) Version History: v1.0.0: Initial release of the code. v1.1.0: Terminal and constant are correctly place in structures if need. License: Copyright © 2010, Eric BOBILLIER All rights reserved.Redistribution and use in source and binary forms, with or withoutmodification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the INRA. 4. Neither the name of the INRA nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.THIS SOFTWARE IS PROVIDED BY Eric BOBILLIER ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIEDWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE AREDISCLAIMED. IN NO EVENT SHALL Eric BOBILLIER BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THISSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Support: If you have any problems with this code or want to suggest features: please go to lavag.org and Navigate to LAVA > Resources > Code Repository (Certified) and search for the "Convert-to" support page. Distribution: This code was downloaded from the LAVA Code Repository found at lavag.org
  8. Name: Convert-To Submitter: Bobillier Submitted: 16 Sep 2010 File Updated: 15 Jun 2011 Category: JKI Right-Click Framework Plugins LabVIEW Version: 8.5 License Type: BSD (Most common) Convert_to v1.1.0 LV8.5 Copyright © 2010, BOBILLIER ERIC All rights reserved. Author: BOBILLIER ERIC LAVA Name: BOBILLIER ERIC Contact Info: Contact via PM on lavag.org LabVIEW Versions: 8.5 Dependencies: Nones Description: This tool is a right click framework plug_in. it's use to convert one or few elements ( control or constant) in one cluster. You can convert one element ( control or constant) in array. (if this element is one array, then add one dimension). You can convert too one array or cluster in this element(s). And that without moving anythings. Installation and instructions: This tool is package in .ogpb file. Please use VIPM for installation. Examples of use: http://www.screencast.com/t/NTk4MzY0Y Known Issues: Acknowledgements: To Dan_K for the start idea (http://decibel.ni.co.../docs/DOC-10621) Version History: v1.0.0: Initial release of the code. v1.1.0: Terminal and constant are correctly place in structures if need. License: Copyright © 2010, Eric BOBILLIER All rights reserved.Redistribution and use in source and binary forms, with or withoutmodification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the INRA. 4. Neither the name of the INRA nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.THIS SOFTWARE IS PROVIDED BY Eric BOBILLIER ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIEDWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE AREDISCLAIMED. IN NO EVENT SHALL Eric BOBILLIER BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THISSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Support: If you have any problems with this code or want to suggest features: please go to lavag.org and Navigate to LAVA > Resources > Code Repository (Certified) and search for the "Convert-to" support page. Distribution: This code was downloaded from the LAVA Code Repository found at lavag.org Click here to download this file
  9. Yes, i'm agree . But in my program, i want to run few vi dynamicaly. In normal case, all those vi's are stop cleanly. But in case of the main program crash, i want use this function to be sure that all those vi are stop. Eric
  10. Hi I want to know if this vi ,stop the labview run time engine. Eric
  11. Nice It's work for me too. and i upgrade my plugIn on JKI Forum Cheers Eric
  12. Hi Jonathon Thanks for yours acknowledgements. After few tests, i have find a solution to break arrow issue. In fact it's arround default case. You just need to redefine it and the arrow isn't break. see my solution in the red box below. Cheers Eric
  13. Hi Jonathon Few days ago,I have propose similar tools on JKI Forum Here . Have you see it ? It's really near your tool but run like JKI RCF PlugIn. Like you, i have find same issue arround break arrow. Certainly a scripting issue. Perhapse solve in LV2010 ? My solution is to save automaticaly the vi before quit tool.( only possible if the vi is all ready save on hard drive) Eric
  14. Hi is it possible to have a LV2009 or below version. Regards Eric
  15. 1) Open Icon editor. 2) Select symbol tab. 3) Click left on one symbol. 4) Move it under icon drawing windows to see it. 5)Press R or F key to rotate or flip. 6)Release left mouse click to fix symbol on layer. Eric
  16. Hi All I don't know if you know, but there is a simply way to rotate a symbole when you place it on icon under icon editor. After symbol selection, you just have push R key (one or few time) (90° each time) before release left mouse button. Fun Eric
  17. Thanks for your RCF plugin, but i have find one bug (LV2009) . When i want swap one bundle with two inputs, it's one input and cluster data who are swap, and not the two inputs like wish. One another request, is it possible to add cleanup wire action after each swap to have better appearance of diagram Thanks again Eric
  18. hi Ton Thanks for your reply . i know how do undo function. But the problem is not how , but when. You said " one easy way for an undo functions is storing the current table after every edit", but in my program, there is few way for modify current table value ( double click, drag and drop, modification of each caracter of comment and argument, right click option,,...) lot of them creat event but not all (Drag and drop) . Each caracters modification of comment and argument creat one modificationof table but i just whant only one undo for restore all previous value ( and not few). I have try with LIFO structure but with few errors. If you have any simple solution to slove my undo problem i'm receiver . Eric
  19. Hi Bjarne It's my last version, unfortunately i haven't implement Undo function (a bit complicate). Regards Eric Eric\'s State Editor 1.4.2.zip
  20. Hi Bjarne I have add this feature in my new version , but not like right click, but like a specific button. Now i work arround add one undo functionality. I send you one copy quickly. Not now , but if you find solution i will be happy.I think it's attound one event structure condition you not run in 8.2 and 8.5. Regards Eric
  21. Hi Bjarne It's strange because on my PC (Windows7) all seen ok. I have install it few time with vipm without problem. Please can you try again. Otherwise you can find all vi in the source folder of my previous post. Eric EBC_rcf_JKIStateEditor-1.4-1.ogp
  22. Hi Bjarne and Ton Here is new version who correct few of previous problem and add few updates compatible with your comments. Regards Eric Eric\'s State Editor 1.4.1.zip
  23. Hi Ton It's good idea, but i don't know how modify programmaticaly different text colors in a same element of a list (or between different element of this list) . I have try to set a different color of one control (Ex argument) but the color is lost when i send it to list. Any idea ? Eric
×
×
  • Create New...

Important Information

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