28
To be defined V00 QUALIFLOW Montpellier 350, rue A. Nobel BP7- 34935 MONTPELLIER CEDEX 9 France tel: +33 4 67 99 47 47 fax: +33 4 67 99 47 48 QUALIFLOW Technology Center 44862 Osgood Road Fremont, CA-94539 CALIFORNIA - USA tel: +1 510 440 93 74 fax: +1 510 440 93 75 QUALIFLOW NRT 10 Block-17 Lot, Namdong Ind. CLX. #623-16n Namchon-Dong, Namdong-Ku KOREA tel: +82 (0)2 3401 6491 fax: +82 (0)2 3401 6493 User's manual Development Kit for LabView

User's manual Development Kit fo r LabViewcsma31.csm.jmu.edu/physics/Giovanetti/bonus/UM RD 0001... · 2002. 5. 28. · User's manual Development Kit fo r LabView . To be defined

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: User's manual Development Kit fo r LabViewcsma31.csm.jmu.edu/physics/Giovanetti/bonus/UM RD 0001... · 2002. 5. 28. · User's manual Development Kit fo r LabView . To be defined

To be defined V00

QUALIFLOW Montpellier 350, rue A. Nobel BP7- 34935 MONTPELLIER CEDEX 9 France tel: +33 4 67 99 47 47 fax: +33 4 67 99 47 48 QUALIFLOW Technology Center 44862 Osgood Road Fremont, CA-94539 CALIFORNIA - USA tel: +1 510 440 93 74 fax: +1 510 440 93 75 QUALIFLOW NRT 10 Block-17 Lot, Namdong Ind. CLX. #623-16n Namchon-Dong, Namdong-Ku KOREA tel: +82 (0)2 3401 6491 fax: +82 (0)2 3401 6493

User's manual

Development Kit for LabView

Page 2: User's manual Development Kit fo r LabViewcsma31.csm.jmu.edu/physics/Giovanetti/bonus/UM RD 0001... · 2002. 5. 28. · User's manual Development Kit fo r LabView . To be defined

To be defined V00 Page 1 of 27

Identification Reference To be defined Revision V00 Date 08 April 2002 Document name User's manual Development Kit for LabView File name UM RD 0001 Development Kit for LabView.doc

Control Author Verified Approved

Visa Date Visa Date Visa Date Albin Diranzo 10 April 2002 Olivier Léonel Olivier Léonel

History Author Date Description Revision Status

Albin Diranzo 08 April 2002 Initial version 00 Draft

Page 3: User's manual Development Kit fo r LabViewcsma31.csm.jmu.edu/physics/Giovanetti/bonus/UM RD 0001... · 2002. 5. 28. · User's manual Development Kit fo r LabView . To be defined

To be defined V00 Page 2 of 27

Summary 1. Description ............................................................................................................................................... 3 2. Scope........................................................................................................................................................ 3 3. References ................................................................................................................................................ 3 4. Glossary.................................................................................................................................................... 3 5. Program architecture ................................................................................................................................. 4 6. Main VI .................................................................................................................................................... 5

6.1 Front panel..............................................................................................................................................5 6.2 mfc_monitor.vi........................................................................................................................................6

6.2.1 Memory initialization.......................................................................................................................6 6.2.2 DLL initialization ............................................................................................................................7 6.2.3 Open com port .................................................................................................................................8 6.2.4 Read software version......................................................................................................................9 6.2.5 Read manufacturer identifier ..........................................................................................................10 6.2.6 Read serial number ........................................................................................................................11 6.2.7 Read product identifier...................................................................................................................12 6.2.8 Read valve type .............................................................................................................................13 6.2.9 Main loop sequence .......................................................................................................................14 6.2.10 Close com port...............................................................................................................................19 6.2.11 Release DLL..................................................................................................................................20

7. Sub-VI’s ................................................................................................................................................. 21 7.1 InitDLL.vi.............................................................................................................................................21 7.2 OpenPort.vi ...........................................................................................................................................21 7.3 ReadBatch.vi.........................................................................................................................................22 7.4 Readout.vi .............................................................................................................................................23 7.5 ReadU16.vi ...........................................................................................................................................23 7.6 ReadU8.vi .............................................................................................................................................24 7.7 WriteCoil.vi ..........................................................................................................................................25 7.8 WriteU16.vi ..........................................................................................................................................25 7.9 WriteU8.vi ............................................................................................................................................26 7.10 ClosePort.vi...........................................................................................................................................27 7.11 FreeDLL.vi ...........................................................................................................................................27

Page 4: User's manual Development Kit fo r LabViewcsma31.csm.jmu.edu/physics/Giovanetti/bonus/UM RD 0001... · 2002. 5. 28. · User's manual Development Kit fo r LabView . To be defined

To be defined V00 Page 3 of 27

1. Description This document describes the different LabView VI’s utilized to supervise and control Qualiflow Digital Mass Flow Controllers. These VI’s interface the Modbus Dynamic Link Library to communicate with MFC’s. “MFC Monitor” application is given as example.

2. Scope The MFC Development Kit for LabView is based on the explanation of a simple application example. Users are supposed to know LabView. “MFC Monitor” Labview program has been developed with LabView 6.0. MFC Firmware version 7.33 or higher is necessary to run this program.

3. References The following documents were used as basis for constructing this present document. They represent also an interesting source of information.

Ref 1 [QUALIFLOW] SP 0003 Digital MFC Memory Layout V06

Ref 2 [QUALIFLOW] SP 0006 MFC Application Program Interface V01

Ref 3 [QUALIFLOW] NT 0063 Digital MFC Basic Communication Programmer's Manual 1-2

4. Glossary DLL : Dynamic Link Library VI : Virtual Instrument MFC : Mass Flow Controller

Page 5: User's manual Development Kit fo r LabViewcsma31.csm.jmu.edu/physics/Giovanetti/bonus/UM RD 0001... · 2002. 5. 28. · User's manual Development Kit fo r LabView . To be defined

To be defined V00 Page 4 of 27

5. Program architecture The Modbus protocol is encapsulated in a Dynamic Link Library (modbus.dll). This DLL accesses the different MFC’s through RS-232 or RS-485 serial link. Note that only one MFC can be addressed with RS-232. A full description of the DLL is given in Ref 2 The example program is based on sequences. Each sequence carries out a special action and guaranties the sequential access to the serial link. Although other architectures may also be adequate, this is a comprehensive way to do for those developers who are not experts in LabView.

Main loop

Variables initialization

DLL initialization

Open communication port

Read configuration data ( identifiers, serial number … )

Read dynamic data ( actual flow, alarm … )

Close communication port

Free DLL

Exit

Start

Page 6: User's manual Development Kit fo r LabViewcsma31.csm.jmu.edu/physics/Giovanetti/bonus/UM RD 0001... · 2002. 5. 28. · User's manual Development Kit fo r LabView . To be defined

To be defined V00 Page 5 of 27

6. Main VI

6.1 Front panel

Figure 1 : mfc_monitor.vi front panel

This is the main window of the application “MFC Monitor”. Grey entry fields are read-only. “MFC Monitor” application is constructed in sequences. Detail of these sequences is given bellow. Inter frame The inter frame entry field holds the time (in ms) the application will way between two Modbus transactions. This allows MFC’s to synchronize is case of data colision. Inter frame time can be adjusted. Typical values are :

? ? 150 ms for 2400 Bauds ? ? 50 ms for 9600 Bauds

Page 7: User's manual Development Kit fo r LabViewcsma31.csm.jmu.edu/physics/Giovanetti/bonus/UM RD 0001... · 2002. 5. 28. · User's manual Development Kit fo r LabView . To be defined

To be defined V00 Page 6 of 27

6.2 mfc_monitor.vi

6.2.1 Memory initialization

Figure 2 : memory initialization

Description This sequence is to make sure the correct amount of memory is allocated to each variable before the DLL is called. For doing so, local variables of indicators are created and filled with blanks.

Page 8: User's manual Development Kit fo r LabViewcsma31.csm.jmu.edu/physics/Giovanetti/bonus/UM RD 0001... · 2002. 5. 28. · User's manual Development Kit fo r LabView . To be defined

To be defined V00 Page 7 of 27

6.2.2 DLL initialization

Figure 3 : DLL initialization

Description This sequence initializes the DLL. “InitDLL” VI is used. See chapter 7.1 for more detail on “InitDLL” VI. If the call fails, an error message is raised up and the program terminates.

Page 9: User's manual Development Kit fo r LabViewcsma31.csm.jmu.edu/physics/Giovanetti/bonus/UM RD 0001... · 2002. 5. 28. · User's manual Development Kit fo r LabView . To be defined

To be defined V00 Page 8 of 27

6.2.3 Open com port

Figure 4 : Open com port

Description Open COM port by calling “OpenPort” VI. Baud rate is specified by “Baud rate” indicator, Port number by “Port number” indicator. A false response raises an error message and stops the program. Note that others configuration parameters such as Parity and Data length are not accessible. Default parameters :

? ? Baud rate : 2400 ? ? Start bits : 1 ? ? Parity : none ? ? Data length : 8 ? ? Stop bits : 1

At this step, the communication port is open and configured. We can now start reading information from or writing commands to MFC’s. See chapter 7.2 for more detail on “OpenPort” VI.

Page 10: User's manual Development Kit fo r LabViewcsma31.csm.jmu.edu/physics/Giovanetti/bonus/UM RD 0001... · 2002. 5. 28. · User's manual Development Kit fo r LabView . To be defined

To be defined V00 Page 9 of 27

6.2.4 Read software version

Figure 5 : Read software version

Description In this sequence, the software version is read. A DLL call function is used. Function prototype

? ? unsigned char MFC_READ(long arg1, unsigned short int arg2, CStr arg3, long arg4); Arguments

? ? arg1 Modbus address Command “MFC address” ? ? arg2 Modbus data base address 547 (0x0223) ? ? arg3 Pointer to data destination Indicator “Soft version” (1) ? ? arg4 Type of pointer 5 ( char[4] )

Return value

? ? TRUE : data is copied to destination ? ? FALSE : an error message is raised and program is stopped

(1) Memory is allocated in sequence 0 of 10

Page 11: User's manual Development Kit fo r LabViewcsma31.csm.jmu.edu/physics/Giovanetti/bonus/UM RD 0001... · 2002. 5. 28. · User's manual Development Kit fo r LabView . To be defined

To be defined V00 Page 10 of 27

6.2.5 Read manufacturer identifier

Figure 6 : Read manufacturer identifier

Description In this sequence, the manufacturer identifier is read. A DLL call function is used. Function prototype

? ? unsigned char MFC_READ(long arg1, unsigned short int arg2, CStr arg3, long arg4); Arguments

? ? arg1 Modbus address Command “MFC address” ? ? arg2 Modbus data base address 512 (0x0200) ? ? arg3 Pointer to data destination Indicator “Manufacturer ID” (1) ? ? arg4 Type of pointer 5 ( char[4] )

Return value

? ? TRUE : data is copied to destination ? ? FALSE : an error message is raised and program is stopped

(1) Memory is allocated in sequence 0 of 10

Page 12: User's manual Development Kit fo r LabViewcsma31.csm.jmu.edu/physics/Giovanetti/bonus/UM RD 0001... · 2002. 5. 28. · User's manual Development Kit fo r LabView . To be defined

To be defined V00 Page 11 of 27

6.2.6 Read serial number

Figure 7 : Read serial number

Description In this sequence, the serial number is read. A DLL call function is used. Function prototype

? ? unsigned char MFC_READ(long arg1, unsigned short int arg2, CStr arg3, long arg4); Arguments

? ? arg1 Modbus address Command “MFC address” ? ? arg2 Modbus data base address 527 (0x020F) ? ? arg3 Pointer to data destination Indicator “Serial number” (1) ? ? arg4 Type of pointer 6 ( char[10] )

Return value

? ? TRUE : data is copied to destination ? ? FALSE : an error message is raised and program is stopped

(1) Memory is allocated in sequence 0 of 10

Page 13: User's manual Development Kit fo r LabViewcsma31.csm.jmu.edu/physics/Giovanetti/bonus/UM RD 0001... · 2002. 5. 28. · User's manual Development Kit fo r LabView . To be defined

To be defined V00 Page 12 of 27

6.2.7 Read product identifier

Figure 8 : Read product identifier

Description In this sequence, the product identifier is read. A DLL call function is used. Function prototype

? ? unsigned char MFC_READ(long arg1, unsigned short int arg2, CStr arg3, long arg4); Arguments

? ? arg1 Modbus address Command “MFC address” ? ? arg2 Modbus data base address 517 (0x0205) ? ? arg3 Pointer to data destination Indicator “Product ID” (1) ? ? arg4 Type of pointer 6 ( char[10] )

Return value

? ? TRUE : data is copied to destination ? ? FALSE : an error message is raised and program is stopped

(1) Memory is allocated in sequence 0 of 10

Page 14: User's manual Development Kit fo r LabViewcsma31.csm.jmu.edu/physics/Giovanetti/bonus/UM RD 0001... · 2002. 5. 28. · User's manual Development Kit fo r LabView . To be defined

To be defined V00 Page 13 of 27

6.2.8 Read valve type

Figure 9 : Read valve type

Description In this sequence, the valve type is read. The call to the DLL function is embedded in “ReadU8” VI which returns :

? ? 1 for normally closed ? ? 0 for normally open

If the call fails, an error message is raised and the program terminates. See chapter 7.6 for more detail on “ReadU8” VI.

Page 15: User's manual Development Kit fo r LabViewcsma31.csm.jmu.edu/physics/Giovanetti/bonus/UM RD 0001... · 2002. 5. 28. · User's manual Development Kit fo r LabView . To be defined

To be defined V00 Page 14 of 27

6.2.9 Main loop sequence The program’s main loop is also organized is sequences.

? ? Manage the “Write setpoint” command ? ? Manage the “Clear alarm” command ? ? Manage the “Write override” command ? ? Read actual values from the MFC

Main loop terminates when “Stop” button is pressed. Write setpoint Clear alarm Write override Read data

Figure 10 : Main loop

Page 16: User's manual Development Kit fo r LabViewcsma31.csm.jmu.edu/physics/Giovanetti/bonus/UM RD 0001... · 2002. 5. 28. · User's manual Development Kit fo r LabView . To be defined

To be defined V00 Page 15 of 27

6.2.9.1 Write setpoint

Figure 11 : Write setpoint

Description In this sub-sequence, the “Write setpoint” button is checked. If pressed, the setpoint is converted into binary value and sent to the MFC. “WriteU16” VI is used. See chapter 7.8 for more detail on “WriteU16” VI. Equivalent flow chart YES

NO

YES

NO Write setpoint button pressed

Percent to binary conversion

Write setpoint

Write success

Inter frame wait Raise error message

Go to next step

Page 17: User's manual Development Kit fo r LabViewcsma31.csm.jmu.edu/physics/Giovanetti/bonus/UM RD 0001... · 2002. 5. 28. · User's manual Development Kit fo r LabView . To be defined

To be defined V00 Page 16 of 27

6.2.9.2 Clear alarm

Figure 12 : Clear alarm

Description In this sub-sequence, the “Clear alarm” button is checked. If pressed, the command to clear the alarm is sent to the MFC. “WriteCoil” VI is used. See chapter 7.7 for more detail on “WriteCoil” VI. Equivalent flow chart

YES

NO

YES

NO Clear alarm button pressed

Write coil

Write success

Inter frame wait Raise error message

Go to next step

Page 18: User's manual Development Kit fo r LabViewcsma31.csm.jmu.edu/physics/Giovanetti/bonus/UM RD 0001... · 2002. 5. 28. · User's manual Development Kit fo r LabView . To be defined

To be defined V00 Page 17 of 27

6.2.9.3 Write override

Figure 13 : Write override

Description In this sub-sequence, the “Write override” button is checked. If pressed, the override command byte is sent to the MFC. “WriteU8” VI is used. See chapter 7.9 for more detail on “WriteU8” VI. Equivalent flow chart

YES

NO

YES

NO Write override button pressed

Write byte

Write success

Inter frame wait Raise error message

Go to next step

Page 19: User's manual Development Kit fo r LabViewcsma31.csm.jmu.edu/physics/Giovanetti/bonus/UM RD 0001... · 2002. 5. 28. · User's manual Development Kit fo r LabView . To be defined

To be defined V00 Page 18 of 27

6.2.9.4 Read data

Figure 14 : Read data

Description This sub-sequence reads data from MFC. “ReadBatch” VI is used. See chapter 7.3 for more detail on “ReadBatch” VI. Equivalent flow chart

NO

YES

Read data success

Update indicators

Inter frame wait Raise error message

Go to next step

Read data

Page 20: User's manual Development Kit fo r LabViewcsma31.csm.jmu.edu/physics/Giovanetti/bonus/UM RD 0001... · 2002. 5. 28. · User's manual Development Kit fo r LabView . To be defined

To be defined V00 Page 19 of 27

6.2.10 Close com port

Figure 15 : Close com port

Description This sequence closes the communication port. “ClosePort” VI is used. See chapter 7.1 for more detail on “ClosePort” VI. If the call fails, an error message is raised and the program terminates.

Page 21: User's manual Development Kit fo r LabViewcsma31.csm.jmu.edu/physics/Giovanetti/bonus/UM RD 0001... · 2002. 5. 28. · User's manual Development Kit fo r LabView . To be defined

To be defined V00 Page 20 of 27

6.2.11 Release DLL

Figure 16 : Release DLL

Description This sequence releases the Dynamic Link Library. “FreeDLL” VI is used. See chapter 7.11 for more detail on “FreeDLL” VI. If the call fails, an error message is raised and the program terminates.

Page 22: User's manual Development Kit fo r LabViewcsma31.csm.jmu.edu/physics/Giovanetti/bonus/UM RD 0001... · 2002. 5. 28. · User's manual Development Kit fo r LabView . To be defined

To be defined V00 Page 21 of 27

7. Sub-VI’s All sub-VI’s call the Modbus DLL.

7.1 InitDLL.vi

Figure 17 : InitDLL.vi

Description DLL initialization. C Function prototype

? ? unsigned char MFC_InitDLL(void); Arguments

? ? none Return value

? ? TRUE : DLL initialized correctly ? ? FALSE : DLL initialization failed

7.2 OpenPort.vi

Figure 18 : OpenPort.vi

Description Open a communication port. C Function prototype

? ? unsigned char MFC_OpenPort(long arg1, long arg2); Arguments

? ? arg1 : Port number ( 1 for COM1; 2 for COM2 … ) ? ? arg2 : Baud rate ( 2400 or 9600 )

Return value

? ? TRUE : Com port opened and initialized correctly ? ? FALSE : Com port initialization failed

Page 23: User's manual Development Kit fo r LabViewcsma31.csm.jmu.edu/physics/Giovanetti/bonus/UM RD 0001... · 2002. 5. 28. · User's manual Development Kit fo r LabView . To be defined

To be defined V00 Page 22 of 27

7.3 ReadBatch.vi

Figure 19 : ReadBatch.vi

Description Read a data cluster. Data read with this function is stored in a string. The returned string is scanned and data is broken down into simple variables. C Function prototype

? ? unsigned char MFC_READ(long arg1, unsigned short int arg2, CStr arg3, long arg4); Arguments

? ? arg1 Modbus address Command “MFC address” ? ? arg2 Modbus data base address 2 (0x0002) ? ? arg3 Pointer to data destination Indicator “String” (1) ? ? arg4 Type of pointer 11

Return value

? ? TRUE : Read data succeeded and data is copied to destination ? ? FALSE : Read data failed

(1) Note that “String” is initialized with the correct amount of memory before the call.

Page 24: User's manual Development Kit fo r LabViewcsma31.csm.jmu.edu/physics/Giovanetti/bonus/UM RD 0001... · 2002. 5. 28. · User's manual Development Kit fo r LabView . To be defined

To be defined V00 Page 23 of 27

7.4 Readout.vi

Figure 20 : Readout.vi

Description Read the actual readout. Unit is percent of full scale. Function prototype

? ? unsigned char MFC_READ(long arg1, unsigned short int arg2, float *arg3, long arg4); Arguments

? ? arg1 Modbus address Command “MFC address” ? ? arg2 Modbus data base address 184 (0x00B8) ? ? arg3 Pointer to data destination IEEE-754 32 bits Float ? ? arg4 Type of pointer 3

Return value

? ? TRUE : Read data succeeded and data is copied to destination ? ? FALSE : Read data failed

7.5 ReadU16.vi

Figure 21 : ReadU16.vi

Description Read an unsigned 16 bits variable. C Function prototype

? ? unsigned char MFC_READ(long arg1, unsigned short int arg2, unsigned short int *arg3, long arg4); Arguments

? ? arg1 Modbus address Command “MFC address” ? ? arg2 Modbus data base address Command “Variable address” ? ? arg3 Pointer to data destination unsigned 16 bits ? ? arg4 Type of pointer 1

Return value

? ? TRUE : Read data succeeded and data is copied to destination ? ? FALSE : Read data failed

Page 25: User's manual Development Kit fo r LabViewcsma31.csm.jmu.edu/physics/Giovanetti/bonus/UM RD 0001... · 2002. 5. 28. · User's manual Development Kit fo r LabView . To be defined

To be defined V00 Page 24 of 27

7.6 ReadU8.vi

Figure 22 : ReadU8.vi

Description Read an unsigned 8 bits variable. C Function prototype

? ? unsigned char MFC_READ(long arg1, unsigned short int arg2, unsigned char *arg3, long arg4); Arguments

? ? arg1 Modbus address Command “MFC address” ? ? arg2 Modbus data base address Command “Variable address” ? ? arg3 Pointer to data destination unsigned 8 bits ? ? arg4 Type of pointer 0

Return value

? ? TRUE : Read data succeeded and data is copied to destination ? ? FALSE : Read data failed

Page 26: User's manual Development Kit fo r LabViewcsma31.csm.jmu.edu/physics/Giovanetti/bonus/UM RD 0001... · 2002. 5. 28. · User's manual Development Kit fo r LabView . To be defined

To be defined V00 Page 25 of 27

7.7 WriteCoil.vi

Figure 23 : WriteCoil.vi

Description Write a coil variable. C Function prototype

? ? unsigned char MFC_WRITE(long arg1, unsigned short int arg2, unsigned char *arg3, long arg4); Arguments

? ? arg1 Modbus address Command “MFC address” ? ? arg2 Modbus data base address Command “Variable address” ? ? arg3 Pointer to data source unsigned 8 bits ? ? arg4 Type of pointer 2

Return value

? ? TRUE : Write data succeeded ? ? FALSE : Write data failed

7.8 WriteU16.vi

Figure 24 : WriteU16.vi

Description Write an unsigned 16 bits variable. C Function prototype

? ? unsigned char MFC_WRITE(long arg1, unsigned short int arg2, unsigned short int *arg3, long arg4);

Arguments

? ? arg1 Modbus address Command “MFC address”

Page 27: User's manual Development Kit fo r LabViewcsma31.csm.jmu.edu/physics/Giovanetti/bonus/UM RD 0001... · 2002. 5. 28. · User's manual Development Kit fo r LabView . To be defined

To be defined V00 Page 26 of 27

? ? arg2 Modbus data base address Command “Variable address” ? ? arg3 Pointer to data source unsigned 16 bits ? ? arg4 Type of pointer 1

Return value

? ? TRUE : Write data succeeded ? ? FALSE : Write data failed

7.9 WriteU8.vi

Figure 25 : WriteU8.vi

Description Write an unsigned 8 bits variable. Modbus does not allow transmission of a single byte. Therefore, this VI used the some parameters as “WriteU16” VI. Data byte must be transmitted in the most significant byte of the word. C Function prototype

? ? unsigned char MFC_WRITE(long arg1, unsigned short int arg2, unsigned short int *arg3, long arg4);

Arguments

? ? arg1 Modbus address Command “MFC address” ? ? arg2 Modbus data base address Command “Variable address” ? ? arg3 Pointer to data source unsigned 16 bits ? ? arg4 Type of pointer 1

Return value

? ? TRUE : Write data succeeded ? ? FALSE : Write data failed

Page 28: User's manual Development Kit fo r LabViewcsma31.csm.jmu.edu/physics/Giovanetti/bonus/UM RD 0001... · 2002. 5. 28. · User's manual Development Kit fo r LabView . To be defined

To be defined V00 Page 27 of 27

7.10 ClosePort.vi

Figure 26 : ClosePort.vi

Description Close a communication port. Function prototype

? ? unsigned char MFC_ClosePort(long arg1); Arguments

? ? arg1 : Port number ( 1 for COM1; 2 for COM2 … ) Return value

? ? TRUE : Com port closed correctly ? ? FALSE : Com port close failed

7.11 FreeDLL.vi

Figure 27 : FreeDLL.vi

Description Free and release Modbus DLL. Function prototype

? ? unsigned char MFC_FreeDLL(void); Arguments

? ? none Return value

? ? TRUE : DLL released correctly ? ? FALSE : DLL release failed

oOo