Jump to content

Ryan Podsim

Members
  • Posts

    94
  • Joined

  • Last visited

  • Days Won

    4

Everything posted by Ryan Podsim

  1. I recently had to reformat my PC and am trying to reinstall all the libraries I had previously when I came across this problem. I am trying to install the OpenG Error Libray and am getting a message that says "This package is not compatible with you OS or any LabVIEW version installed." I an running Win 7 64bit with LabVIEW 2012 32bit. I had this library installed pre-reformat, so getting this error doesn't make sense! The differences from my previous setup are: I had LabVIEW 2010 and 2011 installed and am using VIPM 2012.0.1 vs VIPM 2012(the one that came with LabVIEW 2012). Additionally once I get this error have to restart VIPM inorder to do anything else. Packages Effected: OpenG Error OpenG Numeric Maybe more that's just where I stopped.
  2. I've been looking through your library and I've come across some questions: I am curious why you used the In Place Element Structure for accessing the sqlite3.dll? In the Execute Prepared SQL (string results).vi you didn't wire the EI/EO terminals on the Get Column Count.vi. I assume that was an oversight? I noticed in the Pointer-to-C-String to String.vi you added 1 to the Length before the MoveBlock call, but elsewhere you used the MoveBlock directly the converted to a string. Additionally in the Pointer-to-C-String to String.vi you preallocate the U8 array, but not elsewhere. This is an inconstancy that's not explained. Could you elaborate on this? Thanks, I like the Class structure you used and have learned alot! Ryan
  3. My problem is, I got to choose between NI Week and the CLA Summit. I choose the summit and hope I can still convince the boss to let come to NI Week also!!! This will be my first summit, so I looking forward to it!!!
  4. I do nearly all of FPGA work with the sbRIO line, so here are some of things I do when I have an FPGA VI that needs to run independent of the RT: Download the Bitfile and set it to Run when loaded -- There is an option to reset the FPGA VI on a reset of the RT, this is up to you are if you wish that. I do this mostly cause my projects require the FPGA to be active as soon as power is applied. If it was loaded with the RT, there is usually some delay, 20-30 for sbRIOs. I don't usually download the bitfile until I start testing outside of the IDE (you can run the FPGA VI independently in IDE easily) and for the final deployment. In the Open FPGA Reference I usually use the link to Bitfile option and do not select the Run option. -- This is a personal preference mostly. If you link it to the Build file or the VI, Your RT Vi will break if you change the FPGA VI. The reason I don't select the Run option is: I don't want the RT to reset my FPGA and I consider it an error, if the FPGA is not already running. To my knowledge the RT Build(the rtexe) always includes the FPGA Bitfile; but if you do not select the Run option, then the RT will simply connect to the FPGA. I don't use the Close Reference since the only time I "STOP" either the RT or FPGA is when power if removed. I open the Reference once and pass it to any subVI that needs it. I leave all my FPGA VIs as Re-entrant. The only time I would even consider using a non re-entrant VI in FPGA is if space is a premium (I have yet to even come close). I would like to note; that when deploying FPGA to multiple targets outside of the IDE, to my knowledge (LabVIEW 2012 and prior), the FPGA Target System Replication tool is needed as the System Configuration API does not, yet, support FPGA deployment.
  5. I would recommend a LVOOP solution. You could build a menu item class that include a list of Menu Items. The Class would contain a Menu string Functions and a Menu Action Function. The parent class would contain a build menu function that builds a string array from the Menu String Child classes.The Menu string would return a String with the name of the menu item and the Menu Function would perform, what ever, action would be required by that item, whether if be a new menu or an action. This would require generating the tree structure either prior to the menu becoming active or dynamically as the items are selected. How you generate the menu is a personal preference, and the above methods are valid for that.The exact implementation would depend on the program architecture as the menu could be independent or integral. Note: I believe (haven't tested) but the the above method could be used with the built-in Right-Click-Menu functionality. You would need to carry the Tree structure through to handle each case, but with pre-pended strings your could easily traverse the tree to access the item selected. -Root --Chlid 1 ---GC11 ----GGC1 ---GC12 -Child 2 ---GC21 --Chlid.. ---GC... This would allow for the top level menu to be independent of the grand-children, but would require that each child know of it's grand-child and so on. Each child would a child of Menu, and the parent contain an array of Children. The Menu String would return a cluster of (string, array of strings)
  6. Not that I know much of licensing... But I would think that if the Copyright holder(Author, company or group) decides that change the licensing(give it away, charge for itor whatever) that is within their rights. My understanding is that any change constitutes a new version and can therefore be licensed in any fashion the author/s (provided they had the rights to begin with). If I releases a product for free and later decided to charge for it, I understand that it is within my rights to do so; otherwise what is the point of creating anything. I could see an argument that what I release under one license cannot be changed, but any new version is not (whether is be a minor or major change). i.e. I release V1 of something under whatever license I choose, then release v2 of the same ( changed or not) under a difference license, that is my choice. I could see an argument made of which version is relevant, but that is a difference issue. I could even see an argument that an existing item released would fall under the least restrictive license, baring some distinction between the two. In other words, I don't see how posting something on the LavaG CR or LavaG forum can prevent someone from creating a license agreement in NI? Some discussion would still be required between the interested parties. Example: If I created a VI that did A+B=C (I know it basic math, but bare with me) and I release it under say GPL(I picked something at random), But later changed it to be A+B+D=C, and wanted to charge for it, why could I not do so? The same applies to the reverse?
  7. I don't remember the Desktop RTE having a restriction. I do remember the Real-Time RTE having a restriction unless it ran on NI hardware, something to do with the RT OS mostly I believe.
  8. I would imagine, you could use the serial number or MAC address. Note to consider: What would happen when the NI 9191 fails and your client needs to replace one? Also, if your that worried about you client attempting to replicate the system, why are you doing business with them or charge appropriately?
  9. Not sure how you are calling the Front Panel VI; but I would guess, since you referring to sub panels, that you ware using either the Asynchronous Call by Reference node or using VI:Run method. In either case, I don't think the dynamic dispatch works. This could be why you always getting the Parent VI.
  10. So THAT'S what Listeners are for. Thanks ned! I was definitely over complicating the problem. Now to go redesign upgrade my RT Connection manager! ( shhh... don't tell the boss)
  11. i apologize if this topic has been brought up before; which means I fail at searching! I am trying to figure out how to create a vi that can accept TCP connection from multiple sources on the same IP Port, and from the same IP address. I am trying to create a logging program that will accept TCP connections from multiple sources (same or different PCs), each with difference parameters and as a result different log files. The post connection that is easy, but I am having a problem with the accepting multiple connections to the same TCP port. I was reading that the TCP protocol allows for connections from different IPs to the same port, but I need to handle connection from the same IP also. EX: I have 2 test programs on the same PC, each needs to log it's actions/errors/whatever. How to I establish the connection?
  12. I fully support using full URLs in posts. I, as a matter of course, do not click on shorted URLs, since I don't know where it is going to take me. On a side note: If you use Firefox, there is an add-on(Long URL Please) that converts the shorten URLs to their destination URLs. I have found it works fairly well.
  13. Where did you find the link. I can't find any reference on the NIWeek page.
  14. Waiting for Winter!!! Heat waves suck.

  15. Ticket purchased, see y'all there!
  16. The answer is still no. A wire cannot pass data between loops. The example you gave is passing a reference to each loop and using the reference to pass data between the loops, much like a notifier would. You're overthinking the question. Connecting directly to the indicator is the best way to get data to an indicator. You're thinking about the reason why you don't need to update an indicator every loop interation. Which could be a possible question. I'm sure each of us could come up with several disadvantages of the SM VI, but for the intended audiance of this quiz, I feel the selection is appropriate. Can you please explain your response? I will admit this question is a bit ambigous. What type of array are we creating? The initialize array would be the most efficient if we want all values the same or don't care about the element values(i.e. initializing a buffer). You changed the scope of the question. The question is refering the VI->SubVI interaction, not syncronizing actions across parrallel loops. crelf and Roderic are correct the scope of the this exam is directed to entry level programmers, and intended to assess ones compotency in creating VI the perform relatively small scaled actions. The CLD and CLA levels would be better audiences to the sort of questions I think you leaning towards. Also note, the online quiz is just a sampeling of the possible questions that could be asked. I think I remember reading somewhere that the CLAD exam won't include any new feature released in the last two years. But don't qoute me on that. NI has significatly changed and added many courses over the last few years to cover several of the topics you metioned. Though some of the those topics are advanced or fairly new, and might be some time before courses are created, if ever. I can't comment on any of the new classes as I haven't taken them. Check out NI Training.
  17. When I made the change to using two monitors, I felt same as when I went from a CRT to an LCD , I don't know how I managed before. Having the extra space is wonderful, I can have the FP on one screen and the BD on another or have reference material (Spec, Deisgn, Lava) on the other. It's not uncommon for me to have 15+ windows open at a time. (Browser, LV, Different Directories, Specs, etc) Still trying to justisfy a 3rd monitor. I do agree with ShaunR and Dannyt, that a BD should fit on one monitor. Though for some VIs (property node heavy) do run horizontaly onto the second monitor. As a rule I try to stay smaller then 1024x768 since that is the resolution we do code reviews on. The same FPs, I tend to design for 1024x768 since most computers support atleast that now adays. COsiecki does make a point about how VIs open in the location it was saved, the same with BD. This have been an issue during code reviews, as we use a projector. We created a simple utility to center VIs on the primary monitor just incase one ends up off screen.
  18. I'm not familiar with those modules, but I would suggest looking at the DAQmx Timing VI(Change Detection). Using the switches as your source, you should be able to acquire the motor position when the switches transition. I have done what with USB-63xx series.
  19. Let me correct my earlier statement, and spelling failure. I'm glad I can join this distinguishedgroup. It's amazing how, just a few letters, can completely change the meaning of statement. Thank you all!
  20. I am glad to announce that I have passed my CLA as of 3/1/2012. I am happy to join this selected group of experts and hope to live up to your critisisms and expectations! To bad I can't join you for the 2012 summit, but I hope to be there for 2013 and at NI Week! The CLA is one of toughest exams I've taken so far, next to the FE, but it I'm glad I can join this extinguished group. I do have to thank my coworkers and management for allowing me this oportunity, and for pushing me to improve myself. Without them and my recent projects, I doubt I could have learned enough to make it this far. Now, all I have to do is to live up to the excpetations placed upon me! I only hope I don't dissapoint you.
  21. Couldn't you also use the Get LV Object Class Path?
×
×
  • Create New...

Important Information

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