|
1. General |
|
4. Methods |
|
5. Events |
1. GENERAL
ESStable.ocx is ActiveX® control developed by ENGSoft Inc., Seoul, Korea, using Visual Basic program language of Microsoft®.
All copyrights of ESStable.ocx are reserved by ENGSoft Inc.
By using ES_Stable.ocx, software developers can get the properties of steam and water at the following conditions.
ES_Stable.ocx provides software developers with the following properties of each condition.
There are two ways for software developers to get steam and water properties from ESStable.ocx.
One way called “User Mode" is for software developers to get the properties that the software users enter on a user interface plate, and the other way called “Developer Mode" is for software developers to get the properties that the software developers need for their program codes. The Developer Mode uses STABLE method to get superheated steam or subcooled water, and SSTABLE method to get saturated steam and saturated water.
1.1. User Interface Plate
There are three(3) columns which represent three conditions of steam and water.
The first column named "Steam/Water" is for getting superheated steam or subcooled water condition. The second and third columns named "Sat. Water" and "Sat. Steam" respectively are for getting saturated water and saturated steam conditions respectively.
The column users selected has sky blue boundary and the boundary twinkles till users complete necessary property inputs. The steam and water properties of the column users selected are set to the property values of ESStable.ocx which can be used by software developers in their program codes as inputs of users.
In the user interface, the text boxes with white colored are input boxes where users enter clue property(or properties), and the text boxes with gray colored are output boxes gotten by the clue property(or properties). In "Steam/Water" column, the text box with light green color stands for previous input and the text box with normal green color stands for current input. If users enter a number in another text box for next search, the text box with a new number shall have normal green color being a new current input and the previous current text box shall have light green color being a new previous input.
[Get] command button is to get and show the properties, and the user interface plate does not disappear. The [Get] command button becomes active when users complete necessary property inputs.
[Unit] command button is to alter the units of properties. Clicking the button pops up a Unit Selection Table frame as below.
[OK] command button is to set the steam and water properties gotten to the respective properties of ESStable.ocx so that software developers use the properties users entered in their program codes, and then the plate disappears.
Unfortunately, we are using a same terminology of "property" for the property of fluid condition(steam and water) and for the property of ActiveX control (ESStable.ocx). Please do not confuse.
[Cancel] command button is to cancel any actions users have done on the plate, and the plate disappears.
< Unit Selection Frame >

1.2 Steam and Water Property Range
The ranges of steam and water properties ESStable.ocx covers are as below.
< Superheated Steam or Subcooled Water >
|
Property |
Unit |
Minimum Value |
Maximum Value |
|
Pressure |
kg/cm2 abs. |
0.01 |
250 |
|
kPa abs. |
0.98 |
24516 | |
|
psi abs. |
0.142 |
3555 | |
|
Temperature |
oC |
10 |
700 |
|
oF |
50 |
1292 | |
|
Enthalpy |
kcal/kg |
10.1 |
938.4 |
|
kJ/kg |
42.3 |
3928 | |
|
Btu/lb |
18.2 |
1689 | |
|
Entropy |
kcal/kg/K |
0.035 |
2.74 |
|
kJ/kg/K |
0.147 |
11.47 | |
|
Btu/lb/R |
0.035 |
2.74 |
< Saturated Water and Saturated Steam >
|
Property |
Unit |
Minimum Value |
Maximum Value |
|
Pressure |
kg/cm2 abs. |
0.006697 |
225.56 |
|
kPa abs. |
0.6568 |
22119 | |
|
psi abs. |
0.09525 |
3208.2 | |
|
Temperature |
oC |
1 |
375.15 |
|
oF |
33.8 |
707.27 |
1.3 Search Setting
There are four(4) setting users can select as shown at the bottom frame of the captured picture above. The four settings are as below.
2. GENERAL PROPERTIES OF ESStable.ocx (TOC)
2.1 Name Property
|
Description |
Returns the name of OCX instance. |
|
Syntax |
ESStable1.Name |
|
Remarks |
When developers make the instance of ESStable.ocx, the default name is set as “ESStable1”. |
|
Data type |
String |
2.2 Border Style Property
|
Description |
Sets or Returns the border style of OCX. |
|
Syntax |
ESStable1.BorderStyle [= value] |
|
Remarks |
The following table lists the BorderStyle property setting. Setting Description 0 - None (Default) Plane boundary 1 - Fixed Indented boundary.
|
|
Data type |
Integer(Enumerated) |
2.3 Enabled_Unit Property
|
Description |
Determines whether the Unit command button is enabled or not in User Interface Plate. |
|
Syntax |
ESStable1.Enabled_Unit [= boolean] |
|
Remarks |
The following table lists the Enabled_Unit property setting. Setting Description True (Default) Unit command button enabled False Unit command button disabled This Enabled_Unit property is normally set to False when the OCX is used to get user input in a program, because the unit of steam table is set by the mother program, not allowing users to change. |
|
Data type |
Integer(Boolean) |
2.4 ES_Language Property
|
Description |
Sets or returns user interface language. |
|
Syntax |
ESStable1.ES_Language [= value] |
|
Remarks |
The following table lists the ES_Language property setting. Setting Description 0 - ES_Korean (Default) Korean 1 - ES_English English
|
|
Data type |
Integer(Enumerated) |
2.5 Height, Width Property
|
Description |
Sets or returns the height and width of User Interface Plate. |
|
Syntax |
ESStable1.Height [= number] ESStable1.Width [= number] |
|
Remarks |
With following number, full picture of ESStable1 is shown. Height = 5280 twips. Width = 8685 twips *One centimeter is 567 twips. |
|
Data type |
Number |
2.6 Index Property
|
Description |
Sets or returns the number identifying a specific OCX instance in arrayed OCX instances. |
|
Syntax |
ESStable1[(number)].Index |
|
Remarks |
The following table lists the Index property setting. Setting Description None (Default) The specific instance is not a member of arrayed instances. 0 through 32767 Array number. All instances in array have identical name property.
|
|
Example |
Load ESStable1(2) ESStable1(2).Height = 5800
|
|
Data type |
Integer |
2.7 Left, Top Property
|
Description |
Left - Sets or returns the distance between the left edge of OCX from the left edge of container. Top - Sets or returns the distance between the top edge of OCX from the top edge of container.
|
|
Syntax |
ESStable1.Left [= number] ESStable1.Top [= number]
|
|
Data type |
Number |
2.8 TabIndex Property
|
Description |
Sets or returns the tab order of OCX in mother form. Users can move among objects by pressing [Tab] key. |
|
Syntax |
ESStable1.TabIndex [= index] |
|
Remarks |
If the number of objects with TabIndex property is n, TabIndex should be integer of 0 through n-1.
|
|
Data type |
Integer |
2.9 TabStop Property
|
Description |
Determines whether users can use [Tab] key to select the OCX. |
|
Syntax |
ESStable1.TabStop [= boolean] |
|
Remarks |
The following table lists the TabStop property setting. Setting Description True (Default) [Tab] key can be used to select. False [Tab] key can not select the OCX even though TabIndex proporty is assigned.
|
|
Data type |
Integer(Boolean) |
2.10 ToolTipText Property
|
Description |
Sets or returns a text string which appears when the mouse is located on the OCX. |
|
Syntax |
ESStable1.ToolTipText [= string] |
|
Data type |
String |
2.11 Visible Property
|
Description |
Determines whether the OCX is visible or not. |
|
Syntax |
ESStable1.Visible [= boolean] |
|
Remarks |
The following table lists the Visible property setting. Setting Description True (Default) Visible. False Not visible This Visible property is normally set to False when the OCX is used for developers to get steam and water properties in their code, not showing the User Interface Plate to users.
|
|
Data type |
Integer(Boolean) |
3. SPECIFIC PROPERTIES OF ESStable.ocx (TOC)
3.1 PR, TP, Quality, SVOL, ENTH, ENTRO, Visco, ViscoX Properties
|
Description |
|
Syntax |
ESStable1.PR ESStable1.TP ESStable1.Quality ESStable1.SVOL ESStable1.ENTH ESStable1.ENTRO
(The following properties are available for User Mode only.) ESStable1.Visco ESStable1.ViscoX
|
|
Remarks |
|
|
Data type |
Single precision number |
3.2 PSAT, TSAT, SVOLF, SVOLG, ENTHF, ENTHG, ENTROF, ENTROG Properties
|
Description |
Returns the properties of saturate steam and saturated water developers got in source codes by using SSTABLE method (Developer Mode). |
|
Syntax |
ESStable1.PSAT ESStable1.TSAT ESStable1.SVOLF ESStable1.SVOLG ESStable1.ENTHF ESStable1.ENTHG ESStable1.ENTROF ESStable1.ENTROG
|
|
Remarks |
The steam or water property values have the unit defined in the unit properties described below. Viscosity calculation should be coded inside of user's software.
|
|
Data type |
Single precision number |
3.3 uPR, uTP, uSVOL, uENTH, uENTRO, uVisco, uViscoX Properties
|
Description |
Sets or returns the units of steam and water properties. Developers can set these unit properties in source codes. On the other hand, users can set these unit properties by clicking [Unit] command button in the Unit Selection Table of User Interface Plate. |
|
Syntax |
ESStable1.uPR [= number] ESStable1.uTP [= number] ESStable1.uSVOL [= number] ESStable1.uENTH [= number] ESStable1.uENTRO [= number] ESStable1.uVisco [= number] ESStable1.uViscoX [= number]
|
|
Remarks |
The following table lists the property setting. The enumerated name implies the unit description. uPR : Pressure unit Setting 0 - unit_kgpercm2a 1 - unit_kgpercm2g 2 - unit_bara 3 - unit_BARG 4 - unit_kPaa 5 - unit_kPag 6 - unit_psia 7 - unit_psig 8 - unit_mmHga 9 - unit_mmHgg 10 - unit_inHga 11 - unit_inHgg 12 - unit_mH2Oa 13 - unit_mH2Og 14 - unit_ftH2Oa 15 - unit_ftH2Og uTP : Temperature unit Setting 0 - unit_degC 1 - unit_degF 2 - unit_K 3 - unit_degR uSVOL : Specific volume unit Setting 0 - unit_m3perkg 1 - unit_ft3perlb 2 - unit_cm3perg 3 - unit_in3perlb 4 - unit_USgalperlb 5 - unit_Ukgalperlb uENTH : Enthalpy unit Setting 0 - unit_kcalperkg 1 - unit_kJperkg 2 - unit_Btuperlb 3 - unit_kgfmperkg 4 - unit_ftlbfperlb uENTRO : Entropy unit Setting 0 - unit_kcalperkgK 1 - unit_kJperkgK 2 - unit_BtuperlbR 3 - unit_kgfmperkgK 4 - unit_ftlbfperlbR uVisco : Absolute viscosity unit Setting 0 - unit_cP 1 - unit_Pasec 2 - unit_Nsecperm2 3 - unit_kgpermsec 4 - unit_lbperftsec 5 - unit_lbfsecperft2 uViscoX : Kinematic viscosity unit Setting 0 - unit_cSt 1 - unit_m2persec 2 - unit_ft2persec 3 - unit_SSU100F 4 - unit_SSU210F 5 - unit_Redwood30C
|
|
Data type |
Long integer(Enumerated) |
3.4 sPR, sTP, sSVOL, sENTH, sENTRO, sVisco, sViscoX Properties
|
Description |
Returns the strings expressing the units of steam and water properties. When the properties of units are set, these properties are automatically set by OCX. |
|
Syntax |
ESStable1.sPR ESStable1.sTP ESStable1.sSVOL ESStable1.sENTH ESStable1.sENTRO ESStable1.sVisco ESStable1.sViscoX
|
|
Data type |
String |
3.5 CallingObject Property
|
Description |
Sets or returns the object calling the OCX. |
|
Syntax |
[Set] ESStable1.CallingObject [= object] |
|
Remarks |
This property is useful when the OCX is called from another object. |
|
Example |
For example, ESStable.ocx is located a separate form which is commonly used for all other ENGSoft softwares. The following codes are the samples used in ES_StmNzl program(“frmES_StmNzl") calling ESStable1.ocx located in the form named “frmES_Stable". The prefix “frm" stand for Form object of Visual Basic. Code of "Click" event for command button “cmdStable" in “frmES_StmNzl", which calls “frmES_Stable". Private Sub cmdStable_Click() Set frmES_Stable.ESStable1.CallingObject = Me frmES_Stable.ESStable1.Enabled_Unit = False frmES_Stable.ESStable1.uPR = unit_kgpercm2a frmES_Stable.ESStable1.uTP = unit_degC frmES_Stable.ESStable1.uSVOL = unit_m3perkg frmES_Stable.ESStable1.uENTH = unit_kcalperkg frmES_Stable.ESStable1.uENTRO = unit_kcalperkgK
frmES_Stable.Show vbModal End Sub
Code of "OK_Click" event for “ESStable1", the instance of ESStable.ocx, in “frmES_Stable". Private Sub ESStable1_OKClick() ESStable1.CallingObject.StableChange End Sub
Code of “StableChange" public procedure in “frmES_StmNzl” Public Sub StableChange() msfInput.TextMatrix(1, 1) = frmES_Stable.ESStable1.PR msfInput.TextMatrix(2, 1) = frmES_Stable.ESStable1.TP msfInput.TextMatrix(3, 1) = frmES_Stable.ESStable1.SVOL msfInput.TextMatrix(4, 1) = frmES_Stable.ESStable1.ENTH msfInput.TextMatrix(5, 1) = frmES_Stable.ESStable1.ENTRO
If frmES_Stable.ESStable1.Quality > 1 Then msfInput.TextMatrix(6, 1) = "Steam" ElseIf frmES_Stable.ESStable1.Quality < 0 Then msfInput.TextMatrix(6, 1) = "Water" Else msfInput.TextMatrix(6, 1) = Format(frmES_Stable.ESStable1.Quality, "0.0##") End If End Sub
“msfInput" is the name of MicroSoft® FlexGrid.ocx® which shows the "Inlet Steam Conditions" in ES_StmNzl program.
|
|
Data type |
Object |
3.6 StableError Property
|
Description |
Returns the error number. |
|
Syntax |
ESStable1.StableError |
|
Remarks |
The following table lists the StableError property setting. <Superheated steam/subcooled water error> Setting Description 1 The same clue properties are entered. Different clue properties are required. 2 The clue property values are out of range. 3 Clue property indexes are out of range. The index would have been 1 through 5. 4 The properties to be returned are out of range, or the condition are indefinite. 10 The properties returned are indefinite wet steam and not creditable. It is recommended to check the result by searching method of saturated steam and saturated water.
<Saturated steam / saturated water error> Setting Description 5 The clue property value is out of range. 6 Clue property index is out of range. The index would have been 1 or 2.
|
|
Data type |
Integer |
4.1 STABLE Method
|
Description |
Gets the properties of superheat steam or subcooled water, and then returns the steam and water properties to the OCX properties of PR, TP, Quality, SVOL, ENTH and ENTRO. Refer to Article 3.1 above for the OCX properties. |
|
Syntax |
ESStable1.STABLE SIndex1, Arg1, SIndex2, Arg2 |
|
Remarks |
The following table lists the STABLE method setting. SIndex1 : Index of the first clue property Setting Description 1 - Stable_PR Pressure 2 - Stable_TP Temperature 3 - Stable_SVOL Specific volume 4 - Stable_ENTH Enthalpy 5 - Stable_ENTRO Entropy
Arg1 : Value of SIndex1 clue property SIndex2 : Index of the second clue property Settings are same with those of SIndex1.
Arg2 : Value of SIndex2 clue property Units of steam and water properties are set by the Unit properties described in Article 3.3 above.
|
|
Examples |
The sample code to get the superheated steam properties at 100 pressure unit and 650 enthalpy unit is as below. ESStable1.STABLE chyStable_PR, 100, chyStable_ENTH, 650 The codes to set the temperature property returned by the code above to a variable “AAA” are as below. Dim AAA As Single AAA = ESStable1.TP
|
|
Data type |
SIndex1 and SIndex2 - Long integer (Enumerated) Arg1 and Arg2 - Single |
4.2 SSTABLE Method
|
Description |
Gets the properties of saturated steam and saturated water, and then returns the steam and water properties to the OCX properties of PSAT, TSAT, SVOLF/SVOLG, ENTHF/ENTHG and ENTROF/ENGROG. Refer to Article 3.2 above for the OCX properties. |
|
Syntax |
ESStable1.SSTABLE SSIndex, Arg |
|
Remarks |
The following table lists the SSTABLE method setting. SSIndex : Index of the clue property Setting Description 1 - SStable_PR Pressure 2 - SStable_TP Temperature
Arg : Value of SSIndex clue property Units of steam and water properties are set by the Unit properties described in Article 3.3 above.
|
|
Examples |
The sample code to get the saturated steam and water properties at 100 pressure unit is as below. ESStable1.SSTABLE chySStable_PR, 100 The codes to set the saturated steam entropy property returned by the code above to a variable “AAA” are as below. Dim AAA As Single AAA = ESStable1.ENTROG
|
|
Data type |
SSIndex - Long integer (Enumerated) Arg - Single |
4.3 StmVisco Method
|
Description |
Returns the absolute(dynamic) viscosity property of steam or water. |
|
Syntax |
ESStable1.StmVisco(P, T, x) |
|
Remarks |
The following table lists the StmVisco method setting. Setting Description P Pressure T Temperature x Quality x < 1 : Subcooled water x = 0 : Saturated water 0 < x < 1 : Wet steam x = 1 : Saturated steam x > 1 : Superheated steam Units of steam and water properties are set by the Unit properties described in Article 3.3 above. Kinematic viscosity may be calculated by a function of absolute viscosity and specific volume by developer's own codes.
|
|
Examples |
The sample code to return the absolute viscosity of saturated steam at 100 pressure unit and 500 temperature unit is as below. ESStable1.StmVisco(100, 500, 1) The codes to set the absolute viscosity returned by the code above to a variable “AAA” are as below. Dim AAA As Single AAA = ESStable1.StmVisco(100, 500, 1).
|
|
Data type |
P, T, x - Single |
5.1 OKClick Event
|
Description |
Occurs when users click the OK command button by right mouse button. |
|
Syntax |
Private Sub ESStable1_OKClick() |
|
Examples |
Private Sub ESStable1_OKClick() ESStable1.CallingObject.StableChange End Sub |
5.2 CancelClick Event
|
Description |
Occurs when users click the Cancel command button by right mouse button. |
|
Syntax |
Private Sub ESStable1_CancelClick() |
|
Examples |
Private Sub ESStable1_OKClick() Unload Me End Sub |
5.3 UnitChange Event
|
Description |
Occurs when users click the Unit command button by right mouse button. |
|
Syntax |
Private Sub ESStable1_UnitChange() |
|
Examples |
Private Sub ESStable1_UnitChange() frmAAA.StableUnitChanged = True End Sub |
|
|
(End) (TOC)
Copyright (c) 2000 - 2003 ENGSoft Inc., Seoul, Korea, All right reserved.