Jump to content

Francois Normandin

Members
  • Posts

    1,209
  • Joined

  • Last visited

  • Days Won

    47

Everything posted by Francois Normandin

  1. When I've got a big bug late in the afternoon, I don't worry too much about it because I just know I'll dream of the solution... Most times, I solve these bugs the next day before my colleagues even arrive at work... I don't remember feeling tired, but I do feel I work too much!
  2. Sure did. Thanks for organizing it. It was great meeting the "LAVA Legends" in person!
  3. I don't think it should be added. (I made this snippet just because I didn't have the CCT installed on my portable computer.) Let's say you want to create a snippet of a JKI state machine (by the way, I tried and it works), would you expect all the VI's it contains to be included in the PNG? I think it could get real huge and a distribution package is probably a good idea!
  4. I think it's a good idea to use the Disabled diagram since it won't include it at compile time. You could also use PNG's since you'll remove block diagram when you make them EXE's. I don't know if we could use the new VI snippets in 2009 to do that? If we could get the PNG on our diagram without it being transformed to code... (just thinking out loud)
  5. You can make it reentrant using the Execution.IsReentrant property. Then don't forget to set the Options terminal to 0x08 on the "Open VI reference" node. PS. Sorry I'm on the road and don't have CCT installed, so I put a VI Snippet.
  6. Maybe you'll get Xmas before you know it... I found a way to retrieve all tags from a VI. I basically scan the VI file and get an index to the position of tags in the file. I then extract the tag names. Since I don't know to which objects it is related, I have to scan all objects on FP and BD to associate them properly. Once done, you get a list of refnums and variants for the Object's references and a list of tags to which it is associated. I also included an example of code to write a tag to the Block Diagram. Use the same template to write to FP or any objects. Open the project and launch "Get All Tags from VI". Browse the path to the example file "Tagged Test VI" and that's it. Saved in 8.6 but will work in 9.0 (2009) as well. Note that the versioning is important as tags are seen only through scripting and NI can change the way it is saved from one version to the other. Retrieve Tags 8.6.zip
  7. Thanks Rolf, Somehow I had missed your reply. Great insight. I'll see if I can add this to the LabVIEW idea exchange...
  8. Hi Silmaril, there is a method (invoke node) to retrieve all tags from a library all at once: Tag.GetNames. It's not something that exists for controls. Just a side note, you can "set" tags only is Edit Mode. But it is still a good way to store information that will not be displayed in the "description" of the terminal, especially using scripting. If you want to have a method that retrieve all Tag Names for Controls, ask for it on the LabVIEW API page. You *might* see it in the next release.
  9. The solution I've implemented until now was to add a string containing the time the image was captured, as you said above. However, you could also use tags to save this information with each capture. Then, there would be a need to read the tag and wait for the right amount of time before displaying the image. This way, you could get the appropriate illusion. For fast frame rate, you will still have jitter if you rely on Windows' clock (1ms resolution).
  10. You cannot do this while a VI is running. That is: "A.vi" has your code to add a page to a tab located in "B.vi". If B is not running, you won't get an error.
  11. Hello Thang, Is there a reason you put the unlock semaphore inside the False loop? I notice you don't have wired the timeout input so it will always be the false case that runs, but it could play trick on you down the road if you ever change that. And that might be a very basic advice, but if your program hangs after 5 seconds, look at the CAN VI (CAB5S Process) in loop 1... If one of your subvi doesn't go through, you will never release the semaphore. To see if that might be the case, wire a long timeout and see if the other loops continue or stall.
  12. And don't forget about resonance! Wire a signal generator and see if you can get the wire to resonate when you move the subVIs back and forth.
  13. I like this inertia thing... SubVIs could hang by their wires, giving them a larger bend if the subVIs have more mass (VI Metrics).
  14. That reminds me of the LAVA volcano some time ago. Wasn't it a contender for NI Week 2008 t-shirt?
  15. Hi Huotom, I'm not sure what this error is. This is something unrelated to my plugin. This framework is provided by JKI and you should report any error messages to them directly. First, please browse the discussions found on their official RCF website. If you don't find your answer, login and post your question there. If you get any error messages when you use a particular plugin, (Insert Type Conversion for example) then you should mention it on the discussion page related to this plugin. good luck,
  16. I know I am. There's not much chance to see that happening since it might make it possible to program in LabVIEW from an executable. But you can't keep someone from thinking about it. If you haven't seen the Scripting Tools by Gavin Burnell, take a look at it. The latest version is for 8.6, but some older ones will work on 8.5.
  17. Done. I didn't think it would be that complicated to transfer everything to 8.2. I'll try from now on to only develop these RCF plugins in 8.2 directly... unless LV2009 gives us something I cannot resist!
  18. Hello Bjarne, I've got a few bugs to fish out this morning and then I'll test/compile it to make it LV8.2 and up.
  19. I've found a bug that I don't have time to check right now but will be a priority... Some conversions taking place in a frame structure react weirdly as shown on this video. *** EDIT: This bug has been solved. For other RCF wireworkers out there, remember to use the Owner refnum instead of Owning VI refnum when placing a node on the diagram. In this case, I took the reference to the wire being selected, took a reference to its owning VI and deleted the wire. Then I placed a conversion node using the Owning VI reference. It would work well whenever the selected wire was on the main diagram but break all hell loose if the selected wire was inside a structure. By using Owner reference instead, I correctly placed the conversion node on the right diagram.
  20. OK, then it's only documentation that wasn't updated in 8.6.
  21. Thanks Mark for the feedback. I'll upload an update in a few minutes. PS: To embed Jing videos, you need to enable HTML (Click to configure post options) below Attachments. <object width="474" height="280"> <param name="movie" value="http://content.screencast.com/users/nrc75/folders/Jing/media/f1cd5171-7e05-4211-b946-dcf540e227c5/jingswfplayer.swf"></param>'>http://content.screencast.com/users/nrc75/folders/Jing/media/f1cd5171-7e05-4211-b946-dcf540e227c5/jingswfplayer.swf"></param> <param name="quality" value="high"></param> <param name="bgcolor" value="#FFFFFF"></param> <param name="flashVars" value="thumb=http://content.screencast.com/users/nrc75/folders/Jing/media/f1cd5171-7e05-4211-b946-dcf540e227c5/FirstFrame.jpg&containerwidth=474&containerheight=280&loaderstyle=jing&content=http://content.screencast.com/users/nrc75/folders/Jing/media/f1cd5171-7e05-4211-b946-dcf540e227c5/2009-07-28_0923.swf"></param> <param name="allowFullScreen" value="true"></param> <param name="scale" value="showall"></param> <param name="allowScriptAccess" value="always"></param> <param name="base" value="http://content.screencast.com/users/nrc75/folders/Jing/media/f1cd5171-7e05-4211-b946-dcf540e227c5/"></param>'>http://content.screencast.com/users/nrc75/folders/Jing/media/f1cd5171-7e05-4211-b946-dcf540e227c5/"></param> <embed src="http://content.screencast.com/users/nrc75/folders/Jing/media/f1cd5171-7e05-4211-b946-dcf540e227c5/jingswfplayer.swf" quality="high" bgcolor="#FFFFFF" width="474" height="280" type="application/x-shockwave-flash" allowScriptAccess="always" flashVars="thumb=http://content.screencast.com/users/nrc75/folders/Jing/media/f1cd5171-7e05-4211-b946-dcf540e227c5/FirstFrame.jpg&containerwidth=474&containerheight=280&loaderstyle=jing&content=http://content.screencast.com/users/nrc75/folders/Jing/media/f1cd5171-7e05-4211-b946-dcf540e227c5/2009-07-28_0923.swf" allowFullScreen="true" base="http://content.screencast.com/users/nrc75/folders/Jing/media/f1cd5171-7e05-4211-b946-dcf540e227c5/" scale="showall"></embed> </object>
  22. But I didn't put my melodious voice on it... One step at a time!
  23. I don't think it's exposed, even through scripting.
×
×
  • Create New...

Important Information

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