Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won


Everything posted by dblk22vball

  1. I am looking to pick the brains of the LAVA members on how they deal with config files and/or large initialization files. I have an application where I need to load in 20+ values to initialize the GUI and set up the programs test parameters. I am sure that with future applications, the number of items will increase, so I am trying to get some ideas ahead of time. What methods would you recommend for large init files or config files? I have done the single config file, and then you get the number of keys in that section, use a FOR loop to read all of the values and insert into array or cluster. This seems ok, but I have run into issues "elegantly" putting the data in a cluster (since there are different datatypes). You either have to read each key seperatly and put it into the cluster one at a time (can create a huge block diagram) or you use a FOR loop with a case structure and depending on the loop count, insert the value into the cluster, but this can get tedious for adding or removing data from your cluster. The other way I have done it is to just save everything as a string (config file or just a text document) and read into an array and then index the array when you need the value. This seems to have a lot of unnessecary string to X conversions, and index array actions. I have been trying to apply some OOP to this, but not sure if this is the right place, and since I am new to OOP I did not get that far yet. Is there another method that you have used? Thanks.
  2. I am looking to increase the menu font so that it is easier for you to click on the menu easier. I know that it would probably be easier to put an Exit button on the front panel, but the program should rarely be shut down, and that should be done by the supervisor, not the operator. The current font is very tough to click on with your finger. I cant seem to find a spot to edit the font size.....
  3. Again, post any vis that you have tried to work on. We wont write all the code for you. Have you looked at the example vis that come with the DSC module?? They should explain most of what you are asking.
  4. But what happens when you get inebriated and then stumble and fall in the dark bar where the lights are dim to save energy, and have to go to the hospital. Then they have to use the highly efficient low power MRI machine, which net energy usage now gets you a gain in energy usage, bringing all of your hopes of "less impact" crashing down, not to mention the lighter wallet. But then you insurance company sues the bar's insurance company to get the money for your bill because the lights where at an unsafe level (we wont even count all of the energy usage for the companies/people involved in the lawsuit). But at least you are doing your part to help restart the economy by providing the hospital, lawyer, insurance and bar owner work :thumbup: (That was too much thinking for a non-productive post)
  5. I am looking to initialize my program, and load some vi references into the "master cluster" (JKI State Machine) that I will be using regularly for different tasks (unloading/loading subpanels, control values, etc). Now I am using the Get VI reference vi, to get the reference. But when you go to unbundle the name is just vi reference. So if I have 5 references, I have to remember the order that I inserted each reference. Is there a way to assign a name, like you would when you change a label on a control or have a reference to a control, so I could have Type Reference instead of just vi reference. My thought was that it would be less cluttered and less execution time to not have to open a reference and close each time I wanted to do something. But maybe that is the fastest way.... In the picture, Settings is a control reference to a tree control named Settings. All of the vi references refer to different vis.
  6. ok, so going off of the thought of the fixtures accessing the master file on the server at all times, I asked IT about this. They are actually going to give me my own drive and they said that I could poll away, since they can put it on a spare server.... based on previous experience, I was not expecting that.... i will also have the program local cache it as a back up. thanks
  7. I have 6 test stations, each running a test roughly every 1-2 minutes, so I was trying to limit the network usage. As for updating more often, I think I would run into the same issue of network usage. Granted, there is not a lot of overhead in a couple mb of files. But since we are building items quickly, if we did an update and had to wait 10 min (assuming you are checking the tables every 10 min), it wouldnt be a huge deal, but still an inconvenience, since people are paid by the part and get nasty when the test station cant let them build. I will take a look at the network queues, thanks.
  8. Hello, I am trying to think of a way to remotely "tell" my test fixtures that they need to update their tables, because there was a change in the master table by someone. The files are stored on a shared network drive, and then fixtures would copy over the files (text documents) that need to be updated. The "settings editor" can be run an any machine in the plant, since the master files are centrally located. I read that a shared variable with datasocket might be easiest, but that seemed like the variable had to be polled (not a big issue), but what do I do about the shared variable URL, since it could change (as the "master" computer can change). Or did I miss something with this. The networked drive is a company wide drive that is on a server run by IT, so I cant install any labview code on it. I have not used the tcp vis before, so I am not sure if these would be better or not. I could have the computers update nightly, but if we need to change a parameter during the day, this will not work. Your ideas are appreciated.
  9. so you are sending this command (1c00 0068 0d), aka transmit heartbeat, correct? are you getting any response from the device??
  10. We cant answer when we dont have all the information, you have to narrow it down for us to provide you with an accurate answer. As Mark requested, what is controlling the flow on the serial port. When you write once, do you get an acknowledge then data, or does the data just come back right away. Is there a delay in sending the data back? It would also help to move the serial configure port to outside the loop or at least out of your read/write state. This MIGHT bog down the reading/writing, and is not necessary to do each loop.
  11. Can you better explain how you have tried and "failed" to get communication with the device, ie what commands did you try sending, did you get an ACK or NACK?
  12. QUOTE (MikaelH @ Feb 20 2009, 06:34 AM) I seem to be missing the Select From List.dlg
  13. From looking at your VI, each time you press Get Measurements, you get a string of data x.xxx, x.xxx, x.xxx, which you then put into an array, set your next GHz step manually, and then press get measurements again, correct? Why cant you use the Match Pattern vi, use the comma as the match, get the substring before the match (which will be your first value), and then convert that string using the Fract/Exp string to number, and then you have the numeric version which you can put into the "appended array" for use with the XY Graph.
  14. i had the array/cluster idea too, but wasnt sure if there was another way. hmmm, ok, thanks.
  15. I am trying to create a program that will allow the company to interface with some test fixtures. Obviously, sometime in the future there could be more (or less) test fixtures than there are currently. I was wanting to be able to add/remove controls as needed (see attached pic for control). The basic information I need for the fixture is the name and the ip address, but I would like the user to be able to update all or only certain fixtures if so desired, hence the checkbox. Would this require some vi scripting to do or is not possible either way. Sorry if this is mentioned somewhere else, I was unable to find it.
  16. See my attached picture and see if that is what you are looking to do. I am guessing that you are taking the data from the analyzer and plotting it directly on the graph, or you are taking the data, manipulating it, and then wanting to graph it. Let me know if I got it wrong.
  17. What are you trying to do with the "element" that you get from your array?? You could just wire the array into the For loop, and then it would auto-index your array, displaying each element as it goes through the array. By the way, your shift register is not doing anything, since the left hand terminal is not connected to anything.
  18. You could just use a table, and then change the index row and it would scroll down row by row. I think it will "jump" slightly when you change rows, I am not sure how smooth you want it to scroll. Edit - I reread your post, i think this is what you stated at the end of the post.... Another idea with a scrollbox....it could get memory hungry if you have a large array though.
  19. check out the advanced serial example that ships with labview. it has how to write and read in it.
  20. I was having an issue like this as well. Try Renaming the port from COM1 to say COM4 in the Device Manager and see if that helps. I have not figured out what was/is trying to access the port.
  21. i chimed in a bit for LV, people still want to call LabVIEW for kindergarder programmers, BOOO!!
  22. A quick google search (which you should do too) shows that you can get the data through the standard chip/motherboard api's, you just have to know what motherboard/temp sensor chip is installed. That is all the help I will give you since it is a school project, and you need to learn how to do it yourself. If you start coding and get stuck, then post back with some code, and what you are stuck on.
  23. Use the property node YScale.Name Label.Position to move the label. I am not sure how to automatically move it to the center, but you can play with the top value to get it to where you want.
  24. Updated the code to save multiple signals to a file.
  • Create New...

Important Information

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