Jump to content

Michael Aivaliotis

Administrators
  • Posts

    6,196
  • Joined

  • Last visited

  • Days Won

    103

Posts posted by Michael Aivaliotis

  1. I guess my point is that, in user interfaces, your front panel objects should always "look like" how they behave. Even if you managed to code around this, you shouldn't. The "look" of the existing button conveys the following message:

    There are 2 buttons here. However they are covered by an icon that spreads across both. So, if you want the right side then click the right button but don't click the icon. If you want to click on both buttons then click on the icon, this will depress both buttons.

    Do you see my point? By splitting the icon in 2, you have suddenly changed the message you are conveying because now you have a dark "crack" between the icon. So, the operator "understands" that both buttons operate on the same factory but for 2 different purposes. There is no confusion.

    A better addition would be to add arrows to the 2 icons. Yes, arrows are sometime ok. One on the left -> (inbound) and one on the right -> (outbound). Hope this helps.

  2. Well, before I give my response, I want to know the user interface purpose behind this decision. Why split it into 2 sections? Are both clickable? If so, then isn't this confusing for the operator? What message are you conveying?

    I would just split the image in 2, half on one and half on the other. No code changes are good. 5-10 minutes using an imaging application is better than extra programming. My opinion anyway. :)

  3. I guess this should be a wish-list item. As fas I'm aware, this is not possible yet. I guess the closest thing would be to create a sub-vi with the code and feed-in a ctrl reference to the control of interest. Would this work for you? What exactly do you want to do with the custom code that can't already be done with conventional methods?

  4. There was a post from Tom on Info-LabVIEW today regarding the future of that mailing list:

    All: As you've probably noticed, the computer which serves up the Info-LabVIEW list has been going off-line fairly regularly as of late. Most notably, it seems, the problem occurs when I'm 2000 miles from the office and don't expect to be back for another week or two (computers are smart that way).

    I have no idea what the cause of the problem is and, quite frankly, limited time to spend debugging it.

    As I see things, there are two alternatives ahead. One would involve simply a continuation of the status quo. The second would involve moving the list to another server.

    To that end, if you believe that you may have the ability and desire to take over running the list, please contact me privately and I will be more than glad to talk with you about what is involved and what my expectations would be for such a transfer.

    Thanks.

                      Tom Coradeschi, Info-LabVIEW List Maintainer

                        <info-labview-owner@pica.army.mil>

                          http://www.info-labview.org/

    I sent a personal reply to Tom offering the lavausergroup server as the new home to the info-labview mailing list. I hope he responds favourably so that we can keep this institution alive. :thumbup:

    There is an ongoing debate comparing the pros and cons of a mailing list to web Forums. In my opinion, both have their place. It would be nice, in the near future, to see them both combined so that posts to the forums can be emailed out and posts to the mailing list can go to the forums. This is an idea that I have been experimenting with for some time but not fully implemented yet. Of course public opinion would steer the debate.

    In any case, the LAVA server is here and ready. It also has the mailing list infrastructure to handle the new list. We already host the LAVA user group mailing lists.

    Comments are of course always welcome.

  5. ... Open dialog has freed ideas and humans from uncountable shackles.  Open and free speech should be a part of every society, and that is a principle I strongly believe.  There are always risks associated with open dialog.  Risks to the powerful and risks to the speaker, however great they may be though, an open dialog is the only road to understanding and resolution ...

    I agree on this.

    So far I have been impressed by the interest this one topic has generated on our Forums. It started as a simple announcement and took on a life of its own. I appreaciate the contributions everyone has made and encourage those that are silent to participate. It just shows that it is important to have an open forum where these discussions can take place. It also helps to have the history of all comments made so it can all be put into perspective. -- I look forward to more exciting discussions like this. ... :)

  6. Ok,

    I think the best approach for you would be to use the GPIB interface on the back of the instrument to retreive the data into LabVIEW. You will need a GPIB interface card on the PC. Here is a link to NI's website to purchase a GPIB controller:

    GPIB (IEEE 488) Solutions

    The next step would be to build a LabVIEW driver for this instrument. Thankfully, there are drivers already built for you. Here is a link to download the driver for the 8720:

    HP8720C LabVIEW Driver

    These driver VI's can be run in LabVIEW. They will allow you to communicate with the instrument and retreive the data you would like. Once you have the data in Labview, you need to then pass it to the spreadsheet. You can use ActiveX to pass data from LabVIEW to another application. I assume your application is Excel?

    In any case, it sounds like you don't want to use VB at all. Is this correct? Do you want to develop the entire application in LabVIEW alone?

    I hope this helps.

  7. Michael, 

    in the VI that Jim put together (and the difference from mine that i posted) is that the you don't need to specify the incoming data's datatype.

    But on the contrary, you still do. Whether the datatype is an indicator or a constant makes no difference. How do you decide on what indicator to use?

    I agree that variants are more powerfull in this regard. Did you read my last post? I think this implementation is much improved in handling multiple datatypes on the same comm link.

  8. I think a more usefull implementation would be able to adapt to multiple datatypes passed along the tcp-ip link. Of course theis implementation can be used wherever communications is limited to string data.

    The attached images show how you can add some smarts to your data so that it can be decoded properly on the receiving end. Of course you can improve upon this implementation by having the receiver call the appropriate data decoder dynamically when needed instead of feeding to a case structure.

    Personally I use the variant method. The VI's shown are included in the OpenG LabVIEW Data Tools library that can be downloaded from the OpenG site. I don't use this for TCP\IP rather to pass data between VI modules using queues in LabVIEW.

    post-10-1078460971.gif?width=400

  9. I don't have Windows 2000 anymore but I believe that the dial-up connections reference specific configuration files. It's possible, I suspect, to call those configuration files through the LV system exec and in-turn they would make the connection. :unsure: However if a specific file is not available then prehaps you can create a short-cut for the specific connection then call the short-cut.

    Probably a better method would be to access the Remote Access Services (RAS) directly through a Windows API call. Go onto the Microsoft MSDN site and see what you can find. You need to call the C:\WINDOWS\system32\rasapi32.dll. The function you need is RasDial:

    The RasDial function

    Some more research reveals a toolkit that will do RAS dialing in LabVIEW:

    RAS-Toolkit LV

  10. Because I have to build my application in a third language (that might not be the system language) I should either:

    - be able to change the the item name of this "application item" or,

    - create a "custom item" and run the "page setup"-panel programmaticaly.

    What Language is this concerning? LabVIEW will use French, German or Japanese menus if you use the application builder for that language.

    The other alternative as Randall mentioned is only available in LV7.0... sorry.

  11. There is a way to do this but you have to trick LabVIEW. The implementation attached is in LV60. It accomplishes the paste by simulating the keypress combination "ctrl+V". You should also make the string field have the keyfocus.

    Let me know if you have problems running it. It ran fine in LV6.1 and I did a "save to previous" to 6.0 but I cannot try it in that version.

    Download File:post-10-1078017732.llb

  12. To start, I'd like to thank you for the image you provided. This help a lot in explaining your problem. :thumbup:

    One thing to consider in solving your problem is why was it working before and why is it not working now? It looks like this code is communicating with COM1 on your computer. Is the cable unplugged? Looking at the code indicates that it is possible that you could check bytes at port before you issue the 1R command. However since this is a loop, at some point during the iterations you should read bytes at port. If you probe this and ALWAYS get 0 as a byte count then this means the hardware is NOT responding to your command.

    If you are getting some bytes at the port >0 then the next thing to check is what is the response string comming from the serial port read vi. Your suggestion that it looks for <anything>R is false. The (=) function looks for an absolute match so if the response is anyhting but *R, it will never match. I would use a different function here.

    have two suggestions for you. I have attached an image that shows these two approaches.

    1. The top loop in the image is a quick fix. This is coded in a more predictable fashion and i've replaced the (=) function with the "match pattern".

    2. The second approach is more robust since if there is a problem with the communications somewhere along the line then the code will not "hang". To do this i've created a timeout check in monitoring the bytes at port and an overall timeout for the function. I've also done some error checking at the start. If there is an error sending the command then the loop will stop. You can change the timeout values. I used 5 seconds for the overall timeout and 1 second for the bytes at port timeout.

    post-10-1077942721.gif?width=400

  13. Any comments are welcome.

    It took me a while to grasp why your VI would be more efficient than other implementations. I have my own version that is more efficient than the OpenG version as well. I compared my approach to yours and noticed no performance benefit on several thousand files and directories.

    I noticed that you are initializing an array of filepaths to 500 items. You resize and build an array of another 500 items at a time when you require it. This seems like an excellent approach however as i said, this didn't show up in the performance comparisons I did between my version and yours. When is the benefit evident?

    I also noticed that Windows does some caching of directory access. This seems apparent when you run a recursive search for the first time regardless of what implementation you choose.

    I've attached my version (LV7). Let's compare notes... :)

    Download File:post-10-1077255628.vi

  14. With the advent of LV Real-Time and the increasing use of reentrant VI's in NI toolkits, it's becomming more and more frustrating to debug your LabVIEW code. You cannot see live data on the front panel of a reentrant VI. You also cannot debug it using the conventional probing methods.

    I guess my wish would be to have the ability to do ALL of these things. When you double-click a reentrant VI icon on the diagram, THAT instance of the VI would open for viewing or debugging. This would have the potential to have multiple panels of the same VI open, each referencing to a specific version in memory. The title-bar of the VI could be labeled to reflect this. :)

  15. I would recommend that you read-up on FOR loops... :book: The loop will iterate for the number wired inthe the N terminal. All you need to do is +1 to that number and it will iterate one more time.

    If you need to reset any control, you can use a local variable. You can use them to write 0's to the controls. Put the reset code outside, before you enter the loop.

  16. I'd like to remind everyone that Measurement Computing and SoftWire is charging National Instruments not the other way around.

    http://forums.lavausergroup.org/index.php?...=findpost&p=290

    It is also possible that Mr. Bailey is using this LabVIEW forum to sway public opinion his way. The fact that NI remains silent just means that they probably don't want these comments to effect their litigation. So let's not get our panties in a bunch.

    Also, if the courts and the legal system are irrelavent then what is the point of getting a patent? Why not have a free-for-all of ideas an inventions? Of course this could be another thread altogether. NO, I don't want to see LabVIEW dissapear from the market. Doing so would mean I would be out of a job, but more so I would lose one of the most exciting and fun software tools on the market. :(

    If Measurement Computing and SoftWire think they are getting some brownie points (freedom and the American Dream) then they should think again.

    Besides... I'm Canadian... eh? :)

  17. I brought up this issue last December on info-labview and people from NI responded:

    Hello Everyone,

    We would like to take this opportunity to discuss questions in earlier

    posts regarding National Instruments changes to software service programs

    for Q1 2004.

    NI will continue to offer free, world-class technical support for all

    users. NI Application Engineers will monitor questions on our online web

    forums at ni.com/exchange and ensure that all are answered.  This venue for

    support provides the added benefit of insight from community members, such

    as yourselves, with years of experience developing real-world solutions

    with NI products.

    Subscribers to our software service programs--SSP, NI Developer Suite,

    academic site licenses, and the NI Volume License Program--will also have

    access to NI Applications Engineers directly via phone and e-mail. In

    addition, these service programs provide automatic, free upgrades. With

    this change, subscribers will receive both upgrades and direct phone and

    e-mail technical support for less than the cost of a single upgrade.

    We realize this is a change. NI remains fully committed to providing

    world-class technical support to all our users. We do encourage

    subscription to our software service programs as the best way to receive

    the latest technology in NI software and the highest level of technical

    support. As Mr. Aivaliotis suggests in an earlier post, we encourage you to

    contact NI if you need to discuss these changes immediately. Otherwise,

    complete details will be available at ni.com/ssp in Q1 2004.

    Best Regards,

    Chad Chesney

    Applications Engineering Manager

    Jerry Suva

    Software Service Programs Manager

    I agree that the free support is a huge help to newbies and to students. I teach LabVIEW at a community college here. I used to always say: "hey, if you have any problems just call 1800-IEEE488 and NI can help". I used to say this to many of my customers as well. I sort of felt proud of this in a peculiar way since it was a huge contrast to the "pay by the minute" philosophy of Microsoft.

×
×
  • Create New...

Important Information

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