Jump to content

alukindo

Members
  • Posts

    113
  • Joined

  • Last visited

Everything posted by alukindo

  1. Hi: See the block diagram code snippet below. The front panel result is pasted on the lower right. . . . . . Doesn't this demonstrate a bug for the attribute: <cell justification> when used with the <active row property>? Other formatting attributes seem to work OK. Anthony
  2. QUOTE(Jeff Plotzke @ Jun 6 2007, 01:33 PM) This is great! ....A sprinkling of this sort of humor (in quotes) at the beggining of every chapter will certainly help hold the readers attention. . Thanks Jeff! Anthony
  3. Hi: Yes, I like the idea of starting with a blog. In that way one can monitor interest in various topics and have lively discussions with the LabVIEW community of users. I hear that writing a book is a tough undertaking but I am not in a hurry and willing to face this task. I saw an article in Jim's blog about LabVIEW being irrelevant because developers are not buying as many books. This makes me wonder if the reason could be because LabVIEW users can infact get by without using a LabVIEW book. ... Well, they say it is so intuitive etc, etc. Anthony
  4. Hi: I am seriously considering writing a book titled: 'Selected Topics in LabVIEW Programming'. My intent is to choose a few topics which have a great impact on the developmental learning curve in LabVIEW programming. I have in the past written four articles in LabVIEW Technical Resource Publication (publication now discontinued) and I have instructed some NI LabVIEW courses. All along I have always wanted to write this book. The intent of this message is to get some idea of chapter titles that the LabVIEW community would 'expect to see' in such a book. Here are my suggestions: - Event Based Programming Architectures in LabVIEW - Parallel Process Architectures in LabVIEW - Relational Database Design Fundamentals and Implementation for Test and Measurements Applications - User Configuration Tools Design Techniques for Test and Measurement Applications - Data Presentation Styles for User Navigation Ease, Filtering, and Drill-down for Test and Measurements Applications - Design Considerations for Communication Modules for Distributed Systems for Maintaining High Up Time Percentage and Reliability (TCPIP Protocol) ... Do these topics sound useful? Any suggestions on other topics Thanks Anthony Lukindo Mezintel Inc. Calgary, Canada
  5. i2dx: I did not quite find a way to add a third party installer using the 'additional installers section' in LabVIEW 8.2 project installer utility. It looks like you can only add installers for NI components from that section. The way that I thought one can do this was by using the 'launch third party application' upon completion of installation; which is available from the advanced tab. ... could you shed some more light on this Thanks Anthony L.
  6. Hi Ton: Yes, the: 'is DST' cluster element does the trick exactly where and when I need it. I had actually never noticed that this cluster element was there. Thanks much! Anthony L.
  7. Hello: I am parsing a date string such as: 01-APR-07 10:20:12.67 and converting this into LabVIEW seconds (since 1904). Problem is that the resulting displayed date is 1 hour ahead of what I want it to be. See code snippet. I realize that this is because of 'Day Light Savings' time-correction. Is there a way to make LabVIEW ignore Day Light Savings time-correction? . . . I know I can do the correction by some logic but I just want to disable the day light saving correction ---period! Anthony L.
  8. Hi: Well it looks like the rule for setting a VI to be reentrant when calling dlls may not be a strict one. My re-collection is that my LabVIEW crash problems were resolved when this was done. There are cases where some ActiveX dlls can not even be instantiated unless you set the LabVIEW wrapper VI to use the User Interface (UI) thread --rather than being reentrant So I think that experimenting with the execution settings is one thing that is worthwhile trying when troubleshooting problems of VIs that call dlls. This may look like approaching things by hit and miss . . . but could lead to some resolution. Anthony L.
  9. Hi: LabVIEW 7.1 and below requires that you set your VI to be 'reentrant' if you are using that VI as a wrapper for calling a dll. I am not sure if LabVIEW 8.* does not require this. Unfortunately in LabVIEW 7 and below, you could not debug your VI if you set it to be re-entrant If you do not set LabVIEW 7.1 C dll warpper VI to be re-entrant, then LabVIEW would always burn and crash when writting to front panel controls or when you flip between the block diagram and the front panel. ... I learnt this the hard way but it is in fact documented somewhere in the knowledge base or in LabVIEW help files. . . . In your case, your wrapper dll call VI does not seem to be reentrant. Anthony L.
  10. Wolfram: Thank you for verifying this. I was working to produce a LV code example as Crelf suggested but the thing is not repeatable on a consistent basis. My LV code in which this happens more frequently is too large to send. I later determined that even the delay that I added did not fix this problem 100%. ... but apparently the property node will. I have used local variables all along. Anthony L.
  11. Hi: Has anybody noticed that when creating a wizard tool using the LabVIEW Tab Control, the wizard may not flip to the next page even when one is sure that the code includes a page change command. I noticed that I am only able to consistently change Tab control pages if I put a delay inside a fram containing the page change command. It seems like the tab page change process runs under the user interface thread and if the CPU is busy it ignores switching to this thread an instead executes other things. . . . See code snippet Anthony L.
  12. Jim Kring: Thanks for pointing me to that article. I had yet to compile an executable and have just realized that the *.vit file could not be readily added to the project. Anthony L.
  13. i2c: I did a similar project recently where parallel processes were launched to control multiple PLC devices. As long as your ActiveX control can in fact be run in paralllel then you can call multiple instances of the same ActiveX wrapper VI, as long as you set that VI to be re-entrant. In this case that VI will be 'cloned' to run in as many instances as you want. If you want the VI to run with a front panel showing, then you will need to make the wrapper VI into a template VI (*.vit) and then launch the template VI as multiple instances. Launching VIs in this way will require you to use the VI Server technique. I am told that LabVIEW 8.X has a VI cloning method that may not require you to use the vi template approach: see this link: http://thinkinging.com/2007/03/29/reentrant-vi-clone-name/ Anthony L.
  14. Hi: I was wondering whether re-entrant VI clones, newly introduced in LabVIEW 8, negate the need to launch parallel VI instances that need to show front panels from a VI template. I have yet to try this new feature and figured that my experimentation would save some frustation by tapping from the experience of other LabVIEW users. Thanks Anthony L.
  15. Question: When you copy and paste a sub panel, or <CTL + Drag>, you do not get an associated node on the block diagram for the copied sub panel. Is this a bug .... or? At first I thought that this behavior precluded one from having more than one sub panel on a VI. However, if you create additional sub panels from the pallete utility you do get a node for each sub panel created in this way. ... any thoughts? A.L.
  16. TiT: I recreated your database in MS SQL Server and I was able to duplicate the memory leak. I got exactly 4 kb of memory leak for each database call from the database VI. I also determined that the fix I suggested previously did not fix the problem. However, when I opened the connection just once and left it open in a shift register, the memory leak problem went away. I am attaching your code modified to leave the connection open until DB operations are done. I tested this on my MS SQL Server and it looks OK now. I hope this helps Anthony Lukindo
  17. TiT: I have experienced the same memory leak issues when using SQL Toolkit VIs with MS SQL Server. I was recently in discussion with I2dx about the same. I2dx says he has yet to see this and has provided good evidence from his application that the memory problem does not apply to his applications. In any case, adding the following properties --right after the Connection Object 'create method' has helped me to prevent memory leaks in my LabVIEW MS SQL database applications. Memory leaks were more prevalent when doing insert statements with many arguments. In one case I had memory dropping by 100 kb in about 5 second intervals! The modification shown here was done inside the : DB Tools Open Connection.vi >>> DB Tools Open Connec (String).vi P/se Note: The 'adReadMode' property will still allow you to write to database. It just means that the 'returned recordset' cannot be refreshed to modify the Database. This, I think, is a feature that you will not need. .... Hope this helps Anthony Lukindo Tit: Just wanted to add that the SQL Toolkit uses MS ADO ( Microsoft ActiveX Data Objects) drivers contained in MDAC (Microsoft Data Access Components) library of components. Latest and last version of ADO is 2.8. You can download this from this link: ADO/MDAC 2.8 ADO is no longer being developed further by Microsoft because it has been superceded by ADO.net. You can check if you have the latest version (2.8) by trying to reference the ADO library as shown in the screen shot below. Anthony Lukindo
  18. Hi i2dx: You have documented compelling evidence that the memory leak is non-existent in your application. I will do the same with your latest tool-kit and verify the case in my situation. Thanks for the useful test details! Anthony
  19. Hi i2dx: Thanks for helping to follow-up on this. Yes, I have ADO 2.8. and I made sure that I reference the connection object from this latest library. The applications I run make SQL calls every 5 seconds or so and the connection remains open all along. I was suspecting that the cursor type used when a connection is opened without any property settings is one with a high overhead. The recordest returned is the one that may carry this overhead. I have also tried closing the connection after each SQL call but the results are the same. ... For less frequent SQL calls and for queries that insert values in few columns (2 to 3) the memory leak problem is not noticeable. If you insert to something like 12 to 24 columns then it is more prevalent. Thanks Anthony Lukindo
  20. Hi: After creating an installer using LabVIEW 8.2, has anybody encountered a message that says that installation cannot proceed because existing components are not compatible with components to be installed. This happens right after accepting and clicking the licence agreement message. The installation immedaitely exits thereafter without installing anything. Problem happens on some computers but not others. Anthony
  21. isdx: I have noticed memory leaks in ADO <Connection Execute> method when used with repeated SQL or Stored Procedure calls on SQL Server. The Connection Object <Create Method> may help resolve this if the property settings shown on the attachment are included. I figured that the connection object <Connection Execute> method also runs faster when this is done. I have seen memory leaks especially with large insert SQL queries. .... Any thoughts on your experience with memory leaks and ways to resolve the same? Anthony Lukindo
  22. Dimes1827: Just before I sent the code I added code to close the recordset. I later determined that the <Recordset Close> Method makes the data disappear from the grid. So I revised the code as shown here. The block diagram also has additional & corrected info on location and contents of ADODC.UDL File Anthony
  23. Hi Dimes1827: I have VB 6.0 and have made an example in LabVIEW to show data in an MS Data Grid from an ADO Data Control. I have attached a screen shot of the block diagram here. I can send you the LabVIEW Code, along with MS Access DB file, and ADODC.UDL file. This example worked OK. Note that I have used a *.UDL file to make a connection between ADO Data Control and MS Access DB. You could also use a DSN or Connection String I hope that this will help answer your question Anthony Lukindo Mezintel Inc.
  24. See attached VI code snippet. Should'nt the result be FALSE? Well it is TRUE in LabVIEW 8.2 . . . Any thoughts?
×
×
  • Create New...

Important Information

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