Jump to content

Mark Balla

Moderators
  • Posts

    607
  • Joined

  • Last visited

  • Days Won

    41

Everything posted by Mark Balla

  1. Yes it is possible. This method used the Reshape Array in the array pallet. I can't remember if ver 5.1 had this fucntion in it if not you could change the 2d array by using a for loop
  2. WMassey I would greatly discourage you from taking this course of action in the future. No one learns anything from locked diagrams. However I would also encourage you to enthusiastically defend and explain you coding style and techniques. I
  3. Did you open MAX and see if it shows up under ports. I've had systems where the Visa contol will only display the instrument name ASRL1::INSTR instead of the alias COM1. You could try manually entering the instrument name in the visa control and see if it works.
  4. Accutally you don't need to do any programming just replace digital control with a slider in the control editor.
  5. Here is what I came up with. It will only work if all the clusters in the event case are the same. Download File:post-584-1127782943.vi
  6. I can probably help but I need more information How does this equate to 255 is it a 4x64 2D array or a 1x255 1D array I'm confused as to what exactly a block is. Is it an element in the array or a group of elements. so 2=1 to 62 and 63=1 n(NumBlocks)=1 to 64-(Start block)? what do you mean by frame? 1D array 2D array It would help if you could post the code you are working on. If I can see what you are using for input and outputs it is much easier. Also remember to save it as a development distribution llb before posting.
  7. The file IO was the only one that concerned me. When I see file IO I think errors.
  8. If you right click on the reference and create control you will get what you are looking for. Paste the newly created control into your subvi.
  9. 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
  10. Why not use the Sort 1D Array function.
  11. Is anyone interested in an upgraded version of the FIXER Or does anyone have improvements that they would like included.
  12. One of the things I do when I want certain cases to run as fast as possible is put the input to the Wait primitive inside a case structure and send a 0 to the input base on the incoming state.
  13. I Posted a custom time probe here http://forums.lavausergroup.org/index.php?showtopic=740&hl=
  14. Some more hardware info would help. How many inputs how many outputs. which E series card are you using. how fast do you need to aquire the data. what is the counts per revolution of the encoder. also any code you have already written. I do a rotational aquisition on a current project I'm working on.
  15. Because your Graph is different in size the offset values in the Scale Values.vi need to be tweaked. maybe kel can explain how he figured out what offset values to use.
  16. Ok Here are the changes I needed to make to get it to work. 1: The bool wire in the event structure time out case needs to be passed through 2: The integer controls and indicators from kels code were changed from I32s to U32s this caused big problems when negative values were used. After that it worked. I also added a stop button and replaced local variables with shift registers. I would highly recommend learning to use shift register instead of local variables. By using local variable this way you created a race condition which means there was no way to determine if the graph was updated first or the data was modified first. Although a minor problem in this case they can become big problems. lets us know if you need more help. Download File:post-584-1124948981.llb
  17. Since I see you are new to LabView you may not be familiar with all the terms discussed. here is a simple vi I built a while back that shows the various ways to transfer data between loops. Download File:post-584-1124939201.llb 7.1 version Download File:post-584-1124942360.llb 6.1 version I would personally recommend learning to use Queues. functionals second and locals only when you have to. (Writing to a Input Control) good luck
  18. Ok the future is now. Can you please post the vis as a development distribution. In your main vi go to File>>Save with Options select Development Distribution and Save. LabView will create a llb with all the vis needed to run the main. This makes it much easier to help.
  19. I've done this for my Open-G Goop model can you figure out how the names are extracted in the statistics vi. If you can I would move the code outside of the case structure so the name is generated for all cases inside the repository.
  20. Ok so you see how to do a multi user plot but the next question how to get it into your existing code still remains. To expand on what m3nth was talking about we covered some of this in this post. http://forums.lavausergroup.org/index.php?showtopic=1474&hl= In it I posted a Que Structure demo showing how to separate the user interface from the process code. Understanding that you are trying to digest and understand these new Ideas, a total rewrite doesn't get your code working any sooner. So here is what I would recommend until you are more comfortable with ques. 1: In Sequence 1 inside the While Loop create a Event Structue around all the code and make it the timeout case with a timeout of 100ms. 2: Insert kel712 code in the event structure and test it out. This should get you to where you need to be with out a total rewrite. 3: Now one by one take the items in the timeout case where you are looking for user input and create an event case for them. Example: Create a event case for the Go Home button and in that case place the code. This will also help reduce the size of your block diagram. Remember to test your code after every change.
  21. Could you post what you have so far so we have something to start with. It makes it easier to help if we are all talking about the same thing. Don't worry about how messy it is we just need someplace to start. By the way this is not trivial stuff.
  22. Yes you can do it but It will add some complexity to your code. The Dynamically Monitor VI's.vi in the examples is a good place to start. I haven't seen your code but I doubt the event structure is the primary reason your diagram is so large. SubVi have always been my main tool for shrinking the block diagram. If you are going to spend time shrinking the block diagram I would recommend focusing it there first. And (plug plug) if you want to save time wiring and cleaning up your sbuvis try using the Subvi fixer. http://forums.lavausergroup.org/index.php?showtopic=1597
  23. The Maximum cluster element in the XScale.Range Property shows the last point on the strip chart. couldn't you read this property and set it to the start position before you enter the while loop. You could also save the last position value to an ini file when the program stops and recall it in the begining. Download File:post-584-1123851927.llb
  24. Here is a method that I have used in the past. It uses the IndexVals property of an array. Unfortunately there is no event condition when the index value is changed. Download File:post-584-1123532434.vi
  25. Are there going to be any planned LAVA/OpenG events or presentation this year at NI Week. Also I had an Idea and would like to hear what people think. What if everyone prints out their avatars and attaches it to their NI name tag. I think this will be a great way to meet other LAVA members in person without have to guess who they are.
×
×
  • Create New...

Important Information

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