สกาดาเหมาะสำหรับการตรวจสอบ และเก็บรวบรวมข้อมูลของกระบวนการผลิต และการบริหารระบบควบคุมของกลุ่มโรงงานอุตสาหกรรมขนาดใหญ่บริเวณกระบวนการผลิตครอบคลุมพื้นที่กว้าง หรือโรงงานอุตสาหกรรมมีกระบวนการผลิตอิสระติดตั้งกระจัดกระจายทั่วบริเวณพื้นที่การผลิต รวมถึงระบบสาธารณุประโภคต่าง ๆ เช่น ระบบจ่ายไฟฟ้าและน้ำประปา ระบบท่อส่งก๊าซและน้ำมัน สกาดาไม่เหมาะสำหรับการควบคุมกระบวนการชนิดสัญญาณต่อเนื่องและการควบคุมกระบวนการแบบติดและดับของกระบวนการผลิตทั่วไป เนื่องจากสกาดาสามารถคำนวณและประวลผลข้อมูลโดยหน่วยประมวลผลภายในหน่วยติดต่อและปฏิบัติการของผู้ใช้ระดับบนซึ่งไม่มีหน้าท ี่สำหรับการควบคุมกระบวนการผลิตโดยตรงการรับสัญญาณวัดและส่งสัญญาณควบคุมระหว่างสกาดากับกระบวนการผลิตต้องผ่านการเชื่อมต่อ ของระบบเครือข่ายทำให้การควบคุมกระบวนการผลิตของสกาดาไม่มีประสิทธิภาพเช่นเดียวกับระบบควบคุมแบบอื่น
Project พัดลมปรับความเร็วตามอุณหภูมิ + ควบคุมผ่าน Android Phone
แนะนำความสามารถของพัดลมตัวนี้กันก่อนนะครับ สามารถทำงานได้ 3 โหมด คือ 1. Manual 2. Auto และ 3. Manual โดย Android Phone
มาสคอตสินค้าของ Hada Labo
เป็นผลิตภัณฑ์ดูแลผิวจากประเทศญี่ปุ่น ซึ่งทางทีมงานได้เข้าไปทำระบบไฟฟ้าและควบคุมเจ้าตัวมาสคอตดังรูปด้านล่าง โดยทำเป็นเกม ให้ผู้เล่นแข่งกันตบแก้ม ใครตบเก่งก็เป็นผู้ชนะไปนะครับ
วันพุธที่ 31 กรกฎาคม พ.ศ. 2556
21:50
Pornprasert
Whati's SCADA?
SCADA นั้นย่อมาจากคำว่า Supervisory Control And Data Acquisition เป็นระบบตรวจสอบและวิเคราะห์ข้อมูลแบบ Real-time ใช้ในการตรวจสอบสถานะตลอดจนถึงควบคุมการทำงานของระบบควบคุมในอุตสาหกรรมและงานวิศวกรรมต่าง ๆ เช่น งานด้านโทรคมนาคมสื่อสาร การประปา การบำบัดน้ำเสีย การจัดการด้านพลังงาน อุตสาหกรรมการกลั่นน้ำมันและก็าซ อุตสาหกรรมเคมี อุตสาหกรรมประกอบรถยนต์ การขนส่ง กระบวนการนิวเคลียร์ในโรงไฟฟ้าเป็นต้น ตัวอย่างการใช้งานเช่นใช้ SCADAตรวจสอบข้อมูลเช่นการรั่วไหลของของเหลวที่เกิดขึ้นในท่อขนส่งจากตัวตรวจจับแล้วส่งสัญญาณแจ้งเตือนให้พนักงานทราบ โดยส่งข้อมูลสู่ส่วนกลางของระบบ SCADA เป็นต้น นอกจากนั้น SCADA อาจทำหน้าที่คำนวนและประมวลผลข้อมูลที่ได้จากฮาร์ดแวร์ต่าง ๆ เช่น PLC, Controller, DCS, RTU แล้วแสดงข้อมูลทางหน้าจอ หรือส่งสัญญาณควบคุมฮาร์ดแวร์ดังกล่าว เช่นหากอุณหภูมิของอุปกรณ์สูงเกินพิกัด ให้ทำการปิดอุปกรณ์นั้นเป็นต้น โดยสั่งงานผ่าน PLC หรือ Controller ที่ติดต่ออยู่ ทั้งนี้ SCADA สามารถเก็บรวบรวมข้อมูลที่ได้จากระบบควบคุมทั้งหมดไว้ในฐานข้อมูลเพื่อให้พนักงานหรือโปรแกรมอื่น ๆ สามารถนำไปใช้งานได้ SCADA นั้นเข้าไปมีส่วนในงานควบคุมทั้งเล็กและใหญ่ที่ต้องการแสดงผล แลกเปลี่ยนข้อมูล หรือควบคุมระบบต่าง ๆ จากส่วนกลาง เพื่อการทำงานของระบบรวมที่สัมพันธ์กัน มองเห็นภาพรวมได้อย่างชัดเจนและมีความรวดเร็วต่อเหตุการณ์ต่าง ๆ ที่เกิดขึ้น ระบบ SCADA ในปัจจุบันมีความสามารถในการสื่อสาร ควบคุม และประมวลผลข้อมูลจาก I/O ของอุปกรณ์เช่น PLC, DCS, RTU ได้ถึงระดับที่เกินหนึ่งแสน I/O แล้ว และได้รับการพัฒนาให้มีความสามารถรองรับความต้องการใหม่ ๆ ของผู้ใช้งานอย่างต่อเนื่องตลอดมา SCADA ประกอบด้วยส่วนประกอบหลักคือ หน่วยติดต่อและปฏิบัติการของผู้ใช้ระดับบน หน่วยควบคุมระยะไกล และหน่วยติดต่อระยะไกล
รูปองค์ประกอบของระบบ SCADA
ผู้ใช้สามารถตรวจสอบและควบคุมกระบวนการผลิตภายในโรงงานอุตสาหกรรมเป็นระยะทางไกลได้โดย หน่วยติดต่อและปฏิบัติการของผู้ใช้ระดับบนเป็นเครื่องมือปฏิบัติการของผู้ใช้สำหรับตรวจสอบและควบคุม กระบวนการผลิตเชื่อมต่อกับหน่วยควบคุมระยะไกล หน่วยควบคุมระยะไกลติดต่อกับหน่วยติดต่อระยะไกลโดยการสื่อสารข้อมูลแบบดิจิตอลทางระบบเครือข่ายคมนาคม และหน่วยติดต่อระยะไกลเป็นเครื่องมือเชื่อมต่อกับกระบวนการผลิต ประกอบด้วย หน่วยรับสัญญาณ และส่งสัญญาณของสัญญาณชนิดแอนะล็อก และสัญญาณชนิดดิจิตอล
รูปการติดตั้ง SCADA สำหรับตรวจสอบ เก็บรวบรวมข้อมูล และบริหารระบบควบคุม
SCADA เหมาะสมกับงานประเภทใด
สกาดาเหมาะสำหรับการตรวจสอบ และเก็บรวบรวมข้อมูลของกระบวนการผลิต และการบริหารระบบควบคุมของกลุ่มโรงงานอุตสาหกรรมขนาดใหญ่บริเวณกระบวนการผลิตครอบคลุมพื้นที่กว้าง หรือโรงงานอุตสาหกรรมมีกระบวนการผลิตอิสระติดตั้งกระจัดกระจายทั่วบริเวณพื้นที่การผลิต รวมถึงระบบสาธารณุประโภคต่าง ๆ เช่น ระบบจ่ายไฟฟ้าและน้ำประปา ระบบท่อส่งก๊าซและน้ำมัน สกาดาไม่เหมาะสำหรับการควบคุมกระบวนการชนิดสัญญาณต่อเนื่องและการควบคุมกระบวนการแบบติดและดับของกระบวนการผลิตทั่วไป เนื่องจากสกาดาสามารถคำนวณและประวลผลข้อมูลโดยหน่วยประมวลผลภายในหน่วยติดต่อและปฏิบัติการของผู้ใช้ระดับบนซึ่งไม่มีหน้าท ี่สำหรับการควบคุมกระบวนการผลิตโดยตรงการรับสัญญาณวัดและส่งสัญญาณควบคุมระหว่างสกาดากับกระบวนการผลิตต้องผ่านการเชื่อมต่อ ของระบบเครือข่ายทำให้การควบคุมกระบวนการผลิตของสกาดาไม่มีประสิทธิภาพเช่นเดียวกับระบบควบคุมแบบอื่น
สกาดาเหมาะสำหรับการตรวจสอบ และเก็บรวบรวมข้อมูลของกระบวนการผลิต และการบริหารระบบควบคุมของกลุ่มโรงงานอุตสาหกรรมขนาดใหญ่บริเวณกระบวนการผลิตครอบคลุมพื้นที่กว้าง หรือโรงงานอุตสาหกรรมมีกระบวนการผลิตอิสระติดตั้งกระจัดกระจายทั่วบริเวณพื้นที่การผลิต รวมถึงระบบสาธารณุประโภคต่าง ๆ เช่น ระบบจ่ายไฟฟ้าและน้ำประปา ระบบท่อส่งก๊าซและน้ำมัน สกาดาไม่เหมาะสำหรับการควบคุมกระบวนการชนิดสัญญาณต่อเนื่องและการควบคุมกระบวนการแบบติดและดับของกระบวนการผลิตทั่วไป เนื่องจากสกาดาสามารถคำนวณและประวลผลข้อมูลโดยหน่วยประมวลผลภายในหน่วยติดต่อและปฏิบัติการของผู้ใช้ระดับบนซึ่งไม่มีหน้าท ี่สำหรับการควบคุมกระบวนการผลิตโดยตรงการรับสัญญาณวัดและส่งสัญญาณควบคุมระหว่างสกาดากับกระบวนการผลิตต้องผ่านการเชื่อมต่อ ของระบบเครือข่ายทำให้การควบคุมกระบวนการผลิตของสกาดาไม่มีประสิทธิภาพเช่นเดียวกับระบบควบคุมแบบอื่น
วันอาทิตย์ที่ 28 กรกฎาคม พ.ศ. 2556
15:02
Pornprasert
PLC คืออะไร ?
คำว่า PLC ย่อมาจาก Programmable Logic Controller เป็นอุปกรณ์ควบคุมอิเล็คทรอนิกส์ ที่มีหน่วย ความจำในการเก็บProgram สำหรับควบคุมการทำงานของอุปกรณ์ต่างๆ หรือเครื่องควบคุมเชิงตรรกที่สามารถโปรแกรมได้ โดยการเรียกชื่อ แตกต่างกันออกไปดังนี้
- PC คือ Programmable Controller มีต้นกำเนิดมาจากสหราชอณาจักร ซึ่งในปัจจุบันนี้ PLC บางยี่ห้อได้ เรียก PLC ของตัวเองว่า PC โดยตัดคำว่า Logic ออกเพราะเขาเห็นว่า PLC ของเขาทำได้มากกว่า คำว่า Logic (ON-OFF) ธรรมดา แต่เนื่องจากPC กับไปตรงกับ Personal Computer เลยต้องเรียกว่า PLC กันต่อไป
- PLC คือ Programmable Logic Controller มีต้นกำเนิดมาจากประเทศสหรัฐอเมริกา
- PBS คือ Programmable Binary System มีต้นกำเนิดมาจากประเทศสวีเดน
PLC เป็นเครื่องควบคุมอัติโนมัติที่สามารถโปรแกรมได้ PLC ถูกสร้างและพัฒนาแทนวงจรรีเลย์อันเนื่องมาจากความต้องการที่อยากได้เครื่องควบคุมที่มีราคาถูก สามารถใช้งานได้อย่างอเนกประสงค์และสามารถเรียนรู้การใช้งานได้ง่าย
- PC คือ Programmable Controller มีต้นกำเนิดมาจากสหราชอณาจักร ซึ่งในปัจจุบันนี้ PLC บางยี่ห้อได้ เรียก PLC ของตัวเองว่า PC โดยตัดคำว่า Logic ออกเพราะเขาเห็นว่า PLC ของเขาทำได้มากกว่า คำว่า Logic (ON-OFF) ธรรมดา แต่เนื่องจากPC กับไปตรงกับ Personal Computer เลยต้องเรียกว่า PLC กันต่อไป
- PLC คือ Programmable Logic Controller มีต้นกำเนิดมาจากประเทศสหรัฐอเมริกา
- PBS คือ Programmable Binary System มีต้นกำเนิดมาจากประเทศสวีเดน
PLC เป็นเครื่องควบคุมอัติโนมัติที่สามารถโปรแกรมได้ PLC ถูกสร้างและพัฒนาแทนวงจรรีเลย์อันเนื่องมาจากความต้องการที่อยากได้เครื่องควบคุมที่มีราคาถูก สามารถใช้งานได้อย่างอเนกประสงค์และสามารถเรียนรู้การใช้งานได้ง่าย
วันเสาร์ที่ 20 กรกฎาคม พ.ศ. 2556
19:16
Pornprasert
ปัจจุบัน PLC ถูกนำมาใช้ในโรงงานอุตสาหกรรมมากขึ้น ซึ่งตัว PLC นั่นใช้ควบคุมการทำงานของเครื่องจักร เปรียบเสมือนเป็นหัวใจของระบบเลยก็ว่าได้ ซึงถ้าเกิดความเสียหายกับ PLC นั่นหมายถึงเครื่องจักรหยุดทำงาน ส่งผลกระทบกับกำลังการผลิตไม่เป็นไปตามแผนที่วางแผนไว้ ทำให้การจัดส่งล่าช้าและส่งผลเสียหายแก่บริษัทเป็นอย่างมาก
เพราะฉนั้น เราต้องทราบถึงพื้นฐานในการดูแลและตรวจสอบ PLC โดยพื้นฐานการตรวจสอบแบ่งออกได้ ดังนี้
เพราะฉนั้น เราต้องทราบถึงพื้นฐานในการดูแลและตรวจสอบ PLC โดยพื้นฐานการตรวจสอบแบ่งออกได้ ดังนี้
- ให้สังเกตหลอดไฟแสดงสถานะ power supply
- หลอดไฟติด แสดงว่าปกติ
- หลอดไฟกะพริบ แสดงว่าผิดปกติ
- การจ่ายแรงดันไฟฟ้าให้กับ Power Supply ต่ำกว่าค่ามาตรฐานที่กำหนด แก้ไขโดยปรับแรงดันให้ได้ตามมาตรฐานที่กำหนด
- วงจร Power Supply ภายใน PLC มีปัญหา แก้ไขโดยไม่ควรแก้ไขเองส่งให้ Supplier ซ่อม
- หลอดไฟดับ แสดงว่าไม่มีการจ่ายแรงดันไฟฟ้าให้กับ Module หรือเกิดจากวงจร Power Supple ภายใน PLC มีปัญหา
- ตรวจสอบโหมดการทำงาน
- สถานะของไฟ Run ติด แสดงว่าปกติ
- สถานะของไฟ Run ติดกะพริบ แสดงว่าผิดปกติ
- Program หรือ Parameter Error แก้ไขโดย write to PLC ใหม่
- สถานะของไฟ Run ดับ แสดงว่าผิดปกติ
- ตรวจไฟสถานะของ LED ดังรูปด้านล่าง (แนะนำให้ทำทุกวัน)
ข้อมูลที่่ได้จาก Manual ของ PLC แต่ละรุ่น |
4. Preventive Maintenance ทุก 6 เดือน หรือ 1 ปี ตรวจสอบระบบ PLC พวก Semiconductor ส่วนเชื่อมต่อทางไฟฟ้า ดังรูปด้านล่าง
5. Periodic maintenance ทำ 1 หรือ 2 ครั้ง ทุก 6 เดือน ตามรูปด้านล่าง
6.ตรวจสอบแรงดันไฟสำรองแบตเตอรี่(Battery) เป็นอุปกรณ์ที่ใช้สำหรับจ่ายแรงดันไฟสำรองเพื่อรักษาข้อมูลไม่ให้สูญหายเมื่อเกิดไฟดับ โดยใช้ร่วมกับหน่วยความจำประเภท RAM โดยอายุการใช้งานของแบตเตอรี่จะขึ้นอยู่กับความจุของหน่วยความจำและระยะเวลาที่ไฟดับ (โดยปกติควรเปลี่ยนทุกๆ 5 ปี) ซึ่งจะมีสัญญาณไฟติดที่หลอด Batt.B หรือ BAT. ต้องรีบเปลี่ยนทันทีนะครับ
วิธีการเปลี่ยนแบตเตอรี่ทำโดย
- ถอดฝาครอบ PLC ออก จะพบแบตเตอรี่ที่มีสายไฟเสียบอยู่ให้ถอดปลั๊กสายไฟแบตเตอรี่ออก
- ถอดแบตเตอรี่ออกจากชุดจับยึดแบตเตอรี่
- ติดตั้งแบตเตอรี่ใหม่กับชุดจับยึดแบตเตอรี่และต่อปลั๊กสายไฟแบตเตอรี่
- การเปลี่ยนแบตเตอรี่ทุกครั้งควรใช้แบตเตอรี่ใหม่ที่ไม่เคยถูกใช้งาน และการเปลี่ยนต้องเปลี่ยนให้เสร็จภายใน 30 วินาทีหลังจากถอดปลั๊กสายไฟแบเตอรี่ออก
วันศุกร์ที่ 5 เมษายน พ.ศ. 2556
วันอาทิตย์ที่ 3 มีนาคม พ.ศ. 2556
13:18
Pornprasert
GX Deverloper V8 เป็นเครื่องมือที่ใช้เขียนโปรแกรม plc ของ Mitsubishi ซึ่งวันนี้จะมาบอกวิธีการติดตั้งโปรแกรมนะครับ
1.ทำการโหลดโปรแกรม GX Derverloper V8 มาก่อน จะได้ดังรูป
- ทำการติดตั้ง EnvMEL ก่อน
- แล้วติดตั้ง GX Deverloper V.8
ติดตั้ง Environment of MELSOFT
ติดตั้ง GX Deverloper V.8
เมื่อติดตั้งสำเร็จถ้าต้องการ Simulation ในโปแกรม GX Deverloper ก็ลง GX Simulation ซึ่งหลักการติดตั้งเหมือน GX Deverloper เลยครับ
00:19
Pornprasert
ModScan เป็นเครื่องมือที่ช่วยใช้ในการ mapping address ของ SCADA MODBUS TCP RUT ซึ่งสามารถ อ่าน เขียน ข้อมูลได้ หรือในบ้างครั้งเราก็ใช้ในการอ่านค่าจาก Instrument หรือ PLC ขึ้นมาดูค่า Parameter ซึ่งระบบของเราต้องมีการใช้งาน MODBUS PROTOCOL
เริ่มจาก download ModScan แต่เป็นตัว demo นะครับ
พอโหลดเสร็จก็แตกไฟล์จะได้ดังรูป
สร้าง connection ไปที่ Connection>>Connect จะแสดงหน้าต่างดังรูปมาให้เรา config ซึ่งในที่นี้เราจะใช้
ethernet นั่นคือ modbus tcp ใส่ ip address และ Port ของอุปกรณ์ที่รองรับ Modbus Protocol
เริ่มจาก download ModScan แต่เป็นตัว demo นะครับ
พอโหลดเสร็จก็แตกไฟล์จะได้ดังรูป
เมื่อเราดับเบิ้ลคลิกไปที่ ModScan32.exe หน้าตาโปรแกรมจะเป็นดังรูป
ethernet นั่นคือ modbus tcp ใส่ ip address และ Port ของอุปกรณ์ที่รองรับ Modbus Protocol
เมื่อเราสร้าง connection สำเร็จ เราสามารถ อ่าน เขียน Modbus point tpye ได้ 4 แบบ ดังรูป
สามารถเขียนค่าของข้อมูลได้ดังรูป
สามารถเลือกโหมดการอ่านเขียน address ได้ตามรูป
ทั้งหมดนี้สามารถอ่านข้อมูลได้เพิ่มเติมตามลิ้งข้างล่างเลยครับ
วันอังคารที่ 3 เมษายน พ.ศ. 2555
วันพุธที่ 28 มีนาคม พ.ศ. 2555
21:01
Pornprasert
วันนี้ว่าง ๆ หลังทานอาหารอิ่มๆ ผมไปอ่านข่าวเจอแอฟที่เป็นเกมยอดนิยมใน iPhone / iPad มาช่วงระยะเวลาหนึ่ง นั่นคือ เกม Temple Run ซึ่งตอนนี้ใน Android โดยสามารถโหลดใน Google Play แล้วคร้าบบบ !! เกมก็ไม่มีอะไรมาก ผู้เล่นรับบทเป็นนักล่าสมบัติที่ต้องวิ่งหนีสัตว์ประหลาด มีการหลบสิ่งกีดขวาง กระโดด มุด และเก็บเหรียญตามจุดต่างๆ สนุกมากๆคร้าบลองโหลดเล่นกันนะคร้าบบ !!
ดาวน์โหลด ที่นี้
รูปตัวอย่างเกม Temple Run . . .
ดาวน์โหลด ที่นี้
รูปตัวอย่างเกม Temple Run . . .
วันอังคารที่ 30 สิงหาคม พ.ศ. 2554
วันเสาร์ที่ 20 สิงหาคม พ.ศ. 2554
วันศุกร์ที่ 29 กรกฎาคม พ.ศ. 2554
04:54
Pornprasert
การสร้างลิงค์ติดต่อสื่อสารแบบ TCP/IP ที่เป็น sockets เป็นการเชื่อมต่อแบบ connection-orientated ซึ่งนั้นก็หมายความว่าการสนทนาระหว่างเครื่อง client กับ server จะทำการเชื่อมต่อตลอดเวลาที่สนทนานอกเสียจากมันจะเสีย ซึ่งการสนทนากันหรือการแลกเปลี่ยนข้อมูลระหว่าง client กับ server นั้นจะต้องเป็นไปตามกฎของ protocol
สำหรับตัวอย่างการติดต่อ TCP/IP ที่เป็น sockets ผมจะให้
- โทรศัพท์มือถือ android ให้เป็น client
- notebook เป็น server
รูปแสดงไดอะแกรมแสดงการติดต่อสื่อสารกันระหว่าง client และ server ด้วย TCP Socket |
รูปแสดงลำดับขั้นตอนในการติดต่อสื่อสารข้อมูล TCP Socket |
Client SimpleConnect.rar
Java Code
package com.tomkrub.app.simpleconnect;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import android.view.View;
import android.view.View.OnClickListener;
public class SimpleConnectActivity extends Activity {
/** Called when the activity is first created. */
private Button btnConnect;
private EditText editIP;
private EditText editPort;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
import java.io.IOException;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import android.view.View;
import android.view.View.OnClickListener;
public class SimpleConnectActivity extends Activity {
/** Called when the activity is first created. */
private Button btnConnect;
private EditText editIP;
private EditText editPort;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
editIP = (EditText)findViewById(R.id.editIP);
editPort = (EditText)findViewById(R.id.editPort);
btnConnect = (Button)findViewById(R.id.btnConnect);
btnConnect.setOnClickListener(new OnClickListener()
{ public void onClick(View v){
connect(editIP.getText().toString(),Integer.parseInt(editPort.getText().toString()));
}
});
// connectIP();
}
public void connect (String IP,int Port)
{
Socket clientSocket = null;
try {
//clientSocket = new Socket("localhost", 5000);//127.0.0.1
clientSocket = new Socket(IP,Port);
Toast.makeText(this, clientSocket.getInetAddress().toString(),
Toast.LENGTH_LONG).show();
//clientSocket.close();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
Toast.makeText(this, "UnknownHostException "+e,
Toast.LENGTH_LONG).show();
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
Toast.makeText(this, "IOException "+e,
Toast.LENGTH_LONG).show();
e.printStackTrace();
}
PrintWriter outToServer = null;
try {
outToServer = new PrintWriter(clientSocket.getOutputStream(),true);
outToServer.println ("test sentence na krub") ; //ประโยคที่ทำการส่งให้ server
Toast.makeText(this, "test",Toast.LENGTH_LONG).show();
clientSocket.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
editPort = (EditText)findViewById(R.id.editPort);
btnConnect = (Button)findViewById(R.id.btnConnect);
btnConnect.setOnClickListener(new OnClickListener()
{ public void onClick(View v){
connect(editIP.getText().toString(),Integer.parseInt(editPort.getText().toString()));
}
});
// connectIP();
}
public void connect (String IP,int Port)
{
Socket clientSocket = null;
try {
//clientSocket = new Socket("localhost", 5000);//127.0.0.1
clientSocket = new Socket(IP,Port);
Toast.makeText(this, clientSocket.getInetAddress().toString(),
Toast.LENGTH_LONG).show();
//clientSocket.close();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
Toast.makeText(this, "UnknownHostException "+e,
Toast.LENGTH_LONG).show();
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
Toast.makeText(this, "IOException "+e,
Toast.LENGTH_LONG).show();
e.printStackTrace();
}
PrintWriter outToServer = null;
try {
outToServer = new PrintWriter(clientSocket.getOutputStream(),true);
outToServer.println ("test sentence na krub") ; //ประโยคที่ทำการส่งให้ server
Toast.makeText(this, "test",Toast.LENGTH_LONG).show();
clientSocket.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Server TCP chat program Download TCPChat.jar หรือ Gui.java
ผลการทดลอง
ขณะรอการเชื่อมต่อจาก client |
ป้อน IP กับ Port ของ Server พร้อมกด Connect |
Server เชื่อมต่อกับ client พร้อมได้รับข้อมูล |
สมัครสมาชิก:
บทความ
(
Atom
)