Jump to content

danielsan

Members
  • Posts

    7
  • Joined

  • Last visited

Everything posted by danielsan

  1. I even put these things like the openG libs I use in the scc. This way I can immediately continue developing on any other standard LV installation.
  2. Add one vote against VIPM for me! Maybe I don´t get the point but I can´t see an advantage in using VIPM. If I install all the dependencies in user.lib or on of these directories I´ll never have the chance to do a quick setup of my libs on another pc. Using scc you can just bind your libs as externals in your projects. With a trunk, branches, tags structure create release branches for every project and every lib. Branches are not code duplication. You do your bugfixes on the trunk an merge this to the release branches (if necessary). Then you´ll create a tag with fixed revision numbers of the libs in your project. This way you´ll have your setup complete with one checkout. You don´t have to use another third party software and you don´t have to install things on other pc because it´s all there.
  3. Juchuh, this will solve a lot of Problems using svn (or other scc systems): http://zone.ni.com/r..._compiled_code/ Greeting, Dan
  4. Thank you for the input. I will think about that. But I dont`t think that I am really comfortable with using different names for several versions of the same file. Somehow I like the svn idea more (especially the advantages of branches and tags). greeting, dan
  5. Hi, somehow I´m stuck. Short description of the problem: I am designing and implementing a new LV-application for our test stands. The old system was written in Agilent VEE. Basically the software consists of one main application and some libs which are placed on a network folder. Every test stand has one PC and up to two Test Modules each connected to one or two DAQ Cards. Each test stand is running the same main application. The test modules are recognized by hardware code and the libs are loaded according to the result. This gives us the flexibility to easily change parts and whole pcs or to combine different test modules without a lot of configuration effort. The drawback is that a lot of libs are shared by different test stands and it is very dangerous to change something. In a running test system only on module is active at a time. In the new LV-Software I implemented a framework to initialize the modules and load the corresponding libs by loading child classes of the modules and test devices (I implemented everything in lvoop, even if some classes are only abstracts). I also introduced a source code control system using tortoise and svn. I´d like to use my libs (like string, database, etc...) as externals and bind them to one specific revision nr for module software in a stable status because further changes should not affect my running systems. But what can I do, if I have a combination of two test modules, each requiring a different revision of one lib? My Ideas so far: 1: Add the libs to each Module Lib and load them as module1:lib, module2:lib. This is not possible because a vi or lvlib can only belong to one lvlib. 2: Dynamically load and unload libs with different revision nr. according to the module active. Since it is not possible to have several instances of one vi in memory is it possible to dynamically unload and load the needed libs according to the module that is active? 3: Always use the newest lib available and be very careful about changes. This is what we do now and it´s not really comfortable. Any suggestions? Greetings, Dan
  6. has not set their status

  7. QUOTE (crelf @ May 27 2009, 04:51 PM) I will but it´s in an early stage so I´d like to test a little bit more...
  8. Hi, very interesting thread. I started to implement an oop base error handling. Basically it consists of an Error class that contains this attributes: error cluster, minCode (int), maxCode (int), isCritical (bool). Another Class called ErrorCompound contains just an array of Error Objects which are initialized with the right values (ie one for VISA, Daq, etc...). This gives me the flexibility to control which VIs should be passed in case of an error occurence (Database error should not result in loss of daq-control etc...) Complex VIs are entered with the object ErrorCompound then the specific error clusters can be checked out to be given to less complex VIs that do only one kind of action (ie Database access). Errors occured are checked to the right object according to their code. This concept can be modified by the use of inheritance but for now I have no need for that. Errors are handled mostly locally because I want to decide what should happen and in most cases I dont want the programm to run in the background. Only the logging is in central place. Hope you got the idea... Greetings, Dan
×
×
  • Create New...

Important Information

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