Jump to content

Rolf Kalbermatter

Members
  • Posts

    3,892
  • Joined

  • Last visited

  • Days Won

    267

Everything posted by Rolf Kalbermatter

  1. If you already have an analogue output you could simply do the entire function generator in LabVIEW software and output the desired signal through that output.
  2. Because with the USB interface in your computer you are possibly not even halfway done. You need the driver too. Maybe the device installs itself as USB-COMM device which modern computers will install as virtual RS-232. But I'm really not sure USB was that major and far along when Windows 98 was released so even if the device is a USB-COMM class device the Windows 98 computer may not recognize and install it as Windows serial port device. If it is not an USB-COMM class device then you would need the according system drivers for Windows 98 (.vxd which are different than the drivers needed for NT based Windows systems such as 2000, XP and newer) and then also create a Modula2 module to access that driver. But manufacturing a device that is produced in 200 pieces a year at 40 $ each does not sound like a good business to me either.
  3. Are you asking us to develop this all for you???? We are not a free consulting service here. I'm sure what you want can be done in LabVIEW though not everything in a very easy way. Expect to spend a few months of programming to get everything as you show in your screen shots. And if you have no LabVIEW experience triple that amount of time. Or you can hire a LabVIEW alliance member in your area to do the work for you.
  4. I've done this in the past with customer specific fonts (containing their company logo etc) by simply adding the font in the distribution and setting its target to <windows directory>/Fonts. I guess there might be an issue about localization sometimes but it worked so far for the systems that was used on.
  5. Yes you can't delete sub parts from a control nor adding any. The actual internal structure of a control is very static and specific to each control class.
  6. Have you done some benchmarks first to make sure 1500 variables is going to fly? I have no idea about the latest LabVIEW DSC versions, but from what I know they are based mostly on the shared variable engine technology and I have in fact some doubts that technology scales well. So before going through all that hassle I would make sure I can operate with a reasonable amount of variables first. As to automating the binding to front panel controls you might be able to get at that information through the scripting API. In that case you could fairly easily create a little tool yourself that does whatever automation you feel is right.
  7. Refere to this and this communication on the NI boards to get more information about that. There is currently no standard support for DICOM in LabVIEW. I would suggest next time to first use the powers of Internet such as Google before posting here such a request. That is how I came up with these links and in fact many more that might be maybe interesting.
  8. Quite some time ago I played with HelpMaker from Vizacc software. The interesting things about this package were the ability to use the LabVIEW generated RTF as starting input, the possibility to create both help files and documentation from the same sources and it's being free. Haven't followed up on that completely since there had been other projects that were more pressing or tempting since. Seems Vizacc got into some serious disagreements with the original developers and they are redesigning the software currently from ground up in C++, while the original software was written in Delphi. And they seem to not want to give it away for free anymore once the new C++ version is released (when?). So using that software may be now a bit of a timebomb it seems.
  9. I always wished there would be a Search 1D Array that uses bisection algorithme when you know that the incoming array is actually sorted. Not sure if an optional input would be good, since someone might enable that on unsorted arrays and get of course strange results I wrote long ago my own for the most common data types but of course it doesn't adapt to the any datatype like a native function would. EDIT: Thinking about it this is not so much the Search 1D Array function but the Threshold 1D Array. Haven't checked that lately but it may use bi-sectional search now. At the time I did a lot with that function (LabVIEW 6 or so) benchmark showed that the algorithm had to be linear since the time grew linear with the index in the array where the searched threshold was.
  10. Yes likely! The LAVA search suffers from the problem earlier search engines had. If you entered multiple words there it gave you all the pages that contained one of them. You had to prepended an explicit + sign to every term to indicate to the search engine that you intended this to be a logical AND. Google was one of those who found that this kind of search syntax wasn't exactly intuitive to anyone but shell script hackers and put in an algorithme that first ranks all the results that contain as many search terms as possible and then lists those that have only one or a few of them. Haven't much tried to play with the LAVA search yet but it may still use this somewhat ancient syntax.
  11. The LAVA search too!!!
  12. Good observation. If it is not LabVIEW the arrays will throw a wrench into the wheels. LabVIEW expects for any array in a bytestream an int32 telling it how many elements will follow. For creating a fixed size array you have to resort to a cluster of that type with as many cluster elements as you want to have fixed size array elements.
  13. Sorry for that! It has been some time that I had to play with that. The {MySQL ODBC 3.51 Driver} is in fact an alias to another section in the registry that eventually points the ODBC manager to the original DLL as you have tried it out first. I was under the assumption that a direct driver path should work too, but have to admit that I can't say for sure. Maybe it is also a Windows version thingie too.
  14. Bascially what you should do to get the right direct connection string is to configure a database with the Windows ODBC Configuration and then go and look in the registry what that results into. "HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources" lists the installed user DSNs, while "HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\ODBC Data Sources" lists the installed system DSNs. Under the "HKEY_<user or system>\Software\ODBC\ODBC.INI\<DSN name> you will see a list if keynames and values that you want to put into your direct connection string, separated by semicolons, to get the same effect as when you would specify an according configured DSN name.
  15. For most cameras you can more or less forget that. First the protocol is not documented for most cameras. The actual USB control messages are only a few and you could get for some of the chips used quite a good idea about how to access them from looking at the Linux driver source for that cam. But some chips use proprietary compression schemes that are protected by very heavy NDAs. But even if the compression scheme is documented and available as algorithme, implementing it in LabVIEW is usually not a useful option.
  16. Didn't know that either but it makes sense, as it is in fact almost the same with ring controls and enums.
  17. But you should be still able to do what you want by using the DB Tools List Columns.vi to get the column name and datatypes of the query result and according to that info put everything properly into your cluster.
  18. Why shouldn't it work under Linux? It does AFAIK not use DLLs or other external code solutions but is all written in LabVIEW so that should be easy to use on Linux too. I would expect the original poster of this library to have moved on and/or likely being busy with other projects, so whatever you need to do with this you should prepare to spend some time to actually learn EIP and get your hands a bit dirty, if you want to use it for your specific application.
  19. I'm afraid the OLE Variants, which the Database Variants really are, do not map 1:1 to the LabVIEW type descriptor definitions so it is very likely that this is not possible. On the other hand the Database toolkit used to have support for parametrized updates and queries so there should be some way, but maybe that got discontinued in the later LabVIEW versions as it was a seldom used feature and likely a pain to support too.
  20. I'm pretty sure the mySQL protocol also supports transmission of binary data, which quite likely would speed up transmission and possible also conversion to Variants consideralbly but make the query interpretation a whole lot more complicated to program.
  21. What sample demo did you run? A LabVIEW one? Without already owning the Microprocessor SDK Module? With the LabVIEW Microprocessor SDK Module it is not impossible, but it may be a lot of work if the hardware target you are using is not one of the supported ones. That is because you would have to create the interface logic between the Microprocessor SDK Module and your specific C toolchain and most likely also write some elemental IO blocks.
  22. The difference is that the VT_I4 type is an OLE Variant type while the other is a LabVIEW Variant. The Variant to Data used to be able to convert both types but chocked on the VT_NULL Variant that could be returned. For that there was a Database Variant to Data function. It's possible that LabVIEW 8.6 or something changed this behavior so that you do need to explicitly use the Database Variant to Data function from the Database Toolkit palette for all Database Toolkit variants.
  23. .Net Pinvoke may spare you a few mistakes, but I'm sure that if you do not know what you are doing you are still into a lot of trouble. Likely you will get an .Net Exception dialog instead of the Win32 Exception dialog if you mess up pointers but that are minor details.
  24. I used to use the Not A Refnum constant for this. Yes is it not of a specific refnum type but that is seldom a problem since it coerces easily into any other LabVIEW refnum. Since about LabVIEW 8 you can also right click on a tunnel or terminal and select Create a Constant and it will actually create an according, typed refnum constant that has the canonical value of Not A Refnum.
  25. For all LabVIEW built in LabVIEW refnums you can simply use the Not A Refnum primitive in the Comparison palette. This will not just check if the refnum is a NULL refnum but actually verify that the refnum refers to an actually still opened object. I'm not sure if your shared variable refnum is a built in refnum or some pseudo refnum but you can easily try that out. This function has the additional advantage that it does not depend on some strange features in newer LabVIEW versions. If you compare certain refnums (VI server refnums) with the (Not)Equal function since LabVIEW 8.0 you do get for instance equality eventhough the refnum is technically not the same, but it does point to the same object (VI refnums work for instance like that).
×
×
  • Create New...

Important Information

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