Jump to content

Randall Thurman

Members
  • Posts

    26
  • Joined

  • Last visited

    Never

Posts posted by Randall Thurman

  1. Randall,

    I don't EVER know of a good reason to save VI's without the diagrams - LabVIEW will cannot update the code to a different version - and it is impossible to recover the diagram.

    I would think the problem relates to the this.

    Regards

    Jack Hamilton

    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. I realize this is a very old topic, but no one ever addresed it. So maybe you are still angry. I see this same bug in LV6.1 WinXP. But untill I read this topic I didn't even know the Alt shortcut was an option, and I use menus a lot. (note to self: RTFM) I have only used the Ctrl key for shortcuts. I noticed the Alt key has no effect on the CPU if there are no Alt shortcuts in the menu. So that's one option. And I guess in this case ignorence was bliss.

    Also, now that LV8 is out, I wonder if anyone has noticed if NI remembered to fix this bug?

    (if not move this topic to LV8 bug list)

    -WDC

    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. I just started using labview and i made this basic program to read & write to my COM port (connecting pin 2 & 3 with eachother offc so I can communicate with myself).

    Now the problem is, when I write a text which is bigger than one line, my read function reads the line one after another showing them very fast after eachother ending with the last one, but they all overlap, so they're not shown all at the same time.

    The Visa Configure Serial Port vi enables the termination character and uses the

  6. Great post and great question.

    I started Refactoring your program to see if I could come to a decent answer.

    When I was finished I had eliminated the value properties by sending the data through the Queue.

    The final program was a little more flexible and easier to change the User interface.

    Download File:post-584-1127453851.llb

    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. :oops:

    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. Thank you for sharing the VI.

    Here's some good info' on Property Nodes versus Local Variables:

    http://zone.ni.com/public.nsf/websearch/74...47?OpenDocument

    Regards,

    -Khalid

    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. Here's another example getting the time from start of run to end of run.

    obtain the start time using "Get Date/Time in Sec".  Then run your program.  On the close of the program,  read the end time again using the same "Get Date/Time in Sec",  Subtract the two and your done....

    Regis

    4590[/snapback]

    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. Hi!

    I will read out my start time and my end time of the vi. 

    The outcome of this is the durability.

    I read the start time with "get date/time in sec" wired this with "format date/time string" (%H.%M.%S) and show this in a field (string). 

    Same with the Start date ("format date" %A, %d.%m.%y).

    I wired the stop button of a while case with a case structure and so I try to get the end time/end date. 

    Again with "Get date/time in sec" - "format date/time string"- field (string). 

    Now my problem, the period. 

    I tried out subtraction. But there is a problem with the format. I must change the string into number. "String to byte array" won't work (I only get #8 as value) or I have done something wrong. 

    Maybe there is a simple solution for my problem  :headbang: 

    4582[/snapback]

    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. I find the Report Generation for MS Office to be a real pain.

    :yes:

    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

  15. 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?

  16. 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.

  17. 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

  18. OK, have coded an example using this architecture have posted it at:

    www.big-tent.co.uk

    Please feel free to download it and comment on it.

    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.