LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Connect to MKS Alta 1480 Device Net Mass Flow Controller

Solved!
Go to solution

I have a MKS Alta 1480 mass flow controller (MFC), MFC Manual, Labview 8.2 and NI PCI-CAN card.  I know have the MFC wired correctly because I can operate it using another program on the PC that used the deviceNet interface.  I want to talk to it via Labview.   Everything looks OK using measurement explorer.  I have the NI-DNET pallet.  I know the MACID.  I have downloaded the EDS from the manufacturer.

 

Here is what I am lacking:  A general clue about the DeviceNet interface.  Is there any example code out there that could get me started?  Are there any tutorials on how to figure out the Dnet protocol?  I am used to serial devices command--> response.  I don't know anything about Class, Object, attirbutes.

 

Thanks,

 

Joe

0 Kudos
Message 1 of 10
(5,900 Views)

Using the VI,s Get Dnet Attribute and Convert from Dnet Read I was able to get some information.  I feel like I am almost there.  Unfortunately the information I want (flow) is in an object assembly.  how do I get this information?

 

Joe

0 Kudos
Message 2 of 10
(5,857 Views)
Solution
Accepted by topic author bmwjoe

Joe, you can read MFC Flow value from S-Analog Sensor Object.

Class Id 49 (0x31), Instance Id 1 (0x01), Attribute Id 6 (0x06)

The default Data Type is Integer and Data Units is counts

 

If you want read from assembly object, you will have establish polled IO connection, then use Read DeviceNet IO.vi to read flow.

 

 

Message 3 of 10
(5,846 Views)

IvABC,

 

Thanks for your help.  I did get things working.  Turns out I had to change the configuration of the MFC so the data it outputs was in the right format.  Now that Abaci is done I am reading the flow just fine.  Communicating with a DeviceNet MFC is a fairly challenging task since the data has so many formats and the manufacturer's documentation is minimal.  It doesn't help that I am a mechanical engineer and don't have much training in communication.  What I need is "DeviceNet via Labview for dummies", but it is not to be found.  I am moving along with my project.

 

Thanks again for your help,

 

Joe

0 Kudos
Message 4 of 10
(5,808 Views)

So far, so good.  I have gotten fairly handy at running Dnet MFCs.  I open an explicit message and open an IO then I can set and get parameters and the setpoint.  I have just one more stumbling block...

 

I want to zero the MFC using the Analog sensor object(x31).  The documentation says this is done by sending a service 0x4B to instance 1.  I tried doing this using the Write Explicit Message.vi and I get:

 

Error -1074388978 occurred at Get DeviceNet Attribute.vi

Possible reason(s):

NI-CAN:  (Hex 0xBFF6200E) You called Read DeviceNet Explicit Message before the response arrived. Solution: Wait for the Read Avail state prior to calling read; Make sure you call Write DeviceNet Explicit Message before calling read (every response requires a request).

 

For sure I am missing something.  I have wired the explicit message handle into Write Explicit Message.vi.  What am I missing?

 

Thanks,

 

Joe

0 Kudos
Message 5 of 10
(5,661 Views)

Joe,

1) Please make sure your MFC setpoint is 0 and override Class 0x32, inst 0x01, Attr 0x05 is 0 (Normal).

2) Check Data Type via Class 0x31, Inst 0x01, Attr 0x03; if the value is 0xC3 it is Integer, and if the value is 0xCA then the Data Type is Read.

3) See if the attached file helps!

 

Message Edited by lvABC on 05-21-2009 03:54 PM
0 Kudos
Message 6 of 10
(5,643 Views)

Joe, Sorry type-O;

2) Check Data Type via Class 0x31, Inst 0x01, Attr 0x03; if the value is 0xC3 it is Integer, and if the value is 0xCA then the Data Type is Read.

It should be

2) Check Data Type via Class 0x31, Inst 0x01, Attr 0x03; if the value is 0xC3 it is Integer, and if the value is 0xCA then the Data Type is Real.

Message 7 of 10
(5,634 Views)

lvABC,

 

I got it now.  Thanks.  The confusing bit  for me was that you have to read after you write.  Just something you have to do I guess.

 

Cheers,

 

Joe

0 Kudos
Message 8 of 10
(5,612 Views)

Joe,

 

I'm also using a mass flow controller from MKS. This is the πMFC. I tried using your code as a guide, but I keep getting error on Open DeviceNet Interface.vi I see that you wrote the Object Handle in without using the Open DeviceNet Interface.vi, Easy IO Config.vi, Open DeviceNet IO.vi, or Open DeviceNet Explicit Messaging.vi. I don't know how to create an Object Handle, but if you or anyone else can help me here I would greatly appreciate it.

 

Thanks,

 

Jose

0 Kudos
Message 9 of 10
(4,337 Views)

Hello,

 

I fixed it. It was that I had the DeviceNet 2.2 Beta and the Full 2.2 installed. I removed them both and reinstalled the Full 2.2 version.

 

Thanks for all the help.

 

Jose

0 Kudos
Message 10 of 10
(4,269 Views)