Jump to content

Michael Aivaliotis

Administrators
  • Posts

    6,196
  • Joined

  • Last visited

  • Days Won

    104

Posts posted by Michael Aivaliotis

  1. I'll ponder over the ideas raised in this thread...

    One thing I also want to add. Please everyone (Students and Otherwise), Add a decent title and description to your posts. Would you open an email that had the title: "help needed...please" probably not. Obviously you need help, be more specific. Skimming the title helps everyone weed out the noise. Also, the act of writing a title forces you to organize your thoughts.

  2. How could you say that ? how do you know that my problem is not urgent. Actually, it is.

    Why shouldn't I ask on several forum ? It's forbidden ? I don't think so.

    Indeed, I have read your answer in labviewforum.de. I am gratefull for that, but maybe you could read the question more carefully.

    I think what i2dx means is that most of the regular LAVA members are also visitors of all other LabVIEW forums as well. Sometimes it becomes a decision that a regular has to make and decide in which location they should post a reply. On top of that, after they reply in one location, they must follow up on all other locations with a link to the original reply. If they don't do that then they may give the impression that those other forums are not as important as the one they responded in. In other words, this puts more work on the person responding.

    Please don't take this as a personal attack :) . You are welcome to post in the LAVA forums or wherever else you see fit. You should understand that the LabVIEW community is very small compared to other development languages so even if you post to one website, we will all see it right away.

    As a side note, I find it kind of strange that you would post in English on a German LabVIEW site.

  3. Ok, here comes another strange LAVA Forums thread.

    I know you have them. Freebie T-shirts handed out by NI at various trade shows. Most of you wear them to sleep, or to hang aroung the house on weekends but I know you never even think of throwing them away right? Post pictures of the ones you have so we can try to fill-in the collection. I'm hoping someone has a LV2 T-shirt. Let's not just limit it to T-shirts. Why not thow in a few mugs and mouse pads...

    post-2-1141554831.jpg?width=400

    post-2-1141554852.jpg?width=400

    post-2-1141554884.jpg?width=400

    post-2-1141554921.jpg?width=400

    post-2-1141554937.jpg?width=400

    post-2-1141554971.jpg?width=400

    post-2-1141555003.jpg?width=400

    post-2-1141555024.jpg?width=400

    post-2-1141555046.jpg?width=400

    post-2-1141555063.jpg?width=400

    post-2-1141555087.jpg?width=400

    post-2-1141555121.jpg?width=400

    post-2-1141555148.jpg?width=400

    post-2-1141555168.jpg?width=400

  4. Guys, thanks for your replies! No, I don't use 'DeferPanelUpdates'. Actually it seems to start working now, after I made a change which is in line with PJM's comment: earlier I used to embed a panel of a subVI and then call it (statically). When the call finished (i.e. the subVI stopped), I removed its panel and embedded the panel of the next subVI. It worked most of the time, but after 20-30 calls it failed with the front panel of the main VI (and everything embedded) becoming non-responsive.

    What I did now is calling my subVI first, and then, within the subVI, embed its panel into the subpanel container of its caller. When the subVI is ready to finish, it removes its panel from the caller's container and then finishes. This seems to work so far, at least it still works after I cycled through various panels more than 50 times!

    That this is the solution. Even if you look into the NI embedded panels examples that ship with LV. They always start the subpaneled VI's first before they embed them. This is the key to smooth operation.
  5. Well, If you haven't already read this, here is an article I wrote for NI's website a while back:

    Changing the Face of Design Patterns with LabVIEW 7 Express Event Structure

    Most of it is a list of design patterns but pay attention to the Event Structure With State Machine. This should be the direction of your program. This is probably a lot of work to transform your program to this design but worth it in the long run.

    You say your code is 1MB. This is actually pretty normal size. The number of cases is not important and you shouldn't worry about this. It is important to abstract certain functionality into sub-vi's. I cannot stress the importance of sub-vi usage. This will make your Main vi lighter and your overall code easier to manage.

    As far as multiple event structures. I've done this before and it works but there really is no benefit. Is this to split up code? Why? There is no reason not to put ALL your events in one event structure. You say the "event structure might get flaky" define flaky. There is no logic behind this assumption. Is there something else specific that you are worried about?

  6. After you take the exam, add your score to the poll. No need to give your name, just the results.

    Take the FREE LabVIEW Fundamentals Exam

    LabVIEW Fundamentals Exam

    The LabVIEW Fundamentals Exam is a FREE, online assessment offered in conjunction with the NI Training and Certification Program and is ideal for those wishing to quantify their level of LabVIEW knowledge. The exam provides students and professionals with an opportunity to demonstrate their proficiency with the fundamental concepts and programming practices that are integral to success as a LabVIEW programmer. It also acts as preparation for the National Instruments Certification Program.

    Details of the Exam

    The LabVIEW Fundamentals Exam consists of 40 multiple-choice questions with a 45-minute time limit. The exam encompasses essential LabVIEW concepts such as:

    • Arrays and Clusters
    • Charts, Graphs, and Loops
    • Data Acquisition and Analog Input
    • General Programming Structures
    • Strings and Error Handling
    • SubVIs and Printing

    Passing the LabVIEW Fundamentals Exam requires an understanding and ability to employ fundamental LabVIEW programming techniques, logically analyze and debug various coding schemes and architectures, and navigate the LabVIEW environment with the skills necessary to develop efficient LabVIEW programs. The skills tested are commensurate with the level of knowledge contained in the LabVIEW Basics I: Introduction Course with an accompanying one to three months of LabVIEW programming experience.

  7. Maybe I should just re-write all of my code in a better architecture because right now I'm getting overwhelmed just looking at it.
    I don't think you need to re-write, just yet. I've managed to shoehorn-in gradual enhancements to software in a similer situation.

    There are many file IO implementations to do what you want but I won't get into that. I've attached some code that implements an architecture for handling configuration data within your program. You have to fill-in the code for reading and writing to the actual config files. For this you can plug-in the openG config VI's if you want but that is not the point. The point in the attached example is that the locals are replaced by a functional global. Wherever you need to read from the config data you place this down and unbundle the required parameter, or all of them. You should only write to these parameters from the configuration window. The nice thing about this is you can place the functional global deep within any subVI's you may use and you can avoid wiring messes.

    Download File:post-2-1138297260.llb

  8. Thank you Michael

    i try the modify suggested by you and its work fine.

    Now i have 600ms for 1000 select and about 400ms for 1000 update.

    Bye,

    Alessandro.

    That is still slow. What SQL statement are you using? Also, have you indexed your table?

    I just did a simple test with: SELECT * FROM `databasename`.`tablename` of 1000 records and it takes: 15ms. :yes:

  9. I've created a CVI based DLL that can be called through LabView that lets you read and write to / from a SQLite database. This DLL simplifies the process of calling the SQLite DLL from LabView by taking care of some housekeeping and reformatting of data that are needed to make LabView happy.
    Whould you be willing to post this DLL here so we could try it out?
×
×
  • Create New...

Important Information

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