Upload
leminh
View
218
Download
0
Embed Size (px)
Citation preview
Profit Toolkit
Fractionator ToolkitUser’s Guide
For Open Systems
5/01
Rev 2.0
AP13-101
ii Fractionator Toolkit User’s Guide 5/01
Honeywell Inc.
.
Profit Toolkit
Fractionator ToolkitUser’s Guide
For Open Systems
5/01
Rev 2.0
AP13-101
Copyright, Notices, and Trademarks
Copyright 2001 by Honeywell International Inc.
While this information is presented in good faith and believed to be accurate, Honeywelldisclaims the implied warranties of merchantability and fitness for a particular purpose andmakes no express warranties except as may be stated in its written agreement with and for
its customer.In no event is Honeywell liable to anyone for any indirect, special or consequential
damages. The information and specifications in this document are subject to change withoutnotice.
Profit, TDC 3000, and TotalPlant are registered trademarks of Honeywell International Inc.
Other product names are trademarks of their respective owners.
HoneywellIndustrial Automation and Control
16404 N. Black Canyon HwyPhoenix, AZ 85053
5/01 Fractionator Toolkit User’s Guide iii
Honeywell Inc.
Table of Contents
TABLE OF CONTENTS........................................................................................................III
ABOUT THIS PUBLICATION ...............................................................................................VIStatement of Work.......................................................................................viRelease Information.....................................................................................viRMPCT Course Information ........................................................................viWriting Conventions Used in This Book ......................................................vii
REFERENCES ......................................................................................................................VIIIDocumentation.............................................................................................viiiOpen ............................................................................................................viiiTPS System.................................................................................................viiiEmbedded Uniformance..............................................................................viii
FOR TECHNICAL ASSISTANCE..........................................................................................IXIf You Need Assistance ...............................................................................ixInternational Customers...............................................................................ixCustomers Inside the United States ............................................................ixArizona Customers ......................................................................................ixServices Provided........................................................................................ixTime Saving Tip...........................................................................................ix
SECTION 1 - FRACTIONATOR TOOLKIT FUNCTIONS....................................................11.1 Overview..........................................................................................................1
In this Guide.................................................................................................1HSTool_Frac.DLL........................................................................................1General Description of Functions ................................................................1Input Values.................................................................................................1Arrays...........................................................................................................1Filtering ........................................................................................................1Last Good Value Holding.............................................................................2Biasing .........................................................................................................2A Caution about Bias Values .......................................................................2Engineering Unit Conversion .......................................................................3A Caution about Conversion Factors...........................................................3Function Order.............................................................................................5Using Outputs from Functions as Input to Other Functions ........................6Input Dependencies.....................................................................................7Error Messages Raised by Profit Toolkit .....................................................7Errors Raised by Utility Functions................................................................8
SECTION 2 - ASTM D86 AND EFV POINT (D86_EFV_PT) ..............................................92.1 Overview...........................................................................................................9
In This Section .............................................................................................92.2 Detail Description...............................................................................................10
Calculation Algorithm...................................................................................10
Table of Contents
iv Fractionator Toolkit User’s Guide 5/01
Honeywell Inc.
Associated Functions .................................................................................. 11A Caution about Bias Values....................................................................... 11A Caution about Conversion Factors .......................................................... 11Output table................................................................................................. 13Return Status Table .................................................................................... 14Examples Table .......................................................................................... 16
SECTION 3 - FLASH POINT (FLASH_PT) ........................................................................ 173.1 Overview .......................................................................................................... 17
In This Section............................................................................................. 173.2 Detail Description .............................................................................................. 18
Calculation Algorithm .................................................................................. 18Associated Functions .................................................................................. 20A Caution about Bias Values....................................................................... 20A Caution about Conversion Factors .......................................................... 20Output table................................................................................................. 23Return Status Table .................................................................................... 25Examples Table .......................................................................................... 27
SECTION 4 - FREEZE AND POUR POINT (FREEZ_POUR_PT) ..................................... 314.1 Overview ......................................................................................................... 31
In This Section............................................................................................. 314.2 Detail Description .............................................................................................. 32
Calculation Algorithm .................................................................................. 32Associated Functions .................................................................................. 33A Caution about Bias Values....................................................................... 33A Caution about Conversion Factors .......................................................... 33Output table................................................................................................. 34Return Status Table .................................................................................... 35Examples Table .......................................................................................... 36
SECTION 5 INTERNAL LIQUID AND VAPOR (INT_LANDV) ........................................... 375.1 Overview .......................................................................................................... 37
In This Section............................................................................................. 375.2 Detail Description ............................................................................................. 38
Calculation Algorithm .................................................................................. 38Associated Functions .................................................................................. 40A Caution about Conversion Factors .......................................................... 40Output table................................................................................................. 44Return Status Table .................................................................................... 45Examples Table .......................................................................................... 47
SECTION 6 - MOLE FRACTION (MOLE_FRAC) .............................................................. 516.1 Overview ........................................................................................................... 51
In This Section............................................................................................. 516.2 Detail Description .............................................................................................. 52
Calculation Algorithm .................................................................................. 52Associated Functions .................................................................................. 52Output table................................................................................................. 53
Table of Contents
5/01 Fractionator Toolkit User’s Guide v
Honeywell Inc.
Return Status Table.....................................................................................54Examples Table...........................................................................................55Input/ .............................................................................................................55Output ............................................................................................................55
SECTION 7 - PRESSURE COMPENSATED TEMPERATURE (PCOMPT) ......................577.1 Overview............................................................................................................57
In This Section .............................................................................................577.2 Detail Description...............................................................................................58
Calculation Algorithm...................................................................................58Associated Functions...................................................................................58A Caution about Conversion Factors...........................................................58Input table ....................................................................................................58Output table .................................................................................................60Return Status Table.....................................................................................60Example Table.............................................................................................62
SECTION 8 - REID VAPOR PRESSURE (REID_VAP_PRESS) ........................................638.1 Overview...........................................................................................................63
In This Section .............................................................................................638.2 Detail Description..............................................................................................64
Calculation Algorithm...................................................................................64Associated Functions...................................................................................65A Caution about Bias Values .......................................................................65A Caution about Conversion Factors...........................................................65Output table .................................................................................................69Return Status Table.....................................................................................70
SECTION 9 - TOP INTERNAL LIQUID AND VAPOR (TOP_LANDV) ...............................759.1 Overview...........................................................................................................75
In This Section .............................................................................................759.2 Detail Description..............................................................................................76
Calculation Algorithm...................................................................................76Associated Functions...................................................................................77A Caution about Conversion Factors...........................................................78Output table .................................................................................................80Return Status Table.....................................................................................81
5/01 Fractionator Toolkit User’s Guide vi
Honeywell Inc.
About This PublicationStatement of Work The following table describes the audience, purpose, and scope of this book:
Purpose This book explains how to use the Fractionator functions. It describesthe inputs, outputs and error messages associated with each function.
Audience Process and control engineers
ReleaseInformation
This is document version 2.0 for Fractionator Toolkit Release 200.00.
RMPCT CourseInformation
Honeywell offers several courses that explain the math and conceptualunderpinnings of RMPCT as well as application implementation of the AdvancedProcess Control suite of products.
Engineers wanting a more technical exposure to RMPCT can contact:
Honeywell Automation College
2500 W. Union Hills Drive
Phoenix, AZ 85027
602-313-5669
About This Publication
5/01 Fractionator Toolkit User’s Guide vii
Honeywell Inc.
WritingConventions Usedin This Book
The following writing conventions have been used throughout this book and otherbooks in the Profit Suite library.
• Words in double quotation marks " " name sections or subsections in thispublication.
• Words in italics name book titles, add grammatical emphasis, introducewords that are being referenced or defined, or represent mathematical variables.The context makes the meaning and use clear.
• Words in bold type indicate paragraph topics or bring important phrases toyour attention.
• Shading brings paragraphs and table entries to your attention.
• Windows pull down menus and their options are separated by an anglebracket >. For example, Under Settings> Communications, set the baud rate.
• Messages and information that you type appear in Courier font.
• Acronyms, Scan parameters, point names, file names, and paths appear inUPPERCASE. The context makes the meaning and use clear.
• Command keys appear in UPPERCASE within angle brackets. For example,press <ENTER>.
• TPS user station touch-screen targets appear in rounded boxes. For example,touch MODIFY NODE .
• Graphic buttons appear in UPPERCASE within brackets [ ]. For example,touch [TAG].
• Point-dot-parameter means a point name and one of its parameters. Forexample, point-dot-SP means the SP parameter for the point.
• Zero as a value and when there is a chance for confusion with the letter O isgiven as Ø. In all other cases, zero as a numerical place holder is given as 0. Forexample, 1.0, 10, 101, CVØ1, parameter PØ.
• The terms screen and display are used inter changeably in discussing thegraphical interfaces. The verbs display a screen and call a screen are also usedinter changeably.
• These names, and may be used interchangeably.
Former Name Product Name
RMPCT Profit Controller
DQP Profit Optimizer
APC Development Environment or APCDE Profit Design Studio
RPID Profit PID
5/01 Fractionator Toolkit User’s Guide viii
Honeywell Inc.
References
The following comprise the Profit Suite library.Documentation Title Number
General
Profit Controller (RMPCT) Concepts Reference RM09-400Profit Controller (RMPCT) Designer’s Guide (Off-Line Design) RM11-410Profit Optimizer Designer’s Guide (Off-Line Design) PR11-400Profit Toolkit Designer’s Guide AP11-400APC Identifier User’s Guide AP09-200Profit-PID (RPID) RM11-100Profit Sensor User’s Guide PS09-100
Open
Profit Suite Installation Guide for Open Systems Viewer - Controller - Optimizer - Toolkit
RM20-501
Profit Controller (RMPCT) User’s Guide for Open Systems RM11-401Profit Optimizer User’s Guide for Open Systems PR11-421Profit Trender User’s Guide RM11 431Profit Toolkit User’s Guide for Open Systems AP11-401Profit Toolkit Function Reference AP11-410FCCU Toolkit User’s Guide for Open Systems AP13-201Fractionator Toolkit User’s Guide for Open Systems AP13-101Lab Update User’s Guide AP13-111Wrapper Builder User’s Guide AP11-411Profit Bridge User’s Guide AP20-401
TPS System
Profit Controller (RMPCT) Installation Reference for AM, AxM and Open LCN-Side RM20-400Profit Controller (RMPCT) Commissioning RM20-410Profit Controller (RMPCT) User’s Guide for AM, AxM and Open LCN-Side RM11-400Profit Optimizer Installation Reference for AM and Open LCN-Side PR20-400Profit Optimizer User’s Guide for AM and Open LCN-Side PR11-420Profit Suite ToolKit AP09-300TDC Data ConverterData CollectorStep Test Builder
Performance MonitorRMPCT CascadePV Validation
Simulation BackBuilderGain Scheduler
Fractionator Toolkit (LCN) AP13-100FCCU Toolkit (LCN) AP13-200Furnace Pass Balance Temperature Control User’s Guide AP13-600Non-Linear Level Control User’s Guide AP09-700
Embedded Uniformance
Excel Companion User’s Guide (Profit Embedded PHD) AP20-510Power Point Companion User’s Guide (Profit Embedded PHD) AP20-520Process Trend User’s Guide (Profit Embedded PHD) AP20-530
5/01 Fractionator Toolkit User’s Guide ix
Honeywell Inc.
For Technical Assistance
If You NeedAssistance
If you need technical assistance, contact your local Honeywell ServiceOrganization, as explained in the following paragraphs.
InternationalCustomers
Outside of the United States, contact your local Honeywell Service Organization.If you are not sure of the location or telephone number, call your Honeywellrepresentative for information.
Customers Insidethe United States
Within the United States, call the Technical Assistance Center (TAC) at the tollfree number 1-800-822-7673.
ArizonaCustomers
Within Arizona, the local number for TAC is 602-313-5558.
Services Provided Calls to TAC are answered by a dispatcher from 7:00 A.M. to 5:00 P.M.,Mountain Standard Time (6:00 A.M. to 4:00 P.M. when daylight savings time isin effect).
Outside of these hours, emergency calls—those which affect your ability tocontrol or view a process—will be received by an answering service, andreturned within one hour. TAC maintains its own TPS network, and frequentlycan duplicate problems on this equipment.
Time Saving Tip It is a good idea to make specific notes about the problem before making the call.This helps to reduce delays and expedite answers.
5/01 Fractionator Toolkit User’s Guide 1
Honeywell Inc.
Section 1 - Fractionator Toolkit Functions
1.1 OverviewIn this Guide This guide describes the Open Fractionator Toolkit functions, how to use them,
and the possible error codes associated with their execution. The toolkitfunctions are as follows:
HSTool_Frac.DLL The following functions are located in HSTool_Frac DLL
Functions Description
D86_EFV_Pt Calculates ASTM D86 or the EFV point of a petroleum fraction
Flash_Pt Calculates flash point of a petroleum fraction
Freez_Pour_Pt Calculates freeze or pour point of a petroleum fraction
Int_LandV Internal liquid and vapor calculation
Mole_Frac Mole fraction calculation
PcompT Calculates pressure compensated temperature of a component mixture
Reid_Vap_Press Calculates Reid vapor pressure of a component mixture
Top_LandV Top tray internal liquid and vapor calculation
GeneralDescription ofFunctions
The toolkit functions are set up to have the function calculate an output valuebased on user supplied inputs. The resultant value is filtered to reduce noise,biased and converted to toolkit units. Last good value holding is available forevery function.
Input Values The user has to supply several inputs to ensure a function works properly. Theinputs may come from a variety of places.
• User entered value
• Input from a DCS or other external source via the DSS server
• Output from another function
Depending on the usage of the function, some parameters may not require input.The user can ignore these inputs.
Arrays There are two types of array parameters. Fixed size array parameters anddynamically sized parameters.
The size of a dynamic array is configured during offline configuration. The sizeof the array is dependent on the size of the associated input parameter.
Important Note: The array size for a dynamically sized array can bechanged only in the offline configuration environment.
Filtering Filtering is applied to reduce noise and to ramp a value from its previous value toits current value as smoothly as possible. Currently the filter types available are afirst order lag filter and a first order lag filter with deadtime. These filters areinvoked by selecting a filter type of 1 or 2 (several additional parameters alsohave to be filled in). Other filter types will be available in the future. If filtering is
Section 1 - Fractionator Toolkit Functions1.1 Overview
2 Fractionator Toolkit User’s Guide 5/01
Honeywell Inc.
not required for a specific function, then a filter type of 0 should be selected.Biasing and conversion are sequenced immediately after the filtering.
For the first order lag filter types, in order to filter from a previous value to thecurrent value, it is required to store the previous values. When the user sets up afunction, a storage parameter for the previous value is automatically created. Theuser does not need to manipulate this parameter, but should be aware of itsexistence. This parameter is an array named Filter_Shift.
For several functions, when an intermediate calculated value is being biased, thebias itself is filtered. This prevents a bumping the output value, when the userenters a new bias.
Last Good ValueHolding
Last good value holding is available for each function. This is invoked byentering a positive value in the number of intervals to hold the value(LGV_Num). Last good value is the last function to be invoked. Thus if a badvalue is processed or calculated by the function it will hold the value for thenumber of intervals specified by the user. The user can turn off last good valueholding by setting LGV_Num to 0, or alternately if the user requires the last goodvalue held for an infinite period the user can set LGV_Num to a negative value.
When the user configures a function, storage parameters for last good valueholding are automatically created. The user does not need to manipulate theseparameters, but should be aware of their existence. This parameter is usually anarray named LGV_Values.
Biasing Most Fractionator functions allow biasing of the final output value. The biasvalue is to be input in user units.
A Caution aboutBias Values
Caution
For the convenience of the user the bias is supplied in user units. Most otherinputs are expected in toolkit units.
Section 1 - Fractionator Toolkit Functions1.1 Overview
5/01 Fractionator Toolkit User’s Guide 3
Honeywell Inc.
Engineering UnitConversion
The Fractionator functions conversion factors are required to convert outputparameters from toolkit units to user units. For the main output parameters thefunction will calculate the output in both user and toolkit units. When theconversion factor is a multiplier, the equation takes on the following form:
TK units = User units * Conv_FactImportant Note: Use the process functions to supply inputs to Fractionatorfunctions in toolkit units.
A Caution aboutConversionFactors
CautionGenerally, the conversion factors in the Fractionator function are not used toconvert input parameters to toolkit units, as the Fractionator functions expectthese values to be supplied in toolkit units.
Rather conversion factors Fractionator function are used to convert output valuesto user units.
The following table defines the engineering units handled by the functions:
Engineering Units in Functions
Value
ToolkitUnits
User SuppliedConversion
Factor or Flag
Comment Example Conversion Factor or
Flag
Pressure Psig Multiplier toconvert to Psig
Pounds per square inch – gauge
Gauge Pressure – Most functionsrequire input in these units
User requiresoutput in Kpa
0.14503774
Pressure Psi Multiplier toconvert to Psia
Pounds per square inch.
Local pressure (usually around 14.696psi) should be provided in these units.This allows functions to convert an inputpressure in psig to psia.
Temperature
Deg F Flag indicatingwhether uservalue is in Deg For Deg C
0 indicates Deg F
1 indicates Deg C
Does not support any other temperatureunits.
User requiresoutput inDegC
1 (Flag)
Gravity TK units
Spgr@60DegF/60DegF
Flag indicatingwhether uservalue is inspecific gravityor API
0 indicates Specific Gravity
1 indicates API Gravity
User requiresoutput in APIgravity
1 (Flag)
MassFlow
Mlb/hr Multiplier toconvert to Mlb/hr
If user must convert from volumetric flowto mass flow, then the user mustconsider specific gravity in theconversion.
See examplein Flow_Procroutine.
Section 1 - Fractionator Toolkit Functions1.1 Overview
4 Fractionator Toolkit User’s Guide 5/01
Honeywell Inc.
Engineering Units in Functions
Value
ToolkitUnits
User SuppliedConversion
Factor or Flag
Comment Example Conversion Factor or
Flag
VolumetricFlow
Mbbl/day Multiplier toconvert toMbbl/day
If user must convert from mass flow tovolumetric flow, then the user mustconsider specific gravity in theconversion.
See examplein Flow_Procroutine.
Watson K N/a N/a
Viscosity Centistokes No conversionfactor provided.
User must supply viscosity inCentistokes
Enthalpy MBTU/lb Multiplier toconvert toMBTU/lb
Thousands of BTU per pound.
Heat MMBTU/hr Multiplier toconvert toMMBTU/hr
Millions of BTU per hour.
MoleFraction
N/a N/a
Section 1 - Fractionator Toolkit Functions1.1 Overview
5/01 Fractionator Toolkit User’s Guide 5
Honeywell Inc.
Function Order Function calling order is extremely important in the Fractionator toolkit. Thefunctions are to be ordered/called according to the number shown to the right ofthe function boxes (see next page). When functions are grouped together in thesame row in the diagram, this means that the order relative to other functions inthe same row is not important.
As an example, the process (“_Proc”) functions must be called prior to theinternal liquid and vapor function. The internal liquid and vapor function shouldin turn be called before the top liquid and vapor function… and so on.
For the pressure compensated temperature, Reid vapor pressure and flash pointfunctions routines the main restriction is that they are called after the processfunctions.
See Process Functions User’sGuide for details on ordering of“_Proc” functions.
Top_LandV
Mole_Frac
1
3
4
2
Process Functions
5D86_EFV_Pt
6Freeze_Pour_Pt
Top_LandV
Mole_Frac
Int_LandV
PCompT
D86_EFV_Pt
Freeze_Pour_Pt
Reid_Vap_Press Flash_Pt
7
Section 1 - Fractionator Toolkit Functions1.1 Overview
6 Fractionator Toolkit User’s Guide 5/01
Honeywell Inc.
Using Outputsfrom Functions asInput to OtherFunctions
The functions are designed to connect together. So for example, a user enteringthe input parameters for the Flash_pt function should use the output ofWatsonK_Proc function as the input for the Flash_pt function. This ensures thatthe input is conditioned properly and in the correct units.
The non-Proc functions (Proc functions are the functions named with “_Proc”)are generally designed requiring inputs in toolkit units. So all the user has to do isset up one Proc function for say each temperature, the temperature will then beprocessed (filtered, biased and converted to toolkit units), and ready to use by thenon-Proc functions. Remember to use the Proc output that is in toolkit units asinput to the non-Proc function, as both user and toolkit units are usually available.
The output from a Proc function may be used as input to several other functions.For example, the output gravity (in toolkit units) from the Gravity_Proc functioncan be used as input to the Top_LandV and also the Int_LandV functions.
Fractionator Functions
(Non-Proc functions)
Temperature_Proc
Pressure_Proc
Molwt_Proc
WatsonK_Proc
Gravity_Proc
Flash_pt
Process Functions
(Proc functions)
Mole_Frac
Flow_Proc
Section 1 - Fractionator Toolkit Functions1.1 Overview
5/01 Fractionator Toolkit User’s Guide 7
Honeywell Inc.
The Input Tables below list the function outputs that are recommended for use asinput to another function.
InputDependencies
Input entry may not be required for some of the input parameters. The entryrequirements are determined based on the user entry of some key inputs. Forexample, in the D86_EFV_Pt function, the user is not required to enterparameters relating to the calculation of D86, if the user chooses to calculateEFV.
The Function Input Tables below list the key input parameter dependencies.
Error MessagesRaised by ProfitToolkit
Each function can raise multiple simultaneous error and/or warning messages.
All functions set an array of error statuses (RetStatus) indicating whether error(s)have occurred in a function. Message(s) corresponding to the error(s) are raisedand shown in two places:
• The function array parameter – RetMessage – that can be viewed on theProfit® Viewer Input/Output display.
• On the Profit® Viewer Status Messages display.
The errors can also be looked up in this user’s guide.
Errors are positive values. A status of zero indicates that no error has occurred. Anegative status is a warning. The most common warning is a last good valuewarning. This indicates that last good value holding is active (i.e. the output fromthe function is bad and the last good value is being used). There are several otherwarnings, which can be looked up in the Return Status Tables below.
Section 1 - Fractionator Toolkit Functions1.1 Overview
8 Fractionator Toolkit User’s Guide 5/01
Honeywell Inc.
Errors Raised byUtility Functions
Errors can also be raised by Utility functions that are used by the Fractionatorfunctions. In this case, an error message preceded with the Utility function nameis displayed. For example
Filter – The filter type specified is out of range. Filter Type must be 0 or 1, 2, 3,4 or 5.
In the example shown above, the error was raised by the Filter function.
Utility errors can be looked up in the Profit ToolKit Functions Reference. The listof Utility functions is shown below.
Utility Function Error Status
(The status value returned for Utility functions is the Error Status Value plus100)
Error Status Utility Function1 - 4 Press_PC
5 - 8 Temp_PC
9 - 15 Corr_Grav
16 - 40 Flow_Corr
41 - 46 Filter_First_Ord_Lag
47 - 54 Filter_First_Ord_Lag_Deadtime
55 - 60 Filter
61 - 62 Last_Good_Value
63 - 70 WatK_MABP
71 - 78 WatK_Visc
79 - 82 Mol_WT
83 - 92 Enth_HC
93 - 97 Enth_Stm
98 - 105 Enth_Gas
106 - 111 EFV_Temp
112 - 121 EFV_To_D86
5/01 Fractionator Toolkit User’s Guide 9
Honeywell Inc.
Section 2 - ASTM D86 and EFV Point (D86_EFV_Pt)
2.1 OverviewIn This Section This toolkit function calculates the equilibrium flash vaporization point as well as
the ASTM D86 point at a specified volume percent. Prior to outputting the EFVor ASTM D86 temperature the value is filtered, converted to user units andbiased. Last good value holding is also available.
Section 2 - ASTM D86 and EFV Point (D86_EFV_Pt)2.2 Detail Description
10 Fractionator Toolkit User’s Guide 5/01
Honeywell Inc.
2.2 Detail DescriptionCalculationAlgorithm
The following table shows the algorithm used by D86_EFV_Pt to calculate eitherthe D86 or EFV point:
Calculation Algorithm
Step # Description
1. Filter the added bias. Use the first order lag filter.
Filter the multiplicative bias. Use the first order lag filter.
2. Convert pressure input to absolute units.
• Press_abs = Pressure + Local_Pressure
3. Bias the user supplied mole fraction by multiplying it with the filtered multiplicativebias. Output Biased_Mole_Fraction.
4. Calculate partial pressure in absolute units, psia, then convert to user absoluteunits.
• Partial_Press_TK_Units = press_abs * Biased_Mole_Fraction
• Use Press_Conv_Fact to convert to user absolute units. Output bothPartial_Press_TK_Units and Partial_Press_User_Units.
5. Call the EFV_Temp utility function to calculate the EFV. EFV is output in toolkitunits.
EFV = EFV_Temp (Temperature, Partial_Press_TK_Units, WatK)
6. If Calc_Type > 0 then calculate D86.
Call the EFV_To_D86 utility function to calculate the D86. D86 is output in toolkitunits.
D86 = EFV_To_D86 (EFV, Gravity, Calc_Type, CoeffA, CoeffB, CoeffC)
7. Convert EFV to user units. If Calc_Type > 0 then also convert D86 to user units.
8. Filter the EFV or D86 based on the supplied Filter_Type.
9. Bias the filtered EFV or D86 user value by adding the Bias.
10. Convert the bias user value back to toolkit units.
11. Call Last_Good_Value utility function to provide last good value processing. Afterthis function the EFV is stored in EFV_User_Units and EFV_TK_Units. If the D86calculation is selected then the D86 is stored in D86_User_Units andD86_TK_Units. EFV_TK_Units and D86_TK_Units can be used as input to otherfunctions.
Section 2 - ASTM D86 and EFV Point (D86_EFV_Pt)2.2 Detail Description
5/01 Fractionator Toolkit User’s Guide 11
Honeywell Inc.
AssociatedFunctions
This function requires inputs from the following functions:
• Temperature_Proc
• Pressure_Proc
• Gravity_Proc
• WatsonK_Proc
• Mole_FracA Caution aboutBias Values
CautionFor the convenience of the user the bias (Added_Bias_Raw) is supplied in userunits. Most other inputs are expected in toolkit units.
A Caution aboutConversionFactors
CautionConversion factors (D86_EFV_Conv_Fact) are provided to convert output values touser units.
Input Table
Input[ ] denotes array
Source Entry onlyReq’d if
Eng. Units Description
Calc_Type Flag indicating whether to calculate EFVor D86 (0 = Calculate EFV, 1 = D86 0%,2 = D86 10%, 3 = D86 30%, 4 = D8650%, 5 = D86 70%, 6 = D86 90%, 7 =D86 100%, 8 = user supplied coefficientsfor D86 Calculation)
Temperature Temperature_Proc
TK units Deg F Stream temperature
Pressure Pressure_Proc TK units psig Stream pressure
Local_Pressure Psi Local atmospheric pressure
WatK WatK_Proc Watson K factor of the stream.
Mole_Fraction Mole_Frac Mole fraction of the stream material inequilibrium.
Multiply_Bias_Raw
Multiplicative bias applied to the molefraction
Multiply_Bias_Filt_Time
Minutes Filter time for the mole fractionmultiplicative bias
Gravity Gravity_Proc Calc_Type > 0 TK units Spgr@60DegF/60DegF
Specific gravity of the stream.
CoeffA Calc_Type = 8 User supplied A coefficient
CoeffB Calc_Type = 8 User supplied B coefficient
Section 2 - ASTM D86 and EFV Point (D86_EFV_Pt)2.2 Detail Description
12 Fractionator Toolkit User’s Guide 5/01
Honeywell Inc.
Input Table
Input[ ] denotes array
Source Entry onlyReq’d if
Eng. Units Description
CoeffC Calc_Type = 8 User supplied C coefficient
Filter_Type Filter to be used (0 = none, 1 = First orderlag filter, 2 to 5 not yet supported). Detailsof how to use the filter functions can befound in Profit Toolkit FunctionsReference.
Filter_Coeff_Num
Number of filter coefficients being passed.Not required if Filter Type = 0. Details ofhow to use the filter functions can befound in Profit Toolkit FunctionsReference.
Filter_Coeff[ ] Filter coefficients being passed in. Notrequired if Filter Type = 0. Details of howto use the filter functions can be found inProfit Toolkit Functions Reference.
Filter_Shift_Num
Number of past values necessary for filter.Not required if Filter Type = 0. Details ofhow to use the filter functions can befound in Profit Toolkit FunctionsReference.
Etime Application\ETime Minutes Application execution time
Press_Conv_Fact
Multiplier to go from user units to psi.Used to output partial pressure in userabsolute units.
Added_Bias_Raw
User units Additive bias applied to the EFV or D86
Added_Bias_Filt_Time
Minutes Filter time for the additive bias
D86_EFV_Conv_Fact
Flag indicating D86 or EFV temperatureuser units (0 = Deg F; 1 = Deg C).
Section 2 - ASTM D86 and EFV Point (D86_EFV_Pt)2.2 Detail Description
5/01 Fractionator Toolkit User’s Guide 13
Honeywell Inc.
Input Table
Input[ ] denotes array
Source Entry onlyReq’d if
Eng. Units Description
LGV_Num The number of intervals to hold the lastgood value.
If LGV_Num > 0, this indicates thenumber of intervals the last good valuewill be held.
If LGV_Num = 0, then last good valueprocessing is turned off.
If LGV_Num < 0, then the last good valuewill be held indefinitely.
For more details see Profit ToolkitFunctions Reference.
RetNum The maximum number of simultaneouserror messages that can be raised for thisfunction.
Output table The output table provides a description of the function outputs.
Output Table
Output[ ] denotes array
Eng. Units Description
Ret_Status Number of errors/warnings. Ret_Status is positive when the highest prioritymessage is an error. Ret_Status is negative when the highest priority messageis a warning. Ret_Status is zero, when there are no warnings or errors.
RetStatus[RetNum] Array of current function return statuses. See Return Status Table below fordetails.
RetMessage[RetNum] Array of current Error/Warning Messages.
RetFloat[RetNum] Array of float arguments for error messages. For internal use only.
RetString[RetNum] Array of string arguments for error messages. For internal use only.
Partial_Press_User_Units
User units Calculated partial pressure in absolute user units
Partial_Press_TK_Units
TK units psia Calculated partial pressure
Biased_Mole_Fraction Calculated biased Mole fraction used to determine the partial pressure
EFV_User_Units User units Calculated equilibrium flash vaporization point (EFV) point. This value iscalculated for EFV and D86 calculations.
EFV_TK_Units TK units DegF
Calculated equilibrium flash vaporization point (EFV) point. This value iscalculated for EFV and D86 calculations.
Section 2 - ASTM D86 and EFV Point (D86_EFV_Pt)2.2 Detail Description
14 Fractionator Toolkit User’s Guide 5/01
Honeywell Inc.
Output Table
Output[ ] denotes array
Eng. Units Description
D86_User_Units User units Calculated ASTM D86 point. If Calc_Type is set to zero then the D86 value isnot calculated.
D86_TK_Units TK units DegF
Calculated ASTM D86 point. If Calc_Type is set to zero then the D86 value isnot calculated.
LGV_Count Counter of number of intervals last good value held
LGV_Values[2] Last good value storage array for key output variables
Filter_Shift[ ] Previous filtered value storage
Multiply_Bias_Shift Previous filtered mole fraction multiplicative bias storage
Added_Bias_Shift Previous filtered additive bias storage
Return StatusTable
Shows the error and warning messages associated with the function.
Return Status
Status value Description
0 No error occurred
1 The additive bias is a bad value.
2 The multiplicative bias is a bad value.
3 The pressure is a bad value.
4 The local pressure is a bad value.
5 The mole fraction is a bad value.
6 Pressure conversion factor is a bad value
7 Pressure conversion factor is less than or equal to zero.
8 Calculation type must be between 0 and 8.
9 The D86/EFV conversion factor is a bad value
10 The filtered additive bias is a bad value.
11 The multiplicative bias is less than or equal to zero.
12 Errors filtering the additive bias. See associated message from Filter function
13 Errors filtering the multiplicative bias. See associated message from Filter function
14 Errors calculating the EFV temperature. See associated message from EFV_Tempfunction
15 Errors calculating the D86 point. See associated message from EFV_To_D86function
16 Errors filtering the D86/EFV. See associated message from Filter function
Section 2 - ASTM D86 and EFV Point (D86_EFV_Pt)2.2 Detail Description
5/01 Fractionator Toolkit User’s Guide 15
Honeywell Inc.
Return Status
Status value Description141 - 146 An error occurred in the Filter_First_Ord_Lag function. Details of the error can be
found by looking up the resulting status value in the Profit Toolkit FunctionsReference.
155 - 160 An error occurred in the Filter function. Details of the error can be found by lookingup the resulting status value in the Profit Toolkit Functions Reference.
206 - 211 An error occurred in the EFV_Temp function. Details of the error can be found bylooking up the resulting status value in the Profit Toolkit Functions Reference
212 - 221 An error occurred in the EFV_to_D86 function. Details of the error can be found bylooking up the resulting status value in the Profit Toolkit Functions Reference.
Negative errors Last good value holding is active. The error that is causing the bad value can bedetermined by looking up the positive of the error value
Section 2 - ASTM D86 and EFV Point (D86_EFV_Pt)2.2 Detail Description
16 Fractionator Toolkit User’s Guide 5/01
Honeywell Inc.
Examples Table The following table shows example calculations (showing settings for the maininputs and outputs) for the D86_EFV_PT function.
Examples Table
Parameter Input /Output
Example 1 –EFV
Calculation
Example 2 –D86 30%
Calculation
Comment
Calc_Type I 0 3 Example 1 - Calculate EFV OnlyExample 2 – EFV & E86 30%
Temperature I 450.00 Deg F 528.00 Deg F Note that temperature must be provided intoolkit units
Pressure I 15.309 psig 1.1000 psig Note that pressure must be provided in toolkitunits
Gravity I 0.9260 Gravity not required for EFV only calculation
Local_Pressure I 14.696 psi 14.696 psi
WatK I 11.500 12.090
Mole_Fraction I 1 0.9
Multiply_Bias_Raw I 1 1.3
Multiply_Bias_Filt_Time I 0 0
CoeffA I
CoeffB I
CoeffC I
Filter_Type I 0 0
Added_Bias_ Raw I
Added_Bias_ Filt_Time I
Press_Conv_Fact I 1 1 Only required to output partial pressure inuser absolute units.
D86_EFV_Conv_Fact I 1 0 Only required to output EFV/D86 in user units.
Ret_Status O 0 0
Partial_Press_ User_Units O 30.005 18.481
Partial_Press_ TK_Units O 30.005 18.481
Biased_Mole_Fraction O 1.0000 1.1700
EFV_User_Units O 200.32 Deg C 508.68 Deg F
EFV_TK_Units O 392.57 Deg F 508.68 Deg F
D86_User_Units O -------- 480.95 Deg F In Example 1 – D86 is not calculated
D86_TK_Units O -------- 480.95 Deg F In Example 1 – D86 is not calculated
5/01 Fractionator Toolkit User’s Guide 17
Honeywell Inc.
Section 3 - Flash Point (Flash_Pt)
3.1 OverviewIn This Section This toolkit function calculates the flash point of a petroleum fraction after it has
exited a stripper. The stripper can either be stripper medium based or reboiledbased. The draw flow can either be supplied or calculated. Prior to outputting theflash temperature the value is filtered, converted to user units and biased. Lastgood value holding is also available.
Section 3 - Flash Point (Flash_Pt)3.2 Detail Description
18 Fractionator Toolkit User’s Guide 5/01
Honeywell Inc.
3.2 Detail DescriptionCalculationAlgorithm
The following table shows the algorithm used by Flash _Pt to calculate the flashpoint:
Calculation Algorithm
Step # Description
1. Filter the added bias. Use the first order lag filter
Filter the multiplicative bias. Use the first order lag filter.
2. Sum the product flows to get total product flow.
Total_product_flow = Σ Product_Flow[i]
3. If a stripping medium is being used (i.e. Strip_Med_Type = 0) calculate the molefraction as follows:
Convert total product flow and unit feed flow to volume.
Product_Vol_Flow = Total_product_flow / Product_Gravity
Feed_Vol_Flow = Unit_Feed_Flow / Unit_Feed_Gravity
Calculate the Product Yield.
Product_Yield = Product_Vol_Flow / Feed_Vol_Flow
If Draw_Flow_Type = 0 then Draw_Flow is supplied by the user.
If Draw_Flow_Type = 1 then calculate Draw_Flow by first calculatingFraction_Stripped:
Fraction_Stripped = ƒ(deltaT, Fraction_Stripped_Nels_Const ,Fraction_Stripped_Coeff, Draw_Temperature , Strip_Med_Temperature,Strip_Med_Flow, Total_product_flow)
Calcd_Draw_Flow = ƒ(Fraction_Stripped, Total_product_flow)
Convert Calcd_Draw_Flow to user units for output purposes.
Now that all flow streams are known. Calculate moles for each stream.
Draw_Moles = Draw_Flow / Product_Molwt
Product_Moles = Total_product_flow / Draw_Molwt
Strip_Med_Moles = Strip_Med_Flow / Strip_Med_Molwt
Calculate the moles of the material stripped.
Stripped_moles = Draw_Moles - Product_Moles
Calculate the mole fraction for the stripping medium based stripper
Calcd_Mole_Fraction = stripped_moles / (stripped_moles + Strip_Med_Moles)
Section 3 - Flash Point (Flash_Pt)3.2 Detail Description
5/01 Fractionator Toolkit User’s Guide 19
Honeywell Inc.
Calculation Algorithm
Step # Description
5. For a reboiled stripper the mole fraction is supplied by the user in parameter
Mole_Fraction.
Calcd_Mole_Fraction = Mole_Fraction
6. Bias the mole fraction by multiplying it with the filtered multiplicative bias, store thisvalue in Biased_Mole_Fraction.
7. Calculate partial pressure, then convert to user units.
Convert pressure input to absolute units
press_abs = Pressure + Local_Pressure
Calculate the partial pressure in toolkit units
Partial_Press_TK_Units = press_abs * Biased_Mole_Fraction
Convert the partial pressure to user absolute units and output inPartial_Press_User_Units
8. Call the EFV_Temp utility function to calculate the EFV. EFV is output in toolkit units.
EFV = EFV_Temp (Product_Temperature, Partial_Press_TK_Units,Product_WatK)
9. If stripper medium is being used (i.e. Strip_med_type = 0 ) then bias the efv based onthe yield.
EFV = EFV - (Product_Yield * Product_Yield_Gain)
10. Call the EFV_To_D86 Utility function to calculate the D86 10%. D86 is output in toolkitunits.
D86 = EFV_To_D86 (EFV, Product_Gravity, D86_Type, CoeffA, CoeffB,CoeffC)
11. Convert the EFV, yield biased EFV and D86 to user units.
Output EFV_User_Units, Yield_Biased_EFV_User_Units andD86_User_Units.
12. Calculate the flash point based on the D86 10% point.
Flash_Pt = ƒ(D86 10%)
13. Convert the flash point to user units.
14. Filter the flash point based on the supplied Filter_Type.
15. Bias the filtered flash point user value by adding the filtered additive bias.
16. Convert the bias user value back to toolkit units.
17. Call Last_Good_Value utility function to provide last good value processing. After thisfunction the flash point is stored in Value_User_Units and Value_TK_Units.Value_TK_Units can be used as input to other functions.
Section 3 - Flash Point (Flash_Pt)3.2 Detail Description
20 Fractionator Toolkit User’s Guide 5/01
Honeywell Inc.
AssociatedFunctions
This function requires inputs from the following functions:
• Temperature_Proc
• Pressure_Proc
• Gravity_Proc
• WatsonK_Proc
• Molwt_ProcA Caution aboutBias Values
CautionFor the convenience of the user the bias (Added_Bias_Raw) is supplied in userunits. Most other inputs are expected in toolkit units.
A Caution aboutConversionFactors
CautionConversion factors (Draw_Flow_Conv_Fact, Press_Conv_Fact, Flash_Conv_Fact) areprovided to convert output values to user units.
Input Table A Caution about Conversion Factors
Input[ ] denotes array
Source Only Req’d if Eng. Units Description
Product_Num Number of streams that make up the totalproduct
Product_Flow[ ] Flow_Proc TK units Mlb/hr Array of product flows
Strip_Med_Type Stripping mechanism to use (0 = Strippingmedium stripper, 1 = Reboiled)
Mole_Fraction Strip_Med_Type = 1 Mole fraction of the material stripped
Multiply_Bias_
Raw
Multiplicative bias applied to thecalculated mole fraction
Multiply_Bias_
Filt_Time
Minutes Filter time for the calculated mole fractionmultiplicative bias
Product_
Temperature
Temperature_Proc
TK units Deg F Product temperature in
Product_Gravity Gravity_
Proc
TK units Spgr@60DegF/60DegF
Product specific gravity.
Product_WatK WatsonK_
Proc
Product Watson K factor.
Product_Molwt Molwt_Proc Strip_Med_Type = 0 Product molecular weight.
Section 3 - Flash Point (Flash_Pt)3.2 Detail Description
5/01 Fractionator Toolkit User’s Guide 21
Honeywell Inc.
Input Table A Caution about Conversion Factors
Input[ ] denotes array
Source Only Req’d if Eng. Units Description
Product_Yield_
Gain
Strip_Med_Type = 0 Multiplier applied to the calculated productyield
Strip_Med_Flow Molwt_Proc Strip_Med_Type = 0 TK units Mlb/hr Mass flow of Stripping medium enteringthe stripper
Strip_Med_Temperature
Temperature_Proc
Strip_Med_Type = 0
Draw_Flow_Type = 1
TK units Deg F Stripping medium temperature
Strip_Med_Molwt Molwt_Proc Strip_Med_Type = 0 TK units Stripping medium molecular weight
Unit_Feed_Flow Flow_Proc Strip_Med_Type = 0 TK units Mlb/hr Feed to the column
Unit_Feed_Gravity
Gravity_
Proc
Strip_Med_Type = 0 TK units Spgr@60DegF/60DegF
Specific gravity of the unit feed stream.
Draw_Temperature
Temperature_Proc
Strip_Med_Type = 0 TK units Deg F Draw flow temperature
Draw_Molwt Molwt_Proc Strip_Med_Type = 0 Draw flow molecular weight.
Draw_Flow_Type Strip_Med_Type = 0 Flag indicating whether to calculate thedraw flow or to use user supplied one (0 =user supplied, 1 =calculate)
Draw_Flow Flow_Proc Strip_Med_Type = 0
Draw_Flow_Type = 0
TK units Mlb/hr Draw mass flow entering the stripper
Draw_Flow_Conv_Fact
Strip_Med_Type = 0
Draw_Flow_Type = 1
Multiplier to go from user units to Mlb/hr.Used to output calculated draw flow inuser units.
Draw_Gravity Gravity_
Proc
Strip_Med_Type = 0
Draw_Flow_Type = 1
TK units Spgr@60DegF/60DegF
Draw flow specific gravity.
Fraction_Stripped_Nels_Const
Strip_Med_Type = 0
Draw_Flow_Type = 1
Nelson's constant used to calculate thepercent of material stripped
Fraction_Stripped_Coeff
Strip_Med_Type = 0
Draw_Flow_Type = 1
Constant used to calculate the percent ofmaterial stripped.
Stripper_Amb_DeltaT
Strip_Med_Type = 0 TK units Deg F Temperature drop across the stripper dueto ambient heat
Pressure Pressure_
Proc
TK units psig Process pressure
Local_Pressure psi Local atmospheric pressure
Press_Conv_Fact Multiplier to go from user units to psi.Used to output partial pressure in userabsolute units.
Section 3 - Flash Point (Flash_Pt)3.2 Detail Description
22 Fractionator Toolkit User’s Guide 5/01
Honeywell Inc.
Input Table A Caution about Conversion Factors
Input[ ] denotes array
Source Only Req’d if Eng. Units Description
D86_Type Calculation to perform (2= d86 10%,8=User supplied EFV to D86 coefficientsto calculate 10% point)
CoeffA D86_Type = 8 The A coefficient in the EFV to D86conversion
CoeffB D86_Type = 8 The B coefficient in the EFV to D86conversion
CoeffC D86_Type = 8 The C coefficient in the EFV to D86conversion
Filter_Type Filter to be used (0 = none, 1 = First orderlag filter, 2 to 5 not yet supported). Detailsof how to use the filter functions can befound in Profit Toolkit FunctionsReference.
Filter_Coeff_Num Number of filter coefficients being passed.Not required if Filter Type = 0. Details ofhow to use the filter functions can befound in Profit Toolkit FunctionsReference.
Filter_Coeff[ ] Filter coefficients being passed in. Notrequired if Filter Type = 0. Details of howto use the filter functions can be found inProfit Toolkit Functions Reference.
Filter_Shift_Num Number of past values necessary for filter.Not required if Filter Type = 0. Details ofhow to use the filter functions can befound in Profit Toolkit FunctionsReference.
Etime Application\ETime
Minutes Application execution time
Added_Bias_Raw User units Additive bias applied to the flash pointtemperature
Added_Bias_Filt_Time
Minutes Filter time for the flash point temperatureadditive bias
Flash_Conv_Fact Flag indicating flash point temperatureuser units (0 = Deg F; 1 = Deg C). Usedto output flash in user units.
Section 3 - Flash Point (Flash_Pt)3.2 Detail Description
5/01 Fractionator Toolkit User’s Guide 23
Honeywell Inc.
Input Table A Caution about Conversion Factors
Input[ ] denotes array
Source Only Req’d if Eng. Units Description
LGV_Num The number of intervals to hold the lastgood value.
If LGV_Num > 0, this indicates thenumber of intervals the last good valuewill be held.
If LGV_Num = 0, then last good valueprocessing is turned off.
If LGV_Num < 0, then the last good valuewill be held indefinitely.
For more details see Profit ToolkitFunctions Reference.
RetNum The maximum number of simultaneouserror messages that can be raised for thisfunction.
Output table The output table provides a description of the function outputs.
Output table
Output[ ] denotes array
Eng. Units Description
Ret_Status Number of errors/warnings. Ret_Status is positive when the highest prioritymessage is an error. Ret_Status is negative when the highest priority messageis a warning. Ret_Status is zero, when there are no warnings or errors.
RetStatus[RetNum] Array of current function return statuses. See Return Status Table below fordetails.
RetMessage[RetNum] Array of current Error/Warning Messages.
RetFloat[RetNum] Array of float arguments for error messages. For internal use only.
RetString[RetNum] Array of string arguments for error messages. For internal use only.
EFV_User_Units User units Calculated EFV of the stripped material
D86_User_Units Calculated D86 10% point of the stripped material
Yield_Biased_EFV_User_Units
User units EFV after biasing with yield
Fraction_Stripped Fraction of material stripped out of the draw
Calcd_Mole_
Fraction
Calculated mole fraction of the material stripped only calculated if theStrip_Med_Type = 0
Section 3 - Flash Point (Flash_Pt)3.2 Detail Description
24 Fractionator Toolkit User’s Guide 5/01
Honeywell Inc.
Output table
Output[ ] denotes array
Eng. Units Description
Biased_Mole_
Fraction
Mole fraction used to calculate the partial pressure
Partial_Press_
User_Units
User units Partial pressure of the stripped material in user absolute units
Partial_Press_TK_Units TK units psia Partial pressure of the stripped material
Calcd_Draw_Flow User units Calculated draw volumetric flow. If the draw flow is user supplied this value is notcalculated.
Draw_Moles lb-moles/hr Calculated moles of the draw
Product_Moles lb-moles/hr Calculated moles of the product
Strip_Med_Moles lb-Moles/hr Calculated moles of the stripping medium
Product_Yield Calculated yield of the product
Value_User_Units User units Calculated flash point temperature
Value_TK_Units TK units Deg F Calculated flash point temperature in
Prod_in_Error No longer used.
LGV_Count Counter of number of intervals last good value held
LGV_Values[2] Last good value storage array for key output variables
Filter_Shift[ ] Previous filtered value storage
Multiply_Bias_Shift Previous filtered multiplicative bias storage
Added_Bias_Shift Previous filtered additive bias storage
Section 3 - Flash Point (Flash_Pt)3.2 Detail Description
5/01 Fractionator Toolkit User’s Guide 25
Honeywell Inc.
Return StatusTable
Shows the error and warning messages associated with the function.
Return Status Table
Status value Description
0 No error occurred
1 The additive bias is a bad value.
2 The multiplicative bias is a bad value.
3 The number of product streams is a bad value.
4 The number of product streams is less than zero.
5 Product flow is a bad value. Product number %d is the product in error.
6 Stripper medium type must be either 0 or 1.
7 Draw temperature is a bad value
8 Product temperature is a bad value
9 Stripper ambient delta is a bad value
10 Product gravity is a bad value
11 Product gravity is less than or equal to zero.
12 Unit feed flow is a bad value
13 Unit feed flow is less than or equal to zero.
14 Unit feed gravity is a bad value
15 Unit feed gravity is less than or equal to zero.
16 Spare message.
17 Draw flow type must be either 0 or 1.
18 Fraction stripped Nelson constant is a bad value
19 Stripping medium temperature is a bad value
20 Fraction stripped coefficient is a bad value
21 The sum of all the product flow is less than or equal to zero.
22 The fraction stripped coefficient is negligible or zero.
23 The calculated fraction stripped must be between 0 and 1.
24 Draw flow conversion factor is a bad value
25 Draw flow conversion factor is less than or equal to zero.
26 Draw gravity is a bad value
27 Draw gravity is less than or equal to zero.
28 Draw flow is a bad value
29 Product molecular weight is a bad value
Section 3 - Flash Point (Flash_Pt)3.2 Detail Description
26 Fractionator Toolkit User’s Guide 5/01
Honeywell Inc.
Return Status Table
Status value Description
30 Product molecular weight is less than or equal to zero.
31 Draw molecular weight is a bad value
32 Draw molecular weight is less than or equal to zero.
33 Stripper medium weight is a bad value
34 Stripper medium molecular weight is less than or equal to zero.
35 Stripper medium flow is a bad value
36 Mole fraction is a bad value
37 Pressure is a bad value
38 Local pressure is a bad value
39 Pressure conversion factor is a bad value
40 Pressure conversion factor is less than or equal to zero.
41 Product yield gain is a bad value
42 The ASTM D86 10% calculation type must be either 2 or 8.
43 Flash point conversion factor is a bad value
44 The multiplicative bias is less than or equal to zero.
45 The Draw_Moles – Product_Moles + Strip_Med_Moles is equal to zero. Can't calculateCalcd_Mole_Fraction
46 Errors filtering the additive bias. See associated message from Filter function
47 Errors filtering the multiplicative bias. See associated message from Filter function
48 Errors calculating the EFV temperature. See associated message from EFV_Temp function
49 Errors calculating the D86 point. See associated message from EFV_To_D86 function
50 Errors filtering the flash point. See associated message from Filter function
141 - 146 An error occurred in the Filter_First_Ord_Lag function. Details of the error can be found by looking upthe resulting status value in the Profit Toolkit Functions Reference
155 - 160 An error occurred in the Filter function. Details of the error can be found by looking up the resultingstatus value in the Profit Toolkit Functions Reference
206 - 211 An error occurred in the EFV_Temp function. Details of the error can be found by looking up theresulting status value in the Profit Toolkit Functions Reference
212 - 221 An error occurred in the EFV_To_D86 function. Details of the error can be found by looking up theresulting status value in the Profit Toolkit Functions Reference
Negative errors Last good value holding is active. The error that is causing the bad value can be determined bylooking up the positive of the error value.
Section 3 - Flash Point (Flash_Pt)3.2 Detail Description
5/01 Fractionator Toolkit User’s Guide 27
Honeywell Inc.
Examples Table The following table shows example calculations (showing settings for the maininputs and outputs) for the Flash_PT function.
Examples Table
Parameters
[ ] denotesarray
Input /Output
Example 1 – Calculatedraw flow, Strippermedium type stripper.Output flash, EFV andD86 in Deg C.
Example 2 – Usersupplied draw flow,Stripper medium typestripper. Output flash,EFV and D86 in Deg F.
Comment
Product_Num I 1 1
Product_Flow[ ] I 39613 Mlb/hr 39613 Mlb/hr Flow is mass flow in toolkitunits
Strip_Med_Type I 0 0
Mole_Fraction I 1 1
Multiply_Bias_
Raw
I 1 1
Multiply_Bias_
Filt_Time
I 0 0
Product_
Temperature
I 385.00 Deg F 385.00 Deg F
Product_Gravity I 0.8090 spgr 0.8090 spgr
Product_WatK I 11.866 11.866
Product_Molwt I 171.61 171.61
Product_Yield_
Gain
I 0.2600 0.2600
Strip_Med_Flow I 719.50 Mlb/hr 719.50 Mlb/hr
Strip_Med_Temperature
I 375.00 Deg F 375.00 Deg F
Strip_Med_Molwt I 18 18
Unit_Feed_Flow I 347012.35 Mlb/hr 347012.35 Mlb/hr
Unit_Feed_Gravity
I 0.8086 spgr 0.8086 spgr
Draw_Temperature
I 420.10 Deg F 420.10 Deg F
Draw_Molwt I 174.11 174.11
Draw_Flow_Type I 1 0 Draw flow is provided inexample 2 and iscalculated in example 1.
Section 3 - Flash Point (Flash_Pt)3.2 Detail Description
28 Fractionator Toolkit User’s Guide 5/01
Honeywell Inc.
Examples Table
Parameters
[ ] denotesarray
Input /Output
Example 1 – Calculatedraw flow, Strippermedium type stripper.Output flash, EFV andD86 in Deg C.
Example 2 – Usersupplied draw flow,Stripper medium typestripper. Output flash,EFV and D86 in Deg F.
Comment
Draw_Flow I 42572.79 Mlb/hr Draw flow is provided inexample 2 and iscalculated in example 1.
Draw_Flow_Conv_Fact
I 1
Draw_Gravity I 0.8086 spgr
Fraction_Stripped_Nels_Const
I 0.8000
Fraction_Stripped_Coeff
I 5.0000
Pressure I 41.8 psig 41.8 psig
Local_Pressure I 14.696 psi 14.696 psi
Press_Conv_Fact I 1 0.1450 Example 2, multiplier toconvert from Kpa to psi.
D86_Type I 2 2
CoeffA I
CoeffB I
CoeffC I
Filter_Type I 0 0
Added_Bias_Raw I 1 1
Added_Bias_Filt_Time
I 0 0
Flash_Conv_Fact I 1 0 Example 1 temperatureoutputs are in Deg C.
Example 2 temperatureoutputs are in Deg F.
Ret_Status O 0 0
EFV_User_Units O 197.07 Deg C 386.74 Deg C
D86_User_Units O 175.77 Deg C 348.39 Deg C
Yield_Biased_EFV_User_Units
O 195.43 Deg C 383.77 Deg C
Fraction_Stripped O 0.0695 --------
Calcd_Mole_Fract O 0.2550 0.2550
Section 3 - Flash Point (Flash_Pt)3.2 Detail Description
5/01 Fractionator Toolkit User’s Guide 29
Honeywell Inc.
Examples Table
Parameters
[ ] denotesarray
Input /Output
Example 1 – Calculatedraw flow, Strippermedium type stripper.Output flash, EFV andD86 in Deg C.
Example 2 – Usersupplied draw flow,Stripper medium typestripper. Output flash,EFV and D86 in Deg F.
Comment
ion
Biased_Mole_Fraction
O 0.2550 0.2550
Partial_Press_User_Units
O 14.408 psia 99.362 kpa Example 2 is output inKpa, see pressureconversion factor above
Partial_Press_TK_Units
O 14.408 psia 14.408 psig
Calcd_Draw_Flow O 52650. Mlb/hr -------- Draw flow output is involumetric flow units.
Draw_Moles O 244.52 244.52
Product_Moles O 230.83 230.83
Product_Yield O 11.410 11.410
Strip_Med_Moles O 39.972 39.972
Value_User_Units O 53.992 Deg C 129.19 Deg F
Value_TK_Units O 129.19 Deg F 129.19 Deg F
Prod_in_Error O 0 0
Section 3 - Flash Point (Flash_Pt)3.2 Detail Description
30 Fractionator Toolkit User’s Guide 5/01
Honeywell Inc.
5/01 Fractionator Toolkit User’s Guide 31
Honeywell Inc.
Section 4 - Freeze and Pour Point (Freez_Pour_Pt)
4.1 OverviewIn This Section This toolkit function calculates the freeze point or pour point of a petroleum
fraction. The calculation requires the ASTM D86 50% point and the parafinicityto determine where within a high and low range the actual values exists. Prior tooutputting the freeze or pour point temperature the value is filtered, converted touser units and biased. Last good value holding is also available.
Section 4 - Freeze and Pour Point (Freez_Pour_Pt)4.2 Detail Description
32 Fractionator Toolkit User’s Guide 5/01
Honeywell Inc.
4.2 Detail DescriptionCalculationAlgorithm
The following table shows the algorithm used by Freez_Pour_Pt to calculate thefreeze or pour point:
Calculation Algorithm
Step # Description
1. Filter the added bias. Use the first order lag filter.
2. Calculate the Temperature Boiling Point (TBP 50%) which is a function of D86 50%.
TBP_TK_Units = ƒ( D86_50)
3. Calculate the freeze point range (high and low) based on the TBP 50% point and Watson K.
Hi_Value_TK_Units = ƒ( TBP_TK_Units, WatK)
Lo_Value_TK_Units. = ƒ( TBP_TK_Units, WatK)
4. Calculate the Watson K ratio WatK_Ratio.
WatK_Ratio = ƒ(WatK)
5. Calculate the freeze point in toolkit units by interpolating between the high and low range using theWatson K ratio.
Freeze_Point = ƒ(Hi_Value_TK_Units, Lo_Value_TK_Units, WatK_Ratio)
6. If the user requires pour point to be calculated (i.e. Calc_Type = 1) then calculate the pour point as afunction of freeze point.
Pour_Point = ƒ( Freeze_Point)
7. Convert freeze or pour point to user units.
8. Filter the calculated freeze or pour point based on the supplied Filter_Type.
9. Bias the filtered freeze or pour point user value by adding the filtered additive Bias.
10. Convert the biased freeze or pour point back to toolkit units.
11. Call Last_Good_Value utility function to provide last good value processing. After this function thefreeze or pour point is stored in Value_User_Units and Value_TK_Units. Value_TK_Units can be usedas input to other functions.
Section 4 - Freeze and Pour Point (Freez_Pour_Pt)4.2 Detail Description
5/01 Fractionator Toolkit User’s Guide 33
Honeywell Inc.
AssociatedFunctions
This function requires inputs from the following functions:
• D86_EFV_Pt
• WatsonK_Proc
A Caution aboutBias Values
CautionFor the convenience of the user the bias (Added_Bias_Raw) is supplied in userunits. Most other inputs are expected in toolkit units.
A Caution aboutConversionFactors
CautionConversion factors (Conv_Fact) are provided to convert output values to userunits.
Input Table A Caution about Conversion Factors
Input[ ] denotes array
Source Only Req’dif
Eng. Units Description
D86_50 D86_EFV_Pt TK unit Deg F ASTM D86 50% point
WatK WatsonK_Proc Watson K factor
Calc_Type Flag indicating whether to calculate freeze orpour point (0 = Freeze, 1 = Pour)
Filter_Type Filter to be used (0 = none, 1 = First orderlag filter, 2 to 5 not yet supported). Details ofhow to use the filter functions can be foundin Profit Toolkit Functions Reference.
Filter_Coeff_Num Number of filter coefficients being passed.Not required if Filter Type = 0. Details of howto use the filter functions can be found inProfit Toolkit Functions Reference.
Filter_Coeff[ ] Filter coefficients being passed in. Notrequired if Filter Type = 0. Details of how touse the filter functions can be found in ProfitToolkit Functions Reference.
Filter_Shift_Num Number of past values necessary for filter.Not required if Filter Type = 0. Details of howto use the filter functions can be found inProfit Toolkit Functions Reference.
Etime Application\ETime
Minutes Application execution time
Added_Bias_Raw User units Additive bias applied to the freeze or pourpoint
Added_Bias_Filt_Time
Minutes Filter time for the additive bias
Section 4 - Freeze and Pour Point (Freez_Pour_Pt)4.2 Detail Description
34 Fractionator Toolkit User’s Guide 5/01
Honeywell Inc.
Input Table A Caution about Conversion Factors
Input[ ] denotes array
Source Only Req’dif
Eng. Units Description
Conv_Fact Flag indicating freeze or pour point userunits (0 = Deg F; 1 = Deg C). Used to outputfreeze or pour point in user units.
LGV_Num The number of intervals to hold the last goodvalue.
If LGV_Num > 0, this indicates the numberof intervals the last good value will be held.
If LGV_Num = 0, then last good valueprocessing is turned off.
If LGV_Num < 0, then the last good valuewill be held indefinitely.
For more details see Profit Toolkit FunctionsReference.
RetNum The maximum number of simultaneous errormessages that can be raised for thisfunction.
Output table The output table provides a description of the function outputs.
Output table
Output[ ] denotes array
Eng. Units Description
Ret_Status Number of errors/warnings. Ret_Status is positive when the highest prioritymessage is an error. Ret_Status is negative when the highest priority messageis a warning. Ret_Status is zero, when there are no warnings or errors.
RetStatus[RetNum] Array of current function return statuses. See Return Status Table below fordetails.
RetMessage[RetNum]
Array of current Error/Warning Messages.
RetFloat[RetNum] Array of float arguments for error messages. For internal use only.
RetString[RetNum] Array of string arguments for error messages. For internal use only.
TBP_TK_Units TK units Deg F Calculated TPB point
Lo_Value_TK_Units TK units Deg F Low TPB range value
Hi_Value_TK_Units TK units Deg F High TPB range value
HiLo_Delta TK units Deg F Difference between hi and low TPB range
Section 4 - Freeze and Pour Point (Freez_Pour_Pt)4.2 Detail Description
5/01 Fractionator Toolkit User’s Guide 35
Honeywell Inc.
Output table
Output[ ] denotes array
Eng. Units Description
WatK_Ratio Interpolation value used to determine location within the high and low value TPBrange
Value_User_Units User units Calculated temperature value
Value_TK_Units TK units Deg F Calculated temperature value
LGV_Count Counter of number of intervals last good value held
LGV_Values[2] Last good value storage array for key output variables
Filter_Shift[ ] Previous filtered value storage
Added_Bias_Shift Previous additive bias
Return StatusTable
Shows the error and warning messages associated with the function.
Return Status Table
Status value Description
0 No error occurred
1 The additive bias is a bad value.
2 The ASTM D86 50% point is a bad value.
3 The Watson K factor is a bad value.
4 The Watson K factor is less than 11.3
5 The Watson K is factor greater than 12.1
6 Calculation Type must be either 0 or 1.
7 Conversion Factor input is a bad value
8 Errors filtering the additive bias. See associated message from Filter function
9 Errors filtering the freeze/pour point. See associated message from Filterfunction
141 - 146 An error occurred in the Filter_First_Ord_Lag function. Details of the error canbe found by looking up the resulting status value in the Profit Toolkit FunctionsReference
155 - 160 An error occurred in the Filter function. Details of the error can be found bylooking up the resulting status value in the Profit Toolkit Functions Reference
Negative errors Last good value holding is active. The error that is causing the bad value canbe determined by looking up the positive of the error value
Section 4 - Freeze and Pour Point (Freez_Pour_Pt)4.2 Detail Description
36 Fractionator Toolkit User’s Guide 5/01
Honeywell Inc.
Examples Table The following table shows example calculations (showing settings for the maininputs and outputs) for the Freez_Pour_Pt function.
Examples Table
Parameters Input /Output
Example 1 –Flash Point inDeg F
Example 2 –Flash Point inDeg C
Example 3 –Pour Point inDeg F
Example 4 –Pour Point inDeg C
D86_50 I 422 Deg F 422 Deg F 352.55 Deg F 352.55 Deg F
WatK I 12.0 12.0 11.300 11.300
Calc_Type I 0 0 1 1
Filter_Type I 0 0 0 0
Added_Bias_Raw I 0 0 0 0
Conv_Fact I 0 1 0 1
Ret_Status O 0 0 0 0
TBP_TK_Units O 426.48 Deg F 426.48 Deg F 355.50 Deg F 355.50 Deg F
Lo_Value_TK_Units O -42.178 Deg F -42.178 Deg F -95.702 Deg F -95.702 Deg F
Hi_Value_TK_Units O -4.3280 Deg F -4.3280 Deg F -71.520 Deg F -71.520 Deg F
HiLo_Delta O -37.850 Deg F -37.850 Deg F -24.182 Deg F -24.182 Deg F
WatK_Ratio O 0.7500 0.7500 0.0000 0.0000
Value_User_Units O -13.790 Deg F -25.439 Deg C -100.70 Deg F -73.723 Deg C
Value_TK_Units O -13.790 Deg F -13.790 Deg F -100.70 Deg F -100.70 Deg F
5/01 Fractionator Toolkit User’s Guide 37
Honeywell Inc.
Section 5 Internal Liquid and Vapor (Int_LandV)
5.1 OverviewIn This Section This toolkit function calculates the internal liquid and vapor flow inside a
distillation column. The calculation is based on a material and energy balancearound a user specified envelope. This function also calculates the enthalpy of theinternal liquid and vapors streams. Prior to outputting the internal liquid andinternal vapor the value is filtered, converted to user units and biased. Last goodvalue holding is also available.
Section 5 Internal Liquid and Vapor (Int_LandV)5.2 Detail Description
38 Fractionator Toolkit User’s Guide 5/01
Honeywell Inc.
5.2 Detail DescriptionCalculationAlgorithm
The following table shows the algorithm used by Int_LandV to calculate theinternal liquid and vapor.
Calculation Algorithm
Step # Description1. Calculate the Qnet:
Calculate the heat contribution of each stream (do not include streams that are steam at the envelope).
If Stream_Qvap_Type != 4 then
Heat_Contribution[i] = Stream_Flow[i] * Stream_Enth[i] * Stream_In_or_Out[i]
Filter the Heat_Contribution for each stream. Use the first order lag filter.
Sum up the filtered Heat_Contribution’s of each stream. This provides the Qnet value.
Qnet = Σ Heat_Contribution[i]
2. Calculate Qvap for streams characterized as vapor or gas at the envelope.
Do the following for each stream:
If Stream_Qvap_Type = Vapor then call Utility function Enth_HC to calculate the enthalpy of the vaporstream at the envelope.
Stream_Vap_Enth[i] = Enth_HC(Vap_Temperature, Vap_Pressure, Stream_Gravity[i], Stream_WatK[i],STREAM_VAPOR, Local_Pressure)
If Stream_QVap_Type = Gas then call Utility function Enth_Gas to calculate the enthalpy of the gas streamat the envelope.
Stream_Vap_Enth[i] = Enth_Gas(Vap_Temperature, Stream_CoeffA[i], Stream_CoeffB[i],Stream_CoeffC[i], Stream_CoeffD[i], Stream_CoeffE[i], Stream_CoeffF[i])
If Stream_QVap_Type = Steam then call Utility function Enth_Stm to calculate the enthalpy of the steamstream at the envelope.
Stream_Vap_Enth[i] = Enth_Stm(Vap_Temperature, Vap_Pressure,Local_Pressure, sat_temp, sat_enth)
Calculate the heat contribution of each stream that is characterized as vapor or gas at the envelope.
Heat_Contribution[i] = Stream_Flow[i] * Stream_Vap_Enth[i] * Stream_In_or_Out[i]
If steam then:
Heat_Contribution[i] = Stream_Flow[i] * Stream_Vap_Enth[i] * Stream_In_or_Out[i] * -1
Note:
Sum up the Heat_Contribution’s of each stream. This provides the Qvap value.
Qvap = Σ Heat_Contribution[i]
Section 5 Internal Liquid and Vapor (Int_LandV)5.2 Detail Description
5/01 Fractionator Toolkit User’s Guide 39
Honeywell Inc.
Calculation Algorithm
Step # Description3. Call the Utility function Enth_HC to calculate internal liquid and vapor enthalpy.
Liq_Enth_TK_Units = Enth_HC(Liq_Temperature, Liq_Pressure, Liq_Gravity, Liq_WatK, STREAM_LIQUID,Local_Pressure)
Vap_Enth_TK_Units = Enth_HC(Vap_Temperature, Vap_Pressure, Vap_Gravity, Vap_WatK,STREAM_VAPOR, Local_Pressure)
4. Convert internal liquid and vapor enthalpy to user units.Output the value in Liq_Enth_User_Units and Vap_Enth_User_Units.
5. Calculate internal liquid rate via a simultaneous material and energy balance. Incorporate Qloss into thecalculation.Liq = (Qnet + Qloss – Qvap) / (Vap_Enth_TK_Units - Liq_Enth_TK_Units)
6. If the Calc_Direction is bottom->up then set the internal liquid value negative.
7. CALCULATE INTERNAL VAPOR RATECalculate the sum of the mass flows for the streams that are characterized as vapor, gas or steam at theenvelope. Note: These are the same streams that the form Qvap.If Stream_Vap_Type = 2, 3 or 4 thenVap = ΣStream_Flow[I] * Stream_In_or_Out[i]Calculate the internal vapor rateVap = Vap + Liq
8. If the user requires the internal liquid to be output as a volumetric-flow (i.e. User_V_or_M = 0) then convertfrom mass-flow to volumetric-flow.Liq = Liq / Liq_Gravity.Vap = Vap / Vap_Gravity.
9. Call Utility function Mol_WT to calculate the molecular weight of the liquid and vapor for output purposesonly.Liq_Molwt = Mol_WT(Liq_Gravity, Liq_WatK)Vap_Molwt. = Mol_WT(Vap _Gravity, Vap _WatK)
10. Filter the internal liquid and internal vapor based on the supplied Filter_Type.
11. Convert the internal liquid and vapor to user units.
12. Call Last_Good_Value utility function to provide last good value processing. After this function the internalliquid is stored in Liq_Value_User_Units and Liq_Value_TK_Units and the vapor liquid is stored inVap_Value_User_Units and Vap_Value_TK_Units Liq_Value_TK_Units and Vap_Value_TK_Units can beused as input to other functions.
Section 5 Internal Liquid and Vapor (Int_LandV)5.2 Detail Description
40 Fractionator Toolkit User’s Guide 5/01
Honeywell Inc.
Calculation Algorithm
Step # DescriptionAssociatedFunctions
This function requires inputs from the following functions:
• Flow_Proc
• WatsonK_Proc
• Enth_Proc
• Temperature_Proc
• Pressure_Proc
• Gravity_ProcA Caution aboutConversionFactors
CautionConversion factors (Enth_Conv_Fact, Flow_Conv_Fact) are provided to convert outputvalues to user units.
Input Table A Caution about Conversion Factors
Input[ ] denotes array
Source Only Req’d if Eng. Units Description
Stream_Num Number of streams in the envelope(do not include internal Liquid andVapor streams).
Stream_Flow[ ] Flow_Proc Stream_Num > 0 TK units Mlb/hr Mass Flow of each stream
Stream_In_or_Out[ ] Stream_Num > 0 Defines the orientation of eachstream relative to the envelope (-1= in, 1 = out)
Stream_QVap_Type[]
Stream_Num > 0 Characteristic of the stream asvapor at the envelope (0 = Not inQVAP calculation, 2 = vapor, 3 =gas, 4=Steam).
Stream_Gravity[ ] Gravity_Proc Stream_Num > 0
Stream_Qvap_Type= 2
TK units Spgr@60DegF/60DegF
Gravity of the stream which ischaracterized as vapor at theenvelope.
Stream_WatK[ ] WatsonK_Proc Stream_Num > 0
Stream_Qvap_Type= 2
Watson K factor of the streamwhich is characterized as vapor atthe envelope.
Stream_Enth[ ] Enth_Proc Stream_Num > 0Stream_Qvap_Type!= 4
TK units MBTU/lb Enthalpy of each stream. Used incalculating Qnet.
Note: The enthalpy is not requiredfor streams that are steam atenvelope.
Section 5 Internal Liquid and Vapor (Int_LandV)5.2 Detail Description
5/01 Fractionator Toolkit User’s Guide 41
Honeywell Inc.
Input Table A Caution about Conversion Factors
Input[ ] denotes array
Source Only Req’d if Eng. Units Description
Stream_HcHold[ ] Stream_Num > 0 Saved hydrocarbon correctionvalue for stream enthalpy.
Note: The user is not required toenter this value
Enth_Conv_Fact Multiplier to convert from user unitsto toolkit units MBTU/lb. Used tooutput enthalpy in user units.
Stream_CoeffA[ ] Stream_QVap_Type = 3
Gas enthalpy A coefficient. Usedby Enth_Gas utility routine.Entered as listed in API.
Stream_CoeffB[ ] Stream_QVap_Type = 3
Gas enthalpy B coefficient. Usedby Enth_Gas utility routine.Entered as listed in API
Stream_CoeffC[ ] Stream_QVap_Type = 3
Gas enthalpy C coefficient. Usedby Enth_Gas utility routine.Entered as listed in API. EnterC*103
Stream_CoeffD[ ] Stream_QVap_Type = 3
Gas enthalpy D coefficient. Usedby Enth_Gas utility routine.Entered as listed in API. EnterD*106
Stream_CoeffE[ ] Stream_QVap_Type = 3
Gas enthalpy E coefficient. Usedby Enth_Gas utility routine.Entered as listed in API. EnterE*1010
Stream_CoeffF[ ] Stream_QVap_Type = 3
Gas enthalpy F coefficient. Usedby Enth_Gas utility routine.Entered as listed in API. EnterF*1015
Stream_Lag_Time[ ] Minutes Lag time for the streams QNETcontribution
Liq_Temperature Temperature_Proc
TK units Deg F Temperature of liquid at theenvelope
Liq_Pressure Pressure_Proc TK units psig Pressure of the liquid at theenvelope
Liq_Gravity Gravity_Proc TK units Spgr@60DegF/60DegF
Gravity of the liquid at theenvelope in specific gravity units.
Liq_WatK WatsonK_Proc Watson K factor of the liquid at theenvelop.
Section 5 Internal Liquid and Vapor (Int_LandV)5.2 Detail Description
42 Fractionator Toolkit User’s Guide 5/01
Honeywell Inc.
Input Table A Caution about Conversion Factors
Input[ ] denotes array
Source Only Req’d if Eng. Units Description
Liq_HcHold Saved hydrocarbon correctionvalue for liquid enthalpy
Note: The user is not required toenter this value
Vap_Temperature Temperature_Proc
TK units Deg F Temperature of vapor at theenvelop
Vap_Pressure Pressure_Proc TK units psig Pressure of the vapor at theenvelope
Vap_Gravity Gravity_Proc TK units Spgr@60DegF/60DegF
Gravity of the vapor at the envelop
Vap_WatK WatsonK_Proc Watson K factor of the vapor at theenvelop.
Vap_HcHold Saved hydrocarbon correctionvalue for vapor enthalpy
Note: The user is not required toenter this value
Qloss MMBTU Envelope’s heat lost to theambient
Calc_Direction Envelope direction (1 = top->down,-1 = bottom->up)
Local_Pressure Psi Local atmospheric pressure
Filter_Type Filter to be used (0 = none, 1 =First order lag filter, 2 to 5 not yetsupported). Details of how to usethe filter functions can be found inProfit Toolkit Functions Reference.
Filter_Coeff_Num Number of filter coefficients beingpassed. Not required if Filter Type= 0. Details of how to use the filterfunctions can be found in ProfitToolkit Functions Reference.
Filter_Coeff[ ] Filter coefficients being passed in.Not required if Filter Type = 0.Details of how to use the filterfunctions can be found in ProfitToolkit Functions Reference.
Section 5 Internal Liquid and Vapor (Int_LandV)5.2 Detail Description
5/01 Fractionator Toolkit User’s Guide 43
Honeywell Inc.
Input Table A Caution about Conversion Factors
Input[ ] denotes array
Source Only Req’d if Eng. Units Description
Filter_Shift_Num Number of past values necessaryfor filter. Not required if Filter Type= 0. Details of how to use the filterfunctions can be found in ProfitToolkit Functions Reference.
Etime Application\ETime
Minutes Application execution time
Flow_Conv_Fact Multiplier to go from user flow unitsto toolkit units (Mlb/hr). Used tooutput internal liquid and vaporvalues in user units.
User_V_or_M Certain flow values are output inuser units. This Flag indicateswhether these outputs should bevolumetric or mass flow. (0 =volumetric flow, 1 = mass flow)
LGV_Num The number of intervals to hold thelast good value.
If LGV_Num > 0, this indicates thenumber of intervals the last goodvalue will be held.
If LGV_Num = 0, then last goodvalue processing is turned off.
If LGV_Num < 0, then the lastgood value will be held indefinitely.
For more details see Profit ToolkitFunctions Reference.
RetNum The maximum number ofsimultaneous error messages thatcan be raised for this function.
Section 5 Internal Liquid and Vapor (Int_LandV)5.2 Detail Description
44 Fractionator Toolkit User’s Guide 5/01
Honeywell Inc.
Output table The output table provides a description of the function outputs.
Output table
Output[ ] denotes array
Eng. Units Description
Ret_Status Number of errors/warnings. Ret_Status is positive when the highest prioritymessage is an error. Ret_Status is negative when the highest priority messageis a warning. Ret_Status is zero, when there are no warnings or errors.
RetStatus[RetNum] Array of current function return statuses. See Return Status Table below fordetails.
RetMessage[RetNum] Array of current Error/Warning Messages.
RetFloat[RetNum] Array of float arguments for error messages. For internal use only.
RetString[RetNum] Array of string arguments for error messages. For internal use only.
Liq_Value_User_Units User units Calculated internal liquid value. Depending on the setting of User_V_or_M, thisvalue is either output in volumetric or mass flow.
Liq_Value_TK_Units TK units Mlb/hr Calculated internal liquid value (mass flow)
Vap_Value_User_Units User units Calculated internal vapor value. Depending on the setting of User_V_or_M, thisvalue is either output in volumetric or mass flow.
Vap_Value_TK_Units TK units Mlb/hr Calculated internal vapor value (mass flow)
Liq_Enth_User_Units User units Enthalpy of the internal liquid
Liq_Enth_TK_Units TK unitsMBTU/lb
Enthalpy of the internal liquid
Vap_Enth_User_Units User units Enthalpy of the internal vapor
Vap_Enth_TK_Units TK unitsMBTU/lb
Enthalpy of the internal vapor
Liq_Molwt Molecular weight of the internal liquid
Vap_Molwt Molecular weight of the internal liquid
Qnet TK unitsMMBTU/hr
Heat duty of the input streams to the envelope
Qvap TK unitsMMBTU/hr
Heat duty of the input streams as vapor at the envelope
Stream_in_Error No longer used.
Liq_LGV_Count Number of intervals liquid last good value held.
Vap_LGV_Count Number of intervals vapor last good value held.
Liq_LGV_Values[5] Last good values storage array for key internal liquid output variables
Vap_LGV_Values[5] Last good values storage array for key internal vapor output variables
Filter_Shift[ ] Previous filtered value storage
Section 5 Internal Liquid and Vapor (Int_LandV)5.2 Detail Description
5/01 Fractionator Toolkit User’s Guide 45
Honeywell Inc.
Output table
Output[ ] denotes array
Eng. Units Description
Stream_Vap_Enth[ ] TK unitsMBTU/lb
Calculated enthalpy of each input stream as vapor at the envelope
Stream_Qnet[ ] Previous lagged stream QNET value
Stream_HcHold[ ] Saved hydrocarbon correction value for stream enthalpy.
Return StatusTable
Shows the error and warning messages associated with the function.
Return Status Table
Statusvalue
Description
0 No error occurred
1 The user-entered number of streams is either a bad value or less than zero.
2 Stream flow is a bad value. Stream number ____ is the stream in error.
3 Stream enthalpy is a bad value. Stream number ____ is the stream in error.
4 Stream In or Out is a bad value. Stream number ____ is the stream in error.
5 Stream In or Out must be either –1 or 1. Stream number ____ is the stream in error.
6 Stream type must be 0, 1, 2, 3 or 4. Stream number ____ is the stream in error.
7 Enthalpy conversion factor is a bad value.
8 Enthalpy conversion factor is less than or equal to zero.
9 Qloss (the envelope’s heat lost to the ambient) is a bad value
10 The difference between the calculated vapor enthalpy and liquid enthalpy is negligible or zero.
11 Calculation direction is a bad value.
12 Calculation direction must be either -1 or 1.
13 The selected volumetric or mass output type (User_VorM) must be either 0 or 1.
14 Liquid gravity is a bad value
15 Liquid gravity is a negligible or zero.
16 Internal liquid and vapor conversion (flow) factor is a bad value
17 Internal liquid and vapor conversion (flow) factor is less than or equal to zero.
18 Vapor gravity is a bad value
19 Vapor gravity is a negligible or zero.
20 Errors filtering Stream QNET for stream number %d. See associated message from Filter function
21 Errors calculating hydrocarbon enthalpy for stream number %d. See associated message from Enth_Hc
Section 5 Internal Liquid and Vapor (Int_LandV)5.2 Detail Description
46 Fractionator Toolkit User’s Guide 5/01
Honeywell Inc.
Return Status Table
Statusvalue
Description
function
22 Errors calculating gas enthalpy for stream number %d. See associated message from Enth_Gas function
23 Errors calculating steam enthalpy for stream number %d. See associated message from Enth_Gas function
24 Errors calculating liquid enthalpy. See associated message from Enth_Hc function
25 Errors calculating vapor enthalpy. See associated message from Enth_Hc function
26 Errors filtering internal liquid. See associated message from Filter function
27 Errors calculating liquid molecular weight. See associated message from Mol_Wt function
28 Errors calculating vapor molecular weight. See associated message from Mol_Wt function
101 - 104 An error occurred in the Press_PC function. Details of the error can be found by looking up the resultingstatus value in the Profit Toolkit Functions Reference
105 - 108 An error occurred in the Temp_PC function. Details of the error can be found by looking up the resultingstatus value in the Profit Toolkit Functions Reference
141 - 146 An error occurred in the Filter_First_Ord_Lag function. Details of the error can be found by looking up theresulting status value in the Profit Toolkit Functions Reference
155 - 160 An error occurred in the Filter function. Details of the error can be found by looking up the resulting statusvalue in the Profit Toolkit Functions Reference
179 - 182 An error occurred in the Mol_WT function. Details of the error can be found by looking up the resulting statusvalue in the Profit Toolkit Functions Reference
183 - 192 An error occurred in the Enth_HC function. Details of the error can be found by looking up the resulting statusvalue in the Profit Toolkit Functions Reference
193 - 197 An error occurred in the Enth_Stm function. Details of the error can be found by looking up the resultingstatus value in the Profit Toolkit Functions Reference
198 - 205 An error occurred in the Enth_Gas function. Details of the error can be found by looking up the resultingstatus value in the Profit Toolkit Functions Reference
Negativeerrors
Last good value holding is active. The error that is causing the bad value can be determined by looking upthe positive of the error value.
Section 5 Internal Liquid and Vapor (Int_LandV)5.2 Detail Description
5/01 Fractionator Toolkit User’s Guide 47
Honeywell Inc.
Examples Table The following table shows example calculations (showing settings for the maininputs and outputs) for the Int_LandV function.
Examples Table
Parameters
[ ] denotes array
Input /Output
Example
(Note that commas separate each of the 15 inputs)
Stream_Num I 15
Stream_Flow[1..15] I 38.45166, 28.70702, 2.663225, 26.127883, 147.46615, 93.01587,13.100425, 500.135687, 500.135687, 45.932883, 495.2436, 495.2436,151.0788, 108.87714, 393.6856
Stream_In_or_Out[1..15] I 1, 1, -1, -1, 1, 1, 1, -1, 1, -1, -1, 1, -1, -1, 1
Stream_QVap_Type[1..15] I 3, 0, 0, 4, 2, 2, 2, 0, 0, 2, 0, 0, 2, 2, 2
Stream_Gravity[1..15] I 0, 0, 0.7303, 0.869, 0.76, 0.869, 0.8836, 0.8099, 0.8099, 0.8484, 0.8821,0.8821, 0.9378, 0.9378, 0.933
Stream_WatK[1..15] I 0, 0, 12.5474, 11.9245, 11.9057, 11.9245, 11.1935, 12.4546, 12.4546,12.0729, 12.0251, 12.0251, 11.9521, 11.9521, 11.6001
Stream_Enth[1..15] I 1.33615, 1.16995, 1.37367, 0, 0.339196, 0.261147, 0.385018229,0.195141196, 0.230502442, 0.277441949, 0.214917243, 0.340237767,0.328458905, 0.418759108, 0.426987052
Stream_CoeffA[1..15] I 120.092, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
Stream_CoeffB[1..15] I 0.863233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
Stream_CoeffC[1..15] I 0.22007, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
Stream_CoeffD[1..15] I 0.0079603, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
Stream_CoeffE[1..15] I 0.163615, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
Stream_CoeffF[1..15] I 0.287534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
Stream_Lag_Time[1..15] I 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
Stream_Qnet[ ] I 3, 4, 4, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
Liq_Temperature I 647.123
Liq_Pressure I 0.242384
Liq_Gravity I 0.933
Liq_WatK I 11.6001
Liq_HcHold I 0
Vap_Temperature I 679.9784
Vap_Pressure I 0.242384
Vap_Gravity I 0.933
Vap_WatK I 11.6001
Section 5 Internal Liquid and Vapor (Int_LandV)5.2 Detail Description
48 Fractionator Toolkit User’s Guide 5/01
Honeywell Inc.
Examples Table
Parameters
[ ] denotes array
Input /Output
Example
(Note that commas separate each of the 15 inputs)
Vap_HcHold I 0
Qloss I 0.6
Calc_Direction I 1
Enth_Conv_Fact I 1
Local_Pressure I 14.696
Filter_Type I 0
Filter_Coeff_Num I 1
Filter_Coeff\1 I 6
Filter_Shift_Num I 1
Filter_Shift\1 I 0
Etime I 1
Flow_Conv_Fact I 1
User_V_or_M I 1
LGV_Num I 0
RetNum I 10
Ret_Status O 0
Liq_Value_User_Units O 211.8202209
Liq_Value_TK_Units O 211.8202209
Vap_Value_User_Units O 591.651123
Vap_Value_TK_Units O 591.651123
Liq_Enth_User_Units O 0.426987052
Liq_Enth_TK_Units O 0.426987052
Vap_Enth_User_Units O 0.537580788
Vap_Enth_TK_Units O 0.537580788
Liq_Molwt O 375.997406
Vap_Molwt O 375.997406
Liq_HcHold O ----
Vap_HcHold O -0.032461792
Qnet O 300.5473022
Qvap O 277.7213135
Stream_in_Error O 0
Stream_Vap_Enth[1..15] 1.379411101, ----, ----, 1.373252153, 0.587197959, 0.557193041,0.537536323, ----, ----, 0.564419389, ----, ----, 0.54768312, 0.54768312,0.537580788
Section 5 Internal Liquid and Vapor (Int_LandV)5.2 Detail Description
5/01 Fractionator Toolkit User’s Guide 49
Honeywell Inc.
Examples Table
Parameters
[ ] denotes array
Input /Output
Example
(Note that commas separate each of the 15 inputs)
Stream_Qnet[1..15] 51.37718582, 33.58577728, -3.658392191, ----, 50.01992798,24.29081535, 5.043902397, -97.59707642, 115.2824936, -12.74370861, -106.4363861, 168.5005798, -49.62317657, -45.59329224, 168.0986633
Stream_HcHold[1..15] ----, ----, ----, ----, 0.043954659, 0.018291477, 0.051843423, ----, ----,0.024502385, ----, ----, -0.222201854, -0. 222201854, -0.032461792
Section 5 Internal Liquid and Vapor (Int_LandV)5.2 Detail Description
50 Fractionator Toolkit User’s Guide 5/01
Honeywell Inc.
5/01 Fractionator Toolkit User’s Guide 51
Honeywell Inc.
Section 6 - Mole Fraction (Mole_Frac)
6.1 OverviewIn This Section This toolkit function calculates the mole fraction of a component mixture. The
mole fraction calculated represents the portion of the mixture that is inequilibrium at the process conditions (i.e. temperature and pressure). This is thenused to determine the portion of the pressure the material at equilibrium exerts onthe system. The calculated mole fraction is then filtered. Last good value holdingis also available.
Section 6 - Mole Fraction (Mole_Frac)6.2 Detail Description
52 Fractionator Toolkit User’s Guide 5/01
Honeywell Inc.
6.2 Detail DescriptionCalculationAlgorithm
The following table shows the algorithm used by Mole_Frac to calculate the molefraction:
Calculation Algorithm
Step # Description
1. Calculate the moles in the numerator and denominator by summing up the moles for eachstream.
• Stream_Moles[I] = Stream_Flow[i] / Stream_Molwt[i]
• Moles_Numerator = Σ Stream_Moles[i] (for streams where Stream_Numerator[i] = 1)
• Moles_Denominator = Σ Stream_Moles[i] (in effect total moles)
2. Calculate the mole fraction
Mole_Frac = Moles_Numerator / Moles_Denominator
3. Filter the mole fraction based on the supplied Filter_Type.
4. Call Last_Good_Value utility function to provide last good value processing. After thisfunction the mole fraction is stored in Value_TK_Units. Value_TK_Units can be used asinput to other functions.
AssociatedFunctions
This function requires inputs from the following functions:
• Flow_Proc
• Molwt_Proc
Associated Functions
Input[ ] denotes array
Source Only Req’d if Eng. Units Description
Stream_Num Number of streams included in calculation
Stream_Flow[ ] Flow_Proc Stream_Num > 0 TK unitsMlb/hr
Mass Flow of each stream.
Stream_Numerator[ ] Stream_Num > 0 Flag indicating whether to include the streamin the numerator of calculation (0 = no, 1 =yes). One flag per stream.
Stream_Molwt[ ] Molwt_Proc Stream_Num > 0 Molecular weight of each stream.
Filter_Type Filter to be used (0 = none, 1 = First order lagfilter, 2 to 5 not yet supported). Details of howto use the filter functions can be found inProfit Toolkit Functions Reference.
Section 6 - Mole Fraction (Mole_Frac)6.2 Detail Description
5/01 Fractionator Toolkit User’s Guide 53
Honeywell Inc.
Associated Functions
Input[ ] denotes array
Source Only Req’d if Eng. Units Description
Filter_Coeff_Num Number of filter coefficients being passed. Notrequired if Filter Type = 0. Details of how touse the filter functions can be found in ProfitToolkit Functions Reference.
Filter_Coeff[ ] Filter coefficients being passed in. Notrequired if Filter Type = 0. Details of how touse the filter functions can be found in ProfitToolkit Functions Reference.
Filter_Shift_Num Number of past values necessary for filter. Notrequired if Filter Type = 0. Details of how touse the filter functions can be found in ProfitToolkit Functions Reference.
Etime Application\ETime
Minutes Application execution time
LGV_Num The number of intervals to hold the last goodvalue.
If LGV_Num > 0, this indicates the number ofintervals the last good value will be held.
If LGV_Num = 0, then last good valueprocessing is turned off.
If LGV_Num < 0, then the last good value willbe held indefinitely.
For more details see Profit Toolkit FunctionsReference.
RetNum The maximum number of simultaneous errormessages that can be raised for this function.
Output table The output table provides a description of the function outputs.
Output table
Output[ ] denotes array
Eng. Units Description
Ret_Status Number of errors/warnings. Ret_Status is positive when the highest prioritymessage is an error. Ret_Status is negative when the highest priority messageis a warning. Ret_Status is zero, when there are no warnings or errors.
RetStatus[RetNum] Array of current function return statuses. See Return Status Table below fordetails.
RetMessage[RetNum]
Array of current Error/Warning Messages.
Section 6 - Mole Fraction (Mole_Frac)6.2 Detail Description
54 Fractionator Toolkit User’s Guide 5/01
Honeywell Inc.
Output table
Output[ ] denotes array
Eng. Units Description
RetFloat[RetNum] Array of float arguments for error messages. For internal use only.
RetString[RetNum] Array of string arguments for error messages. For internal use only.
Moles_Numerator Moles Total moles in the numerator
Moles_Denominator Moles Total moles in the denominator
Stream_Moles[ ] lb-moles/hr Moles of each stream
Stream_in_Error No longer used.
Value_TK_Units Calculated mole fraction
LGV_Count Counter of number of intervals last good value held
LGV_Values[1] Last good value storage array for key output variables
Filter_Shift[ ] Previous filtered value storage
Return StatusTable
Shows the error and warning messages associated with the function.
Return Status Table
Statusvalue
Description
0 No error occurred
1 Number of streams is a bad value.
2 Number of streams is less than zero.
3 Stream flow is a bad value. Stream number ____ is the stream in error.
4 Stream molecular weight is a bad value. Stream number ____ is the stream in error.
5 Stream molecular weight is less than or equal to zero. Stream number ____ is the stream in error.
6 Stream numerator is a bad value. Stream number ____ is the stream in error.
7 Stream numerator must be either 0 or 1. Stream number ____ is the stream in error.
8 The calculated Moles_Denominator is zero or negligible.
9 Errors filtering mole fraction. See associated message from Filter function
141 -146
An error occurred in the Filter_First_Ord_Lag function. Details of the error can be found by looking up theresulting status value in the Profit Toolkit Functions Reference
155 -160
An error occurred in the Filter function. Details of the error can be found by looking up the resulting statusvalue in the Profit Toolkit Functions Reference
Negativeerrors
Last good value holding is active. The error that is causing the bad value can be determined by looking up thepositive of the error value
Section 6 - Mole Fraction (Mole_Frac)6.2 Detail Description
5/01 Fractionator Toolkit User’s Guide 55
Honeywell Inc.
Examples Table The following table shows example calculations (showing settings for the maininputs and outputs) for the Mole_Frac function.
Parameters Input/
Output
Example 1 – MoleFrac= 1 Example 2 – MoleFrac= 0.5
Stream_Num I 5 5
Stream_Flow\1 I 100 200
Stream_Flow\2 I 110 100
Stream_Flow\3 I 120 100
Stream_Flow\4 I 130 100
Stream_Flow\5 I 150 100
Stream_Numerator\1 I 1 1
Stream_Numerator\2 I 1 1
Stream_Numerator\3 I 1 0
Stream_Numerator\4 I 1 0
Stream_Numerator\5 I 1 0
Stream_Molwt\1 I 180 180
Stream_Molwt\2 I 182 180
Stream_Molwt\3 I 184 180
Stream_Molwt\4 I 186 180
Stream_Molwt\5 I 188 180
Filter_Type I 0 0
Ret_Status O 0 0
Moles_Numerator O 3.308922 1.666667
Moles_Denominator O 3.308922 3.333333
Stream_Moles\1 O 0.555556 1.111111
Stream_Moles\2 O 0.604396 0.555556
Stream_Moles\3 O 0.652174 0.555556
Stream_Moles\4 O 0.698925 0.555556
Stream_Moles\5 O 0.797872 0.555556
Stream_in_Error O 0 0
Value_TK_Units O 1 0.5
Section 6 - Mole Fraction (Mole_Frac)6.2 Detail Description
56 Fractionator Toolkit User’s Guide 5/01
Honeywell Inc.
5/01 Fractionator Toolkit User’s Guide 57
Honeywell Inc.
Section 7 - Pressure Compensated Temperature (PcompT)7.1 OverviewIn This Section This toolkit function pressure compensates a temperature based on Antoine’s
equation. Prior to outputting the pressure compensated temperature the value isfiltered and converted to user units. Last good value holding is also available.
Section 7 - Pressure Compensated Temperature (PcompT)7.2 Detail Description
58 Fractionator Toolkit User’s Guide 5/01
Honeywell Inc.
7.2 Detail DescriptionCalculationAlgorithm
The following table shows the algorithm used by PCompT to calculate thepressure compensated temperature:
Calculation Algorithm
Step # Description
1. Currently only Antoine_Type = 0 is supported.
2. Convert temperature, pressure and reference pressure to proper units for Antoine equation. Referencepressure is provided in user gauge units, and is converted to psia as follows:
(Ref_Pressure + Local_Pressure) * Ref_Press_Conv_Fact
Note that Ref_Press_Conv_Fact is only used to convert from user gauge units to psig.
3. Pressure compensate the temperature using Antoine’s equation.
PcompT = ƒ (pressure, reference pressure, AntoineA and AntoineB).
4. Convert pressure compensated temperature to user units.
5. Filter the pressure compensated temperature based on the supplied Filter_Type.
6. Call Last_Good_Value utility function to provide last good value processing. After this function the pressurecompensated temperature is stored in Value_User_Units and Value_TK_Units. Value_TK_Units can be usedas input to other functions.
AssociatedFunctions
This function requires inputs from the following functions:
• Temperature_Proc
• Pressure_ProcA Caution aboutConversionFactors
CautionConversion factors (Conv_Fact) is provided to convert output values to userunits.
The Ref_Press_Conv_Fact is an exception as it is used to convert the inputreference pressure to toolkit units.
Input table The input table provides a description of the function inputs.
Input table
Input[ ] denotes array
Source OnlyReq’d if
Eng. Units Description
Temperature Temperature_Proc TK units Deg F Process temperature
Pressure Pressure_Proc TK units psig Process pressure
Local_Pressure Psi Local atmospheric pressure
Section 7 - Pressure Compensated Temperature (PcompT)7.2 Detail Description
5/01 Fractionator Toolkit User’s Guide 59
Honeywell Inc.
Input table
Input[ ] denotes array
Source OnlyReq’d if
Eng. Units Description
Ref_Pressure User units(gauge)
Reference pressure in user gauge units
Ref_Press_Conv_Fact
Reference pressure multiplier to go from usergauge units to psig
Antoine_Type The basis of the Antoine coefficients (0 =natural logarithm). Currently only Antoine_Typetypes of zero are supported.
AntoineA Antoine_Type = 0
Antoine A coefficient of the component mixture
AntoineB Antoine_Type = 0
Antoine B coefficient of the component mixture
Filter_Type Filter to be used (0 = none, 1 = First order lagfilter, 2 to 5 not yet supported). Details of howto use the filter functions can be found in ProfitToolkit Functions Reference.
Filter_Coeff_Num Number of filter coefficients being passed. Notrequired if Filter Type = 0. Details of how to usethe filter functions can be found in Profit ToolkitFunctions Reference.
Filter_Coeff[ ] Filter coefficients being passed in. Not requiredif Filter Type = 0. Details of how to use the filterfunctions can be found in Profit ToolkitFunctions Reference.
Filter_Shift_Num Number of past values necessary for filter. Notrequired if Filter Type = 0. Details of how to usethe filter functions can be found in Profit ToolkitFunctions Reference.
Etime Application\ETime Minutes Application execution time
Conv_Fact Flag indicating temperature user units (0 = DegF; 1 = Deg C). Used to output the compensatedtemperature in user units.
Section 7 - Pressure Compensated Temperature (PcompT)7.2 Detail Description
60 Fractionator Toolkit User’s Guide 5/01
Honeywell Inc.
Input table
Input[ ] denotes array
Source OnlyReq’d if
Eng. Units Description
LGV_Num The number of intervals to hold the last goodvalue.
If LGV_Num > 0, this indicates the number ofintervals the last good value will be held.
If LGV_Num = 0, then last good valueprocessing is turned off.
If LGV_Num < 0, then the last good value willbe held indefinitely.
For more details see Profit Toolkit FunctionsReference.
RetNum The maximum number of simultaneous errormessages that can be raised for this function.
Output table The output table provides a description of the function outputs.
Output table
Output[ ] denotes array
Eng. Units Description
Ret_Status Number of errors/warnings. Ret_Status is positive when the highest prioritymessage is an error. Ret_Status is negative when the highest priority messageis a warning. Ret_Status is zero, when there are no warnings or errors.
RetStatus[RetNum]
Array of current function return statuses. See Return Status Table below fordetails.
RetMessage[RetNum]
Array of current Error/Warning Messages.
RetFloat[RetNum] Array of float arguments for error messages. For internal use only.
RetString[RetNum] Array of string arguments for error messages. For internal use only.
Value_User_Units User units Calculated pressure compensated temperature value
Value_TK_Units Toolkit units DegF
Calculated pressure compensated temperature value
LGV_Count Counter of number of intervals last good value held
LGV_Values[2] Last good value storage array for key output variables
Filter_Shift[ ] Previous filtered value storage
Return StatusTable
Shows the error and warning messages associated with the function.
Section 7 - Pressure Compensated Temperature (PcompT)7.2 Detail Description
5/01 Fractionator Toolkit User’s Guide 61
Honeywell Inc.
Return Status Table
Status value Description
0 No error occurred
1 The temperature is a bad value.
2 The pressure is a bad value.
3 The local pressure is a bad value.
4 The reference pressure is a bad value.
5 The reference pressure conversion factor is a bad value.
6 Antoine type must be zero. Currently this is the only Antoine Type supported.
7 The calculated absolute pressure (in mmHG absolute units) is less than or equal to zero.
8 The calculated absolute reference pressure (in mmHG absolute units) is less than or equal to zero.
9 The logarithm of the calculated absolute pressure minus the Antoine A coefficient is less than or equal tozero.
10 The logarithm of the calculated absolute reference pressure minus the Antoine A coefficient is less than orequal to zero.
11 The pressure compensated temperature conversion factor is a bad value.
12 The Antoine A coefficient is a bad value.
13 The Antoine B coefficient is a bad value.
14 Errors filtering pressure compensated temperature. See associated message from Filter function
141 - 146 An error occurred in the Filter_First_Ord_Lag function. Details of the error can be found by looking up theresulting status value in the Profit Toolkit Functions Reference
155 - 160 An error occurred in the Filter function. Details of the error can be found by looking up the resulting statusvalue in the Profit Toolkit Functions Reference
Negative errors Last good value holding is active. The error that is causing the bad value can be determined by looking upthe positive of the error value.
Section 7 - Pressure Compensated Temperature (PcompT)7.2 Detail Description
62 Fractionator Toolkit User’s Guide 5/01
Honeywell Inc.
Example Table
Examples Table
Parameters Input /Output
Example 1 –Output in Deg C
Description
Temperature I 150.52 Deg F
Pressure I 22.110 psig
Local_Pressure I 14.6961705 psi
Ref_Pressure I 38.290 psig Gauge units in
Ref_Press_Conv_Fact I 1.0
Antoine_Type I 0
AntoineA I 15.7723
AntoineB I 2153.100
Filter_Type I 0
Conv_Fact I 1 Output User units in Celcius
Output I
Ret_Status O 0
Value_User_Units O 77.991 Deg C
Value_TK_Units O 172.38 Deg F
5/01 Fractionator Toolkit User’s Guide 63
Honeywell Inc.
Section 8 - Reid Vapor Pressure (Reid_Vap_Press)8.1 OverviewIn This Section This toolkit function calculates the Reid vapor pressure of a petroleum fraction or
other hydrocarbon based component mixture. Prior to outputting the Reid vaporpressure the value is filtered converted to user units and biased. Last good valueholding is also available.
Section 8 - Reid Vapor Pressure (Reid_Vap_Press)8.2 Detail Description
64 Fractionator Toolkit User’s Guide 5/01
Honeywell Inc.
8.2 Detail DescriptionCalculationAlgorithm
The following table shows the algorithm used by Reid_Vap_Press to calculate theReid Vapor Pressure:
Calculation Algorithm
Step # Description
1. Filter the RVP added bias. Use the first order lag filter.
Filter the absolute pressure multiplicative bias. Use the first order lag filter.
Filter the slope additive bias. Use the first order lag filter.
2. Calculate absolute pressure, compensate with steam pressure if required:
Calculate absolute pressure
Press_abs = Pressure + Local_Pressure
If Steam_Press_Conv_Fact is not equal to -1 compensate with steam pressure. Prior tocompensating convert steam pressure in user units to psia
press_abs = press_abs - (Steam_Pressure * Steam_Press_Conv_Fact)
3. Bias the absolute pressure by multiplying it with the multiplicative bias.
4. If slope is user supplied (i.e. Slope_Type = 0)
Output as Slope_User_Units.
Otherwise calculate the slope (i.e. Slope_Type = 1).
Call the EFV_Temp Utility function to convert from process temperature to EFVtemperature.
EFV = EFV_Temp(Temperature, Press_abs, WatK)
Call the EFV_To_D86 Utility function Calculate the D86 10% point.
D86_10_TK_Units = EFV_To_D86(EFV, Gravity, D86_10_Type, D86_10_CoeffA,D86_10_CoeffB, D86_10_CoeffC)
Call the EFV_To_D86 Utility function Calculate the D86 30% point.
D86_30_TK_Units = EFV_To_D86(EFV, Gravity, D86_30_Type, D86_30_CoeffA,D86_30_CoeffB, D86_30_CoeffC)
For output purposes convert the EFV and D86 to user units.
Output to EFV_User_Units, D86_10_User_Units and D86_30_User_Units.
Calculate the D86 10% point slope:
Slope = (D86_30_TK_Units - D86_10_TK_Units) / (30 – 10)
5. Bias the slope by adding the filtered slope bias and convert it to user units.
Output as Slope_User_Units.
Section 8 - Reid Vapor Pressure (Reid_Vap_Press)8.2 Detail Description
5/01 Fractionator Toolkit User’s Guide 65
Honeywell Inc.
Calculation Algorithm
Step # Description
6. Calculate RVP using the Newton Raphson iterative technique. This technique is used toback-calculate RVP. The user should supply a reasonable value in Init_RVP as the initialRVP value used in the first iteration of the calculation.
Fn_Value = ƒ(RVP, Slope), note that Fn_Value is pressure.
Fn_Derivative = ƒ’(RVP, Slope)
Fn_RVP is the RVP on the final iteration in toolkit units.
7. Convert RVP to user units.
8. Filter the RVP based on the supplied Filter_Type.
9. Bias the filtered RVP user value by adding the additive bias.
10. Convert the biased RVP back to toolkit units.
11. Call Last_Good_Value utility function to provide last good value processing. After thisfunction the RVP is stored in Value_User_Units and Value_TK_Units. Value_TK_Units canbe used as input to other functions.
AssociatedFunctions
This function requires inputs from the following functions:
• Temperature_Proc
• Pressure_Proc
• Gravity_Proc
• WatsonK_ProcA Caution aboutBias Values
CautionFor the convenience of the user the bias (Added_Bias_Raw, Slope_Bias_Raw) issupplied in user units. Most other inputs are expected in toolkit units.
A Caution aboutConversionFactors
CautionConversion factors (Temp_Conv_Fact, Slope_Conv_Fact, Conv_Factor) are provided toconvert output values to user units.
Section 8 - Reid Vapor Pressure (Reid_Vap_Press)8.2 Detail Description
66 Fractionator Toolkit User’s Guide 5/01
Honeywell Inc.
A Caution about Conversion Factors
Input Source ONLY REQ’D IF Eng. Units Description
Temperature Temperature_Proc
TK units Deg F System temperature
Temp_Conv_Fact Flag indicating temperature outputunits (0 = Deg F; 1 = Deg C). Usedto output efv temperature in userunits.
Pressure Pressure_Proc TK units psig System pressure
Local_Pressure psi Local atmospheric pressure
Multiply_Bias_Raw
Multiplicative bias applied to theabsolute pressure
Multiply_Bias_Filt_Time
Minutes Filter time for the absolute pressuremultiplicative bias
Gravity Gravity_Proc Slope_Type = 1 TK units
Spgr@60DegF/60DegF
System Specific gravity.
WatK WatsonK_Proc Slope_Type = 1 System Watson K factor.
Steam_Press_Conv_Fact
Multiplier that converts from userunits to toolkit units (psi)
Set to -1 (negative one) if no steamis present in the system
Steam_Pressure Pressure_Proc Steam_Press_Conv_
Fact = -1
User units Pressure of the system steam inuser absolute units
Slope_Type Flag which indicates whether theD86 slope is to be calculated or userentered (0 = user entered, 1 =calculated)
Slope_Raw Slope_Type = 0 User units D86 slope
Slope_Conv_Fact Flag indicating slope output userunits (0 = Deg F; 1 = Deg C)
Slope_Bias_Raw User units Additive bias applied to the D86slope
Slope_Bias_Filt_Time
Minutes Filter time for the D86 slope bias
D86_10_Type Slope_Type = 1 Calculation to perform (2 = 10%, 8= User supplied EFV to D86coefficients to calculate 10% point)
D86_10_CoeffA if Slope_Type = 1 andD86_10_Type = 8
The A coefficient in the EFV to D86conversion.
Section 8 - Reid Vapor Pressure (Reid_Vap_Press)8.2 Detail Description
5/01 Fractionator Toolkit User’s Guide 67
Honeywell Inc.
A Caution about Conversion Factors
Input Source ONLY REQ’D IF Eng. Units Description
D86_10_CoeffB if Slope_Type = 1 andD86_10_Type = 8
The B coefficient in the EFV to D86conversion.
D86_10_CoeffC if Slope_Type = 1 andD86_10_Type = 8
The C coefficient in the EFV to D86conversion.
D86_30_Type Slope_Type = 1 Calculation to perform (3 = 30%, 8= User supplied EFV to D86coefficients to calculate 30% point)
D86_30_CoeffA if Slope_Type = 1 andD86_30_Type = 8)
The A coefficient in the EFV to D86conversion.
D86_30_CoeffB if Slope_Type = 1 andD86_30_Type = 8)
The B coefficient in the EFV to D86conversion.
D86_30_CoeffC if Slope_Type = 1 andD86_30_Type = 8)
The C coefficient in the EFV to D86conversion.
Init_RVP User units Starting point for RVP iteration
Iterations Maximum iterations allowed. If abad value is input for Iterations thenit defaults to 15.
Tolerance Convergence tolerance for NewtonRaphson. If a bad value is input forIterations then it defaults to 0.01.
Filter_Type Filter to be used (0 = none, 1 = Firstorder lag filter, 2 to 5 not yetsupported). Details of how to usethe filter functions can be found inProfit Toolkit Functions Reference.
Filter_Coeff_Num Number of filter coefficients beingpassed. Not required if Filter Type =0. Details of how to use the filterfunctions can be found in ProfitToolkit Functions Reference.
Filter_Coeff[ ] Filter coefficients being passed in.Not required if Filter Type = 0.Details of how to use the filterfunctions can be found in ProfitToolkit Functions Reference.
Filter_Shift_Num Number of past values necessaryfor filter. Not required if Filter Type =0. Details of how to use the filterfunctions can be found in ProfitToolkit Functions Reference.
Etime Application\Etime Minutes Application execution time
Section 8 - Reid Vapor Pressure (Reid_Vap_Press)8.2 Detail Description
68 Fractionator Toolkit User’s Guide 5/01
Honeywell Inc.
A Caution about Conversion Factors
Input Source ONLY REQ’D IF Eng. Units Description
Added_Bias_Raw User Units Additive bias applied to the RVP inuser units
Added_Bias_Filt_Time
Minutes Filter time for the RVP additive bias
Conv_Factor Multiplier that converts RVP fromuser units to toolkit units (psig)
LGV_Num The number of intervals to hold thelast good value.
If LGV_Num > 0, this indicates thenumber of intervals the last goodvalue will be held.
If LGV_Num = 0, then last goodvalue processing is turned off.
If LGV_Num < 0, then the last goodvalue will be held indefinitely.
For more details see Profit ToolkitFunctions Reference.
RetNum The maximum number ofsimultaneous error messages thatcan be raised for this function.
Section 8 - Reid Vapor Pressure (Reid_Vap_Press)8.2 Detail Description
5/01 Fractionator Toolkit User’s Guide 69
Honeywell Inc.
Output table The output table provides a description of the function outputs.
Output table
Output[ ] denotes array
Eng. Units Description
Ret_Status Number of errors/warnings. Ret_Status is positive when the highest prioritymessage is an error. Ret_Status is negative when the highest priority messageis a warning. Ret_Status is zero, when there are no warnings or errors.
RetStatus[RetNum] Array of current function return statuses. See Return Status Table below fordetails.
RetMessage[RetNum] Array of current Error/Warning Messages.
RetFloat[RetNum] Array of float arguments for error messages. For internal use only.
RetString[RetNum] Array of string arguments for error messages. For internal use only.
EFV_User_Units Calculated EFV of the system material
D86_10_User_Units User units Calculated D86 10% point
D86_30_User_Units User units Calculated D86 30% point
Slope_User_Units User units Calculated D86 10% slope
Fn_Value Value of the function on the final iteration. In toolkit units, prior to filtering, biasingand conversion.
Fn_Derivative Derivative of the function on the final iteration. In toolkit units, prior to filtering,biasing and conversion.
Fn_Pressure Pressure of the function on the final iteration. In toolkit units, prior to filtering,biasing and conversion.
Fn_RVP TK units psia RVP on the final iteration
Value_User_Units User units Calculated RVP
Value_TK_Units TK units psia Calculated RVP
LGV_Count Counter of number of intervals last good value held
LGV_Values[2] Last good value storage array for key output variables
Filter_Shift[ ] Previous filtered value storage
Multiply_Bias_Shift Previous filtered multiplicative bias storage
Added_Bias_Shift Previous filtered additive bias storage
Slope_Bias_Shift Previous filtered slope bias value storage
Section 8 - Reid Vapor Pressure (Reid_Vap_Press)8.2 Detail Description
70 Fractionator Toolkit User’s Guide 5/01
Honeywell Inc.
Return StatusTable
Shows the error and warning messages associated with the function.
Return Status Table
Statusvalue
Description
0 No error occurred
1 The additive bias is a bad value.
2 The multiplicative bias is a bad value.
3 The slope bias is a bad value.
4 The steam pressure conversion factor is a bad value.
5 The pressure is a bad value.
6 The local pressure is a bad value.
7 Slope type must be either 0 or 1.
8 Slope conversion factor is a bad value
9 Slope raw is a bad value
10 The ASTM D86 10% calculation type must be either 2 or 8.
11 The ASTM D86 30% calculation type must be either 3 or 8.
12 Temperature conversion factor is a bad value
13 The calculated Slope User Units is a bad value.
14 RVP conversion factor is a bad value
15 RVP conversion factor is less than or equal to zero.
16 The number of iterations cannot be less than zero.
-17 The specified number of iterations is greater than 10000. This is only a warning, thefunction uses 10000 as the maximum number of iterations.
18 The calculated fn_RVP is miniscule or zero.
19 The calculated fn_Derivative is miniscule or zero.
20 The calculated RVP did not converge within the specified maximum number ofiterations.
21 The multiplicative bias is less than or equal to zero.
22 Errors filtering the additive bias. See associated message from Filter function
23 Errors filtering the multiplicative bias. See associated message from Filter function
24 Errors filtering the slope bias. See associated message from Filter function
25 Errors calculating the EFV temperature. See associated message from EFV_Tempfunction
26 Errors calculating the D86 10 percent point. See associated message fromEFV_To_D86 function
Section 8 - Reid Vapor Pressure (Reid_Vap_Press)8.2 Detail Description
5/01 Fractionator Toolkit User’s Guide 71
Honeywell Inc.
Return Status Table
Statusvalue
Description
27 Errors calculating the D86 30 percent point. See associated message fromEFV_To_D86 function
28 Errors filtering RVP. See associated message from Filter function
141 - 46 An error occurred in the Filter_First_Ord_Lag function. Details of the error can be foundby looking up the resulting status value in the Profit Toolkit Functions Reference
155 - 160 An error occurred in the Filter function. Details of the error can be found by looking upthe resulting status value in the Profit Toolkit Functions Reference
206 - 211 An error occurred in the EFV_Temp function. Details of the error can be found bylooking up the resulting status value in the Profit Toolkit Functions Reference
212 - 221 An error occurred in the EFV_To_D86 function. Details of the error can be found bylooking up the resulting status value in the Profit Toolkit Functions Reference
OtherNegativeerrors
Last good value holding is active. The error that is causing the bad value can bedetermined by looking up the positive of the error value.
Examples Table
Parameters Example 1 –Slope
provided byuser, output in
Deg F
Example 2 – Slopecalculated.
Temperaturesoutput in Deg F
Example 3 – Slopecalculated. Other
temperaturesoutput in Deg C
Example 4 –Slope calculated
and output in
Deg C/%/ distilled
Description
Temperature 225.0 Deg F 225.0 Deg F 225.0 Deg F 225.0 Deg F
Temp_Conv_Fact 0 0 1 1 Examples 1 and 2Temperaturesoutput in Deg F
Examples 3 and 4Temperaturesoutput in Deg C
Pressure 45.304 psig 45.304 psig 45.304 psig 45.304 psig
Local_Pressure 14.696 psi 14.696 psi 14.696 psi 14.696 psi
Multiply_Bias_Raw
1 1 1 1
Multiply_Bias_Filt_Time
0 0 0 0
Gravity 0.6000 spgr 0.6000 spgr 0.6000 spgr
WatK 12.000 12.000 12.000
Section 8 - Reid Vapor Pressure (Reid_Vap_Press)8.2 Detail Description
72 Fractionator Toolkit User’s Guide 5/01
Honeywell Inc.
Examples Table
Parameters Example 1 –Slope
provided byuser, output in
Deg F
Example 2 – Slopecalculated.
Temperaturesoutput in Deg F
Example 3 – Slopecalculated. Other
temperaturesoutput in Deg C
Example 4 –Slope calculated
and output in
Deg C/%/ distilled
Description
Steam_Press_Conv_Fact
Steam_Pressure User absolute units
Slope_Type 0 1 1 1 Examples 1 slopeprovided by user.
Examples 2, 3 and4 slope calculated.
Slope_Raw 1 Examples 1 slopeprovided by user.
Examples 2, 3 and4 slope calculated.
Slope_Conv_Fact 0 0 0 1 Example 4 slopeoutput in Deg C/%distilled
Slope_Bias_Raw 0 0 0 0
Slope_Bias_Filt_Time
0 0 0 0
D86_10_Type 2 2 2
D86_10_CoeffA
D86_10_CoeffB
D86_10_CoeffC
D86_30_Type 3 3 3
D86_30_CoeffA
D86_30_CoeffB
D86_30_CoeffC
Init_RVP 10.000 10.000 10.000 10.000 Provide areasonable startingpoint for theiteration.
Iterations 15.000 15.000 15.000 15.000
Tolerance 0.0100 0.0100 0.0100 0.0100
Temp_Conv_Fact 0 0 1 0
Filter_Type 0 0 0 0
Added_Bias_Raw 0 0 0 0
Section 8 - Reid Vapor Pressure (Reid_Vap_Press)8.2 Detail Description
5/01 Fractionator Toolkit User’s Guide 73
Honeywell Inc.
Examples Table
Parameters Example 1 –Slope
provided byuser, output in
Deg F
Example 2 – Slopecalculated.
Temperaturesoutput in Deg F
Example 3 – Slopecalculated. Other
temperaturesoutput in Deg C
Example 4 –Slope calculated
and output in
Deg C/%/ distilled
Description
Added_Bias_Filt_Time
0 0 0 0
Conv_Factor 1 1 1 1
Output
Ret_Status 0 0 0 0
EFV_User_Units ------ 132.05 Deg F 55.581 Deg C 55.581 Deg C Example 3 and 4,note the output inDeg C.
D86_10_User_Units
------ 119.96 Deg F 48.867 Deg C 48.867 Deg C
D86_30_User_Units
------ 144.21 Deg F 62.340 Deg C 62.340 Deg C
Slope_User_Units 1.0000 DegF/% distilled
1.2126 Deg F/%distilled
1.2126 Deg F/%distilled
0.6736 Deg C/%distilled
Example 4 note theoutput in Deg C/%distilled
Fn_Value 60.000 60.000 60.000 60.000
Fn_Derivative 5.3009 5.2686 5.2686 5.2686
Fn_Pressure -0.0003 -0.0001 -0.0001 -0.0001
Fn_RVP 9.1048 psia 9.2067 psia 9.2067 psia 9.2067 psia
Value_User_Units 9.1048 psia 9.2067 psia 9.2068 psia 9.2068 psia
Value_TK_Units 9.1048 psia 9.2067 psia 9.2068 psia 9.2068 psia
Section 8 - Reid Vapor Pressure (Reid_Vap_Press)8.2 Detail Description
74 Fractionator Toolkit User’s Guide 5/01
Honeywell Inc.
5/01 Fractionator Toolkit User’s Guide 75
Honeywell Inc.
Section 9 - Top Internal Liquid and Vapor (Top_LandV)
9.1 OverviewIn This Section This toolkit function calculates the internal liquid and vapor flow from the top tray
of a distillation column. It assumes that the overhead vapor and internal reflux arethe same material and can be characterized by single molecular weight and heatproperties. Additionally, this function returns the molecular weight, the gravity,and the Watson K of the internal vapor and liquid (all in toolkit units). Prior tooutputting the internal liquid and internal vapor the value is filtered and convertedto user units. Last good value holding is also available.
Section 9 - Top Internal Liquid and Vapor (Top_LandV)9.2 Detail Description
76 Fractionator Toolkit User’s Guide 5/01
Honeywell Inc.
9.2 Detail DescriptionCalculationAlgorithm
The following table shows the algorithm used by Top_LandV to calculate the flashpoint.
Calculation Algorithm
Step # Description
1. Calculate the reflux flow
Reflux = Σ Stream_Flow[i] (if Stream_In_or_Out[i] = IN)
2. Calculate the overhead flow (sum of all the flows)
Overhead = Σ Stream_Flow[i]
3. Calculate the average value for the molecular weight.
Liq_Molwt = Σ (Stream_Molwt[i] * Stream_Flow[i]) / Σ (Stream_Flow[i])
4. Calculate the average value for the gravity.
Liq_Gravity = Σ (Stream_Gravity[i] * Stream_Flow[i]) / Σ (Stream_Flow[i])
5. Calculate the average value for the watson k.
Liq_WatK= Σ (Stream_WatK[I] * Stream_Flow[i]) / Σ (Stream_Flow[i])
6. For simple envelopes like this one, we assume that the liquid and vapor are the same material, just in differentstates. Thus, their properties are the same.
Vap_Molwt = Liq_Molwt
Vap_Gravity = Liq_Gravity
Vap_WatK = Liq_WatK
7. Calculate the exponent if Expon_Type = 1, otherwise use 0.38. The exponent is used later in the latent heat ofvaporization calculation. Calculate the exponent as follows:
Expon = ƒ( Latent_Ht_Norm_Boil_Pt, Liq_Molwt, Norm_Boil_Pt_Temperature)
8. Calculate the latent heat of vaporization.
Latent_Heat_Vaporization = ƒ (Latent_Ht_Norm_Boil_Pt , Critical_Temperature OVHD_Temperature,Norm_Boil_Pt_Temperature, Expon)
Note that critical_temperature should be greater than ovhd_temperature and norm_boil_pt_temperature.
9. Calculate internal liquid rate via a simultaneous material and energy balance.
Liq = (reflux * (1.0 + (Heat_Capacity / Latent_Heat_Vaporization) *(OVHD_Temperature - Reflux_Temperature))
Note that OVHD_Temperature should be greater than Reflux _Temperature
10. Calculate internal vapor rate
Vap = overhead + Liq
Section 9 - Top Internal Liquid and Vapor (Top_LandV)9.2 Detail Description
5/01 Fractionator Toolkit User’s Guide 77
Honeywell Inc.
Calculation Algorithm
Step # Description
13. If the user requires the internal liquid and vapor to be output as a volumetric-flow then convert from mass-flow tovolumetric-flow.
Liq = Liq / Liq_Gravity.
Vap = Vap / Vap_Gravity.
14. Filter the internal liquid and internal vapor based on the supplied Filter_Type.
15. Convert the internal liquid and vapor to toolkit units.
16. Call Last_Good_Value utility function to provide last good value processing. After this function the internal liquid isstored in Liq_Value_User_Units and Liq_Value_TK_Units and the vapor liquid is stored in Vap_Value_User_Unitsand Vap_Value_TK_Units Liq_Value_TK_Units and Vap_Value_TK_Units can be used as input to other functions.
AssociatedFunctions
This function requires inputs from the following functions:
• Flow_Proc
• Temperature_Proc
• Gravity_Proc
• WatsonK_Proc
Section 9 - Top Internal Liquid and Vapor (Top_LandV)9.2 Detail Description
78 Fractionator Toolkit User’s Guide 5/01
Honeywell Inc.
A Caution aboutConversionFactors
CautionConversion factors (Flow_Conv_Fact) are provided to convert output values to userunits.
A Caution about Conversion Factors
Input[ ] denotes array
Source Only Req’d if Eng. Units Description
Stream_Num Number of streams in the envelope(do not include internal Liquid andVapor streams)
Stream_Flow[ ] Flow_Proc Stream_Num > 0 TK units Mlb/hr Mass Flow of each stream.
Stream_In_or_Out[]
Stream_Num > 0 Defines the orientation of the streamrelative to the envelope (-1 = in, 1 =out).
Reflux streams should be set as IN(-1) streams.
Product streams should be set toOUT (+1).
Stream_Gravity[ ] Gravity_Proc Stream_Num > 0 TK units Spgr@60DegF/60DegF
Gravity of the stream in toolkit units.
Stream_WatK[ ] WatsonK_Proc Stream_Num > 0 Watson K factor of the stream.
Stream_Molwt[ ] Molwt_Proc Stream_Num > 0 Molecular weight of the stream.
Expon_Type Flag indicating if Watson’s exponentof 0.38 is to be used or if theexponent is to be calculated as afunction of molecular weight (0 =0.38, 1 = function of molecularweight)
Norm_Boil_Pt_Temperature
Expon_Type = 1 TK units Deg F Normal boiling point temperature
Latent_Ht_Norm_Boil_Pt
Expon_Type = 1 TK units BTU/lb Latent heat of at the normal boilingpoint
Critical_Temperature
Temperature_Proc Expon_Type = 1 TK units Deg F Critical temperature of the materialat the envelope
OVHD_Temperature
Temperature_Proc TK units Deg F Temperature of the vapor leavingthe envelop.
Reflux_Temperature
Temperature_Proc TK units Deg F Temperature of the reflux enteringthe envelop
Heat_Capacity TK units BTU/lbDeg F
Heat capacity of the internal liquid atthe envelope
Section 9 - Top Internal Liquid and Vapor (Top_LandV)9.2 Detail Description
5/01 Fractionator Toolkit User’s Guide 79
Honeywell Inc.
A Caution about Conversion Factors
Input[ ] denotes array
Source Only Req’d if Eng. Units Description
Filter_Type Filter to be used (0 = none, 1 = Firstorder lag filter, 2 to 5 not yetsupported). Details of how to usethe filter functions can be found inProfit Toolkit Functions Reference.
Filter_Coeff_Num Number of filter coefficients beingpassed. Not required if Filter Type =0. Details of how to use the filterfunctions can be found in ProfitToolkit Functions Reference.
Filter_Coeff[ ] Filter coefficients being passed in.Not required if Filter Type = 0.Details of how to use the filterfunctions can be found in ProfitToolkit Functions Reference.
Filter_Shift_Num Number of past values necessaryfor filter. Not required if Filter Type =0. Details of how to use the filterfunctions can be found in ProfitToolkit Functions Reference.
Etime Application\ETime Minutes Application execution time
Flow_Conv_Fact Multiplier to go from user flow unitsto toolkit units (Mlb/hr). Used tooutput internal liquid and vaporvalues in user units.
User_V_or_M Flag indicating user flow output (0 =volumetric flow, 1 = mass flow)
LGV_Num The number of intervals to hold thelast good value.
If LGV_Num > 0, this indicates thenumber of intervals the last goodvalue will be held.
If LGV_Num = 0, then last goodvalue processing is turned off.
If LGV_Num < 0, then the last goodvalue will be held indefinitely.
For more details see Profit ToolkitFunctions Reference.
RetNum The maximum number ofsimultaneous error messages thatcan be raised for this function.
Section 9 - Top Internal Liquid and Vapor (Top_LandV)9.2 Detail Description
80 Fractionator Toolkit User’s Guide 5/01
Honeywell Inc.
Output table The output table provides a description of the function outputs.
Output table
Output[ ] denotes array
Eng. Units Description
Ret_Status Number of errors/warnings. Ret_Status is positive when the highest prioritymessage is an error. Ret_Status is negative when the highest prioritymessage is a warning. Ret_Status is zero, when there are no warnings orerrors.
RetStatus[RetNum] Array of current function return statuses. See Return Status Table below fordetails.
RetMessage[RetNum] Array of current Error/Warning Messages.
RetFloat[RetNum] Array of float arguments for error messages. For internal use only.
RetString[RetNum] Array of string arguments for error messages. For internal use only.
Liq_Value_User_Units User units Calculated internal liquid value. Depending on the setting of User_V_or_M,this value is either output in volumetirc or mass flow.
Liq_Value_TK_Units TK units Mlb/hr Calculated internal liquid value (mass flow)
Vap_Value_User_Units
User units Calculated internal vapor value. Depending on the setting of User_V_or_M,this value is either output in volumetirc or mass flow.
Vap_Value_TK_Units TK units Mlb/hr Calculated internal vapor value (mass flow)
Liq_Molwt Molecular weight of the internal liquid
Vap_Molwt Molecular weight of the internal vapor
Liq_Gravity TK units
Spgr@60DegF/60DegF
Specific gravity of the internal liquid
Vap_Gravity TK units
Spgr@60DegF/60DegF
Specific gravity of the internal vapor
Liq_WatK Watson K factor of the internal liquid
Vap_WatK Watson K factor of the internal vapor
Expon Exponent used in Watson’s equation
Latent_Heat_Vaporization
BTU/lb Latent heat of vaporization at envelope conditions
Stream_in_Error No longer used.
Liq_LGV_Count Number of intervals liquid last good value held
Vap_LGV_Count Number of intervals vapor last good value held
Liq_LGV_Values[5] Last good value storage array for key internal liquid output variables
Section 9 - Top Internal Liquid and Vapor (Top_LandV)9.2 Detail Description
5/01 Fractionator Toolkit User’s Guide 81
Honeywell Inc.
Output table
Output[ ] denotes array
Eng. Units Description
Vap_LGV_Values[5] Last good value storage array for key internal vapor output variables
Filter_Shift[ ] Previous filtered value storage
Return StatusTable
Shows the error and warning messages associated with the function.
Return Status Table
Statusvalue
Description
0 No error occurred
1 The user-entered number of streams is either a bad value or less than zero.
2 Stream flow is a bad value. Stream number ____ is the stream in error.
3 Stream In or Out is a bad value. Stream number ____ is the stream in error.
4 Normal boiling point temperature is a bad value
5 Latent heat normal boiling point temperature is a bad value
6 Exponent type must be either –1 or 1.
7 Normal boiling point temperature cannot be –459.67.
8 Liquid molecular weight is a bad value
9 Critical temperature is a bad value
10 Overhead temperature is a bad value
11 The critical temperature must be greater than the overhead temperature.
12 The difference between the critical temperature must and the overhead temperature isnegligible or zero.
13 Heat capacity is a bad value.
14 Reflux temperature is a bad value.
15 Latent heat of vaporization is a bad value.
16 The overhead temperature must be greater than the reflux temperature.
17 The selected volumetric or mass output type (User_VorM) must be either 0 or 1.
18 Liquid gravity is a bad value
19 Liquid gravity is a negligible or zero.
20 Internal liquid and vapor conversion (flow) factor is a bad value
21 Internal liquid and vapor conversion (flow) factor is less than or equal to zero.
Section 9 - Top Internal Liquid and Vapor (Top_LandV)9.2 Detail Description
82 Fractionator Toolkit User’s Guide 5/01
Honeywell Inc.
Return Status Table
Statusvalue
Description
22 Vapor gravity is a bad value
23 Vapor gravity is a negligible or zero.
24 Stream Molecular Weight – for stream %0.d - is a bad value
25 Stream gravity - for stream %0.d - is a bad value.
26 Stream Watson K - for stream %0.d - is a bad value.
27 Liquid Molecular Weight is a bad value.
28 Liquid gravity is a bad value.
29 Liquid Watson K is a bad value.
30 Errors filtering internal liquid. See associated message from Filter function
101 - 104 An error occurred in the Press_PC function. Details of the error can be found by looking upthe resulting status value in the Profit Toolkit Functions Reference
105 - 108 An error occurred in the Temp_PC function. Details of the error can be found by looking upthe resulting status value in the Profit Toolkit Functions Reference
141 - 146 An error occurred in the Filter_First_Ord_Lag function. Details of the error can be found bylooking up the resulting status value in the Profit Toolkit Functions Reference
155 - 160 An error occurred in the Filter function. Details of the error can be found by looking up theresulting status value in the Profit Toolkit Functions Reference
179 - 182 An error occurred in the Mol_WT function. Details of the error can be found by looking up theresulting status value in the Profit Toolkit Functions Reference
183 - 192 An error occurred in the Enth_HC function. Details of the error can be found by looking upthe resulting status value in the Profit Toolkit Functions Reference
193 - 197 An error occurred in the Enth_Stm function. Details of the error can be found by looking upthe resulting status value in the Profit Toolkit Functions Reference
198 - 205 An error occurred in the Enth_Gas function. Details of the error can be found by looking upthe resulting status value in the Profit Toolkit Functions Reference
Negativeerrors
Last good value holding is active. The error that is causing the bad value can be determinedby looking up the positive of the error value.
Section 9 - Top Internal Liquid and Vapor (Top_LandV)9.2 Detail Description
5/01 Fractionator Toolkit User’s Guide 83
Honeywell Inc.