Jump to content

TG

Members
  • Posts

    225
  • Joined

  • Last visited

Everything posted by TG

  1. Has Anyone succesfully implemented multiple (as in more than 8) serial ports using one or several USB ports? I really want to relieve this 16 port PCI card from my PC so that my platform can be more portable. IF anyone has done any successful work in this area Id be happy to hear about it. Thank You, JR
  2. Based on the responses (Thanks BTW) I take it a simple timeout value on the "Preview queue element" would cover any potential issue since 'Preview queue element" will wait for valid data before timing out with an error. BTW I am using only one ref to this Queue. It is obtained once in the object's Create method and then stored as an attribute. I wasnt sure if this mattered so just playing it safe. I am using a Named object and use the Name to create a unique queue inside the object. Again just playing it safe. The whole idea is to have a memory location that is specific to the process (object) instance and only that instance. This way two or three process's can operate independently and each process can have a method for doing/updating and seperate (reentrant) methods for monitoring. I understand the notifier but admittedly the behavior of notifiers is something I seldom can think of a "use case" for in my programming. Whats a really good use case for a Notifier (over a queue) anyway? Thank You JR
  3. I want to use a named queue with a size of one (1) that is "written to" from one place at a time but is also monitored from 1+ places at a time without concern for timing. Like a simulated memory location referred to by name. To "Write" to this "Memory location" requires a quick "Dequeue" then an "Enqueue element at Opposite End" to update. That means there is a chance that the queue could be empty for a very short time, however would a simple timeout value on the reader side "Preview queue element" be capable to handle this blip in the read only access? I need to avoid having "Preview queue element" returning corrupted data or no data at all.
  4. Give ya my best guess. Looks like you are controlling solenoid and reading the meter using express VI's while creating tasks outside the loop for the digital I/O. This is permitted but probably not efficient if you don't need it in the loop. Also you might bernefit from tying all error IO together or at least combining error I/O. This way the first error would be available for help with troubleshooting. Id try to clean it up first (Get express out of the loop if you can to minimize potential overhead.) Create the tasks for analog in and analog out the same way you did for the digital I/O. You might also (if permitted) relax the loop timing to 50ms or better but that is just a guess. Good luck JR
  5. Are Queues naturally safe for a Read only op? (as in using the "Preview Queue Element" op) Is it generally safe to Read from a Queue anytime, even if it is in the process of being written to? Does LabVIEW handle it naturally or do I have to? Thank You, JR
  6. QUOTE(Jim Kring @ Jun 26 2007, 07:33 PM) Sorry They are zip files on my machine. If they were OGP files somehow my OP system (or IE) inperpret them as zip files. Stranger things have happened. Hehe WinXP. Anyway that was the reason why nothing was making any sense I'll try to see if its on my end. Thank You JR [EDIT] Apparently WinXP takes the liberty of interpreting the file type not the extension. Id be suprised if my rig was the only one doing this. I have installed the templates now. Q is how do I get Endevo tool to 'see' them What directory are they in? Thank You JR I found it C:\Program Files\National Instruments\LabVIEW 8.2\resource\OpenG\openg_object\class_templatess
  7. QUOTE(Tomi Maila @ Jun 11 2007, 06:15 PM) Thanks for all the hard work on the OpenG Class templates. I am really looking forward to seeing the templates in action on my rig. and also to learn. I want to see the active object template the most (it fits into what I am looking to do) I am having some difficulty installing correctl them however. I installed the class folders files into the ...Resource\framework\providers\Endevo\ClassProviders\Provider_EndevoGOOP300\Templates.. folder and manage to get the Endevo tool to register them but when I try to create a class in the project I get a lot of file searching then some errors and sometimes crashes. Here are the names of the files I DLed from OPENG oglib_openg_object-1.0beta4-1.zip ogrsc_val_obj_tmpl-1.0beta2-1.zip ogrsc_ref_obj_tmpl-1.0beta1-1.zip ogrsc_pure_abstract_ref_class_tmpl-1.0beta1-1.zip ogrsc_active_obj_tmpl-1.0beta1-1.zip Q is where should I put these class folders so that Endevo tool sees them and loads then proper?
  8. QUOTE(Jeffrey Habets @ Jun 22 2007, 06:33 PM) Thanks guys for the comments. I think I figured it out. Sorry I am not always clear about what I am looking for because Im not sure myself sometimes I am using the singleton nature of a Named object and also the "Create or look up existing" feature. What I couldn't figure out (until today) is how to keep from initializing my object attributes from its external ini file in the create method. I guess the only obvious solution is to have a boolean attribute such as "Active" that I could set to TRUE once the object is created and properly initialized. Then, when creating it again elsewhere check on the "Active" boolean to determine what to do next. If "Active is True, pass the ref through and do nothing else. If "Active" is False, Load the attributes from disk file and do whatever other setup it needs. The destructor will set the "Active" back to False before storing the object state back to the disk file. I think this will work.
  9. Sorry , posted to 8.xx discussion forum by mistake. Reposting an edited version here. Let me try to re-phrase this Q since its possible I am looking at this the wrong way. GOOP 3.0.5 1) Create object (x) 2) Use object (x) in VI(a) : ( VI(a) runs independently using object(x) methods to do some task ) 3) Start VI(b) : (ALso an independent process) 4) Inside VI(b) obtain a valid reference to object (x) How to get this ref in VI(b) without a direct wire connection? Thank you JR
  10. A (simple?) GOOP Q for anyone who knows this I wish to create AN object with Endevo GOOP3 toolkit and then later on create it again without having to check if it already exists so that I can get at the reference in another part of the program. The Goop3 create method seems to indicate that this is possible since it has 3 choices. 1) Create 2) Create or look up existing 3) Look up existing I wish to use 2) Problem is I cannot figure out a way to tell that the ref already exists. I can see it when I use the objects in memory tool but that is as far as I can get with it for now. IS there a way to tell that the reference already exists in GOOP and can it be tested in the create Method that Goop3 makes? I hope that was clear enough.. Thanks in advance for any replies. J
  11. Thanks Jan Q: Can this tool be activated on a non networked machine? I have two rigs that are forbidden to be connected and have 8.2.1 instaslled on them. I wanted to ask here bafore I go ahead and try it anyway. Regards John Thanks Jan Q: Can this tool be activated on a non networked machine? I have two rigs that are forbidden to be connected and have 8.2.1 instaslled on them. I wanted to ask here bafore I go ahead and try it anyway. Regards John
  12. I have a Q for crlf Is that really your picture
  13. QUOTE(tpereira @ Feb 9 2007, 07:33 AM) I actually thought this was taken away to include the scroll bar feature I too have not seen the new handles. I was just living with it. Gees ; hEHe Ill be looking for these handles now . Thanks for bringing it up.
  14. I want to make my own ressource with tutorials http://www.labviewtutorial.eu/ I wish I knew German cause I think you would do a nice job of it Eugen. John
  15. TG

    "LabVIEW"

    QUOTE(crelf @ Nov 6 2006, 01:12 PM) Green tea (yuk!) I prefer the Orange Peko/Black blend myself. I never realized my "Lab-View" mistake until LAVA came around.
  16. QUOTE(Michael_Aivaliotis @ May 29 2007, 03:55 PM) I might have more than one Q for NI. But I can think of this one right now. Why is it so difficult to get really good (in depth) learning material about LabVIEW and why after all these years and versions (not to mention the cost of LV ownership) are there as of this day only several published books even worth reading about LabVIEW? Im not talking about NI help or on line resources which are fine for when you are programming, Im talking about the "real" stuff; The stuff that you can actually learn from. Old timers call it Book learning. I've learned more from one decent about LV in 6 mo than in over 10 years of looking at all of NI's help files, web content, Discussion forums etc etc and that includes many courses given by NI which are (IMO) little more than exercise books. NI s help is sufficient but lacks depth. There is no depth to any of NI's teaching, on line aids and such. why is this so and what could NI ultimately do about it?
  17. QUOTE(Eugen Graf @ May 18 2007, 03:42 PM) Hi Eugen I am eavesdropping on your thread. It looks OK to me except the data read must be stored somewhere no? (In the diagram the data goes nowhere but I suspect you know this already and just make an example for discussion?) John QUOTE(Eugen Graf @ May 19 2007, 09:53 PM) My read-task should be universal, undependent from interface. And as I know DAQmx is created for analogue data aquisition and it doesn't support interfaces like serial, CAN or TCP/IP with NI-unknown protocolls. Eugen Hi Eugen I am intermediate LV programmer who is reading your threads with interest. Making a universal read task function I (think) that to get a universal read function would require some form inheritance OO (GOOP) where the parent would be an abstract class (HWdev) and the children would do the actual implementation, (HWDev.Serial) (HWDev.GPIB) (HWdev.DAQ) etc.. But the child implementations would still have to be written and tested etc. Assuming all of this was done it should be (in principal) easy to implement the read-task by pumping in the desired child object into the abstract parent function (lets call it "HWdev_readTask") You probably already know this. Perhaps this is too off topic to your immediate concern. On the events thing I like the "possible" solution Michael uploaded. Thanks Michael for putting that (very nice) example up. :worship: I do not know if this is tightly related to your issue but I work with serial devices too and wanted to add to discussion. The thing about reading from an RS232 device is I do not know a way to have the device tell me (my LV APP ) that new data is available as an event. Thus all I know how to do is poll the receive buffer for characters and extract them when they are available. But it is still polling and thus every so many milliseconds I have to use that resource to check. I've never been able to figure out by myself how to have the serial device generate an event to LV when fresh data is available. so I always have to poll the device serially to detect any change in the data. If the serial device is configured to send data contiuously into your receive buffer you still have to check the buffer to see if new data is available. In your final example you are invoking the read from your UI no? I remember you asking before about getting events also from serial device as well as UI and how to do this. I also wish I knew. To anyone with a clue I offer my :worship: again..
  18. I don't mean to barge in but Personally I have never understood why the legacy serial support has to be removed in later versions of LabVIEW. Its one thing to hide it but remove it is quite another. Why can't the customer decide what he needs to get his Application working? Serial communications (as bad a bus as it is) is not going away any time soon in my world where instruments in Laboratories still use it.
  19. I found it is not so easy to supply a VI regarding this issue because the one I wanted to upload had many dependencies and the one I was going to use worked fine It Turns out Controls on a FP that are linked to Enumerated type definitions will not document properly in HTML printout feature. They must be disconnected first (I have no idea why) :headbang: Im angry at my (less than stellar) troubleshooting skills because it took me at least two hours to isolate this. I think there are other issues remaining but if disconnecting makes it work I'll use it and move on. (just don't actually save the VI LOL) Nevertheless, thanks for the tip JFM and I do appreciate the attempt to help tcplomp
  20. Thanks JFM YEp Did everything I could think of and tried to see it it helped. Thing is the controls exist just fine but the descriptions seem to be blanked out for most of them. I tried entering the documentation info in the control instance on the VI's front panel and saving the VI. I Also Tried changing it to a control and then later a type def and then a strict type def just sto see if it would work. I just know its something silly so I'll go ahead and post a VI here. Perhaps it will expose something not obvious. brb thanks I got it working fine on a VI outside my project using your selections so there is some help to your answer. At least a lead.. thx still woring on it...
  21. QUOTE(tcplomp @ May 7 2007, 01:40 PM) Sorry didnt' understand. A Simple file save to HTML file in the print dialog of the VI. The thing I am finding is that some of "my" controls get descriptions and most do not, for reasons unknown to me. Regards
  22. QUOTE(tcplomp @ May 7 2007, 01:00 PM) Appreciate tcplomp Good thinking. Actually I am not connected to a printer. I have not tried making the files on the one rig I have with a printer driver. I was using the HTML feature so I wasn't thinking it was needed. Could it be that not having a printer would disable certain parts of the HTML file feature? Regards
  23. QUOTE(crelf @ May 6 2007, 04:42 PM) To this list I would also add * You've had a good "read" of comments on stability and features (or from a lack of bad comments) on independent forums. * You have carefully considered the benefits (or the implications of not keeping up), and compared this to the potential risk of upgrading and are comfortable with taking the plunge. At the end of the day, upgrading LV is tedious (would take at least several hours to upgrade 5 legal rigs here) but also prone to some form of risk. The "unknown" is a fearful thing. I am aware this is not a courageous approach, however past experience with upgrades from "All" software vendors usually translates into going slow and carefully.
  24. TG

    XnodeGetDataRef

    QUOTE(psdv @ May 5 2007, 10:35 PM) Can't say since Im not familiar with Xnodes. I'll try it at my work rig and see if it works there. My home rig has a skeletal version of XP's background services running.
×
×
  • Create New...

Important Information

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