Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won


Everything posted by viSci

  1. You are the third person in a row to tell me that. But sometimes one must try to balance risk with the need to keep work coming in.
  2. I am in the process of formalizing a contract with a company that has been known to have had prior issues with LabVIEW developers and has adopted a tough talking somewhat litigious tone. I am considering what wording I should put into a Software Development Contract that will protect me from any liability in the event a bug in the software should damage the clients property. Has anyone had experience with this? Or perhaps could suggest a contract template to start off with.
  3. If you ever think of taking a dip into .net drawing here is some example code (LV2013) to get you started... Forgot to mention that the example drawing vi is in the Test Folder AntiAliased Drawing.zip
  4. Been down this road and after fighting with the 3D graph and 2D picture control I became dismayed at LV's lack of modern 2D graphics with basic features such as anti-aliasing and the ability to define a hierarchy of graphic objects. I was hoping someone would have tried to bring some SVG action in LV but instead had to settle for .net which is actually pretty nice. I spent about 2 solid weeks wrapping .net graphics and produced some very nice anti-aliased radar type graphics. If interested I will try to wrap up my .net libraries and post in the CR. In the meantime you can see some of the results in my portfolio at www.viScience.com (Avionics 1553 Simulator)
  5. Here is a discussion on the subject... http://forums.ni.com/t5/LabVIEW/Is-it-possible-to-write-waveform-data-to-Citadel-in-LabVIEW/td-p/1637172
  6. Just curious, can you use the remote app ref to get 'All VIs in Memory'
  7. The standard route to getting your Instructor Cert. is to go to the weekend training in Austin. It is also mentioned on ni.com that there are alternative 'equivalent' certs that can be obtained from Microsoft, Novell, etc. Also mentioned that some independent courses maybe eligible but need to be sanctioned by NI first. I was wondering if anyone has taken any of the alternative routes and how it worked out for them.
  8. Interesting...The closest I have come to functional programming is with Lua. I am not even sure it qualifies but have taken advantage of Lua's ability to assert a 'function string' that can be composed and executed at runtime. BTW, I really enjoyed the Spolsky article and am looking forward to your next post!
  9. Yair - thanks for the reply. For now I have removed all VISA aliases and have not had a problem since.
  10. Really good news! I would like to hear more about languages such as Erlang and other lightweight concurrent messaging concepts.
  11. I have an application that opens 8 RS232 com ports with VISA aliases. I am finding that under various circumstances the VISA references are not being closed (even though I am issuing a VISA close) The problem is that when I try to reopen the com ports some seem to be still open thus giving the error that the resource is valid, but VISA cannot currently access it. I have tried closing the com ports before opening and even querying the VISA driver to see which com ports it thinks are open and then trying to close those ports. But nothing seems to be fool proof. Was wondering if anyone has come up with a solution for this, thanks.
  12. Here is my take on converting Clusters to SQLite table records.... Cluster to SQLite Demo.zip
  13. This guy really knows his stuff... www(dot)controlguru(dot)com I have found that understanding the open loop response of a system is a good first step. Try to use this knowledge to develop a FeedForward model of the system and then the PID portion will be able to deal with the smaller (and hopefully linear) error left over.
  14. Anybody heard any word on this? I understand that it is forthcoming and that it will have some cool new features...
  15. Yeah I should probably stay out of it but as the only electrical / software engineer on the team I was asked to make a suggestion. Really as you say it requires specialized knowledge. I like to be able to understand the root causes and fix the problem at the root rather than a bandage approach. Here in Florida (the lightning capitol of the world) surge damage is very serious concern. From what I have read, CAT5 surge protection should be done where cables come into the building and should be afforded a direct low resistance path to earth ground. The Telco's seemed to have solved this problem so I would be interested to understand their approach to grounding and surge protection.
  16. Not really a LV question but regarding distributed systems installations... I have a large scale system that involve multibuilding LAN interconnects that is plagued by surge damage. From what I can gather, external (where cables come into the building) LAN surge protection and grounding is best. Does anyone have any equipment recommendations or guidelines on the subject? Thanks
  17. Hi Dave - I thought your presentation was very good. Unlike many others I have seen you convey a sense of thoughtful composure and confidence in your subject material.
  18. Anyone seen the 2013 Device Driver DVD image yet?
  19. I guess the broader topic here is how to store objects or complex data structures in a database. I think it should be possible to build a cluster to SQLite API but now that we have the lineator I wonder if it is possible and makes more sense to build this as a plugin.
  20. Thanks all for the good comments. I am still unsure of a better way to construct a transactional data model that can be used by Multiple View Processes. Here is my take thus far: 1. Since the application requires Multiple View Processes I cannot pass around a class wire so will need interfaces to a central store 2. One of the nice things about the Model Class Data DVR is that you can extend the data model without breaking any wires directly connected to IPE's (I do not like that aesthetic either) or wrapping the IPE's in class methods and using the Get Ref vi in each case to extract the DVR onto the BD and into a local IPE. 3. The semaphore protection would be nice but seems complex to understand all nuances 4. A FGV housed Data Model solution by itself would be unwieldy since it is so limited in extensibility. 5. Will have to study the impact of data copies in my approach, thanks mje
  21. That article is a bit confusing...the SEQ version seems interesting and has built in mutexing which is nice but I do not understand the warnings about its use. This helps to clarify the options... https://decibel.ni.com/content/docs/DOC-20865 It looks like I probably should just encapsulate all my R-M-W operations into class methods that use the IPE wrapper and get rid of the semaphore mutex
  22. Yes - I was just trying to be funny but really that is the issue - I am presuming that my method is thread safe but now am concerned that I, like many others that have inspired God's wrath, have been lulled into a false sense of thread safety. Here is a typical example of how I would do a R-M-W operation: Basically this is a cooperative mutex. Any Model read that intends on using its data to do a subsequent M-W is required to lock the model. I think there is a flaw in my code in that a isolated Model write should wait for the mutex semaphore if it has been locked by a R-M-W sequence.
  23. In my MVC architecture I have many Views all running in separate threads so I needed a way to provide thread safe access to the Model data. Initially, I created the Model class with the idea that the DVR would be my locking mechanism but soon realized that the 'Modify' logic in some cases was too complex to put into the Model class itself so I needed to add the semaphore to allow the external locking. I think my BD suggests that the DVR reference is public but actually only Model Class vi's have access to it. I would be curious to know how others would construct a transactional model that is fast and can conveniently store and retrieve any LV data type. BTW, I think that the prominent feature of 'thread safety' is avoiding race conditions in shared data structures (at least according to wikipedia
  • Create New...

Important Information

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