Part 3. Description of a function code 1. Part 3. Description of a function code 2 As an example we...

Post on 29-Mar-2015

225 views 1 download

Tags:

Transcript of Part 3. Description of a function code 1. Part 3. Description of a function code 2 As an example we...

Part 3. Description of a function code

1

Part 3. Description of a function code

2

As an example we will write a function code to find the outside diameter of a carbon steel pipe, with input nominal diameter in inches.

Part 3. Description of a function code

3

As an example we will write a function code to find the outside diameter of a carbon steel pipe, with input nominal diameter in inches.

The name of the function will be

Part 3. Description of a function code

4

"Pipe_Imp_CS_Dext_dn_sch"

As an example we will write a function code to find the outside diameter of a carbon steel pipe, with input nominal diameter in inches.

The name of the function will be

Part 3. Description of a function code

5

"Pipe_Imp_CS_Dext_dn_sch"

As an example we will write a function code to find the outside diameter of a carbon steel pipe, with input nominal diameter in inches.

The name of the function will be

This function is based on outside diameters defined in ASME B36.10M

Part 3. Description of a function code

6

"Pipe_Imp_CS_Dext_dn_sch"

As an example we will write a function code to find the outside diameter of a carbon steel pipe, with input nominal diameter in inches.

The name of the function will be

This function is based on outside diameters defined in ASME B36.10M

A table with the outside diameters "dext [mm]", corresponding to the nominal diameters "dn [in]", should be included on a sheet in the Excel file. The function will read the information from this sheet.

7

The following table shows outside diameters and thicknesses for carbon steel pipes of different nominal diameters and schedules, according to the standardASME B36. 10

8

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

2

3 Pipe Thickness [mm], according ASME B36.10M4

5

6 Size dext 5 10 20 30 40 60 80 100 120 140 160 STD XS XXS

7 1/2 21.3 1.65 2.11 - 2.41 2.77 - 3.73 - 0 - 4.78 2.77 3.73 7.478 3/4 26.7 1.65 2.11 - 2.41 2.87 - 3.91 - 0 - 5.56 2.87 3.91 7.829 1 33.4 1.65 2.77 - 2.9 3.38 - 4.55 - 0 - 6.35 3.38 4.55 9.09

10 1 1/2 48.3 1.65 2.77 - 3.18 3.68 - 5.08 - 0 - 7.14 3.68 5.08 10.1511 2 60.3 1.65 2.77 - 3.18 3.91 - 5.54 - 0 - 8.74 3.91 5.54 11.0712 3 88.9 2.11 3.05 - 4.78 5.49 - 7.62 - 0 - 11.13 5.49 7.62 15.2413 4 114.3 2.11 3.05 - 4.78 6.02 - 8.56 - 11.13 - 13.49 6.02 8.56 17.1214 5 141.3 2.77 3.4 - - 6.55 - 9.53 - 12.7 - 15.88 6.55 9.53 19.0515 6 168.3 2.77 3.4 - - 7.11 - 10.97 - 14.27 - 18.26 7.11 10.97 21.9516 8 219.1 2.77 3.76 6.35 7.04 8.18 10.31 12.7 15.09 18.26 20.62 23.01 8.18 12.7 22.2317 10 273 3.4 4.19 6.35 7.8 9.27 12.7 15.09 18.26 21.44 25.4 28.58 9.27 12.7 25.418 12 323.8 3.96 4.57 6.35 8.38 10.31 14.27 17.48 21.44 25.4 28.58 33.32 9.53 12.7 25.419 14 355.6 3.96 6.35 7.92 9.53 11.13 15.09 19.05 23.83 27.79 31.75 35.71 9.53 12.7 - 20 16 406.4 4.19 6.35 7.92 9.53 12.7 16.66 21.44 26.19 30.96 36.53 40.49 9.53 12.7 - 21 18 457 4.19 6.35 7.92 11.13 14.27 19.05 23.83 29.36 34.93 39.67 45.24 9.53 12.7 - 22 20 508 4.78 6.35 9.53 12.7 15.09 20.62 26.19 32.54 38.1 44.45 50.01 9.53 12.7 - 23 22 559 4.78 6.35 9.53 12.7 - 22.23 28.58 34.93 41.28 47.63 53.98 9.53 12.7 - 24 24 610 5.54 6.35 9.53 14.27 17.48 24.61 30.96 38.89 46.02 52.37 59.54 9.53 12.7 - 25 26 660 - 7.92 12.7 15.88 - - - - - - - 9.53 12.7 - 26 28 711 - 7.92 12.7 - - - - - - - - 9.53 12.7 - 27 30 762 6.35 7.92 12.7 15.88 - - - - - - - 9.53 12.7 - 28 32 813 - 7.92 12.7 15.88 17.48 - - - - - - 9.53 12.7 - 29 34 864 - 7.92 12.7 15.88 17.48 - - - - - - 9.53 12.7 - 30 36 914 - 7.92 12.7 15.88 19.05 - - - - - - 9.53 12.7 - 31 38 965 - - - - - - - - - - - 9.53 12.7 - 32 40 1016 - - - - - - - - - - - 9.53 12.7 - 33 42 1067 - - - - - - - - - - - 9.53 12.7 - 34 44 1118 - - - - - - - - - - - 9.53 12.7 - 35 46 1168 - - - - - - - - - - - 9.53 12.7 - 36 48 1219 - - - - - - - - - - - 9.53 12.7 -

ASME B36.10M SCHEDULE / IDENTIFICATION

9

Function code for the exterior diameter

10

Function code for the exterior diameter

As explained in Part 1, the code starts by defining the function name and Visual Basic adds the "End Function".

11

Function code for the exterior diameter

As explained in Part 1, the code starts by defining the function name and Visual Basic adds the "End Function".

Function Pipe_Imp_CS_Dext_dn(Dn)

End Function

12

The exterior diameter depends only on the nominal diameter (Dn) and is in the third column of the table.

13

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

2

3 Pipe Thickness [mm], according ASME B36.10M4

5

6 Size dext 5 10 20 30 40 60 80 100 120 140 160 STD XS XXS

7 1/2 21.3 1.65 2.11 - 2.41 2.77 - 3.73 - 0 - 4.78 2.77 3.73 7.478 3/4 26.7 1.65 2.11 - 2.41 2.87 - 3.91 - 0 - 5.56 2.87 3.91 7.829 1 33.4 1.65 2.77 - 2.9 3.38 - 4.55 - 0 - 6.35 3.38 4.55 9.0910 1 1/2 48.3 1.65 2.77 - 3.18 3.68 - 5.08 - 0 - 7.14 3.68 5.08 10.1511 2 60.3 1.65 2.77 - 3.18 3.91 - 5.54 - 0 - 8.74 3.91 5.54 11.0712 3 88.9 2.11 3.05 - 4.78 5.49 - 7.62 - 0 - 11.13 5.49 7.62 15.2413 4 114.3 2.11 3.05 - 4.78 6.02 - 8.56 - 11.13 - 13.49 6.02 8.56 17.1214 5 141.3 2.77 3.4 - - 6.55 - 9.53 - 12.7 - 15.88 6.55 9.53 19.0515 6 168.3 2.77 3.4 - - 7.11 - 10.97 - 14.27 - 18.26 7.11 10.97 21.9516 8 219.1 2.77 3.76 6.35 7.04 8.18 10.31 12.7 15.09 18.26 20.62 23.01 8.18 12.7 22.2317 10 273 3.4 4.19 6.35 7.8 9.27 12.7 15.09 18.26 21.44 25.4 28.58 9.27 12.7 25.418 12 323.8 3.96 4.57 6.35 8.38 10.31 14.27 17.48 21.44 25.4 28.58 33.32 9.53 12.7 25.419 14 355.6 3.96 6.35 7.92 9.53 11.13 15.09 19.05 23.83 27.79 31.75 35.71 9.53 12.7 - 20 16 406.4 4.19 6.35 7.92 9.53 12.7 16.66 21.44 26.19 30.96 36.53 40.49 9.53 12.7 - 21 18 457 4.19 6.35 7.92 11.13 14.27 19.05 23.83 29.36 34.93 39.67 45.24 9.53 12.7 - 22 20 508 4.78 6.35 9.53 12.7 15.09 20.62 26.19 32.54 38.1 44.45 50.01 9.53 12.7 - 23 22 559 4.78 6.35 9.53 12.7 - 22.23 28.58 34.93 41.28 47.63 53.98 9.53 12.7 - 24 24 610 5.54 6.35 9.53 14.27 17.48 24.61 30.96 38.89 46.02 52.37 59.54 9.53 12.7 - 25 26 660 - 7.92 12.7 15.88 - - - - - - - 9.53 12.7 - 26 28 711 - 7.92 12.7 - - - - - - - - 9.53 12.7 - 27 30 762 6.35 7.92 12.7 15.88 - - - - - - - 9.53 12.7 - 28 32 813 - 7.92 12.7 15.88 17.48 - - - - - - 9.53 12.7 - 29 34 864 - 7.92 12.7 15.88 17.48 - - - - - - 9.53 12.7 - 30 36 914 - 7.92 12.7 15.88 19.05 - - - - - - 9.53 12.7 - 31 38 965 - - - - - - - - - - - 9.53 12.7 - 32 40 1016 - - - - - - - - - - - 9.53 12.7 - 33 42 1067 - - - - - - - - - - - 9.53 12.7 - 34 44 1118 - - - - - - - - - - - 9.53 12.7 - 35 46 1168 - - - - - - - - - - - 9.53 12.7 - 36 48 1219 - - - - - - - - - - - 9.53 12.7 -

ASME B36.10M SCHEDULE / IDENTIFICATION

14

The code begins by defining the matrix "C" containing rows 1 through 36 and columns 1 through 3.

15

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

2

3 Pipe Thickness [mm], according ASME B36.10M4

5

6 Size dext 5 10 20 30 40 60 80 100 120 140 160 STD XS XXS

7 1/2 21.3 1.65 2.11 - 2.41 2.77 - 3.73 - 0 - 4.78 2.77 3.73 7.478 3/4 26.7 1.65 2.11 - 2.41 2.87 - 3.91 - 0 - 5.56 2.87 3.91 7.829 1 33.4 1.65 2.77 - 2.9 3.38 - 4.55 - 0 - 6.35 3.38 4.55 9.0910 1 1/2 48.3 1.65 2.77 - 3.18 3.68 - 5.08 - 0 - 7.14 3.68 5.08 10.1511 2 60.3 1.65 2.77 - 3.18 3.91 - 5.54 - 0 - 8.74 3.91 5.54 11.0712 3 88.9 2.11 3.05 - 4.78 5.49 - 7.62 - 0 - 11.13 5.49 7.62 15.2413 4 114.3 2.11 3.05 - 4.78 6.02 - 8.56 - 11.13 - 13.49 6.02 8.56 17.1214 5 141.3 2.77 3.4 - - 6.55 - 9.53 - 12.7 - 15.88 6.55 9.53 19.0515 6 168.3 2.77 3.4 - - 7.11 - 10.97 - 14.27 - 18.26 7.11 10.97 21.9516 8 219.1 2.77 3.76 6.35 7.04 8.18 10.31 12.7 15.09 18.26 20.62 23.01 8.18 12.7 22.2317 10 273 3.4 4.19 6.35 7.8 9.27 12.7 15.09 18.26 21.44 25.4 28.58 9.27 12.7 25.418 12 323.8 3.96 4.57 6.35 8.38 10.31 14.27 17.48 21.44 25.4 28.58 33.32 9.53 12.7 25.419 14 355.6 3.96 6.35 7.92 9.53 11.13 15.09 19.05 23.83 27.79 31.75 35.71 9.53 12.7 - 20 16 406.4 4.19 6.35 7.92 9.53 12.7 16.66 21.44 26.19 30.96 36.53 40.49 9.53 12.7 - 21 18 457 4.19 6.35 7.92 11.13 14.27 19.05 23.83 29.36 34.93 39.67 45.24 9.53 12.7 - 22 20 508 4.78 6.35 9.53 12.7 15.09 20.62 26.19 32.54 38.1 44.45 50.01 9.53 12.7 - 23 22 559 4.78 6.35 9.53 12.7 - 22.23 28.58 34.93 41.28 47.63 53.98 9.53 12.7 - 24 24 610 5.54 6.35 9.53 14.27 17.48 24.61 30.96 38.89 46.02 52.37 59.54 9.53 12.7 - 25 26 660 - 7.92 12.7 15.88 - - - - - - - 9.53 12.7 - 26 28 711 - 7.92 12.7 - - - - - - - - 9.53 12.7 - 27 30 762 6.35 7.92 12.7 15.88 - - - - - - - 9.53 12.7 - 28 32 813 - 7.92 12.7 15.88 17.48 - - - - - - 9.53 12.7 - 29 34 864 - 7.92 12.7 15.88 17.48 - - - - - - 9.53 12.7 - 30 36 914 - 7.92 12.7 15.88 19.05 - - - - - - 9.53 12.7 - 31 38 965 - - - - - - - - - - - 9.53 12.7 - 32 40 1016 - - - - - - - - - - - 9.53 12.7 - 33 42 1067 - - - - - - - - - - - 9.53 12.7 - 34 44 1118 - - - - - - - - - - - 9.53 12.7 - 35 46 1168 - - - - - - - - - - - 9.53 12.7 - 36 48 1219 - - - - - - - - - - - 9.53 12.7 -

ASME B36.10M SCHEDULE / IDENTIFICATION

16

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

2

3 Pipe Thickness [mm], according ASME B36.10M4

5

6 Size dext 5 10 20 30 40 60 80 100 120 140 160 STD XS XXS

7 1/2 21.3 1.65 2.11 - 2.41 2.77 - 3.73 - 0 - 4.78 2.77 3.73 7.478 3/4 26.7 1.65 2.11 - 2.41 2.87 - 3.91 - 0 - 5.56 2.87 3.91 7.829 1 33.4 1.65 2.77 - 2.9 3.38 - 4.55 - 0 - 6.35 3.38 4.55 9.0910 1 1/2 48.3 1.65 2.77 - 3.18 3.68 - 5.08 - 0 - 7.14 3.68 5.08 10.1511 2 60.3 1.65 2.77 - 3.18 3.91 - 5.54 - 0 - 8.74 3.91 5.54 11.0712 3 88.9 2.11 3.05 - 4.78 5.49 - 7.62 - 0 - 11.13 5.49 7.62 15.2413 4 114.3 2.11 3.05 - 4.78 6.02 - 8.56 - 11.13 - 13.49 6.02 8.56 17.1214 5 141.3 2.77 3.4 - - 6.55 - 9.53 - 12.7 - 15.88 6.55 9.53 19.0515 6 168.3 2.77 3.4 - - 7.11 - 10.97 - 14.27 - 18.26 7.11 10.97 21.9516 8 219.1 2.77 3.76 6.35 7.04 8.18 10.31 12.7 15.09 18.26 20.62 23.01 8.18 12.7 22.2317 10 273 3.4 4.19 6.35 7.8 9.27 12.7 15.09 18.26 21.44 25.4 28.58 9.27 12.7 25.418 12 323.8 3.96 4.57 6.35 8.38 10.31 14.27 17.48 21.44 25.4 28.58 33.32 9.53 12.7 25.419 14 355.6 3.96 6.35 7.92 9.53 11.13 15.09 19.05 23.83 27.79 31.75 35.71 9.53 12.7 - 20 16 406.4 4.19 6.35 7.92 9.53 12.7 16.66 21.44 26.19 30.96 36.53 40.49 9.53 12.7 - 21 18 457 4.19 6.35 7.92 11.13 14.27 19.05 23.83 29.36 34.93 39.67 45.24 9.53 12.7 - 22 20 508 4.78 6.35 9.53 12.7 15.09 20.62 26.19 32.54 38.1 44.45 50.01 9.53 12.7 - 23 22 559 4.78 6.35 9.53 12.7 - 22.23 28.58 34.93 41.28 47.63 53.98 9.53 12.7 - 24 24 610 5.54 6.35 9.53 14.27 17.48 24.61 30.96 38.89 46.02 52.37 59.54 9.53 12.7 - 25 26 660 - 7.92 12.7 15.88 - - - - - - - 9.53 12.7 - 26 28 711 - 7.92 12.7 - - - - - - - - 9.53 12.7 - 27 30 762 6.35 7.92 12.7 15.88 - - - - - - - 9.53 12.7 - 28 32 813 - 7.92 12.7 15.88 17.48 - - - - - - 9.53 12.7 - 29 34 864 - 7.92 12.7 15.88 17.48 - - - - - - 9.53 12.7 - 30 36 914 - 7.92 12.7 15.88 19.05 - - - - - - 9.53 12.7 - 31 38 965 - - - - - - - - - - - 9.53 12.7 - 32 40 1016 - - - - - - - - - - - 9.53 12.7 - 33 42 1067 - - - - - - - - - - - 9.53 12.7 - 34 44 1118 - - - - - - - - - - - 9.53 12.7 - 35 46 1168 - - - - - - - - - - - 9.53 12.7 - 36 48 1219 - - - - - - - - - - - 9.53 12.7 -

ASME B36.10M SCHEDULE / IDENTIFICATION

Matrix "C" in whose third column from rows 7 to 36 are the exterior diameters "OD [mm]"

17

Next, it will be defined in the code, the array dimension of "C"

18

Dim C(36, 3)

Function Pipe_Imp_CS_Dext_dn(Dn)

End Function

19

Dim C(36, 3)

Function Pipe_Imp_CS_Dext_dn(Dn)

End Function

The matrix C is defined with 36 columns and 3 rows

20

Reading of the table

21

Reading of the table

To read the information in the table, one uses a structure called For-next

22

Reading of the table

To read the information in the table, one uses a structure called For-next

The For-next indicates to repeat an operation that depends on an index "m" and indicates the start and end values of "m".

23

Reading of the table

To read the information in the table, one uses a structure called For-next

The For-next indicates to repeat an operation that depends on an index "m" and indicates the start and end values of "m".

For m = 1 To 36

24

Reading of the table

To read the information in the table, one uses a structure called For-next

The For-next indicates to repeat an operation that depends on an index "m" and indicates the start and end values of "m".

For m = 1 To 36

In this space are introduced the operations to be performed, which depend on the temporal value of the index "m"

25

Reading of the table

To read the information in the table, one uses a structure called For-next

The For-next indicates to repeat an operation that depends on an index "m" and indicates the start and end values of "m".

For m = 1 To 36

In this space are introduced the operations to be performed, which depend on the temporal value of the index "m"

The operations with the index "m" end with

26

Reading of the table

To read the information in the table, one uses a structure called For-next

The For-next indicates to repeat an operation that depends on an index "m" and indicates the start and end values of "m".

For m = 1 To 36

In this space are introduced the operations to be performed, which depend on the temporal value of the index "m"

Next m

The operations with the index "m" end with

27

Reading of the table

To read the information in the table, one uses a structure called For-next

The For-next indicates to repeat an operation that depends on an index "m" and indicates the start and end values of "m".

For m = 1 To 36

In this space are introduced the operations to be performed, which depend on the temporal value of the index "m"

Next m

The operations with the index "m" end with

The loop ends after the operation with index "m = 36" is performed.

28

The “ For-next” is programed as follows

29

The “ For-next” is programed as follows

30

The “ For-next” is programed as follows

This indicates that cells in column 3, from row 1 to 36, shall be read

31

The “ For-next” is programed as follows

This indicates that cells in column 3, from row 1 to 36, shall be read

32

The “ For-next” is programed as follows

This indicates that cells in column 3, from row 1 to 36, shall be read

The read value is assigned to the element (m, 3) of the matrix "C"

33

The “ For-next” is programed as follows

This indicates that cells in column 3, from row 1 to 36, shall be read

The read value is assigned to the element (m, 3) of the matrix "C"

34

The “ For-next” is programed as follows

This indicates that cells in column 3, from row 1 to 36, shall be read

The reading is done in the sheet that has been named 6.CS_Imp

The read value is assigned to the element (m, 3) of the matrix "C"

35

The “ For-next” is programed as follows

This indicates that cells in column 3, from row 1 to 36, shall be read

The reading is done in the sheet that has been named 6.CS_Imp

The read value is assigned to the element (m, 3) of the matrix "C"

36

The “ For-next” is programed as follows

This indicates that cells in column 3, from row 1 to 36, shall be read

The reading is done in the sheet that has been named 6.CS_Imp

The read value is assigned to the element (m, 3) of the matrix "C"

On sheet "6.CS_Imp" it must be read the contents of the cell (m, 3)

37

Summary of programming steps

38

Summary of programming steps

Function

39

Summary of programming steps

Function Pipe_Imp_CS_Dext_dn(Dn)

End Function

40

Summary of programming steps

Function Pipe_Imp_CS_Dext_dn(Dn)

End Function

Dim C(36, 3)

41

Summary of programming steps

Function Pipe_Imp_CS_Dext_dn(Dn)

End Function

Dim C(36, 3)

For m = 1 To 36

42

Summary of programming steps

Function Pipe_Imp_CS_Dext_dn(Dn)

End Function

Dim C(36, 3)

For m = 1 To 36

C(m, 3) = thisWorkbook.Worksheets("6.CS_Imp").Cells(m, 3).Value

43

Summary of programming steps

Function Pipe_Imp_CS_Dext_dn(Dn)

End Function

Dim C(36, 3)

For m = 1 To 36

C(m, 3) = thisWorkbook.Worksheets("6.CS_Imp").Cells(m, 3).Value

Next m

44

Identification of the row in which each nominal diameter is found

45

Identification of the row in which each nominal diameter is found

By associating the nominal diameter to its row in the matrix, one knows the row where the rest of the data related to this diameter is located in the matrix.

46

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

2

3 Pipe Thickness [mm], according ASME B36.10M4

5

6 Size dext 5 10 20 30 40 60 80 100 120 140 160 STD XS XXS

7 1/2 21.3 1.65 2.11 - 2.41 2.77 - 3.73 - 0 - 4.78 2.77 3.73 7.478 3/4 26.7 1.65 2.11 - 2.41 2.87 - 3.91 - 0 - 5.56 2.87 3.91 7.829 1 33.4 1.65 2.77 - 2.9 3.38 - 4.55 - 0 - 6.35 3.38 4.55 9.0910 1 1/2 48.3 1.65 2.77 - 3.18 3.68 - 5.08 - 0 - 7.14 3.68 5.08 10.1511 2 60.3 1.65 2.77 - 3.18 3.91 - 5.54 - 0 - 8.74 3.91 5.54 11.0712 3 88.9 2.11 3.05 - 4.78 5.49 - 7.62 - 0 - 11.13 5.49 7.62 15.2413 4 114.3 2.11 3.05 - 4.78 6.02 - 8.56 - 11.13 - 13.49 6.02 8.56 17.1214 5 141.3 2.77 3.4 - - 6.55 - 9.53 - 12.7 - 15.88 6.55 9.53 19.0515 6 168.3 2.77 3.4 - - 7.11 - 10.97 - 14.27 - 18.26 7.11 10.97 21.9516 8 219.1 2.77 3.76 6.35 7.04 8.18 10.31 12.7 15.09 18.26 20.62 23.01 8.18 12.7 22.2317 10 273 3.4 4.19 6.35 7.8 9.27 12.7 15.09 18.26 21.44 25.4 28.58 9.27 12.7 25.418 12 323.8 3.96 4.57 6.35 8.38 10.31 14.27 17.48 21.44 25.4 28.58 33.32 9.53 12.7 25.419 14 355.6 3.96 6.35 7.92 9.53 11.13 15.09 19.05 23.83 27.79 31.75 35.71 9.53 12.7 - 20 16 406.4 4.19 6.35 7.92 9.53 12.7 16.66 21.44 26.19 30.96 36.53 40.49 9.53 12.7 - 21 18 457 4.19 6.35 7.92 11.13 14.27 19.05 23.83 29.36 34.93 39.67 45.24 9.53 12.7 - 22 20 508 4.78 6.35 9.53 12.7 15.09 20.62 26.19 32.54 38.1 44.45 50.01 9.53 12.7 - 23 22 559 4.78 6.35 9.53 12.7 - 22.23 28.58 34.93 41.28 47.63 53.98 9.53 12.7 - 24 24 610 5.54 6.35 9.53 14.27 17.48 24.61 30.96 38.89 46.02 52.37 59.54 9.53 12.7 - 25 26 660 - 7.92 12.7 15.88 - - - - - - - 9.53 12.7 - 26 28 711 - 7.92 12.7 - - - - - - - - 9.53 12.7 - 27 30 762 6.35 7.92 12.7 15.88 - - - - - - - 9.53 12.7 - 28 32 813 - 7.92 12.7 15.88 17.48 - - - - - - 9.53 12.7 - 29 34 864 - 7.92 12.7 15.88 17.48 - - - - - - 9.53 12.7 - 30 36 914 - 7.92 12.7 15.88 19.05 - - - - - - 9.53 12.7 - 31 38 965 - - - - - - - - - - - 9.53 12.7 - 32 40 1016 - - - - - - - - - - - 9.53 12.7 - 33 42 1067 - - - - - - - - - - - 9.53 12.7 - 34 44 1118 - - - - - - - - - - - 9.53 12.7 - 35 46 1168 - - - - - - - - - - - 9.53 12.7 - 36 48 1219 - - - - - - - - - - - 9.53 12.7 -

ASME B36.10M SCHEDULE / IDENTIFICATION

47

Identification of the row in which each nominal diameter is found

By associating the nominal diameter to its row in the matrix, one knows the row where the rest of the data related to this diameter is located in the matrix.

En el código se agrega la siguiente línea

48

Identificación de la fila en que se encuentra cada diámetro nominal

Al asociar el diámetro nominal del caso a su fila en la matriz, se conoce la ubicación de la fila de ”todos losdatos correspondientes a ese diámetro”.

En el código se agrega la siguiente línea

If Dn = 0.5 Then x = 7

49

Identificación de la fila en que se encuentra cada diámetro nominal

Al asociar el diámetro nominal del caso a su fila en la matriz, se conoce la ubicación de la fila de ”todos losdatos correspondientes a ese diámetro”.

En el código se agrega la siguiente línea

If Dn = 0.5 Then x = 7

Cuyo significado es Si Dn tiene el valo 0.5 [in] entonces se trata de la fila 7

50

Identificación de la fila en que se encuentra cada diámetro nominal

Al asociar el diámetro nominal del caso a su fila en la matriz, se conoce la ubicación de la fila de ”todos losdatos correspondientes a ese diámetro”.

En el código se agrega la siguiente línea

If Dn = 0.5 Then x = 7

Cuyo significado es Si Dn tiene el valo 0.5 [in] entonces se trata de la fila 7

La siguiente línea es

51

Identificación de la fila en que se encuentra cada diámetro nominal

Al asociar el diámetro nominal del caso a su fila en la matriz, se conoce la ubicación de la fila de ”todos losdatos correspondientes a ese diámetro”.

En el código se agrega la siguiente línea

ElseIf Dn = 0.75 Then x = 8

If Dn = 0.5 Then x = 7

Cuyo significado es Si Dn tiene el valo 0.5 [in] entonces se trata de la fila 7

La siguiente línea es

52

Identificación de la fila en que se encuentra cada diámetro nominal

Al asociar el diámetro nominal del caso a su fila en la matriz, se conoce la ubicación de la fila de ”todos losdatos correspondientes a ese diámetro”.

En el código se agrega la siguiente línea

Cuyo significado es O Si Dn tiene el valor 0.75 [in] , se trata de la fila 8

ElseIf Dn = 0.75 Then x = 8

If Dn = 0.5 Then x = 7

Cuyo significado es Si Dn tiene el valo 0.5 [in] entonces se trata de la fila 7

La siguiente línea es

53

Identificación de la fila en que se encuentra cada diámetro nominal

By associating the nominal diameter to its row in the matrix, one knows the row where the rest of the data related to this diameter is located in the matrix.

En el código se agrega la siguiente línea

Cuyo significado es O Si Dn tiene el valor 0.75 [in] , se trata de la fila 8

ElseIf Dn = 0.75 Then x = 8

If Dn = 0.5 Then x = 7

Y así sucesivamente hasta identificar todas las filas

Cuyo significado es Si Dn tiene el valo 0.5 [in] entonces se trata de la fila 7

La siguiente línea es

54

Identification of the row in which each nominal diameter is found

By associating the nominal diameter to its row in the matrix, one knows the row where the rest of the data related to this diameter is located in the matrix.

In the code we add the following line

Whose meaning is Or if Dn has the value 0.75 [in] , then it is row 8

ElseIf Dn = 0.75 Then x = 8

If Dn = 0.5 Then x = 7

And so on until all all rows are identified

With these two new lines, the code looks like

Whose meaning isIf Dn has the values 0.5 [in] then the row is row 7

The next line is

55

Function Pipe_Imp_CS_Dext_dn(Dn)

Dim C(36, 3)

For m = 1 To 36

C(m, 3) = ThisWorkbook.Worksheets("6.CS_Imp").Cells(m, 3).Value

Next m

If Dn = 0.5 Then

x = 7

ElseIf Dn = 0.75 Then x = 8

End Function

56

And with all the rows identified, this part of the code looks like

57

Function Pipe_Imp_CS_Dext_dn(Dn)

Dim C(36, 3)

For m = 1 To 36

C(m, 3) = ThisWorkbook.Worksheets("6.CS_Imp").Cells(m, 3).Value

Next m

If Dn = 0.5 Then

x = 7

ElseIf Dn = 0.75 Then x = 8

ElseIf Dn = 1 Then x = 9

ElseIf Dn = 1.5 Then x = 10

ElseIf Dn = 2 Then x = 11

ElseIf Dn = 3 Then x = 12

ElseIf Dn = 4 Then x = 13

ElseIf Dn = 5 Then x = 14

ElseIf Dn = 6 Then x = 15

ElseIf Dn = 8 Then x = 16

ElseIf Dn = 10 Then x = 17

ElseIf Dn = 12 Then x = 18

ElseIf Dn = 14 Then x = 19

ElseIf Dn = 16 Then x = 20

ElseIf Dn = 18 Then x = 21

ElseIf Dn = 20 Then x = 22

ElseIf Dn = 22 Then x = 23

ElseIf Dn = 24 Then x = 24

ElseIf Dn = 26 Then x = 26

ElseIf Dn = 28 Then x = 26

ElseIf Dn = 30 Then x = 27

ElseIf Dn = 32 Then x = 28

ElseIf Dn = 34 Then x = 29

ElseIf Dn = 36 Then x = 30

ElseIf Dn = 38 Then x = 31

ElseIf Dn = 40 Then x = 32

ElseIf Dn = 42 Then x = 33

ElseIf Dn = 44 Then x = 34

ElseIf Dn = 46 Then x = 35

ElseIf Dn = 48 Then x = 36

' If the Dn-value is not within the given values,

' The function returns Dext = "N/A"

Else

Pipe_Imp_CS_Dext_dn = "N/A"

Exit Function

End If

58

A resume of the code is

59

Function Pipe_Imp_CS_Dext_dn(Dn)

Dim C(36, 3) For m = 1 To 36 C(m, 3) = ThisWorkbook.Worksheets("6.CS_Imp").Cells(m, 3).Value Next m If Dn = 0.5 Thenx = 7ElseIf Dn = 0.75 Then x = 8ElseIf Dn = 1 Then x = 9ElseIf Dn = 1.5 Then x = 10ElseIf Dn = 2 Then x = 11

ElseIf Dn = 44 Then x = 34ElseIf Dn = 46 Then x = 35ElseIf Dn = 48 Then x = 36' If the Dn-value is not within the given values,' The function returns Dext = "N/A"Else Pipe_Imp_CS_Dext_dn = "N/A" Exit FunctionEnd If

60

Function Pipe_Imp_CS_Dext_dn(Dn)

Dim C(36, 3) For m = 1 To 36 C(m, 3) = ThisWorkbook.Worksheets("6.CS_Imp").Cells(m, 3).Value Next m If Dn = 0.5 Thenx = 7ElseIf Dn = 0.75 Then x = 8ElseIf Dn = 1 Then x = 9ElseIf Dn = 1.5 Then x = 10ElseIf Dn = 2 Then x = 11

ElseIf Dn = 44 Then x = 34ElseIf Dn = 46 Then x = 35ElseIf Dn = 48 Then x = 36' If the Dn-value is not within the given values,' The function returns Dext = "N/A"Else Pipe_Imp_CS_Dext_dn = "N/A" Exit FunctionEnd If

This part of the function concludes saying, "Else" that is, in another case, if the nominal diameter received as input is not one of those reviewed, then the input is wrong. The function finish giving the answer Not Applicable (N / A)

61

If the input value of the nominal diameter corresponds to one of the values defined in the standard, it means that in the recently made review, the "x value" of the line corresponding to the nominal diameter has been identified.

62

If the input value of the nominal diameter corresponds to one of the values defined in the standard, it means that in the recently made review, the "x value" of the line corresponding to the nominal diameter has been identified.

Thus, the value of “x” is a known value

63

If the input value of the nominal diameter corresponds to one of the values defined in the standard, it means that in the recently made review, the "x value" of the line corresponding to the nominal diameter has been identified.

Known the matrix row in which the required exterior diameter is (row "x"), and as it is also known that this diameter is in column "3", the element of array with the desired value is the element (x, 3)

Thus, the value of “x” is a known value

64

If the input value of the nominal diameter corresponds to one of the values defined in the standard, it means that in the recently made review, the "x value" of the line corresponding to the nominal diameter has been identified.

Known the matrix row in which the required exterior diameter is (row "x"), and as it is also known that this diameter is in column "3", the element of array with the desired value is the element (x, 3)

Thus, the value of the desired function is

Thus, the value of “x” is a known value

65

If the input value of the nominal diameter corresponds to one of the values defined in the standard, it means that in the recently made review, the "x value" of the line corresponding to the nominal diameter has been identified.

Pipe_Imp_CS_Dext_dn = C(x, 3)

Known the matrix row in which the required exterior diameter is (row "x"), and as it is also known that this diameter is in column "3", the element of array with the desired value is the element (x, 3)

Thus, the value of the desired function is

Thus, the value of “x” is a known value

66

If the input value of the nominal diameter corresponds to one of the values defined in the standard, it means that in the recently made review, the "x value" of the line corresponding to the nominal diameter has been identified.

Pipe_Imp_CS_Dext_dn = C(x, 3)

Known the matrix row in which the required exterior diameter is (row "x"), and as it is also known that this diameter is in column "3", the element of array with the desired value is the element (x, 3)

Thus, the value of the desired function is

With this, the function is finished

Thus, the value of “x” is a known value

67

The complete code is

68

Function Pipe_Imp_CS_Dext_dn(Dn)

Dim C(36, 3) As Variant

For m = 1 To 36

C(m, 3) = ThisWorkbook.Worksheets("6.CS_Imp").Cells(m, 3).Value

Next m

x = 7

ElseIf Dn = 0.75 Then x = 8

ElseIf Dn = 1 Then x = 9

ElseIf Dn = 1.5 Then x = 10

ElseIf Dn = 2 Then x = 11

ElseIf Dn = 3 Then x = 12

ElseIf Dn = 4 Then x = 13

ElseIf Dn = 5 Then x = 14

ElseIf Dn = 6 Then x = 15

ElseIf Dn = 8 Then x = 16

ElseIf Dn = 10 Then x = 17

ElseIf Dn = 12 Then x = 18

ElseIf Dn = 14 Then x = 19

ElseIf Dn = 16 Then x = 20

ElseIf Dn = 18 Then x = 21

ElseIf Dn = 20 Then x = 22

ElseIf Dn = 22 Then x = 23

ElseIf Dn = 24 Then x = 24

ElseIf Dn = 26 Then x = 26

ElseIf Dn = 28 Then x = 26

ElseIf Dn = 30 Then x = 27

ElseIf Dn = 32 Then x = 28

ElseIf Dn = 34 Then x = 29

ElseIf Dn = 36 Then x = 30

ElseIf Dn = 38 Then x = 31

ElseIf Dn = 40 Then x = 32

ElseIf Dn = 42 Then x = 33

ElseIf Dn = 44 Then x = 34

ElseIf Dn = 46 Then x = 35

ElseIf Dn = 48 Then x = 36

Else

Pipe_Imp_CS_Dext_dn = "N/A"

Exit Function

End If

Pipe_Imp_CS_Dext_dn = C(x, 3)

End Function

69

End of Part 3

Note. In the web page "piping-tools.net", in the file Pipe dimensions and friction factor.xlsm, there are three functions (outside diameter, inside diameter and thickness) with complete code.