Jump to content

Randall Thurman

Members
  • Posts

    26
  • Joined

  • Last visited

    Never

Everything posted by Randall Thurman

  1. Thanks for the reply. I tried to package with diagrams with similar results. Usually I do not remove diagrams. This case was to reduce size of application (37.2 to 24.4 MB) that is run mostly on laptops and only on company computers. I know that by today
  2. This problem is similar to others I have read on this site. I have an application that is saved with options for application distribution (saved to a library without diagrams and including vi library calls). I have an installation program that only installs the runtime engine. The run-time is LabVIEW 7.1. The application runs correctly on machines using the runtime that I have distributed. However, when this application is loaded on a machine that also has a development version it starts looking for the lvanlys.dll in the resource directory. Both development versions are 7.1 and the lvanlys.dll are the same size 540 KB and located in the same directory structure. My solution was to program around as many others indicated. This included the mean.vi and 1D Polynomial Evaluation.vi I will include my version of the polynomial evaluation for scrutiny. It provides close enough results for what I need and is nearly as quick as the native call. (Feel free to criticize if you have a better method.) As we plan to develop, together as a team I would like to find out what we can do to correct this problem in the future. Any suggestions? Thanks Randall Download File:post-274-1143665754.vi
  3. Perhaps this is tied into how labview handles memory. Something about not writing to unwired indicators in subvi's. Or perhaps I just dreamed this up. In any case, changing the output of other wired indicators is not acceptable. Keeping my version 8.0 off primary development machine. Will probably wait for .x version before doing any serious application conversions. Good luck
  4. You are right that this is an old topic. However there was more activity on this topic in other postings and I did finally get a warm fuzzy about version 7. I will try to bring to recollection some of the specifics about why this finally went from a mountain to a molehill. I finally went to version 7 after determining that LV did yield the processor back for other request. Or at least I was unable to find any occurrence where I lost data as a result of this quirk. Also if a menu item would drop down when the Alt Key was pressed the processor did not go 100%. By not having a hot key assigned to the top menu item (using the _Menu method to make the Alt-M hot) the menu will drop down to display the sub menu items, if this happens the processor does not go to 100%. In version 7.1 I believe this was corrected. I have yet to load 8, but hopefully this will not reappear. I did not experience any problems with version 6.1 but was told some had this problem with version 6.0 Regards, Randall
  5. The Visa Configure Serial Port vi enables the termination character and uses the
  6. Thanks! :thumbup: I really liked the idea of moving the table modifications to the lower loop. You nailed me on the error trapping. I often build quick examples without the error trapping. Later I end up modifying the example for use in an application. I loose as much time editing these programs as would be lost error trapping the examples. Thanks for the prompting here. At NI week once, I thought it was taught that without the shift registers the program would need to generate a new copy of the data with each iteration. Also in some earlier versions I had some applications that appeared to loose the value inside a loop after executing several times. These may be figments of my imagination. I checked the buffer allocation and it doesn
  7. Thanks for the information. I often wonder why we are given programming tools then warned not to use them. If I understand this article correctly, we can expect better performance with the terminals, then locals as opposed to property nodes by reference. Yet in some cases where performance is not as critical I see the property nodes as the most practical way of accomplishing a task. Thanks, Randall
  8. I have often broken the rules about using property nodes for writing values. Typically I will break this rule if there is a need to dynamically change control states of controls in various front panels usually to update a control state that was changed programmatically or in another vi. These are situations where changes may happen every few minutes as opposed to every second. Other situations are for setups where I edit a spreadsheet or INI file. In these cases I rationalized the methods are acceptable because speed is not a major concern with these interfaces and I will typically have a reference number for these controls available from the event structure. Here is a setup file where I use a standard table control to edit tag names and report status for channels. In this case I wrote to a local variable in the master loop where I would normally have used a property node with reference wired to it. Question: Is there a great advantage of using the local variable here over the property reference method? I respect the opinions that many of the users share in this forum. I expect to hear some criticism and see better way's of accomplishing this. Also if there is anything in the vi that you may be able to use feel free to take advantage of it. For this example these basic rules are utilized. Col 2-4 can accept only YES or NO Col 0 cannot be changed. Col 1 name can be changed but must be unique within that col. I have used a standard spreadsheet file format. The first row is used as column headers for the table. Your comments are desired. Thanks, Randall Download File:post-274-1127250963.zip
  9. Regis & didierj both have it. Here is a modification of Regis's example that provides your start and stop time. Download File:post-274-1114112558.vi
  10. Try using the Get Date / Time in seconds function for the stop and start times. You may then subtract the two and display the total time with a numeric indicator. Set the indicators property
  11. For specific applications, you can use the menu editor and create runtime menus. To find this option select the Edit>>Run-Time Menu option from the default menu. To make an item show up in the development versions menu is possible. I know when adding the ogrsc-restart package from Open G you get a new item in the development menu. Perhaps if this is you requirement some one else can provide insight on how that is done. Have a good day. Randall
  12. Thanks for your reply. I hope there is a way around this. For the write access I can specify the host that may create dynamic items. The multiple writer is needed in my application for two way communication. I suppose a second connection could be predefined for this portion of code. Pre-defining a variant or cluster in the data socket would be another way of doing this. Yet I am still :headbang: Thanks again for the reply.
  13. I am having some trouble setting multiple writers and write access on data socket items that are not predefined through the data socket manager. I want to use variant or cluster items and have only been able to create these items from the LabVIEW application. This works fine until I need to write from more than one location. The data socket properties that I have found do not seem to expose these settings. I must be overlooking something any help will be appreciated. Thanks. Randall LabVIEW 7.1 Windows 2000 & XP
  14. Try this. Right-click a control on the front panel and select Advanced
  15. I have just started looking at the DAQmx configuration & supporting programs. I delayed this change because my acquisition model works well in the traditional DAQ and didn
  16. These tools are supposed to make our job easier. But these installation and support problems we deal with each time a version change comes along makes me avoid using the report generator functions for MS Office. They could improve this process. Also guess what. The PDA module purchased for version 7 does not work for version 7.1 and the subscription service to the developer suite does not include free upgrades to this module. So just over one year after purchasing the PDA module we get to maintain yet another version of LabVIEW and save as a previous version any new application we want to load on a PDA
  17. Just to be able to line up columns in a string without the need of a table or multi-column list box. Padding with spaces helps but does not give consistent results. Yea there is probably a list of reason why we don't have this yet. Yet this would make a few tasks much easier. What do you think?
  18. Usually it is the feature creep monster that bites my clusters. Plus it is a hold over from programming on 486 machines with limited resources, keeping the data as flat as possible was more important then. Strict type def on the cluster is something I haven
  19. As this statement will probably prove I have not used the variant data types much. Yet one advantage I see is the ability to package attributes with the data. Say, what device the information comes from, the date and time information is sent, data type. This information may be set or retrieved and moves with the data. Variant functions seem to be more forgiving. You can coerce a double to an I16 numeric type using the variant functions. Flatten a double and try to bring it back as an I16. Whether or not one would consider the things I mentioned as an advantage is entirely up to the programmer and the application. I tend utilize the string functions more for queue element and find that when I resort to clusters sooner or later I regret it. As far as using variants is concerned I can see a few possibilities for the variant data type and glad the option is available.
  20. You may accomplish the actions accessed by the page setup programmatically. Place a property node on the wiring diagram, this is found in the application control pallet. Right click on the control and make the following selection select class>>vi server>>vi. After this is accomplished right click on the property node again and select Properties>>Printing>> this should provide you the control you need. These properties may be set to read or write depending on your applications. Hope this helps. Randall
  21. :thumbup: Michael, Great example! I have needed this in the past. This will be useful code to poke away for the next time.
  22. Shouldn't have asked. The download seems to be missing a few files. Program looks clean.
  23. Is this an advertisement? I use the queued state machine and the event structures almost to the point of over use. One method I use passing information in a comma separated string. State,other info. When I dequeue the element I can run the string through a match pattern to match the "," The before match is always the initial state case. The After substring is passed into the state. The state called handles the substring. Variants are useful as well as passing clusters in the queue. I have used both methods but the string approach still is my favorite method. I never worry about needing to change the cluster when I need to pass more information than originally planned. Just add another match pattern inside the state that requires more information.
×
×
  • Create New...

Important Information

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