Jump to content

dannyt

Members
  • Posts

    416
  • Joined

  • Last visited

  • Days Won

    12

Posts posted by dannyt

  1. I have noticed that if I do a Find operation in the LabVIEW Project, and the project is large, then any change makes LabVIEW unresponsive for 30-120 seconds, and the Z-order of the open windows is shuffled around. This does not include "Find and Replace" (ctrl-F in a VI) or "Find All Instances (right-clicking on an icon) but does include "Find in Project" (Crtl-F in an open project) or "This VI in Project" (Ctrl-shift-E) in a VI. If I close LV and reopen it, the problem goes away until I use the Find function again (which I have learned not to do). It does not always happen, but if many windows are open, it is more likely to occur.

    I don't have a CAR # for this, because I can't always reproduce it.

    Bruce, does this match anything you experienced?

    HI

    I am working now full time with LabVIEW 2010 on XP and I have found the Find operation (not from the Project, but just from the IDE) a great deal faster than in my previous version LabVIEW 8.2.1. We all had the problem you described with 8.2.1, but not with 2010. I did find the Beta 2010 very slow and unresponsive and I felt the original release was poor but after installing the f2 patch, I am very pleased with 2010.

    We are working with about 1500 - 2000 VI project with source & compile code separated. The only slow part is the original load of the code, I tend to clean out the cache each morning, then load up the top level and wait for that first time consuming compiling stage but after that, it is OK for me.

    I will say that I never run will the LabVIEW project explorer open, I really provides nothing for me (I know that a whole other thread), we only use the Project explorer when we do a build and that is automated just to use the Project Explorer configuration.

    cheers

    Dannyt

  2. In the meantime, I have a workaround that avoids (as far as I know) potential block diagram corruption caused by separating obj code from source code. Quit LabView, delete everything in your VIObjCache folder, and then make your VIObjCache folder unwriteable with directory permissions. LabView tries to save the obj code and fails silently (yay!); as a result, when a VI or control is loaded from disk the cached object code is never found and it is always regenerated from the source code. This ensures the object code state is always matches the block diagram state. (After the initial compile, there is no speed penalty; whether freshly recompiled or loaded from the disk cache, the obj code is held in memory during execution.)

    Hi Rob,

    I am not seeing this type of situation and we am extensively using the separate source & compile code. I suppose what is really worrying me is that it is happening to me but I am not seeing it.

    Is there a simple project / couple of VI's example that show this you could post so I can try and see the effect myself. I will try and spend a couple of days playing with this to see if I can see it.

    The cost of doing this is significantly increased load times, especially for large projects. I view this as preferable to going back to recompile-only conflict heck. (And, obviously, it is much preferable to code corruption.)

    This is very true for us as we have a large project, first load is very painful, I would really not like to have to do this yet especially as I cannot see the problem.

    A question to an NI person, would a problem like this effect an executable build from code with source & compile code separated. The new executable builds are quite a bit longer than they were, I had assumed that was because when building, the source code was "freshly" build i.e. the cache was not used (if it was surly the builds would be quicker).

    If build are OK, I can at least rely on our executable testing to check things are really OK.

    cheers

    Dannyt

  3. Just a quick insider's message: yes, the wind had gone out of the OpenG sails for a little while, but we're reorganizing to ramp it up again. Just sayin'.

    Thanks for the update that is good to hear :-)

  4. Hi All :(

    This post should really go on the OpenG forums themselves, but I feel a little worried about posting up anything on there these days or even signing in for that matter, so I could not think where else to put this post as I am sure the OpenG people read LAVA (well who does'nt)

    I am not really sure who is responsible for the OpenG forums, but the spam situation is really getting bad on there now, I cannot see it doing anything but harm to the reputation of the OpenG tool set which is now recognised as part of the NI tool network.

    I really think it would be a good idea to close down the forum for now until the situation can be got under control again both the the reputation of the OpenG community and for the security of the members of that forum.

    Dannyt

  5. The programmer has only DLL and TCL Interface ...

    Yep but look at section 2.51 of the manual........ you can autosave a tcl script and then used that script you just saved to automate your manual steps. I would take a serious look at this method if it was me

    ----------------------------------

    SAM-BA Users guide

    2.5.1 Rapid Script Generation

    A very simple way to record a script file is to launch SAM-BA in GUI mode, and use the ScriptFile menu.

    Start the recording on script, and then, every action done in the GUI (changing a value in the Memory

    Display area, executing a script in a Memory Download window, or sending/receiving file) is recorded in

    the historyCommand.tcl file. This file can be used as is when launching SAM-BA in command line mode.

    It can also be used as a starting point to elaborate longer scripts.

    This mode is very useful for automating memory programming.

  6. Hi,

    Not sure this will be any help but here goes ......

    you do not say what device you are downloading to, I had to automate a software download via USB link to a Atmel AT89C5131 the developers were using the Atmel Flip tool to to this manually.

    The Atmel Flip tool came with a dll and after failing to get it working with LabVIEW for a while I found it also had hidden away a command line batch tool, that did the job with very little hassle as it was a straight forward interface.

    Dannyt

  7. Hi Sharon

    from here TCP/IP Error Codes

    ====================

    There are two typical error codes in cases where TCP/IP communication fails as a result of a timeout condition:

    • Error 56 is generated when an operation exceeds the user-specified time limit. This error is caused by the LabVIEW code not receiving a network response in the defined time limit.
    • Error 66 occurs if the TCP/IP connection is closed by the peer. In this case, Windows notices that no data is returned within a reasonable time, and it closes the TCP/IP connection. When LabVIEW attempts to communicate after Windows closes the connection, error 66 is the result.

    In a Windows environment, either error 56 or error 66 are possible. However, without determinism it is not possible to specify which communication error will occur first. If Windows polls to see if a connection is valid and subsequently closes the connection before the LabVIEW TCP/IP VI times out, then error 66 will result. However, if LabVIEW detects that no response is received before Windows has a chance to poll the connection, error 56 will be generated. The unpredictable timing associated with when each of these operations times out and which one occurs first results in different error codes being generated by different runs of the same VI.

    =======================

    We do a lot of testing over TCP/IP we get these error sometimes for a number of reasons, our UUT has reset, we have opened a new TCP/IP connection without closing an old one to the same UUT, plus many others.

    In our TCP/IP driver library we look for and trap both error 56 & error 66, we then clear out the error and depending on our TCP/IP target we may try to close the existing connection and then simply reconnect or maybe we will close and ping to ensure target is back before we open a new connection.

    For specific advice you will need to give more details of what you are doing and maybe post an example code.

    cheers

    Dannyt

  8. Did you ever try to press up or down arrows while editing constant number on the diagram?

    I did it today accidentally. Couldn't be surprised more...

    yes it is surprising, though not in hindsight.

  9. Oh, actually we have... alliance members don't produce NI products, but they sure as heck provide support for them, often in a contractually binding way. :-)

    On another point... earlier someone mentioned the distinction between quality products and quality support, and I was thinking that there would be an obvious solution -- separate our certification into Gold Product and Gold Supported Product, or something like that. But I got to thinking -- part of being a quality product is that it gets at least enough regular attention to continue operation as time goes by. Maybe no one is actively adding features, but making sure that it works with the next version of LV, or the next version of the operating systems, or the latest hardware. Without some sort of committment there, it would be hard for a mission critical project to adopt an OpenG tool, unless they had the internal staff expertise to update the tool when LV/OS/HW changed. That's a very different kind of support than the "I have a bug, can you find me a workaround" type of support. We haven't been discussing that sort of "updating" support, but I think that is possibly more important than the "I have a bug" support. Thoughts?

    Though I fully agree with the comments about the quality of the software provided and also the fact that if all source code is provided you can maintain something yourself if you need to, I feel you have raised key point here.

    To be a open source / free LabVIEW product that gets a Gold or Silver Product recommendation by NI, the Product or community behind it must still be active and vibrant.

    As said previously the Open Source tools that work all have healthy & active communities behind them look at Bugzilla, Subversion, Python and many more.

    Without that active & vibrant community behind the tools, they will die off leaving you in a dead end situation when they no longer work with newer version of OS or LabVIEW. Some new user of LabVIEW may never even really get to grips with the tools and use them with some level of support & help.

    I think the LAVA CR tools & JKI free tools are all example of good and active communities. I regretfully for this reason have concerns regarding the OpenG tools.

    I am a keen user of the OpenG tools, I have taken part in the OpenG forums and even once posted a possible fix for a tool that no longer works for LabVIEW 8.2.1 or newer. So with apologies to Ton and other who I know have and do work hard on OpenG I must say that to me it no longer fit this criteria. Looking at the OpenG forums there is very little activity and has been for a long time now. In fact the most recent posts are all spam one. As I said this is a personal option, but as LAVA CR's grow & the NI community grow OpenG feel to be faltering.

    Dannyt

  10. A macro state is just a single sate that represents other multiple states (an alias if you like). Commonly, this would be things like initialisation/finalisation where (for example) the Init state could be an alias for Load Settings, Clear Display and then Set Window Position etc. But the term isn't limited to SMs , Excel has "Macro recording", for example, which will assign a single command to a number of operations that you do and will"replay" them back when executed (either by hitting a hot-key or explicitly running the macro)

    Thank you Shaun, that makes sense, along the lines I though people meant, just asking in case there was any more meaning to it than that.

    typical topics include

    JKI state machine

    how do I model this

    how many events

    I am still working my way through these :-)

    Danny

  11. Hi,

    I have been trying to catch up on interesting topics I have put to one side in the past and have spent a fun day reading about state machines and different architectures, I still have a great deal more to read and learn.

    I keep coming across the term Macros / Marco state in a number of the topics and I am not fully sure I understand this term.

    With regards to the JKI state machine, I think the Marco states are states where no work is actually done but new state transitions are push on the existing queue of states so that can easily find them. I have searched on Lava for this term and though it has lead me to reading a lot more threads about QSM & SM I still have not found out what people mean when using this term.

    Any explanation would be appreciated.

    regards

    Dannyt

  12. I think it's only for Code Repository items.

    Go there, give 5 stars clic the little "like" buttom at the bottom right corner (not the facebook one) on an item and then it will appear in your list. (I think)

    I see what you mean it the code repository thanks.

    I had hoped you could do it for general topics

    Dannyt

  13. Hi,

    I the settings page there is a tab "Contents I like", I assume this can be used to hold /bookmark, particular forum topics that appeal to me, I cannot however find how to "like" any topics. I know how to subscribe to changes to a topic, but not just bookmark one.

    Can this be done and if so how.

    Sorry if this is obvious and I have missed it

    Dannyt

  14. Hi,

    I am using and have used ClearCase for many many years, both for LabVIEW, the last four years or so & for text based languages, for longer than I can remember. I have also used CVS, a little Mercurial Hg and a little Subversion. We have a team of five developers working on around 1500 VI's in ClearCase.

    LabVIEW does introduces it's very own problems with source control no matter what source control tool you use. There are pros & cons to all of them and all can be used equally as well in the right situation. You do need to ensure that your procedure are tailored to the tool you are using however. The biggest thing you can do to improve source control issues with LabVIEW is to use LAbVIEW 2010 and the "separate compile code and source code" feature.

    I would be happy to work with any of the three tools. The two main problems with ClearCase are

    1) cost (but you already have it installed so not an issue here)

    2) you do need a good fast / reliable Intranet to get good performance out of it.

    I would like to present a functionality / ease of use comparison case between ClearCase & TSVN / SVN to justify the potential migration to TSVN & SVN.

    But .........

    I think you have asked the wrong question, the comparison is great if you have no tool & need to get one, but you are already using ClearCase. So I would change the focus and specify in what way ClearCase is failing you in your needs at present.

    Get a list of your current problems and issues with using ClearCase and then ask if these other tool solve these issues or not. If they do all well and good but if not you could do all the change over work and be no better off.

    It might be that you current problems are not with ClearCase but how you are using it and you procedures and if that is the case and you move to a new tool you will just take those problems over with you. I have seen this happen before.

    regards

    DannyT

  15. Good info,

    could you create a page on the LabVIEW wiki, have a look at the Mercurial page for an example.

    Ton

    Hi Ton,

    Thank you for pointing my that way.

    I have created a new entry on the Wiki ClearCase and have put in there more details on how to set this up. I will try and over time fill in some more of the heading I have created to make it a more full and worthwhile entry. I hope people forgive my spelling.

    I am not confident on the categories in the wiki but it would be nice for the Set up differencing capabilities page to actually go to a page with links to settingup subversion, setting up Mercurial, setting up ClearCase etc. rather than just go to the subversion one

    cheers

    Dannyt

    PS you can use spaces in the map file mentioned about so use

    z_whole_copy compare ..\..\..\..\National Instruments\Shared\LabVIEW Compare\LVCompare.exe

    z_whole_copy xcompare ..\..\..\..\National Instruments\Shared\LabVIEW Compare\LVCompare.exe

    rather than

    z_whole_copy compare ..\..\..\..\NATION~1\Shared\LA9418~1\LVMerge.exe

    z_whole_copy xcompare ..\..\..\..\NATION~1\Shared\LA9418~1\LVMerge.exe

×
×
  • Create New...

Important Information

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