Jump to content

jccorreu

Members
  • Posts

    27
  • Joined

  • Last visited

    Never

jccorreu's Achievements

Newbie

Newbie (1/14)

0

Reputation

  1. For those 2 book recommendations... What about now, 2 years later? Is there much about the new versions of labview that would change or are not covered, or are the books still valid? I am in the position of having to pay for my training and certs on my own. I know I can pass both the CLAD and CLD right now. But I'm worried about missing something important from the intermediate course. My goal is to get certified yes, AND i also want to imporve my labview, and fill in gaps in my knowledge... And go on toward my CLA. I've got books: Learning with labview7 express Software Engineering approach to labview Labview based advanced instrumentation systems Also what about books: Labview style guide Labview Advanced programming techniques
  2. Been some time since I looked at this thread. Some amusing and interesting things since then. I've got 2 things for now. 1) the mind I saw talk about free will, dreams, quantum equations, etc... I've always had an interest in who we are, how we work, what the universe is and how it works, etc.. The other day I was reading some labview book and it was talking about neuroscience using labview for brain wave measurements, (i'd like to do this to myself and see how forced meditation or thinking or emotions could purposefully alter my signals) And it reminded me of a couple a things. There seems to be a question of where thoughts and conscioussness comes from, does the brain make it, or does it somehow make the brain work? We know that if I move a finger, that there is a nerve signal that had to previously travel from the brain. That signal was preceeded by brain activity, i.e the thought "i will move my finger". But some research (i am sorry i dont have a source for you), and just thinking about it, makes me wonder if the thought initiated that brain activity, or if that brain activity initiated the thought. I don;t even know if we can answer that question. (Of course there is another possibilty: that they happen simultaneously, and there is not a cuase and effect relationship between the two occurances) But then... I thought that either situation is pretty amazing. Its like the qoute " some days I think we're alone in the universe, other days I think we are not, either way its an intriguing possibilty" i mean, if "consciouss thought" comes first, and brain activity is a result of that thought, then what triggered that, where did it come from, something "beyond the physical"? On the other hand, if the brain activity occurs then we experience our "conscoiuss thought" that means "we" did not really initiate it did we, but "we" are just the result of something else, a running program, we are AI? Yes this is a heated debate amongst some people, and a question for a very long time. But what I am getting at here is... why really care which it is, becuase both are stunning realizations. ok now for #2) ALfa... who/what broke your heart so much?
  3. I'm looking for recommendations for a few good books about programming control systems with Labview 7.1.1. I do not know when I'll make a transition to 8.5+. The following is my attempt to give a little idea of where I am at and where I am going, in the hopes it may give anyone reading this the background necessary to offer some reasonable recommendations. I'm still fairly green with control systems and labview. I've been programming for many years in many text based languages, but never control systems. I've had an instrumentation lab as part of my undergrad physics degree that was a very basic intro to electrical components and circuits, and labview on XP. Since then I've been working for 9 months on a project, essentially teaching myself control systems, data aquisition and LabView. So this means my knowledge is a hodge-podge. I've come a long way, and I realize there are things I do not understand properly. As I make changes, additions, etc., I keep coming across bugs and efficiency problems with my code. My fear is that it has become a patch-work, instead of a well-designed work, and that I need a deeper and more extensive overview of the Labview language and the ideas behind controls system programming. I communcaite using DAQMX7.5, and VISA, over analog and digital NI boards, and also rs232 and rs485 devices. As far as Labview architecture I use combinations of all the standard models that are discussed in help files and forums, and I use queues, notifiers, references, and property nodes extensively. The projects are for experiments and all tend to require 1) reading from a combination of devices, usually from 20-80, over a combination of above methods, with a user-defined interval as low as 500ms 2) writing to a combination of devices, usually more than I read from, as pre-defined processes, also with user-defined intervals as low as 100ms 3) manually writing to devices as on-the-fly variations of pre-defined processes (i.e. user event interupts and changes occuring write process) 4) a fair bit of user activity on a front panel 5) so the code I've written has been an attempt at a solid core with modular components that can be switched out for each client 6) have to be reliable and safe Also, how valuable are the courses that NI offers? There are many bits of Labview I know nothing about, some perhaps basic and certainly much that is advanced, and some bits I know a fair deal of, but could perhaps benefit from getting a true developers level of knowledge concerning. And then there is the electrical and control systems knowledge in general (seperate from programming language knowledge) that I am at a definite disadvantage with. As always I appreciate your feedbacks James
  4. Yeah, i have the pro version, and as far as I know it is only available for this version. What I've done is gone ahead and setup Subversion with TortoiseSVN, and am using the checkout method so that I can be certain my 2 versions of my project are completely independant of each other. Everytime I do anything now I completely close LAbview, so that there should be nothing in memory, then I open the particular branch I am looking at, or I go to the compare heirarchies utility. In the process I did find a limitation of the utility. I can use the show vi heirarchy option, but it will only show me the heirarchy of the primary set. It'd be nice if when I choose show vi heirarchy from the secondary set that its heirarchy would be shown. Do you know if it works that way in 8.5? Or should it be mentioned to NI? As well as a utility that shows a list of the full path of all vi's in the heirarchy, or an option to show the full path in the title bar. Also, when I make changes to the primary set while in the compare utility, why does it then popup a warning that the secondary set is loading subvis and type defs from the directory in which the primary set resides? This in itself is no problem since I'm not saving the secondary set anyway. I'm just curious about the underlying ways in which the tools I use work.
  5. I'm using 7.1.1. Having just gotten back from 2 client sites, where I made individual changes to code for some issues, I now need to bring them together into one. I have them saved in 2 parallel directories. The trouble is that when I use the compare vi's utility on the 2 versions, only one set of the subvi's will be loaded. This is a problem because for each different version, some of these subvi's, even though they have the same names, their code is also different. (either becuase it too was changed on site, or its a dynamically loaded module that is client specific) I've seen discussion of people using TortoiseSVN or some other code control system. I also know that 8.x has some built in code control. And I've heard of people using namespaces. But I do not see how any of this will help me in 7.1.1 when trying to compare vi's with the same heirarchy, same names. This has to have been a topic of discussion before, but I've not been successful in finding it. A link to that would be great. If not then what do people do? Is there a way to create namespacing in 7.1.1? thanks James
  6. This is 7.1.1. I've created an array of clusters of doubles, each double having exactly the same properties. For each cluster in the array, I do some simple math, and create an intermediate 1D array of doubles containing the same number of elements as the total number of doubles present in the original array of clusters. I then repeatedly search the array to remove duplicates using the remove duplicates vi from OpenG (here I simply placed the code in line for ease of readability). Then I sort that output array. In one case I've found that a duplicate is not being removed. Specifically the value 0.3. But it is slightly more complex than that becuase some of them are being removed. Out of 4 instances of that value, I am left with 2 instances. What seems truly strange is when I run on higlight execution, it becomes evident that the ones being removed have a specific pattern or relation to which is found when the search array primitive is called.... In the intermediate array it appears that elements 3 and 5 are related, and elements 6 and 8 are related, as far as the search array primitive is concerned. I.e. during the iteration during which we search for the 5th element, the search primitive finds its element as related to where the 3rd element was placed. Yet the iteration for the 6th element finds nothing, and the 8th element is given the search primtive element relating to the 6th element. I noticed that those pairs are related to that simple math I did to create the intermediate array. Elements 3 and 5 were arrived at through addition. Elements 6 and 8 were simply moved straight through. So I decided to change the values in my original array that led to values of 0.3 in the intermediate array, and everything worked as it should. So it seems to be, at first glance, something to do with that particular value, and the different ways that value is arrived at, that the search primitive does not see as being the same. Anyone see something I am missing? Any one see anything like this before? Anyone have an alternative solution? etc... thanks James Download File:post-8730-1199418756.vi Oops I forgot to include the data that I'm using. Array 1 .1 .2 .3 .1 .1 .1 .2 .3 .2 .1 .1 .2 Array 2 .1 .2 .5 .1 .3 .1 .2 .5 .2 .3 .1 .2 In addition I've found that adding 0 does not produce this result. Array 3 .3 .3 .3 0 0 0 .1 .1 .1 .2 .2 .2
  7. QUOTE(TG @ Sep 14 2007, 10:58 AM) So on that note... I too am currently in that boat of either using the GOOP1 or the OpenGoop, as I am sure are many others out there... (and I do see lots of advantages in using OOP on the project I am currently working and future projects) I've begun playing with them and am admittedly having a diffiicult time getting anything useable to work. ANd I've not had much success in finding explanations or documentation on their use and implementation. The begining of this thread looks like a really good start to what could help alot of people make the transition. Could we please continue along our originators course? And for those of you who are in the know, where are some good resourses that currently exist? james
  8. Spent a month in Prague last summer. In a great portion of the city there are so few lights at intersections they are noted on the maps. ANd many of intersections without lights also had no other form of traffic control. To top it off not only did you have pedestrian, private vehicle, motorcycle and bus, you also has to contend with electric trolleys (which most certainly took the right of way) But I must say that there was some of a pause on most peoples parts, not a truly continual motion. I live in Colorado, US. Lots of people here ski of course, and their driving does reflect that, only look ahead, and the person in the back is the one who's supposed to go around the one in the front. Too bad that works in any lane so often people just clog the road and no one can get around. Where I learned to drive you look all around you, faster people and passing in the left lane, slower people on the right. If on a one lane road and someone comes up behind you, you put a signal on and move to the shoulder and slow down so they can safely go around. And I do love traffic circles :>)
  9. QUOTE(NormKirchner @ Aug 27 2007, 09:30 PM) thank you all for your respones. yes I am using 7.1.1, and I did mean class. I know that 8.2 has built in support for classes, but in earlier versions there is still a way of manually making classes that can be passed by reference. I downloaded some tools from the openg site that make it easier. Though I could also just make a type def, since I don't need in this case all the functionality a class can offer. Yet another reason to go to 8.2+. Seems that my bosses are planning on upgrading in the forseeable future, but until then... When I get there, I 'll definitely be re-reading this and the links. James
  10. i'm using 7.1.1 I now we can create customized controls. But can we add our own properties to their property nodes? Nothing I've found suggests this is possible, so I thought I'd put it out there. Does anyone know where the properties of a control are stored, any behind the scenes way to access and manipulate them? Otherwise I suppose I can just make a class. thanks James
  11. QUOTE(Neville D @ Aug 20 2007, 12:02 PM) Hmm, thanks something new to learn about.... I did come up with yet another alternative. This one using a notifier timeout instead of case, wait, or while. http://forums.lavag.org/index.php?act=attach&type=post&id=6691''>http://forums.lavag.org/index.php?act=attach&type=post&id=6691'>http://forums.lavag.org/index.php?act=attach&type=post&id=6691
  12. well the case and wait is not going to cut it either. when they are running by themselves with no real program they're ok, but when I attempt to use them in a full scale project with multiple vi's running multiple loops, well it falls short. sometimes there is up to a 30ms pause between the time the wait period is calculated and the time that the wait function is called. i've attempted to get around it as you can see in this .vi but its just not working. i suspect its because of the way the system handles doing multiple processes, cycling amongst them all, and sometimes it hands of the processor to another routine right in the wrong portion of my code. Does anyone know of a way to force labview to go through a section of code without letting any other process interupt? I was hoping putting that little bit in a sequence might, but now I think of it, theres no reason they should have given it that special status. james http://forums.lavag.org/index.php?act=attach&type=post&id=6686
  13. ok so the idea of using a while loop to contorl the timing was a bad idea. it takes way too much of the resources doing those continuous loops, and putting a ms wait in there defeats the purpose. here is another go at it using a case for a specified wait. it seems to work better. http://forums.lavag.org/index.php?act=attach&type=post&id=6650
  14. I never got an answer as to whether or not 8.x has the platfrom-independant timed loop, or if its still a windows-only component. OK so here is my attempt to create from scratch a basic timed loop along the lines of 7.1.1 that is platform independant. As I find more need for functionality I'll add it then. Anyone is welcome to make more of this. Any comments, critiques, suggestions, etc are welcome. IF it becomes useful lets add it to OpenG library. This might belong in a different forum category for here on. james http://forums.lavag.org/index.php?act=attach&type=post&id=6649
  15. QUOTE(george seifert @ Aug 9 2007, 11:02 AM) I never looked at the timed loop before because it is platform-dependant in 7.x. I won't use platform-dependant functions when I code, unless I have version for each of the platforms I'm developing on/for and then I just call which one is necessary. But I digress. I know next to nothing about the timed loop because of this. Bad form since I've got one as the fundamental loop in the master control program, that I've inheritted from someone who never told me why he wanted to use it. So if you'd point me to some good eduactional source on this it'd be great. And not just some long winded discussion, but something used to teach us newbies. :>) Again the point I really want to emphasize is that I want to replace it. Because I am using 7.1.1, NOT 8.x, It does not work on MAC and Linux, which makes for a very difficult time for me :>) I've already started playing with ways to emulate some of the functionality from scratch which I'll post over the weekend (i think). But if I can avoid doing what someone else has already done, I'd rather. Its a lost opportunity to learn a little more, but then again seeing what more advanced coders do is always teaching me anyway. And they often make much more elegenat clean efficient extensible code. james
×
×
  • Create New...

Important Information

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