06-23-2016 02:52 PM
I'm trying to figure out how to control a Brooks Microprocessor Control & Read Out Unit model #0154 with a Windows PC.
Unfortunately, I'm just an undergrad who's rather inexperienced with Labview and this type of machinery in general. Could someone explain to me what's the difference between the Smart DDE and the Labview DLL, and how would I use them?
Is the DLL just an alternative for the DDE? The Smart DDE manual says that it's not a standalone program, so what else would I need? The DLL's manual never mentions needing the Smart DDE, so is it standalone? The DLL's zip file also came with a lot of separate VI's (Decode xxx Example.vi, Read xxx Example.vi, Write xxx Example.vi). Are these just nonworking examples to look at and study, or are they pieces you'll need to build your a custom LabView program?
Thanks in advance!
06-23-2016 02:59 PM
The 0154 is way old and obsolete.
When it was current the Smart DDE offered the ability to manage the MFC's set the gas constant, tune ....
Smart DDE (was that Dynamic Data Exchange) offered serives such that we could do "peeks" and "pokes" as was the case with DDE.
I think the dll simply wrapped up the DDE calls.
I think I skipped the dll and wrote my own DDE calls. But that 14 years ago so do not trust me!
Ben
06-23-2016 03:10 PM
Hi Ben,
Thank you so much for replying.
I'm afraid I don't quite understand what you mean by "the DLL simply wrapped up the DDE calls". Could you please clarify?
At this point, I'm still not sure I understand what the DDE and DLL even do...
06-23-2016 03:15 PM
You are asking alot of an old man that has not touched that code in years!
I THINK the dll simply exposed function calls that would in turn format DDE commands to peek and poke the SmartDDE interface. The dll could be called from any lnaguage that supported a dll.
I believe I threw that all away, and talked directly to SmartDDE using DDE.
Ben
06-23-2016 03:36 PM
When you say that you wrote your own DDE calls, do you mean that you wrote a Labview program that talked to SmartDDE?
Could I also ask how exactly would you talk to SmartDDE? Is there a little button in Labview where you can add it to your code, like with helper VI's?
Sorry, I'm extremely inexperienced in this field, so I have absolutely no idea what's going on...
06-24-2016 02:25 PM
You have to use the interface exposed by SmartDDE.
But before I go on...
First check if you can isstall and run SmartDDE on the machine you have.
Buried deep in the bowels of LV there is still a library ...
...National Instrument\LabVIEW XXX\Vi.lib\Platform\DDE.llb
It contains the VIs needed to use DDE.
You will have to consult the SmartDDE documentation to determine what request you need to make and what needs to be "Poked' to control the MFC.
Now if you had a 0154e you could avoid SmartDDE completely and just use analog 4-20mA control and monitoring.
The 0154 has been replaced by the 0254 which will control the same MFCs but only supports serial control an dmonitoring.
I will stop with that becuase this is all a wated converstaion if Smart DDE will not run on your machine.
Ben
06-26-2016 12:58 PM - edited 06-26-2016 01:04 PM
Also note that the DDE VIs have been removed from the palettes for a reason. They are legacy technology when you ask Microsoft as soon as they introduced ActiveX around 1996 and which is also already a legacy technology for quite some time since .Net was poisened to do everything ActiveX could do, but better!
The DDE library in LabVIEW, while it did actually work, had a few limitations that were never addressed, since it was already considered legacy technology at the time LabVIEW got support for it. Since it was basically not maintained at all anymore it got eventually removed and consequently it never got ported to the 64 bit version of LabVIEW nor will it ever be.
Now, the DDE library works actually well enough to interface to the SmartDDE server, but as Ben has already pointed out there is a very good chance that you can't install that software on modern Windows. It was written in Visual Basic 4 or 5 or something like that and you can't install that runtime on a modern Windows 7 or newer system without lots of hacking. I also remember that it had issues that it could suddenly stop updating the MFC tables that it exposed through DDE.
Once you have confirmed that you can install, run and use it at all on the system you intend, you can go further and try to get the DDE stuff going. It's not very difficult since the DDE protocol is entirely string based but it will pose some challenges today since there is very little documentation about DDE around nowadays. I did at one point attempt to write a library to directly talk to the Brooks controllers over the Flowbus protocol but that didn't get far since the company which had asked us to develop a monitoring system didn't want to pay for that once the DDE interface was semi stable after Brooks had released a new version of the SmartDDE application and I had other work to do, which prevented me to pursue this on my own.
This http://www.morechemistry.com/labview/drivers/brooks/brooks-dde.html might give you some headstart once you have confirmed that you can install and run SmartDDE at all.