Appendix C – Instruction Manual



Economic Dispatch of Combined Cycle Generators

Software Users’ Manual

Client:

MidAmerican Energy Company

Alan Oneal

ISU Senior Design Team:

May06-07

Noraima Fernandez

Robert Walter

Jeremy Hamilton

Matthew Ellis

Table of Contents

I. Overview of Instruction Manual 1

II. Main Program Operating Instructions 2

i. Applying the Appropriate Excel Add-Ins 2

ii. Modifying the Generator Data txt File 5

iii. Modifying Generator Constraints 7

iv. Modifying Generation Requirement (Load) 8

v. Generator Up/Down Times 8

vi. The Unit Commitment Chart 9

1. Unit Commitment Worksheet 10

2. Check Unit Commitment Table Button 11

3. Reset Unit Commitment to Default Button 11

vii. Combined Cycle Data 12

viii. Output Display Options 13

1. Display Curve Characteristics? 13

2. Display MU Lambda Tables? 13

3. Display NMU Lambda Tables? 13

4. Display All Possible Solutions? 13

ix. Execute 14

III. Secondary Program Operating Instructions 15

i. Set Unit Commitment to Default 15

ii. Dispatching a Range of Hours 16

iii. User Data 16

iv. Changed Data? 17

v. Execute Secondary Program 17

IV. Output Pages 18

i. Quick Breakdown 18

ii. Generator Output 18

iii. Generator Cost 19

iv. Fuel Use 20

V. Adding or Deleting a Unit 21

VI. Data Checks and Error Messages 22

i. Input file loading 22

ii. Commitment table 22

iii. Generator min/max table 22

iv. Load value table 22

v. Secondary main 22

Overview of Instruction Manual

The Non-Monotonically Increasing Generator Economic Dispatcher or NMIGED is a program that uses a series of user inputs via Microsoft Excel worksheets and text (.txt) files to economically dispatch both monotonically increasing and non-monotonically increasing generation units. Throughout the program itself the user will be directed through a pair of menus on how to modify the generator data and on how to finally execute the program. Each of these menus is structured so that first-time users should be able to walk themselves through a complete dispatch. The purpose of this instruction manual is to supply even greater detail than what is provided on the menus, provide a list of common problems and their solution, and finally to supply a list of NMIGED’s error messages.

NMIGED has two menus; the Main Menu and the Secondary Menu. Upon opening NMIGED the user will be on the Main Menu page. This menu will allow the user to run a complete 168 hour dispatch; it will also initialize many variables used in the secondary program. The Secondary Menu can only be used after the main program has been completely run. The main purpose of the secondary program is to study changes over a small range of hours. The Secondary Menu will allow the user to choose the range of hours that will be dispatched.

NMIGED is a Microsoft Excel based interface programmed with Visual Basic Macros made specifically for MidAmerican Energy Company. For optimal performance it should be run on a Windows based PC with adequate processing speed.

Main Program Operating Instructions

Upon opening NMIGED the first screen that one will come across is the Main Menu. The purpose of the Main Menu is to provide step-by-step instructions for setting up and running a complete 168 hour dispatch. The following steps are a more detailed version of what’s displayed on the Main Menu; however, while reading the Main Menu instructions it is recommended that the user follows along with the software.

1 Applying the Appropriate Excel Add-Ins

The first time that NMIGED is run on a computer a series of Excel Add-Ins are required and it may be necessary to change the security settings on one’s PC. One can see on the screen shot below that the user is first asked, “Is this the first time NMIGED has been run on this computer?”

[pic]

If it is the first time, double click the Required Add-Ins icon. The following instructions are then displayed:

Getting Add-Ins before running the program

**Need to do this procedure the first time the program is run on any computer. If Solver and and Analysis Toolpaks are already checked, you still need to run through steps 1 through 6.

1. Open the Excel file.

2. Go to Tools, on the Menu bar, and click on Add-Ins…

[pic]

3. A menu box will pop-up. Place a check in the boxes for Analysis ToolPak, Analysis ToolPak – VBA, and Solver Add-in. Click on “OK” when done.

[pic]

4. Enter into the Visual Basic Editor. A quick way to do this is to press Alt + F8. A box will pop-up, see the figure below. Click on the “Edit” button.

[pic]

5. You will now be in the Visual Basic Editor. Under Tools, click on References…

[pic]

6. A menu box will be displayed. Place a check in the Solver box and click ok.

[pic]

2 Modifying the Generator Data txt File

NMIGED loads all the generator names, MW vs. IHR, and fuel costs from an external text (.txt) file. To build a new file it is recommended starting with the Default Generator Data .txt file which can be found by double-clicking the Default Generator Data icon (seen in the screen-shot below).

[pic]

Instructions for modifying the .txt file can be found under the Gen Data Txt File Instructions icon. Double-clicking that icon displays the following:

The default text file looks like this below:

[pic]

The excel test data looks like this:

[pic]

To get the excel generator data into the text file used in the MNIGED program, the text file must be modified as follows:

To add a new generator to the text file (the file is most likely named “Project IHR unit data.txt”).

1. Open the text file in a text editing program (default for Widows is Notepad, which will work fine.)

2. Get the curve data for the new unit from the data source (most likely an excel sheet that looks like the following, with the new unit highlighted in yellow)

[pic]

3. Get the new unit data into the text file:

The cost is the fuel cost for the unit, in $/MBTU

The min PMBTU/HR is the I/O for the unit

The MW increments are the MW increments for the unit from the excel file containing the generator data

The MBTU/MWH is the IHR for the unit for the MW increment

All data should be under curve 1 in the text file.

Always make sure that the text file is ended with “END” at the bottom of it.

After all new unit data is entered into the text file, it should look like what is shown below:

[pic]

3 Modifying Generator Constraints

“Generator Constraints” refers to the maximum and minimum generation limits for each committed generator. By following the "Generator Constraints" hyperlink (seen in the screen-shot below), one will be directed to the constraints worksheet.

[pic]

On the worksheet there is a cell for each generator’s name, and minimum and maximum MW limit for each of the 168 weekly hours. Upon arrival, the page will be set to the last situation executed or the default. All minimum and maximum MW limits must be positive integers. The following is a screen shot of the Constraints worksheet.

[pic]

4 Modifying Generation Requirement (Load)

The next field that must be modified is the generation requirement for each of the 168 hours. To get to the generation requirement page click the “Load Data” tab on the bottom of the menu. Upon arrival the load data will be set to the last case executed or default, as can be seen below in the load data screen shot.

[pic]

It is required that a MW load (integer) is placed into each of the 168 cells. If a load cell is blank NMIGED will display an error when ran and will not completely dispatch.

5 Generator Up/Down Times

Up-time refers to the number of hours that it takes for a generation unit to start-up. A unit can not begin being committed until the number of up-time hours have passed. Down-time refers to the number of hours that it takes for a generation unit to shut-down. A unit can not be shut-down until the unit has been committed for the number of down-time hours. To input the up/down times click the “UpDown Times” tab on the bottom of the menu. Upon arrival the up/down times data will be set to the last case executed or default, as can be seen below in the up/down times screen shot.

[pic]

It is required that an integer hour amount is placed into each of the “Min Up” and “Min Dn” cells for each unit. If a load cell is blank NMIGED will display an error when ran and will not completely dispatch.

6 The Unit Commitment Chart

With the unit commitment chart there are a number of different user options. Each one of these options is explained in greater detail in the following section.

1 Unit Commitment Worksheet

The unit commitment worksheet is where the user can enter in the status code for each generator. To get to the unit commitment table click the “Unit Commitment” link.

[pic]

Upon arrival the commitment chart will be set to the last pattern executed or the default.

[pic]

On the top of the commitment chart there is a series of static data field that are meant to assist the user is picking a commitment pattern; they are as follows:

• Max Capability: The sum of all committed generator’s maximum generation limits

• Reserve: The generation requirement subtracted from the max capability

• Gen. Requirement: Load

• Foot Room: The min capability subtracted from the generation requirement

• Max Capability: The sum of all committed generator’s minimum generation limits

Below each of these fields is the actual commitment pattern were one can apply the appropriate status codes for each of the generators. Each unit must have a row dedicated to it. Acceptable status codes are as follows:

• 1: Online

• 0 or left blank: Offline

• -1: Out of Service

2 Check Unit Commitment Table Button

To check whether the up/down times are violated click the “Check Unit Commitment Table” button on either the Main Menu or Commitment worksheet (far right). Clicking this button will run an independent macro. If there is an up/down times violation for a unit column FN will display a “Yes” highlighted in red. If the unit does not violate the up/down times it will simply say “No.” This can be seen in the screen-shot below.

[pic]

3 Reset Unit Commitment to Default Button

If at any time the user wants to the unit commitment pattern used by NMIGED to return to the default commitment pattern, simply click the “Reset Unit Commitment to Default” button located on both the Main Menu and the Commitment worksheet. Clicking this button will run an independent macro which takes the values on the “DefaultCommitment” worksheet and places them on the Commitment worksheet. The “DefaultCommitment” worksheet can either be changed manually using the same instructions as section II part iv-1 or by allowing NMIGED to set it, covered later in section III part i.

7 Combined Cycle Data

By following the "Combined Cycle Data" hyperlink, one reaches the worksheet to adjust the MW output relation between the CTs and HRSG. Under the CT heading, input the MW contribution (integer) of only one CT. In the HRSG column, input the total HRSG contribution.

[pic]

→Example: The total combined cycle output is 190 MW. Each CT contributes 60 MW and the HRSG outputs 70 MW. Under the CT heading you would enter 60 and under the HRSG heading you would enter 70. For NMIGED to run properly there must be eight data points entered in ascending order, lowest values on top and highest values on bottom. Every combined-cycle unit must have its own set of data.

8 Output Display Options

NMIGED by default displays the Generator Outputs, Generator Costs, and Fuel Use; however one can also display a series of extra tables by selecting TRUE in the drop down lists next to each option. Not displaying a page will create fewer tabs to sort through.

[pic]

1 Display Curve Characteristics?

Curve Characteristics refer to the A, B, and C characteristics that are calculated for each unit.

2 Display MU Lambda Tables?

MU Lambda Tables refer to the calculated lambda values for each monotonically increasing unit. Lambda values will be displayed in one MW increments and will be displayed on the worksheet labeled MU lambda tables.

3 Display NMU Lambda Tables?

NMU Lambda Tables refer to the calculated lambda values for each non-monotonically increasing unit. Lambda values will be displayed in one MW increments and will be displayed on the worksheet labeled MU lambda tables.

4 Display All Possible Solutions?

All possible solutions will display every power and cost combinations for a designated hour. The user will be prompted for the hour when the program executes.

9 Execute

Once all of the user defined fields are entered one can run the program to dispatch all 168 hours by clicking the “Execute” button. Clicking the Execute button will run the main program macro.

[pic]

Secondary Program Operating Instructions

The Secondary Menu can only be used after completely running the Main Program (168 hour dispatch). The purpose of the Secondary Menu is to allow the user to choose a range of hours to concentrate their study on. Dispatches through the Secondary Menu take considerably less time than through the Main Menu. The following steps are a more detailed version of what’s displayed on the Secondary Menu; however, while reading the Secondary Menu instructions it is recommended that the user follows along with the software.

1 Set Unit Commitment to Default

After the main program has been run the first option that the user has is to save the unit commitment pattern that was used in the last execution as the default. This can be done by clicking the button labeled “Save Unit Commitment to Default” (seen in the screen-shot below).

[pic]

By clicking the “Save Unit Commitment to Default” button it will replace the pattern on the “Default Commitment” worksheet with the commitment pattern stored in an array (read off the “Commitment” worksheet). Any time the user resets the unit commitment to default (section II part iv-3) the “Commitment” worksheet will change to this pattern.

2 Dispatching a Range of Hours

The main function of the secondary menu is to dispatch a range of hours. In Step 2 of the Secondary Menu the user is prompted for a start hour and an end hour. Use the pair of scroll down lists to select the range to be dispatched. This range of hours will be highlighted in blue on the output pages. Note: The starting hour must be less than the ending hour.

[pic]

In the above situation only hour four will be dispatched.

3 User Data

User data refers to all the user defined fields described in Section II part ii through part viii of this manual. All of these fields can be modified in the same manner as the reference sections.

[pic]

4 Changed Data?

To save loading time the secondary program only reads in a user-defined data field if the user specifies that it has changed since the last execution. This is done through a series of scroll down menus. If the data field has changed, the user should change the box to “TRUE,” if unchanged leave it “FALSE.” The following are the possibly changed data fields:

• Generator Data .txt File

• Generator Constraints Worksheet

• Unit Commitment Worksheet

• Combined Cycle Data

• Generation Requirement

[pic]

5 Execute Secondary Program

Once all of the user defined fields are entered one can run the secondary program which dispatches the range of hours designated in part ii of this section by clicking the “Execute Secondary NMIGED” button. Clicking the execute button will run the secondary program macro.

[pic]

Output Pages

To display the results of each dispatch NMIGED uses a series of output pages. The following are instructions for how to read each of the output pages.

1 Quick Breakdown

The quick breakdown displays the hourly breakdown for total power (MW), total cost ($), and the total amount of generation produced by non-monotonically increasing generators (MW). The main purpose of this sheet is to display a quick summary of each hour’s cost and generation. If the Secondary Menu was used, the user defined range of hours will be highlighted in blue, as can be seen below in the screen-shot.

[pic]

2 Generator Output

The Generator Output page displays the hourly MW output for each generation unit. The total generation (MW) for each hour is displayed across the bottom of the worksheet. The total generation (MW) for each unit is displayed on the far right. The top-most row displays the total cost ($) for each hour. The next row, lambda value, refers to the cost to produce the next additional MW-hour. Max. Capability, Reserve, Load, Foot Room, and Min. Capability are all described in Section II part iv-1. If the Secondary Menu was used, the user defined range of hours will be highlighted in blue. A screen-shot of the Generator Output page can be seen in the screen-shot below.

[pic]

3 Generator Cost

The Generator Cost page displays the hourly cost ($) output for each generation unit. The total cost ($) for each hour is displayed across the bottom of the worksheet. The total cost ($) for each unit is displayed on the far right. The top-most row displays the total cost ($) for each hour. The next row, lambda value, refers to the cost to produce the next additional MW-hour. Max. Capability, Reserve, Load, Foot Room, and Min. Capability are all described in Section II part iv-1. If the Secondary Menu was used, the user defined range of hours will be highlighted in blue. A screen-shot of the Generator Cost page can be seen in the screen-shot below.

[pic]

4 Fuel Use

The Fuel Use page displays the hourly MBTU consumption for each generation unit. The fuel usage for each hour is displayed across the bottom of the worksheet. The total fuel consumption for each unit is displayed on the far right. The top-most row displays the total cost ($) for each hour. The next row, lambda value, refers to the cost to produce the next additional MW-hour. Max. Capability, Reserve, Load, Foot Room, and Min. Capability are all described in Section II part iv-1. If the Secondary Menu was used, the user defined range of hours will be highlighted in blue. A screen-shot of the Fuel Use page can be seen in the screen-shot below.

[pic]

Adding or Deleting a Unit

To add a new unit one must change the generation data text file and at least three Excel worksheets in order for NMIGED to perform an error-free dispatch. It should also be noted that no two units can have the same name. Step-by-step instructions for how to add a generator are the following:

1 Gen. Data txt File

To modify the txt file follow the instructions on Step #2 on NMIGED’s Main Menu.

2 Unit Commitment

Place the name of the new unit in Column A of the “Commitment” worksheet. The name of the unit must match the name given on the txt file (this same principle goes with all following steps as well). The name may be inserted in any row; however, there cannot be any blank rows between any of the unit names. The actual commitment pattern may be added at any point.

3 Gen Limits

Place the name of the new unit in Column A of the “Gen Limits” worksheet. The name may be inserted in any row; however, there cannot be any blank rows between any of the unit names. Make sure that a max and min MW capability is given for every hour (if not you’ll receive an error message).

4 Up/Down Times

Place the name of the new unit in Column A of the “UpDown Times” worksheet. For the “Commitment” page to function correctly the order of the names on the “UpDown Times” worksheet MUST match those on the “Commitment” worksheet.

5 Combined Cycle

If the unit is an NMU, you must also add the name to the “Combined Cycle Data” worksheet. Use the same format as is done for the two default units. Note: NMIGED requires eight data points for the CT/HRSG relationship.

Note: When committing new units it may be necessary to change the Generation Requirement or Load Data so that there is a feasible solution.

To remove a unit, one should follow the same process only making sure that the information is deleted from each of the five areas highlighted above. In the Excel worksheets this may be most easily done by selecting the entire row and clicking “delete row-shift contents up.”

Data Checks and Error Messages

The program checks for errors in a few places before any solving is done. The five main areas where error checking is performed are listed below along with a list of checks made for each area:

1 Input file loading

a. No two units have the same name

b. Missing fuel price

c. Missing I/O value

d. Missing MW and IHR points

e. MW points must be integer values

2 Commitment table

a. Missing or invalid status codes (must be 0, blank, or 1)

b. The commitment pattern does not the correct up/down times

3 Generator min/max table

a. Missing min/max values throughout the 168 hour period

b. Invalid (non integer) min/max values throughout the 168 hour period

c. Generator min must be less than generator max

4 Load value table

a. Missing or invalid load values (load value < 0 or non numeric)

b. Check whether load value is feasible given total generation min/max for a specific hour

5 Secondary main

a. The main program was not ran (since opening the software file) before attempting to run the secondary

b. The starting hour is greater than the ending hour

If in any one of these areas there is an error, the program will immediately stop running and an error message will appear on the screen telling the type of error that was discovered.

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download