10-27-2009 07:46 PM
I have an instrument (MicroCal DSC) that comes with proprietary software, but the operator must be in the room to push buttons (e.g., Stop, change to new file name, Start). I would like to know if it is possible to program LabView to check for certain conditions (current filename = ...a#99), and perform simple procedures (Stop, new file name = ...b#1, Start)?
Thank you!
10-27-2009 08:21 PM
Sure. File/Directory Info Function returns a "size" variable.
If path specifies a directory, size indicates the number of items in the directory.
But you'd have to poll at intervals without any other means of notification.
I'd check with MicroCal DSC to see if they have an API first.
10-28-2009 10:36 AM
Hi Emm,
Are you talking about this instrument: http://www.microcal.com/products/dsc/vp-capillary-dsc.asp
As PointOnePa mentioned, you absolutely do lots of File I/O and manipulation with LabVIEW, however I have a feeling that's not going to do exactly what you are wanting.
Basically if you would like to control a third party piece of hardware or software you have to have some way of interacting with it that the third party has exposed. Often times with instruments this is a DLL (or as PointOnePa mentioned an API). Sometimes functionality is exposed via ActiveX (for instance I can use LabVIEW to control Microsoft products via ActiveX). The bottom line is that the third party must have exposed this so you must pursue them for any way to control their hardware and software.
10-28-2009 01:12 PM
10-28-2009 01:16 PM
11-03-2009 07:23 PM
@David -- it's all SW, and just regular VP-DSC, not the capillary. 😞
I don't know what API is, it's a Windows OS, and MicroCal is not very helpful. The software plots every 16 seconds, but doesn't write-to-file that often.
I don't want to use mouse-position commands because the window may not be in the same place. I don't know if checking if file99 exists in the directory is a good idea, because the change needs to be input (as far as I know) through the Origin software, and during certain temperature ranges.
I'm taking all this as "not possible" (or at least not easily), and I thank you all for your help!
11-03-2009 07:40 PM
Hi Emm,
The ease and possibility definitely falls on the hands of what MicroCal exposes (either via activex, a DLL, or an API as explained) so unfortunately if they aren't being helpful then it would be quite difficult or maybe even impossible to do this. Often times manufacturers which create a "out of the box" solution don't like you interfacing with their software or controlling the hardware with your own software since their software is part of their IP and a big reason instruments like that cost more ("ease of use").
You've basically found out why here at National Instruments we are huge proponents of Virtual Instrumentation, where you can take hardware in a PC or other platform and build the software around it, easily modifying or completely revamping the software whenever you like.
I'm sorry that you are having to experience some inflexibility, if there is anything else I can help with please let me know.
11-03-2009 10:48 PM
Emm wrote:
I don't know what API is, it's a Windows OS, and MicroCal is not very helpful. The software plots every 16 seconds, but doesn't write-to-file that often.
API = Application Programming Interface. Windows has an API that applications use in order to draw windows, create controls, etc.
I don't want to use mouse-position commands because the window may not be in the same place. I don't know if checking if file99 exists in the directory is a good idea, because the change needs to be input (as far as I know) through the Origin software, and during certain temperature ranges.
I'm taking all this as "not possible" (or at least not easily)
Not necessarily. The mouse clicks can be directed to a control within a window, rather than a specific location. You may want to try looking at something like AutoIt. It has a tool that allows you to scan a window to see if you can target a specific control for sending mouse clicks. This is possible if the application uses standard Windows controls rather than creating its own custom controls. AutoIt also has an ActiveX interface so you can call it from LabVIEW. I have posted examples on how to do this before.