Jump to content

bbean

Members
  • Posts

    252
  • Joined

  • Last visited

  • Days Won

    9

Everything posted by bbean

  1. Does anyone have an example of how to persist an Open GOOP object? I looked at Tutorial 8 from from Sciware's Goop Developer Template (http://www.sciware.com.au/goopdeveloper/SciWare%20GOOP%20Developer%20User%20Guide%20and%20Tutorial.pdf) using supermessaging and INI files. But it seems cumbersome to create section/keys for each object. Also I'm worried that the INI format might not be right/fast for more complex objects. For instance, say I want to persist a collection of digital pumps (from the examples http://www.sciware.com.au/goopdeveloper/GOOPExamples.zip). I want to be able to save this collection and recall it and its state at a later time. The Collection would be an array of pumps. Each pump object also contains a DataIO object. Each of these objects can be instaniated as a child object. One place I'm getting stuck is reading the file back. How do I know from reading the file which instance of the pump and/or digitalIO objects to create. Are there design patterns and file formats that I can use to make this easier? P.S. Pardon my use of terminology. Just learning this GOOP stuff.
  2. QUOTE(Phil Duncan @ Mar 21 2007, 01:29 AM) How bout this: 3G – UMTS/HSDPA Tri Band Cellular Router http://www.kapp.com.au/products/radiotelemetry.asp Also, this company has done wireless broadband with GSM and Compact RIO modules. http://www.sea-gmbh.com/en/crio/cr1_index_e.php?page=inhalt maybe they could provide insight. I don't know if you are locked into the "Next G" wireless network, but it seems like there are a lot of products out there for Ethernet to GSM Gateways
  3. I just recently setup an apache server on windows with multiple project subversion/trac. My head is still spinning from the installation. There were a lot of hiccups getting ssl (on apache) working, all the proper python modules for trac installed and working, and creating the svn access list for multiple projects/users. Some of the applications and their dependencies/modules have installers, but most of the work is done in config files and the command line. I must confess that I'm a windows user so it took a while to get used too. It did get frustrating when you found a deep chain of dependencies for the installations that all required python "easy installs" Right now I don't know whether to be proud of my accomplishment or go sulk in a corner because my noob skill level with apache/python/trac/ssl/authentication etc. But now to try and answer your questions: Multi-user Trac supports multiusers. I choose to utilize authentication via apache to support multiple users in each project. Inside the trac webpage (via the webadmin plugin) you can modify permissions etc for each user. Multi-project Trac supports multiproject. You create a different environment for each project. You can then change settings in an ini file to point to different repositories and customize the webpage for the project. Web based Yes Open source Yes Good performance across distant networks Don't know. Just going across internet a few miles Inuative interface Seems like it so far if you install the webadmin plugin (the next version of trac will have this built in) Comprehensive reporting functions haven't gotten this far yet. Integration with Subversion Yes. Browsing of repository on the Trac webpage. Limit access / viewing to certain sections of your repository. I believe the Timeline webpage on Trac updates everytime you commit to Subversion
  4. Can someone help explain why the attached code takes longer than ~1 sec to execute if my network connection is down. As you can see in the NI Spy screenshot it takes >15 secs. If the network is down I ASSume the 1000ms timeout should abort the VISA open. I know I shouldn't assume. :headbang:
  5. Thanks for the suggestion. If I implement that option, I now find that the real problem occurs at the VISA Write. It seems like the general timeout value I apply to the VISA session does not apply to the VISA Write VI. I think another thing that might be making this difficult to troubleshoot is that I am using remote VISA calls i.e. visa://ip address/asrl2::instr. I'll have to see if the same problem occurs when I am on the local machine.
  6. LabVIEW 7.1 I have a VISA read operation that requires a long timeout (5000ms). When the user wants to exit the application I want to abort the VISA read immediately. I have tried Closing the VISA session in a parallel loop. I have tried setting the timeout property to 0 in a parallel loop. Neither of these worked. :headbang: I looked through the NI VISA programming reference manual and notice a command called viTerminate. snip: "Requests a VISA session to terminate normal execution of an asynchronous operation.". Is this what I need to execute and if so where is it on the LabVIEW pallete? Or is there a simple way I am missing? Thanks in advance
  7. OK Just found a new tool - Google Code Search. I did a search on labview and found this in Perl code: " $self->tone(@$_) if ($_->[0] > 0); usleep($_->[1]*15000); } # Now how many square meters of LabView code # would you need to do this? } " http://www.google.com/codesearch?q=+labvie...ent/SR780.pm#a0 Sometimes I feel like that.
  8. That comment is not as bad as the ones ppl found in windows source code : http://www.kuro5hin.org/story/2004/2/15/71552/7795 * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * !!!!!!!IF YOU CHANGE TABS TO SPACES, YOU WILL BE KILLED!!!!!!! * !!!!!!!!!!!!!!DOING SO F*&^s THE BUILD PROCESS!!!!!!!!!!!!!!!! * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  9. Some questions about SVN and LabVIEW. How do ppl deal with multiple LabVIEW versions in SVN? or more specifically what subversion repository structure do ppl use for multiple LabVIEW versions? Is it like this: <root>/Project1/LabVIEW 7.1/trunk <root>/Project1/LabVIEW 7.1/branches <root>/Project1/LabVIEW 7.1/tags <root>/Project1/LabVIEW 8.0/trunk <root>/Project1/LabVIEW 8.0/branches <root>/Project1/LabVIEW 8.0/tags <root>/Project2/LabVIEW 7.1/trunk <root>/Project2/LabVIEW 7.1/branches <root>/Project2/LabVIEW 7.1/tags <root>/Project2/LabVIEW 8.0/trunk <root>/Project2/LabVIEW 8.0/branches <root>/Project2/LabVIEW 8.0/tags <root>/Utilities/LabVIEW 7.1/trunk <root>/Utilities/LabVIEW 7.1/branches <root>/Utilities/LabVIEW 7.1/tags <root>/Utilities/LabVIEW 8.0/trunk <root>/Utilities/LabVIEW 8.0/branches <root>/Utilities/LabVIEW 8.0/tags Or Like this: <root>LabVIEW 7.1/Project1/trunk <root>LabVIEW 7.1/Project1/branches <root>LabVIEW 7.1/Project1/tags <root>LabVIEW 7.1/Project2/trunk <root>LabVIEW 7.1/Project2/branches <root>LabVIEW 7.1/Project2/tags <root>LabVIEW 7.1/Utilities/trunk <root>LabVIEW 7.1/Utilities/branches <root>LabVIEW 7.1/Utilities/tags <root>LabVIEW 8.0/Project1/trunk <root>LabVIEW 8.0/Project1/branches <root>LabVIEW 8.0/Project1/tags <root>LabVIEW 8.0/Project2/trunk <root>LabVIEW 8.0/Project2/branches <root>LabVIEW 8.0/Project2/tags <root>LabVIEW 8.0/Utilities/trunk <root>LabVIEW 8.0/Utilities/branches <root>LabVIEW 8.0/Utilities/tags Or neither :question: Branch/Tag/Trunk directories When you do a checkout to the local machine do you prefer to see the \branch, \tags, \trunk directories from the reository on the local machine? Utilities Do you checkout your "utilities" directly to the appropriate versions user.lib? Or do you use externals and checkout everything (project vis and utilities via externals) to a local project directory? Sorry for all the questions, just trying to figure out what works best for people? :beer:
  10. I found this commment in the following NI VI - LabVIEW 8.0\vi.lib\_oldvers\_oldvers.llb\compatReadText.vi: "this may need work, see note below" Makes you wonder. Has anyone found other interesting comments left accidentally in NI's or your own code?
  11. Do you know how much a Pushok license costs? I don't want to have to fill out all that info on the website just to find out. Brian
  12. FYI. You can handle externals in TortoiseSVN by right clicking on the directory, selecting properties, and then the Subversion Tab
  13. Got it thanks. I had the original ini entry but I forgot the SuperSecretPrivateSpecialStuff=True. That seemed to do the trick.
  14. LV 8.0 I knew I was missing something. This should work for me. Thank you. Still can't figure out how you did this. These are the options I have for VI Properties: Regards, Brian
  15. Am I missing something simple or is there no easy way to open a subpanel VI block diagram window while it is loaded in a subpanel ? :headbang: I would like one of two things: 1) Open only the block diagram window of the subpanel VI before I run the toplevel VI. 2) Put a button on the top level VI's user interface that allows me to open the block diagram of the subpanel VI I have in the subpanel so I can debug the VI's code while it is loaded in the subpanel. Right now it seems like I have to have the subpanel VI open before I run the top level VI if I want to debug the code. Even then, the subpanel VI window does not load in the subpanel of the top level VI. I looked at the VI properties and methods but didn't see anything for Block Diagram except "get image" Has anyone run into this before? P.S. Using LabVIEW 8
  16. Thanks for taking a look at this. I found out the problem. I was missing a portion of the "Header message" when I sent the commands to the controller. The documentation doesn't really explain this header until you get into the examples. I missed it in my rush to get things done. Sorry for the false alarm about events and flow control. Brian
  17. First, has anyone developed a driver to communicate via the serial port with a Digi-sense 68900-11 temperature controller? I've checked ni instrument driver network, google, and the company's website with no luck. I think its manufactured by a company called Eutech. Since I couldn't find a driver, I wrote a quick Labview interface with some simple commands to communicate with the instrument but couldn't get anywhere setting up the serial communication according to the serial communciation specification (see attached). I kept getting timeout's and was not able to read or write any data to the controller. The basic settings are 9600,8,n,1, XON/XOFF (w/ XON=11 hex and XOFF = 13 hex) So then I setup Portmon to watch the OEM's software application (which works fine). The OEM applicaiton seems to have a different setting for the "Shake:80" serial setting in Portmon. I've tried a bunch of different handshake settings using the VISA Serial Setup vi to try and match the OEM software to no avail. Also the OEM software seems to enable a bunch of Serial Events. Some of these I can enable and some I can't, but when I enable the events the computer justs grinds to a halt. Do I have to enable and handle the Serial Events or can I ignore them? So I turn to you guys for advice. Attached is my code, the comm spec, and port mon snapshot's. Download File:post-549-1153680070.llb Download File:post-549-1153680142.txt
  18. Table 2 is just a link between the Graphs Table and the actual Plot Data in the Plot Data Table. Really you only need two columns for Plot ID and GraphID, the extra stuff is if you want to store information specific to the plot..like a color so that you could load the configuration into your graph property node when you query the db for a Graph. I have been using a similar technique on an application recently and it hasn't had any problems yet, but the Plot Data table is still relatively small ...about a million points. I can query and return a 150000 pt plot in about 5 secs across the LAN. Not too bad. We'll see how it does as the DB grows. I'll let everybody know if there's an issue.
  19. Are you using a daq card and DAQmx to sample the data? The only time I have seen this is when I set the sample freq. too low by accident. I've seen NI's Express VIs automatically cutoff anything above the Nyquist freq (which makes sense)
  20. I'm familiar with the tree control so I guess what I'm interested in is: 1) What DB tools did you use? labsql, ni db toolkit, or custom, 2) Do your VIs automatically traverse the database to build the tree? 3) If it automatically traverses what technique do you use? thanks.
  21. Slightly OT Forgot to ask about your DB and tree control. Are the VIs you used to populate the tree from the DB proprietary? If not I'd be interested in taking a peek. I guess I'd have to brush up on my ?German? though. B
  22. The tree implementation you show is a pretty neat subpanel implementation. I especially like the icon use in the sublevels. Very professional looking. I have taken a look at the OpenG wizard style used in OpenG Commander. That was my initial inspiration because it looks and feels very professional also. I thought subpanels might help make it easier and more generic. I had another thought last night, maybe it would easier just to make a vi template to use as a starting point for each wizard screen (with queued state machine). Then use this template to create VIs for all the screens and put the screen VIs in a top level VIs to manage the flow. The trick is passing information between each step of the wizard. I'm using some GOOP objects so it may not be as difficult as I anticipate. Anyway this strategy is not as elegant but follows the kiss principle. Thanks for the feedback, Brian
  23. Has anyone tried using a Subpanel and some Back, Next, Finished, Cancel Buttons in a VI as a generic framework for a Wizard style interface? The main reason I'm thinking about doing this is the functionality of many of the wizard screens is also used in other areas of my app where I don't need to lead the user through steps. I've created wizards before using tabs, but thought a subpanel might be better because I could run a subvi in the background for each wizard screen and also call a screens subvi somewhere else if I just want to execute one of the screens. Has anyone gone down this path before. Let me know if its a stupid idea. Brian
  24. You're right, but sometimes its less annoying to give them the answer, especially when a language barrier is in the way. Won't let it happen again. B
×
×
  • Create New...

Important Information

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