Jump to content


  • Content Count

  • Joined

  • Last visited


Everything posted by aledain

  1. Remember too, that programmatic saving of control defaults does not work in a built application.
  2. If you're using the IAK file, then the IP address is embedded in there. By opening the IAK file (with the FPOpen VI (or if you leave it unwired it uses the last opened IAK file on your computer)), you gain access to the fieldpoint values. To access values you need to set the correct tags to read. If you read the "all" tag then you might not get what you expect. Also look at the error cluster, if there's an error the default value might be returned.
  3. I cannot see your code (not all of us have 7.1) but if I understand your question corectly you might be using the wrong tool. The reason excel doesn't like the "bits" is that they are non printable characters. Each character received in a string like this represents a byte (8 bits) that can be interpreted as an ASCII character (0..255), some of which are the characters A, a, 1, etc, but many which are non printable. You can convert tthe string you receive into bytes using the (A) tool in figure below, alternatively you may want to see the ascii "hex" representation of the string (B). What I
  4. However this does not take into account the considerable time outside the current project that the integrator has spent developing re-usable libraries, gathering expertise, etc. I believe source code should be onsold to cover these "hidden" business costs which are not necessarily covered in a per hourly development rate by the integrator. Such costs include (but is not limited to): time spent researching programming structures, training costs, office costs, project management (if not included in the hourly rate), backup procedures, in-house company expertise in THEIR program (and it's require
  5. I think that the DIO on the 6023 (being low cost) isn't as configurable as those on the special DIO cards (ie for HW buffering) so I don't think the DIO Occurrences will work. If you did have access to one of those cards (eg DIO-24, DIO-96) you can do what amounts to a continuous buffered acquisition on the digital lines and examine the buffers returned for your events. IOW, the DI is clocked/sampled at the rate you want. However, could you use the 6023's counter? I don't have one to play with but I think you should be able to make the counter a 'countdown' type which will generate an occurre
  6. Don't know how the event structure improves the following because I don't have access to >6.1 at the moment ... When I originally was after this sort of thing I was using it to create a ?simple? text editor and the highlighting was for the FIND method. It works nicely (apart from a brief flash as the text is highlighted). Now is it possible to extend this to give me real time <cough> syntax highlighting? By that I mean as I type 'word' and word is in my list of defined text strings to be green, it gets coloured green. I reckon this could be done with the text select and highlight me
  7. Another good alternative is to purchase a copy of VMware. This is a virtual machine that allows multiple copies of OS to be files on your hard disk. Install each 'clients' combination of drivers on a separate virtual machine. Even better, ghost your clients machine and run virtual on your desktop.
  8. Correct.You can still autoscale by twiddling the autoscale property programmatically so the user can probably enable and disable autoscale to trigger an autoscale. Instead you might need to monitor min/max over the chart yourself and set the max/min as needed. BTW even though it reads EnableAutoScales it supposedly applies to that annoying resize problem. Unfortunately I cannot suggest anything else other than a workaround if it doesn't work. Workaround: add your own markers instead of the labview ones. You can still use the ticks and position them at the middle, top and bottom of the graph
  9. Use the search and replace tool (String Palette). Wire "\n" as search and leave the replace unwired (it will replace with a NULL string). Wire the TRUE if you want to replace all the \n's.
  10. If its a 2D array, then expand the index array tool as shown attached.
  11. The timeout means that you are reading the VISA buffer and there is no data present. If the message is CRLF terminated, then you might be missing packets because your program loop time does not service the VISA buffer at fast enough intervals. Although VISA does tend to store multiple messages for you. Alternately you are seeing a timeout because you are looping too fast; but as you believe you're missing data I would guess too slow or that the serial device is a different type (see below). You neeed to determine which type of device you have. Serial devices fall into three broad categories (
  12. A textbox scrollbar is enabled using a string indicator and RMB>VisibleItems>Scrollbar. Note that the string indicator needs to be >2 lines in height for the Scrollbar option to be accessible. Creating buffers is most easily done using a global variable. Place a string indicator in a global and read, append and write to the global with the arrival of each new set of data. [You could also use an array of strings if you want to store the data as messages]. The efficiency of this can be upped a little bit using a preallocated string array. Note that this method runs the risk of race con
  13. There is no splash screen popup in a built exe! You shouldn't be seeing any LabVIEW popup at all. Are you perhaps opening a Vi from within an LLB? When using a built exe there are several ways in which to make a splash screen appear, the most popular being to use a splash vi as the top level vi and use VI server to load all the Vi's for your application.
  14. Include the following line in your labview.ini file or built application ini file: EnableAutoScales=False
  15. aledain


    Perhaps a peer vote/poll on a gang of three (four) to be top level in the first instance. These incumbents then review and add new certified members at the various levels. By default we could assume that "top level certified" means they are by default also reviewers. Alternatively we could propose that once several top level members are available, that a review board is elected by the top level members from amongst the available top level members. Levels By various levels we could envisage a system whereby you could apply for an open evaluation (the board chooses which level you are "graded"
  16. aledain


    Unfortunately my mind turns away from the idea of sitting any sort of exam ((+++ years at uni ;-)). For some professional organisations, peer recognition works just as well, if not better than exam certification. I agree with Michael that being a CLD would not be the sole requirement for a position as a programmer or LabVIEW developer, it would limit the field unnecessarily. However, I would hazard a guess that there are many talented programmers who have neither the time or money to become CLD'ed, but might benefit from community recognition. So if i may propose a peer certification program
  17. Aah I remember now, STI was the one I got to work under LV too. It worked quite nicely. I would suggest checking out George's tools as well because his stuff is always top shelf.
  18. I may have missed the point of what you're trying to achieve here, but in my experience you're trying to place to much in the UI. The UI should be left for just that, the user. It should not be asked for values so it should solely waiting for user input (in an ideal world ;-)). However rather than go into more complicated structures, I suggest you check out the preview Q element node. That way you do not need to remove the element and re-queue it. If the element is not for you leave it alone, when one does arrive addressed to you remove it and add any response (if necessary) to the end o
  19. From the web: callback - A scheme used in event-driven programs where the program registers a subroutine (a "callback handler") to handle a certain event. The program does not call the handler directly but when the event occurs, the run-time system calls the handler, usually passing it arguments to describe the event. Okay, so that means that a callback is really registration of a link to a handler with a system/process? Is there more to it than that? From your server example it would seem that the server is the main vi (run-time system) and the that callback handler is the "handler" vi? But
  20. I have noted with interest Jim Kring's referral to usding callbacks in his code on several different topics. I have used callbacks (I think) with LV occurrences to signal arrival of hardware messages in IO queues and for DLL's written in C communicating with the SCSI bus. However I am not convinced that callbacks are always a good solution. I once had an interesting discussion (read argument) with a "programmer" <see rant> who suggested solving a problem via a callback simply because the operation could take a long, indeterminate period of time (in actual fact this time was only 1-2 seco
  21. The spacing (position) of charcters within a string is dependent on the font selected. If you use a fixed width font then the lining up of the columns will be fine (as you are no doubt aware). Fonts and LV suck big time anyway so unfortunately I think this might be a big wish! Note, you can use the number to string functions and pass the "width" of the formatted output just as if you were in a text based language too. As you say, you can use a multicolumn box and if you use the "classic" controls it is relatively easy to hide all the decals.
  22. I did get this to also work with an ActiveX component downloaded from the net. I cannot remember the name of the one I used <chagrin> but a quick google reveraled a fair few and some of them appeared to be free.
  23. And *cough* potentially illegal ...
  24. Thanks Didier, I thought that it looked suspiciously like expected behaviour (from what I recall of CompSci). Still I think that when you're got a wire (bearing in mind that wire could be many miles long ;-)) when you test for length it should return 0 if it "knows" there is no physical data inside the array. LV itself knows this because the array indicator is greyed, whereas a traditional language might not have that, LV itself recognises the no data! cheers, Alex.
  25. I guess it might be true that having customisable controls may seem to limit labview but I believe most of what you have requested has already been handled by others without these features. From personal experience I have just started devolving NI's teststand ActiveX controls and cannot get the $&*(%^*(& stuff to create reports; their "button" (itself an ActriveX control) seems to limit me from gaining any insight into how the code should be constructed to make it work. Callbacks - yuk!!! <gripe> This is supposed to be dataflow!! </gripe> I shudder to think of the mess if
  • Create New...

Important Information

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