software development to assist service life prediction of ... · this project developed computer...
TRANSCRIPT
การพฒนาโปรแกรมคอมพวเตอร เพอชวยท านายอายการใชงานของคอนกรตในสภาวะแวดลอมทะเล
Software Development to Assist Service Life Prediction of Concrete in Marine Environment
นายพรณฐ ฉมเอนก นายชรวธ วงษบณฑต
โครงงานทางวศวกรรมนเปนสวนหนงของการศกษาตามหลกสตรปรญญาวศวกรรมศาสตรบณฑต ภาควชาวศวกรรมโยธา คณะวศวกรรมศาสตร
มหาวทยาลยบรพา ปการศกษา 2556
Software Development
to Assist Service Life Prediction of Concrete in Marine Environment
Mr.Peeranat Chimanage Mr.Chirawut Wongbundit
An Engineering Project Submitted in Partial fulfillment of Requirements for the Degree of Bachelor of Engineering
Department of Civil Engineering Burapha University
2013
ก
บทคดยอ
งานวจยนเปนการพฒนาโปรแกรมท านายอายการใชงานคอนกรต เพอใชค านวณอายการใชงานของโครงสรางคอนกรตในสภาวะแวดลอมทะเลโดยใชโปรแกรม Visual Basic แบบจ าลองทใชในการค านวณอายการใชงานของคอนกรตไดมาจากการเกบขอมลกอนตวอยางคอนกรตทผสมเถาถานหน ซงแชตวอยางคอนกรตในน าทะเลบรเวณน าขนน าลงเปนระยะเวลา 10 ป คอนกรตมคาอตราสวนน าตอวสดประสานระหวาง 0.45 ถง 0.65 มปรมาณเถาถานหนในคอนกรตรอยละ 0 ถง 50 โดยน าหนกวสดประสาน และระยะเวลาในการแชคอนกรตต งแต 2 ป ขนไป ผลลพธทไดจากโปรแกรมน พบวา ระยะหมเหลกเสรมคอนกรตมผลอยางมากตออายการใชงานของคอนกรตทอยในสภาวะแวดลอมทางทะเล ทงนเมอระยะหมเหลกเสรมนอยกวา 30 มลลเมตร สงผลใหคอนกรตมอายการใชงานไมเกน 1 ป โดยอายการใชงานของคอนกรตจะเพมสงขนตามอตราน าตอว สดประสานทลดลง นอกจากนรอยละการแทนทเถาถานหนในคอนกรต สามารถชวยเพมอายการใชงานของคอนกรตใหยาวนานขน ตามรอยละการแทนทเถาถานหน ผลการทดสอบความนาเชอถอของโปรแกรม โดยเปรยบเทยบอายการใชงานคอนกรต ซงค านวณจากแบบจ าลองทใชในโปรแกรมและขอมลงานวจยในสภาวะแวดลอมทางทะเลในประเทศไทย พบวา มความแตกตางอยในชวง + รอยละ 20 ทระดบความเชอถอรอยละ 80 และเมอเปรยบเทยบกบขอมลงานวจยตางประเทศ 2 แหลงโดยเปรยบเทยบสมประสทธการแพรคลอไรด (Dc) พบวา มความแตกตางอยในชวง + รอยละ 30 ทระดบความเชอถอรอยละ 70 ท งนสมประสทธการแพรคลอไรดทค านวณจากแบบจ าลองมแนวโนมสงกวาค าทจากแหลงขอมลงานวจยทอยในสภาวะแวดลอมทางทะเลทมความรนแรงนอยกวา เชน อณหภม ความชน คลนทะเล ปรมาณความเขมขนคลอไรดในน าทะเล เปนตน ดงนนโปรแกรมทพฒนาขนมาน สามารถใชท านายอายการใชงานของคอนกรตในสภาวะแวดลอมทางทะเล ทงในประเทศไทย และตางประเทศโดยเฉพาะอยางยงเมอมสภาวะแวดลอมทางทะเลใกลเคยงกน ค าส าคญ : เถาถานหน / แบบจ าลอง / สภาวะแวดลอมทาง / อายการใชงานคอนกรต / Visual Basic
ข
Abstract
This project developed computer software based on visual basic program to assist a
service-life prediction of reinforced concrete structure in marine environment. The prediction
model was generated from the data of free chloride ions diffused into concrete samples which
were exposed to a tidal zone for 2 to 10 years. Water to binder ratios of the concrete samples
ranged from 0.45 to 0.65 with percentages of fly ash between 0 and 50 by weight of binder.
This project found that concrete cover plays an important role to prolong the service life
of marine concrete. Lower in water to binder ratio and higher in fly ash replacement would also
extend the service life of concrete. Verifications of the program were performed and found that
the service life obtained from the program would be within + 20% differences from those
obtained from the field data in Thailand with an 80% confidence. Moreover, the chloride
diffusion coefficients attained from the program would fall within + 30% differences from those
obtained from the field data in the other two countries with a 70% confidence. It was noted that
chloride diffusion coefficients generated from the model in this program tended to be higher than
those collected data due to a lesser degree of severity condition such as temperature, humidity,
sea wave, and chloride concentration in seawater of the other researches.
This program therefore assists the service-life prediction of concrete in marine
environment either in Thailand or in the other regions with a reasonable result especially when
the exposure condition is proximity.
Keywords : Fly Ash / Marine Environment / Prediction Model / Service-live of Concrete / Visual
Basic
ค
กตตกรรมประกาศ
โครงงานนสามารถส าเรจลลวงไปไดดวยความกรณาจากอาจารยเทยง ชวะเกต อาจารยทปรกษาโครงงานทใหความอนเคราะหใหค าแนะน า แนวคด การแกปญหา ตลอดจนแกไขขอบกพรองตางๆมาโดยตลอดระยะเวลาทท าโครงงานจนเสรจสมบรณ จงขอกราบขอบพระคณทานอาจารยเปนอยางสง
ขอขอบคณอาจารยวเชยร ชาล ส าหรบขอมลการทดลองตวอยางคอนกรตในสภาพจรง ส าหรบน าไปใชท าโครงงาน ขอขอบคณอาจารยธรรมนญ รศมมาสเมอง และอาจารยเพชรรตน ลมสปรยารตน ทไดใหค าแนะน าและคอยชแนะ ตลอดระยะเวลาทท าโครงงานจนเสรจสมบรณ ขอขอบคณอาจารยอรวร ทใหความรและค าแนะน าการใชโปรแกรม Visual Basic เพอแกไขปญหาในโครงงาน
ขอขอบคณคณบญชา ปะสละเตตง ส าหรบหนงสอการพฒนาแอปพลเคชนดวย Visual Basic 2010 ทใหแนวคดและวธการในการสรางสรรคสงใหมๆ
ขอบคณเพอนๆทใหค าแนะน า รวมทดสอบโปรแกรมเพอหาจดบกพรองและน าไปปรบปรงแกไขในสวนตางๆเพอใหมประสทธภาพมากทสดกอนทจะน าไปใชงาน
ทายนผจดท าขอขอบพระคณทานอาจารยและเจาหนาท รวมถงผทมสวนเก ยวของในคณะวศวกรรมศาสตร มหาวทยาลยบรพา ทกรณาใหความชวยเหลอแกทาง ผ จดท าโครงงานทางวศวกรรมดวยดเสมอมา ประโยชนอนใดทเกดจากโครงงานนลวนเปนผลมาจากความกรณาของทกทาน ผจดท ารสกซาบซงเปนอยางด จงใครขอขอบพระคณเปนอยางสงไว ณ โอกาสน
สารบญ
หนา
บทคดยอภาษาไทย ก
บทคดยอภาษาองกฤษ ข
กตตกรรมประกาศ ค
สารบญตาราง ง สารบญรป จ สารบญสญลกษณ ซ
บทท 1 บทน า
1.1 บทน า 1 1.2 วตถประสงคของงานวจย 2 1.3 ขอบเขตของงานวจย 2 1.4 ระเบยบวธวจย 3 1.5 ประโยชนทคาดวาจะไดรบ 4
บทท 2 ทฤษฏและงานวจยทเกยวของ 2.1 บทน า 5 2.2 ความคงทนของคอนกรต 5 2.3 เถาถานหน 12 2.4 การออกแบบสวนผสมคอนกรตโดยวธ ACI 16
(Mix design of concrete by ACI method) 2.5 Microsoft Visual Studio 2010 20 2.6 งานวจยทเก ยวของ 23
บทท 3 วธการศกษา 3.1 ศกษาเทคโนโลยคอนกรต 25 3.2 ศกษาความคงทนของคอนกรต 25
3.3 การท านายอายการใชงานของคอนกรตผสมเถาถานหน 26 ทแชในสภาวะแวดลอมทะเลจากฐานขอมลในสภาพจรง
สารบญ (ตอ) หนา
3.4 ประโยชนของสมการ 30 3.5 ศกษาโปรแกรม Visual Basic 30 3.6 Flow Chart แสดงล าดบขนตอนการเขยนโปรแกรม 32 3.7 การแปลงสตรจากขอมลใหเปนโคดส าหรบเขยนโปรแกรม 33 3.8 ระเบยบวธวจยและแผนด าเนนงาน 36
บทท 4 การวเคราะหผลการศกษา 4.1 การใชโปรแกรม 38
4.2 การทดสอบโปรแกรม 43 4.3 ผลการท านายอายการใชงานของคอนกรตผสมเถาถานหน 45 ในสภาวะแวดลอมทางทะเลจากโปรแกรม 4.4 ประโยชนของโปรแกรม 46 บทท 5 สรปผลการทดสอบและขอเสนอแนะ
5.1 สรปผลการทดสอบ 47 5.2 ขอเสนอแนะจากการทดสอบ 48 บรรณานกรม 49 ภาคผนวก ก. 51 ภาคผนวก ข. 60 ภาคผนวก ค. 75 ภาคผนวก ง. 82 ภาคผนวก จ. 112 ภาคผนวก ฉ. 116 ประวตผจดท า 120
ง
สารบญตาราง
ตารางท หนา 2.1 ปรมาณคลอไรดวกฤตของคอนกรต 70 2.2 ปรมาณสงสดของคลอไรดอออนเพอปองกนการเกดสนม 70 2.3 คาการยบตวของคอนกรตทใชส าหรบการกอสรางประเภทตางๆ 71 2.4 ขนาดโตสดของมวลรวมส าหรบงานกอสรางประเภทตางๆ 71 2.5 อตราสวนน าตอซเมนตสงสดโดยน าหนกทยอมใหใชได 71 2.6 ปรมาณน าทตองการส าหรบคาการยบตวและมวลรวมขนาดตางๆ 72 2.7 ความสมพนธระหวางอตราสวนน าตอซเมนตกบก าลงอดประลย 73 ของคอนกรต 2.8 ปรมาตรของมวลรวมหยาบตอหนงหนวยปรมาตรของคอนกรต 73 3.1 สดสวนของสวนผสมในแตละเบอรของคอนกรตผสมเถาถานหน 27 3.2 แผนการด าเนนโครงงาน 37 ก.1 อายการใชงานคอนกรตทเหลกเสรมเรมเกดสนมในสภาวะแวดลอมทะเล 52 ทระยะคอนกรตหมเหลกทเปลยนไปจากขอมลทดลอง ก.2 อายการใชงานคอนกรตทเหลกเสรมเรมเกดสนมในสภาวะแวดลอมทะเล 53 ทระยะคอนกรตหมเหลกทเปลยนไปจากโปรแกรม ก.3 Chloride Threshold ทใชในโปรแกรมในแตละชวงของ W/B และ %FA 54 ก.4 C0 ทระยะเวลาคอนกรตสมผสน าทะเลท 3 ,5 ,7 และ 10 ป ในแตละ %FA 55 ก.5 แสดงคา Dc จากการทดลองในแตละ Mix ทอาย 3 ,4 ,5 ,7 และ 10 ป 57 ก.6 สมประสทธการแพรคลอไรด (Dc) ทไดจากการทดลอง (Thomas) 58 ก.7 สมประสทธการแพรคลอไรด (Dc) ทไดจากการโปรแกรม (Thomas) 58 ก.8 สมประสทธการแพรคลอไรด (Dc) ทไดจากการทดลอง (Vedalakshmi) 59 ก.9 สมประสทธการแพรคลอไรด (Dc) ทไดจากการโปรแกรม (Vedalakshmi) 59
จ
สารบญรปภาพ รปท หนา 2.1 ผลของกระบวนการกดกรอนโดยเกลอซลเฟตทมตอโครงสรางคอนกรต 61 2.2 สภาพการกดกรอนในสงแวดลอมทางทะเล 7 2.3 แสดงการกดกรอนเหลกเสรมในคอนกรต 61 2.4 ภาพแสดงการเกดปฏกรยาเคมของการกดกรอนเหลกเสรมเนองจากคลอไรด 62 2.5 แสดงรปขยายอนภาคของเถาถานหนจากแมเมาะทไดจากการเผา 13 แบบ Fluidized-bed 2.6 แสดงรปขยายอนภาคของเถาถานหนจากแมเมาะทไดจากการเผา 63 แบบ Fluidized-bed 2.7 แสดงความสมพนธระหวางก าลงอดของคอนกรตกบอตราสวนน าตอ 63 ปนซเมนต 2.8 แสดงหนาตางกอนเรมเขาโปรแกรม Visual Studio 2010 20
2.9 การเปดโปรแกรม Microsoft Visual Studio 2010 64 2.10 หนาตางโปรแกรม Microsoft Visual Studio 2010 64 2.11 แสดงแถบหวเรอง title bar 65 2.12 แสดงแถบเมน menu bar 65 2.13 แสดงหนาตางเรม Start Page 66 2.14 แสดงแถบเครองมอ 66 2.15 แสดงหนาตาง Solution Explorer 67 2.16 แสดงการสราง Project ใหมจากหนาเรมตน(Start Page) 67 2.17 แสดงการสราง New Project เรมตน 68 2.18 แสดงการสราง Project ใหมจากเมน File 68 2.19 แสดงสวนประกอบตางๆของโปรแกรม Visual Basic 69 2.20 แสดงการวางคอนโทรลลงบนฟอรมในโปรแกรม Visual Basic 69 2.21 แสดงหนาตางทใชส าหรบการเขยนโคด 70 2.21 แสดงหนาตางแสดงหนาตางสวนของการปรบสตวอกษร 70 3.1 รายละเอยดการฝงเหลกในกอนตวอยางคอนกรต 27
ฉ
สารบญรปภาพ (ตอ) รปท หนา 3.2 กอนตวอยางคอนกรตในสภาวะเปยกสลบแหง 2 รอบตอวนในสภาพ 28 แวดลอมทางทะเลในประเทศไทย ทอ าเภอศรราชา จงหวดชลบร 3.3 แสดงความสมพนธระหวางปรมาณคลอไรดวกฤตและ 29 อตราน าตอวสดประสาน ท W/B เทากบ 0.45, 0.55 และ 0.65 โดยมรอยละการแทนทเถาถานหนเทากบ 0, 15, 25 ,35 และ 50 3.4 กราฟแสดงความสมพนธระหวาง Initial Corrosion Time กบ Covering 30 ของคอนกรตทผสมเถาถานหนและมคา W/B เทากบ 0.45 โดยม %FA เทากบ 0, 15, 25 ,35 และ 50 ทไดจากผลการทดลองแชน าทะเล เปนระยะเวลา 3, 4, 5, 7 และ 10 ป 3.5 Flow Chart แสดงล าดบขนตอนการเขยนโปรแกรม 32 3.6 แสดงฟอรมตวอยางโปรแกรมหาผลรวมเลขจ านวนเตม 33 3.7 Flow Chart แสดงล าดบขนตอนระเบยบวธวจย 36 4.1 แสดงหนาตางหลกของโปรแกรม 38 4.2 แสดงหนาตางของโปรแกรมออกแบบสวนผสมคอนกรต 39 4.3 แสดงหนาตางโปรแกรมท านายอายการใชงานคอนกรตเสรมเหลก 40 ในสภาวะแวดลอมทางทะเล 4.4 แสดงหนาตางโปรแกรมท านายท านายการแทรกซมของคลอไรด 41 ในคอนกรตทผสมเถาถานหนทแชในสภาวะแวดลอมทะเล 4.5 แสดงหนาตางโปรแกรมการค านวณระยะคอนกรตหมเหลกเสรม 42 เพอปองกนการกดกรอนเรมตน 4.6 แสดงการเปรยบเทยบอายการใชงานของคอนกรตผสมเถาถานหน 43 ทอตราน าตอวสดประสาน 0.45 ,0.55 และ 0.65 ทไดจากการท านาย และจากการทดลองทชวงกราฟ 1 ป 4.7 แสดงการเปรยบเทยบอายการใชงานของคอนกรตผสมเถาถานหน 44 ทอตราน าตอวสดประสาน 0.45 ,0.55 และ 0.65 ทไดจากการท านาย และจากการทดลองทชวงกราฟ 10 ป
ช
สารบญรปภาพ (ตอ) รปท หนา 4.8 แสดงการเปรยบเทยบสมประสทธการแพรของคลอไรด (Dc) ในคอนกรต 45 ผสมเถาถานหนทอตราน าตอวสดประสาน 0.45-0.65 ทไดจากการท านาย และจากการทดลองของ Thomas และ Vedalakshmi et al ก.1 Chloride Threshold ท W/B 0.45 - 0.65 และ %FA 0 - 50 54ก.2 C0 ทระยะเวลาคอนกรตสมผสน าทะเลท 3 ,5 ,7 และ 10 ป จากคาเฉลยแตละ Mix 55
ซ
สารบญสญลกษณ Al2O3 = อลมเนยมออกไซด CaO = แคลเซยมออกไซค CaCl2 = แคลเซยมคลอไรด Ca(OH)2 = แคลเซยมไดออกไซด CaSO4.2H2O = แคลเซยมซลเฟตหรอยปซม C-S-H = แคลเซยมซลเกตไฮเดรต C-A-H = แคลเซยมอลมเนตไฮเดรต CH = แคลเซยมไฮดรอกไซด C3S = ไตรแคลเซยมซลเกต C2S = ไดแคลเซยมซลเกต C4AF = เตตระแคลเซยมอลมเนตเฟอรไรด C3A = ไตรแคลเซยมอลมเนต e- = อเลคตรอน Fe = เหลก Fe2+ = เหลกไอออน Fe2O3 = เฟอรรกออกไซด Fe(OH)3 = เฟอรรกไฮดรอกไซด H2O = น ำ OH- = ไฮดรอกซลอออน O2 = ออกซเจน SiO2 = ซลกำออกไซด
1
บทท 1
บทน ำ
1.1 บทน ำ คอนกรต เปนวสดผสมทนยมใชในงานกอสรางทวไป อาท อาคาร สะพาน ถนนและงาน
โครงสรางอนๆ คอนกรตประกอบดวย 3 สวนหลกคอ ปนซเมนต มวลรวม เชน หน ทรายหรอ กรวด และ น า โดยอาจมสารเคมเตมเพมเขาไปเพมคณสมบตดานอน เมอผสมเสรจคอนกรตจะแขงตวอยางชาๆซงก าลงของคอนกรตเกดจากปฏกรยาไฮเดรชน (Hydration Reaction) ระหวางปนซเมนตและน า คอนกรตเรมพฒนาก าลงหลงจากการผสม และยงคงพฒนาก าลงอยางตอเนองภายหลงจากการแขงตวแลว โดยประมาณหลงจากแขงตวแลว 28 วน ความแขงแรงจะเรมคงทโดยอตราสวนผสมของคอนกรตเปนสงส าคญเนองจากเปนตวก าหนดคณสมบตของคอนกรตในดานตางๆ เชน ก าลงอด ความสามารถในการเท ความคงทนของคอนกรต เชน ความตานทานการกดกรอนโดยซลเฟต (Sulfate Attack) คารบอเนชน (Carbonation) และอกหนงปญหาส าคญส าหรบคอนกรตสภาวะแวดลอมทางทะเล คอ การเกดสนมของเหลกเสรมโดยคลอไรด (Steel Corrosion due to Chloride)
ปจจบนปญหาการกดกรอนโครงสรางชายฝงทะเลโดยเฉพาะบรเวณทสมผสกบน าทะเลโดยตรง ซงน าทะเลจะมซลเฟตและคลอไรด เปนองคประกอบหลก ซงซลเฟตทอยในรปของสารละลายจะท าใหซเมนตเพสตในคอนกรตเสอมสภาพสงผลใหคอนกรตเกดการแตกราว สวนคลอไรดจะท าใหความเปนดางในคอนกรตบรเวณรอบเหลกเสรมลดลง เมอมน าและออกซเจนเพยงพอ กจะท าใหเหลกเสรมเกดสนมได โดยท ง 2 ปจจยจะเปนตวบนทอนอายการใชงานของคอนกรตใหลดลง การใชวสดปอซโซลาน เชน เถาลอย (Fly Ash) ผสมในคอนกรตเปนอกหนงวธทสามารถเพมอายการใชงานใหกบคอนกรตได
เถาถานหนหรอเถาลอย (Fly Ash) เปนวสดปอสโซลานชนดหนงทหลงเหลอจากระบวนการเผาไหมของถานหนหรอลกไนต มขนาดเลกและละเอยดซงประกอบดวยซลกอนไดออกไซด(SiO2) และแคลเซยมออกไซด (CaO)ซงสารประกอบท งสองจะท าปฏกรยาปอซโซลานก (Pozzolanic Reaction) ท าใหคอนกรตมก าลงเพมขน ลดชองวางในเนอคอนกรตท าคอนกรตมความทนทานตอซลเฟตและคลอไรดเพมมากขน
2
เถาถานหนมบทบาทส าคญในงานกอสรางอยางแพรหลาย ซงเถาถานหนเปนวสดทนยมใชในคอนกรตในรปของการแทนทบางสวนหรอเพมเตมในปนซเมนตโดยมวตถประสงคเพอลดตนทนในการผลตคอนกรตและปรบปรงคณสมบตของคอนกรตใหดขน นอกจากนยงชวยลดปญหาก าจดทง
งานวจยทผานมามการศกษาการแทรกซมของคลอไรดในคอนกรตทผสมเถาถานหน การท านายระยะคอนกรตหมเหลกเพอปองการกดกรอนเบองตนของคอนกรตทผสมเถาถานหนโดยใชขอมลจากตวอยางทแชในน าทะเลจรง 7 ป โดยใชโปรแกรม Visual Basic 2005 เพอพฒนาใหมรปแบบการใชงานทเขาใจงาย มความแมนย าในการค านวณและสามารถน าไปใชไดจรง เพอใหครอบคลมส าหรบผใชงานทกรปแบบท งผช านาญการหรอผหดใช ซงตวโปรแกรมเปรยบเสมอนเครองชวยค านวณดงนนผใชควรมความรพนฐานดานคอนกรตดวยเชนกนเพอประโยชนสงสดของตวโปรแกรม
ดงนนงานวจยนจะเปนเสมอนงานวจยทพฒนาตองานวจยทผานมาโดยเพมเตมฐานตวอยางขอมลเพมขนโดยใชขอมลจากตวอยางทแชในน าทะเลจรง 10 ป เพอใหผลทไดจากการจ าลองโมเดลมความถกตองมากขน และเปนการเพมฟงกชนการท างานของตวโปรแกรมคอท านายอายการใชงานของคอนกรต โดยในงานวจยนจะใช Visual Basic 2010 เนองจากเปนรนทมการใชกนอยางแพรหลายปจจบน สามารถศกษาไดดวยตนเอง เนองจากม สอการสอนรปแบบตางๆอยางแพรหลาย
1.2 วตถประสงคของงำนวจย 1.2.1 เพอพฒนาโปรแกรมท านายอายการใชงานของคอนกรตทผสมเถาถานหนในสภาวะแวดลอมทางทะเล 1.2.2 เพอหาความคงทนของคอนกรตผสมเถาลอยจากการกดกรอนดวยคลอไรดในสภาวะแวดลอมทางทะเล 1.2.3 เพอหาแนวทางการออกแบบสวนผสมคอนกรตเพอใหคอนกรตมอายการใชงานทยาวนานในสภาวะแวดลอมทางทะเล
1.3 ขอบเขตของงำนวจย งานวจยนเปนการวจยเพอศกษาปจจยตางๆทมผลกระทบท าใหอายการใชงานของคอนกรตทผสมเถาถานหนลดลงในสภาวะแวดลอมทางทะเลโดยจะเนนปญหาการกดกรอนเนองจาก
3
คลอไรดเปนหลกเนองจากเปนปญหาทสรางความเสยหายตอโครงสรางชายฝงทะเลสง เพอใชเปนแนวทางในการออกแบบสวนผสมคอนกรตและท านายอายการใชงานของคอนกรตทผสมเถาถานหนในสภาวะแวดลอมทางทะเล โดยใชโปรแกรม Visual Basic 2010 ซงเปนโปรแกรมทใชพฒนาแบบจ าลองตางๆใหอยในรปแบบทใชงานงาย สะดวกและลดความซบซอนในการท างานลง โดยพฒนาตอจาก Visual Basic 2005 ซงมฐานขอมลเดมของคอนกรตผสมเถาถานหนทมW/B = 0.45 ,0.55 และ 0.65 ทแชน าทะเลท 7 ป ซงตวโปรแกรมมฟงกชนการท างานประกอบดวยการออกแบบสวนผสมคอนกรตตามมาตรฐาน การท านายระยะเหลกเสรม การท านายระยะเวลาเพอปองกนการกดกรอนเรมตน และการท านายการแทรกซมคลอไรด ท าใหผใชสามารถเหนภาพรวมตอการเปลยนแปลงคาตางๆในตวโปรแกรม วามผลอยางไรบางตอคณสมบตของคอนกรตและความคงทนของคอนกรต ในงานวจยนจะศกษาการท านายอายการใชงานของคอนกรตทผสมเถาถานหนในสภาวะแวดลอมทางทะเลบนพนฐานสมการ Fick's second law of diffusion โดยใชขอมลจากตวอยางคอนกรตผสมเถาถานหนทแชในน าทะเลจรง 10 ป เพอมาพฒนาโดยใชโปรแกรม Visual Basic 2010 ใหมความแมนย าในการค านวณมากยงขนและรวมฟงกชนการท างานทผานมาเขาไวดวยกนเพอใหครอบคลมการใชงานทกวางขนในรปแบบทใชงานงายและรวดเรว
1.4 ระเบยบวธวจย การพฒนาโปรแกรมเปนการเพมประสทธภาพการใชของโปรแกรมใหสงขน จงหลกเลยงไมไดทผทจะพฒนานนตองเขาใจกอนวาโปรแกรมน นมความสามารถในการใชงาน ขอดหรอขอเสยอยางไร เพอทจะสามารถจ าลองรปแบบของปญหาใหอยในรปการท างานของโปรแกรมเพองายตอการใชงาน และตอบโจทยใหกบผใชงานได ควรเรมจากการเขาใจพนฐานวชาเทคโนโลยคอนกรตและความคงทนของคอนกรตรวมถงคณสมบตของเถาลอย เพอทจะสามารถวเคราะหสาเหตของปญหาและเรยบเรยงออกมาในรปของตวแปรตางๆเพอก าหนดคาลงในโปรแกรม เชนเดยวกนกบการศกษาการใชงานของโปรแกรม Visual Basic 2010 เพอทจะสามารถพฒนาตวโปรแกรมใหสามารถแสดงรปแบบการท างานออกมาใหอยในลกษณะทคนทวไปสามารถเขาใจงาย ท งนตองมการศกษางานวจย ทผานมาและงานวจยทมความเก ยวของกน เพอศกษาเปรยบเทยบผลการวจยวาแสดงถงความถกตองตามหลกวชาการ
4
1.5 ประโยชนทคำดวำจะไดรบ 1.5.1 โปรแกรมสามารถค านวณอายการใชงานของคอนกรต ทผสมเถา ถานหนในสภาพแวดลอมทางทะเลได 1.5.2 ทราบถงอายการใชงานของคอนกรตผสมเถาถานหนตอผลกระทบจากคลอไรดในสภาวะแวดลอมทะเล 1.5.3 เพอใชเปนแนวทางในการออกแบบสวนผสมคอนกรตในสภาวะแวดลอมทางทะเล
5
บทท 2
ทฤษฎและงานวจยทเกยวของ
2.1 บทน า หลกของการออกแบบโครงสรางทดคอ การออกแบบเพอใหไดมาซงโครงสรางทสามารถรบน าหนกออกแบบไดตลอดอายการใชงานทตองการ โดยปราศจากการซอมแซมในระดบทเกนกวาการคาดหมายไว ในสภาวะแวดลอมทางทะเลคอนกรตจะมคณสมบตทางกลโดยเฉพาะคณสมบตการรบแรงต าลงไปตามกาลเวลา เนองจากถกปจจยหลายอยางในสภาพแวดลอม ท งทางกล ทางเคม ทางชวภาพ ฯลฯ [4] โดยเฉพาะสาเหตทท าใหเกดความเสยหายมากแกโครงสรางทางทะเลคอ สาเหตทางกลและสาเหตทางเคม ซงตองเสยงบประมาณอยางมากในการแกไขและซอมบ ารง โดยบทนจะกลาวถงความคงทนของคอนกรตในสภาวะแวดลอมทางทะเล เถาถานหนทใชเปนสวนผสมคอนกรต รวมถงงานวจยทผานมา และโปรแกรม Visual Basic 2010
2.2 ความคงทนของคอนกรต ความคงทนของคอนกรตเปนปจจยส าคญในการออกแบบปฏภาคสวนผสมและเปนคณสมบตทส าคญมากประการหนงซงหมายถง ความสามารถในการทนทานตอการเปลยนแปลงตอสภาพแวดลอม ทนตอการท าลายจากสารเคม ทนตอแรงกระแทกหรอการกระท าอนๆ ตลอดอายการใชงานของโครงสรางนน [4] การท านายอายการใชงานของคอนกรตนน จงตองค านงถงปจจยทท าใหคอนกรตเกดการเสอมสภาพภายใตสภาพแวดลอมทางทะเลกอน ซงการเสอมสภาพของคอนกรตสามารถแบงไดเปนสองประเภท ประเภทแรกคอการเสอมสภาพโดยสาเหตทางกล (Mechanical Deterioration) เชน การขดส (Abrasion) การชะดวยกระแสน าและกรวดทราย (Erosion) ประเภททสองคอการเสอมโดยสาเหตทางเคม (Chemical Deterioration) เชน การกดกรอนโดยซลเฟต (Sulfate Attack) การกดกรอนโดยคลอไรด (Chloride Attack) 2.2.1 การเสอมสภาพคอนกรตในสภาพแวดลอมทางทะเล
คอนกรตทสมผสกบน าทะเลหรออยใกลชายฝง จะเกดความเสยหายท งทางกลและ ทางเคมไดหลายประการ เชน การกดกรอนโดยซลเฟตการเกดสนมของเหลกเสรมโดยคลอไรด
6
การตกผลกของเกลอ การสกกรอนจากการขดสของทรายและคลนทะเล หรอแมแตการเสอมสภาพทเกดจากสาเหตทางชวภาพ เปนตน ซงความเสยหายจากสาเหตเหลานมความรนแรงแตกตางกนแลวแตสภาพแวดลอมโดยความเสยหายทกอใหเกดความเสยหายตอโครงสรางในสภาพแวดลอมทางทะเลทรนแรงสวนหนงเกดจากสาเหตทางเคมคอ การเกดสนมของเหลกเสรมโดยคลอไรด(Steel Corrosion due to Chloride) และการกดกรอนโดยซลเฟต (Sulfate Attack) แตตนเหตของ การเกดสนมเหลกมกมาจากเกลอคลอไรดเปนหลก เนองจากน าทะเลมสารละลายคลอไรดอยเปนสวนใหญ (สงกวา 90%) เมอเทยบกบซลเฟต[18] 2.2.2 การกดกรอนคอนกรตเนองจากซลเฟต เกลอจากน าทะเลจะประกอบดวยเกลอตางๆประมาณ 3.5% โดยน าหนกของน าทะเล โดยเกลอซลเฟตทจะพบมากในน าทะเลจะเปนเกลอโซเดยมซลเฟต โดยซลเฟตอออนจะซมผานเขาสคอนกรตจากภายนอก และท าปฏกรยากบแคลเซยม ไฮดรอกไซดแลแคลเซยมอลมเนตไฮเดรต ในซเมนตเพสทเกดเปนยบซมและ Ettringite จนท าใหคอนกรตเกดการแตกราวจากการขยายตวดงรปท 2.1 หากแตแตตนเหตของการเกดสนมเหลกมกมาจากเกลอคลอไรดเปนหลก เนองจากน าทะเลมสารละลายคลอไรดอยเปนสวนใหญ (สงกวา 90%) เมอเทยบกบซลเฟตตามทกลาวมา จงจะไมเนนในงานวจย 2.2.3 การกดกรอนเหลกเสรมเนองจากคลอไรด
คลอไรด คอ สารประกอบธาตคระหวางคลอรนกบธาตอนๆเชน NaCl , MgCl2 ,CaCl2 เมอปรมาณความเขมขนของคลอไรดมากเพยงพอจะท าลายชนฟลม (Passive layer) ทปองกนการเกดสนมของเหลกเสรมในคอนกรต หากชนฟลมนโดนท าลาย เมอมออกซเจน (O2) และความชน(H2O) ทเพยงพอ เหลกเสรมในคอนกรตจะเกดสนมได โดยคลอไรดจะท าหนาทเปนตวเรงปฏกรยา(Catalysts) ของการเกดสนมของเหลกเสรมในคอนกรตใหเรวขน โดยทวไปแลวแหลงของคลอไรด ทมผลกระทบตอโครงสรางคอนกรตน นมาจาก น าทะเล ส าหรบคอนกรตทแชอยในน าทะเลตลอดเวลา (Submerged Zone)ความเสยงตอการเกดสนมของเหลกเสรมมนอย เนองจากมความเขมขนของออกซเจนนอย และอตราการแพรของออกซเจนเขาไปในคอนกรตต ามาก เนองจากชองวางภายในคอนกรตเปนชองอมตวดวยน า ซงออกซเจนละลายน าไดนอยมาก ท าใหอตราการแพรเกดขนนอย
7
Upper Level
Lower Level
Atmospheric Zone
Splash Zone
Tidal Zone
Submreged Zone
Sea Bed
รปท 2.2 สภาพการกดกรอนในสงแวดลอมทางทะเล (Mehta, 1991)
บรเวณน าขน-น าลง (Tidal Zone) ซงคอนกรตอยในสภาพเปยกสลบแหงนน น าทะเลจะเขาสคอนกรตทแหงโดยการดดซบ (Absorption) และ Capillary Suction จนกระทงคอนกรตอยในสภาพอมตว (Saturated) เมอสภาพภายนอกเปลยนเปนแหง น าทผวคอนกรตระเหยไปจะทงไวแตคราบเกลอ เมออยในสภาพเปยกอกความเขมขนของคลอไรดทใกลผวจะสงขน ดงนนอออนของคลอไรด (Chloride Ions) ซงมความเขมขนสงทบรเวณผวจะซมเขาสภายในโดยการแพรซงในแตละรอบของสภาพเปยกและแหงจะท าใหคลอไรดบรเวณใกลผวมความเขมขนสงขนเรอยๆ และจะเขาไปในคอนกรตสเหลกเสรมมากขน โดยปกตแลวคอนกรตอมตวดวยน าไดเรว แตแหงไดชากวามาก และภายในไมสามารถท าใหแหงโดยสมบรณ ดงนนการแพรของอออนของคลอไรดเขาไปในคอนกรตทแชอยในน าทะเลตลอดเวลาจงชากวาการเขาไปของคลอไรดโดยการเปยกสลบแหงโดยน าทะเล โดยทวไปแลวคอนกรตทสภาพแหงนานกวาสภาพเปยกมกจะเรงใหอออนของคลอไรด เขาสคอนกรตไดเรวขน ดงนนคอนกรตทถกน าทะเลเปนบางครง(ชวงแหงนาน) จะเกดปญหาการกดกรอนของเหลกเสรมมากกวาคอนกรตทประสบกบสภาวะชวงแหงสนการกดกรอนจะเรมขนก ตอเมอปรมาณอออนของคลอไรด (Chloride) มมากพอทผวของเหลก ซงท าใหคาความเปนดางของคอนกรต (Chloride Threshold) ลดลงจนถงระดบวกฤต
8
บรเวณระหวางระดบน า ขนน าลงสงสดเปนบรเวณทเก ดความเสยหายรนแรงทสด โดยถาสภาวะเปยกสลบแหงด าเนนไปหลายๆรอบ จะท าใหความเขมขนของเกลอในบรเวณผว ของคอนกรตสงกวาน าทะเล [3] นอกจากนในสภาวะเปยกสลบแหงยงท าใหแคลเซยมไฮดรอกไซดซมออกจากคอนกรต เมอแคลเซยมไฮดรอกไซดสมผสกบกาซคารบอนไดออกไซดในอากาศจง ท าใหเกดเปนคราบหนปนบนผวคอนกรตปรากฏการณนท าใหความเปนดางของคอนกรตลดลง ซงชวยเรงใหเหลกเสรมในคอนกรตเปนสนมไดเรวขน [4] ดงน นจงนยมออกแบบคอนกรตใหเหมาะสมกบสภาพแวดลอมดงกลาวเพอใหไดโครงสรางคอนกรตทมความคงทนแขงแรง
2.2.4 การซมผานคลอไรดเขาสคอนกรต การซมผานของคลอไรดอออน ขนกบคณสมบตของคอนกรตในหลายๆดาน เปนตนวาดานความพรนของเนอคอนกรตเอง ชนดของปนซเมนต สภาพของการบม สภาพของอณหภมท งในขณะผสม-เท-บม ความเขมขนของเกลอคลอไรดโดยรอบ เปนตน ซงหากคลอไรดอออนมปรมาณทเพยงพอแลว จะท าใหเหลกเสรมคอนกรตเก ดสนมได [สวมลและคณะ (มปป .)] โดยทวไปแลวรปแบบของการ ซมผานของคลอไรดอออนนนสามารถแบงออกไดใน 4 ลกษณะคอ 1.โดยการแพรกระจาย (Diffusion) 2.โดยการเคลอนยาย (Migration) 3.โดยการพา(Convection) 4.โดยการซมผาน (Permeability) [คณะอนกรรมการคอนกรตและวสด (2543),ทวชย(2547)] ทงนการซมผานเขาสคอนกรตมาจากการแพรเปนหลก [Poulsen and Mejlbro (2006)] Chindaprasirt et al. (2000) หาปรมาณการซมผานของคลอไรดอออน เขา สเนอของคอนกรตเนองจากการแพร โดยใชสมการ Fick's second law of diffusion
C(x,t) = C0
เมอ C(x,t) = ความเขมขนของคลอไรดอออนทระยะ x และเวลา t ใดๆ C0 = ความเขมขนของคลอไรดอออนทผวคอนกรตสมผสน าทะเล t = ระยะเวลาทสมผส x = ระยะทคลอไรดเคลอนทเขาไปในคอนกรต erf = ฟงกชนคลาดเคลอน Dc = สมประสทธการแพรคลอไรด
9
ปรมาณคลอไรดวกฤตของคอนกรตมคาลดลงเมอปรมาณการแทนทปนซเมนตดวยเถาถานหนสงขน(โดยเฉพาะในคอนกรตทผสมเถาถานหนในปรมาณต า )และมคาลดลงตามอตราสวนน าตอวสดประสานทมากขน[3] ส าหรบปนซเมนตผสมเถาลอยมอตราสวนโดยน าหนกเถาลอยตอวสดประสานตงแต 15% แตไมถง 35% มปรมาณคลอไรดวกฤตไมเกนเทากบ 0.35 (รอยละโดยน าหนกของวสดประสาน) ดงตารางท2.1 2.2.5 กลไกการดกจบคลอไรดในคอนกรต
คลอไรดเมอเขามาในคอนกรต จะมบางสวนทถกจบยด (Fixed Chloride)สวนคลอไรดทไมถกจบยดเรยกวา คลอไรดอสระ (Free Chloride) ซงเปนสวนทท าลายเหลกเสรมโดยมกลไกของคลอไรดตอคอนกรตดงตอไปน 1.) Chemical Binding คลอไรดบางสวนจะถกจบตวโดยผลผลตของปฏกรยาไฮเดรชน เชน ผลผลตของ C3A และC4AF ในรปของ 3CaO.Al2O3.Ca Cl2.10H2O (Fridel’s Salt) หรอ 3CaO.Fe2O3.Ca Cl2.10H2O (Calcium Chloroferrite) หรอแมอยในโครงสรางของผลตผลของปฏกรยาไฮเดรชน[4] 2.) Physical Binding คลอไรดบางสวนสามารถถกยดดวยแรงทางกายภาพ (Surface Force) ไดบนผวของผลผลตไฮเดรชน เชน C-S-H และ C-A-H เปนตน อกท งยงสามารถถกยดอยบนผวของวสดทเปนของแขงทไมเกดปฏกรยา เชน มวลรวมหรอผงฝนหนถงจะเปนปรมาณนอยกตาม[4]
คลอไรดอสระ (Free Chloride) จะอยในสภาพสารละลายในน าทอยตามชองวางของคอนกรตซงเปนสวนทท าใหความเปนดางของคอนกรตลดลง ด งนนถาสามารถจบยดคลอไรดไว เปนจ านวนมาก กจะสามารถยดเวลาของการเกดสนมในเหลกเสรมออกไปได 2.2.6 การเกดสนมของเหลกเสรมในคอนกรต
ปจจยหนงทบนทอนอายการใชงานของโครงสรางคอนกรตเสรมเหลกลงนน คอ การเกดสนมของเหลกเสรม ซงสงผลใหพนทหนาตดของเหลกลดลง คอนกรตเกดการแตกราว นนหมายถงโครงสรางมก าลงรบแรงต าลง โดยปกตแลวเหลกเสรมในคอนกรต จะมชนของฟลมออกไซด (Protective Passivity Layer)บางๆ เคลอบอยทผวของเหลกเสรมเรยกวาฟลมออกไซดของเหลก (γ-Fe2O3) แตเมอใดก ตามหากคลอไรดอออนสามารถซมผานเขาไปในคอนกรตจนถงผวของเหลกเสรมได (ดงแสดงในรปท 2.3 ) ชนของฟลมออกไซดของดงกลาวจะถกท าลาย จนกระท งเมอใดทชนฟลมดงกลาวมคาต ากวาระดบวกฤต (Critical Level) เหลกเสรมในบรเวณน นกจะเกดสนมไดซงเราเรยกวา
10
Depassivation และในขณะเดยวกนหากบรเวณดงกลาวมออกซเจนและความชนในปรมาณทพอเหมาะ กระบวนการททางไฟฟา-เคมกจะเกดขน[5,6] กลไกการกดกรอนดวยคลอไรด โดยหลกการแลว การโจมตดวยคลอไรดอออนมงหวงผลไปทการท าลายเหลกเสรมเปนส าคญ สวนการกะเทาะหรอหลดรอนของเนอคอนกรตนน เปนเพยงผลกระทบตกคางโดยมรปแบบของการท าลายเหลกเสรมในคอนกรตเนองจากคลอไรด
Funahashi M. (1990) การเกดสนมแบงออกเปนสองขนตอนคอ 1.) Initial period จะเรมเมอคลอไรดอออนซมผานเขาไปสะสมในเนอคอนกรตจนมความเขมขนถงระดบวกฤต (Threshold) ทปรมาณคลอไรดในชวงต งแต 0.2 – 1.33 กก./ม.3 หรอต งแต 75 – 1175 ppm ของคอนกรต ซงเปนระดบทฟลมออกไซดทเคลอบตามผวเหลกเสรมเสยหาย
2.) Propagation period ซงเปนปฏกรยาทางไฟฟา-เคม สงผลท าใหเกดการกดกรอนเหลกเสรมเนองจากคลอไรดดงรปท 2.4 คณะอนกรรมการคอนกรตและวสด (2543), ชยชาญ (2546) บรเวณทฟลมถกท าลายจะมศกยทางไฟฟาเปนขวลบเราเรยกวา "ปฏกรยาอาโนด (Anodic Reaction)" สามารถเขยนเปนสมการไดดงน Fe Fe2+ + 2e- (Anodic Process) (2.1) อเลกตรอน(e-)ทเกดขนน จะวงผานไปยงบรเวณทฟลมไมไดถกท าลาย ซงมศกยทางไฟฟาเปนขวบวก (Catholic) หากมนสามารถท าปฏกรยากบน าและออกซเจนได กจะเกดเปน "ไฮดรอกซลอออน (OH-)" ดงสมการ 4e- + O2 + 2H2O 4[OH]- (Cathodic Process) (2.2) และในขณะเดยวกน Fe2+ทเกดทข วลบสวนหนง กจะท าปฏกรยากบน าและออกซเจน กลายเปน "เฟอรกไฮดรอกไซด (Ferric Hydroxide)" ดงสมการ Fe2+ + 2(OH)- Fe(OH)2 , 4Fe(OH)2+ O2 + H2O 4Fe(OH)3 (2.3) และ Fe2+ ท เกดอกสวนหนงทข วลบกจะท าปฏกรยากบCl-เกดเปน "เฟอรกคลอไรด (FeCl2)" และเมอสารประกอบดงกลาวท าปฏกรยากบน า กจะกลายเปนสนมเหลกเพมเตมดงสมการ Fe2+ + 2Cl- FeCl2 และ FeCl2 + 2H2O Fe(OH)2 + 2HCl (2.4) ปรมาณสงสดของคลอไรดอออนเพอปองกนการเกดสนมจะขนกบความส าคญของโครงสรางและสภาพแวดลอมตอการเผชญคลอไรด พบวาคอนกรตอดแรงมรอยละของคลอไรดตอน าหนกของปนซเมนตทยอมใหท 0.06 ในขณะทโครงสรางทอยเหนอพนดนซงคอนกรตอยในสภาพแหงอยเสมอจะไมค านงถงรอยละของคลอไรดตอน าหนกของปนซเมนต [4] ดงตารางท 2.2
11
2.2.7 ปจจยทมผลตอการกดกรอนจากคลอไรด
1.) ชนดของปนซเมนตและคณภาพของคอนกรต
Soroka (1993) คลอไรดบางสวนถกกกกนหรอดดกลนโดยผลตผลจากปฏกรยาไฮเดรชน แตยงไมสามารถบอกไดวาเปนการดดกลนทผวหรอไม แตคลอไรดจะเขามารวมกบสารผลตภณฑของเกอบท งหมด กลายเปนเกลอฟรเดล (Friedels Salt) หรอสารละลายม ความเขมขนสง จะเกดแคลเซยมออกซคลอไรดดวย ความสามารถในการกกเกบปรมาณคลอไรดของปนซเมนตปอรตแลนดจะขนอยกบ ยงมากกยงด ดงนนถาปนซเมนตมความสามารถกกเกบมากเทาไรกยอมจะท าใหการซมผานของคลอไรดเขาไปในคอนกรตไดชาลงไปเทานน และจะท าใหชวงเรมตน (initial period) ของการกดกรอนชาออกไปอก Soroka (1993 อางจาก Rasheeduzzafar et al. , 1990) แสดงผลเนองจากปรมาณของ ตอชวงเรมตนไดและในทนสามารถสรปตอไปไดอกวา ปนซเมนตปอรตแลนดธรรมดาทม สงกวายอมดกวาปนซเมนตปอรตแลนดทนซลเฟต
Bakker (1988) สวนประกอบของคอนกรตและอณหภมทใชในการบม มความส าคญกบโครงสรางของโพรง เมอเพมระดบของปฏกรยาไฮเดรชน ความสามารถซมผานไดลดลง ซงจะเปนจรงเมอคอนกรตไมมการสญเสยน า เทาน น หากมการสญเสยน าระดบปฏกรยาไฮเดรชนจะเปลยนไปตามระยะของผว เนองจากการลดลงของความชนท าใหความสามารถในการซมไดเพมมากขน หากบมคอนกรตไวนานการซมผานคลอไรดกจะลดลง นอกจากนหากท าใหคอนกรตแนนไมเพยงพอ การแพรของคลอไรดกจะเพมขน 2.) อตราสวนของ น าตอซเมนต(w/c) Bakker (1988) อตราสวนน าตอซเมนต และประเภทของปนซเมนต จะเปนตวบอกคณภาพดานความซมผานไดต าของคอนกรต คณภาพดงกลาวขนอยกบการท าใหคอนกรตแนนและเงอนไขการบมความซมผานไดส าหรบคลอไรดของคอนกรตผสมสารปอซโซลานก ทบมอยางดจะมคาต ากวาคอนกรตทไมผสมสารปอซโซลานทมสวนผสมเหมอนกน และพบวาปนซเมนตปอรตแลนดทนซลเฟต ซงม C3A ต า ใหคาตอการตานทานการแพรของคลอไรดต ากวาปนซเมนตปอรตแลนดธรรมดา Wongjeeraphat (2002) เถาลอยสามารถชวยลดการซมผานของคลอไรดไดด และการเพมปรมาณของเถาลอยชวยลดการซมผานได โดยผลกระทบจากปรมาณการแทนดวยเถาลอยระหวางรอยละ15-35 โดยน าหนก มความส าคญตอการลดการซมผานไดมากกวา ผลจากการลดอตราสวน w/c
12
3.) ระยะหมเหลกเสรม Neville (1997) เปนทยอมรบกนวาคอนกรตทดตองมความทบแนนและมระยะหมเหลกเสรมทเหมาะสม จงสามารถปองกนการเกดสนมของเหลกเสรมได สวมล และคณะ(มปป.) เถาลอยสามารถลดการเกดสนมของเหลกเสรมได ในทกปรมาณการแทนทของเถาลอย ระยะหมของเหลกเสรมมอทธพลตอแนวโนมการเกดสนมของเหลกเสรมสง และปรมาณเถาลอยทเพมขนมผลตอการลดคาความตางศกยคอนขางชดเจน โดยเฉพาะในชวงอายตน ๆ และทระยะหมนอย ๆ ส าหรบพฤตกรรมจรงของการเกดสนมเหลก คา w/b และระยะหมเปนสองปจจยทส าคญยงตอการตานทานการผกรอนของเหลก เถาลอยมผลกระทบเชนกนแตแนวโนมของอทธพลจากสดสวนเถาลอยยงไมปรากฏชดเจนในชวงเวลาของการศกษาน
2.3 เถาถานหน ปจจบนเถาถานหนมบทบาทส าคญในงานกอสราง เปนวสดทนยมใชในคอนกรตในรปของการแทนทบางสวนหรอเพมเตมในปนซเมนตโดยมวตถประสงคเพอลดตนทนในการผลตคอนกรตและปรบปรงคณสมบตของคอนกรตใหดขน เนองดวยเถาถานหนมออกไซดของธาตซลกา อลมนา และเหลก ซงออกไซดของธาตเหลานสามารถท าปฏกรยาปอซโซลานไดดและท าใหคอนกรตสามารถรบก าลงอดไดมากขน ดวยอนภาคทคอนขางเลกและสวนใหญเปนเมดกลม เมอผสมในคอนกรต เถาถานหนจะเขาไปอดชองวางเลกๆ ระหวางปนซเมนตและหนหรอทรายท าใหเนอคอนกรตแนนขน ซงท าใหคอนกรตมความสามารถตานทานการกดกรอนจากน าทะเลเพมขน เถาถานหน หรอเถาลอย (Fly Ash หรอ Pulverized Fly Ash) หมายถง สวนทเหลอจากการเผาถานหนบดละเอยดเพอเปนพลงงานในการผลตกระแสไฟฟา เถาถานหนทเกดจากการเผาถานหนม 2 ชนดดวยกน คอ 1.) เถาถานหน (Fly Ash) ซงเปนเถาถานหนทมขนาดเลกกวา 1 ไมครอน จะลอยไปกบอากาศรอนเถาถานหนนจะถกดกจบโดยทดกจบไฟฟาสถต (Electrostatic precipitator) เพอไมใหออกไปกบอากาศรอนและเปนมลภาวะตอพนทรอบโรงไฟฟา 2.) เถากนเตา (Bottom Ash)ซงเปนเถาถานหนทมขนาดคอนขางใหญจะตกลงยงกนเตา มขนาดอนภาคเฉลย 290 ไมครอนหรอใหญกวาเถาถานหนประมาณ 16 เทา
2.3.1 การเผาถานหน การเผาถานหนบดเปนเชอเพลงในการผลตกระแสไฟฟามใชกนอย 3 ระบบดวยกน ไดแก การเผาความรอนสง การเผาความรอนปานกลาง และการเผาความรอนต า
13
ก. การเผาความรอนสง ในการเผาความรอนสง อณหภมจะสงถง 1,500 ถง 1,700 องศาเซลเซยส เปนการเผาในเตาเผาแบบใชแรงลม (Cyclone Combustion) ทอณหภมสง เถาถานหนสวนใหญจะหลอมละลาย และรวมกนเปนเมดหรอกอน เถาถานหนสวนทเหลอสวนใหญจะเปนเถากนเตาและตกลงในอางน าขางลาง เถาถานหนขนาดเลกจะเปนเถาลอยซงในระบบการเผานจะมปรมาณคอนขางนอย เถาถานหนทไดจะมลกษณะเปนแกวเมดออกใสๆ (Vitreous particle) ข. การเผาความรอนปานกลาง อณหภมของการเผาถานหนบดในเตาเผาความรอนปานกลางอยในชวงระหวาง 1,100 ถง 1,400 องศาเซลเซยส เปนการเผาในเตาเผาแบบใชถานหนบด (Pulverized Coal Combustion) เถาถานหนสวนใหญจะเปนเถาลอย ทเหลอจะเปนเถาหนกหรอเถากนเตา เถาลอยทไดจากการเผานประมาณรอยละ 70 ถง 90 มคณสมบตเปนสารปอซโซลาน เปนเถาลอยทเหมาะส าหรบแทนปนซเมนตบางสวนเพอท าคอนกรตโดยรปขยายแสดงอนภาคทไดจากการเผาแบบทแสดงดงรปท 2.5
รปท 2.5 แสดงรปขยายอนภาคของเถาถานหนจากแมเมาะทไดจากการเผาแบบ Pulverized Coal
ค. การเผาความรอนต า การเผาความรอนต าเปนการเผาในเตาแบบฟลอดไดซเบด (Fluidized-bed Combustion) อณหภมของการเผาถานหนจะคอนขางต าคอไมเกน 900 องศาเซลเซยส เถาถานหนทไดมรปรางทไมแนนอน (Irregular) และมสวนประกอบทเปนผลกคอนขางสง เนองจากเถาถานหนทไดไมไดผานการเผาทอณหภมทสงพอ แมจะสามารถใชเปนสารปอซโซลานไดแตไมดเทาเถาลอยทไดจากการเผาความรอนปานกลาง แตวธนกเรมใชกนมากขนส าหรบการผลตไฟฟาขนาดเลกในโรงงานตางๆโดยรปขยายอนภาคแสดงดงรปท 2.6
14
2.3.2 ชนดของเถาถานหน เถาถานหนเปนผลพลอยไดจากการเผาถานหนในการผลตกระแสไฟฟาพลงงาน ความรอนมาตรฐาน ASTM C 618 แบงเถาถานหนออกเปน 2 ชนด ไดแก
1.) ชนด F (Class F) เปนเถาถานหนทไดจากการเผาถานหนแอนทราไซต และบทมนส ปรมาณรวมของซลกา (Silica) อลมนา (Alumina) และเฟอรคออกไซด (Ferricoxide) มากกวารอยละ 70 และมคณสมบตอนตามทระบไวในมาตรฐาน ASTM C 618 วธการเกบตวอยางและวธการทดสอบเปนไปตามาตรฐาน ASTM C 311 โดยทวไปเถาถานหนชนด F มปรมาณเคลเซยมออกไซด (Calcium Oxide, CaO) ต า ดงนนจงมชอเรยกอกชอหนงวา เถาถานหนแคลเซยมต า ส าหรบซลกาออกไซด (SiO2) มาจากแรดนเหนยวและควอรตซ ถานหนแอนทราไซตและบทมนสมแรดนเหนยวสงจงใหเถาถานหนทม ซลกาออกไซด (SiO2) สง
2.) ชนด C (Class C) เปนเถาถานหนทไดจากการเผาถานหนลกไนต และซบบทมนสเปนสวนใหญ มปรมาณของ SiO2 + Al2O3 + Fe2O3 มากกวารอยละ 50 ปรมาณแคลเซยมออกไซด (Calcium Oxide, CaO) สงและมคณสมบตอนตามทระบไวในมาตรฐาน ASTM C 618 เถาถานหนชนดนเรยกชออกอยางหนงวา เถาถานหนแคลเซยมสง ส าหรบอลมเนยมออกไซด (Al2O3) มาจากแรดนเหนยว โดยทลกไนตประกอบไปดวยดนเหนยวทมอลมเนยมออกไซด (Al2O3) ต าท าใหเถาถานหนชนด C นอกจากมซลกาออกไซด (SiO2) ต าแลวยงมอลมเนยมออกไซด (Al2O3) ต าดวย
ACI 232.2R [10] แนะน าวาควรใชเถาถานหน Class F หรอ Class C ในปรมาณรอยละ 15 ถง 35 โดยน าหนกของวสดประสาน การใชเถาถานหนในปรมาณทมากเกนไปจะท าใหคอนกรตมก าลงอดต าลงจนอาจใชงานไมได ดงน นจงควรค านงถงการใชเถาถานหนเพอแทนปนซเมนตบางสวนเพราะท าใหคอนกรตมราคาถกลงขณะการทการพฒนาก าลงอดของคอนกรตทใชเถาถานหนควรมคาใกลเคยงหรออยในระดบทยอมรบไดเมอเปรยบเทยบกบคอนกรตทไมไดผสมเถาถานหน
2.3.3 ปฏกรยาปอซโซลานกของเถาถานหน ปฏกรยาปอซโซลานก (Pozzolanic Reaction) เกดขนโดย (Ca(OH)2) ซงเปนผลตผลจากปฏกรยาไฮเดรชน (Hydration Reaction)ในเนอคอนกรตท าปฏกรยากบซลกอนไดออกไซด (SiO2) และอลมนาไตรออกไซด (Al2O3)จากเถาถานหนไดผลตภณฑคอ แคลเซยมซลเกตไฮเดรต (C-S-H) แคลเซยมอลมเนตไฮเดรต (C-A-H) ซงการเพมขนของ C-S-H เปนผลท าใหก าลงอดของคอนกรตเพมขนและลดชองวางของคอนกรตท าใหคอนกรตมเนอแนนขน จงเปนผลท าใหคอนกรตมความสามารถตานทานการกดกรอนจากน าทะเลเพมขน
15
2.3.4 ศกยภาพของเถาหนในงานคอนกรต การใชเถาถานหนในงานคอนกรตมขอดหลายประการไดแก เพมความสามารถในการเทได เพมความตานทานตอการกดกรอนของคอนกรต ลดผลกระทบจากการแยกตว ลดความรอนทเกดขนในคอนกรต ลดการหดตว ลดอตราการซมของน าผานคอนกรต และทส าคญคอเพมก าลงอดและก าลงดงประลยของคอนกรตเมอคอนกรตมอายมากขน หากแตขอเสยจากการใชเถาถานหนเปนสวนผสมคอนกรตนนคอท าใหอตราการพฒนาก าลงอดของคอนกรตต าลงในชวงอายตน ลดความตานทานตอสภาวะแขงตวและละลายของน าสลบกนไป และท าใหตองใชสารเพมฟองอากาศมากขนเพอใหไดคอนกรตทมปรมาณฟองอากาศตามตองการในระดบเดยวกบคอนกรตทไมมเถาถานหนผสมอย [11] 1.) ตานทานการท าลายโดยสารซลเฟต ACI 232.2R [10] เถาถานหนสามารถเพมการตานทานการกดกรอนของคอนกรตจากซลเฟตไดโดยเฉพาะอยางยงเถาถานหน Class F ซงตานทานไดดมากกวาการใชเถาถานหน Class C การตานทานการกดกรอนของสารละลายกรดหรอซลเฟตทเพมขนเนองจากการทปฏกรยาปอซโซลานไดเปลยนรปของ Ca(OH)2 ใหเปน CSH ซงเปนสารประกอบทนอกจากจะเพมก าลงอดคอนกรตแลวยงทนตอสภาพการกดกรอนไดสงกวา Ca(OH)2 อยางมาก 2.) ตานทานการซมผานของคลอไรด การท าปฏกรยาระหวางปนซเมนตกบน าท าใหสวนผสมมความเปนดางสง และสามารถปองกนการเก ดสนมของเหลกเสรมโดยจะ เก ดฟลมบางๆของ –Fe2O3เค ลอบผว เหลก เสรมไวอออนของคลอไรดสามารถท าลายฟลมนได คลอไรดทซมเขาในคอนกรจและเมอมปรมาณสงกวาระดบวกฤต (chloride threshold value) จะท าใหเหลกเสรมเรมเกดสนม การใชเถาถานหนสามารถลดปรมาณคลอไรดทซมผานเขาไปในคอนกรตได และการใชเถาถานหนทละเอยดสามารถตานทานการซมผานของสารคลอไรดไดดขน โดยสรปแลว เถาถานหนนยมน าไปใชในงานคอนกรตมากกวาในงานชนดอนดวยเหตผล 2 ประการ คอประการแรกเถาถานหนมออกไซดของธาตซลกา อลมนา และเหลก ซงออกไซดของธาตเหลานสามารถท าปฏกรยาปอซโซลานไดดและเพมก าลงอดคอนกรตใหสงขน โดยเฉพาะเมอใชเถาถานหนทมคณภาพดและในปรมาณทเหมาะสม ประการทสอง เ ถ า ถ า น ห น ม อ น ภ า ค ทคอนขางเลกและสวนใหญเปนเมดกลมเมอผสมในคอนกรตเถาถานหนจะเขาไปอดชองวางเลกๆ ระหวางปนซเมนตและหนหรอทรายท าใหคอนกรตแนน นอกจากนคอนกรตทมสวนผสมของเถาถานหนยงสามารถผสมไดงายและลดพลงงานไฟฟาทใชในเครองผสมลงไดเนองจากรปรางทกลมและผวสมผสทลนของเถาถานหนท าใหแรงเสยดทานระหวางอนภาคต าลง[12]
16
2.4 การออกแบบสวนผสมคอนกรตโดยวธ ACI
(Mix design of concrete by ACI method)[13]
2.4.1 ความส าคญของการออกแบบสวนผสมคอนกรต
เพอใหไดคอนกรตตามตองการ จะตองมการออกแบบสวนผสมโดย เลอกใชวสดผสมคอนกรตทเหมาะสม ไดแก ปนซเมนต หน ทราย น า และน ายาผสมคอนกรตใหเปนไปตามขอก าหนดและวตถประสงคทเราตองการ อกท งเพอค านวณหาสดสวนทเหมาะสมของวสดผสมเพอใหไดคอนกรตทมคณสมบตตามขอก าหนดและการใชงานทตองการท งในสภาพคอนกรตสดและในสภาพทคอนกรตแขงตวแลวรวมไปถงเรองของก าลงรบแรงอดของคอนกรตทเราตองการก สามารถก าหนดไดจาการออกแบบสวนผสม
2.4.2 ขอมลทตองใชประกอบในการออกแบบสวนผสมคอนกรต
1.) ความถวงจ าเพาะ หนวยน าหนก โมดลสความละเอยดและเปอรเซนตการดดซมค านวณหาปฏภาคสวนผสมส าหรบงานคอนกรตทวไปตามวธของสถาบนคอนกรตแหงอเมรกา (American concrete institute, ACI) จ าเปนตองทราบถงคณสมบตตางๆของวสดทใชท าคอนกรต เชน ความถวงจ าเพาะ หนวยน าหนก โมดลสความละเอยดและเปอรเซนตการดดซม เปนตน อกท งมวลรวมทใชตองมขนาดคละตามเกณฑทก าหนดดวย 2.) คาอตราสวนน าตอปนซเมนต (W/C) ก าลงรบแรงอดของคอนกรตจะขนอยกบคาอตราสวนน าตอปนซเมนต (W/C) คอ ถาคาอตราสวนน าตอปนซเมนต (W/C) มาก ก าลงรบแรงอดของคอนกรตจะนอย แตถาคา W/C นอย ก าลงรบแรงอดของคอนกรตจะมากดงแสดงใน รปท 2.7
2.4.3 ความสามารถในการเทไดของคอนกรต (Workability ) ความสามารถในการเทได คอ การทคอนกรตสามารถเทไหลเขาแบบ ท าใหแนนและ
ตกแตงผวไดงายโดยไมมการแยกสวนของมวลรวม ระหวางการขนสงและการเท ระดบความสามารถการเทไดจะตองเหมาะสมกบงาน ซงจะขนอยกบลกษณะของการเท การท าคอนกรตใหแนน ชนดของคอนกรต วธการเทคอนกรตทตางกน จะตองการความสามารถในการเทคอนกรตแตกตางกน
องคประกอบทมผลตอความตองการความสามารถในการเทไดของคอนกรต ไดแก ลกษณะของการขนสงล าเลยงคอนกรต ปรมาณและลกษณะของวสดประสาน ความขนเหลวของ
17
คอนกรต รปรางของมวลรวมหยาบและมวลรวมละเอยด ปรมาณฟองอากาศในคอนกรต ปรมาณน าในคอนกรต อณหภมขณะเท สารผสมเพมในคอนกรต การกระจายตวทสม าเสมอของขนาดมวลรวมและปรมาณฟองอากาศในคอนกรตซงชวยใหคอนกรตไมเกดการแยกสวนและเพมคณสมบตการเทไดในคอนกรตใหดขน คณสมบตของคอนกรตทมผลตอความสามารถในการเทได จะรวมถงความขนเหลว ความสามารถในการเคลอนตว การปม การเยม การตกแตงหนาคอนกรต อยางไรกตามความขนเหลว มกเปนคาทเปนตวแทนของความสามารถเทไดของคอนกรต โดยคาการยบตวของคอนกรตใชวดความสามารถเทได คาการยบตวต า หมายถง คอนกรตมลกษณะกระดางและแหง สงผลใหการเทเขาแบบและการอดแนนของคอนกรตท าไดยาก ตลอดจนสงผลท าใหเกดการแยกตวของมวลรวมในคอนกรตไดงายขน อยางไรกตามการทคอนกรตเหลวเกนไปไมไดหมายความว าจะสงผลดตอความสามารถในการเท เนองจากอาจสงผลใหเกดการแยกตวของมวลรวมในคอนกรตไดเชนกน ดงนนความขนเหลวของคอนกรตทเหมาะสม จะตองแหงทสดเทาทยงคงเทเขาแบบ และอดตวไดด โดยไมเกดการแยกตวของมวลรวม
2.4.4 ขนตอนการออกแบบสวนผสมคอนกรต 1. เลอกคาการยบตวทเหมาะสมกบประเภทของงานคอนกรต คาการยบตวตองอยในชวงทเหมาะสม และใหไดความขนเหลวพอท างานไดสะดวกใน
กรณทมไดก าหนดคาการยบตวมาให คาการยบตวทเหมาะสมกบประเภทของงานเลอกใชไดจากตารางท 2.2 2. เลอกขนาดโตสดของมวลรวม ขนาดโตสดของมวลรวม ไมควรเกนกวา 1/5 ของสวนแคบทสดของแบบหลอ หรอ 1/3 ของความหนาของแผนพน หรอ 3/4 ของระยะหางระหวางผวของเหลกเสรมทนอยทสดขนาดโตสดของมวลรวมหยาบทเหมาะสมกบประเภทการใชงานเลอกไดจาก ตารางท 2.2
3. ประมาณปรมาณน าทผสม และปรมาณฟองอากาศทเกดขน
ตารางท 2.3 ใหปรมาณน าทตองการในหนงหนวยปรมาตรของคอนกรตเพอใหไดคาการยบตวทก าหนด ซงขนอยกบขนาดโตสด รปรางและสวนขนาดคละของมวลรวม นอกจากน ตารางท 2.3 ยงใหคาปรมาณฟองอากาศทเกดขนในสวนผสมคอนกรตทไมมสารท าใหเกดฟองอากาศ และปรมาณฟองอากาศทควรจะมในสวนผสมคอนกรตเมอใสสารท าใหเกดฟองอากาศ ซงเหมาะกบงานคอนกรตทตองเผชญกบสงแวดลอมรนแรง
18
wG
WV
4. เลอกอตราสวนน าตอซเมนต อตราสวนระหวางน าตอซเมนตทเหมาะสม ขนอยกบลกษณะทคอนกรตนนถกน าออกไป
ใชงานและก าลงอดประลยของคอนกรตทตองการ ในกรณทไมมขอมลเก ยวกบความสมพนธระหวางอตราสวนน าตอซเมนตกบก าลงอดประลยของคอนกรตส าหรบมวลรวมทใชผสมท าคอนกรต กใหเลอกใชคาอตราสวนระหวางน าตอซเมนตจากตารางท 2.4 และ 2.5 โดยทตารางท 2.4 ใหคาอตราสวนน าตอซเมนต โดยน าหนกทมากทสดส าหรบประเภทงาน และสภาวะแวดลอมตาง ๆ สวนตารางท 2.5 ใหคาอตราสวนน าตอซเมนต โดยน าหนกทมากทสดส าหรบคาเฉลยของก าลงอดประลยคอนกรตทตองการ และใหเลอกใชคาอตราสวนน าตอซเมนตทต าทสดซงหาไดจาก 2 ตารางน
5. ค านวณหาปรมาณซเมนตทตองการใช เมอทราบปรมาณน าทใชตอหนงหนวยปรมาตรของคอนกรตและอตราสวนน าตอซเมนตโดยน าหนกแลว ปรมาณซเมนตทตองใชในคอนกรตตอหนงหนวยปรมาตรหาไดจากการเอา ปรมาณน าจากขนตอนท 3 หารดวยอตราสวนน าตอซเมนตจากหวขอ 4. เลอกอตราสวนน าตอซเมนต อยางไรกด ถาก าหนดปรมาณซเมนตในหนงหนวยปรมาตรของคอนกรตมาให กใหเลอกใชคาปรมาณซเมนตทมากทสดจากทค านวณไดในขนตอนน หรอทก าหนดให
6. ค านวณหาปรมาณมวลรวมหยาบ ตารางท 2.6 แสดงปรมาตรของมวลรวมหยาบในสภาพแหงและอดแนน (Bulk volume of
dry rodded coarse aggregate) ตอหนงหนวยปรมาตรคอนกรต ซงมคาแตกตางกนตามคาโมดลสความละเอยดของทรายทใชและขนาดโตสดของหนทใช ปรมาณของมวลรวมหยาบคดเปนน าหนกจะมคาเทากบ ปรมาตรของมวลรวมหยาบคณดวยหนวยน าหนกของมวลรวมหยาบนน 7. ค านวณหาปรมาณมวลรวมละเอยด เมอไดคาตางๆ ของสวนผสมคอนกรตจนถงล าดบท 6 แลว ปรมาณของวสดผสมละเอยดจะหาไดดงน
เมอ
V = ปรมาตรเนอแทของวสด W = น าหนกของวสด
19
G = ความถวงจ าเพาะของวสด w = หนวยน าหนกของน า
สวนปรมาณรวมของมวลรวมละเอยดคดเปนน าหนกจะมคาเทากบ ปรมาตรของมวลรวมละเอยดคณดวยหนวยน าหนกของมวลรวมละเอยดนน 8. ปรบสวนผสมเนองจากความชนของมวลรวม ตามปกตมวลรวมทใชงานจรงจะมความชนสงกวาในสภาวะอมตวและผวแหง ฉะนนจงตองแกสวนผสมใหเขากบสภาพจรง โดยเพมน าหนกของมวลรวมขนเทากบน าหนกน าทตดมา และลดน าในสวนผสมออกมาในจ านวนเทากน แตหากในมวลรวมอยในสภาวะแหงกวาในสภาวะอมตวและผวแหง จะตองปรบแกสวนผสมเชนเดยวกนในทางตรงกนขาม 9. การปรบสวนผสมดวยการทดลองผสม สดสวนของผสมตางๆ ทค านวณแลวเปนเกณฑโดยประมาณทงสน ซงจะตองตรวจสอบดดวยถงผลทไดทงในดานก าลงของคอนกรตและความยากงายในการท างานโดยการทดลองผสมจรง จากน นตรวจสอบดหนวยน าหนกของคอนกรต ปรมาตรทใชและปรมาณอากาศ แลวจงปรบสวนผสมตางๆใหเหมาะสมอกครงหนง ถาตองการใหคอนกรตมคาการยบตวลดลงหรอเพมขน 1 เซนตเมตร จะตองเพมหรอลด
20
2.5 Microsoft Visual Studio 2010
รปท 2.8 แสดงหนาตางกอนเรมเขาโปรแกรม Visual Studio 2010
ในสวนนจะเปนการแนะน าใหรจกกบภาษาวชวลเบสกวาคออะไร ขอดของภาษาวชวล
เบสก และตวโปรแกรมมความส าคญอยางไร Visual Basic หรอ VB สรางโดยบรษทไมโครซอฟทภาษานเปนหนงในภาษาโปรแกรมยอดนยมส าหรบโปรแกรมทใชในดานธรกจ ภาษานพฒนามาจากภาษาเบสกและยงไดพฒนาตอเปนภาษา VB.NET อกดวยจดเดนอกอยางหนงของวชวลเบสกคอนกเขยนโปรแกรมสามารถน าโปรแกรมประยกตหลายๆโปรแกรมมารวมกนในโปรแกรมเดยวและยงสามารถประยกตใชคอมโพเนนตของวชวลเบสกทมเตรยมไวใหแลวไดอกดวย 2.5.1 ขอดของภาษา Visual Basic[14]
1. งายตอการเรยนรเหมาะส าหรบผเรมตน ทงในเรองไวยากรณของภาษาเองและเครองมอการใชงาน 2. ความนยมของตวภาษา โดยอาจกลาวไดวาภาษา Basic นนเปนภาษาทคนเรยนรและใชงานมากทสดในประวตศาสตรของคอมพวเตอร 3. การพฒนาอยางตอเนอง การปรบปรงประสทธภาพในดานของตวภาษาและความเรวของการประมวลผล และในเรองของความสามารถใหมๆ เชน การตดตอกบระบบฐานขอมล การเชอมตอกบเครอขายอนเตอรเนต
21
4. ผพฒนาส าคญของ Visual Basic คอบรษทไมโครซอฟทซงจดวาเปนยกษใหญของวงการคอมพวเตอรในปจจบน เราจงสามารถมนใจไดวา Visual Basic จะยงมการพฒนา ปรบปรงและคงอยไปอกนาน โดยโปรแกรมทใชในการท านายอายคอนกรตทผสมเถาถานหนทแชในสภาวะแวดลอมทะเลน เปนโปรแกรมประเภท Windows application มการก าหนดออกแบบหนาจอโดยการวาคอนโทรลตางๆลงไปบนฟอรมใหมความสมพนธและสอดคลองกบการใชงาน จากนนจงก าหนดพรอพเพอรต เพอปรบแตงคณลกษณะและการท างานของคอนโทรล ตามดวยโคดควบคมการท างานและท าการรนโปรแกรมเพอตรวจสอบการใชงาน สดทายคอการบนทกโปรเจกตและคอมไพลโปรเจกตเปนไฟลโปรแกรมทรนได
2.5.2 การเรยกใชงานและสวนประกอบของโปรแกรมเบองตน การเรยกใชงานโปรแกรม (รปท 2.9)
1. Click ทปม Start 2. เลอก All Program 3. เลอก Microsoft Visual Studio 2010 4. แลวเลอก Microsoft Visual Studio 2010 สวนประกอบของโปรแกรมเบองตน - แถบหวเรอง (title bar) : เปนแถบแสดงหวเรองโดยปกตจะบอกชอของโปรแกรม (รปท 2.10) - แถบรายการค าสง (menu bar) : เปนแถบแสดงรายการค าสงตางๆของโปรแกรม (รปท 2.11) - หนาตางเรม (Start Page) : เปนหนาตางเรมการท างานของโปรแกรมซงจะมสวนทแสดงรายชอ โปรเจกตทเราไดเคยสรางไวแลวในกรณทเพงเปดใชงานครงแรกจะไมมรายชอปรากฏอย (รปท 2.12) - กลองเครองมอ (ToolBox ) : เปนสวนทเกบเครองมอตางๆทเราจะน ามาใชงานในเจกตของเราแตในกรณยงไมมเครองมอเนองจากเรายงไมไดสราง Project ใดๆ (รปท 2.13) - หนาตาง Solution Explorer : หนาตางทแสดงรายชอและจดการกบโปรเจกตของเรา[รปท 2.14] - แถบสถานะ (Status Bar) : เปนแถบทมไว ส าหรบบอกสถานะของการท างานของโปรแกรม (รปท 2.15)
22
2.5.3 การสราง Project ( Create New Project )
ในการเขยนโปรแกรมของภาษาวชวลเบสกการสรางโปรแกรมเรมดวยการสรางโปรเจกตใหมซงสามารถท าได 2 วธดงน
วธท 1 คลกทปม Create New Project ในหนาตางเรมตน (Start Page)[รปท 2.16] จากนนจะปรากฏหนาตางใหสรางโปรเจกตโดยเลอกเปน Windows Forms Application
วธท 2 กดเลอก New Project ตรง Menu bar [รปท 2.17] จากนนจะไดสวนประกอบตางๆของโปรแกรม[รปท2.18] ซงมสวนประกอบตางๆดงตอไปน Form : เปนสวนของพนททใชในการออกแบบ รวมไปถงเปนททเราจะน าคอนโทรลตางๆมาใช โดยสามารถก าหนดสงตางๆของฟอรมไดจากพรอพเพอรต Properties : สวนทใชก าหนดคณสมบตของฟอรม และคอนโทรลเชน การก าหนดขนาด ก าหนดตวอกษร ขนาดของคอนโทรล เปนตน Toolbox : คอนโทรลตางๆจะอยใน ทลบลอก แตละคอนโทรลกจะมหนาทตางๆกนไปตามวตถประสงคการใชงาน เราสามารถเลอกไดโดยการคลดทคอนโทรลทเราตองการแลวคลกทพนทในฟอรม 2.5.4 ขนตอนการเขยนโปรแกรมดวย Visual Basic โดยสงเขป 1. ออกแบบหนาจอ โดยน าคอนโทรลตางๆจากทลบลอกมาวางลงบนฟอรม แลวปรบขนาดและต าแหนงตามทตองการ[รปท 2.19]ในรปตวอยางแสดงการวางคอนโทรล Button ทมชอวา Botton1 ลงไปบนฟอรม เราสามารถเปลยนชอของคอนโทรลไดจากวนโดว Properties ทอยดานขาง และสามารถปรบเปลยนขนาดไดจากการน า เคอรเซอรไปคลกบรเวณสเหลยมทอยรอบๆของคอนโทรล Button1
2. ก าหนดพรอพเพอรตของออพเจคตางๆ (ฟอรม, คอนโทรลตางๆทเราน ามาวางบนฟอรม) [รปท 2.20] โดยใชวนโดว Properties โดยสามารถก าหนดท ง ขนาด สของคอนโทรล และอนๆอกมากมาย
3. เขยนโคดควบคมการท างานของโปรแกรม โดยการดบเบลคลกเขาไปทคอนโทรล [รปท2.21] จะเกดวนโดวใหมซงจะมพนทส าหรบเขยนโคดโปรแกรม ซงการเขยนโคดจะตองเปนไปตามแบบฟอรมทก าหนดและเปนโคดเฉพาะของโปรแกรม Visual Basic เทานน โดยเรองการใชโคดในการเขยนโปรแกรมและตวอยางของโปรแกรมจะกลาวในบทตอไป
4. รนโปรแกรม เพอทดสอบการท างานโดยใชปม เพอตรวจสอบวาเปนไปตามทตองการหรอไม
23
5. ตรวจสอบขอผดพลาดของโปรแกรม หากการท างานเกดขอผดพลาดหรอไมเปนไปตามทตองการ ใหแกไขกอนคอมไพลโปรเจกต
6. คอมไพลโปรเจกตไปเปนไฟลโปรแกรมทรนได (executable file)
2.6 งานวจยทเกยวของ W. Chalee และคณะ (2008) ไดศกษาผลของอตราสวนน าตอวสดประสานและเถาถานหน ตอคาสมประสทธการแทรกซมของคลอไรด พบวาการใชอตราสวนน าตอว สดประสานทต า (W/B = 0.45) และการแทนทเถาถานหนในคอนกรตในปรมาณทมากขน สามารถตานทานการแทรกซมของคลอไรดในน าทะเลไดด
W. Chalee และคณะ (2008) ไดศกษาผลของอตราสวนน าตอว สดประสานตอระยะคอนกรตหมเหลกเพอปองกนการกดกรอน พบวาทก าลงของคอนกรตเทากนคอนกรตทแทนทเถาถานหนสงถงรอยละ 50 สามารถลดระยะหมเหลกเพอปองกนการกดกรอนไดถงครงหนงจาก 60 มลลเมตร ลดไดเปน 30 มลลเมตร
W. Chalee และคณะ (2009) ไดสรางแบบจ าลองเพอท านายการแทรกซมของคลอไรดในคอนกรตทผสมเถาถานหนทแชในสภาวะแวดลอมทะเล เปนเวลา 7 ป ซงในการศกษาไดสรางแบบจ าลองของคอนกรตทผสมเถาถานหนมาเปนตวอยางเพอท าการวจย ท าใหทราบความเขมขนของคลอไรดทแทรกซมเขาไปในเนอคอนกรต T.Cheewaket และคณะ (2010) ไดศกษาความสามารถในการกกเกบคลอไรดของคอนกรตผสมเถาถานหนจากกอนตวอยางทแชในน าทะเลบรเวณน าขนน าลงในชวงเวลา 3, 4, 5 และ 7 ปพบวาการแทนทเถาถานหนทเพมขนชวยเพมความสามารถในการกกเกบคลอไรดและอตราสวนน าตอวสดประสานมผลนอยตอความสามารถในการกกเกบคลอไรด Thomas (1996) ไดศกษาคอนกรตผสมเถาถานหนจากกอนตวอยางทแชในน าทะเลบรเวณน าขนน าลงในชวงเวลา 1-4 ป พบวาปรมาณคลอไรดวกฤตทท าใหเหลกเสรมในคอนกรตเรมถกกดกรอนขนกบการแทนทเถาหนในคอนกรต ซงการแทนททมากขนของเถาถานหนจะท าใหปรมาณคลอไรดวกฤตลดลง ซงการทปรมาณคลอไรดวกฤตลดลงแตการแทนทเถาถานหนทเพมขนจะชวยปองกนเหลกเสรมไดดกวาและยงชวยตานทานการซมผานของคลอไรดไดอกดวย Thomas et al (2012) ไดศกษาการผลของการเพมประสทธภาพซเมนตตอการกกเกบ คลอไรดในสภาวะทแขงตวพบวาความสามารถในการกกเกบคลอไรดจะเพมขนมากเมอแทนทซเมนตดวยดนขาวเผา (45% Al2O3)และลดลงเมอแทนทดวยซลกาฟม (<0.5% Al2O3)ซงการกกเกบคลอไรดไมไดขนอยกบปรมาณของไตรแคลเซยมอลมเนต(C3A)เพยงอยางเดยวแตขนกบปรมาณ
24
ของแคลเซยมซลเกตไฮเดรต (C-S-H)ดวย โดยความสมพนธของการกกเกบคลอไรดสามารถอธบายไดดทสดโดย Freundlich isotherm
Thomas and Matthews (2004) ไดศกษาความสามารถในการใชงานของคอนกรตผสมเถาถานหนในสภาพแวดลอมทางทะเลเปนระยะเวลา 10 ป พบวาระดบของปรมาณคลอไรดในคอนกรตผสมเถาถานหนมคาลดลงเมอเทยบกบคอนกรตธรรมดา (0%FA) ซงระดบปรมาณคลอไรดในคอนกรตลดลงตามการเพมขนของ %FA และผลลพธภายหลง 2 ปพบวา ก าลงอดของคอนกรตธรรมดามคาลดลงมากกวาคอนกรตผสมเถาถานหน จากงานวจยทผานมาทไดศกษาผลกระทบจากคลอไรดทมผลตอคอนกรตและเหลก เสรม รวมถงศกษาผลของการน าเถาถานหนมาใชปรบปรง คณสมบตของคอนกรตในสภาวะแวดลอมทางทะเลจากกอนตวอยางทแชน าทะเลบรเวณน า ขนน าลงในชวงเวลา 7 ป และ ไดสรางแบบจ าลองเพอท านายอายการใชงานของคอนกรตผสมเถาถานหนในสภาวะแวดลอม ทางทะเลเพอศกษาปรมาณคลอไรดทแทรกซมเขาสคอนกรต ในงานวจยนจะศกษาอายการใชงานของคอนกรตผสมเถาถานหนในสภาวะแวดลอมทางทะเลเมอเผชญการท าลายเนองจากคลอไรดจากกอนตวอยางทไดแชในน าทะเลบรเวณน าขนน าลง ทอาย 10 ป เพอน ามาพฒนาโมเดลจ าลองใหมความแมนย ามากยงขนจากตวอยางทไดขอมลมากกวาเดม และน ามาแสดงผลจากขอมลวจยใหอยในรปของโปรแกรม Visual Basic ทคนทวไปสามารถน าไปใชงานได
25
บทท 3
วธการศกษา
แนวทางการศกษาในงานวจยการท านายอายการใชงานของคอนกรตผสมเถาถานหนในสภาวะแวดลอมทางทะเล โดยมงเนนการศกษาตอผลกระทบอนเนองมากจากคลอไรดเปนหลก เนองดวยเปนสาเหตทสงผลมากกบอายการใชงานของโครงสรางคอนกรตในสภาวะแวดลอมทางทะเล โดยขณะเดยวกนตองศกษาในสวนของโปรแกรม Visual Basic เพอใหเขาใจรปแบบการท างาน ความสามารถของตวโปรแกรม เพอน ามาปรบและประยกตใชกบขอมลการทดลองใหมรปแบบการท างานทเขาใจงายและมความถกตองมากทสด
3.1.ศกษาเทคโนโลยคอนกรต พนฐานความรทางดานคอนกรตรวมไปถงการออกแบบสวนผสมคอนกรตดวยวธ ACI เปนสงส าคญในการศกษาอายการใชงานของคอนกรตเมอเผชญการกดกรอนเนองจากคลอไรดถงผลกระทบเมอมความแตกตางทางดานอตราสวนผสมในคอนกรตเพอใหสามารถแปลความสมพนธในรปสตร เขยน Code ลงในโปรแกรม
3.2 ศกษาความคงทนของคอนกรต โครงสรางทอยในบรเวณสงแวดลอมทางทะเล ไมสามารถหลกเลยงไดทจะตองเผชญการท าลายอนเนองมาจากคลอไรดทเปนองคประกอบของน าทะเลซงเปนปญหาส าคญตอความคงทนและอายการใชงานของโครงสราง เนองจากผวคอนกรตตองส าคญกบน าทะเลหรอไอเกลออยตลอดเวลา การเกดสนมของเหลกเสรมในคอนกรตจงเปนปจจยส าคญอนดบแรกๆทท าใหความคงทนและอายการใชงานของโครงสรางลดลง โดยการศกษาเรองความคงทนของคอนกรตจงเนนไปทการท าลายอนเนองมาจากคลอไรดเปนหลกซงพบวา ในน าทะเลมสวนผสมของสารละลายซลเฟตและคลอไรดปนอย จะสงผลกระทบตอเหลกเสรมภายในเนอคอนกรตท าใหเหลกเปนสนมสรางความเสยหายใหแกโครงสรางของโครงสรางบรเวณชายฝงทะเล ท าใหการรบน าหนกของโครงสรางลดลงและกอใหเกดการพงทลายของสงกอสรางเปนปญหาทส าคญอยางยง ดงนนการรบมอกบปญหานเพอเพมอายการใชงานใหมากขนคอ การเพมระยะคอนกรตหมเหลก การแทนทเถาลอยในคอนกรตในอตราท
26
เหมาะสม ใชอตราสวนน าตอวสดประสาน (W/B) ทนอยเพอเพมความทบน าใหแกคอนกรตซงสามารถเพมอายการใชงานของโครงสรางและลดคาใชจายในการซอมไดเนองจากความถในการซอมแซมนอยลง คอนกรตทใชในโครงสรางทตองเผชญกบน าทะเลควรเปนคอนกรตทมคาอตราสวนน าตอวสดประสาน (W/B) ทนอยเพอเพมความทบน า โดยในโปรแกรมจะก าหนดใหคา W/B อยระหวาง 0.45-0.65
3.3 การท านายอายการใชงานของคอนกรตผสมเถาถานหนทแชในสภาวะแวดลอมทะเลจากฐานขอมลในสภาพจรง 3.3.1 หลกการ หลกการในการค านวณหาอายการใชงานของคอนกรตทผสมเถาถานหนทแชในสภาวะแวดลอมทะเล โดยจะมงเนนศกษาการท าลายอนเนองมาจากคลอไรดเปนความเสยหายหลกทจะ บนทอนอายการใชงานของคอนกรตใหลดลงมากกวาปจจยอน ซงจะประกอบดวยตวแปร 4 ตวแปร ดงตอไปน
1. ระยะเวลาแชน าทะเล (t) 2. รอยละการแทนทปนซเมนตดวยเถาถานหน (F) 3. อตราสวนน าตอวสดประสาน (W/B) 4. ระยะคอนกรตหมเหลกเสรมจากผวหนาคอนกรต (x) โดยทก าหนดใหอตราสวนน าตอวสดประสาน (W/B) ตองมคาอยระหวาง 0.45 – 0.65 ท านายโดยใชฐานขอมลทเกบจากสภาวะแวดลอมทะเลจรงทมลกษณะดงน
1. น าขนลง 2 รอบ /วน 2. ทอณหภม 25 °C ถง 35 °C 3. สภาวะแวดลอมทะเลทมคลอไรด ประมาณ 1.62% ถง 1.88% โดยน าหนกน าทะเล 4. สภาวะแวดลอมทะเลทมซลเฟต ประมาณ 0.22% ถง 0.27% โดยน าหนกน าทะเล 5. มคา pH ประมาณ 7.9 ถง 8.2 ในการสรางแบบจ าลองเพอท านายอายการใชงานของคอนกรตผสมเถาถานหนในสภาวะแวดลอมทางทะเลนน จะไดจากการใชสวนผสมคอนกรตทม W/B เทากบ 0.45, 0.55 และ 0.65 โดยแทนทเถาถานหนในคอนกรตรอยละ 0, 15, 25, 35 และ 50 โดยน าหนกวสดประสาน หลอเปนกอนคอนกรตทรงลกบาศกขนาด 20 cm3 ทฝงเหลกไวดานในทระยะ 10, 20, 50 และ 75 mm. จากผวหนาคอนกรต จากน นน ากอนคอนกรตไปต งไวบรเวณน าขนน าลง(Tidal Zone) และเกบ
27
ตวอยางมาเจาะทดสอบปรมาณ Cl- ทผวเหลกทระยะฝงเหลกตางๆ โดยเจาะทดสอบทอาย 2, 3, 4 , 5, 7 และ 10 ป ตารางท 3.1 สดสวนของสวนผสมในแตละเบอรของคอนกรตผสมเถาถานหน(Chalee, 2007)
f
รปท 3.1 รายละเอยดการฝงเหลกในกอนตวอยางคอนกรต (Chalee, 2007)
Mix ID.
Mixture Proportions of Concretes (kg/m3)
W/B Slump (mm) Cement Type I
Fly Ash Fine
Aggregate Coarse
Aggregate Water Super P
I45FA00 478 - 639 1,024 215 - 0.45 150 I55FA00 478 - 639 971 262 - 0.55 220 I65FA00 478 - 639 922 311 - 0.65 250 I45FA15 406 72 639 1,004 215 - 0.45 180 I45FA25 359 119 639 990 215 - 0.45 220 I45FA35 311 167 639 977 215 - 0.45 230 I45FA50 239 239 639 957 215 - 0.45 240 I55FA15 406 72 639 948 262 - 0.55 230 I55FA25 359 119 639 933 262 - 0.55 250 I55FA35 311 167 639 918 262 - 0.55 230 I55FA50 239 239 639 897 262 - 0.55 220 I65FA15 406 72 639 898 311 - 0.65 210 I65FA25 359 119 639 881 311 - 0.65 210 I65FA35 311 167 639 864 311 - 0.65 220
I65FA50 239 239 639 840 311 - 0.65 220
75 mm
75 mm
50 mm
20 mm
200 mm
200 mm
10 mm
75 mm
50 mm
Embedded steel bar
(round bar grade SR24
with12-mm in diameter
and 50-mm in length)
28
รปท 3.2 กอนตวอยางคอนกรตในสภาวะเปยกสลบแหง 2 รอบตอวนในสภาพแวดลอมทางทะเลในประเทศไทย ทอ าเภอศรราชา จงหวดชลบร (Chalee, 2007)
Fick's second law of diffusion equation
C(x,t) = C0
เมอ C(x,t) = ความเขมขนของคลอไรดอออนทระยะ x และเวลา t ใดๆ C0 = ความเขมขนของคลอไรดอออนทผวคอนกรตสมผสน าทะเล t = ระยะเวลาทสมผส x = ระยะทคลอไรดเคลอนทเขาไปในคอนกรต erf = ฟงกชนคลาดเคลอน Dc = สมประสทธการแพรคลอไรด
29
0.00
0.05
0.10
0.15
0.20
0.25
0.30
0.35
0.40
0.35 0.45 0.55 0.65 0.75
Cth
(%
by w
eight
of
bin
der
)
W/B ratio
0%FA
15%FA
25%FA
35%FA
50%FA
%FA
Replace. 0.45 0.55 0.65
0 0.30 0.24 0.12
15 0.27 0.16 0.12
25 0.17 0.13 0.10
35 0.15 0.13 0.10
50 0.10 0.10 0.10
W/B ratio
รปท 3.3 แสดงความสมพนธระหวางปรมาณคลอไรดวกฤตและอตราน าตอวสดประสาน ท W/B เทากบ 0.45, 0.55 และ 0.65 โดยมรอยละการแทนทเถาถานหนเทากบ 0, 15, 25 ,35 และ 50 (เทยง ,2012) น าขอมลไปศกษาหาความสมพนธระหวาง Initial Corrosion Time และ Covering (mm) ในแตละ W/B และ %FA ของกอนคอนกรตบนพนฐานค าตอบของสมการ Fick's second law of diffusion ทไดมาท าการวเคราะหเชงถดถอยแบบหลายตวแปร (Multi regression Analysis) วเคราะหความสมพนธคา Dc ทขนกบหลายปจจย ไดแก %FA , W/B และ t น ามา Fit Curve อยในรปคาคงทโดยมการเปรยบเทยบในหลายๆ Function เพอใหไดคาคงททเปนตวแทนของขอมลทมความแมนย าและครอบคลมผลการทดลองมากทสด จากนนวเคราะหความสมพนธ คา Co โดย สมมตวาปจจยจาก %FA และ W/B ไมขนกบคา C0 ใหในรปของคาคงทเชนเดยวกนกบ Dc และน าไปมาแทนคาในสมการ Fick's second law of diffusion จากนนท าการTrial and Error เพอหาเวลาการกดกรอนเรมตน (Initial Corrosion Time) ทขนกบปจจยตางๆในขอบเขตการศกษาซงระยะเวลาการกดกรอนเรมตนคออายการใชงานของคอนกรต
30
-10
0
10
20
30
40
50
60
70
80
90
100
0 10 20 30 40 50 60 70 80 90 100 110
Init
ial C
orro
sio
n T
ime (
Yrs)
Covering (mm)
Initial Corrosion Time: W/B = 0.45
50%FA
35%FA
25%FA
15%FA
0%FA
รปท 3.4 กราฟแสดงความสมพนธระหวาง Initial Corrosion Time กบ Covering ของคอนกรตทผสมเถาถานหนและมคา W/B เทากบ 0.45 โดยม %FA เทากบ 0, 15, 25 ,35 และ 50 ทไดจากผลการทดลองแชน าทะเลเปนระยะเวลา 3, 4, 5, 7 และ 10 ป (เทยง ,2012)
3.4 ประโยชนของสมการ 1. สามารถท านายอายการใชงานของคอนกรตผสมเถาถานหนทมระยะฝงเหลก รอยละการแทนทของเถาถานหน และอตราน าตอวสดประสานตามทไดออกแบบมาได 2. ผลการค านวณสามารถใชในการออกแบบหรอปรบสวนผสมคอนกรตใหตรงกบความตองการได
3.5 ศกษาโปรแกรม Visual Basic ส าหรบสวนของโปรแกรม Visual Basic จะเปนการศกษาจากคมอในรปแบบตางๆ เชน หนงสอ, Video, สอและเนอหาการสอนทาง Internet จากผใชทวไป และตว Codeในตวโปรแกรมจากงานวจยทเก ยวของ เพอใหเขาใจรปแบบการท างาน รวมถงค าสงและการแสดงผลตางๆ โดยหวงผลเพอใหสามารถแสดงผลไดอยางถกตอง และมความแมนย ามากทสดตามขอมลจากงานวจย
31
โดยในการเขยนโปรแกรมจะแบงออกเปนสองสวน คอ 1. การออกแบบสวนผสมคอนกรตโดยวธ ACI ทสภาพแวดลอมน าทะเล (Mix Design) สวนนยงคงใช Code เดมจากงานวจยทผานมา เนองจากเปนสวนทเปนมาตรฐานทจะใชในการออกแบบตามวธ ACI แตจะมการศกษาในสวนของ Code โปรแกรมเพอหาสวนทอาจจะเกดความผดพลาดขนได เปนการตรวจสอบเพอใหตวโปรแกรมมความถกตองและแมนย ามากยงขน 2. การท านายอายการใชงานของคอนกรตผสมเถาถานหนในสภาวะแวดลอมทางทะเล เปนสวนทมการเขยนโปรแกรมจากขอมลทไดจากกอนตวอยางคอนกรตผสมเถาถานหนทแชในสภาพแวดลอมทางทะเลในบรเวณน าขนน าลง (Tidal Zone) และน ามาวเคราะหผลจากขอมลทไดในระบบสมการ กอนแปลงเปน code ลงโปรแกรม ซงสามารถแสดงล าดบขนตอนการเขยนโปรแกรมไดดงแสดงในรปท 3.5
32
3.6 Flow Chart แสดงล าดบขนตอนการเขยนโปรแกรม
รปท 3.5 Flow Chart แสดงล าดบขนตอนการเขยนโปรแกรม
โปรแกรมท านายอายการใชงานคอนกรตผสมเถาถานหนในสภาพแวดลอมทางทะเล
ออกแบบอนเตอรเฟสใหเหมาะกบการใชงาน โดยดจาก
คอนโทรลและความสามารถของโปรแกรม Visual Basic
เขยนโปรแกรมตามฟอรมทก าหนด
ตรวจสอบขอผดพลาดและความถกตองของ
โปรแกรม
แปลงสตรจากการทดลองและวเคราะหผลให
เปนโคดส าหรบเขยนโปรแกรม
โปรแกรมออกแบบสวนผสมคอนกรตโดยวธ
ACI
ไดโปรแกรมท านายอายการใชงานคอนกรตผสมเถาถานหนในสภาพแวดลอมทางทะเล
33
3.7 การแปลงสตรจากขอมลใหเปนโคดส าหรบเขยนโปรแกรม โปรแกรม Visual Basic เปนโปรแกรมส าหรบพฒนาโปรแกรมหรอแอปพลเคชน ซงมลกษณะใหผใชวาดและวางองคประกอบตางๆ บนหนาจอเพอตดตอกบผใช (User Interface)ไดตามตองการ แลวเขยนโปรแกรมเพอเปนการเชอมโยงความสมพนธขององคประกอบ แตละตวบนหนาจอเขาดวยกนใหท างานอยางสมพนธกนตามทผใชตองการ ดงนนผใชควรมความเขาใจกบตวโปรแกรม เพอทจะสามารถแปลงขอมลทตองการใหอยในรป Codeโปรแกรม และเลอกใชงานวตถตางๆ เชอมโยงใหมความสมพนธกนขององคประกอบใหสามารถแสดงผลออกมาไดตามทตองการโดยมความถกตองหรอใหมความผดพลาดนอยทสดเชนเดยวกนกบขอมลจรง 3.7.1 ตวอยางโปรแกรม 1.) ใหท าการสราง Project ใหมโดย ไปเลอกทเมน File >> New Projects และเลอกทWindows Application ตงชอโปรเจคใหมเปน Lab01_3 ในชอง Name 2.) ใหท าการสราง Interface หรอแบบฟอรมตามรป 3.6
รปท 3.6 แสดงฟอรมตวอยางโปรแกรมหาผลรวมเลขจ านวนเตม 3.) Double click ท ปม ค านวณ จากนน เขยนค าสง ดงน Private Sub Button1_click
Name =TextBox1
Name =TextBox2
Name =Label
Name =Botton1
34
Dim intSum As Integer Dim strSum As String intSum = Int (TextBox1.Text) + Int (TextBox2.Text) strSum = “Summary = “ & intSum Label.Text = strSum End Sub
4.) ท าการทดสอบโปรแกรม โดยการกดปม F5 หรอคลก Start Debugging บน Toolbars แลวศกษาการท างานของโปรแกรม
ค าอธบายประกอบตวอยาง Private Sub Button1_click s : คอ คาทงหมดหรอค าสงท งหมดจะถกใชงานหรอแสดงผล
เมอเราคลกท Button1 intSum คอ ชอของตวแปรตวหนงทเราตองการก าหนดใหเปนตวแปรทใชส าหรบเกบตวเลขจ านวนเตม โดยทก าหนดไดโดยการพมพ Dim intSum As Integer ซงในทนค าสง Dim _ As_ คอการก าหนดหนาทของตวแปร ในทนตองการใหเปนเลขจ านวนเตม ก าหนดไดโดยพมพ Integer strSum คอ ชอของตวแปรตวหนงทเราตองการก าหนดใหเปนตวแปลทใชส าหรบเกบตวอกษร โดยทก าหนดไดโดยการพมพ Dim strSum As String ซงกจะใชค าสงแบบเดยวกบการก าหนดตวเลขแตเปลยนจาก Interger เปน String
intSum = Int (TextBox1.Text) + Int (TextBox2.Text) : จากโคดนจะเปนวา มการก าหนด TextBox1.Text และ TextBox2.Text ใหเปนจ านวนเตมกอนโดย ใชค าสง Int() เพอใหคาทจะพมพลงใน TextBox1 และ TextBox2 เปนเลขจ านวนเตม จากนนจงท าการบวกกนไดโดยใชเครองหมาย + ซงหากเปนการ ลบ(-) คณ (*) หรอหาร ( / ) กสามารถท าไดในแบบเดยวกน คาทไดกจะถกเปนไวในตวแปร intSum
strSum = “Summary = “ & intSum : จากโคดนจะเหนวามความตองการให strSum มการเกบ ค าวา Summary = แลวตอทายดวย คาทไดจากการค านวณ
Label.Text = strSum : จากโคดเปนการก าหนดให Label มการแสดงคาทเกบไวใน strSum ออกมา
35
3.7.2 สรปการแปลงสตรจากต าราใหเปนโคดในการเขยนโปรแกรม สตรการค านวณจากโปรแกรมขางตนสามารถเขยนเปนสตรไดคอ C = A + B โดยคา
C = intSum , A = TextBox1.Text และ B =TextBox2.Text เราสามารถบรรจคา A และ B ไดโดยการใสลงไปใน TextBox1และ TextBox2 ตามล าดบ และคา C จะแสดงผลลพธท Label
intSum = Int (TextBox1.Text) + Int (TextBox2.Text) (3.3) C = A + B (3.4) ดงนนการเขยนโคดจงตองมการก าหนดชนดของตวแปรกอนวาเปนทศนยม จ านวนเตม
หรอตวหนงสอ โดยทงสมการจะตองเปนตวแปรชนดเดยวกนจงจะสามารถค านวณได โดยการก าหนดคาของตวแปรสามารถท าไดดงทกลาวไปแลวในหวขอขางตน
36
ไมผาน
ผาน
3.8 ระเบยบวธวจยและแผนการด าเนนงาน
รปท 3.7 Flow Chart แสดงล าดบขนตอนระเบยบวธวจย
ระเบยบวธวจย
รวบรวมขอมลเกยวกบคลอไรดจาก
ตวอยางคอนกรตทแชในน าทะเล 10 ป
ออกแบบและเขยนโปรแกรมท านายอายการใชงานคอนกรตผสมเถาถานหนใน
สภาพแวดลอมทางทะเล
ศกษาความคงทนของคอนกรต
- ความตานทานการแทรกซมคลอไรด
- การใชเถาถานหนในงานคอนกรต
ศกษาเทคโนโลยคอนกรต
- การออกแบบสวนผสมคอนกรตตาม
มาตรฐานของ ACI
ศกษาโปรแกรม Visual Basic
- วธการใชงานโปรแกรม Visual Basic
ศกษาโปรแกรม Visual Basic 2010
- ทดลองเขยนโปรแกรมอยางงายตางๆ
- ศกษา Code ของโปรแกรมจากงานวจย
ทผานมา
ศกษางานวจยทผานมาและงานวจยทเกยวของ
- บทความวจย
- รปแบบการท างานของโปรแกรมจากงานวจยท
เขยนดวย Visual Basic
เปรยบเทยบผลทไดจากโปรแกรม 1. มความถกตองและแมนย าอยในเกณฑทก าหนด 2. มการแสดงผลและรปแบบการใชงานทเหมาะสม
ไดโปรแกรมท านายอายการใชงานคอนกรตผสมเถาถานหนในสภาพแวดลอมทางทะเล
37
ตารางท 3.2 แผนการด าเนนโครงงาน
กจกรรม
มถนา
ยน
กรกฎ
าคม
สงหา
คม
กนยายน
ตลาคม
1. ศกษางานวจยทเก ยวของ
2. ศกษาโปรแกรมเบองตนและจดเตรยมขอมล
3. ศกษาและจดท ารายงานในสวนของบทน า
4. ศกษาและจดท ารายงานในสวนของทฤษฎและ งานวจยทเก ยวของ
5. ศกษาและจดท ารายงานในสวนของระเบยบวจย
กจกรรม
พฤศจกายน
ธนวาคม
มกราคม
กมภาพน
ธ
มนาคม
6. เขยนโปรแกรมตามขอมลทไดท าการศกษา ท าการวเคราะหผลและตรวจสอบการใชงาน
8. จดท ารายงานในสวนของการวเคราะหผลการศกษาและสรปผลการทดสอบ
9. จดเตรยมเอกสารและเสนองานวจย
38
บทท 4
การวเคราะหผลการศกษา
เนอหาในบทนจะกลาวถงการใชโปรแกรมในการท านายอายการใชงาน การแทรกซม คลอไรดในคอนกรตทผสมเถาถานหนทแชในสภาวะแวดลอมทางทะเล การค านวณระยะคอนกรตหมเหลกเพอปองกนการกดกรอนเรมตน รวมไปถงในสวนของการออกแบบสวนผสมคอนกรต โดยวธ ACI การทดสอบโปรแกรมในการใชงานเพอเปรยบเทยบกบผลการทดลองจากขอมลจรงและประโยชนของโปรแกรม
4.1 การใชโปรแกรม ในงานวจยไดศกษาอายการใชงานของคอนกรตผสมเถาถานหนในสภาวะแวดลอมทางทะเลเพอน าขอมลมาแปลงเปนโคดอยในรปของโปรแกรมทสามารถน าไปใชงานไดสะดวกมากขน นอกจากนยงไดรวบรวมขอมลจากงานวจยทผานมาซงความเก ยวของกน มาเขยนโคดเพมเตมให อยในรปของโปรแกรมเชนเดยวกนเพอเพมฟงกชนในการใชงานและปรบรปแบบการแสดงผลใหใหงายตอการใชงานมากขน 4.1.1 หนาตางหลก
หนาหลกของโปรแกรมนจะเปนสวนหลกทเชอมไปยงโปรแกรมตางๆภายในทสามารถเลอกใชไดตามวตถประสงคของการใชงานผานปม โดยโปรแกรมจะมการเชอมโยงขอมลจากโปรแกรมออกแบบสวนผสมคอนกรตไปยงอก 3โปรแกรม
รปท 4.1 แสดงหนาตางหลกของโปรแกรม
39
4.1.2 การออกแบบสวนผสมคอนกรตโดยวธ ACI (Mix Design of Concrete by ACI
Method) หนาตางโปรแกรมจะประกอบไปดวย 3 สวนคอ สวนของการรบขอมลคณสมบตตางๆ
ของคอนกรตทในการค านวณ สวนของการแสดงขอมลทไดจากการค านวณ และสวนของการชวยเหลอผใชผานเครองมอตางๆ
การรบขอมล
ขอมลทจ าเปนตอการออกแบบสวนผสมคอนกรตจะแสดงอยในแตละบรรทดใหผใชไดปอนขอมลลงไป โดยในแตละตวแปรจะมขอบเขตทสามารถค านวณไดแสดงใหเหนเมอวางเมาสบนชอของตวแปร และมการแจงเตอนเปนเครองหมายดอกจนทรสแดงดานทายเมอขอมลไมอยในชวงของการค านวณ การแสดงขอมล การค านวณในโปรแกรมจะเปนไปตามวธการออกแบบตามวธ ACI และแสดงผลคาตางๆใหอยางละเอยดและสวนผสมคอนกรตทตองใชแตละมกซของการค านวณ โดยสามารถสงขอมลการค านวณไปใหโปรแกรมตางๆภายในไดผานปม ชวยเหลอ ฟงกชนเพมเตมทคอยใหขอมลในบางออฟชนของโปรแกรมผานปม , และตวแปรทขดเสนใต เพออธบายการใชงานของออฟชนน นๆใหผ ใชสามารถใชโปรแกรมไดอยางมประสทธภาพมากทสด
รปท 4.2 แสดงหนาตางของโปรแกรมออกแบบสวนผสมคอนกรต
40
4.1.3 การท านายอายการใชงานของคอนกรตเสรมเหลกในสภาวะแวดลอมทางทะเล
(Predict the service Life of Concrete under Marine Environment) การค านวณไดใชตวอยางคอนกรตทแชในน าทะเลบรเวณน าขนน าลงเปนระยะเวลา 10 ป
มาเปนฐานขอมลเพอค านวณอายการใชงานของคอนกรต โดยปอนขอมลทจ าเปนตอการค านวณ คอ ระยะคอนกรตหมผวเหลก (Covering Depth) อตราน าตอวสดประสาน (W/B) และรอยละการแทนทของเถาถานหน (%FA) ซงคาทแสดงอายการใชงานของคอนกรตทไดจะเปนอายการใชงานของคอนกรตจนถงระยะเวลาทเหลกเสรมเรมเกดสนม และสามารถดแนวโนมของอายการใชงานคอนกรตในแตละอตราน าตอวสดประสานไดผานปม การค านวณ ขอมลทปอนลงในโปรแกรมจะถกสงตอไปยงไฟล Excel ทจ าลองขนมาจากโคดทเขยน ขนผาน Visual Basic เพอถกใชในการค านวณในรปแบบของการ Trial and Error บนพนฐานสมการของ Fick's second law of diffusion รปท 4.3 แสดงหนาตางโปรแกรมท านายอายการใชงานคอนกรตเสรมเหลกในสภาวะแวดลอมทาง ทะเล
41
4.1.4 การท านายการแทรกซมของคลอไรดในคอนกรตทผสมเถาถานหนทแชในสภาวะ
แวดลอมทะเล (Prediction of Chloride Penetration in Fly Ash Concrete under Marine Environment )
สวนนแสดงการท านายการแทรกซมของคลอไรดในคอนกรตทผสมเถาถานหนทแชในสภาวะแวดลอมทะเล โดยปอนขอมลทใชในการค านวณคอ ระยะเวลาคอนกรตสมผสน าทะเล(Time) คารอยละการแทนทเถาถานหน (%FA) อตราสวนน าตอวสดประสาน (W/B) ระยะความลกจากผวหนาคอนกรต (mm.) และสามารถดแนวโนมของปรมาณคลอไรดเขาไปในคอนกรตในแตละอตราน าตอวสดประสานไดผานปม
การท างาน ขอมลทปอนลงในโปรแกรมจะค านวณผานสมการท ไดเขยนขนผาน Visual Basic บนพนฐานสมการของ Fick's second law of diffusion โดยใชขอมลจากกอนตวอยางคอนกรตทแชในน าทะเลทอาย 7 ป รปท 4.4 แสดงหนาตางโปรแกรมท านายท านายการแทรกซมของคลอไรดในคอนกรตทผสมเถา ถานหนทแชในสภาวะแวดลอมทะเล
42
4.1.5 การค านวณระยะคอนกรตหมเหลกเสรมเพอปองกนการกดกรอนเรมตน
(Compute Covering Depth for protect initial Corrosion) การค านวณระยะคอนกรตหมเหลกเสรมเพอปองกนการกดกรอนเรมตนจากน าทะเลใน
คอนกรตทผสมเถาถานหน โดยปอนขอมลทใชในการค านวณคอ ระยะเวลาคอนกรตสมผส น าทะเล (Time) อตราสวนน าตอวสดประสาน (W/B) คารอยละการแทนทเถาถานหน (%FA) และสามารถดแนวโนมของระยะคอนกรตหมเหลกเสรมตอระยะเวลาทคอนกรตสมผสน าทะเลไดใน แตละอตราน าตอวสดประสานไดผานปม
การท างาน ขอมลทปอนลงในโปรแกรมจะค านวณผานสมการทไดเขยนขนผาน Visual Basic บนพนฐานสมการของ Fick's second law of diffusion โดยใชขอมลจากกอนตวอยางคอนกรตทแชในน าทะเลทอาย 7 ป รปท 4.5 แสดงหนาตางโปรแกรมการค านวณระยะคอนกรตหมเหลกเสรมเพอปองกนการกดกรอน เรมตน
43
0
0.2
0.4
0.6
0.8
1
0 0.2 0.4 0.6 0.8 1
Pre
dic
ted
In
itia
l C
orr
osi
on
Tim
e (y
ear)
Experimental Initial Corrosion Time (year)
0% FA 15% FA
25% FA 35% FA
50% FA +20% Equal Line -20%
4.2 การทดสอบโปรแกรม เปรยบเทยบผลการทดสอบของโปรแกรมท านายอายการใชงานของคอนกรตผสม เถาถานหนในสภาวะแวดลอมทางทะเลกบผลการทดลองในสภาพแวดลอมจรงในประเทศไทย และตางประเทศ 4.2.1 เปรยบเทยบผลการทดลองจากตวอยางคอนกรตทแชน าทะเลในประเทศไทย ผลการเปรยบเทยบอายการใชงานของคอนกรตกบงานวจยภายในประเทศพบวาอายการ ใชงานคอนกรตทไดจากการท านายมคาอยในชวงไมเกน 20% จาก 137 ขอมล คดเปนเปอรเซนตความนาเชอถอ 82% ดงแสดงในรปท 4.6-4.7 รปท 4.6 แสดงการเปรยบเทยบอายการใชงานของคอนกรตผสมเถาถานหนทอตราน าตอวสด ประสาน 0.45 ,0.55 และ 0.65 ทไดจากการท านายและจากการทดลองทชวงกราฟ 1 ป
44
0
2
4
6
8
10
0 2 4 6 8 10
Pre
dic
ted
In
itia
l C
orr
osi
on
Tim
e (y
ear)
Experimental Initial Corrosion Time (year)
0% FA 15% FA
25% FA 35% FA
50% FA +20% Equal Line -20%
รปท 4.7 แสดงการเปรยบเทยบอายการใชงานของคอนกรตผสมเถาถานหนทอตราน าตอวสด ประสาน 0.45 ,0.55 และ 0.65 ทไดจากการท านายและจากการทดลองทชวงกราฟ 10 ป 4.2.2 เปรยบเทยบผลการทดลองจากตวอยางคอนกรตทแชน าทะเลตางประเทศ Thomas and Matthews 2004 นกวจยชาวองกฤษศกษาและเกบตวอยางขอมลในประเทศองกฤษ ไดศกษาประสทธภาพของเถาลอยใชในคอนกรตในสภาพแวดลอมทางทะเลท 10 ป โดยในการเปรยบเทยบขอมลไดใชสมประสทธการแพรคลอไรด (Dc) พบวา Dc มการกระจายตวอยางสม าเสมอ เปนไดวาปจจยทมผลตอคา Dc เชน ระยะเวลาคอนกรตสมผสน าทะเล ความชน ความรนแรงของคลนทะเล ปรมาณคลอไรดในน าทะเล และอนๆ มความคลายคลงกน จากการเปรยบเทยบพบวา Dc ทไดจากการท านายมคาสวนใหญอยในชวงไมเกน 30% จาก 27 ขอมล คดเปนเปอรเซนตความนาเชอถอ 70% ดงแสดงในรปท 4.8 Vedalakshmi et al 2009 ไดศกษาสมประสทธการแพรของคลอไรด (Dc) โดยทดลองในหองปฏบตการซงมการจ าลองสภาพแวดลอมทางทะเลในงานวจยตามมาตรฐาน ASTM D 1141 เปนระยะเวลา 28 วน จากการเปรยบเทยบพบวา Dc จากการท านายสวนใหญไมอยในชวง 30% เนองจากการหา Dc ในหองปฏบตการนนไมสามารถจ าลองสภาพแวดลอมจรงไดท งหมด ท าใหคา
45
0
1
2
3
4
0 1 2 3 4
Dc fr
om
Pred
ict
Mo
del
(x1
0-1
2 m
2/s
)
Dc from ExperimentalData (x10-12 m2/s)
Thomas and Matthews
Vedalakshmi et al
+30% Equal Line
-30%
Dc จากการทดลองมคานอยกวา Dc จากการท านายซงไดจากสภาพแวดลอมทางทะเลจรง จากการเปรยบเทยบพบวา Dc ทไดจากการท านายมคาสวนใหญไมอยในชวง 30% จาก 12 ขอมล คดเปนเปอรเซนตความนาเชอถอ 17% ดงแสดงในรปท 4.8
รปท 4.8 แสดงการเปรยบเทยบสมประสทธการแพรของคลอไรด (Dc) ในคอนกรตผสมเถาถานหน ทอตราน าตอว สดประสาน 0.45-0.65 ทไดจากการท านายและจากการทดลองของ Thomas และ Vedalakshmi et al
4.3 ผลการท านายอายการใชงานของคอนกรตผสมเถาถานหนในสภาวะแวดลอมทางทะเลจากโปรแกรม การท านายอายการใชงานของคอนกรตโดยโปรแกรมนนพบวาสภาพทะเลในประเทศไทยทระยะคอนกรตหมเหลกนอยกวา 30 มลลเมตร คอนกรตจะมอายการใชงานประมาณ 1 ป โดยอายการใชงานของคอนกรตจะเพมสงขนตามอตราน าตอวสดประสานทนอยลงเนองจากท าใหคอนกรตแนนขน การแทรกซมของคลอไรดต าลง อกท งรอยละการแทนทเถาถานหนในคอนกรตสามารถ
46
ชวยเพมอายการใชงานของคอนกรตใหสงขนตามรอยละการแทนทเถาถานหน ท งนคณสมบตทตานทานคลอไรดทสงขนนน ตองค านงถงก าลงอดของคอนกรตเพอหารอยละการแทนทเถาถานหนทเหมาะสมตามสภาพการใชงาน
4.4 ประโยชนของโปรแกรม 1. โปรแกรมสามารถท านายอายการใชงานของคอนกรตในสภาวะแวดลอมทางทะเล 2. สามารถค านวณระยะคอนกรตหมเหลกเสรมเพอปองกนการกดกรอนเรมตน 3. โปรแกรมสามารถท านายการแทรกซมของคลอไรดในคอนกรตทผสมเถาถานหน ในสภาวะแวดลอมทะเล 4. โปรแกรมสามารถออกแบบสวนผสมคอนกรตโดยวธ ACI เพอใหไดคณสมบตตางๆท ง ทางเชงกลและทางเคม เชน อายการใชงานทตองการ ปรมาณการแทรกซมคลอไรดใน คอนกรต ไดโดยค านวณผานโปรแกรมภายในเพอใหคอนกรตมประสทธภาพตรงตาม สภาพแวดลอมทตองการ 5. เพอดแนวโนมคณสมบตของคอนกรตดานตางๆตามการค านวณในโปรแกรม เพอใช เปนแนวทางในการออกแบบสวนผสมคอนกรต 6. เพอเปนโปรแกรมตนแบบใหผทสนใจสามารถน าไปพฒนาตอไปใหโปรแกรมม ประสทธภาพมากขน
47
บทท 5
สรปผลการทดสอบและขอเสนอแนะ
5.1 สรปผลการทดสอบ 1. โปรแกรมสามารถท านายอายการใชงานของคอนกรตเสรมเหลกทระยะเวลาสมผสน าทะเล t และคอนกรตหมเหลกทระยะ x จากผวหนาคอนกรต ส าหรบคอนกรตผสมเถาถานหนไมเกนรอยละ 50 โดยน าหนกวสดประสาน อตราสวนน าตอวสดประสานอยในชวง 0.45 ถง 0.65 และอายแชน าทะเลตงแต 2 ป ขนไป โดยเทยบขอมลจากงานวจยในประเทศ พบวา มความแตกตางอยในชวง + รอยละ 20 ทระดบความเชอถอรอยละ 80 และงานวจยในตางประเทศโดยเปรยบเทยบขอมลกบสมประสทธการแพรคลอไรด(Dc) มความแตกตางอยในชวง + รอยละ 30 พบวาส าหรบงานวจย Thomas and Matthews มระดบความนาเชอถอรอยละ 70 และงานวจยของ Vedalakshmi et al ซงทดลองในหองปฏบตการ มความนาเชอถอรอยละ 17 ท งนสมประสทธการแพรคลอไรดทค านวณจากแบบจ าลองมแนวโนมสงกวาคาทไดจากแหลงขอมลงานวจยทอยในสภาวะแวดลอมทางทะเลทมความรนแรงนอยกวา เชน อณหภม ความชน คลนทะเล ปรมาณความเขมขนคลอไรดในน าทะเล สงผลใหอายการใชงานของคอนกรตทท านายจากโปรแกรม นอยกวาทควรจะเปนในสภาพจรง ซงหากขอมลทใชในการทดลองมระยะเวลาสมผสน าทะเลยาวนานขน จะท าใหเราไดแบบจ าลองทมความแมนย ามากขน 2. ระยะหมเหลกเสรมคอนกรตมผลอยางมากตออายการใชงานของคอนกรตทอยในสภาวะแวดลอมทางทะเล ท งนระยะหมเหลกเสรมนอยกวา 30 มลลเมตร สงผลใหคอนกรตมอายการใชงานไมเกน 1 ป โดยอายการใชงานของคอนกรตจะเพมสงขนตามอตราน าตอวสดประสานทลดลง นอกจากนรอยละการแทนทเถาถานหนในคอนกรต สามารถชวยเพมอายการใชงานของคอนกรตใหยาวนานขน ตามรอยละการแทนทเถาถานหน
3. โปรแกรมออกแบบสวนผสมคอนกรตสามารถใชค านวณเพอออกแบบสวนผสมคอนกรตโดยวธ ACI ใหมคณสมบตของคอนกรตและตรงตามสภาพแวดลอมทตองการได และสามารถน าผลการออกแบบ ค านวณหาอายการใชงานของคอนกรต ปรมาณคลอไรดทแทรกซมในคอนกรตไดอยางรวดเรว
48
5.2 ขอเสนอแนะจากการทดสอบ 1. ขอมลจากการทดสอบของกอนตวอยางคอนกรตทแชในน าทะเลเพอท านายอายการใช
งานของคอนกรตนน หากไดขอมลทมระยะเวลาการทดลองทนานขน จะสามารถใชท านายอาย การใชงานของคอนกรตไดแมนย ามากขน
2. การเขยนโปรแกรมผเขยนโปรแกรมตองมความรความเขาใจกบสงทตวเองก าลงศกาาเพอทจะสามารถแปลงความเขาใจ ภาาา และสมการ ใหอยในรปของ Code ลงในโปรแกรมเพอทจะสามารถถายถอดออกมาใหโปรแกรมมความงายตอการใชงานตรงตามความตองการ และการเขยนโปรแกรมควรอยบนพนฐานของการค านงถงผใชงานใหมากทสด
49
บรรณานกรม
1. ทวชย ส ำรำญวำนช, เอกสำรประกอบกำรสอนควำมคงทนของคอนกรต , ภำควชำวศวกรรมโยธำ มหำวทยำลยบรพำ, 2552. 2. CPAC. (2000). คอนกรตส ำหรบงำนชำยฝงทะเล. [online]. (2004, Aug. 20 ). Available URL : http://www.cpac.co.th/techno/marine/marine.html. 3. Mehta, P.K., 1991, Concrete in Marine Environment, 1st ed., England, Taylor& Francis Ltd. 4. Dimitri Val, V. and Mark Stewart, G., 2003, “Life Cycle Cost Analysis of Reinforced Concrete Structure in Marine Environments”, Structural Safety, Vol. 25, pp. 343-362. 5. ศ.ชย จำตรพทกษกลและผ.ศ.ดร.วเชยร ชำล. (2554). ปรมำณคลอไรดวกฤตของคอนกรตทผสมเถำถำนหนภำยใตสงแวดลอมทะเล. วำรสำรวชำกำรเทคโนโลยอตสำหกรรม, 7(1) : 1-1. 6. คณะอนกรรมกำรคอนกรตและวสด , 2543, ควำมคงทนของคอนกรต: คอนกรตในสภำวะแขงตว, วศวกรรมสถำนแหงประเทศไทยในพระบรมรำชปถมภ, หนำ 72-76. 7. Chindaprasirt P, Rattanasak U, 2010, Utilization of blended fluidized bed combustion(FBC) ash and pulverized coal combustion (PCC) fly ash in geopolymer, Waste Management, 30, 667-672. 8. ชยชำญ โชตถนอม. กำรศกษำกำรแทรกซมของคลอไรดของคอนกรตผสมเถำลอยแมเมำะคดขนำด [วทยำนพนธปรญญำวศวกรรมศำสตรมหำบณฑต สำขำวศวกรรมโยธำ]. ขอนแกน: บณฑตวทยำลย มหำวทยำลยขอนแกน: 2546. 9. Soroka l. Concrete in hot environments. Great Britain: Alden Press; 1993. 10. Bakker RFM. Initiation period. In: Schiessl P, editor. Corrosion of steel in concrete. New York. 11. A.M.Neville, Properties of concrete, 4 th ed. John Wiley & Sons Inc., Newyork, 1997 12. Neville, A.M., 1996, Properties of Concrete, 4 th ed., Malaysia, Longman, pp. 569-571. 13. Fletcher JC, Mackenize KJD, Nicloson, CL, Shimada S, 2006, The composition rang of aluminosilicate goepolymer, Journal of the European Caramic Society, 26, 1471-1477. 14. Phair JW, Smith JD, van Deventer JSJ, 2003, Characteristics of aluminosilicate hydrogel related to commercial "Geopolymer". Materials Letters, 57, 4356-4367. 15. ดร.ทวชย ส ำรำญวำนช, เอกสำรประกอบกำรสอน เทคโนโลยคอนกรต , ภำควชำวศวกรรมโยธำ ม.บรพำ, หนำ 84-90.
50
16. sirintip kaiyaso. 2013. ขอดของกำรเขยนโปรแกรมดวย Visual Basic. (Online). [15 Sep 2013]. Available from: https://sites.google.com/site/phasavbnet/khxdi-laea-khx-seiy 17. ทวชย ส ำรำญวำนช . (มปป.). Introduction to Chloride-Induced Corrosion of Steel in Concrete[online]. (2004, Aug. 20 ). Available URL : http://www.bucc4.buu.ac.th~twc. 18. Hausmann, D.A., Steel Corrosion in Concrete, Materials Protection, November, 1967, pp. 12-23.
51
ภาคผนวก ก
ขอมลอางองจากการทดลองทใชในงานวจย
ตารางท ก.1 อายการใชงานคอนกรตทเหลกเสรมเรมเกดสนมในสภาวะแวดลอมทะเลทระยะคอนกรตหมเหลกทเปลยนไปจากขอมลทดลอง
Mix ID Threshold Chloride
k1 k2 Covering (mm)
10 20 25 30 40 50 60 70 75 80 90 100 I45FA00 0.30 15.27 -1.01 0.16 0.19 0.21 0.25 0.41 1.23 16.3 0.000 0.000 0.000 0.000 0.000 I45FA15 0.27 3.032 -0.46 0.25 0.77 1.32 2.16 4.99 9.95 17.8 29.4 36.9 45.6 67.5 96.2 I45FA25 0.17 5.078 -0.96 0.15 0.21 0.30 0.57 9.29 I45FA35 0.15 5.015 -1.01 0.15 0.19 0.25 0.45 49.5 I45FA50 0.10 0.963 -0.27 0.39 1.63 2.74 4.23 8.54 14.9 23.6 34.8 41.5 48.9 66.2 86.7 I55FA00 0.24 10.78 -0.60 0.16 0.23 0.29 0.39 0.77 1.53 2.91 5.22 6.84 8.87 14.4 22.4 I55FA15 0.16 3.569 -0.52 0.18 0.43 0.74 1.23 3.04 6.49 12.4 21.6 27.9 35.4 54.9 81.6 I55FA25 0.13 4.957 -0.90 0.14 0.19 0.27 0.47 3.30 44.5 I55FA35 0.13 4.754 -1.01 0.14 0.18 0.24 0.43 32.0 I55FA50 0.10 1.468 -0.63 0.20 1.03 2.44 5.29 19.5 56.0 I65FA00 0.12 18.98 -0.69 0.13 0.15 0.16 0.17 0.23 0.36 0.61 1.07 1.42 1.88 3.23 5.39 I65FA15 0.12 4.123 -0.44 0.16 0.34 0.54 0.84 1.84 3.55 6.20 10.1 12.5 15.4 22.5 31.7 I65FA25 0.10 3.169 -0.37 0.17 0.43 0.69 1.07 2.25 4.13 6.88 10.7 13.0 15.7 22.1 30.1 I65FA35 0.10 2.826 -0.40 0.18 0.47 0.79 1.25 2.73 5.16 8.80 14.0 17.2 20.9 29.9 41.3 I65FA50 0.10 3.454 -0.62 0.15 0.30 0.53 0.95 2.86 7.40 16.7 34.1 47.0 63.8
ตารางท ก.2 อายการใชงานคอนกรตทเหลกเสรมเรมเกดสนมในสภาวะแวดลอมทะเลทระยะคอนกรตหมเหลกทเปลยนไปจากการโปรแกรม
Mix No. Covering (mm)
10 20 25 30 40 50 60 70 75 80 90 100 I45FA00 0.17 0.20 0.22 0.26 0.46 1.50 25.3 Extrapolate = 100 I45FA15 0.24 0.71 1.21 1.99 4.61 9.20 16.47 27.3 34.2 42.4 62.8 89.5 I45FA25 0.16 0.23 0.34 0.71 14.6 Extrapolate = 100 I45FA35 0.15 0.19 0.27 0.50 93.9 Extrapolate = 100 I45FA50 0.42 1.76 2.94 4.55 9.18 16.0 25.2 37.3 44.3 52.2 70.8 92.8 I55FA00 0.16 0.22 0.27 0.37 0.72 1.42 2.68 4.81 6.33 8.19 13.3 20.7 I55FA15 0.19 0.48 0.82 1.38 3.40 7.24 13.8 24.1 31.0 39.2 60.8 90.4 I55FA25 0.15 0.22 0.33 0.65 5.50 81.0 Extrapolate = 100 I55FA35 0.15 0.20 0.28 0.55 Extrapolate = 100 I55FA50 0.22 1.27 3.03 6.55 24.0 68.7 Extrapolate = 100 I65FA00 0.14 0.15 0.16 0.17 0.23 0.36 0.60 1.07 1.42 1.88 3.22 5.38 I65FA15 0.16 0.34 0.54 0.84 1.84 3.55 6.20 10.1 12.5 15.4 22.5 31.6 I65FA25 0.18 0.47 0.76 1.18 2.46 4.51 7.50 11.6 14.2 17.0 24.0 32.6 I65FA35 0.19 0.52 0.86 1.37 2.98 5.64 9.62 15.2 18.7 22.7 32.5 44.8 I65FA50 0.16 0.33 0.59 1.08 3.27 8.44 19.1 38.7 53.5 72.2 100 100
54
0.3
0.27
0.17
0.15
0.1
0.24
0.16
0.13 0.13
0.1
0.12 0.12
0.1 0.1 0.1
y = 0.3256e-0.023x R² = 0.9516
y = 0.2197e-0.017x R² = 0.9307
y = 0.1201e-0.004x R² = 0.704
y = 0.2724e-0.02x R² = 0.9757
y = 0.1696e-0.011x R² = 0.9207
y = 0.2989e-0.022x R² = 0.9658
y = 0.2461e-0.018x R² = 0.9715
y = 0.1945e-0.014x R² = 0.9276
y = 0.1448e-0.008x R² = 0.8948
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0 10 20 30 40 50 60
Exponantial Function
รปท ก.1 Chloride Threshold ท W/B 0.45 - 0.65 และ %FA 0 - 50 ตารางท ก.3 Chloride Threshold ทใชในโปรแกรมในแตละชวงของ W/B และ %FA
ชวงของ W/B %FA
10 20 30 40 50 W/B <= 0.4722 0.266 0.218 0.178 0.146 0.120
0.4722 < W/B <= 0.4944 0.244 0.200 0.164 0.134 0.110 0.4944 < W/B <= 0.5166 0.223 0.182 0.149 0.122 0.100 0.5166 < W/B <= 0.5388 0.223 0.201 0.182 0.165 0.149 0.5388 < W/B <= 0.561 0.198 0.179 0.162 0.147 0.133
0.561 < W/B <= 0.5832 0.176 0.159 0.144 0.130 0.118 0.5832 < W/B <= 0.6054 0.153 0.138 0.125 0.113 0.103 0.6054 < W/B <= 0.6276 0.144 0.144 0.144 0.144 0.144 0.6276 < W/B 0.12 0.12 0.12 0.12 0.12
55
y = 1.1909ln(x) + 2.5585
R² = 0.9449
3.0
4.0
5.0
6.0
7.0
8.0
9.0
10.0
0 1 2 3 4 5 6 7 8 9 10
C0 (
%w
t. B
ind
er)
Exposure Period (Yrs)
Prediction C0 :Ln
รปท ก.2 C0 ทระยะเวลาคอนกรตสมผสน าทะเลท 3 ,5 ,7 และ 10 ป จากคาเฉลยแตละ Mix (Cheewaket ,2012)
ตารางท ก.4 C0 ทระยะเวลาคอนกรตสมผสน าทะเลท 3 ,5 ,7 และ 10 ป ในแตละ %FA (Cheewaket,2012)
Mix ID. C0 (% by weight of Binder)
3-year 5-year 7-year 10-year
I45FA00 3.70 4.04 5.37 5.82
I45FA15 3.44 4.15 4.30 4.60
I45FA25 2.55 3.57 4.42 4.87
I45FA35 2.56 4.02 5.12 5.78
I45FA50 2.60 2.84 3.46 3.82
I55FA00 4.24 4.07 4.55 5.18
I55FA15 4.94 6.66 5.17 5.89
I55FA25 3.64 5.61 4.68 5.31
I55FA35 3.34 5.22 4.91 5.87
I55FA50 3.81 4.68 4.40 5.13
I65FA00 4.20 4.47 4.76 5.01
I65FA15 5.80 6.31 5.41 5.98
I65FA25 4.93 5.69 5.05 6.09
I65FA35 4.97 4.80 4.20 5.08
I65FA50 3.63 4.23 4.97 5.94
Average 3.89 4.69 4.72 5.36
56
การแทนคาในสมการ Fick's second law of diffusion จากตวแปรทไดจากการกระบวนการ Regression Analysis
C(x,t) = C0
เมอ C(x,t) = Chloride Threshold (ตารางท ก.1) C0 = 1.1909ln(x) + 2.5585 (รปท ก.4) t = ระยะเวลาทสมผส ,วนาท x = ระยะทคลอไรดเคลอนทเขาไปในคอนกรต ,มลลเมตร erf = ฟงกชนคลาดเคลอน
Dc = k1tk2 (t หนวย ป)
จากนน Trial and Error ตวแปร t ซง t คออายการใชงานของคอนกรตทเหลกเสรมเรมเกดสนม Fly ash Concrete
k k 11 12 13
k 21 22 23
1 0.4200 -25.2100 284.4850
1 -0.0550 3.9150 -39.6450 2 -0.394 23.511 -259.478
2 0.047 -3.483 34.399
3 0.0817 -4.8483 55.1634
3 -0.0078 0.6364 -6.3402
2
111 121 1312
1 112 122 132
113 123 133
1
1
k k k FA
k W B W B k k k FA
k k k
2
211 221 2312
2 212 222 232
213 223 233
1
1
k k k FA
k W B W B k k k FA
k k k
57
Concrete (0%FA) k
k 1 2 3
k 1 2 3 1 634.3550 -679.2200 192.4577
2 -24.3550 28.3850 -8.8481
ตารางท ก.5 แสดงคา Dc จากการทดลองในแตละ Mix ทอาย 3 ,4 ,5 ,7 และ 10 ป
(Cheewaket ,2012)
Mix No.
Dc x 10-12 m2/s 3 4 5 7 10
I45FA00 4.02 4.55 3.77 1.88 1.44 I45FA15 1.82 1.42 1.61 1.19 0.93 I45FA25 1.76 1.35 1.36 0.82 0.68 I45FA35 1.69 1.01 0.81 0.51 0.41 I45FA50 0.45 0.59 0.64 0.37 0.38 I55FA00 4.36 5.30 5.18 3.42 2.31 I55FA15 1.93 2.16 1.34 1.43 1.02 I55FA25 1.87 1.31 1.15 0.91 0.71 I55FA35 1.79 1.20 0.85 0.63 0.48 I55FA50 0.58 0.73 0.55 0.43 0.33 I65FA00 8.80 6.25 7.70 5.23 3.58 I65FA15 2.56 1.97 2.00 1.84 1.42 I65FA25 1.97 1.88 1.83 1.54 1.08 I65FA35 1.45 1.29 1.18 1.19 0.85 I65FA50 1.40 1.05 1.19 0.71 0.56
2
1 11 12 13
1
W B
k k k k W B
2
2 21 22 23
1
W B
k k k k W B
58
ขอมลงานวจยในตางประเทศทไดท าการเปรยบเทยบผลการค านวณจากโปรแกรม
ตารางท ก.6 สมประสทธการแพรคลอไรด (Dc) ทไดจากการทดลอง (Thomas) Strength Pfa(%P1) W/B Diffusion coefficient (10^-12 m^2/s)
grade 1 year 2 year 4 year 10 year
C25 0 0.68 15.3 16.2
15 0.61 3.4 2.4 1.0
30 0.54 3.3 1.7 0.6
50 0.44 2.5 2.5 0.4
C35 0 0.57 15.6 9.3 5.7
15 0.51 5.1 2.9 1.5 0.9
30 0.45 5.4 1.6 1.1 0.4
50 0.37 3.9 2.0 0.9 0.3
C45 0 0.49 4.5 6.4
15 0.44 1.8 1.3 0.5
30 0.39 1.4 0.6 0.2
50 0.32 1.5 0.8 0.2
ตารางท ก.7 สมประสทธการแพรคลอไรด (Dc) ทไดจากโปรแกรม (Thomas)
Model Predict Dc x 10-12 m2/s
k1 k2 1 year 2 year 4 year 10 year
23.9139 -0.8081 13.7 7.8
3.8997 -0.4896 2.8 2.0 1.3
5.1640 -1.0216 2.5 1.3 0.5
0.9936 -0.2087 0.9 0.7 0.6
11.4042 -0.5816 11.4 7.6 5.1
3.3525 -0.5134 3.4 2.3 1.6 1.0
5.3103 -1.0424 5.3 2.6 1.3 0.5
1.6236 0.2940 1.6 2.0 2.4 3.2
11.9485 -0.7871 6.9 4.0
2.9793 -0.4504 2.2 1.6 1.1
4.5634 -0.8015 2.6 1.5 0.7
2.5175 0.7646 4.3 7.3 14.6
59
ตารางท ก.8 สมประสทธการแพรคลอไรด (Dc) ทไดจากการทดลอง (Vedalakshmi)
Grade/type Water-soluble chloride Dc 775 x Dc 775 x
of cement (by weight of cement 10^-12 10^-12 w/c ratio %FA
Exposure period (days) (m2s-1) (m2s-1)
775 1135
20 MPa-OPC 3.212 4.226 2.0 2.1 0.67 0
20 MPa-PPC 0.676 2.536 0.9 1.2 0.67 20
30 Mpa-OPC 1.781 2.397 1.6 1.3 0.54 0
30 Mpa-PPC 1.781 3.356 1.6 1.7 0.54 20
40 Mpa-OPC 1.813 1.44 1.9 1.1 0.42 0
40 Mpa-PPC 1.173 3.2 1.4 2.22 0.42 20
ตารางท ก.9 สมประสทธการแพรคลอไรด (Dc) ทไดจากโปรแกรม (Vedalakshmi)
Model Predict Dc x 10-12 m2/s
k1 k2 2 year 3 year
22.1423 -0.7631 13.0 9.6
3.2677 -0.2846 2.7 2.4
10.6568 -0.6221 6.9 5.4
4.4940 -0.7645 2.6 1.9
19.0855 -1.2226 8.2 5.0
4.0745 -0.7079 2.5 1.9
60
ภาคผนวก ข
รปภาพและตาราง
61
รปท 2.1 ผลของกระบวนการกดกรอนโดยเกลอซลเฟตทมตอโครงสรางคอนกรต
(ทมา : http://www.cpac.co.th)
รปท 2.3 แสดงการกดกรอนเหลกเสรมในคอนกรต [19]
62
รปท 2.4 ภาพแสดงการเกดปฏกรยาเคมของการกดกรอนเหลกเสรมเนองจากคลอไรด
(ทมา : http://buildingfacades.co.uk/about/spalling-concrete)
รปท 2.5 แสดงรปขยายอนภาคของเถาถานหนจากแมเมาะทไดจากการเผาแบบ Fluidized-bed ดวย
ความรอนปานกลาง
(ทมา : http://www.kmutt.ac.th/organization/Research/Intellect/best50.htm)
63
รปท 2.6 แสดงรปขยายอนภาคของเถาถานหนจากแมเมาะทไดจากการเผาแบบ Fluidized-bed ดวย
ความรอนต า
รปท 2.7 แสดงความสมพนธระหวางก าลงอดของคอนกรตกบอตราสวนน าตอปนซเมนต [1]
64
รปท 2.9 การเปดโปรแกรม Microsoft Visual Studio 2010
รปท 2.10 หนาตางโปรแกรม Microsoft Visual Studio 2010
65
รปท 2.11 แสดงแถบหวเรอง title bar
รปท 2.12 แสดงแถบเมน menu bar
Menu bar
66
รปท 2.13 แสดงหนาตางเรม Start Page
รปท 2.14 แสดงแถบเครองมอ
(Tool Box)กลองเครองมอ
(Start Page) หนาตางเรม
67
รปท 2.15 แสดงหนาตาง Solution Explorer
รปท 2.16 แสดงการสราง Project ใหมจากหนาเรมตน(Start Page)
คลกท new project
68
รปท 2.17 แสดงการสราง New Project เรมตน
รปท 2.18 แสดงการสราง Project ใหมจากเมน File
69
รปท 2.19 แสดงสวนประกอบตางๆของโปรแกรม Visual Basic
รปท 2.20 แสดงการวางคอนโทรลลงบนฟอรมในโปรแกรม Visual Basic
70
รปท 2.21 แสดงหนาตางสวนของการปรบสตวอกษร
รปท 2.22 แสดงหนาตางทใชส าหรบการเขยนโคด
71
ตารางท 2.1 ปรมาณคลอไรดวกฤตของคอนกรต[13]
หมายเหต ส าหรบปนซเมนตผสมทงหนปนและเถาลอย ทมผงหนปนตอวสดประสานไมเกน 0.15 ใหใชปรมาณคลอไรดวกฤตตามปนซเมนตผสมเถาลอย
ตารางท 2.2 ปรมาณสงสดของคลอไรดอออนเพอปองกนการเกดสนม [4]
สภาวะใชงาน
รอยละของคลอไรด ตอน าหนกของปนซเมนต
คอนกรตอดแรง (Prestressed Concrete) 0.06 คอนกรตเสรมเหลกธรรมดาทใชงานในสภาวะชน และสมผสถกคลอไรด 0.10 คอนกรตเสรมเหลกธรรมดาทใชงานในสภาวะชนแตไมสมผสถกคลอไรด 0.15 โครงสรางทอยเหนอพนดนซงคอนกรตอยในสภาพแหงอยเสมอ ไมจ ากด
ประเภทของวสดประสาน
ปรมาณคลอไรดวกฤต(รอยละโดยน าหนกของวสดประสาน)
ปนซเมนตลวน ปนซเมนตผสมผงหนปนทมอตราสวนโดยน าหนกผงหนปนตอวสดประสานไมเกน 15%
0.45
ปนซเมนตผสมเถาลอย - ทมอตราสวนโดยน าหนกเถาลอยตอวสดประสานนอยกวา 15% - ทมอตราสวนโดยน าหนกเถาลอยตอวสดประสานตงแต 15% แตไมถง 35% - ทมอตราสวนโดยน าหนกเถาลอยตอวสดประสานตงแต 35% แตไมถง 50%
0.45 0.35 0.30
72
ตารางท 2.3 คาการยบตวของคอนกรตทใชส าหรบการกอสรางประเภทตางๆ [13]
ประเภทงาน คาความยบตว (ซม.)
คาสงสด คาต าสด งานฐานราก ก าแพง คอนกรตเสรมเหลก 8.0 2.0
งานฐานรากคอนกรตไมเสรมเหลก งานกอสรางใตน า 8.0 2.0
งานพน คาน และผนงคอนกรตเสรมเหลก 10.0 2.0
งานเสาคอนกรตเสรมเหลก 10.0 2.0
งานพนถนนคอนกรตเสรมเหลก 8.0 2.0
งานคอนกรตขนาดใหญ 5.0 2.0 * อาจเพมไดอก 2 ซม.ส าหรบการท าคอนกรตใหแนนตวโดยวธการอน ทนอกเหนอไปจากการใชเครองสน(Vibrator)
ตารางท 2.4 ขนาดโตสดของมวลรวมส าหรบงานกอสรางประเภทตางๆ[13]
ขนาดความหนาของโครงสราง
(ซม.)
ขนาดโตสดของวสดผสม
คาน ผนง และเสา คสล.
ผนงคอนกรตไมเสรมเหลก
พนถนน คสล. รบน าหนกมาก
พนคอนกรตรบน าหนกนอย
นว มม. นว มม. นว มม. นว มม. 5.0 – 15.0 ½ - ¾ 12.5-20 ¾ 20 ¾ - 1 20-25 ¾ - 1 ½ 20-40
15.0 – 30.0 ¾ - 1½ 20-40 1½ 40 1 ½ 40 1 ½ -3 40-75 30.0 – 75.0 1½ - 3 40-75 3 75 1 ½ -3 40-70 3 75
มากกวา 75.0 1½ - 3 40-75 6 150 1 ½ -3 40-75 3-6 75-150
ตารางท 2.5 อตราสวนน าตอซเมนตสงสดโดยน าหนกทยอมใหใชได ส าหรบคอนกรตในสภาวะ
เผชญกบสงแวดลอมรนแรง[13]
ชนดของโครงสราง โครงสรางทเปยกตลอดเวลา หรอมการเยอกแขงและการละลายของน าสลบกนบอยๆ (เฉพาะคอนกรตกระจายกกฟองอากาศเทานน)
โครงสรางในน าทะเลหรอสมผส
กบซลเฟต โครงสรางบาง ๆ ทมเหลกหมบางกวา
3 ซม. 0.45 0.40*
โครงสรางอนๆท งหมด 0.50 0.45* * ถาใชปนซเมนตพอรตแลนดทนซลเฟต (ประเภทสองหรอประเภทหา) อาจเพมคาอตราสวนน าตอซเมนตนไดอก0.05
73
ตารางท 2.6 ปรมาณน าทตองการส าหรบคาการยบตวและมวลรวมขนาดตางๆ[13]
คาความยบตว (ซม.)
ปรมาณน าเปนลตรตอคอนกรต 1 ม.3 ส าหรบวสดผสมขนาดตางๆ
3/8” (10มม.)
½” (12.5มม.)
3/4” (20มม.)
1” (25มม.)
1 ½” (40มม.)
2” (50มม.)
3” (75มม.)
6” (150มม.)
คอนกรตทไมมสารกระจายกกฟองอากาศ (Non Air Entraining Concrete) 3-5 205 200 185 180 160 155 145 125 8-10 225 215 200 195 175 170 160 140
15-18 240 230 210 205 185 180 170 - ปรมาณ
ฟองอากาศ 3
2.5
2
1.5
1
0.5
0.3
0.2
(%)โดยปรมาตร
คอนกรตทมสารกระจายกกฟองอากาศ (Air Entraining Concrete) 3-5 180 175 165 160 145 140 135 120 8-10 200 190 180 175 160 155 150 135
15-18 215 205 190 185 170 165 160 - ปรมาณ
ฟองอากาศ 8
7
6
5
4.5
4
3.5
3
(%)โดยปรมาตร
หมายเหต ปรมาณน าทแสดงนเปนปรมาณสงสดส าหรบหนทมรปรางดชวยใหท างานงายและลดหลนดตามขอก าหนด
ถาจ าเปนตองเพมน าในสวนผสมจะตองเพมปนซเมนต เพอใหอตราสวนระหวางน ากบซเมนตคงท นอกจากผลการทดลองแสดงวา
คอนกรตมก าลงสงเกนตองการถาสวนผสมตองการน านอยกวาก าหนด ยงไมควรลดปรมาณปนซเมนตนอกจากผลการทดลองแสดง
วาคอนกรตใหก าลงสงกวาตองการ
74
ตารางท2.7 ความสมพนธระหวางอตราสวนน าตอซเมนตกบก าลงอดประลยของคอนกรต[13]
ก าลงอดประลยของคอนกรต ท 28 วน ( กก./ ตร.ซม. )
อตราสวนน าตอซเมนตโดยน าหนก
คอนกรตไมกระจาย กกฟองอากาศ
คอกรตกระจาย กกฟองอากาศ
450 0.38 - 400 0.43 - 350 0.48 0.40 300 0.55 0.46 250 0.62 0.53 200 0.70 0.61 150 0.80 0.71
หมายเหต คาทไดจากตารางน ไดจากการทดลองกอนตวอยางรปทรงกระบอกขนาดมาตรฐาน 15x30 ซม.
ถากอนตวอยางเปนรปทรงลกบาศก คาก าลงอดประลยจะสงกวาคาในตารางประมาณ 20%
ตารางท 2.8 ปรมาตรของมวลรวมหยาบตอหนงหนวยปรมาตรของคอนกรต[13]
ขนาดโตสดของหน ปรมาตรของวสดผสมหยาบในสภาพแหงและอดแนนตอหนวยปรมาตร
ของคอนกรต ส าหรบคาโมดลสความละเอยดของทรายตางๆกน 2.40 2.60 2.80 3.00
3/8” (10 มม.) 0.50 0.48 0.46 0.44
½” (12.5 มม.) 0.59 0.57 0.55 0.53
¾ “ (20 มม.) 0.66 0.64 0.62 0.60
1” (25มม.) 0.71 0.69 0.67 0.65
1½” (40 มม.) 0.76 0.74 0.72 0.70
2” (50 มม.) 0.78 0.76 0.74 0.72
3” (75 มม.) 0.81 0.79 0.77 0.75
6” (150 มม.) 0.87 0.85 0.83 0.81
หมายเหต คาทก าหนดใหนเปนคาส าหรบงานคอนกรตเสรมเหลกทวๆไป ส าหรบงานคอนกรตทท าไดงายกวา เชน ถนน พน
เปนตน อาจเพมคาเหลานไดอก 1 เปอรเซนต
75
ภาคผนวก ค
โคดโปรแกรมท านายอายการใชงานของคอนกรตเสรมเหลกผสมเถาถาน
หนในสภาวะแวดลอมทางทะเล
76
Imports Microsoft.Office.Interop Public Class Form2 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim xlsApp As New Excel.Application Dim oldCI As System.Globalization.CultureInfo = _ System.Threading.Thread.CurrentThread.CurrentCulture System.Threading.Thread.CurrentThread.CurrentCulture = _ New System.Globalization.CultureInfo("en-US") xlsApp.Workbooks.Add() Dim xlsSheet As Excel.Worksheet = xlsApp.ActiveWorkbook.Sheets(1) If TextBox1.Text = "" Or TextBox2.Text = "" Or TextBox3.Text = "" Then MessageBox.Show("Please input data value", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) xlsApp.ActiveWorkbook.Close(False) xlsApp.Quit() System.Runtime.InteropServices.Marshal.ReleaseComObject(xlsApp) System.Runtime.InteropServices.Marshal.ReleaseComObject(xlsSheet) GC.SuppressFinalize(xlsApp) GC.SuppressFinalize(xlsSheet) GC.Collect() xlsApp = Nothing xlsSheet = Nothing Return ElseIf TextBox1.Text < 0 Then MessageBox.Show("Covering Depth value less than limit", "Caution", MessageBoxButtons.OK, MessageBoxIcon.Warning) xlsApp.ActiveWorkbook.Close(False) xlsApp.Quit() System.Runtime.InteropServices.Marshal.ReleaseComObject(xlsApp) System.Runtime.InteropServices.Marshal.ReleaseComObject(xlsSheet) GC.SuppressFinalize(xlsApp) GC.SuppressFinalize(xlsSheet) GC.Collect() xlsApp = Nothing xlsSheet = Nothing Return ElseIf TextBox1.Text > 100 Then MessageBox.Show("Covering Depth value more than limit", "Caution", MessageBoxButtons.OK, MessageBoxIcon.Warning) xlsApp.ActiveWorkbook.Close(False) xlsApp.Quit() System.Runtime.InteropServices.Marshal.ReleaseComObject(xlsApp) System.Runtime.InteropServices.Marshal.ReleaseComObject(xlsSheet) GC.SuppressFinalize(xlsApp) GC.SuppressFinalize(xlsSheet) GC.Collect() xlsApp = Nothing xlsSheet = Nothing Return ElseIf TextBox2.Text < 0.2 Then MessageBox.Show("W/B value less than limit", "Caution", MessageBoxButtons.OK, MessageBoxIcon.Warning) xlsApp.ActiveWorkbook.Close(False) xlsApp.Quit() System.Runtime.InteropServices.Marshal.ReleaseComObject(xlsApp) System.Runtime.InteropServices.Marshal.ReleaseComObject(xlsSheet)
77
GC.SuppressFinalize(xlsApp) GC.SuppressFinalize(xlsSheet) GC.Collect() xlsApp = Nothing xlsSheet = Nothing Return ElseIf TextBox2.Text > 0.8 Then MessageBox.Show("W/B value more than limit", "Caution", MessageBoxButtons.OK, MessageBoxIcon.Warning) xlsApp.ActiveWorkbook.Close(False) xlsApp.Quit() System.Runtime.InteropServices.Marshal.ReleaseComObject(xlsApp) System.Runtime.InteropServices.Marshal.ReleaseComObject(xlsSheet) GC.SuppressFinalize(xlsApp) GC.SuppressFinalize(xlsSheet) GC.Collect() xlsApp = Nothing xlsSheet = Nothing Return ElseIf TextBox3.Text < 0 Then MessageBox.Show("%FA value less than limit", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) xlsApp.ActiveWorkbook.Close(False) xlsApp.Quit() System.Runtime.InteropServices.Marshal.ReleaseComObject(xlsApp) System.Runtime.InteropServices.Marshal.ReleaseComObject(xlsSheet) GC.SuppressFinalize(xlsApp) GC.SuppressFinalize(xlsSheet) GC.Collect() xlsApp = Nothing xlsSheet = Nothing Return ElseIf TextBox3.Text > 52 Then MessageBox.Show("%FA value more than limit", "Caution", MessageBoxButtons.OK, MessageBoxIcon.Warning) xlsApp.ActiveWorkbook.Close(False) xlsApp.Quit() System.Runtime.InteropServices.Marshal.ReleaseComObject(xlsApp) System.Runtime.InteropServices.Marshal.ReleaseComObject(xlsSheet) GC.SuppressFinalize(xlsApp) GC.SuppressFinalize(xlsSheet) GC.Collect() xlsApp = Nothing xlsSheet = Nothing Return End If xlsSheet.Range("A2").Formula = "=" & Me.TextBox1.Text xlsSheet.Range("B2").Formula = "=" & Me.TextBox2.Text xlsSheet.Range("C2").Formula = "=" & Me.TextBox3.Text If TextBox3.Text = 0 Then xlsSheet.Range("D2").Formula = "=(B2 ^ 2) * 634.3550 + B2 * -679.2200 + 192.4577" xlsSheet.Range("E2").Formula = "=(B2 ^ 2) * -24.3550 + B2 * 28.3850 - 8.8481" ElseIf TextBox3.Text <> 0 Then xlsSheet.Range("D2").Formula = "=((B2 ^ 2) * 0.42 + B2 * -0.394 + 1 * 0.0817) * C2 ^ 2 + ((B2^ 2) * -25.21 + B2 * 23.511 + 1 * -4.8483) * C2+ ((B2 ^ 2) * 284.485 + B2 * -259.478 + 1 * 55.1634) * 1"
78
xlsSheet.Range("E2").Formula = "=((B2 ^ 2) * -0.055 + B2 * 0.047 + 1 * -0.0078) * C2 ^ 2 + ((B2 ^ 2) * 3.915 + B2 * -3.483 + 1 * 0.6364) * C2 + ((B2 ^ 2) * -39.645 + B2 * 34.399 + 1 * -6.3402) * 1" End If xlsSheet.Range("F2").Formula = "=1.1909 * LN(A5) + 2.5585" xlsSheet.Range("G2").Formula = "=A2 / (2 * SQRT((A5 * 365.25 * 24 * 60 * 60) * D2 * (A5 ^ E2) * 10 ^ -6))" xlsSheet.Range("H2").Formula = "=1 - ERF(G2)" xlsSheet.Range("C5").Formula = "=(F2*H2)-J2" xlsSheet.Range("A5").Formula = "1" If TextBox2.Text <= 0.4722 Then xlsSheet.Range("J2").Formula = "=0.325 * EXP(-0.02 * C2)" 'I45' ElseIf 0.4722 < TextBox2.Text And TextBox2.Text <= 0.4944 Then xlsSheet.Range("J2").Formula = "=0.298 * EXP(-0.02 * C2)" ElseIf 0.4944 < TextBox2.Text And TextBox2.Text <= 0.5166 Then xlsSheet.Range("J2").Formula = "=0.272 * EXP(-0.02 * C2)" ElseIf 0.5166 < TextBox2.Text And TextBox2.Text <= 0.5388 Then xlsSheet.Range("J2").Formula = "=0.246 * EXP(-0.01 * C2)" ElseIf 0.5388 < TextBox2.Text And TextBox2.Text <= 0.561 Then xlsSheet.Range("J2").Formula = "=0.219 * EXP(-0.01 * C2)" 'I55' ElseIf 0.561 < TextBox2.Text And TextBox2.Text <= 0.5832 Then xlsSheet.Range("J2").Formula = "=0.194 * EXP(-0.01 * C2)" ElseIf 0.5832 < TextBox2.Text And TextBox2.Text <= 0.6054 Then xlsSheet.Range("J2").Formula = "=0.169 * EXP(-0.01 * C2)" ElseIf 0.6054 < TextBox2.Text And TextBox2.Text <= 0.6276 Then xlsSheet.Range("J2").Formula = "=0.144 * EXP(-0.0 * C2)" ElseIf 0.6276 < TextBox2.Text Then xlsSheet.Range("J2").Formula = "=0.12 * EXP(-0.0 * C2)" 'I65' End If If xlsSheet.Range("D2").Value < 0 Then MessageBox.Show("%FA value less than limit", "Error in calculation", MessageBoxButtons.OK, MessageBoxIcon.Information) xlsApp.ActiveWorkbook.Close(False) xlsApp.Quit() System.Runtime.InteropServices.Marshal.ReleaseComObject(xlsApp) System.Runtime.InteropServices.Marshal.ReleaseComObject(xlsSheet) GC.SuppressFinalize(xlsApp) GC.SuppressFinalize(xlsSheet) GC.Collect() xlsApp = Nothing xlsSheet = Nothing Return End If xlsSheet.Range("C5").GoalSeek(Goal:=0, ChangingCell:=xlsSheet.Range("A5")) If xlsSheet.Range("A5").Value > 99 Then Dim A As DialogResult = MessageBox.Show("Modeling is not covered in the data. The results show that due to Extrapolation", "Error in calculation", MessageBoxButtons.OKCancel, MessageBoxIcon.Information) If A = DialogResult.OK Then Label11.Text = 100 Label12.Text = 1200 Else : Label11.Text = "" Label12.Text = "" End If
79
End If If xlsSheet.Range("A5").Value < 100 Then Me.Label11.Text = (String.Format("{0:f}", xlsSheet.Range("A5").Value)) Me.Label12.Text = (String.Format("{0:f1}", Label11.Text * 12)) End If xlsApp.ActiveWorkbook.Close(False) xlsApp.Quit() System.Runtime.InteropServices.Marshal.ReleaseComObject(xlsApp) System.Runtime.InteropServices.Marshal.ReleaseComObject(xlsSheet) GC.SuppressFinalize(xlsApp) GC.SuppressFinalize(xlsSheet) GC.Collect() xlsApp = Nothing xlsSheet = Nothing System.Threading.Thread.CurrentThread.CurrentCulture = oldCI Button1.ForeColor = Color.Lime Return End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click TextBox1.Text = "" TextBox2.Text = "" TextBox3.Text = "" Label11.Text = "" Label12.Text = "" ComboBox1.Text = "" Label74.Visible = False Label16.Visible = False Label17.Visible = False Return End Sub Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged If ComboBox1.SelectedItem.ToString = "0.45" Then PI_P1.Show() End If If ComboBox1.SelectedItem.ToString = "0.55" Then PI_P2.Show() End If If ComboBox1.SelectedItem.ToString = "0.65" Then PI_P3.Show() End If End Sub Private Sub Predict_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Button2.Parent = PictureBox1 Button2.BackColor() = Color.Transparent ComboBox1.Text = "W/B Graph" Label1.Parent = PictureBox1 Label1.BackColor() = Color.Transparent ToolTip1.SetToolTip(Button2, "Help") ComboBox1.Text = "W/B Graph" End Sub
80
Private Sub TextBox1_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress If e.KeyChar = Chr(13) Then TextBox2.Focus() End If If IsNumeric(e.KeyChar) = False AndAlso e.KeyChar <> Chr(8) AndAlso e.KeyChar <> Chr(46) Then e.KeyChar = Chr(0) End If End Sub Private Sub TextBox2_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox2.KeyPress If e.KeyChar = Chr(13) Then TextBox3.Focus() End If If IsNumeric(e.KeyChar) = False AndAlso e.KeyChar <> Chr(8) AndAlso e.KeyChar <> Chr(46) Then e.KeyChar = Chr(0) End If End Sub Private Sub TextBox3_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox3.KeyPress If e.KeyChar = Chr(13) Then Button1.Focus() End If If IsNumeric(e.KeyChar) = False AndAlso e.KeyChar <> Chr(8) AndAlso e.KeyChar <> Chr(46) Then e.KeyChar = Chr(0) End If End Sub Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged Button1.ForeColor = Color.Black If TextBox1.Text = "" Then Label74.Visible = True ElseIf TextBox1.Text = "." Or TextBox1.Text = ".." Or TextBox1.Text = "..." Or TextBox1.Text = "...." Or TextBox1.Text = "....." Or TextBox1.Text = "......" Then Label74.Visible = True ElseIf TextBox1.Text > 75 Or TextBox1.Text < 0 Then Label74.Visible = True Else : Label74.Visible = False End If End Sub Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox3.TextChanged Button1.ForeColor = Color.Black If TextBox3.Text = "" Then Label17.Visible = True ElseIf TextBox3.Text = "." Or TextBox3.Text = ".." Or TextBox3.Text = "..." Or TextBox3.Text = "...." Or TextBox3.Text = "....." Or TextBox3.Text = "......" Then Label17.Visible = True ElseIf TextBox3.Text > 50 Or TextBox3.Text < 0 Then Label17.Visible = True Else : Label17.Visible = False End If
81
End Sub Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged Button1.ForeColor = Color.Black If TextBox2.Text = "" Then Label16.Visible = True ElseIf TextBox2.Text = "." Or TextBox2.Text = ".." Or TextBox2.Text = "..." Or TextBox2.Text = "...." Or TextBox2.Text = "....." Or TextBox2.Text = "......" Then Label16.Visible = True ElseIf TextBox2.Text > 0.65 Or TextBox2.Text < 0.45 Then Label16.Visible = True Else : Label16.Visible = False End If End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Help2.Show() End Sub End Class
82
ภาคผนวก ง
โคดโปรแกรมออกแบบสวนผสมคอนกรตโดยวธ ACI
83
Public Class Form3 Public Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Label81.ForeColor = Color.Black Label82.ForeColor = Color.Black Label83.ForeColor = Color.Black Label84.ForeColor = Color.Black Label85.ForeColor = Color.Black Label91.ForeColor = Color.Black Label92.ForeColor = Color.Black Label99.ForeColor = Color.Black Label100.ForeColor = Color.Black Label108.ForeColor = Color.Black Label110.ForeColor = Color.Black Label109.ForeColor = Color.Black Label111.ForeColor = Color.Black Label113.ForeColor = Color.Black Label117.ForeColor = Color.Black Label118.ForeColor = Color.Black Label119.ForeColor = Color.Black Label120.ForeColor = Color.Black Label121.ForeColor = Color.Black Label122.ForeColor = Color.DarkGreen Label125.ForeColor = Color.Navy Label126.ForeColor = Color.Navy Label127.ForeColor = Color.Navy Label128.ForeColor = Color.Navy Label129.ForeColor = Color.Navy Label130.ForeColor = Color.Black Label131.ForeColor = Color.Black Label132.ForeColor = Color.Black Label133.ForeColor = Color.Black Label135.ForeColor = Color.Black Label136.ForeColor = Color.Black Label137.ForeColor = Color.Black Label138.ForeColor = Color.Black Label139.ForeColor = Color.Black Label140.ForeColor = Color.Black Label141.ForeColor = Color.Black Label142.ForeColor = Color.Black Label143.ForeColor = Color.Black Label144.ForeColor = Color.Black Label145.ForeColor = Color.Black If sgpz.Text = "" Or sgprtlnd.Text = "" Or TextBox1.Text = "" Or TextBox10.Text = "" Or TextBox11.Text = "" Or TextBox11.Text = "" Or TextBox12.Text = "" Or TextBox14.Text = "" Or TextBox15.Text = "" Or TextBox16.Text = "" Or TextBox17.Text = "" Or TextBox22.Text = "" Or TextBox35.Text = "" Or TextBox9.Text = "" Or ComboBox2.Text = "" Or ComboBox3.Text = "" Then MessageBox.Show("Please input data value", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) Return End If If RadioButton1.Checked Then If TextBox1.Text > 400 Then
84
MessageBox.Show("Compressive Strength value more than limit", "Caution", MessageBoxButtons.OK, MessageBoxIcon.Warning) Return ElseIf TextBox1.Text < 150 Then MessageBox.Show("Compressive Strength value less than limit", "Caution", MessageBoxButtons.OK, MessageBoxIcon.Warning) Return End If ElseIf RadioButton2.Checked Then If TextBox1.Text > 350 Then MessageBox.Show("Compressive Strength value more than limit", "Caution", MessageBoxButtons.OK, MessageBoxIcon.Warning) Return ElseIf TextBox1.Text < 150 Then MessageBox.Show("Compressive Strength value less than limit", "Caution", MessageBoxButtons.OK, MessageBoxIcon.Warning) Return End If End If If sgprtlnd.Text > 3.5 Then MessageBox.Show("Specific Gravity of Portland Cement value more than limit", "Caution", MessageBoxButtons.OK, MessageBoxIcon.Warning) Return End If If sgprtlnd.Text < 2.5 Then MessageBox.Show("Specific Gravity of Portland Cement value less than limit", "Caution", MessageBoxButtons.OK, MessageBoxIcon.Warning) Return End If If sgpz.Text > 3 Then MessageBox.Show("Specific Gravity of Pozzolanic Materials value more than limit", "Caution", MessageBoxButtons.OK, MessageBoxIcon.Warning) Return End If If sgpz.Text < 2 Then MessageBox.Show("Specific Gravity of Pozzolanic Materials value less than limit", "Caution", MessageBoxButtons.OK, MessageBoxIcon.Warning) Return End If If TextBox22.Text > 100 Then MessageBox.Show("Replacement value more than limit", "Caution", MessageBoxButtons.OK, MessageBoxIcon.Warning) Return End If If TextBox22.Text < 0 Then MessageBox.Show("Replacement value less than limit", "Caution", MessageBoxButtons.OK, MessageBoxIcon.Warning) Return End If If TextBox14.Text > 3 Then MessageBox.Show("Fineness Modulus value more than limit", "Caution", MessageBoxButtons.OK, MessageBoxIcon.Warning) Return End If If TextBox14.Text < 2.4 Then MessageBox.Show("Fineness Modulus value less than limit", "Caution", MessageBoxButtons.OK, MessageBoxIcon.Warning) Return
85
End If If TextBox9.Text > 4 Then MessageBox.Show("Specific Gravity of Coarse Aggregate value more than limit", "Caution", MessageBoxButtons.OK, MessageBoxIcon.Warning) Return End If If TextBox9.Text < 2 Then MessageBox.Show("Specific Gravity of Coarse Aggregate value less than limit", "Caution", MessageBoxButtons.OK, MessageBoxIcon.Warning) Return End If If TextBox15.Text > 3 Then MessageBox.Show("Specific Gravity of Fine Aggregate value more than limit", "Caution", MessageBoxButtons.OK, MessageBoxIcon.Warning) Return End If If TextBox15.Text < 1 Then MessageBox.Show("Specific Gravity of Fine Aggregate value less than limit", "Caution", MessageBoxButtons.OK, MessageBoxIcon.Warning) Return End If If TextBox10.Text > 10 Then MessageBox.Show("Absorption of Coarse Aggregate value more than limit", "Caution", MessageBoxButtons.OK, MessageBoxIcon.Warning) Return End If If TextBox10.Text < 0 Then MessageBox.Show("Absorption of Coarse Aggregate value less than limit", "Caution", MessageBoxButtons.OK, MessageBoxIcon.Warning) Return End If If TextBox16.Text > 10 Then MessageBox.Show("Absorption of Fine Aggregate value more than limit", "Caution", MessageBoxButtons.OK, MessageBoxIcon.Warning) Return End If If TextBox16.Text < 0 Then MessageBox.Show("Absorption of Fine Aggregate value less than limit", "Caution", MessageBoxButtons.OK, MessageBoxIcon.Warning) Return End If If TextBox11.Text > 10 Then MessageBox.Show("Moisture of Coarse Aggregate value more than limit", "Caution", MessageBoxButtons.OK, MessageBoxIcon.Warning) Return End If If TextBox11.Text < 0 Then MessageBox.Show("Moisture of Coarse Aggregate value less than limit", "Caution", MessageBoxButtons.OK, MessageBoxIcon.Warning) Return End If If TextBox17.Text > 10 Then MessageBox.Show("Moisture of Fine Aggregate value more than limit", "Caution", MessageBoxButtons.OK, MessageBoxIcon.Warning) Return End If If TextBox17.Text < 0 Then MessageBox.Show("Moisture of Fine Aggregate value less than limit", "Caution", MessageBoxButtons.OK, MessageBoxIcon.Warning)
86
Return End If If TextBox12.Text > 3000 Then MessageBox.Show("Bulk Density value more than limit", "Caution", MessageBoxButtons.OK, MessageBoxIcon.Warning) Return End If If TextBox12.Text < 1000 Then MessageBox.Show("Bulk Density value less than limit", "Caution", MessageBoxButtons.OK, MessageBoxIcon.Warning) Return End If If TextBox35.Text = 0 Then MessageBox.Show("Please input value of Trial batch", "Caution", MessageBoxButtons.OK, MessageBoxIcon.Warning) Return End If Button3.ForeColor = Color.Lime If RadioButton1.Checked Then Label58.Text = TextBox6.Text & " Content" Label72.Text = "Volume of " & TextBox6.Text Label43.Text = TextBox6.Text Dim wc As Double If TextBox1.Text = 150 Then Label132.Text = 0.8 If TextBox1.Text = 200 Then Label132.Text = 0.7 If TextBox1.Text = 250 Then Label132.Text = 0.62 If TextBox1.Text = 300 Then Label132.Text = 0.55 If TextBox1.Text = 350 Then Label132.Text = 0.48 If TextBox1.Text = 400 Then Label132.Text = 0.43 If TextBox1.Text = 450 Then Label132.Text = 0.38 If TextBox1.Text > 150 And TextBox1.Text < 200 Then Label132.Text = 0.8 - ((150 - TextBox1.Text) * (0.8 - 0.7)) / (150 - 200) If TextBox1.Text > 200 And TextBox1.Text < 250 Then Label132.Text = 0.7 - ((200 - TextBox1.Text) * (0.7 - 0.62)) / (200 - 250) If TextBox1.Text > 250 And TextBox1.Text < 300 Then Label132.Text = 0.62 - ((250 - TextBox1.Text) * (0.62 - 0.55)) / (250 - 300) If TextBox1.Text > 300 And TextBox1.Text < 350 Then Label132.Text = 0.55 - ((300 - TextBox1.Text) * (0.55 - 0.48)) / (300 - 350) If TextBox1.Text > 350 And TextBox1.Text < 400 Then Label132.Text = 0.48 - ((350 - TextBox1.Text) * (0.48 - 0.43)) / (350 - 400) If TextBox1.Text > 400 And TextBox1.Text < 450 Then Label132.Text = 0.43 - ((400 - TextBox1.Text) * (0.43 - 0.38)) / (400 - 450) wc = Label132.Text Dim slump, CourseAgg As String slump = (String.Format("{0:f}", ComboBox2.Text)) CourseAgg = (String.Format("{0:f}", ComboBox3.Text)) If slump = "3-5" And CourseAgg = "10" Then Label130.Text = (String.Format("{0:f}", 205)) If slump = "3-5" And CourseAgg = "12.5" Then Label130.Text = (String.Format("{0:f}", 200)) If slump = "3-5" And CourseAgg = "20" Then Label130.Text = (String.Format("{0:f}", 185)) If slump = "3-5" And CourseAgg = "25" Then Label130.Text = (String.Format("{0:f}", 180))
87
If slump = "3-5" And CourseAgg = "40" Then Label130.Text = (String.Format("{0:f}", 160)) If slump = "3-5" And CourseAgg = "50" Then Label130.Text = (String.Format("{0:f}", 155)) If slump = "3-5" And CourseAgg = "75" Then Label130.Text = (String.Format("{0:f}", 145)) If slump = "3-5" And CourseAgg = "150" Then Label130.Text = (String.Format("{0:f}", 125)) If slump = "8-10" And CourseAgg = "10" Then Label130.Text = (String.Format("{0:f}", 225)) If slump = "8-10" And CourseAgg = "12.5" Then Label130.Text = (String.Format("{0:f}", 215)) If slump = "8-10" And CourseAgg = "20" Then Label130.Text = (String.Format("{0:f}", 200)) If slump = "8-10" And CourseAgg = "25" Then Label130.Text = (String.Format("{0:f}", 195)) If slump = "8-10" And CourseAgg = "40" Then Label130.Text = (String.Format("{0:f}", 175)) If slump = "8-10" And CourseAgg = "50" Then Label130.Text = (String.Format("{0:f}", 170)) If slump = "8-10" And CourseAgg = "75" Then Label130.Text = (String.Format("{0:f}", 160)) If slump = "8-10" And CourseAgg = "150" Then Label130.Text = (String.Format("{0:f}", 140)) If slump = "15-18" And CourseAgg = "10" Then Label130.Text = (String.Format("{0:f}", 240)) If slump = "15-18" And CourseAgg = "12.5" Then Label130.Text = (String.Format("{0:f}", 230)) If slump = "15-18" And CourseAgg = "20" Then Label130.Text = (String.Format("{0:f}", 210)) If slump = "15-18" And CourseAgg = "25" Then Label130.Text = (String.Format("{0:f}", 205)) If slump = "15-18" And CourseAgg = "40" Then Label130.Text = (String.Format("{0:f}", 185)) If slump = "15-18" And CourseAgg = "50" Then Label130.Text = (String.Format("{0:f}", 180)) If slump = "15-18" And CourseAgg = "75" Then Label130.Text = (String.Format("{0:f}", 170)) If CourseAgg = "10" Then Label131.Text = (String.Format("{0:f}", 3)) If CourseAgg = "12.5" Then Label131.Text = (String.Format("{0:f}", 2.5)) If CourseAgg = "20" Then Label131.Text = (String.Format("{0:f}", 2)) If CourseAgg = "25" Then Label131.Text = (String.Format("{0:f}", 1.5)) If CourseAgg = "40" Then Label131.Text = (String.Format("{0:f}", 1)) If CourseAgg = "50" Then Label131.Text = (String.Format("{0:f}", 0.5)) If CourseAgg = "75" Then Label131.Text = (String.Format("{0:f}", 0.3)) If CourseAgg = "150" Then Label131.Text = (String.Format("{0:f}", 0.2)) Dim CalCmttsCntnt, Pzzln As Double CalCmttsCntnt = Label130.Text / wc Pzzln = TextBox22.Text * CalCmttsCntnt / 100
88
Label133.Text = (String.Format("{0:f}", CalCmttsCntnt)) Label135.Text = (String.Format("{0:f}", Pzzln)) Label136.Text = (String.Format("{0:f}", Label133.Text - Label135.Text)) Dim FnMdl, CalBulk As Double If ComboBox3.Text = 10 Then FnMdl = 0.44 If ComboBox3.Text = 12.5 Then FnMdl = 0.53 If ComboBox3.Text = 20 Then FnMdl = 0.6 If ComboBox3.Text = 25 Then FnMdl = 0.65 If ComboBox3.Text = 40 Then FnMdl = 0.69 If ComboBox3.Text = 50 Then FnMdl = 0.72 If ComboBox3.Text = 75 Then FnMdl = 0.76 If ComboBox3.Text = 150 Then FnMdl = 0.81 CalBulk = (((3 - TextBox14.Text) * 0.1) + FnMdl) Label137.Text = (String.Format("{0:f}", (CalBulk))) Dim CalCsAgg As Double CalCsAgg = TextBox12.Text * CalBulk Label138.Text = (String.Format("{0:f}", CalCsAgg)) Dim CalCsAggSSD As Double CalCsAggSSD = CalCsAgg * (1 + (TextBox11.Text / 100)) Label139.Text = (String.Format("{0:f}", CalCsAggSSD)) Dim CalWtr As Double CalWtr = Label130.Text / 1000 Label140.Text = (String.Format("{0:f}", CalWtr)) Dim CalCmnt As Double CalCmnt = Label136.Text / (sgprtlnd.Text * 1000) Label141.Text = (String.Format("{0:f}", CalCmnt)) Dim CalPzzln As Double CalPzzln = Label135.Text / (sgpz.Text * 1000) Label142.Text = (String.Format("{0:f}", CalPzzln)) Dim CalVlmCsAgg As Double CalVlmCsAgg = Label138.Text / (TextBox9.Text * 1000) Label143.Text = (String.Format("{0:f}", CalVlmCsAgg)) Dim CalEntrpAir As Double CalEntrpAir = Label131.Text / 100 Label144.Text = (String.Format("{0:f}", CalEntrpAir)) Dim CalVlmFnAgg As Double CalVlmFnAgg = 1 - (CalWtr + CalCmnt + CalPzzln + CalVlmCsAgg + CalEntrpAir)
89
Label145.Text = (String.Format("{0:f}", CalVlmFnAgg)) Label146.Text = (String.Format("{0:f}", CalWtr + CalCmnt + CalPzzln + CalVlmCsAgg + CalEntrpAir + CalVlmFnAgg)) Label76.Text = TextBox6.Text & " Material" Label81.Text = Label136.Text Label82.Text = Label135.Text Label83.Text = Label138.Text Label84.Text = (String.Format("{0:f}", TextBox15.Text * CalVlmFnAgg * 1000)) Label85.Text = Label130.Text Label91.Text = (String.Format("{0:f}", TextBox10.Text)) Label92.Text = (String.Format("{0:f}", TextBox16.Text)) Label99.Text = (String.Format("{0:f}", TextBox11.Text)) Label100.Text = (String.Format("{0:f}", TextBox17.Text)) Label110.Text = 0 Label108.Text = 0 If TextBox11.Text = 0 Then Label109.Text = (String.Format("{0:f}", 0)) If TextBox11.Text = 0 Then Label119.Text = (String.Format("{0:f}", Label83.Text)) If TextBox11.Text > 0 Then Label109.Text = (String.Format("{0:f}", CalCsAgg * TextBox11.Text / 100)) If TextBox11.Text > 0 Then Label119.Text = (String.Format("{0:f}", CalCsAgg + (CalCsAgg * TextBox11.Text / 100))) If TextBox17.Text = 0 Then Label111.Text = (String.Format("{0:f}", 0)) If TextBox17.Text = 0 Then Label120.Text = (String.Format("{0:f}", Label84.Text)) If TextBox17.Text > 0 Then Label111.Text = (String.Format("{0:f}", (TextBox15.Text * CalVlmFnAgg * 1000) * TextBox17.Text / 100)) If TextBox17.Text > 0 Then Label120.Text = (String.Format("{0:f}", (TextBox15.Text * CalVlmFnAgg * 1000) + ((TextBox15.Text * CalVlmFnAgg * 1000) * TextBox17.Text / 100))) Label113.Text = (String.Format("{0:f}", (Label119.Text * (Label99.Text - Label91.Text) / 100) + Label120.Text * (Label100.Text - Label92.Text) / 100)) Label117.Text = (String.Format("{0:f}", Label81.Text)) Label118.Text = (String.Format("{0:f}", Pzzln)) Dim Bel108, Bel110, Bel109, Bel111 As Double Bel108 = Label108.Text Bel110 = Label110.Text Bel109 = Label109.Text Bel111 = Label111.Text Label121.Text = (String.Format("{0:f}", (Label85.Text - (Label119.Text * ((Label99.Text - Label91.Text) / 100)) - (Label120.Text * ((Label100.Text - Label92.Text) / 100))))) Dim bel119, bel120, TB As Double bel119 = Label119.Text bel120 = Label120.Text TB = TextBox35.Text Label124.Text = "[ " & TB & " ]" Label125.Text = (String.Format("{0:f0}", Label117.Text * TB)) Label126.Text = (String.Format("{0:f0}", Label135.Text * TB))
90
Label127.Text = (String.Format("{0:f0}", Label119.Text * TB)) Label128.Text = (String.Format("{0:f0}", Label120.Text * TB)) Label129.Text = (String.Format("{0:f0}", (Label121.Text * TextBox35.Text))) Label122.Text = (String.Format("{0:0}", ((Label117.Text * TB) + (Label118.Text * TB) + (Label119.Text * TB) + (Label120.Text * TB) + (Label121.Text * TB)))) ElseIf RadioButton2.Checked Then '----------------------ชวงเปลยน Code เปนสวนของ ใสสารกกกระจายฟองอากาศ--------------------------' Label58.Text = TextBox6.Text & " Content" Label72.Text = "Volume of " & TextBox6.Text Label43.Text = TextBox6.Text Dim wc As Double If TextBox1.Text = 150 Then Label132.Text = 0.71 If TextBox1.Text = 200 Then Label132.Text = 0.61 If TextBox1.Text = 250 Then Label132.Text = 0.53 If TextBox1.Text = 300 Then Label132.Text = 0.46 If TextBox1.Text = 350 Then Label132.Text = 0.4 If TextBox1.Text > 150 And TextBox1.Text < 200 Then Label132.Text = 0.71 - ((150 - TextBox1.Text) * (0.71 - 0.61)) / (150 - 200) If TextBox1.Text > 200 And TextBox1.Text < 250 Then Label132.Text = 0.61 - ((200 - TextBox1.Text) * (0.61 - 0.53)) / (200 - 250) If TextBox1.Text > 250 And TextBox1.Text < 300 Then Label132.Text = 0.53 - ((250 - TextBox1.Text) * (0.53 - 0.46)) / (250 - 300) If TextBox1.Text > 300 And TextBox1.Text < 350 Then Label132.Text = 0.46 - ((300 - TextBox1.Text) * (0.46 - 0.4)) / (300 - 350) wc = Label132.Text Dim slump, CourseAgg As String slump = (String.Format("{0:f}", ComboBox2.Text)) CourseAgg = (String.Format("{0:f}", ComboBox3.Text)) If slump = "3-5" And CourseAgg = "10" Then Label130.Text = (String.Format("{0:f}", 180)) If slump = "3-5" And CourseAgg = "12.5" Then Label130.Text = (String.Format("{0:f}", 175)) If slump = "3-5" And CourseAgg = "20" Then Label130.Text = (String.Format("{0:f}", 165)) If slump = "3-5" And CourseAgg = "25" Then Label130.Text = (String.Format("{0:f}", 160)) If slump = "3-5" And CourseAgg = "40" Then Label130.Text = (String.Format("{0:f}", 145)) If slump = "3-5" And CourseAgg = "50" Then Label130.Text = (String.Format("{0:f}", 140)) If slump = "3-5" And CourseAgg = "75" Then Label130.Text = (String.Format("{0:f}", 135)) If slump = "3-5" And CourseAgg = "150" Then Label130.Text = (String.Format("{0:f}", 120)) If slump = "8-10" And CourseAgg = "10" Then Label130.Text = (String.Format("{0:f}", 200)) If slump = "8-10" And CourseAgg = "12.5" Then Label130.Text = (String.Format("{0:f}", 190)) If slump = "8-10" And CourseAgg = "20" Then Label130.Text = (String.Format("{0:f}", 180)) If slump = "8-10" And CourseAgg = "25" Then Label130.Text = (String.Format("{0:f}", 175))
91
If slump = "8-10" And CourseAgg = "40" Then Label130.Text = (String.Format("{0:f}", 165)) If slump = "8-10" And CourseAgg = "50" Then Label130.Text = (String.Format("{0:f}", 155)) If slump = "8-10" And CourseAgg = "75" Then Label130.Text = (String.Format("{0:f}", 150)) If slump = "8-10" And CourseAgg = "150" Then Label130.Text = (String.Format("{0:f}", 135)) If slump = "15-18" And CourseAgg = "10" Then Label130.Text = (String.Format("{0:f}", 215)) If slump = "15-18" And CourseAgg = "12.5" Then Label130.Text = (String.Format("{0:f}", 205)) If slump = "15-18" And CourseAgg = "20" Then Label130.Text = (String.Format("{0:f}", 190)) If slump = "15-18" And CourseAgg = "25" Then Label130.Text = (String.Format("{0:f}", 185)) If slump = "15-18" And CourseAgg = "40" Then Label130.Text = (String.Format("{0:f}", 170)) If slump = "15-18" And CourseAgg = "50" Then Label130.Text = (String.Format("{0:f}", 165)) If slump = "15-18" And CourseAgg = "75" Then Label130.Text = (String.Format("{0:f}", 160)) If CourseAgg = "10" Then Label131.Text = (String.Format("{0:f}", 8)) If CourseAgg = "12.5" Then Label131.Text = (String.Format("{0:f}", 7)) If CourseAgg = "20" Then Label131.Text = (String.Format("{0:f}", 6)) If CourseAgg = "25" Then Label131.Text = (String.Format("{0:f}", 5)) If CourseAgg = "40" Then Label131.Text = (String.Format("{0:f}", 4.5)) If CourseAgg = "50" Then Label131.Text = (String.Format("{0:f}", 4)) If CourseAgg = "75" Then Label131.Text = (String.Format("{0:f}", 3.5)) If CourseAgg = "150" Then Label131.Text = (String.Format("{0:f}", 3)) Dim CalCmttsCntnt, Pzzln As Double CalCmttsCntnt = Label130.Text / wc Pzzln = TextBox22.Text * CalCmttsCntnt / 100 Label133.Text = (String.Format("{0:f}", CalCmttsCntnt)) Label135.Text = (String.Format("{0:f}", Pzzln)) Label136.Text = (String.Format("{0:f}", Label133.Text - Label135.Text)) Dim FnMdl, CalBulk As Double If ComboBox3.Text = 10 Then FnMdl = 0.44 If ComboBox3.Text = 12.5 Then FnMdl = 0.53 If ComboBox3.Text = 20 Then FnMdl = 0.6 If ComboBox3.Text = 25 Then FnMdl = 0.65 If ComboBox3.Text = 40 Then FnMdl = 0.69 If ComboBox3.Text = 50 Then FnMdl = 0.72 If ComboBox3.Text = 75 Then FnMdl = 0.76 If ComboBox3.Text = 150 Then FnMdl = 0.81
92
CalBulk = (((3 - TextBox14.Text) * 0.1) + FnMdl) Label137.Text = (String.Format("{0:f}", (CalBulk))) Dim CalCsAgg As Double CalCsAgg = TextBox12.Text * CalBulk Label138.Text = (String.Format("{0:f}", CalCsAgg)) Dim CalCsAggSSD As Double CalCsAggSSD = CalCsAgg * (1 + (TextBox11.Text / 100)) Label139.Text = (String.Format("{0:f}", CalCsAggSSD)) Dim CalWtr As Double CalWtr = Label130.Text / 1000 Label140.Text = (String.Format("{0:f}", CalWtr)) Dim CalCmnt As Double CalCmnt = Label136.Text / (sgprtlnd.Text * 1000) Label141.Text = (String.Format("{0:f}", CalCmnt)) Dim CalPzzln As Double CalPzzln = Label135.Text / (sgpz.Text * 1000) Label142.Text = (String.Format("{0:f}", CalPzzln)) If sgpz.Text = 0 Then CalPzzln = 0 Dim CalVlmCsAgg As Double CalVlmCsAgg = Label138.Text / (TextBox9.Text * 1000) Label143.Text = (String.Format("{0:f}", CalVlmCsAgg)) Dim CalEntrpAir As Double CalEntrpAir = Label131.Text / 100 Label144.Text = (String.Format("{0:f}", CalEntrpAir)) Dim CalVlmFnAgg As Double CalVlmFnAgg = 1 - (CalWtr + CalCmnt + CalPzzln + CalVlmCsAgg + CalEntrpAir) Label145.Text = (String.Format("{0:f}", CalVlmFnAgg)) Label146.Text = (String.Format("{0:f}", CalWtr + CalCmnt + CalPzzln + CalVlmCsAgg + CalEntrpAir + CalVlmFnAgg)) Label76.Text = TextBox6.Text & " Material" Label81.Text = Label136.Text Label82.Text = Label135.Text Label83.Text = Label138.Text Label84.Text = (String.Format("{0:f}", TextBox15.Text * CalVlmFnAgg * 1000)) Label85.Text = Label130.Text Label91.Text = (String.Format("{0:f}", TextBox10.Text)) Label92.Text = (String.Format("{0:f}", TextBox16.Text)) Label99.Text = (String.Format("{0:f}", TextBox11.Text)) Label100.Text = (String.Format("{0:f}", TextBox17.Text))
93
Label110.Text = 0 Label108.Text = 0 If TextBox11.Text = 0 Then Label109.Text = (String.Format("{0:f}", 0)) If TextBox11.Text = 0 Then Label119.Text = (String.Format("{0:f}", Label83.Text)) If TextBox11.Text > 0 Then Label109.Text = (String.Format("{0:f}", CalCsAgg * TextBox11.Text / 100)) If TextBox11.Text > 0 Then Label119.Text = (String.Format("{0:f}", CalCsAgg + (CalCsAgg * TextBox11.Text / 100))) If TextBox17.Text = 0 Then Label111.Text = (String.Format("{0:f}", 0)) If TextBox17.Text = 0 Then Label120.Text = (String.Format("{0:f}", Label84.Text)) If TextBox17.Text > 0 Then Label111.Text = (String.Format("{0:f}", (TextBox15.Text * CalVlmFnAgg * 1000) * TextBox17.Text / 100)) If TextBox17.Text > 0 Then Label120.Text = (String.Format("{0:f}", (TextBox15.Text * CalVlmFnAgg * 1000) + ((TextBox15.Text * CalVlmFnAgg * 1000) * TextBox17.Text / 100))) Label113.Text = (String.Format("{0:f}", (Label119.Text * (Label99.Text - Label91.Text) / 100) + Label120.Text * (Label100.Text - Label92.Text) / 100)) Label117.Text = (String.Format("{0:f}", Label81.Text)) Label118.Text = (String.Format("{0:f}", Pzzln)) Dim Bel108, Bel110, Bel109, Bel111 As Double Bel108 = Label108.Text Bel110 = Label110.Text Bel109 = Label109.Text Bel111 = Label111.Text Label121.Text = (String.Format("{0:f}", (Label85.Text - (Label119.Text * ((Label99.Text - Label91.Text) / 100)) - (Label120.Text * ((Label100.Text - Label92.Text) / 100))))) Dim bel119, bel120, TB As Double bel119 = Label119.Text bel120 = Label120.Text TB = TextBox35.Text Label124.Text = "[ " & TB & " ]" Label125.Text = (String.Format("{0:f0}", Label117.Text * TB)) Label126.Text = (String.Format("{0:f0}", Label135.Text * TB)) Label127.Text = (String.Format("{0:f0}", Label119.Text * TB)) Label128.Text = (String.Format("{0:0}", Label120.Text * TB)) Label129.Text = (String.Format("{0:0}", (Label121.Text * TextBox35.Text))) Label122.Text = (String.Format("{0:0}", ((Label117.Text * TB) + (Label118.Text * TB) + (Label119.Text * TB) + (Label120.Text * TB) + (Label121.Text * TB)))) End If End Sub Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged Button3.ForeColor = Color.Black If CheckBox2.Checked Then Label81.ForeColor = Color.Olive
94
Label82.ForeColor = Color.Olive Label84.ForeColor = Color.Olive Label111.ForeColor = Color.Olive Label113.ForeColor = Color.Olive Label117.ForeColor = Color.Olive Label118.ForeColor = Color.Olive Label125.ForeColor = Color.Olive Label126.ForeColor = Color.Olive Label120.ForeColor = Color.Olive Label121.ForeColor = Color.Olive Label128.ForeColor = Color.Olive Label129.ForeColor = Color.Olive Label122.ForeColor = Color.Olive Label130.ForeColor = Color.Olive Label132.ForeColor = Color.Olive Label133.ForeColor = Color.Olive Label135.ForeColor = Color.Olive Label136.ForeColor = Color.Olive Label141.ForeColor = Color.Olive Label142.ForeColor = Color.Olive Label145.ForeColor = Color.Olive End If Label161.Visible = False If RadioButton1.Checked Then If TextBox1.Text = "" Then Label74.Visible = True ElseIf TextBox1.Text > 400 Or TextBox1.Text < 150 Then Label74.Visible = True Else : Label74.Visible = False End If ElseIf RadioButton2.Checked Then If TextBox1.Text = "" Then Label74.Visible = True ElseIf TextBox1.Text > 350 Or TextBox1.Text < 150 Then Label74.Visible = True Else : Label74.Visible = False End If End If End Sub Private Sub sgpz_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles sgpz.KeyPress If IsNumeric(e.KeyChar) = False AndAlso e.KeyChar <> Chr(8) AndAlso e.KeyChar <> Chr(46) Then e.KeyChar = Chr(0) End If End Sub Private Sub TextBox1_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress If IsNumeric(e.KeyChar) = False AndAlso e.KeyChar <> Chr(8) AndAlso e.KeyChar <> Chr(46) Then e.KeyChar = Chr(0) End If End Sub Private Sub sgprtlnd_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles sgprtlnd.KeyPress If IsNumeric(e.KeyChar) = False AndAlso e.KeyChar <> Chr(8) AndAlso e.KeyChar <> Chr(46) Then e.KeyChar = Chr(0) End If
95
End Sub Private Sub TextBox14_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox14.KeyPress If IsNumeric(e.KeyChar) = False AndAlso e.KeyChar <> Chr(8) AndAlso e.KeyChar <> Chr(46) Then e.KeyChar = Chr(0) End If End Sub Private Sub TextBox15_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox15.KeyPress If IsNumeric(e.KeyChar) = False AndAlso e.KeyChar <> Chr(8) AndAlso e.KeyChar <> Chr(46) Then e.KeyChar = Chr(0) End If End Sub Private Sub TextBox16_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox16.KeyPress If IsNumeric(e.KeyChar) = False AndAlso e.KeyChar <> Chr(8) AndAlso e.KeyChar <> Chr(46) Then e.KeyChar = Chr(0) End If End Sub Private Sub TextBox17_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox17.KeyPress If e.KeyChar = Chr(13) Then TextBox35.Focus() End If If IsNumeric(e.KeyChar) = False AndAlso e.KeyChar <> Chr(8) AndAlso e.KeyChar <> Chr(46) Then e.KeyChar = Chr(0) End If End Sub Private Sub TextBox9_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox9.KeyPress If IsNumeric(e.KeyChar) = False AndAlso e.KeyChar <> Chr(8) AndAlso e.KeyChar <> Chr(46) Then e.KeyChar = Chr(0) End If End Sub Private Sub TextBox10_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox10.KeyPress If IsNumeric(e.KeyChar) = False AndAlso e.KeyChar <> Chr(8) AndAlso e.KeyChar <> Chr(46) Then e.KeyChar = Chr(0) End If End Sub Private Sub TextBox11_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox11.KeyPress If IsNumeric(e.KeyChar) = False AndAlso e.KeyChar <> Chr(8) AndAlso e.KeyChar <> Chr(46) Then e.KeyChar = Chr(0) End If End Sub Private Sub TextBox12_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox12.KeyPress If IsNumeric(e.KeyChar) = False AndAlso e.KeyChar <> Chr(8) AndAlso e.KeyChar <> Chr(46) Then e.KeyChar = Chr(0) End If
96
End Sub Private Sub TextBox35_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox35.KeyPress If IsNumeric(e.KeyChar) = False AndAlso e.KeyChar <> Chr(8) AndAlso e.KeyChar <> Chr(46) Then e.KeyChar = Chr(0) End If End Sub Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged Button3.ForeColor = Color.Black If CheckBox2.Checked Then Label81.ForeColor = Color.Olive Label82.ForeColor = Color.Olive Label118.ForeColor = Color.Olive Label126.ForeColor = Color.Olive Label117.ForeColor = Color.Olive Label125.ForeColor = Color.Olive Label84.ForeColor = Color.Olive Label85.ForeColor = Color.Olive Label111.ForeColor = Color.Olive Label113.ForeColor = Color.Olive Label120.ForeColor = Color.Olive Label121.ForeColor = Color.Olive Label128.ForeColor = Color.Olive Label129.ForeColor = Color.Olive Label122.ForeColor = Color.Olive Label130.ForeColor = Color.Olive Label131.ForeColor = Color.Olive Label132.ForeColor = Color.Olive Label133.ForeColor = Color.Olive Label135.ForeColor = Color.Olive Label136.ForeColor = Color.Olive Label140.ForeColor = Color.Olive Label141.ForeColor = Color.Olive Label142.ForeColor = Color.Olive Label144.ForeColor = Color.Olive Label145.ForeColor = Color.Olive End If If RadioButton1.Checked Then If TextBox1.Text = "" Then Label74.Visible = True ElseIf TextBox1.Text > 400 Or TextBox1.Text < 150 Then Label74.Visible = True Else : Label74.Visible = False End If End If End Sub Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged Button3.ForeColor = Color.Black If CheckBox2.Checked Then Label81.ForeColor = Color.Olive Label82.ForeColor = Color.Olive Label118.ForeColor = Color.Olive Label126.ForeColor = Color.Olive Label117.ForeColor = Color.Olive Label125.ForeColor = Color.Olive Label84.ForeColor = Color.Olive
97
Label85.ForeColor = Color.Olive Label111.ForeColor = Color.Olive Label113.ForeColor = Color.Olive Label120.ForeColor = Color.Olive Label121.ForeColor = Color.Olive Label128.ForeColor = Color.Olive Label129.ForeColor = Color.Olive Label122.ForeColor = Color.Olive Label130.ForeColor = Color.Olive Label131.ForeColor = Color.Olive Label132.ForeColor = Color.Olive Label133.ForeColor = Color.Olive Label135.ForeColor = Color.Olive Label136.ForeColor = Color.Olive Label140.ForeColor = Color.Olive Label141.ForeColor = Color.Olive Label142.ForeColor = Color.Olive Label144.ForeColor = Color.Olive Label145.ForeColor = Color.Olive End If If RadioButton2.Checked Then If TextBox1.Text = "" Then Label74.Visible = True ElseIf TextBox1.Text > 350 Or TextBox1.Text < 150 Then Label74.Visible = True Else : Label74.Visible = False End If End If End Sub Private Sub sgprtlnd_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles sgprtlnd.TextChanged Button3.ForeColor = Color.Black If CheckBox2.Checked Then Label84.ForeColor = Color.Olive Label111.ForeColor = Color.Olive Label120.ForeColor = Color.Olive Label122.ForeColor = Color.Olive Label141.ForeColor = Color.Olive Label113.ForeColor = Color.Olive Label121.ForeColor = Color.Olive Label128.ForeColor = Color.Olive Label129.ForeColor = Color.Olive End If If sgprtlnd.Text = "" Then Label80.Visible = True ElseIf sgprtlnd.Text = "." Or sgprtlnd.Text = ".." Or sgprtlnd.Text = "..." Or sgprtlnd.Text = "...." Or sgprtlnd.Text = "....." Or sgprtlnd.Text = "......" Then Label80.Visible = True ElseIf sgprtlnd.Text > 3.5 Or sgprtlnd.Text < 2.5 Then Label80.Visible = True Else : Label80.Visible = False End If End Sub Private Sub sgpz_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles sgpz.TextChanged Button3.ForeColor = Color.Black If CheckBox2.Checked Then
98
Label84.ForeColor = Color.Olive Label111.ForeColor = Color.Olive Label120.ForeColor = Color.Olive Label128.ForeColor = Color.Olive Label120.ForeColor = Color.Olive Label113.ForeColor = Color.Olive Label121.ForeColor = Color.Olive Label129.ForeColor = Color.Olive Label122.ForeColor = Color.Olive Label142.ForeColor = Color.Olive Label145.ForeColor = Color.Olive End If If sgpz.Text = "" Then Label79.Visible = True ElseIf sgpz.Text = "." Or sgpz.Text = ".." Or sgpz.Text = "..." Or sgpz.Text = "...." Or sgpz.Text = "....." Or sgpz.Text = "......" Then Label80.Visible = True ElseIf sgpz.Text > 3 Or sgpz.Text < 2 Then Label79.Visible = True Else : Label79.Visible = False End If End Sub Private Sub TextBox22_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox22.TextChanged Button3.ForeColor = Color.Black Label161.Visible = False If CheckBox2.Checked Then Label81.ForeColor = Color.Olive Label82.ForeColor = Color.Olive Label117.ForeColor = Color.Olive Label118.ForeColor = Color.Olive Label125.ForeColor = Color.Olive Label126.ForeColor = Color.Olive Label84.ForeColor = Color.Olive Label84.ForeColor = Color.Olive Label92.ForeColor = Color.Olive Label100.ForeColor = Color.Olive Label111.ForeColor = Color.Olive Label120.ForeColor = Color.Olive Label128.ForeColor = Color.Olive Label113.ForeColor = Color.Olive Label121.ForeColor = Color.Olive Label129.ForeColor = Color.Olive Label122.ForeColor = Color.Olive Label135.ForeColor = Color.Olive Label136.ForeColor = Color.Olive Label141.ForeColor = Color.Olive Label142.ForeColor = Color.Olive Label145.ForeColor = Color.Olive End If If TextBox22.Text = "" Then Label103.Visible = True ElseIf sgprtlnd.Text = "." Or sgprtlnd.Text = ".." Or sgprtlnd.Text = "..." Or sgprtlnd.Text = "...." Or sgprtlnd.Text = "....." Or sgprtlnd.Text = "......" Then Label80.Visible = True ElseIf TextBox22.Text > 100 Or TextBox22.Text < 0 Then
99
Label103.Visible = True Else : Label103.Visible = False End If End Sub Private Sub TextBox4_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox4.TextChanged If TextBox4.Text = "" Then Label77.Visible = True Else : Label77.Visible = False End If End Sub Private Sub TextBox6_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox6.TextChanged If TextBox6.Text = "" Then Label78.Visible = True Else : Label78.Visible = False End If End Sub Private Sub TextBox8_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox8.TextChanged If TextBox8.Text = "" Then Label151.Visible = True Else : Label151.Visible = False End If End Sub Private Sub TextBox13_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox13.TextChanged If TextBox13.Text = "" Then Label147.Visible = True Else : Label147.Visible = False End If End Sub Private Sub TextBox14_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox14.TextChanged Button3.ForeColor = Color.Black If CheckBox2.Checked Then Label83.ForeColor = Color.Olive Label84.ForeColor = Color.Olive Label109.ForeColor = Color.Olive Label111.ForeColor = Color.Olive Label113.ForeColor = Color.Olive Label119.ForeColor = Color.Olive Label120.ForeColor = Color.Olive Label121.ForeColor = Color.Olive Label127.ForeColor = Color.Olive Label128.ForeColor = Color.Olive Label129.ForeColor = Color.Olive Label122.ForeColor = Color.Olive Label137.ForeColor = Color.Olive Label138.ForeColor = Color.Olive Label139.ForeColor = Color.Olive Label143.ForeColor = Color.Olive Label145.ForeColor = Color.Olive End If
100
If TextBox14.Text = "" Then Label134.Visible = True ElseIf TextBox14.Text = "." Or TextBox14.Text = ".." Or TextBox14.Text = "..." Or TextBox14.Text = "...." Or TextBox14.Text = "....." Or TextBox14.Text = "......" Then Label80.Visible = True ElseIf TextBox14.Text > 3 Or TextBox14.Text < 2.4 Then Label134.Visible = True Else : Label134.Visible = False End If End Sub Private Sub TextBox15_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox15.TextChanged Button3.ForeColor = Color.Black If CheckBox2.Checked Then Label84.ForeColor = Color.Olive Label111.ForeColor = Color.Olive Label113.ForeColor = Color.Olive Label120.ForeColor = Color.Olive Label121.ForeColor = Color.Olive Label128.ForeColor = Color.Olive Label129.ForeColor = Color.Olive Label122.ForeColor = Color.Olive End If If TextBox15.Text = "" Then Label123.Visible = True ElseIf TextBox15.Text = "." Or TextBox15.Text = ".." Or TextBox15.Text = "..." Or TextBox15.Text = "...." Or TextBox15.Text = "....." Or TextBox15.Text = "......" Then Label80.Visible = True ElseIf TextBox15.Text > 3 Or TextBox15.Text < 1 Then Label123.Visible = True Else : Label123.Visible = False End If End Sub Private Sub TextBox16_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox16.TextChanged Button3.ForeColor = Color.Black If CheckBox2.Checked Then Label92.ForeColor = Color.Olive Label121.ForeColor = Color.Olive Label122.ForeColor = Color.Olive Label129.ForeColor = Color.Olive End If If TextBox16.Text = "" Then Label152.Visible = True ElseIf TextBox16.Text = "." Or TextBox16.Text = ".." Or TextBox16.Text = "..." Or TextBox16.Text = "...." Or TextBox16.Text = "....." Or TextBox16.Text = "......" Then Label80.Visible = True ElseIf TextBox16.Text > 10 Or TextBox16.Text < 0 Then Label152.Visible = True Else : Label152.Visible = False End If End Sub
101
Private Sub TextBox17_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox17.TextChanged Button3.ForeColor = Color.Black If CheckBox2.Checked Then Label100.ForeColor = Color.Olive Label111.ForeColor = Color.Olive Label113.ForeColor = Color.Olive Label120.ForeColor = Color.Olive Label121.ForeColor = Color.Olive Label128.ForeColor = Color.Olive Label129.ForeColor = Color.Olive Label122.ForeColor = Color.Olive End If If TextBox17.Text = "" Then Label153.Visible = True ElseIf TextBox17.Text = "." Or TextBox17.Text = ".." Or TextBox17.Text = "..." Or TextBox17.Text = "...." Or TextBox17.Text = "....." Or TextBox17.Text = "......" Then Label80.Visible = True ElseIf TextBox17.Text > 10 Or TextBox17.Text < 0 Then Label153.Visible = True Else : Label153.Visible = False End If End Sub Private Sub TextBox9_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox9.TextChanged Button3.ForeColor = Color.Black If CheckBox2.Checked Then Label84.ForeColor = Color.Olive Label111.ForeColor = Color.Olive Label113.ForeColor = Color.Olive Label120.ForeColor = Color.Olive Label121.ForeColor = Color.Olive Label122.ForeColor = Color.Olive Label128.ForeColor = Color.Olive Label129.ForeColor = Color.Olive Label143.ForeColor = Color.Olive Label145.ForeColor = Color.Olive End If If TextBox9.Text = "" Then Label150.Visible = True ElseIf TextBox9.Text = "." Or TextBox9.Text = ".." Or TextBox9.Text = "..." Or TextBox9.Text = "...." Or TextBox9.Text = "....." Or TextBox9.Text = "......" Then Label80.Visible = True ElseIf TextBox9.Text > 4 Or TextBox9.Text < 2 Then Label150.Visible = True Else : Label150.Visible = False End If End Sub Private Sub TextBox10_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox10.TextChanged Button3.ForeColor = Color.Black If CheckBox2.Checked Then Label91.ForeColor = Color.Olive Label121.ForeColor = Color.Olive Label129.ForeColor = Color.Olive
102
Label122.ForeColor = Color.Olive End If If TextBox10.Text = "" Then Label149.Visible = True ElseIf TextBox10.Text = "." Or TextBox10.Text = ".." Or TextBox10.Text = "..." Or TextBox10.Text = "...." Or TextBox10.Text = "....." Or TextBox10.Text = "......" Then Label80.Visible = True ElseIf TextBox10.Text > 10 Or TextBox10.Text < 0 Then Label149.Visible = True Else : Label149.Visible = False End If End Sub Private Sub TextBox11_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox11.TextChanged Button3.ForeColor = Color.Black If CheckBox2.Checked Then Label99.ForeColor = Color.Olive Label109.ForeColor = Color.Olive Label113.ForeColor = Color.Olive Label119.ForeColor = Color.Olive Label121.ForeColor = Color.Olive Label127.ForeColor = Color.Olive Label129.ForeColor = Color.Olive Label122.ForeColor = Color.Olive End If If TextBox11.Text = "" Then Label148.Visible = True ElseIf TextBox11.Text = "." Or TextBox11.Text = ".." Or TextBox11.Text = "..." Or TextBox11.Text = "...." Or TextBox11.Text = "....." Or TextBox11.Text = "......" Then Label80.Visible = True ElseIf TextBox11.Text > 10 Or TextBox11.Text < 0 Then Label148.Visible = True Else : Label148.Visible = False End If End Sub Private Sub TextBox12_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox12.TextChanged Button3.ForeColor = Color.Black If CheckBox2.Checked Then Label83.ForeColor = Color.Olive Label84.ForeColor = Color.Olive Label109.ForeColor = Color.Olive Label111.ForeColor = Color.Olive Label113.ForeColor = Color.Olive Label119.ForeColor = Color.Olive Label120.ForeColor = Color.Olive Label121.ForeColor = Color.Olive Label127.ForeColor = Color.Olive Label128.ForeColor = Color.Olive Label129.ForeColor = Color.Olive Label122.ForeColor = Color.Olive Label138.ForeColor = Color.Olive Label139.ForeColor = Color.Olive Label143.ForeColor = Color.Olive Label145.ForeColor = Color.Olive
103
End If If TextBox12.Text = "" Then Label154.Visible = True ElseIf TextBox12.Text = "." Or TextBox12.Text = ".." Or TextBox12.Text = "..." Or TextBox12.Text = "...." Or TextBox12.Text = "....." Or TextBox12.Text = "......" Then Label80.Visible = True ElseIf TextBox12.Text > 3000 Or TextBox12.Text < 1000 Then Label154.Visible = True Else : Label154.Visible = False End If End Sub Private Sub TextBox35_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox35.TextChanged Button3.ForeColor = Color.Black If CheckBox2.Checked Then Label125.ForeColor = Color.Olive Label126.ForeColor = Color.Olive Label127.ForeColor = Color.Olive Label128.ForeColor = Color.Olive Label129.ForeColor = Color.Olive Label122.ForeColor = Color.Olive End If If TextBox35.Text = "" Then Label155.Visible = True ElseIf TextBox35.Text = "." Or TextBox35.Text = ".." Or TextBox35.Text = "..." Or TextBox35.Text = "...." Or TextBox35.Text = "....." Or TextBox35.Text = "......" Then Label80.Visible = True ElseIf TextBox35.Text < 0 Then Label155.Visible = True Else : Label155.Visible = False End If End Sub Private Sub combobox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox2.TextChanged If CheckBox2.Checked Then Label81.ForeColor = Color.Olive Label82.ForeColor = Color.Olive Label84.ForeColor = Color.Olive Label85.ForeColor = Color.Olive Label109.ForeColor = Color.Olive Label111.ForeColor = Color.Olive Label113.ForeColor = Color.Olive Label117.ForeColor = Color.Olive Label118.ForeColor = Color.Olive Label120.ForeColor = Color.Olive Label121.ForeColor = Color.Olive Label122.ForeColor = Color.Olive Label125.ForeColor = Color.Olive Label126.ForeColor = Color.Olive Label128.ForeColor = Color.Olive Label129.ForeColor = Color.Olive Label130.ForeColor = Color.Olive Label133.ForeColor = Color.Olive Label135.ForeColor = Color.Olive Label136.ForeColor = Color.Olive Label137.ForeColor = Color.Olive
104
Label138.ForeColor = Color.Olive Label139.ForeColor = Color.Olive Label140.ForeColor = Color.Olive Label141.ForeColor = Color.Olive Label142.ForeColor = Color.Olive Label145.ForeColor = Color.Olive End If End Sub Private Sub combobox3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox3.TextChanged Button3.ForeColor = Color.Black If CheckBox2.Checked Then Label81.ForeColor = Color.Olive Label82.ForeColor = Color.Olive Label83.ForeColor = Color.Olive Label84.ForeColor = Color.Olive Label85.ForeColor = Color.Olive Label109.ForeColor = Color.Olive Label111.ForeColor = Color.Olive Label113.ForeColor = Color.Olive Label117.ForeColor = Color.Olive Label118.ForeColor = Color.Olive Label119.ForeColor = Color.Olive Label120.ForeColor = Color.Olive Label121.ForeColor = Color.Olive Label125.ForeColor = Color.Olive Label126.ForeColor = Color.Olive Label127.ForeColor = Color.Olive Label128.ForeColor = Color.Olive Label129.ForeColor = Color.Olive Label130.ForeColor = Color.Olive Label131.ForeColor = Color.Olive Label133.ForeColor = Color.Olive Label135.ForeColor = Color.Olive Label136.ForeColor = Color.Olive Label137.ForeColor = Color.Olive Label138.ForeColor = Color.Olive Label139.ForeColor = Color.Olive Label140.ForeColor = Color.Olive Label141.ForeColor = Color.Olive Label142.ForeColor = Color.Olive Label143.ForeColor = Color.Olive Label144.ForeColor = Color.Olive Label145.ForeColor = Color.Olive End If End Sub Private Sub Form3_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing Button3.ForeColor = Color.Black If MsgBox("Are you sure you want to close program?", MsgBoxStyle.Question + MsgBoxStyle.YesNo, "Concrete Mixed Design") = MsgBoxResult.No Then e.Cancel = True End If End Sub Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Label50.Parent = PictureBox2
105
Label50.BackColor() = Color.Transparent Label112.Parent = PictureBox2 Label112.BackColor() = Color.Transparent ComboBox2.Text = "3-5" ComboBox3.Text = "10" ComboBox1.Text = " --Link to software--" ToolTip2.SetToolTip(Button4, "Help") ToolTip2.SetToolTip(Button1, "สงคา") ToolTip2.SetToolTip(CheckBox1, "Show all windows software") ToolTip2.SetToolTip(Label1, "คณสมบตของวสด") ToolTip2.SetToolTip(Label2, "ขอมลทตองการส าหรบคอนกรต") ToolTip2.SetToolTip(Label3, "ก าลงรบแรงอดประลยของกรตทอาย 28 วน" + vbNewLine + _ "150 - 350 ส าหรบคอนกรต ใสสารกกกระจายฟองอากาศ" + vbNewLine + _ "150 - 400 ส าหรบคอนกรต ไมใสสารกกกระจายฟองอากาศ") ToolTip2.SetToolTip(Label4, "การยบตวของคอนกรต คลก..") ToolTip2.SetToolTip(Label6, "ชอและชนดของปนซเมนต") ToolTip2.SetToolTip(Label5, "ชอวสดปอซโซลาน เชน เถาถานหน") ToolTip2.SetToolTip(RadioButton2, "ใส สารกกกระจายฟองอากาศ") ToolTip2.SetToolTip(RadioButton1, "ไมใส สารกกกระจายฟองอากาศ") ToolTip2.SetToolTip(Label9, "ความถวงจ าเพาะของปนซเมนต 3.00 - 3.50 ") ToolTip2.SetToolTip(Label10, "ความถวงจ าเพาะของวสดปอซโซลาน 2.00 - 3.00 ") ToolTip2.SetToolTip(Label11, "เปอรเซนตการแทนทของเถาถานหนในปนซเมนต 0 - 100") ToolTip2.SetToolTip(Label12, "มวลรวมหยาบ") ToolTip2.SetToolTip(Label24, "มวลรวมละเอยด") ToolTip2.SetToolTip(Label13, "ชนดของมวลรวมหยาบ") ToolTip2.SetToolTip(Label22, "ชนดมวลรวมละเอยด") ToolTip2.SetToolTip(Label14, "ขนาดสงสดของมวลรวมหยาบ") ToolTip2.SetToolTip(Label21, "โมดลสความละเอยด 2.40 - 3.00 คลก..") ToolTip2.SetToolTip(Label15, "ความถวงจ าเพาะของมวลรวมหยาบ 1.00 - 4.00") ToolTip2.SetToolTip(Label20, "ความถวงจ าเพาะของมวลรวมละเอยด 1.00 - 3.00") ToolTip2.SetToolTip(Label16, "เปอรเซนตการดดซมของมวลรวมหยาย 0 - 10") ToolTip2.SetToolTip(Label19, "เปอรเซนตการดดซมของมวลรวมละเอยด 0 - 10") ToolTip2.SetToolTip(Label17, "เปอรเซนตความชนในมวลรวมหยาบ 0 - 10") ToolTip2.SetToolTip(Label23, "เปอรเซนตความชนในมวลรวมละเอยด 0 - 10") ToolTip2.SetToolTip(Label18, "หนวยน าหนกของมวลรวมหยาบในสภาพแหงและอดแนน 1000 - 3000") ToolTip2.SetToolTip(Label25, "จ านวณควทตองการ") ToolTip2.SetToolTip(Button3, "ค านวณ") ToolTip2.SetToolTip(Label34, "สวนประกอบทผสมในคอนกรต") ToolTip2.SetToolTip(Label35, "วสด") ToolTip2.SetToolTip(Label36, "ปรมาณ") ToolTip2.SetToolTip(Label37, "การดดซม") ToolTip2.SetToolTip(Label39, "ความชน") ToolTip2.SetToolTip(Label38, "ปรบแก") ToolTip2.SetToolTip(Label41, "คาหลงถกปรบแกใน 1คว") ToolTip2.SetToolTip(Label40, "คาทใชจรงในจ านวณควทตองการ") ToolTip2.SetToolTip(Label42, "ซเมนต") ToolTip2.SetToolTip(Label43, "ชอของวสดปอซโซลาน") ToolTip2.SetToolTip(Label45, "มวลรวมหยาบ") ToolTip2.SetToolTip(Label44, "มวลรวมละเอยด") ToolTip2.SetToolTip(Label46, "น า") ToolTip2.SetToolTip(Label001, "ความหนาแนนของคอนกรต")
106
ToolTip2.SetToolTip(Label47, "การค านวณ") ToolTip2.SetToolTip(Label48, "น าและปรมาณฟองอากาศ") ToolTip2.SetToolTip(Label86, "ปรมาณน าทตองการโดยประมาณ") ToolTip2.SetToolTip(Label87, "ปรมาณฟองอากาศ") ToolTip2.SetToolTip(Label90, "วสดประเภทซเมนต") ToolTip2.SetToolTip(Label89, "อตราน าตอซเมนต") ToolTip2.SetToolTip(Label88, "ปรมาณวสดประเภทซเมนต") ToolTip2.SetToolTip(Label76, "วสดปอซโซลาน") ToolTip2.SetToolTip(Label58, "ชอวสดปอซโซลาน") ToolTip2.SetToolTip(Label49, "ปรมาณซเมนต") ToolTip2.SetToolTip(Label53, "ปรมาณมวลรวมหยาบ") ToolTip2.SetToolTip(Label62, "ปรมาตรมวลรวมหยาบ") ToolTip2.SetToolTip(Label69, "น าหนกของมวลรวมหยาบในสภาพแหง") ToolTip2.SetToolTip(Label64, "น าหนกของมวลรวมหยาบในสภาพอมตวผวแหง") ToolTip2.SetToolTip(Label68, "ปรมาณมวลรวมละเอยด") ToolTip2.SetToolTip(Label107, "ปรมาตรน า") ToolTip2.SetToolTip(Label106, "ปรมาตรซเมนต") ToolTip2.SetToolTip(Label72, "ปรมาตรวสดปอซโซลาน") ToolTip2.SetToolTip(Label105, "ปรมาณมวลรวมหยาบ") ToolTip2.SetToolTip(Label63, "ปรมาตรฟองอากาศ") ToolTip2.SetToolTip(Label115, "ปรมาตรมวลรวมละเอยดทตองการ") ToolTip2.SetToolTip(Label114, "ปรมาตรโดยรวมท งหมด") ToolTip2.SetToolTip(Button2, "Help") ToolTip2.SetToolTip(Button7, "Help") ToolTip2.SetToolTip(CheckBox3, "Lock & Unlock") End Sub Private Sub Label4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label4.Click Slump.Show() End Sub Private Sub Label21_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label21.Click FM.Show() End Sub Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged If ComboBox1.SelectedItem.ToString = "Predict the Service Life of Concrete" Then Form2.Show() End If If ComboBox1.SelectedItem.ToString = "Prediction of Chloride Penetration in Fly Ash Concrete" Then Form5.Show() End If If ComboBox1.SelectedItem.ToString = "Compute Covering Depth for Protect Initial Corrosion" Then Form4.Show() End If End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Help3.Show() End Sub
107
Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If TextBox35.Text = "" Or Label132.Text = "" Then MessageBox.Show("Please input data value", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) Label161.Visible = False Return End If Button3.PerformClick() Label161.Visible = True If CheckBox1.Checked Then Form4.Show() Form4.Location = New Point(780, 5) Form5.Show() Form5.Location = New Point(200, 310) Form2.Show() Form2.Location = New Point(0, 5) Form2.TextBox3.Text = TextBox22.Text Form2.TextBox2.Text = Label132.Text Form5.TextBox3.Text = Label132.Text Form5.TextBox2.Text = TextBox22.Text Form4.TextBox3.Text = Label132.Text Form4.TextBox2.Text = TextBox22.Text Else Form2.TextBox3.Text = TextBox22.Text Form2.TextBox2.Text = Label132.Text Form5.TextBox3.Text = Label132.Text Form5.TextBox2.Text = TextBox22.Text Form4.TextBox3.Text = Label132.Text Form4.TextBox2.Text = TextBox22.Text End If End Sub Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click TextBox1.Text = 300 ComboBox2.Text = "8-10" TextBox4.Text = "Cement type I" TextBox6.Text = "Fly Ash" RadioButton1.PerformClick() sgprtlnd.Text = 3.15 sgpz.Text = 2.2 TextBox22.Text = 15 TextBox8.Text = "Stone" ComboBox3.Text = 25 TextBox9.Text = 2.7 TextBox10.Text = 0.5 TextBox11.Text = 2 TextBox12.Text = 1600 TextBox13.Text = "Sand" TextBox14.Text = 2.8 TextBox15.Text = 2.65 TextBox16.Text = 2 TextBox17.Text = 4 TextBox35.Text = 1 End Sub
108
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click Help4.Show() End Sub Private Sub CheckBox2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox2.CheckedChanged If CheckBox2.Checked Then Label159.ForeColor = Color.Lime Else : Label159.ForeColor = Color.Black End If If CheckBox2.CheckState = CheckState.Unchecked Then Label81.ForeColor = Color.Black Label82.ForeColor = Color.Black Label83.ForeColor = Color.Black Label84.ForeColor = Color.Black Label85.ForeColor = Color.Black Label91.ForeColor = Color.Black Label92.ForeColor = Color.Black Label99.ForeColor = Color.Black Label100.ForeColor = Color.Black Label108.ForeColor = Color.Black Label110.ForeColor = Color.Black Label109.ForeColor = Color.Black Label111.ForeColor = Color.Black Label113.ForeColor = Color.Black Label117.ForeColor = Color.Black Label118.ForeColor = Color.Black Label119.ForeColor = Color.Black Label120.ForeColor = Color.Black Label121.ForeColor = Color.Black Label122.ForeColor = Color.DarkGreen Label125.ForeColor = Color.Navy Label126.ForeColor = Color.Navy Label127.ForeColor = Color.Navy Label128.ForeColor = Color.Navy Label129.ForeColor = Color.Navy Label130.ForeColor = Color.Black Label131.ForeColor = Color.Black Label132.ForeColor = Color.Black Label133.ForeColor = Color.Black Label135.ForeColor = Color.Black Label136.ForeColor = Color.Black Label137.ForeColor = Color.Black Label138.ForeColor = Color.Black Label139.ForeColor = Color.Black Label140.ForeColor = Color.Black Label141.ForeColor = Color.Black Label142.ForeColor = Color.Black Label143.ForeColor = Color.Black Label144.ForeColor = Color.Black Label145.ForeColor = Color.Black End If End Sub Private Sub CheckBox3_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox3.CheckedChanged If CheckBox3.Checked Then TextBox1.ReadOnly = True
109
sgpz.ReadOnly = True sgprtlnd.ReadOnly = True TextBox10.ReadOnly = True TextBox11.ReadOnly = True TextBox11.ReadOnly = True TextBox12.ReadOnly = True TextBox14.ReadOnly = True TextBox15.ReadOnly = True TextBox16.ReadOnly = True TextBox17.ReadOnly = True TextBox22.ReadOnly = True TextBox35.ReadOnly = True TextBox9.ReadOnly = True ComboBox2.Enabled = False ComboBox3.Enabled = False TextBox4.ReadOnly = True TextBox6.ReadOnly = True TextBox8.ReadOnly = True TextBox13.ReadOnly = True RadioButton1.Enabled = False RadioButton2.Enabled = False CheckBox2.Enabled = False Button3.Enabled = False Button8.Enabled = False Button5.Enabled = False Else TextBox1.ReadOnly = False sgpz.ReadOnly = False sgprtlnd.ReadOnly = False TextBox10.ReadOnly = False TextBox11.ReadOnly = False TextBox11.ReadOnly = False TextBox12.ReadOnly = False TextBox14.ReadOnly = False TextBox15.ReadOnly = False TextBox16.ReadOnly = False TextBox17.ReadOnly = False TextBox22.ReadOnly = False TextBox35.ReadOnly = False TextBox9.ReadOnly = False ComboBox2.Enabled = True ComboBox3.Enabled = True TextBox4.ReadOnly = False TextBox6.ReadOnly = False TextBox8.ReadOnly = False TextBox13.ReadOnly = False RadioButton1.Enabled = True RadioButton2.Enabled = True CheckBox2.Enabled = True Button3.Enabled = True Button8.Enabled = True Button5.Enabled = True End If End Sub
110
Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click If MsgBox("Are you sure you want to clear all?", MsgBoxStyle.Question + MsgBoxStyle.YesNo, "Clear all") = MsgBoxResult.Yes Then Form2.TextBox3.Text = "" Form2.TextBox2.Text = "" Form5.TextBox3.Text = "" Form5.TextBox2.Text = "" Form4.TextBox3.Text = "" Form4.TextBox2.Text = "" Form2.Label16.Visible = False Form2.Label17.Visible = False Form5.Label16.Visible = False Form5.Label17.Visible = False Form4.Label16.Visible = False Form4.Label17.Visible = False Label81.Text = "" Label82.Text = "" Label83.Text = "" Label84.Text = "" Label85.Text = "" Label91.Text = "" Label92.Text = "" Label99.Text = "" Label100.Text = "" Label108.Text = "" Label110.Text = "" Label109.Text = "" Label111.Text = "" Label113.Text = "" Label117.Text = "" Label118.Text = "" Label119.Text = "" Label120.Text = "" Label121.Text = "" Label122.Text = "" Label124.Text = "" Label125.Text = "" Label126.Text = "" Label127.Text = "" Label128.Text = "" Label129.Text = "" Label130.Text = "" Label131.Text = "" Label132.Text = "" Label133.Text = "" Label135.Text = "" Label136.Text = "" Label137.Text = "" Label138.Text = "" Label139.Text = "" Label140.Text = "" Label141.Text = "" Label142.Text = "" Label143.Text = "" Label144.Text = "" Label145.Text = "" Label146.Text = "" TextBox1.Text = ""
111
sgpz.Text = "" sgprtlnd.Text = "" TextBox10.Text = "" TextBox11.Text = "" TextBox11.Text = "" TextBox12.Text = "" TextBox14.Text = "" TextBox15.Text = "" TextBox16.Text = "" TextBox17.Text = "" TextBox22.Text = "" TextBox35.Text = "" TextBox9.Text = "" ComboBox2.Text = "3-10" ComboBox3.Text = "10" TextBox4.Text = "" TextBox6.Text = "" TextBox8.Text = "" TextBox13.Text = "" RadioButton1.Enabled = True RadioButton2.Enabled = True CheckBox3.CheckState = CheckState.Unchecked CheckBox2.CheckState = CheckState.Unchecked CheckBox1.CheckState = CheckState.Unchecked Button3.Enabled = True Label74.Text = "" Label77.Text = "" Label78.Text = "" Label80.Text = "" Label79.Text = "" Label103.Text = "" Label151.Text = "" Label150.Text = "" Label149.Text = "" Label148.Text = "" Label154.Text = "" Label147.Text = "" Label134.Text = "" Label123.Text = "" Label152.Text = "" Label153.Text = "" Label155.Text = "" End If End Sub Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click Help5.Show() End Sub End Class
112
ภาคผนวก จ
โคดโปรแกรมท านายการแทรกซมคลอไรดในคอนกรตผสมเถาถานหน
ในสภาวะแวดลอมทางทะเล
113
Public Class Form5 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If TextBox1.Text = "" Or TextBox2.Text = "" Or TextBox3.Text = "" Or TextBox4.Text = "" Then MessageBox.Show("Please input data value", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) Return End If Dim A, B, C, D, F, G As Double A = (((-0.0015 * (TextBox3.Text)) + 0.0034) * TextBox2.Text) + (((-0.175) * (TextBox3.Text)) + 0.84) B = (((-0.379 * (TextBox3.Text)) + 2.064) * Math.Log(TextBox1.Text)) + ((4.078 * (TextBox3.Text)) + 1.011) C = TextBox4.Text D = (C / (2 * Math.Sqrt(((31536000 * (TextBox1.Text)) ^ (1 - A)) / (1 - A)))) F = (2 / Math.Sqrt(Math.PI)) * (D - ((D ^ 3) / 3) + ((D ^ 5) / 10) - ((D ^ 7) / 42) + ((D ^ 9) / 216) - ((D ^ 11) / 1320) + ((D ^ 13) / 9360)) G = B * (1 - F) If G < 100 Then Label11.Text = (String.Format("{0:f}", G)) Label12.Text = (String.Format("{0:f}", B)) Else : MessageBox.Show("Data", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) Return End If If Label11.Text < 0 Then Label11.Text = 0 Button1.ForeColor = Color.Lime End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click TextBox1.Text = "" TextBox2.Text = "" TextBox3.Text = "" TextBox4.Text = "" Label11.Text = "" Label12.Text = "" Label74.Visible = False Label16.Visible = False Label17.Visible = False End Sub Private Sub TextBox1_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress If e.KeyChar = Chr(13) Then TextBox2.Focus() End If If IsNumeric(e.KeyChar) = False AndAlso e.KeyChar <> Chr(8) AndAlso e.KeyChar <> Chr(46) Then e.KeyChar = Chr(0) End If End Sub Private Sub TextBox2_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox2.KeyPress
114
If e.KeyChar = Chr(13) Then TextBox3.Focus() End If If IsNumeric(e.KeyChar) = False AndAlso e.KeyChar <> Chr(8) AndAlso e.KeyChar <> Chr(46) Then e.KeyChar = Chr(0) End If End Sub Private Sub TextBox3_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox3.KeyPress If e.KeyChar = Chr(13) Then TextBox4.Focus() End If If IsNumeric(e.KeyChar) = False AndAlso e.KeyChar <> Chr(8) AndAlso e.KeyChar <> Chr(46) Then e.KeyChar = Chr(0) End If End Sub Private Sub TextBox4_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox4.KeyPress If e.KeyChar = Chr(13) Then Button1.Focus() End If If IsNumeric(e.KeyChar) = False AndAlso e.KeyChar <> Chr(8) AndAlso e.KeyChar <> Chr(46) Then e.KeyChar = Chr(0) End If End Sub Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged Button1.ForeColor = Color.Black If TextBox1.Text = "" Then Label74.Visible = True ElseIf TextBox1.Text = "." Or TextBox1.Text = ".." Or TextBox1.Text = "..." Or TextBox1.Text = "...." Or TextBox1.Text = "....." Or TextBox1.Text = "......" Then Label74.Visible = True ElseIf TextBox1.Text > 100 Or TextBox1.Text < 0 Then Label74.Visible = True Else : Label74.Visible = False End If End Sub Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged Button1.ForeColor = Color.Black If TextBox2.Text = "" Then Label16.Visible = True ElseIf TextBox2.Text = "." Or TextBox2.Text = ".." Or TextBox2.Text = "..." Or TextBox2.Text = "...." Or TextBox2.Text = "....." Or TextBox2.Text = "......" Then Label16.Visible = True ElseIf TextBox2.Text > 50 Or TextBox2.Text < 0 Then Label16.Visible = True Else : Label16.Visible = False End If End Sub
115
Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox3.TextChanged Button1.ForeColor = Color.Black If TextBox3.Text = "" Then Label17.Visible = True ElseIf TextBox3.Text = "." Or TextBox3.Text = ".." Or TextBox3.Text = "..." Or TextBox3.Text = "...." Or TextBox3.Text = "....." Or TextBox3.Text = "......" Then Label17.Visible = True ElseIf TextBox3.Text > 0.65 Or TextBox3.Text < 0.45 Then Label17.Visible = True Else : Label17.Visible = False End If End Sub Private Sub Form5_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ComboBox1.Text = "W/B Graph" Label1.Parent = PictureBox1 Label1.BackColor() = Color.Transparent End Sub Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged If ComboBox1.SelectedItem.ToString = "0.45" Then III_045.Show() End If If ComboBox1.SelectedItem.ToString = "0.55" Then III_055.Show() End If If ComboBox1.SelectedItem.ToString = "0.65" Then III_065.Show() End If End Sub End Class
116
ภาคผนวก ฉ
โคดโปรแกรมค านวณระยะคอนกรตหมเหลกเสรมเพอปองกนการกด
กรอนเรมตน
117
Public Class Form4 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If TextBox1.Text = "" Or TextBox2.Text = "" Or TextBox3.Text = "" Then MessageBox.Show("Please input data value", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) Return End If Dim A, B, C As Double A = ((3.18 * (TextBox3.Text ^ 2) - (4.124 * TextBox3.Text) + 1.0176) * TextBox2.Text) - 98.2 * (TextBox3.Text ^ 2) + 141.78 * TextBox3.Text - 25.488 B = (-9.515 * (TextBox3.Text ^ 2) + 9.574 * TextBox3.Text - 2.3887) * TextBox2.Text + (407.35 * (TextBox3.Text ^ 2) - 383.59 * TextBox3.Text + 101.94) C = TextBox1.Text Label12.Text = (String.Format("{0:f1}", (A * Math.Log(TextBox1.Text)) + B)) Label11.Text = (String.Format("{0:f}", Label12.Text / 10)) If Label11.Text < 0 Then Label11.Text = 0 If Label12.Text < 0 Then Label12.Text = 0 Button1.ForeColor = Color.Lime End Sub Private Sub TextBox1_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress If e.KeyChar = Chr(13) Then TextBox3.Focus() End If If IsNumeric(e.KeyChar) = False AndAlso e.KeyChar <> Chr(8) AndAlso e.KeyChar <> Chr(46) Then e.KeyChar = Chr(0) End If End Sub Private Sub TextBox3_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox3.KeyPress If e.KeyChar = Chr(13) Then TextBox2.Focus() End If If IsNumeric(e.KeyChar) = False AndAlso e.KeyChar <> Chr(8) AndAlso e.KeyChar <> Chr(46) Then e.KeyChar = Chr(0) End If End Sub Private Sub TextBox2_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox2.KeyPress If e.KeyChar = Chr(13) Then Button1.Focus() End If If IsNumeric(e.KeyChar) = False AndAlso e.KeyChar <> Chr(8) AndAlso e.KeyChar <> Chr(46) Then e.KeyChar = Chr(0) End If End Sub Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged
118
Button1.ForeColor = Color.Black If TextBox2.Text = "" Then Label17.Visible = True ElseIf TextBox2.Text = "." Or TextBox2.Text = ".." Or TextBox2.Text = "..." Or TextBox2.Text = "...." Or TextBox2.Text = "....." Or TextBox2.Text = "......" Then Label17.Visible = True ElseIf TextBox2.Text > 50 Or TextBox2.Text < 0 Then Label17.Visible = True Else : Label17.Visible = False End If End Sub Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged Button1.ForeColor = Color.Black If TextBox1.Text = "" Then Label74.Visible = True ElseIf TextBox1.Text = "." Or TextBox1.Text = ".." Or TextBox1.Text = "..." Or TextBox1.Text = "...." Or TextBox1.Text = "....." Or TextBox1.Text = "......" Then Label74.Visible = True ElseIf TextBox1.Text > 100 Or TextBox1.Text < 0 Then Label74.Visible = True Else : Label74.Visible = False End If End Sub Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox3.TextChanged Button1.ForeColor = Color.Black If TextBox3.Text = "" Then Label16.Visible = True ElseIf TextBox3.Text = "." Or TextBox3.Text = ".." Or TextBox3.Text = "..." Or TextBox3.Text = "...." Or TextBox3.Text = "....." Or TextBox3.Text = "......" Then Label16.Visible = True ElseIf TextBox3.Text > 0.65 Or TextBox3.Text < 0.45 Then Label16.Visible = True Else : Label16.Visible = False End If End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click TextBox1.Text = "" TextBox2.Text = "" TextBox3.Text = "" Label11.Text = "" Label12.Text = "" Label74.Visible = False Label16.Visible = False Label17.Visible = False Return End Sub Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ComboBox1.Text = "W/B Graph" Label1.Parent = PictureBox1
119
Label1.BackColor() = Color.Transparent End Sub Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged If ComboBox1.SelectedItem.ToString = "0.45" Then IV_045.Show() End If If ComboBox1.SelectedItem.ToString = "0.55" Then IV_055.Show() End If If ComboBox1.SelectedItem.ToString = "0.65" Then IV_065.Show() End If End Sub End Class
120
ประวตผจดท ำโครงงำน ชอ-สกล นายพรณฐ ฉมเอนก วนเดอนปเกด 21 พฤษภาคม 2535 อาย 21 ป ทอยปจจบน 39/10 หม 5 ต าบลบานบง อ าเภอบานบง จงหวดชลบร 20170 ประวตการศกษา 2538-2547 ระดบประถมศกษา โรงเรยนกญแจครสเตยนวทยา 2547-2550 ระดบมธยมศกษาตอนตน โรงเรยนบานบง"อตสาหกรรมนเคราะห" 2550-2553 ระดบมธยมศกษาตอนปลาย โรงเรยนบานบง"อตสาหกรรมนเคราะห" ปจจบนศกษา วศวกรรมโยธา คณะวศวกรรมศาสตร มหาวทยาลยบรพา ความสามารถ-ความสนใจ - ความสามารถดานการใชโปรแกรม SAP2000 ,Civil3D ,AutoCAD ,Aimsun ,Geostudio - การออกแบบ โครงสรางคอนกรตเสรมเหลก โครงสรางเหลก ประสบการณการฝกงาน - บรษท พลทรพย พรอพเพอรต จ ากด ในโครงการนอรธ บช คอนโดมเนยม (2 เดอน)
121
ประวตผจดท ำโครงงำน ชอ-สกล นายชรวธ วงษบณฑต วนเดอนปเกด 11 พฤษจกายน 2530 อาย 26 ป ทอยปจจบน 13 หม 4 ต าบลบานช อ าเภอบานหม จงหวดลพบร 15110 ประวตการศกษา 2536-2542 ระดบประถมศกษา โรงเรยนวดธรรมมการาม 2542-2545 ระดบมธยมศกษาตอนตน โรงเรยนพระวรสาร 2545-2548 ระดบวทยาลย( ปวช .) วทยาลย เทคโนโลยและ อตสาหกรรมการตอเรอพระนครศรอยธยา ปจจบนศกษา วศวกรรมโยธา คณะวศวกรรมศาสตร มหาวทยาลยบรพา และท างานอยท บรษทพลทรพย พรอพเพอรต ความสามารถ-ความสนใจ - ความสามารถดานการท างานเก ยวกบงานกอสรางเคลยรแบบหนางาน ถอดแบบประสานงานตางๆ - ความสนใจในการออกแบบโครงสราง วเคราะหในหลกการกอสรางการด าเนนงานต งแตตนจนจบงานและจะสนใจอาคารสงเปนพเศษ มากกวางานกอสรางถนน