Jump to content

ShaunR

Members
  • Posts

    4,881
  • Joined

  • Days Won

    296

Everything posted by ShaunR

  1. Ahh. IC. Been a long weekend I use self initialising vis for exactly this (usually, VISA and IMAQ). Not a million miles away from a functional global, but it keeps the reference local to the vi using it and is released when the vi is closed. something like this....
  2. Set autodispose ref to true and don't close the ref in the calling vi. http://zone.ni.com/reference/en-XX/help/371361E-01/lvprop/vi_run_vi/
  3. Aha. Sounds like you've reached the PCI bandwidth limitation, which is about 133MB/s max and about 110MB/s sustained. Not a lot you can do about that except change the motherboard for one that supports PCIe. PCI = 133MB/s Max. PCIe x1= 250MB/s Max. PCIe x4 = 1GB/s Max. PCIe x8 = 2GB/s Max. PCIe x16 = 4GB/s Max.
  4. I'm a bit ambivelent about this article. I thought a "duct-tape programmer" was basically an un methodical script kiddy type. But he describes any programmer that applies KISS. After all if you have 2 weeks to write some code that puts a "widget" in a "doodah", why spend 2 weeks writing code to interface to other code (that you have still to write) that puts a "widget" in a "doodah". That seems to be the gist of the article rather than lauding seat-of-yer pants programming. From experience. there are (simplistcly) 4 phases to software projects. Design, Implemention, Fire-fighting and Delivery. KISS programmers do a lot less of the fire-fighting because they have less to go wrong.
  5. Most modern adapters allow teaming with multiple ports (so you could team your servers adapters) http://www.intel.com...b/cs-009747.htm The old way used to be (under windows) creating bridged connections. Well, I say old way, you still can, but its more CPU intensive than allowing the adapters to handle the throuput. There is an overhead involved, but it is simple to implement and scalable. Sounds to me like you want 10GbE
  6. You need to use the RTSI. http://zone.ni.com/devzone/cda/tut/p/id/4761
  7. Post your DLL and source/test code so we can see first hand.
  8. The other way of course is to have one file for each language and your software just switches between files. This makes life a lot easier for the translators, but means you have to coordinate updates to multiple files.
  9. I think they are just being pedantic. The purpose of registration is purely to have evidence (its irrelevent what the evidence is, be it human readable or not) that can be attributed to a date so that you can prove that you thought of it first. Its not like a patent (whole different ball game) whereby a search must be made and you need to prove it is unique and has not been thought of before. The Copyright Office is merely a "vault" where you can register evidence of your copyrightable material. The evidence will only be applicable once you (as in the copyright holder) take someone to court for infringement. Then you can use whatever tools you like (including Labview) to prove you are the original author.
  10. Copyright is an automatic right of the author unless some other contractual obligation takes precendent. It is usually sufficient to add a copyright notices to your software. The issue is only really applicable if infringement takes place and registration with a copyright office is basically registering with an authorised, third party witnessing service that can verify the date and contents of the of copyrighted material to add ammunition to your defence. However. It is a powerful defence. The copyright office in the UK allows online-uploading of copyright material (for a fee) and there is no requirement for the uploaded contents since it is irrelevent. They even have a "Registration Update Service" so that you can upload "in development" work as and when it changes. If you are having issues with beaurocracy in your home country I would suggest using them. UK Copyright Services
  11. I prefer dlls myself, but for a single instruction it might be worth looking at CINs rather than converting a whole piece of LV code to C. Especially if you already have the code. Theres a very good tutorial HERE
  12. We use some vis that enable dynamically changing between certain languages like english, French, German etc. I canot share the code because they are owned by the company but (as I wrote them) I can tell you how they work. There may be others who are not restricted to share. The key is really not to "hard-code" strrings into the diagrams and takes a little bit more thought but is fairly easy to do. don't talk to me about Japanese or Chinese however...lol. They take advantage of labels and captions for controls and indicators. The Label is used as the "tag" and the Caption is what is displayed to the user. Display strings are a bit more complicated, but not much. A create language file vi is used to iterate through all labels in the app and save them to a" bar" separated spreadsheet file. We use the bar "|" symbol because it then allows the use of commas, semicolons etc in the text. This file is then sent off to the translators and they add the words (or phrases) for the other languages on the same line for each language (first column English, second French, third German....etc). A change language file vi is used to load the file and iterate through all the labels changing the captions to the specific language. You have to check the control type as for things like boolean indicators, its not the caption the user sees. Job done for controls and indicators. This can be invoked at any time and the current language is saved to a config file so that the software starts up in the last used language. Display strings in the code are always preceded with a get language file vi that takes a string as an arguement (the tag as described above) and outputs the corresponding word/phrase in whatever language is chosen to be active. I've been meaning to get around to including a digram search for these tags so they can automagically be added with the create language file vi, but I've more important fish to fry. Thats basically it. It shouldn't take you very long to write something yourself, or I suspect others on this forum have similar tools that they can share.
  13. The force wasn't strong with this one! He should have used the Jedi mind trick. " This isn't the droid you are looking for....move along"
  14. Its unlikely to be a memory issue unless you are using so much the OS has to swap to disk. It is more likely a higher priority process or hardware latency is getting in the way. Disk saving is the usual cause. Next time watch the LED hard-drive indicator when you see the time jump. What is the camera interface? If you are using GigE,another cause can be packet collisions causing the camera to re-send. This will also appear as a latency causing your loop time to jump.
  15. Some people have no sense of humo(u)r. I hope my behavio(u)r hasn't caused our English speaking neighbo(u)rs to harbo(u)r a grudge. Lets not let the spect®e® of conceit compromi(s)(z)e integrity and (e)(i)nsure we all get with the program(me) of coexistance and co(s)(z)iness.
  16. Thats what "American" english looks like to British, Australian, Indians and Canadians
  17. Well I must say your looking very well for your age
  18. I've just seen them. It stikes me that the traffic light one is a lot harder (conceptually) than the others. I'd guess that the others would take me about 1 hr from scratch, but the traffic light one I'd probably have to think for an hour first! The latter. I'm a bit hard-of-thinking More cosmetic requirements? Or more to test your specmanship?
  19. I Have a Spelling Checker Eye halve a spelling chequer It came with my pea sea It plain lee marques four my revue Miss steaks eye kin knot sea. Eye strike a key and type a word And weight four it two say Weather eye am wrong oar write It shows me strait a weigh. As soon as a mist ache is maid It nose bee fore two long And eye can put the error rite Its rarely ever wrong. A chequer is a bless sing, It freeze yew lodes of thyme It helps me right awl stiles two reed And aides me when aye rime. Each frays come posed up on my screen Eye trussed too bee a joule The checker pours o'er every word To cheque sum spelling rule. Eye have run this poem threw it I am shore your please two no Its letter perfect in it's weigh My chequer tolled me sew.
  20. Ahh. Now we are changing the goal posts I didn't say "Not accurate" I said accurate enough (do you need it accurate to 1us when each event is 1 week apart?). But you have a choice. Buy a timer counter card (problem solved). Or sacrifice a little accuracy (maybe 0.1 hz) and do it with what you have. If you are electronically inclined, freq-volt converter chips are cheap. But you will still only be able to read the freq (i.e the voltage level) as an instantaneous value. You can free-run (as you said) without having to switch back and forth between hardware gating. Just use the clock signal as a window event in the data stream to extract that segment.
×
×
  • Create New...

Important Information

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