VRV/VRF System Toolkit · SML Service

คำนวณ ระบบ VRV
VRF อุตสาหกรรม

รวมเครื่องมือคำนวณสำหรับงานออกแบบและติดตั้งระบบ VRV/VRF — ภาระความเย็นรวม, Combination Ratio, ขนาดท่อน้ำยา และปริมาณน้ำยาเพิ่มเติม ใช้งานออนไลน์ ไม่ต้องติดตั้ง

8 TOOLS · VRV/VRF
ระบบ VRV / VRF Toolkit
เลือกเครื่องมือที่ต้องการใช้งานจากด้านล่าง
–
Tools
–
Load รวม (kW)
← กลับหน้าหลัก
ภาระความเย็น รวมหลายโซน
รวม BTU/Load ของแต่ละห้องหรือโซน เพื่อประเมินขนาดระบบ VRV ทั้งหมด
รายการโซน/ห้อง
Σ
เพิ่มโซน/ห้อง แล้วกดคำนวณ Load รวม
← กลับหน้าหลัก
คำนวณ Combination Ratio
สัดส่วนขนาด Indoor Unit รวม เทียบกับขนาด Outdoor Unit
รวมความเย็นของ Indoor Unit ทุกตัวที่เชื่อมต่อ
1 HP ≈ 2.8 kW (ค่ามาตรฐานโดยประมาณที่ใช้ทั่วไป)
CR
กรอกข้อมูลแล้วกดคำนวณ
หมายเหตุ: ช่วง Combination Ratio ที่ระบบส่วนใหญ่รองรับคือ 50%–130% (บางรุ่นรองรับสูงสุดถึง 150–200% แล้วแต่ยี่ห้อและซีรีส์) ค่าที่แสดงเป็นค่าอ้างอิงทั่วไป โปรดตรวจสอบขีดจำกัดที่แน่นอนจากคู่มือออกแบบ (Design/Engineering Manual) ของผู้ผลิตก่อนสรุปแบบ
← กลับหน้าหลัก
ขนาด ท่อน้ำยา
หาขนาดท่อ Liquid/Gas สำหรับท่อหลัก (จาก Outdoor) และท่อแยกหลัง Refnet Joint
ท่อหลัก (Main Line จาก Outdoor)
⌀
กรอก HP แล้วกดคำนวณ
ท่อแยก (Branch หลัง Refnet Joint)
⌀
กรอก HP แล้วกดคำนวณ
ตารางอ้างอิงขนาดท่อ (R410A/R32)
Capacity Indexท่อ Liquidท่อ Gas (Suction)
≤ 5.5 HP1/4" (6.4 mm)1/2" (12.7 mm)
5.5 – 8 HP3/8" (9.52 mm)5/8" (15.9 mm)
8 – 10 HP3/8" (9.52 mm)3/4" (19.1 mm)
10 – 16 HP1/2" (12.7 mm)7/8" (22.2 mm)
16 – 20 HP1/2" (12.7 mm)1" (25.4 mm)
20 – 27 HP5/8" (15.9 mm)1-1/8" (28.6 mm)
27 – 34 HP3/4" (19.1 mm)1-3/8" (34.9 mm)
34 – 48 HP7/8" (22.2 mm)1-5/8" (41.3 mm)
> 48 HP1-1/8" (28.6 mm)1-5/8" (41.3 mm)
ข้อจำกัดความยาวท่อโดยทั่วไป (ค่าอ้างอิง)
รายการค่าอ้างอิงทั่วไป
ความยาวท่อรวมสูงสุดทั้งระบบ~ 1,000 ม. (ความยาวจริง)
Outdoor ถึง Indoor ที่ไกลที่สุด~ 165 ม. (จริง) / ~ 190 ม. (เทียบเท่า)
Outdoor ถึง Refnet Joint แรก~ 40 ม.
ผลต่างระดับความสูง Outdoor-Indoor~ 50–90 ม. แล้วแต่ทิศทาง
ผลต่างระดับความสูง Indoor-Indoor~ 15 ม.
หมายเหตุ: ตารางขนาดท่อและระยะท่อเป็นค่าอ้างอิงทั่วไปโดยประมาณ ค่าจริงแตกต่างกันตามยี่ห้อ ซีรีส์ และรุ่นของอุปกรณ์ ก่อนดำเนินการติดตั้งจริงควรตรวจสอบตารางขนาดท่อและข้อจำกัดที่แน่นอนจากคู่มือออกแบบ (Engineering/Design Manual) ของผู้ผลิตแต่ละราย
← กลับหน้าหลัก
ปริมาณ น้ำยาเพิ่มเติม
คำนวณตามสูตรของคู่มือ — ความยาวท่อ Liquid แต่ละขนาด บวกค่า A จากตาราง แล้วบอกให้ด้วยว่าต้อง Pre-charging ก่อนหรือไม่ พร้อมพิมพ์แผ่นป้ายบันทึกติดเครื่องได้
แผ่นป้ายบันทึก 3P507132-1 ที่ติดมากับเครื่อง — ยืนยันตรงกับตารางในสไลด์อบรม Daikin
ช่วงท่อ Liquid
ค่าสำหรับเปิดตาราง A
ใช้ตัดสินว่าเข้าเกณฑ์ ≤ 30 ม. หรือ > 30 ม. — ไม่ใช่ความยาวท่อรวม
R
เพิ่มช่วงท่อ Liquid แล้วกดคำนวณ
สูตรตามคู่มือ Daikin: R = (ผลรวมของ ความยาวท่อ Liquid แต่ละขนาด × ค่า kg/m ของขนาดนั้น) + ค่า A จากตาราง แล้วปัดเป็นทศนิยม 1 ตำแหน่ง — หลายคนลืมบวกค่า A ทำให้เติมน้ำยาขาดได้ถึง 2.5 kg ในระบบ 20 HP ที่ CR สูงและท่อยาวเกิน 30 ม. · ค่า kg/m ต่างกันจริงระหว่างรุ่น (Ø9.5 = 0.057 ใน VRV-X แต่ = 0.059 ใน VRV IV-S) จึงต้องเลือกชุดค่าให้ตรงรุ่นก่อนคำนวณทุกครั้ง · ยอดนี้ยังไม่รวม Factory Charge ให้ดูจากป้ายข้อมูลที่เครื่อง

เรื่องการปัดเศษ: คู่มือกำหนดให้ปัด R เป็นทศนิยม 1 ตำแหน่ง เครื่องมือนี้จึงปัดแบบนั้น แต่ในตัวอย่างของคู่มือเอง เมื่อคำนวณได้ 2.9494 kg ช่างเติมจริงไป 3.0 kg — เครื่องมือจึงแสดงค่าก่อนปัดเศษไว้ในรายการย่อยด้วย เพื่อให้ตัดสินใจหน้างานได้เอง
ตาราง A — ค่าชดเชยตาม %CR และขนาด Outdoor (kg)
ความยาวท่อที่ใช้เลือกกลุ่มในตารางนี้ คือระยะจากคอยล์ร้อนถึงคอยล์เย็นตัวที่ไกลที่สุด ไม่ใช่ความยาวท่อรวมทั้งระบบ · ถ้า CR อยู่นอกช่วง 50–200% ตารางนี้ให้ค่าไม่ได้
ความยาวท่อ %CR (Indoor รวม ÷ Outdoor) 6~8 HP 10~12 HP 14~18 HP 20 HP
≤ 30 ม.50% ≤ CR ≤ 105%0000.5
105% < CR ≤ 130%0.50.50.51.0
130% < CR ≤ 160%0.50.50.51.3
160% < CR ≤ 200%0.50.71.01.5
> 30 ม.50% ≤ CR ≤ 70%0000.5
70% < CR ≤ 85%0.30.50.51.0
85% < CR ≤ 105%0.71.01.01.5
105% < CR ≤ 130%1.21.51.52.0
130% < CR ≤ 160%1.21.51.52.3
160% < CR ≤ 200%1.21.72.02.5
ค่า kg ต่อ 1 เมตร ของท่อ Liquid
ขนาดท่อของเหลว Daikin VRV-X / A-Series Daikin VRV IV-S
Ø6.4 mm (1/4")0.0220.022
Ø9.5 mm (3/8")0.0570.059
Ø12.7 mm (1/2")0.11—
Ø15.9 mm (5/8")0.17—
Ø19.1 mm (3/4")0.26—
Ø22.2 mm (7/8")0.36—
Ø6 / Ø10 mm (เมตริก)—0.018 / 0.065
⚠ ที่มาของตัวเลข — ตาราง A และค่า kg/m ชุด VRV-X คัดจากแผ่นป้ายบันทึก 3P507132-1 ที่ติดมากับเครื่อง (ตรวจเทียบกับตารางในสไลด์อบรมของ Daikin แล้วตรงกันทุกช่อง) · ชุด VRV IV-S คัดจากคู่มือ 4P397284-1 · ไม่ครอบคลุมทุกรุ่น รุ่นอื่นอาจใช้ค่าและตารางต่างออกไป ให้เทียบกับคู่มือของรุ่นที่หน้างานก่อนเติมจริงทุกครั้ง
← กลับหน้าหลัก
จำลอง ระบบ VRV ตามการออกแบบ
แผนภาพระบบจากโซนที่ออกแบบไว้ พร้อมจำลอง Part Load — คลิกที่ Indoor Unit เพื่อเปิด/ปิดการทำงาน
1 HP ≈ 2.8 kW
ท่อ Liquid (ขาไป) ท่อ Gas (ขากลับ) ● Refnet Joint ❄ กำลังทำความเย็น
วิธีใช้: แผนภาพสร้างจากโซนในเครื่องมือ "ภาระความเย็นรวม" โดยอัตโนมัติ คลิกที่ Indoor Unit แต่ละตัวเพื่อจำลองการเปิด/ปิดบางส่วน (Part Load) ระบบจะคำนวณ Combination Ratio ขณะทำงานใหม่ทันที ขนาดท่อบนแผนภาพเป็นค่าอ้างอิงจากตารางขนาดท่อทั่วไป โปรดตรวจสอบกับคู่มือออกแบบของผู้ผลิตก่อนใช้งานจริง
← กลับหน้าหลัก
คู่มือ งานติดตั้ง VRV & Commissioning
ส่วนประกอบระบบ · ลำดับติดตั้ง · Master/Slave · เติมน้ำยา · Test Operation · Field Settings — อ้างอิงคู่มือ Daikin SiME341909EA (VRV-X RXQ-A), 4P397284-1 (VRV IV-S RXYSQ-T), SiMT331505E และ Toshiba 1141001202 (SMMS MMY-MUP HT8P-E) โปรดตรวจสอบกับคู่มือของรุ่นที่ติดตั้งจริงก่อนปฏิบัติทุกครั้ง
OUTDOOR UNIT COMP 888 PCB · BS1-3 Wall Type Cassette Duct Type BRC CENTRAL Controller 1 2 3 4 5 6 7 8 9 10
ท่อ Liquid ท่อ Gas สายสื่อสาร F1/F2 คลิกหมายเลข ①-⑩ เพื่อดูรายละเอียด
0 / 10
ท่าวาง Y-joint และแนวท่อเข้าคอยล์ร้อน — จุดที่พลาดกันบ่อยที่สุด
✓ วางนอนในแนวระนาบ ระนาบ ≤ 15° ใช้ระดับน้ำจับให้ได้ระนาบ จะดีที่สุด ✗ ตั้งขึ้น — ห้ามเด็ดขาด ✕ คู่มือใช้คำว่า “ห้ามตั้งโดยเด็ดขาด” ระดับเทียบ Stop Valve OUTDOOR Stop Valve ✕ ✓ Y-joint ต้องอยู่ต่ำกว่าระดับ Stop Valve เสมอ แนวท่อที่เข้าคอยล์ร้อน (ระบบหลายโมดูล) ✗ ลาดลง น้ำมันคอมไหลไปค้างในท่อ ✓ ระนาบหรือลาดขึ้น น้ำมันไหลกลับเข้าเครื่องได้ ยิ่งคอยล์ร้อนไม่ได้เดินพร้อมกัน ยิ่งสำคัญ
↔ เลื่อนแผนภาพดูแนวนอนได้
เลือกรุ่น Y-joint ให้ตรงจำนวนโมดูล: ระบบ 2 โมดูล ใช้ BHFP22P100 · ระบบ 3 โมดูล ใช้ BHFP22P151 · ทั้งสองรุ่นเป็นชุด Outdoor Unit Multi Connection Piping Kit ที่ต้องสั่งแยกจากตัวเครื่อง
หมายเหตุ: ค่าแรงดันทดสอบ/เวลาอ้างอิงแนวทาง Daikin VRV (R410A) — รุ่นและน้ำยาต่างกันค่าจะต่างกัน ยึดคู่มือติดตั้งของรุ่นนั้นเป็นหลักเสมอ · ท่าวาง Y-joint และแนวท่อเข้าคอยล์ร้อนคัดจากคู่มือติดตั้ง Daikin VRV-X / A-Series
MASTER ต่อ F1/F2 ไปฝั่ง Indoor SLAVE 1 พ่วงผ่านขั้ว Q1/Q2 SLAVE 2 พ่วงผ่านขั้ว Q1/Q2 Indoor 1 Indoor 2 Indoor 3 Indoor 4 CENTRAL CTRL Q1/Q2 Q1/Q2 F1/F2 (DIII-NET) · Daisy Chain
Outdoor Multi-moduleโมดูลที่ต่อสาย F1/F2 ไปฝั่ง Indoor = Master ที่เหลือพ่วง Q1/Q2 เป็น Slave — ระบบกำหนดให้อัตโนมัติเมื่อจ่ายไฟ
Sequence multi outdoorรายการ 2.51 บนบอร์ด Master — เลือก Automatic (ระบบจัดลำดับเอง) หรือ Forced master
ตั้งค่าที่ Masterระบบหลายโมดูล การตั้งค่าผ่านปุ่ม BS ต้องทำที่ตัว Master เท่านั้น — ตั้งที่ Slave ระบบจะไม่รับ
Master ของ Indoor
(สิทธิ์เลือกโหมด)
หลัง Test Operation จบ รีโมททุกตัวจะกะพริบคำว่า MASTER CONTROLLED — เลือกตัวที่จะเป็น Master แล้วกดปุ่มเปลี่ยนโหมดที่รีโมทตัวนั้น คำว่า MASTER CONTROLLED จะหายไปที่ตัวนั้น และค้างสว่างที่ตัวอื่น
แนะนำให้เลือก Indoor ที่ใช้งานบ่อยที่สุด
รีโมท Main/Sub2 รีโมทต่อกลุ่มเดียวกันได้ — ต้องตั้งตัวหนึ่งเป็น Sub ไม่งั้นเจอ U8
Centralized Addressมีตัวควบคุมส่วนกลางต้องตั้ง address ไม่ซ้ำกัน ไม่งั้นเจอ UC
OUTDOOR UNIT PCB Mode 2 Charge Port ถังน้ำยา (คว่ำถัง) R410A LIQUID 12.50 kg ตาชั่งดิจิทัล สายเติมเข้า Refrigerant Charge Port
Manual Additional Refrigerant Charge — รายการ 2.20
⚠ มีเฉพาะบางบอร์ด: รายการ 2.20 พบในบอร์ดตระกูล LED H1P–H8P (คู่มือ SiMT331505E และ VRV IV-S 4P397284-1) · แต่บอร์ด 3 ปุ่ม + จอ 7-segment (VRV-X RXQ-A / SiME341909EA) ไม่มีรายการ 2.20 — ตาราง Mode 2 ข้ามจาก 2.19 ไป 2.21 เลย บอร์ดนั้นให้เติมด้วยการชั่งน้ำหนักตามคู่มือติดตั้งของรุ่น
1. จ่ายไฟทั้ง Indoor และ Outdoor
2. เปิด stop valve ทั้งด้าน Gas และ Liquid จนสุด
3. ต่อสายเติมเข้า service port สำหรับเติมน้ำยาส่วนเพิ่ม
4. ขณะเครื่องหยุดนิ่ง เข้า Setting mode 2 แล้วเปิดรายการ 2.20
5. เครื่องจะเริ่มเดินเอง — รีโมทขึ้น "Test run" และ "Under centralized control"
6. เติมครบตามที่คำนวณแล้ว กด BS3 (RETURN) เพื่อหยุด
7. ปิดวาล์วถัง ถอดสายเติม บันทึกน้ำหนักที่เติมจริงลงป้ายที่เครื่อง
ข้อสำคัญจากคู่มือ: ฟังก์ชันนี้ใช้เมื่อเติมจาก stop valve ด้าน Liquid ตอนเครื่องหยุดแล้วยังไม่ครบ — ไม่ใช่วิธีหลัก · ถ้าไม่กด BS3 เครื่องจะหยุดเองภายใน 30 นาที ถ้า 30 นาทีไม่พอให้ตั้งรายการ 2.20 ใหม่แล้วทำซ้ำ · ถ้าหยุดเร็วเกินไปอาจเติมน้ำยาเกิน — ห้ามเติมเกินเด็ดขาด (เจอ F6 Refrigerant overcharged)
เช็คก่อนเข้า Test Operation
1จ่ายไฟ ก่อนเดินเครื่อง 6 ชั่วโมง เพื่อป้องกันคอมเพรสเซอร์ (คู่มือระบุไว้ชัดเจน)
2วัดแรงดันด้าน primary ของเบรกเกอร์ — เครื่อง 3 เฟสต้องได้ 415 V ± 10%
3เปิด stop valve ทั้งด้าน Liquid และ Gas จนสุด
4ปิดฝาครอบหน้าเครื่องให้หมด (เว้นช่องเปิดตรวจกล่องไฟฟ้า) กันการอ่านค่าผิด
5ตั้ง field setting ที่ต้องการให้ครบก่อน แล้วจึงเริ่ม Test Operation
Test Operation ตรวจอะไรบ้าง: ตรวจการต่อสายผิด (สื่อสารกับ Indoor) · ตรวจว่าเปิด stop valve แล้ว · คำนวณความยาวท่ออัตโนมัติ
ต้องรันหลังติดตั้งครั้งแรกเสมอ ไม่งั้นรีโมทจะขึ้น U3 และใช้งานปกติหรือ test run รายตัวไม่ได้ · ความผิดปกติของ Indoor แต่ละตัวตรวจในขั้นนี้ไม่ได้ ต้องไล่เดินเครื่องทีละตัวจากรีโมทหลัง Test Operation จบแล้ว
Outdoor PCB — เลือกชนิดบอร์ด แล้วกดปุ่มจำลองได้
OUTDOOR PCB แผนผังอย่างง่าย 1 จอ 7-Segment — แสดงโหมดและ error code SEG1–SEG3 · จอว่าง = Normal mode (ปกติ) BS1 MODE — กดค้าง ~5 วินาที เข้า/ออก Mode 2 BS2 SET — เลื่อนหมายเลขฟังก์ชัน / ค่า BS3 RETURN — ยืนยัน / ถอยกลับ BS1 MODE BS2 SET BS3 RETURN 2 ปุ่ม BS — ปุ่มตั้งค่าบนบอร์ด DIP Switch 3 DIP Switch — ตั้งค่าฮาร์ดแวร์ ต้องปิดไฟก่อนสลับ → Indoor ทุกตัว → Outdoor / Central → Slave (Multi) F1F2 F1F2 Q1Q2 4 Terminal Block X1M — F1/F2 และ Q1/Q2
กดปุ่มกลมบนบอร์ด หรือคลิกหมายเลข ①–④ เพื่อดูรายละเอียด · จอว่าง = Normal mode (ปกติ) · อ้างอิง Daikin Service Manual SiME341909EA
Error Code Reference — Daikin VRV & Toshiba SMMS
หลัง Test ผ่าน: บันทึกค่าจริง (แรงดัน High/Low, Superheat/Subcooling, กระแสคอม), คืนค่า setting ชั่วคราว, ส่งมอบงาน + สอนการใช้งานลูกค้า
⚠ อ่านก่อนใช้: ค่าในหน้านี้คัดจากคู่มือ Daikin SiMT331505E (ตาราง Setting Contents and Code No. for Indoor Units) และ SiME341909EA (Setting Mode 2 ฝั่ง Outdoor) — ไม่ครอบคลุมทุกรุ่น บางรายการมีเฉพาะ Indoor บางชนิด และเลข Second Code อาจต่างกันตามรุ่น ก่อนตั้งจริงต้องเปิดตาราง Field Setting ในคู่มือของรุ่นนั้นยืนยันทุกครั้ง และจดค่าเดิมไว้ก่อนแก้เสมอ
A · ฝั่ง Indoor — ตั้งผ่านรีโมทมีสาย
BRC1C62 / BRC1D61 · FIELD SETTING MODE
GROUPALL UNITS
MODE No.
10
FIRST CODE
0
SECOND CODE
01
คลิกเลือกค่าที่ใช้บ่อย — จอจะแสดงเลขที่ต้องกด
ลำดับการตั้งค่าตามคู่มือ (BRC1C62 / BRC1D61)
1กดปุ่ม INSPECTION/TEST ค้าง 4 วินาที ขณะอยู่ในโหมดปกติ เพื่อเข้าโหมด field setting
2กดปุ่ม TEMPERATURE SETTING เพื่อเลือก Mode No.
3ถ้า Indoor อยู่ใต้ group control การตั้งค่าจะมีผลกับทุกตัวพร้อมกัน ให้ใช้ Mode No. 10–15 แล้วข้ามไปขั้นถัดไป
ถ้าต้องการตั้งทีละตัว หรืออ่านค่าที่ตั้งไว้ล่าสุด ให้ใช้ Mode No. 20–25 (เลขในวงเล็บ) แล้วกด TIMER MODE START/STOP เลือกหมายเลข Indoor ที่ต้องการ
4กด ส่วนบนของปุ่ม PROGRAMMING TIME เพื่อเลือก First code No.
5กด ส่วนล่างของปุ่ม PROGRAMMING TIME เพื่อเลือก Second code No.
6กดปุ่ม TIMER ON/OFF เพื่อยืนยันค่า
7กดปุ่ม INSPECTION/TEST เพื่อกลับสู่โหมดปกติ
B · ฝั่ง Outdoor — ตั้งผ่านปุ่ม BS บน PCB
Normal modeสถานะปกติ — จอดับ (ว่าง) ถ้าไม่มีความผิดปกติ · ถ้ามีปัญหาจะกะพริบเป็นตัวอักษรผสมตัวเลข
Monitor mode
(Mode 1)
กด BS1 สั้น 1 ครั้ง — ใช้ดูค่าที่ตั้งไว้ จำนวนยูนิต และค่าพารามิเตอร์ขณะทำงาน
Setting mode
(Mode 2)
กด BS1 ค้าง ≥ 5 วินาที — จอแสดง 2. ตามด้วยเลขรายการ เช่น 2.08
ลำดับตั้งค่าBS2 เลือกรายการ → BS3 ยืนยันรายการ (ค่าปัจจุบันกะพริบ) → BS2 เลือกค่า → BS3 ยืนยัน → BS3 กลับหน้าแรก → BS1 กลับ Normal mode
ระบบหลาย Outdoorต้องตั้งค่าที่ตัว Master เท่านั้น — ตั้งที่ Slave จะไม่มีผล
ถ้าสับสนกด BS1 เพื่อกลับ Normal mode ได้ทุกเมื่อ
จอ ชื่อรายการ ใช้ทำอะไร
2.05 Indoor fan forced H บังคับพัดลม Indoor เดินระดับ H — ใช้ไล่หายูนิตที่ต่อสายผิด
2.06 Forced thermostat ON บังคับ Indoor ทุกตัวเทอร์โมสตัท ON
2.08 Te setting อุณหภูมิระเหยเป้าหมายตอนทำความเย็น — ค่า 2 = 6°C (มาตรฐาน) ถึง 7 = 11°C
2.12 External low noise / demand เปิดรับสัญญาณ low noise หรือ demand จากภายนอก (ต้องมี adaptor)
2.18 High ESP for outdoor fan เพิ่มแรงดันสถิตของพัดลม Outdoor
2.21 Refrigerant recovery / vacuuming เปิด EEV ทุกตัวค้าง เพื่อดูดน้ำยากลับหรือแวคคั่มทั้งระบบให้ทั่วถึง (คอมเพรสเซอร์ไม่ทำงาน) — ดูขั้นตอนในแท็บ ④
2.22 Automatic night-time low noise 0 = ปิด · 1–4 = Level 1 ถึง Level 4 (ใช้คู่กับเวลาเริ่ม 2.26 และเวลาหยุด 2.27)
2.23 Eco mode invalid ปิดไม่ให้สั่งเปิด/ปิด Eco mode ผ่าน external control adaptor — 0 Valid · 1 Invalid
2.38 Emergency operation สั่งห้ามคอมเพรสเซอร์บางตัวทำงาน เพื่อให้ระบบเดินต่อได้ชั่วคราวขณะรออะไหล่
2.25 External night-time low noise level ระดับเสียงเบาเมื่อรับสัญญาณจากภายนอก (Level 1–4)
2.26 / 2.27 Auto night-time low noise start / stop เวลาเริ่ม (2 ทุ่ม / 4 ทุ่ม / เที่ยงคืน) และเวลาหยุด (6 / 7 / 8 โมงเช้า)
2.30 / 2.31 Demand 1 / Demand 2 setting จำกัดการใช้พลังงาน — Demand 1: Level 1 (60%) ถึง Level 8 (95%) · Demand 2: 40% / 50% / 55%
2.32 Constant demand setting บังคับใช้ demand ตลอดเวลาโดยไม่ต้องมีสัญญาณจากภายนอก
2.49 Height difference setting ตั้งเมื่อ Outdoor อยู่สูงกว่า Indoor เกิน 50 m (รองรับสูงสุด 90 m)
2.51 Sequence multi outdoor ลำดับ addressing ระหว่าง Master กับ Slave — 0 Automatic · 1 Forced master · 2 Forced slave 1 · 3 Forced slave 2
2.76 VRTsmart control — Te upper limit ปรับขีดจำกัดบนของอุณหภูมิระเหยเป้าหมายในโหมด VRTsmart — 0–5 = Low 1–6 · 6 = Standard · 7 = High
2.78 VRT control — Te upper limit ขีดจำกัดบนของ Te ในโหมด VRT — 4 = Standard · 6 = High
2.81 Cooling comfort setting ปรับบุคลิกการทำความเย็น — 0 ECO · 1 Mild · 2 Quick · 3 Powerful (ดูค่าที่ตั้งอยู่ได้จาก monitor 1.40)
2.83 Master remote control setting ใช้เมื่อผสม Indoor ต่างตระกูลในระบบเดียว — 0 = VRV indoor · 1 = RA indoor
2.90 Indoor unit without power ยอมให้ระบบทำงานต่อได้แม้ Indoor บางตัวถูกตัดไฟชั่วคราว — 0 Disabled · 1 Enabled
2.95 Eco level setting สำหรับ VRTsmart 0 = Standard · 1 = Middle
ระวัง: รายการที่คู่มือระบุว่า "Do not change contents" (เช่น 2.00, 2.01, 2.03, 2.04, 2.07, 2.09, 2.10 และช่วง 2.33–2.48) ห้ามแก้เด็ดขาด · เลขรายการข้างต้นอ้างอิงคู่มือ SiME341909EA ซึ่งอาจต่างจากรุ่นอื่น ให้เทียบกับคู่มือของรุ่นที่ติดตั้งจริงทุกครั้ง
ก่อนออกจากหน้างาน: จดค่าที่แก้ทั้งหมดลง commissioning report (Mode No. / First Code / ค่าเดิม → ค่าใหม่) และคืนค่าที่ตั้งไว้ชั่วคราวตอนทดสอบให้กลับเป็นค่าใช้งานจริง — ค่าที่ค้างไว้ผิดมักกลายเป็นเคส "แอร์ไม่เย็น" ที่ตามแก้ยากภายหลัง
← กลับหน้าหลัก
เช็คลิสต์ PM ระบบ VRV
งานบำรุงรักษาเชิงป้องกัน — ต่างจากการตรวจรับงานติดตั้งตรงที่เน้น อ่านข้อมูลที่ระบบเก็บไว้เอง อย่างชั่วโมงเดินเครื่องและประวัติ retry ซึ่งบอกปัญหาล่วงหน้าก่อนที่ผู้ใช้จะรู้สึกได้
ใช้ช่องหมายเหตุจดค่าที่วัดได้ด้วย — โดยเฉพาะชั่วโมงการทำงาน กับความดัน Pc/Pe เพราะค่าพวกนี้มีประโยชน์ตอนเทียบกับ PM รอบก่อน มากกว่าดูค่าเดี่ยว ๆ ในรอบเดียว · ผลที่ติ๊กไว้เก็บในเครื่องอัตโนมัติ ทำค้างแล้วมาต่อได้
⚠ ที่มาของหัวข้อ — ข้อที่มีเลขอ้างอิง (§ หรือ CHECK) คัดจากคู่มือ Daikin SiME341909EA — §6.1.2 Maintenance Menu · §2.5 Monitor Mode · CHECK 1/2 การไล่หาสาเหตุแรงดันสูง–ต่ำ · CHECK 6/7 อาการน้ำยาเกิน–ขาด · §6.11 การวัดมอเตอร์พัดลม · ส่วนข้อที่เขียนว่า “แนวปฏิบัติงานบริการ” เป็นขั้นตอนงานทั่วไปของทีมช่าง ไม่ได้อยู่ในคู่มือผู้ผลิตโดยตรง จึงแยกป้ายให้เห็นชัด

เรื่องเกณฑ์ตัวเลข: คู่มือระบุไว้เองว่าการตัดสินสภาพน้ำยาในระบบ VRV “the only way to judge is with operating conditions” — ไม่มีตัวเลขตายตัว ให้ดูอาการหลายข้อประกอบกัน เครื่องมือนี้จึงไม่ใส่เกณฑ์ผ่าน/ไม่ผ่านเชิงตัวเลขให้
← กลับหน้าหลัก
ตาราง เทอร์มิสเตอร์
เลือกเซนเซอร์ที่กำลังจะวัด ระบบจะบอกเองว่าเป็น Type ไหน แล้วแปลงค่าได้สองทาง — วัดความต้านทานได้แล้วอยากรู้อุณหภูมิ หรือรู้อุณหภูมิแล้วอยากรู้ว่าค่าที่ควรได้คือเท่าไหร่
แปลงค่า
วิธีใช้หน้างาน: ปลดขั้วเซนเซอร์ออกจากบอร์ดก่อนวัด แล้ววัดความต้านทานคร่อมขั้วเซนเซอร์ · เทียบกับอุณหภูมิจริงตรงจุดที่เซนเซอร์เกาะอยู่ — ถ้าเป็นเซนเซอร์อากาศให้เทียบกับอุณหภูมิห้อง ถ้าเป็นเซนเซอร์ท่อให้เทียบกับอุณหภูมิผิวท่อ · ค่าเพี้ยนไปมาก หรือวัดได้ ∞ (ขาด) / 0 (ช็อต) = เซนเซอร์เสีย

เรื่องค่าระหว่างช่องตาราง: คู่มือให้ค่ามาทีละ 5 °C ตัวเลขที่ตรงกับช่องในตารางคือค่าจากคู่มือโดยตรง ส่วนค่าที่อยู่ระหว่างช่อง เครื่องมือนี้ คำนวณประมาณให้ โดยเทียบสัดส่วนแบบลอการิทึม (ซึ่งใกล้เคียงพฤติกรรมจริงของ NTC มากกว่าเทียบเส้นตรง) — ใช้ประกอบการตัดสินได้ แต่ถ้าจะยึดค่าเป๊ะ ให้ดูช่องในตารางเป็นหลัก
ตารางเต็ม — ความต้านทาน (kΩ) ตามอุณหภูมิ
เซนเซอร์ตัวไหนเป็น Type อะไร
⚠ ที่มาและขอบเขต — ตารางทั้งหมดคัดจากคู่มือ Daikin SiME341909EA หัวข้อ 6.8 Thermistor Check (CHECK 11) ซึ่งครอบคลุมชุด VRV-X RXQ-A และ Indoor ตระกูลที่ระบุไว้เท่านั้น · คู่มือกำกับไว้เองว่า “This data is for reference purposes only” และไม่ได้ระบุค่าความคลาดเคลื่อนที่ยอมรับได้ จึงใช้ดูแนวโน้มว่าเซนเซอร์ยังดีอยู่หรือไม่ ไม่ใช่เกณฑ์ตัดสินเชิงตัวเลขที่เข้มงวด · รุ่นอื่นใช้เทอร์มิสเตอร์คนละ Type ได้ ต้องเปิดคู่มือของรุ่นที่หน้างานก่อนเทียบทุกครั้ง
← กลับหน้าหลัก
ตรวจงานติดตั้ง OK / NG
เช็คลิสต์ตรวจรับงานติดตั้ง VRV/VRF ทุกข้ออ้างอิงจากคู่มือ — ติ๊กผ่าน/ไม่ผ่านหน้างาน ใส่หมายเหตุได้ แล้วกดออกรายงานพิมพ์ส่งลูกค้าหรือเก็บเป็นหลักฐานส่งมอบงาน
วิธีใช้: ผลที่ติ๊กไว้จะถูกเก็บไว้ในเครื่องอัตโนมัติ ปิดหน้าไปแล้วเปิดใหม่ยังอยู่ จึงตรวจค้างไว้แล้วมาทำต่อได้ · ข้อไหนไม่เกี่ยวกับงานนี้ให้กด N/A ระบบจะไม่นำมาคิดคะแนน · ข้อที่ ไม่ผ่าน ควรใส่หมายเหตุระบุตำแหน่งไว้ด้วย เวลาพิมพ์รายงานจะได้ตามแก้ถูกจุด
⚠ ที่มาของเกณฑ์ — ทุกข้อในเช็คลิสต์นี้มาจากคู่มือติดตั้ง Daikin VRV-X / A-Series โดยมีเลขสไลด์กำกับไว้ทุกข้อเพื่อให้ย้อนไปดูต้นทางได้ · เกณฑ์บางข้อ (เช่น แรงดันทดสอบรั่ว ระดับสุญญากาศ ความลาดท่อน้ำทิ้ง) ต่างกันได้ตามยี่ห้อและรุ่น ถ้าหน้างานเป็นยี่ห้ออื่นให้เทียบกับคู่มือของรุ่นนั้นก่อนใช้ตัดสิน
← กลับหน้าหลัก
โหมด & ฟังก์ชันบน บอร์ด Outdoor
เลือกบอร์ด → เลือกงานที่จะทำ → เดินทีละขั้นพร้อมดูว่าจอหรือไฟบนบอร์ดต้องขึ้นอะไร และต้องกดปุ่มไหน — อ้างอิงคู่มือ Daikin SiME341909EA, 4P397284-1 และ Toshiba 1141001202
สภาพบอร์ดขณะนี้
ตารางอ้างอิงเต็ม
⚠ ทุกค่าในหน้านี้คัดจากคู่มือผู้ผลิตโดยตรง — Daikin SiME341909EA (VRV-X RXQ-A) · 4P397284-1 (VRV IV-S RXYSQ-T) · Toshiba 1141001202 (SMMS MMY-MUP HT8P-E) · 1117701002 (MMY-MAP FT8P-E) · หัวข้อ backup / emergency operation อ้างอิง Toshiba Service Manual A11-019 และ Service Manual ของ MMY-MAP0804HT8-E · MMY-MAP0806HT8P · ไม่ครอบคลุมทุกรุ่น บอร์ดต่าง series เลขรายการและวิธีเข้าโหมดอาจต่างกัน ให้เทียบกับคู่มือของรุ่นที่หน้างานก่อนลงมือทุกครั้ง
เทียบ 3 บอร์ดแบบเร็ว
หัวข้อ Daikin · 3 ปุ่ม + 7-seg Daikin · 5 ปุ่ม + LED Toshiba SMMS
ตัวแสดงผล 7-segment 3 หลัก (SEG1–3) LED H1P–H7P (+H8P) อ่านเป็นเลขฐานสอง 7-segment 4 หลัก อ่านเป็น [A] [B]
ตัวสั่งงาน ปุ่มกด BS1–BS3 ปุ่มกด BS1–BS5 Rotary SW01–SW03 + ปุ่มกด SW04–SW06
สถานะปกติ Normal mode — จอว่าง Default — H1P ดับ SW = [1/1/1] — จอแสดง [U1]
โหมดอ่านค่า Monitor mode — กด BS1 สั้น Mode 1 — กด BS1 สั้น (H1P กะพริบ) ไม่แยกโหมด ใช้ตำแหน่ง SW เลือกข้อมูล
โหมดตั้งค่า Setting mode — กด BS1 ค้าง ≥ 5 วิ Mode 2 — กด BS1 ค้าง ≥ 5 วิ (H1P ติดค้าง) ตั้ง SW = [9/1/1] แล้วกด SW04
สั่ง Test Run กด BS2 ค้าง ≥ 5 วิ กด BS4 ค้าง ≥ 5 วิ ตั้ง SW = [2/5/1] แล้วกด SW04 ค้าง ≥ 2 วิ
ยกเลิก/ถอย BS1 กลับ Normal mode ได้ทุกเมื่อ BS1 กลับสถานะปกติ · BS3 ยกเลิก Test ตั้ง SW กลับ [1/1/1]
เดินระบบต่อเมื่อ Outdoor เสีย 1 ตัว — เลือกวิธีให้ตรงอาการ
ทั้งสองยี่ห้อมองเรื่องนี้ต่างกันชัดเจน — Daikin ทำเป็นค่า field setting สั่งห้ามคอมหรือห้ามทั้งโมดูล ตั้งจากปุ่ม BS บนบอร์ดตัว Master · Toshiba ทำเป็นขั้นตอนงานเต็มรูปแบบ มีทั้งตั้ง DIP switch ปิดวาล์ว ถอดขั้วต่อ และย้ายสายสื่อสาร แยกเป็น 4 วิธีตามอาการ
อาการที่เจอ วิธีที่คู่มือกำหนด สิ่งที่ต้องทำหลัก ๆ
Daikin — คอมตัวหนึ่งในโมดูลเสีย Emergency operation
2‑38 / 2‑39 / 2‑40 = 1 หรือ 2
ตั้งค่าที่บอร์ด → 1 = ปิดคอม inverter ตัวที่ 1 · 2 = ปิดคอม inverter ตัวที่ 2 (เฉพาะ 16–20 HP คอมตัวที่ 2 อยู่ด้านซ้าย)
Daikin — ทั้งโมดูลใช้ไม่ได้ Emergency operation
2‑38 / 2‑39 / 2‑40 = 3
สั่งห้ามทั้งโมดูลอย่างถาวร — 2‑38 = Master · 2‑39 = Slave 1 · 2‑40 = Slave 2 · คู่มือกำชับให้รีบเปลี่ยนอะไหล่ทันที
Toshiba — คอมตัวหนึ่งเสีย (ไม่ใช่ขดลวดช็อต) Compressor backup
DIP SW06
ปิดไฟ Outdoor ทุกตัว → เปิด bit ที่ตรงกับคอมตัวที่เสีย (bit 1/2/3 = คอม 1/2/3) ที่ตัวนั้น → เปิดไฟ
Toshiba — คอมขดลวดช็อต / เซนเซอร์เสีย / Follower ใช้ไม่ได้ Outdoor unit backup
(follower)
ปิดวาล์ว Gas ตัวที่เสีย · เปิด Liquid+Balance ไว้ · ปิดไฟหรือถอด CN03 ตามสาเหตุ · เปิด SW09 bit 2 ที่ Header · ล้าง error ด้วย [2/16/1] + SW04 ค้าง 5 วิ
Toshiba — Header ใช้ไม่ได้ Outdoor unit backup
(header — ต้องย้าย Header)
ทำเหมือนกรณี Follower + เลือก Follower ที่ใกล้ที่สุดขึ้นเป็น Header ใหม่ · ตั้ง SW13/SW14 และ SW30 bit 1,2 ให้เหมือนตัวเดิม · ย้ายสาย U1/U2 และ U3/U4 มาที่ตัวใหม่
Toshiba — ต้องการเดินต่อเร็วที่สุด และไม่ต้องใช้ความร้อน Cooling-season backup
DIP SW06
ปิดไฟทั้งระบบ → เปิด bit ของ SW06 ที่ตัวที่เสีย (รุ่น MCC-1639 = bit 1,2,3 · รุ่น MCC-1673 = bit 1,2) → เปิดไฟ · ใช้โหมด HEAT ไม่ได้ และใช้ไม่ได้ถ้าเสียที่บอร์ด I/F หรือวงจรไฟฟ้า
⚠ ข้อห้ามที่คู่มือ Toshiba เน้นเป็นพิเศษ — ① คอมเสียเพราะขดลวดมอเตอร์ช็อต ห้ามทำ compressor backup เพราะน้ำมันเสื่อมสภาพรุนแรง จะลามไปทำให้ Outdoor ตัวอื่นพัง · ② ใน 1 ไลน์น้ำยา ทำ backup ได้ไม่เกิน 1 ตัว · ③ รุ่น 3 คอม ห้าม backup คอมเสีย 2 ตัวพร้อมกัน · ④ ห้ามใช้ compressor backup ร่วมกับ outdoor unit backup ในระบบเดียวกัน · ⑤ คู่มือระบุเป็นชื่อรุ่นเลยว่า ระบบ 2 Outdoor ที่มีตัวใหญ่กับตัวเล็กผสมกัน ห้าม backup ตัวที่ใหญ่กว่า เพราะจะทำให้คอมพังจากการทำงานผิดปกติ — ให้เทียบคู่รุ่นในคู่มือของระบบที่หน้างานก่อนตัดสินใจ
A · Daikin — บอร์ด 3 ปุ่ม + จอ 7-segment
คู่มือแบ่งไว้ 3 โหมด และเปลี่ยนโหมดด้วยปุ่ม BS1 MODE ปุ่มเดียว
Normal modeสถานะเริ่มต้น — จอว่างถ้าไม่มีความผิดปกติและ initialize การสื่อสารเสร็จแล้ว · ถ้ามีปัญหาจะกะพริบเป็นตัวอักษรผสมตัวเลข
Monitor mode
(Mode 1)
คู่มือระบุว่าใช้ดู "ข้อมูลเกี่ยวกับค่าที่ตั้งไว้ด้าน performance, address, จำนวนยูนิต และข้อมูลการทำงานจริง"
Setting mode
(Mode 2)
ใช้แก้สถานะการทำงาน ค่า performance และ address · จอแสดง 2. ตามด้วยเลขรายการ
ลำดับกดปุ่ม — Monitor mode (อ่านค่า)
1ขณะอยู่ Normal mode กด BS1 MODE 1 ครั้ง → เข้า Monitor mode
2กด BS2 SET เลื่อนไปยังรายการที่ต้องการดู
3กด BS3 RETURN → ข้อมูลของรายการนั้นจะขึ้นบนจอ
4กด BS3 RETURN อีกครั้ง → กลับสู่หน้าแรกของ Monitor mode
5กด BS1 MODE → กลับ Normal mode
คู่มือระบุว่า ถ้าหลงทางระหว่างตั้งค่า ให้กด BS1 แล้วจะกลับสู่ Normal mode
Monitor mode — รายการที่ดูได้ (Daikin บอร์ด 3 ปุ่ม)
เลขในคอลัมน์ "จอ" คือสิ่งที่ปรากฏบน 7-segment · เลขรายการ = จำนวนครั้งที่ต้องกด BS2
จอดูอะไรค่าที่แสดง
1.00Master / slave outdoor unit0 = Master · 1 = Slave 1 · 2 = Slave 2 · “-” = ยังไม่กำหนด
1.01สถานะ low noise operation0 = ทำงานปกติ · 1 = กำลัง low noise
1.02สถานะ demand operation0 = ทำงานปกติ · 1 = กำลัง demand
1.03Automatic backup operation setting0 = OFF · 1 = ON
1.05ค่า Te ที่ตั้งอยู่2 = 6°C (ปกติ) · 3 = 7°C · 4 = 8°C · 5 = 9°C · 6 = 10°C · 7 = 11°C
1.08Low noise / demand address0–31
1.09AIRNET address0–63
1.10จำนวน Indoor ที่ต่อในระบบนี้0–63 — ใช้เทียบกับจำนวนที่ติดตั้งจริง
1.13จำนวน Outdoor บนสาย DIII-NET0–63
1.15จำนวนยูนิตใน zone0–63
1.16จำนวน Indoor ทั้งหมดหลายระบบ (เมื่อเดิน F1F2 OUT/D เชื่อมระหว่างระบบ)0–128
1.17รายละเอียด error ล่าสุด (ระบบหยุดทำงาน)กด BS2 อีกครั้งเพื่อดูรหัสละเอียด
1.18error รอบก่อน
1.19error 2 รอบก่อน
1.23รายละเอียด retry ล่าสุด (ระบบพยายามทำงานต่อ)กด BS2 อีกครั้งเพื่อดูรหัสละเอียด
1.24retry รอบก่อน
1.25retry 2 รอบก่อน
1.28จำนวน Outdoor ในระบบ multi0–63
1.32สถานะการตรวจบอร์ด Outdoor0 = กำลังตรวจ · 1 = ปกติ · 2 = ผิดปกติ
1.33จำนวนบอร์ด Outdoor ที่ผิดปกติ0–15
1.40Cooling comfort setting (ดูคู่กับ 2.81)0–3
1.42แรงดันด้านสูง (MPa)0.10–9.99
1.43แรงดันด้านต่ำ (MPa)0.10–9.99
1.44ความถี่รวมของคอมเพรสเซอร์ (Hz)0–999
1.46 / 1.47อุณหภูมิท่อจ่าย Tdi1 / Tdi2 (°C)−99 ถึง 999
1.48 / 1.49อุณหภูมิตัวคอมเพรสเซอร์ Ti1 / Ti2 (°C)−99 ถึง 999
1.50อุณหภูมิอากาศภายนอก Ta (°C)−99 ถึง 999
ลำดับกดปุ่ม — Setting mode (แก้ค่า)
1กด BS1 MODE ค้าง 5 วินาทีขึ้นไป → เข้า Setting mode
2กด BS2 SET ตั้งจอให้เป็นเลขรายการที่ต้องการ
3กด BS3 RETURN ยืนยันรายการ — ค่าปัจจุบันจะกะพริบ
4กด BS2 SET เลือกค่าที่ต้องการ แล้วกด BS3 RETURN ยืนยันค่า
5กด BS3 RETURN กลับหน้าแรกของ Setting mode → กด BS1 MODE กลับ Normal mode
ฟังก์ชันอื่นของปุ่มบอร์ดนี้: กด BS2 ค้าง ≥ 5 วินาที ตอนเครื่องอยู่นิ่ง = เริ่ม Test Operation (จอขึ้น t01) · กด BS3 ค้าง ≥ 5 วินาที = สั่ง re-initialize การสื่อสารใหม่ ใช้หลังเปลี่ยนบอร์ด และหลัง initialize ต้องรัน Test Operation ใหม่
ระบบหลาย Outdoor: ตั้งค่าที่ตัว Master เท่านั้น — ตั้งที่ Slave ระบบจะไม่รับ · ดูรายการ 2.05–2.95 ได้ในเครื่องมือ "คู่มือ VRV" แท็บ ⑥
⚠ ค่าที่ไม่คืนกลับเองตอนออกจาก Mode 2 — คู่มือเตือนไว้ชัดเจนว่า 2‑5 (Cross wiring check) และ 2‑6 (Forced thermostat ON) เมื่อตั้งเป็น 1 แล้ว จะไม่กลับเป็นค่าเดิมอัตโนมัติเมื่อออกจาก Mode 2 ต้องกลับมาตั้งเป็น 0 เองทุกครั้งหลังใช้เสร็จ ไม่งั้นพัดลม Indoor จะค้างเป่าแรง หรือระบบจะค้างอยู่ในสภาวะบังคับเทอร์โมสตัท ON
2‑13 AIRNET address: ต้องตั้งไม่ซ้ำกันในช่วง 1–63 — ถ้าซ้ำจะขึ้น error UC ที่ตัวควบคุมส่วนกลาง
2‑2 / 2‑25: ใช้ได้ต่อเมื่อติดตั้งบอร์ดเสริม DTA104A61/62 และตั้ง address ให้ตรงกับ DIP switch บนบอร์ดเสริม พร้อมเปิดใช้งานด้วย 2‑12‑1
B · Daikin — บอร์ด 5 ปุ่ม + LED H1P–H8P (VRV IV-S)
บอร์ดนี้ไม่มีจอตัวเลข คู่มือเขียนค่าเป็น [Mode-Setting]=Value เช่น [2‑8]=4
H1P บอกโหมด · H2P–H7P บอกตัวเลขเป็นเลขฐานสอง (32-16-8-4-2-1) · H8P เป็นไฟแสดงช่วง initialisation
BS1 MODEเปลี่ยนโหมด — กดสั้นสลับ สถานะปกติ ↔ Mode 1 · กดค้าง ≥ 5 วินาที เข้า Mode 2
BS2 SETเลือกรายการ / เลือกค่า
BS3 RETURNยืนยัน · ยกเลิก Test Operation · รีเซ็ต error code หลังแก้ปัญหาแล้วเพื่อเริ่มใหม่
BS4 TESTสำหรับ Test Operation — กดค้าง ≥ 5 วินาที ตอน H1P ดับ
BS5 RESETคู่มือระบุตรงตัวว่า "รีเซ็ต address เมื่อมีการแก้การเดินสาย หรือเมื่อติดตั้ง Indoor เพิ่ม"
ลำดับกดปุ่ม — Mode 1 (อ่านค่า)
1เริ่มจากสถานะปกติ (H1P ดับ)
2กด BS1 1 ครั้ง → เข้า Mode 1 (H1P กะพริบ)
3กด BS2 ตามจำนวนครั้ง จนได้เลขรายการที่ต้องการ (อ่านจาก LED เป็นเลขฐานสอง)
4กด BS3 1 ครั้ง → แสดงค่าของรายการนั้น
5กด BS1 1 ครั้ง → ออกจาก Mode 1
รายการแสดงอะไรใช้ทำอะไร
[1‑5] จำนวน Indoor ที่ต่ออยู่ทั้งหมด เทียบกับจำนวนที่ติดตั้งจริง — ถ้าไม่ตรง คู่มือแนะนำให้ไล่ตรวจสาย F1/F2
[1‑14] malfunction code ล่าสุด ใช้ดูย้อนหลังเมื่อโค้ดถูกล้างไปจากรีโมทโดยไม่ได้ตั้งใจ · กด BS2 ได้ถึง 3 ครั้ง เพื่อดูรายละเอียดเพิ่มของโค้ดนั้น
[1‑15]malfunction code ก่อนหน้า (ที่ 2)
[1‑16]malfunction code ก่อนหน้า (ที่ 3)
ลำดับกดปุ่ม — Mode 2 (แก้ค่า)
1เริ่มจากสถานะปกติ
2กด BS1 ค้าง 5 วินาที → เข้า Mode 2 (H1P ติดค้าง)
3กด BS2 เลือกเลขรายการ
4กด BS3 ดูค่าปัจจุบัน → กด BS2 เปลี่ยนค่า → กด BS3 ใส่ค่าเข้าระบบ → กด BS3 ยืนยัน
5กด BS1 1 ครั้ง → ออกจาก Mode 2
Mode 2 — รายการที่ตั้งได้ (บอร์ด 5 ปุ่ม VRV IV-S)
รายการตั้งอะไรค่าที่เลือกได้
[2‑8]Te target — อุณหภูมิระเหยเป้าหมายตอนทำความเย็นAuto (ค่าเริ่มต้น) · 6 / 8 / 9 / 10 / 11 °C
[2‑9]Tc target — อุณหภูมิควบแน่นเป้าหมายตอนทำความร้อนAuto (ค่าเริ่มต้น) · 46 / 43 °C
[2‑12]เปิดรับสัญญาณ low noise / จำกัดพลังงาน จากภายนอกปิด (ค่าเริ่มต้น) · เปิด — ต้องมี adaptor DTA104A61/62
[2‑18]Fan high static pressure — เพิ่มแรงดันสถิตพัดลม Outdoorปิด (ค่าเริ่มต้น) · เปิด
[2‑20]เติมน้ำยาส่วนเพิ่มแบบ manualปิด (ค่าเริ่มต้น) · เปิด — กด BS3 หยุด ไม่งั้นหยุดเองใน 30 นาที
[2‑21]Recovery / Vacuuming — เปิดทางน้ำยาปิด (ค่าเริ่มต้น) · เปิด — ออกจากโหมดด้วย BS1
[2‑22]Auto night-time low noise + ระดับปิด (ค่าเริ่มต้น) · Level 1 / 2 / 3 (เบาสุด = Level 3)
[2‑25]ระดับ low noise เมื่อรับสัญญาณจากภายนอกLevel 1 / 2 / 3 (ค่าเริ่มต้น Level 3)
[2‑26] / [2‑27]เวลาเริ่ม / เวลาหยุด low noise อัตโนมัติเริ่ม 20:00 / 22:00 (เริ่มต้น) / 24:00 · หยุด 6:00 / 7:00 / 8:00 (เริ่มต้น)
[2‑30] / [2‑31]ระดับจำกัดการใช้พลังงาน ขั้นที่ 1 / ขั้นที่ 2ขั้น 1: 60 / 70 (เริ่มต้น) / 80% · ขั้น 2: 30 / 40 (เริ่มต้น) / 50%
[2‑32]บังคับจำกัดพลังงานตลอดเวลา (ไม่ต้องใช้ adaptor)ไม่ใช้งาน (เริ่มต้น) · ตามค่า [2‑30] · ตามค่า [2‑31]
[2‑38]ชนิดของ Indoor ที่ติดตั้งVRV DX (เริ่มต้น) · RA DX
[2‑41] / [2‑42]Cooling / Heating comfort settingEco · Mild (เริ่มต้น) · Quick · Powerful — ใช้คู่กับ [2‑8] และ [2‑9]
⚠ [2‑38] ต้องปิดไฟรีสตาร์ท: คู่มือระบุว่าหลังเปลี่ยนค่านี้ ต้องปิดไฟระบบ รอ 20 วินาที แล้วจึงเปิดใหม่ ถ้าไม่ทำ ค่าจะไม่ถูกประมวลผลและอาจเกิด malfunction code
หลังจ่ายไฟครั้งแรก: คู่มือระบุว่าต้องรอ 10–12 นาที กว่าจะกลับสู่สถานะปกติ ถ้าเกินเวลานี้แล้วยังไม่เข้าสถานะปกติ ให้อ่าน malfunction code จากรีโมท Indoor และตรวจสายสื่อสารเป็นอันดับแรก
ความปลอดภัย: คู่มือแนะนำให้ใช้ไม้ฉนวน (เช่น ปากกาลูกลื่นที่หุบปลายแล้ว) กดปุ่ม เพื่อเลี่ยงการสัมผัสจุดที่มีไฟ
C · Toshiba SMMS — Rotary SW01–03 + ปุ่ม SW04–SW06
Toshiba ไม่ใช้ปุ่มเลื่อนเมนู แต่หมุนสวิตช์ 3 ตัวเลือกฟังก์ชัน แล้วสั่งงานด้วยปุ่มกด คู่มือเขียนค่าเป็นรูป [SW01/SW02/SW03]
ตำแหน่งปกติคือ [1/1/1] — ตั้งกลับทุกครั้งหลังใช้งานเสร็จ
ลำดับ — ตั้งค่าฟังก์ชันของ Outdoor (Code No.)
1หยุดเครื่องก่อนตั้งค่า แล้วตั้ง rotary switch เป็น SW01=[9] · SW02=[1] · SW03=[1]
2จอ 7-segment จะแสดง “d n.S E t”
3กด SW04 → จอเปลี่ยนเป็น “d n.0 0 1” คือแสดง outdoor unit code No. [001]
4เปลี่ยนเลข code No. ด้วย SW05 (เดินหน้า) หรือ SW06 (ถอยหลัง) — กดค้างจะเลื่อนทีละ 5 ขั้น
5กด SW04 → จอกะพริบ “d.✱✱✱✱” แสดงค่าที่ตั้งอยู่
6เปลี่ยนค่าด้วย SW05 / SW06
7กด SW04 ค้างมากกว่า 2 วินาที — เมื่อจอหยุดกะพริบและติดค้าง คือตั้งค่าเสร็จ
ถ้าต้องการกลับไปเลือก code No. ใหม่ หรือออกโดยไม่ตั้งค่า ให้กด SW04 หนึ่งครั้ง
8ตั้ง rotary switch กลับเป็น [1/1/1] เพื่อกลับสู่โหมดปกติ
⚠ คำเตือนจากคู่มือโดยตรง: ให้ตั้งเฉพาะ Code No. ที่อยู่ในตารางของคู่มือเท่านั้น ห้ามตั้ง Code No. อื่น — ถ้าตั้งเลขที่ไม่ได้ระบุไว้ อาจทำให้เครื่องทำงานไม่ได้ หรือเกิดความเสียหายกับตัวเครื่อง
ตำแหน่ง SW ที่ใช้บ่อย
SW01/02/03 ฟังก์ชัน วิธีสั่ง / จอแสดง
1 / 1 / 1 สถานะปกติ และดู check code ของ Outdoor จอปกติแสดง [U1] · ถ้าผิดปกติสลับ [U.✱.Err] กับรหัสทุก 2 วินาที
2 / 5 / 1 Collective trial — ทดสอบทุก Indoor โหมด COOL กด SW04 ค้าง ≥ 2 วิ · จอ [C] → [C][-C]
2 / 6 / 1 Collective trial — โหมด HEAT กด SW04 ค้าง ≥ 2 วิ · จอ [H] → [H][-H]
2 / 9 / 1 Collective trial — โหมด FAN กด SW04 ค้าง ≥ 2 วิ · จอ [F] → [F][-F]
16 / n / m Individual test — ทดสอบ Indoor ทีละตัว (n = 1–16) กด SW04 ค้าง ≥ 10 วิ · จอขึ้น [FF] ราว 5 วินาที
2 / 1 / 2 ล้าง address ของระบบ / Indoor / กลุ่ม จอขึ้น “A.d.buS” แล้วเปิด SW04 ค้าง > 5 วิ
2 / 2 / 2 ล้าง Central control address จอขึ้น “A.d.nEt” แล้วเปิด SW04 ค้าง > 5 วิ
2 / 16 / 2 ตั้งค่า Communication type จอสลับ “c.c.bps”/“c.c.0” · กด SW04 ค้าง > 5 วิ · เสร็จขึ้น “c.c.Fin” (ถ้าขึ้น “c.c.Err” ให้ทำใหม่) · ล้างค่าเดิมกด SW05 ค้าง ≥ 5 วิ
9 / 1 / 1 ตั้งค่าฟังก์ชันของ Outdoor ด้วย Code No. จอขึ้น “d n.S E t” — ดูลำดับ 8 ขั้นด้านบน
2 / 1 / 14 ปิดใช้งาน auto-address และ test operation จอขึ้น [nf][c.00] → กด SW04 ค้าง > 5 วิ → [nf][c.01] คือเสร็จ · ฟังก์ชันอื่นยังทำงานปกติ
2 / 16 / 1 ล้าง Error โดยไม่ต้องปิดไฟ จอ [A] ขึ้น [E r] → กด SW04 ค้าง ≥ 5 วิ → [B] ขึ้น [C L] ราว 5 วินาที คือล้างเรียบร้อย · ล้างทั้งฝั่ง Outdoor และ Indoor ของไลน์นั้น แล้วเริ่มตรวจจับใหม่
ล้าง Error อีกวิธี — รีเซ็ตไฟทั้งระบบ: ปิดไฟทั้ง Outdoor และ Indoor แล้ว เปิดไฟ Indoor ก่อน Outdoor เสมอ — ถ้าเปิดสลับลำดับจะขึ้นโค้ด E19 (No. of header unit error) · หลังรีเซ็ตไฟ ระบบใช้เวลา initial communication ปกติ 3 นาที บางกรณีสูงสุด 10 นาที
⚠ ปุ่มกดต่างกันตามซีรีส์: คู่มือ MMY-MUP (SMMS-u) ระบุปุ่มกดเป็น SW04 · SW05 · SW06 ส่วนคู่มือ MMY-MAP…FT8P (SHRM-e) ระบุเป็น SW04 · SW05 · SW15 พร้อมไฟ LED D600–D604 — ให้ดูซิลค์สกรีนบนบอร์ดจริงที่หน้างานเป็นหลัก
สถานะปกติของจอ: คู่มือ MAP ระบุว่าตอนปกติจอแสดง [U.1.] [- - -] และตอนมี check code จะแสดง [A] = หมายเลข Outdoor (U1–U3) กับ [B] = รหัส check code
ตารางแปลง address สำหรับ Individual test: SW03 = 1 → address 1–16 (ตามเลข SW02) · SW03 = 2 → 17–32 (SW02+16) · SW03 = 3 → 33–48 (+32) · SW03 = 4 → 49–64 (+48) · SW03 = 5 → 65–80 (+64) · SW03 = 6 → 81–96 (+80) · SW03 = 7 → 97–112 (+96) · SW03 = 8 → 113–128 (+112)
Need Professional Help?
SML SERVICE AND SUPPLY LIMITED PARTNERSHIP

ออกแบบ · ติดตั้ง · ระบบ VRV/VRF

ทีมช่างผู้เชี่ยวชาญของ SML Service พร้อมให้คำปรึกษาการออกแบบและติดตั้งระบบ VRV/VRF สำหรับอาคารและโรงงาน บริการติดตั้งโดยทีมช่างที่ได้มาตรฐาน ราคายุติธรรม รับประกันงานติดตั้ง พร้อมบริการล้าง-ซ่อมแอร์ทุกยี่ห้อ

โทรศัพท์ / Phone
อีเมล / Email
LINE
LINE Official
⊕
เว็บไซต์ / Website
`); w.document.close(); } /* ============================================================== TOOL: SYSTEM SIMULATION ============================================================== */ let simState = []; const STD_HP = [4, 5, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 54, 58, 60]; function ensureSimState() { while (simState.length < zones.length) simState.push(true); simState.length = zones.length; } function toggleSimUnit(i) { simState[i] = !simState[i]; renderSim(); } function autoSizeOutdoor() { const totalKW = zones.reduce((s, z) => s + (z.area || 0) * (z.factor || 0), 0) / 3412; if (totalKW <= 0) { alert('ยังไม่มีข้อมูลโซน กรุณาเพิ่มโซนในเครื่องมือ "ภาระความเย็นรวม" ก่อน'); return; } const hp = STD_HP.find(h => totalKW / (h * 2.8) <= 1.1) || STD_HP[STD_HP.length - 1]; document.getElementById('sim_hp').value = hp; renderSim(); } function renderSim() { ensureSimState(); const hp = +document.getElementById('sim_hp').value || 0; const canvas = document.getElementById('simCanvas'); const stats = document.getElementById('sim_stats'); if (!zones.length) { canvas.innerHTML = '
ยังไม่มีโซน — เพิ่มโซนในเครื่องมือ "ภาระความเย็นรวม" ก่อน
'; stats.innerHTML = '
▶
เพิ่มโซนเพื่อเริ่มจำลองระบบ
'; return; } const rowH = 86, topY = 20, outW = 180, outH = 88, mainX = 150, iuX = 340, iuW = 250, iuH = 56; const firstY = topY + outH + 60; const lastY = firstY + (zones.length - 1) * rowH; const W = 640, H = lastY + rowH / 2 + 24; const outdoorKW = hp * 2.8; let totalKW = 0, activeKW = 0, activeCount = 0; const zData = zones.map((z, i) => { const btu = (z.area || 0) * (z.factor || 0), kw = btu / 3412; totalKW += kw; if (simState[i]) { activeKW += kw; activeCount++; } return { name: z.name, btu, kw, hp: kw / 2.8 }; }); const anyOn = activeCount > 0; const cr = outdoorKW > 0 ? activeKW / outdoorKW * 100 : 0; const crTotal = outdoorKW > 0 ? totalKW / outdoorKW * 100 : 0; const mainPipe = lookupPipe(hp || 0.1); let svg = ``; // Main line (liquid out / gas return) svg += ` MAIN: L ${mainPipe.liquid.split(' ')[0]} · G ${mainPipe.gas.split(' ')[0]} `; // Outdoor unit svg += ` OUTDOOR ${hp} HP · ${outdoorKW.toFixed(1)} kW `; // Branches + indoor units zData.forEach((z, i) => { const y = firstY + i * rowH; const off = !simState[i]; const pipe = lookupPipe(Math.max(z.hp, 0.1)); svg += ` L ${pipe.liquid.split(' ')[0]} · G ${pipe.gas.split(' ')[0]} ${z.name} ${Math.round(z.btu).toLocaleString()} BTU · ${z.kw.toFixed(1)} kW ${off ? `OFF` : `❄`} `; }); svg += ''; canvas.innerHTML = svg; // Stats let pillClass = 'pill-ok', verdict = 'อยู่ในช่วงเหมาะสม'; if (!anyOn) { pillClass = 'pill-warn'; verdict = 'ทุกยูนิตปิดอยู่'; } else if (cr < 50) { pillClass = 'pill-warn'; verdict = 'Part Load ต่ำ / Outdoor ใหญ่เกิน'; } else if (cr <= 130) { pillClass = 'pill-ok'; verdict = 'อยู่ในช่วงเหมาะสม'; } else if (cr <= 150) { pillClass = 'pill-warn'; verdict = 'ค่อนข้างสูง ตรวจสอบสเปครุ่นจริง'; } else { pillClass = 'pill-err'; verdict = 'เกินสเปคทั่วไป ควรเพิ่มขนาด Outdoor'; } const pos = Math.min(cr, 200) / 200 * 100; stats.innerHTML = `
${verdict}
Combination Ratio (ขณะทำงาน)
${cr.toFixed(1)}%
0%100%200%
Indoor เปิดใช้งาน${activeCount} / ${zones.length} ยูนิต
Load ขณะทำงาน${activeKW.toFixed(2)} kW
Load เต็มระบบ${totalKW.toFixed(2)} kW (CR ${crTotal.toFixed(0)}%)
Outdoor${hp} HP (${outdoorKW.toFixed(1)} kW)
ท่อหลัก Liquid${mainPipe.liquid}
ท่อหลัก Gas${mainPipe.gas}
`; } /* ============================================================== TOOL: VRV GUIDE ============================================================== */ const COMPONENTS = [ { n: 'Outdoor Unit', d: 'หัวใจของระบบ — รวมคอมเพรสเซอร์อินเวอร์เตอร์ คอยล์ระบายความร้อน และพัดลม ปรับรอบการทำงานตามภาระรวมของ Indoor ทุกตัวแบบเรียลไทม์ ต่อขยายได้หลายโมดูลในระบบเดียว', c: ['Inverter', 'Multi-module ได้', 'ระบายความร้อนด้วยอากาศ'] }, { n: 'Compressor (Inverter Scroll)', d: 'ปรับความเร็วรอบตาม Load รวม ประหยัดไฟช่วง Part Load — ก่อนสตาร์ทครั้งแรกต้องจ่ายไฟอุ่น crankcase heater เพื่อไล่น้ำยาที่ละลายในน้ำมันคอม กันคอมเสียหาย', c: ['อุ่นเครื่อง ≥ 6 ชม.', 'ห้าม Liquid Back'] }, { n: 'Outdoor PCB + ปุ่ม BS', d: 'บอร์ดควบคุมหลัก มีจอ 7-segment 3 หลักแสดงสถานะ/โค้ด และปุ่มกดใต้จอ (บอร์ดรุ่นในภาพมี 3 ปุ่ม: MODE / SET / RETURN บาง series มี 5 ปุ่ม) ใช้เข้า Mode 1 (Monitor) / Mode 2 (Field Settings) สั่ง Test Run และ Auto Charge — ลองกดบอร์ดจำลองได้ในแท็บ ⑤', c: ['BS1 MODE', 'BS2 SET', '7-Segment 3 หลัก'] }, { n: 'Stop Valve (Liquid/Gas)', d: 'วาล์วปิดกั้นน้ำยาที่ตัวเครื่อง มาจากโรงงานในสถานะปิด — ต้องเปิดสุดทุกตัวก่อน Test Run ลืมเปิดจะเจอโค้ด UF/E4 มี service port สำหรับต่อเกจวัด', c: ['เปิดสุดก่อนรัน', 'Service Port'] }, { n: 'Refrigerant Charge Port', d: 'พอร์ตเติมน้ำยาเฉพาะสำหรับฟังก์ชัน Auto Charge (แยกจาก service port ของ stop valve ตามรุ่น) — ดูขั้นตอนการใช้ในแท็บ ④', c: ['เติม Liquid เท่านั้น'] }, { n: 'ท่อน้ำยา Liquid/Gas', d: 'ท่อทองแดงหุ้มฉนวนแยกเส้น เชื่อมแบบ Nitrogen Brazing กัน oxide scale — ขนาดท่อแต่ละช่วงขึ้นกับ Capacity ปลายทาง เช็คได้ในเครื่องมือ "ขนาดท่อน้ำยา"', c: ['Nitrogen Brazing', 'ฉนวนแยกเส้น'] }, { n: 'Refnet Joint', d: 'ข้อแยกน้ำยาโดยเฉพาะที่แบ่งสัดส่วนการไหลได้ถูกต้อง (ห้ามใช้ข้อต่อ T ธรรมดา) เลือกรุ่นตาม Capacity รวมหลังจุดแยก และติดตั้งแนวนอน/แนวตั้งตามองศาที่คู่มือกำหนด', c: ['ห้ามใช้ T ธรรมดา', 'องศาตามสเปค'] }, { n: 'Indoor Unit', d: 'คอยล์เย็นหลายแบบผสมกันได้ในระบบเดียว (Wall / Cassette / Duct / Floor ฯลฯ) แต่ละตัวมี Electronic Expansion Valve (EEV) อิสระ ควบคุมน้ำยาเข้าตัวเองตามภาระจริงของห้อง', c: ['EEV ในตัว', 'ผสม Type ได้'] }, { n: 'สายสื่อสาร F1/F2 (DIII-NET)', d: 'บัสสื่อสารเชื่อม Outdoor ↔ Indoor ↔ Central Controller ต่อแบบ Daisy Chain เท่านั้น ห้าม Star/Loop — ไม่มีขั้ว (สลับ F1/F2 ได้) แต่ห้ามสลับกับสายไฟกำลัง และแยกแนวเดินกันสัญญาณรบกวน', c: ['Daisy Chain', 'Non-polar', 'แยกจากสายแรง'] }, { n: 'รีโมท & Central Controller', d: 'รีโมทประจำกลุ่ม (ใช้ 2 ตัวได้โดยตั้ง Main/Sub) และ Central Controller คุมรวมทั้งอาคารผ่าน DIII-NET โดยตั้งเลขกลุ่ม 1-00 ถึง 4-15 ไม่ให้ซ้ำกัน', c: ['Main/Sub', 'Group Address 1-00…4-15'] }, ]; function selComp(i) { document.querySelectorAll('#gview-anatomy .hs').forEach((h, idx) => h.classList.toggle('sel', idx === i)); const c = COMPONENTS[i]; document.getElementById('comp_info').innerHTML = `
Component ${i + 1} / ${COMPONENTS.length}
${c.n}
${c.d}
${c.c.map(x => `${x}`).join('')}
`; } const INSTALL_STEPS = [ { t: 'ตรวจแบบ / เตรียมงาน', c: ['เช็คสเปครุ่น'], b: 'เช็คตำแหน่งเครื่อง เส้นทางท่อ และข้อจำกัดของรุ่น: ความยาวท่อจริงรวม ระยะถึง Indoor ไกลสุด และผลต่างระดับ Outdoor-Indoor / Indoor-Indoor ต้องไม่เกินสเปค วางแผนตำแหน่ง Refnet ทุกจุดตั้งแต่ในแบบ ' }, { t: 'ติดตั้ง Indoor / Outdoor', c: ['กันลมร้อนตีกลับ'], b: 'เว้นระยะ service รอบเครื่องตามคู่มือ ทิศระบายลมร้อนต้องไม่ตีกลับเข้าคอยล์ (short circuit) แท่นเครื่องแข็งแรง + ยางรองกันสั่น ส่วน Indoor ต้องได้ระดับเพื่อให้น้ำ drain ไหลถูกทาง' }, { t: 'เดินท่อน้ำยา + Refnet / Y-joint', c: ['เอียง ≤ 15°', 'ต่ำกว่า Stop Valve', 'ฉนวนแยกเส้น'], b: 'Refnet ติดตั้งแนวนอนหรือแนวตั้งตามองศาที่ผู้ผลิตกำหนด (เอียงเกินสเปคทำให้แบ่งน้ำยาผิดสัดส่วน) รองรับท่อทุกระยะตามขนาด หุ้มฉนวนแยกเส้น Liquid/Gas ความหนาตามสเปค

ชุด Y-joint ของคอยล์ร้อน (ระบบ Multi) คู่มือกำหนดท่าติดตั้งไว้ชัดเจน — วางนอนในแนวระนาบ เอียงได้ไม่เกิน 15° และแนะนำให้ใช้ระดับน้ำจับ · ห้ามตั้งขึ้นโดยเด็ดขาด · ต้องอยู่ต่ำกว่าระดับ Stop Valve เสมอ เมื่อเดินท่อออกทางด้านหน้าเครื่องต้องเป็นไปตามลักษณะ A หรือ B เท่านั้น ห้ามยกระดับขึ้น · เลือกรุ่นให้ตรงจำนวนโมดูล — 2 โมดูลใช้ BHFP22P100 · 3 โมดูลใช้ BHFP22P151 · แนวท่อที่เข้าคอยล์ร้อนห้ามลาดลง ต้องเป็นระนาบหรือลาดขึ้น ไม่งั้นน้ำมันคอมจะไหลไปค้างในท่อ โดยเฉพาะเมื่อคอยล์ร้อนแต่ละตัวไม่ได้เดินพร้อมกัน — ดูแผนภาพท่าวางที่ถูก–ผิดด้านล่าง' }, { t: 'เชื่อมท่อแบบ Nitrogen Brazing', c: ['N₂ ~0.02 MPa'], b: 'ปล่อยไนโตรเจนไหลเบา ๆ ในท่อขณะเชื่อมทุกจุด กันเกิด oxide scale ที่จะไปอุด EEV และเสียหายถึงคอมเพรสเซอร์ — จุดที่เชื่อมไม่ได้ให้ใช้แฟลร์/ข้อต่อเชิงกลตามคู่มือ' }, { t: 'Airtight Test ไนโตรเจน 3 ขั้น', c: ['4.0 MPa ≥ 24 ชม.'], b: 'ใช้ไนโตรเจนแห้งเท่านั้น: 0.3 MPa ≥ 3 นาที → 1.5 MPa ≥ 5 นาที → 4.0 MPa ≥ 24 ชม. (R410A) พร้อมชดเชยอุณหภูมิ −0.01 MPa ต่อ 1°C ที่ลดลง แรงดันไม่ตก = ผ่าน' }, { t: 'เดินสายไฟ + สายสื่อสาร F1/F2', c: ['Daisy Chain เท่านั้น'], b: 'สายกำลังตามพิกัดรุ่น สายสื่อสาร F1/F2 ต่อ Daisy Chain เท่านั้น ห้าม Star/Loop และแยกแนวจากสายไฟกำลังกันสัญญาณรบกวน — ดูแผนภาพในแท็บ ③ Master/Slave' }, { t: 'Vacuum ทำสุญญากาศ', c: ['−755 mmHg ≥ 1 ชม.'], b: 'แวคคั่มถึง −100.7 kPa (−755 mmHg) ค้างไว้ ≥ 1 ชม. เข็มต้องไม่ตีกลับ — งานที่เจอฝน/ความชื้นสูงให้ทำ vacuum break ด้วยไนโตรเจนแล้วแวคซ้ำจนแห้งสนิท' }, { t: 'เติมน้ำยาเพิ่มตามคำนวณ', c: ['ชั่งน้ำหนักเสมอ'], b: 'คำนวณจากความยาวท่อ Liquid แต่ละขนาด ชั่งน้ำหนักเติมทาง stop valve ด้าน Liquid ขณะเครื่องหยุด — ถ้าเติมไม่ครบให้ใช้รายการ 2.20 Manual additional refrigerant charge ต่อ (แท็บ ④) · คู่มือกำหนดให้บันทึกปริมาณลง "Record Chart of Additional Refrigerant Charge Amount" ' }, { t: 'จ่ายไฟก่อนเดินเครื่อง 6 ชั่วโมง', c: ['Crankcase Heater'], b: 'คู่มือระบุว่า "Be sure to turn on the power 6 hours before operation in order to protect the compressor" — crankcase heater ต้องอุ่นไล่น้ำยาที่ละลายปนในน้ำมันคอมก่อนสตาร์ท
ข้อควรระวัง: เมื่อจ่ายไฟแล้ว Indoor ทุกตัวที่ต่ออยู่จะเริ่มทำงานอัตโนมัติ ต้องแน่ใจว่าติดตั้ง Indoor เสร็จเรียบร้อยก่อน และแจ้งช่างคนอื่นหรือปิดฝาหน้าเครื่องก่อนเดินออกจากจุดที่จ่ายไฟค้างไว้' }, { t: 'เปิดวาล์ว → Field Settings → Test Operation', c: ['ต้องรัน ไม่งั้นเจอ U3'], b: 'เปิด stop valve สุดทุกตัว ตั้ง field settings ที่ต้องการให้ครบ ปิดฝาครอบ แล้วสั่ง Test Operation ด้วยการกด BS2 ค้าง ≥ 5 วินาที ตอนเครื่องอยู่นิ่ง (แท็บ ⑤) — จบปกติจอจะว่าง ใช้งานได้หลังจากนั้น 5 นาที · ถ้าไม่รันขั้นนี้รีโมทจะขึ้น U3 และใช้งานไม่ได้ · จบงานบันทึก commissioning report และติดป้ายปริมาณน้ำยาที่เครื่อง' }, ]; let stepsDone = INSTALL_STEPS.map(() => false); let guideReady = false; function renderInstallSteps() { document.getElementById('installSteps').innerHTML = INSTALL_STEPS.map((s, i) => `
${stepsDone[i] ? '✓' : String(i + 1).padStart(2, '0')}
${s.t}
${s.c.map(x => `${x}`).join('')}
${s.b}
`).join(''); const n = stepsDone.filter(Boolean).length; document.getElementById('instFill').style.width = (n / INSTALL_STEPS.length * 100) + '%'; document.getElementById('instTxt').textContent = n + ' / ' + INSTALL_STEPS.length; } function toggleStep(i) { document.getElementById('step-' + i).classList.toggle('open'); } function stepDone(i, ev) { ev.stopPropagation(); stepsDone[i] = !stepsDone[i]; const wasOpen = document.getElementById('step-' + i).classList.contains('open'); renderInstallSteps(); if (wasOpen) document.getElementById('step-' + i).classList.add('open'); } /* Error code — คัดจาก Daikin Service Manual SiME341909EA หัวข้อ 5.1 Error Codes and Descriptions คำอธิบายภาษาอังกฤษเป็นของคู่มือ ส่วนคำแปล/จุดตรวจเป็นคำอธิบายประกอบ */ const ERR_GROUPS = [ { g: 'Daikin VRV — System (สื่อสาร / ระบบ / Commissioning)', rows: [ ['U0', 'Refrigerant shortage warning — น้ำยาในระบบไม่พอ', 'หารอยรั่วก่อนเติม · เทียบปริมาณกับค่าที่คำนวณและบันทึกไว้'], ['U1', 'Open phase — เฟสขาด', 'เช็คไฟเข้าครบทุกเฟส ฟิวส์ เบรกเกอร์ และขั้วสายที่หลวม'], ['U2', 'Power supply insufficient or instantaneous abnormality — ไฟไม่พอ/ไฟตกชั่วขณะ', 'วัดแรงดันทุกเฟส เช็คขนาดสายและแหล่งจ่าย'], ['U3', 'Check operation not executed — ยังไม่ได้รัน Test Operation', 'ต้องรัน Test Operation ทั้งระบบก่อน ไม่งั้นใช้งานปกติและ test run รายตัวไม่ได้'], ['U4', 'Transmission error between indoor units and outdoor units', 'สาย F1/F2 (TO IN/D UNIT) หลวม ขาด ต่อผิด หรือเดินชิดสายไฟกำลัง'], ['U5', 'Transmission error between remote controller and indoor unit', 'สายรีโมทหลวม/ขาด หรือรีโมทเสีย'], ['U7', 'Transmission error between outdoor units', 'สาย Q1/Q2 (TO MULTI UNIT) ระหว่างโมดูล Outdoor'], ['U8', 'Transmission error between main and sub remote controllers', 'ตั้ง Main/Sub ชนกัน — ต้องมี Main ตัวเดียวต่อกลุ่ม'], ['U9', 'Other indoor units and outdoor unit abnormality', 'มี Indoor ตัวอื่นในระบบเดียวกันผิดปกติ ไล่เช็คทีละตัว'], ['UA', 'Improper combination of indoor/outdoor unit or remote controller', 'จำนวนหรือรุ่น Indoor ไม่เข้ากับ Outdoor / รีโมทไม่รองรับ'], ['UC', 'Address duplication of centralized controller', 'ตั้ง address ตัวควบคุมส่วนกลางซ้ำกัน'], ['UE', 'Transmission error between centralized controller and indoor unit', 'สาย F1/F2 ฝั่ง TO OUT/D UNIT หรือ address ไม่ตรงกับที่ลงทะเบียน'], ['UF', 'System not set yet — ระบบยังตั้งค่าไม่ครบ', 'มักเจอตอนยังไม่เปิด stop valve ครบ หรือคู่ท่อ-สายไม่ตรงกัน แล้วรัน Test ใหม่'], ['UH', 'System abnormality, refrigerant system address undefined', 'ระบบยังไม่ได้กำหนด address ของวงจรน้ำยา'], ] }, { g: 'Daikin VRV — Outdoor (แรงดัน / คอมเพรสเซอร์ / พัดลม)', rows: [ ['E1', 'Outdoor unit main PCB abnormality', 'เช็คไฟเข้าบอร์ด · เสียซ้ำต้องเปลี่ยนบอร์ด'], ['E2', 'Current leakage detection / missing of leakage detection core', 'ตรวจไฟรั่วลงกราวด์ และแกนตรวจจับไฟรั่ว'], ['E3', 'Activation of high pressure switch — สวิตช์แรงดันสูงทำงาน', 'คอยล์ร้อนสกปรก ลมร้อนตีกลับ น้ำยาเกิน หรือวาล์วยังปิด'], ['E4', 'Activation of low pressure sensor — เซ็นเซอร์แรงดันต่ำทำงาน', 'น้ำยาขาด วาล์ว Liquid ยังปิด ท่ออุดตัน หรือ EEV ค้าง'], ['E5', 'Compressor motor lock — คอมเพรสเซอร์ล็อก', 'วัดความต้านทานขดลวดคอม เช็คกระแสและสายไฟคอม'], ['E7', 'Outdoor fan motor abnormality', 'ใบพัดติดขัด มอเตอร์เสีย หรือขั้วสายหลวม'], ['E9', 'Electronic expansion valve coil abnormality', 'ขดลวด EEV / สายหลวม / วาล์วค้าง'], ['F3', 'Discharge pipe temperature abnormality — อุณหภูมิท่อจ่ายสูงผิดปกติ', 'น้ำยาขาด หรือ EEV อุดตัน — เช็ค Superheat'], ['F4', 'Wet alarm', 'ตรวจสภาวะน้ำยากลับเป็นของเหลว'], ['F6', 'Refrigerant overcharged — น้ำยาเกิน', 'ถอนน้ำยาออก ชั่งเทียบกับค่าที่คำนวณใหม่'], ['H3', 'Harness abnormality (main PCB ↔ inverter PCB)', 'สายแพระหว่างบอร์ดหลวม/ขาด'], ['H7', 'Outdoor fan PCB abnormality', 'บอร์ดควบคุมพัดลม Outdoor'], ['H9', 'Outdoor air thermistor (R1T) abnormality', 'วัดความต้านทาน thermistor เทียบตาราง'], ['PJ', 'Field setting after replacing outdoor main PCB abnormality', 'หลังเปลี่ยนบอร์ดต้องตั้ง DIP + field setting ให้ครบตามรุ่น'], ] }, { g: 'Daikin VRV — Outdoor (เซ็นเซอร์ / Inverter)', rows: [ ['J3', 'Discharge pipe thermistor (R21T, R22T) / compressor body thermistor (R8T, R9T)', 'วัดความต้านทาน เช็คขั้ว หรือเปลี่ยน thermistor'], ['J5', 'Suction pipe thermistor (R3T) abnormality', 'วัดความต้านทาน / เปลี่ยน'], ['J7', 'Subcooling heat exchanger liquid pipe thermistor (R5T)', 'วัดความต้านทาน / เปลี่ยน'], ['J8', 'Heat exchanger liquid pipe thermistor (R4T)', 'วัดความต้านทาน / เปลี่ยน'], ['J9', 'Heat exchanger gas pipe thermistor (R6T)', 'วัดความต้านทาน / เปลี่ยน'], ['JA', 'High pressure sensor abnormality — เซ็นเซอร์แรงดันสูง', 'เทียบค่ากับเกจจริง เช็คขั้ว หรือเปลี่ยน'], ['JC', 'Low pressure sensor abnormality — เซ็นเซอร์แรงดันต่ำ', 'เทียบค่ากับเกจจริง เช็คขั้ว หรือเปลี่ยน'], ['L1', 'Inverter PCB abnormality', 'บอร์ดอินเวอร์เตอร์'], ['L2', 'Momentary power failure during test operation — ไฟดับชั่วขณะระหว่าง Test', 'เช็คความมั่นคงของไฟ แล้วรัน Test Operation ใหม่'], ['L4', 'Inverter radiation fin temperature rise abnormality', 'ครีบระบายความร้อนอุดตันฝุ่น หรือพัดลมระบายเสีย'], ['L5', 'Compressor instantaneous overcurrent — กระแสคอมเกินทันที', 'เช็คคอมช็อตลงกราวด์/ขดลวดช็อต ก่อนเปลี่ยนบอร์ด'], ['L8', 'Compressor overcurrent — กระแสคอมเกิน', 'โหลดเกิน สายคอมหลุดเฟส หรือคอมเสื่อม'], ['L9', 'Compressor startup abnormality — สตาร์ทคอมไม่สำเร็จ', 'แรงดันยังไม่สมดุลก่อนสตาร์ท หรือคอมติดขัด'], ['LC', 'Transmission error between inverter PCB and outdoor main PCB', 'สายสัญญาณระหว่างบอร์ดหลวม'], ['P1', 'Power supply voltage imbalance — ไฟเข้าไม่สมดุล', 'วัดแรงดันทุกเฟสเทียบกัน'], ['P3', 'Reactor temperature abnormality', 'อุณหภูมิ reactor สูงผิดปกติ'], ['P4', 'Inverter radiation fin temperature abnormality', 'เซ็นเซอร์วัดอุณหภูมิครีบระบายความร้อน'], ] }, { g: 'Toshiba SMMS — Check Code (จอ 7-segment ที่ Outdoor)', rows: [ ['E06', 'Decrease of number of indoor units — จำนวน Indoor ที่รับสัญญาณได้ลดลง', 'Indoor หลุดจากระบบ หรือไม่มี Indoor ตัวไหนตั้ง terminating resistor'], ['E07', 'Indoor / outdoor communication circuit trouble', 'วงจรสื่อสาร Indoor–Outdoor · เช็คสาย U1 U2'], ['E08', 'Duplication of indoor addresses — ที่อยู่ Indoor ซ้ำกัน', 'ตั้ง address ใหม่ (SW [2/1/2] แล้วกด SW04)'], ['E12', 'Automatic addressing start trouble', 'auxiliary 01 = ระหว่าง Indoor–Outdoor · 02 = ระหว่าง Outdoor'], ['E15', 'No indoor unit during automatic addressing', 'หา Indoor ไม่เจอตอนจ่าย address · เช็คสาย U1 U2 และไฟที่ Indoor'], ['E16', 'Capacity over / number of connected indoor units', 'auxiliary 00 = capacity เกิน · 01~ = จำนวนตัวที่ต่อ'], ['E19', 'Number of header outdoor unit trouble', '00 = หา header ไม่เจอ · 02 = มี header เกิน 1 ตัว'], ['E20', 'Other lines connected during automatic addressing', '01 = มี Outdoor สายอื่นต่อเข้ามา · 02 = มี Indoor สายอื่น'], ['E23', 'Sending error between outdoor units communication', 'เช็คสาย U3 U4 ระหว่าง Outdoor'], ['E25', 'Duplicated follower outdoor address set up', 'ที่อยู่ Outdoor ตัวตามซ้ำกัน'], ['E26', 'Decrease of connected outdoor units', 'Outdoor บางตัวหลุดจากระบบ'], ['E28', 'Follower outdoor unit trouble', 'ดูเลข Outdoor ที่แสดง แล้วไปตรวจตัวนั้น'], ['E31', 'Inverter communication trouble', 'auxiliary 80 = สื่อสารระหว่าง MCU กับ sub MCU'], ['F04', 'TD1 sensor trouble', 'เซ็นเซอร์อุณหภูมิท่อจ่าย'], ['F05', 'TD2 sensor trouble', 'เซ็นเซอร์อุณหภูมิท่อจ่ายตัวที่ 2'], ['F06', 'TE1, TE2 or TE3 sensor trouble', 'auxiliary 01/02/03 ระบุตัวที่เสีย'], ['F07', 'TL1, TL2 or TL3 sensor trouble', 'auxiliary 01/02/03 ระบุตัวที่เสีย'], ['F08', 'TO sensor trouble', 'เซ็นเซอร์อากาศภายนอก'], ['F09', 'TG1, TG2 or TG3 sensor trouble', 'auxiliary 01/02/03 ระบุตัวที่เสีย'], ['F12', 'TS sensor trouble — เซ็นเซอร์ TS ผิดปกติ', 'ซีรีส์ MAP: 01 = TS1 · 02 = TS2 · ซีรีส์ MUP: 01 = TS1 · 03 = TS3 · 04 = TS3 หลุด'], ['F13', 'TH (Heat sink) sensor trouble', '01 หรือ 1✱ = ฝั่งคอม 1 · 02 หรือ 2✱ = ฝั่งคอม 2'], ['F15', 'Outdoor temperature sensor miswiring (TE1, TL1)', 'ต่อสลับเซ็นเซอร์'], ['F16', 'Outdoor pressure sensor miswiring (Pd, Ps)', 'ต่อสลับเซ็นเซอร์แรงดัน'], ['F23', 'Ps sensor trouble', 'เซ็นเซอร์แรงดันด้านต่ำ'], ['F24', 'Pd sensor trouble', 'เซ็นเซอร์แรงดันด้านสูง'], ['F31', 'Outdoor EEPROM trouble', 'หน่วยความจำบอร์ด Outdoor'], ['H01', 'Compressor breaking down', '1✱ = คอม 1 · 2✱ = คอม 2'], ['H02', 'Compressor trouble (Locked) — คอมล็อก', '1✱ = คอม 1 · 2✱ = คอม 2'], ['H03', 'Current detection circuit system trouble', 'วงจรตรวจจับกระแส'], ['H05', 'TD1 sensor miswiring', 'ต่อเซ็นเซอร์ผิดตำแหน่ง'], ['H06', 'Low pressure protective operation', 'ระบบป้องกันแรงดันต่ำทำงาน'], ['H07', 'Oil level down detection — ระดับน้ำมันต่ำ', 'ตรวจระบบสมดุลน้ำมันระหว่าง Outdoor · จอแสดงเลข Outdoor ที่ตรวจพบ และขึ้นเฉพาะที่ Outdoor ตัว header'], ['H08', 'Temperature sensor trouble for oil level detection', '01 = TK1 · 02 = TK2 · (ซีรีส์ MAP มี 04 = TK4 · 05 = TK5 ด้วย)'], ['H15', 'TD2 sensor miswiring', 'ต่อเซ็นเซอร์ผิดตำแหน่ง'], ['H16', 'Oil level detector circuit system trouble', '01 = วงจรน้ำมัน TK1 · 02 = TK2 · (ซีรีส์ MAP มี 04 = TK4 ด้วย)'], ['H17', 'Compressor trouble (step out)', '1✱ = คอม 1 · 2✱ = คอม 2'], ['L02', 'Model mismatch of indoor and outdoor unit', 'รุ่น Indoor กับ Outdoor ไม่เข้ากัน'], ['L04', 'Outdoor system address duplication', 'ที่อยู่ระบบ Outdoor ซ้ำกัน'], ['L06', 'Duplication of indoor units with priority', 'ตั้ง Indoor ตัวหลักซ้ำกัน'], ['L08', 'Indoor unit group/address unset — ยังไม่ตั้ง address', 'ตั้ง address ให้ครบทุกตัว'], ['L10', 'Outdoor unit capacity unset', 'ยังไม่ตั้ง capacity ของ Outdoor'], ['L17', 'Inconsistent models of outdoor units', 'รุ่น Outdoor ในระบบเดียวกันไม่ตรงกัน'], ['L23', 'Switch setting trouble of outdoor unit', '02 = HWM (Hot Water Module)'], ['L28', 'Outdoor units mismatch', 'ชุด Outdoor ไม่เข้ากัน'], ['L29', 'Inverter quantity trouble', '00 = มีบอร์ดอินเวอร์เตอร์มากเกินไป'], ['L30', 'External interlock of indoor unit', 'สัญญาณ interlock จากภายนอกที่ Indoor'], ['L31', 'Other compressor troubles', 'ความผิดปกติอื่นของคอมเพรสเซอร์'], ['P03', 'Discharge temperature TD1 trouble', 'อุณหภูมิท่อจ่ายสูงผิดปกติ'], ['P04', 'High-pressure SW system operation — สวิตช์แรงดันสูงทำงาน', '01 = ฝั่งคอม 1 · 02 = ฝั่งคอม 2'], ['P05', 'Power outage / open phase / miswiring detection', '00 = ไฟดับ · 01 = เฟสขาด · 02 = ต่อสายผิด'], ['P07', 'Heat sink overheating trouble', '00 = คอม 1 หรือ 2 · 04 = heat sink มีน้ำเกาะ'], ['P10', 'Indoor overflow error — น้ำล้นที่ Indoor', 'ดูเลขที่อยู่ Indoor ที่แสดง'], ['P11', 'Outdoor heat exchanger freezing trouble', 'คอยล์ Outdoor เป็นน้ำแข็ง'], ['P13', 'Outdoor unit flow back trouble detected', 'น้ำยาไหลย้อน'], ['P14', 'Another refrigerant cycle protection', '01 = วาล์ว Outdoor ปิดอยู่'], ['P15', 'Gas leak detection — ตรวจพบน้ำยารั่ว', '01 = จากสภาวะ TS · 02 = จากสภาวะ TD'], ['P17', 'Discharge temperature TD2 trouble', 'อุณหภูมิท่อจ่ายตัวที่ 2 สูงผิดปกติ'], ['P19', '4-way valve inverse trouble', 'วาล์ว 4 ทางกลับทิศ · ดูเลข Outdoor ที่แสดง'], ['P20', 'High-pressure protective operation', 'ระบบป้องกันแรงดันสูงทำงาน'], ['P22', 'Outdoor fan inverter trouble', '1✱ = บอร์ดพัดลม 1 · 2✱ = บอร์ดพัดลม 2'], ['P26', 'IPM short protection trouble', '1✱ = ฝั่งคอม 1 · 2✱ = ฝั่งคอม 2'], ['P29', 'Compressor position detecting circuit system trouble', '11 = ฝั่งคอม 1 · 21 = ฝั่งคอม 2'], ] }, { g: 'Daikin VRV — Indoor Unit', rows: [ ['A0', 'External protection device abnormality — อุปกรณ์ป้องกันภายนอกทำงาน', 'เช็คอุปกรณ์ป้องกันที่ต่อเข้ามาจากภายนอก'], ['A1', 'Indoor unit PCB abnormality', 'เช็คความชื้น/แมลงในกล่องควบคุม · เสียซ้ำเปลี่ยนบอร์ด'], ['A3', 'Drain level control system abnormality — ระบบควบคุมระดับน้ำทิ้ง', 'ปั๊มน้ำทิ้ง ลูกลอย หรือท่อน้ำทิ้งอุดตัน/หักพับ'], ['A6', 'Indoor fan motor lock, overload / fan motor abnormality', 'ลองหมุนใบพัดดูความฝืด เช็คขั้วสายมอเตอร์'], ['A8', 'Power supply voltage abnormality (Indoor)', 'วัดแรงดันไฟที่จ่ายให้ Indoor'], ['A9', 'Electronic expansion valve coil abnormality, dust clogging', 'ขดลวด EEV หรือมีสิ่งอุดตัน — กระทบทั้งระบบ'], ['AF', 'Humidifier system abnormality', 'ระบบทำความชื้น (เฉพาะรุ่นที่มี)'], ['AH', 'Auto grille unit error', 'ชุดหน้ากากปรับอัตโนมัติ'], ['AJ', 'Defective capacity setting — ตั้งค่า capacity ผิด', 'ตั้ง capacity ให้ตรงรุ่นหลังเปลี่ยนบอร์ด'], ['C1', 'Transmission error (indoor PCB ↔ fan PCB / auto grille PCB)', 'สายระหว่างบอร์ดใน Indoor'], ['C4', 'Indoor heat exchanger liquid pipe thermistor abnormality', 'เซ็นเซอร์ท่อ Liquid ที่คอยล์เย็น'], ['C5', 'Indoor heat exchanger gas pipe thermistor abnormality', 'เซ็นเซอร์ท่อ Gas ที่คอยล์เย็น'], ['C6', 'Combination / capacity setting abnormality, indoor PCB abnormality', 'ชุดบอร์ดกับพัดลมไม่เข้ากัน หรือตั้ง capacity ผิด'], ['C9', 'Suction air thermistor abnormality', 'เซ็นเซอร์อากาศดูดกลับ'], ['CE', 'Infrared presence/floor sensor error', 'เซ็นเซอร์อินฟราเรดตรวจคน/พื้น'], ['CJ', 'Remote controller thermistor abnormality', 'เซ็นเซอร์อุณหภูมิในรีโมท'], ] }, ]; function renderErrCodes(q) { q = (q || '').trim().toLowerCase(); let total = 0, html = ''; ERR_GROUPS.forEach(grp => { const rows = grp.rows.filter(r => !q || r.join(' ').toLowerCase().includes(q)); if (!rows.length) return; total += rows.length; html += `
${grp.g}
${rows.map(r => ``).join('')}
โค้ดความหมายจุดตรวจ
${r[0]}${r[1]}${r[2]}
`; }); document.getElementById('errList').innerHTML = html || '
ไม่พบโค้ดที่ค้นหา
'; document.getElementById('errCount').textContent = total + ' โค้ด · Daikin: SiME341909EA §5.1 · Toshiba: MMY-MUP_HT8P-E IM'; } /* ---- Field Settings (Indoor · รีโมทมีสาย) ---- โครงสร้าง Mode/First/Second เป็นมาตรฐานตระกูล VRV แต่ความหมาย Second Code ต่างตามรุ่น — ยืนยันกับคู่มือรุ่นก่อนตั้งจริง */ const FS_PRESETS = [ { m: '10', f: '0', nm: 'Filter contamination heavy/light — รอบเวลาแจ้งล้างฟิลเตอร์', ds: 'ค่าที่ได้ขึ้นกับชนิดฟิลเตอร์ที่ติดตั้ง — Standard filter: 01≈200 ชม. / 02≈100 ชม. · Long life filter: 01≈2,500 ชม. / 02≈1,250 ชม. · Ultra long life filter: 01≈10,000 ชม. / 02≈5,000 ชม.', opts: [['01', 'Light — รอบปกติ'], ['02', 'Heavy — ฝุ่นมาก ลดรอบลงครึ่งหนึ่ง']] }, { m: '10', f: '1', nm: 'Long life filter type — ชนิดฟิลเตอร์อายุยาว', ds: 'บอกระบบว่าติดตั้งฟิลเตอร์ชนิดไหน เพื่อให้คำนวณรอบแจ้งล้างถูกต้อง (ใช้คู่กับ 10-0)', opts: [['01', 'Long life filter'], ['02', 'Ultra long life filter']] }, { m: '10', f: '2', nm: 'Room temperature thermistor in remote controller — เลือกเซ็นเซอร์อุณหภูมิห้อง', ds: 'ห้องที่ลมไม่ทั่วถึงหรือ Indoor อยู่สูงมาก การใช้เซ็นเซอร์ในรีโมทจะคุมอุณหภูมิตรงจุดใช้งานจริงกว่า', opts: [['01', 'Remote controller + Body thermostat (ใช้ร่วมกัน)'], ['02', 'Only body thermostat (เฉพาะในตัวเครื่อง)'], ['03', 'Only remote controller thermostat (เฉพาะในรีโมท)']] }, { m: '10', f: '3', nm: 'Display time to clean air filter — แสดง/ซ่อนไอคอนเตือนล้างฟิลเตอร์', ds: 'ปิดไอคอนได้ในงานที่มีทีมล้างตามรอบ PM อยู่แล้ว ลูกค้าจะได้ไม่สับสน', opts: [['01', 'Display — แสดง'], ['02', 'No display — ไม่แสดง']] }, { m: '10', f: '6', nm: 'Remote controller thermostat control during group control', ds: 'กำหนดว่าเมื่อคุมเป็นกลุ่ม จะยอมให้เซ็นเซอร์ในรีโมทเป็นตัวคุมเทอร์โมสตัทหรือไม่', opts: [['01', 'Not permitted — ไม่อนุญาต'], ['02', 'Permitted — อนุญาต']] }, { m: '12', f: '1', nm: 'External ON/OFF input — สัญญาณสั่งจากภายนอก', ds: 'ตั้งเมื่อจะสั่งเปิด-ปิดจากภายนอก เช่น คีย์การ์ด ระบบแจ้งเหตุ หรือ BMS', opts: [['01', 'Forced OFF — สั่งดับอย่างเดียว'], ['02', 'ON/OFF control — สั่งเปิด-ปิดได้'], ['03', 'External protection device input — รับสัญญาณอุปกรณ์ป้องกัน']] }, { m: '12', f: '2', nm: 'Thermostat differential changeover — ช่วงต่างอุณหภูมิตัดต่อ', ds: 'ตั้งเมื่อใช้เซ็นเซอร์ระยะไกล — ค่าน้อยลงคุมอุณหภูมิแม่นขึ้นแต่คอมตัดต่อถี่ขึ้น', opts: [['01', '1°C'], ['02', '0.5°C']] }, { m: '12', f: '5', nm: 'Power failure automatic reset — กลับมาทำงานเองหลังไฟดับ', ds: 'งานเซิร์ฟเวอร์รูมหรือห้องคุมอุณหภูมิควรตั้งให้กลับมาทำงานเอง', opts: [['01', 'Not equipped — ไม่กลับมาเอง'], ['02', 'Equipped — กลับมาทำงานเอง']] }, { m: '13', f: '0', nm: 'Setting of normal airflow — ระดับลมมาตรฐาน', ds: 'ปรับระดับลมให้เหมาะกับความสูงเพดานและลักษณะห้อง ตั้งต่ำเกินลมไม่ถึงพื้นที่ใช้งาน', opts: [['01', 'N (Normal)'], ['02', 'H (High)'], ['03', 'S (Super high)']] }, { m: '13', f: '1', nm: 'Selection of airflow direction — จำนวนทิศทางลม', ds: 'ตั้งเมื่อปิดบางช่องลมด้วยชุดปิดช่อง (sealing material kit) เพราะติดผนังหรือคาน', opts: [['01', 'F — 4 ทิศทาง'], ['02', 'T — 3 ทิศทาง'], ['03', 'W — 2 ทิศทาง']] }, { m: '13', f: '4', nm: 'Setting airflow position — ตำแหน่งการจ่ายลม', ds: 'เลือกรูปแบบการจ่ายลมเพื่อลดลมโกรกหรือลดคราบดำบนฝ้า', opts: [['01', 'Draft prevention — กันลมโกรก'], ['02', 'Standard'], ['03', 'Ceiling soiling prevention — กันฝ้าดำ']] }, { m: '13', f: '5', nm: 'Setting of static pressure selection — แรงดันสถิต', ds: 'สำหรับเครื่องที่ต่อท่อลม — ต้องให้ตรงกับระบบท่อจริง ตั้งต่ำเกินลมไม่ออกปลายท่อ ตั้งสูงเกินเสียงดังและกินไฟ', opts: [['01', 'Standard'], ['02', 'High static pressure']] }, ]; let fsIdx = 0, fsSec = 0, fsGroup = true, fsConfirmed = false; const fsModes = () => [...new Set(FS_PRESETS.map(p => p.m))]; const fsSameMode = m => FS_PRESETS.map((p, i) => ({ p, i })).filter(x => x.p.m === m); function rcAdj(field, dir) { fsConfirmed = false; const cur = FS_PRESETS[fsIdx]; if (field === 0) { const ms = fsModes(); const mi = (ms.indexOf(cur.m) + dir + ms.length) % ms.length; fsIdx = fsSameMode(ms[mi])[0].i; fsSec = 0; } else if (field === 1) { const grp = fsSameMode(cur.m); const at = grp.findIndex(x => x.i === fsIdx); fsIdx = grp[(at + dir + grp.length) % grp.length].i; fsSec = 0; } else { fsSec = (fsSec + dir + cur.opts.length) % cur.opts.length; } renderFS(); } function rcScopeToggle() { fsGroup = !fsGroup; fsConfirmed = false; renderFS(); fsLog(fsGroup ? 'ตั้งทั้งกลุ่ม — ใช้ Mode No. 10–15 ค่าจะมีผลกับ Indoor ทุกตัวที่รีโมทตัวนี้ควบคุมพร้อมกัน' : 'ตั้งทีละตัว — ใช้ Mode No. 20–25 (เลขในวงเล็บของตาราง) แล้วกด TIMER MODE START/STOP เลือกหมายเลข Indoor
' + 'ใช้เมื่อ Indoor ในกลุ่มเป็นคนละชนิด คนละความสูงเพดาน หรือเมื่อต้องการอ่านค่าที่ตั้งไว้ล่าสุด'); } function rcConfirm() { const p = FS_PRESETS[fsIdx], o = p.opts[fsSec]; fsConfirmed = true; fsLog(`✓ กด TIMER ON/OFF ยืนยันแล้ว — Mode ${fsDispMode()} / First ${p.f} / Second ${o[0]}
` + `${p.nm} → ${o[1]}
` + `แก้รายการอื่นต่อได้ · เสร็จแล้วกด INSPECTION/TEST กลับสู่โหมดปกติ · อย่าลืมจดลง commissioning report`); } function rcExit() { fsConfirmed = true; fsLog('กด INSPECTION/TEST — กลับสู่โหมดปกติแล้ว
' + 'ค่าที่กด TIMER ON/OFF ยืนยันไว้จะถูกบันทึก ส่วนที่ยังไม่ยืนยันจะไม่มีผล'); } /* Mode No. กลุ่ม 10–15 · ตั้งทีละตัวใช้เลขบวก 10 (20–25) ตามคู่มือ */ const fsIndiv = m => String(parseInt(m, 10) + 10); const fsDispMode = () => { const m = FS_PRESETS[fsIdx].m; return fsGroup ? m : fsIndiv(m); }; const fsLog = h => document.getElementById('rcLog').innerHTML = h; function fsPick(i) { fsConfirmed = false; fsIdx = i; fsSec = 0; renderFS(); } function renderFS() { const p = FS_PRESETS[fsIdx], o = p.opts[fsSec]; document.getElementById('rcMode').textContent = fsDispMode(); document.getElementById('rcFirst').textContent = p.f; document.getElementById('rcSecond').textContent = o[0]; document.getElementById('rcScope').textContent = fsGroup ? 'GROUP' : 'INDIVIDUAL'; document.getElementById('rcUnit').textContent = fsGroup ? 'ALL UNITS' : 'UNIT No. 0'; const presetHtml = FS_PRESETS.map((x, i) => `
${fsGroup ? x.m : fsIndiv(x.m)} · ${x.f}
${x.nm}
${x.ds}
${i === fsIdx ? '
' + x.opts.map((op, oi) => `${op[0]} · ${op[1]}`).join('') + '
' : ''}
`).join(''); document.getElementById('fsPresets').innerHTML = presetHtml; const p2 = document.getElementById('fsPresets2'); if (p2) p2.innerHTML = presetHtml; if (!fsConfirmed) fsLog(`Mode ${fsDispMode()} / First ${p.f} / Second ${o[0]} — ${o[1]}
` + `เลื่อนค่าด้วยปุ่มบนรีโมท หรือคลิกรายการด้านขวา แล้วกด TIMER ON/OFF ยืนยัน`); } document.querySelectorAll('.r-tab').forEach(t => t.addEventListener('click', () => { document.querySelectorAll('.r-tab').forEach(x => x.classList.remove('active')); t.classList.add('active'); const isBtn = t.dataset.rc === 'btn'; document.getElementById('rcBtn').style.display = isBtn ? '' : 'none'; document.getElementById('rcLcd').style.display = isBtn ? 'none' : ''; renderFS(); })); function initGuide() { if (guideReady) return; guideReady = true; renderInstallSteps(); renderErrCodes(''); renderFS(); selComp(0); } document.querySelectorAll('.g-tab').forEach(t => t.addEventListener('click', () => { document.querySelectorAll('.g-tab').forEach(x => x.classList.remove('active')); t.classList.add('active'); document.querySelectorAll('.g-view').forEach(v => v.classList.remove('active')); document.getElementById('gview-' + t.dataset.view).classList.add('active'); })); function toggleWiring() { const bad = document.getElementById('wireBad'), good = document.getElementById('wireGood'), btn = document.getElementById('wireBtn'); const showBad = bad.style.display === 'none'; bad.style.display = showBad ? '' : 'none'; good.style.opacity = showBad ? .22 : 1; btn.textContent = showBad ? '✓ กลับไปดูการต่อที่ถูกต้อง (Daisy Chain)' : '✕ แสดงตัวอย่างการต่อที่ผิด (Star/Loop)'; } /* PCB simulator — อ้างอิง Daikin Service Manual SiME341909EA (VRV-X RXQ-A, บอร์ด BS1~BS3 + จอ 7-seg 3 หลัก) */ let pcbState = 'normal', pcbIdx = 0, pcbStep = -1; const pcbShow = t => document.getElementById('pcbDisp').textContent = t; const pcbSay = m => document.getElementById('pcbLog').innerHTML = m; const PCB_INFO = { disp: ['จอ 7-Segment 3 หลัก (SEG1–SEG3)', 'คู่มือระบุหน้าที่ไว้ 4 อย่าง: ตรวจการสื่อสาร · แสดงสถานะการสื่อสารระหว่าง Indoor–Outdoor · แสดงเนื้อหาของ error · แสดงเนื้อหาของ field setting
' + 'Normal mode: ถ้าไม่มีความผิดปกติและ initialize การสื่อสารเสร็จแล้ว จอจะดับ (ว่าง) · ถ้ามีปัญหาจะกะพริบเป็นตัวอักษรผสมตัวเลข
' + 'Setting mode: แสดงเป็น 2. ตามด้วยเลขรายการ เช่น 2.08 = Te setting'], bs: ['ปุ่ม BS1–BS3', 'BS1 MODE เปลี่ยนโหมด · BS2 SET ตั้งค่า · BS3 RETURN ยืนยัน/ถอยกลับ
' + 'กด BS1 ค้าง ≥ 5 วินาที → Setting mode (Mode 2) · กด BS1 สั้น 1 ครั้ง → Monitor mode (Mode 1) · กดอีกครั้งกลับ Normal mode
' + 'กด BS2 ค้าง ≥ 5 วินาที ตอนเครื่องอยู่นิ่ง → เริ่ม Test Operation (จอขึ้น t01)
' + 'กด BS3 ค้าง ≥ 5 วินาที → สั่ง re-initialize การสื่อสารใหม่ (ใช้หลังเปลี่ยนบอร์ด)
' + 'ระบบหลาย Outdoor ต้องตั้งที่ตัว Master เท่านั้น — ตั้งที่ Slave จะไม่มีผล'], dip: ['DIP Switch (DS1-1~4, DS2-1~4)', 'สวิตช์ตั้งค่าฮาร์ดแวร์บนบอร์ด ใช้คู่กับการตั้งค่าผ่านปุ่ม BS — คู่มือกำหนดตำแหน่งเริ่มต้นไว้ที่ OFF ทั้งหมด
' + 'กรณีเปลี่ยนบอร์ดใหม่ (spare PCB) ต้องตั้ง DIP ตามตารางของรุ่นนั้นก่อน แล้วสั่ง re-initialize ด้วย BS3 ค้าง 5 วินาที จากนั้นต้องรัน Test Operation ใหม่'], led: ['LED H1P–H7P (+ H8P)', 'บอร์ดรุ่นนี้ไม่มีจอตัวเลข ใช้ LED แถวเดียว แทน — คู่มือกำหนดว่าค่าตั้งเขียนในรูป [Mode-Setting]=Value
' + 'H1P บอกโหมด: ดับ = สถานะปกติ · กะพริบ = Mode 1 · ติดค้าง = Mode 2
' + 'H2P–H7P บอกตัวเลขเป็นเลขฐานสอง น้ำหนักเรียงจากซ้าย 32-16-8-4-2-1 เช่น [2-20] จะติดที่ H3P (16) + H5P (4)
' + 'H8P เป็นไฟแสดงช่วง initialisation ของระบบ
' + 'ระหว่าง Test Operation H2P จะกะพริบ'], bs5: ['ปุ่ม BS1–BS5 (บอร์ด VRV IV-S)', 'BS1 MODE เปลี่ยนโหมด · BS2 SET ตั้งค่า · BS3 RETURN ยืนยัน · BS4 TEST สำหรับ Test Operation · BS5 RESET รีเซ็ต address เมื่อแก้การเดินสายหรือเพิ่ม Indoor
' + 'กด BS1 สั้น → สลับสถานะปกติ ↔ Mode 1 · กด BS1 ค้าง ≥ 5 วินาที → Mode 2
' + 'กด BS4 ค้าง ≥ 5 วินาที ตอน H1P ดับ → เริ่ม Test Operation · ยกเลิกด้วย BS3
' + 'คู่มือแนะนำให้ใช้ไม้ฉนวน (เช่น ปากกาลูกลื่นที่หุบปลายแล้ว) กดปุ่ม เพื่อเลี่ยงการสัมผัสจุดมีไฟ'], seg: ['จอ 7-segment 4 หลัก (Toshiba)', 'คู่มืออ่านจอเป็นสองกลุ่ม [A] และ [B] เช่น ตอนทดสอบโหมด COOL จะขึ้น [C] [-C] · ตอนปกติขึ้น [U1]
' + 'ถ้ามีความผิดปกติ จอจะสลับแสดง [U.✱.Err] กับรหัส check code ทุก 2 วินาที โดย ✱ คือเลขของ Outdoor (1–5)
' + 'ถ้า check code นั้นมี auxiliary code จอจะแสดง check code 3 วินาที สลับกับ auxiliary code 1 วินาที
' + 'ดูรหัสได้เมื่อตั้ง SW01/SW02/SW03 = [1/1/1]'], rot: ['Rotary Switch SW01 / SW02 / SW03', 'Toshiba ใช้สวิตช์หมุน 3 ตัว เลือกฟังก์ชัน แล้วสั่งงานด้วยปุ่มกด SW04 (บางฟังก์ชันใช้ SW05)
' + 'คู่มือเขียนค่าในรูป [SW01/SW02/SW03] เช่น [2/5/1] = ทดสอบทุก Indoor โหมด COOL
' + 'ตำแหน่งปกติคือ [1/1/1] — ตั้งกลับทุกครั้งหลังใช้งานเสร็จ ไม่งั้นเครื่องจะค้างอยู่ในโหมดพิเศษ'], toshterm: ['ขั้ว U1 U2 / U3 U4 (Toshiba)', 'U1 U2 = สายสื่อสารระหว่าง Indoor กับ Outdoor
' + 'U3 U4 = สายควบคุมระหว่าง Outdoor ด้วยกัน (คู่มือระบุว่าเป็น สายชีลด์ / Shield wire)
' + 'บางรุ่นมี U5 U6 เพิ่มสำหรับระบบควบคุมส่วนกลาง
' + 'ต่อผิดหรือขาดจะเจอ E04 / E07 (Indoor–Outdoor) หรือ E23 / E25 / E26 / E28 (ระหว่าง Outdoor)'], term: ['Terminal Block X1M — F1/F2 และ Q1/Q2', 'จุดต่อสายสื่อสาร: F1/F2 (TO IN/D UNIT) ลงไปหา Indoor ทุกตัว · F1/F2 (TO OUT/D UNIT) ต่อไปยัง Outdoor ระบบอื่น/ตัวควบคุมส่วนกลาง · Q1/Q2 (TO MULTI UNIT) พ่วงระหว่างโมดูล Outdoor ในระบบเดียวกัน
' + 'ต่อผิดหรือหลวมจะเจอ U4 (Indoor–Outdoor), U7 (ระหว่าง Outdoor) หรือ UF (System not set yet)'], }; function pcbInfo(k) { document.querySelectorAll('.pcb-hot').forEach(h => h.classList.remove('on')); const el = document.getElementById('hot-' + k); if (el) el.classList.add('on'); const d = PCB_INFO[k]; const html = `${d[0]}
${d[1]}`; const bc = document.getElementById('boardC'); if (bc && bc.style.display !== 'none') document.getElementById('toshLog').innerHTML = html; else pcbSay(html); } /* ลำดับ Test Operation — อ้างอิง Daikin Service Manual SiME341909EA หัวข้อ 3.3 */ const TEST_STAGES = [ ['t01', 'control before start up — ปรับความดันในระบบให้สมดุลก่อนสตาร์ท'], ['t02', 'cooling start up control — เริ่มเดินโหมดทำความเย็น'], ['t03', 'cooling stable condition — รอให้สภาวะเสถียร'], ['t04', 'communication check — ตรวจการสื่อสารกับ Indoor (จับสายผิด)'], ['t05', 'stop valve check — ตรวจว่าเปิด stop valve ครบทุกตัว'], ['t06', 'pipe length check — ระบบคำนวณความยาวท่อเอง'], ['t09', 'pump down operation'], ['t10', 'unit stop — หยุดเครื่อง'], ['', 'จบแล้ว — จบปกติจอจะว่าง (ดับ) ถ้าผิดปกติจะขึ้น error code · ใช้งานปกติได้หลังจากนี้ 5 นาที'], ]; /* รายการ Setting mode 2 ที่ใช้งานได้ (ข้ามรายการ "Do not change contents") */ const M2_ITEMS = [ ['02', 'Low noise / demand address'], ['05', 'Indoor fan forced H — บังคับพัดลม Indoor เดินระดับ H'], ['06', 'Forced thermostat ON — บังคับ Indoor ทุกตัวเทอร์โมสตัท ON'], ['08', 'Te setting — อุณหภูมิระเหยเป้าหมายตอนทำความเย็น (2=6°C มาตรฐาน ถึง 7=11°C)'], ['11', 'Eco — รับสัญญาณ Eco จากภายนอก'], ['12', 'External low noise / demand setting — รับสัญญาณ low noise หรือ demand จากภายนอก'], ['13', 'AIRNET address'], ['18', 'High ESP for outdoor fan — เพิ่มแรงดันสถิตพัดลม Outdoor'], ['21', 'Refrigerant recovery / vacuuming mode — เปิด EEV ค้างเพื่อดูดน้ำยากลับหรือแวคคั่ม (คอมไม่ทำงาน)'], ['22', 'Automatic night-time low noise — 0 OFF / 1–4 = Level 1–4'], ['23', 'Eco mode invalid — ปิดไม่ให้สั่ง Eco mode ผ่าน external control adaptor'], ['25', 'External night-time low noise level (Level 1–4)'], ['38', 'Emergency operation (โมดูล Master) — สั่งห้ามคอมเพรสเซอร์ M1C ทำงาน'], ['39', 'Emergency operation — สั่งห้ามคอมเพรสเซอร์ทำงาน (อีกโมดูล)'], ['40', 'Emergency operation — สั่งห้ามคอมเพรสเซอร์ทำงาน (อีกโมดูล)'], ['26', 'Auto night-time low noise — เวลาเริ่ม (2 ทุ่ม / 4 ทุ่ม / เที่ยงคืน)'], ['27', 'Auto night-time low noise — เวลาหยุด (6 / 7 / 8 โมงเช้า)'], ['28', 'Power transistor check — ตรวจอินเวอร์เตอร์โดยไม่ต่อคอม'], ['29', 'Capacity priority — ยกเลิก low noise เมื่อต้องการกำลังเย็น'], ['30', 'Demand 1 setting — Level 1 (60%) ถึง Level 8 (95%)'], ['31', 'Demand 2 setting — Level 1 (40%) / 2 (50%) / 3 (55%)'], ['32', 'Constant demand setting — บังคับ demand โดยไม่ต้องมีสัญญาณนอก'], ['49', 'Height difference setting — Outdoor สูงกว่า Indoor เกิน 50 m (สูงสุด 90 m)'], ['51', 'Sequence multi outdoor — 0 Automatic / 1 Forced master / 2 Forced slave 1 / 3 Forced slave 2'], ['76', 'VRTsmart control — ขีดจำกัดบนของ Te (Low 1–6 / Standard / High)'], ['78', 'VRT control — ขีดจำกัดบนของ Te (4 = Standard, 6 = High)'], ['81', 'Cooling comfort setting — 0 ECO / 1 Mild / 2 Quick / 3 Powerful'], ['83', 'Master remote control setting เมื่อผสม Indoor — 0 VRV indoor / 1 RA indoor'], ['90', 'Indoor unit without power — ยอมให้ระบบเดินได้แม้ Indoor บางตัวไม่มีไฟชั่วคราว'], ['95', 'Eco level setting สำหรับ VRTsmart — 0 Standard / 1 Middle'], ]; function pcbPress(b) { if (pcbStep >= 0 && b !== 'TEST' && b !== 'RESET') { if (b === 'BS3') { pcbStep = -1; pcbState = 'normal'; pcbShow(''); pcbTestBtn(); pcbSay('ยกเลิก Test Operation ด้วย BS3 — ของจริงเครื่องจะหยุดภายในประมาณ 30 วินาที'); } else { pcbSay('กำลัง Test Operation อยู่ — ระหว่างนี้สั่งหยุดจากรีโมทไม่ได้ ถ้าต้องการยกเลิกให้กด BS3'); } return; } if (b === 'BS1') { if (pcbState === 'normal') { pcbState = 'setting'; pcbIdx = 0; pcbShow('2.' + M2_ITEMS[0][0]); pcbSay('กด BS1 ค้าง ≥ 5 วินาที → เข้า Setting mode (Mode 2)
' + 'จอแสดง 2.' + M2_ITEMS[0][0] + ' = รายการที่ ' + M2_ITEMS[0][0] + ' · ' + M2_ITEMS[0][1] + '
' + 'กด BS2 เลื่อนรายการ · BS3 ยืนยันเข้าไปตั้งค่า · BS1 กลับ Normal mode
' + 'ถ้ากด BS1 สั้น 1 ครั้ง จาก Normal จะเข้า Monitor mode (Mode 1) แทน
'); } else { pcbState = 'normal'; pcbShow(''); pcbSay('กด BS1 กลับสู่ Normal mode — จอดับ (ว่าง) คือสถานะปกติที่ไม่มีความผิดปกติ' + '
คู่มือระบุว่าถ้าสับสนระหว่างตั้งค่า ให้กด BS1 เพื่อกลับ Normal mode ได้เสมอ'); } return; } if (b === 'BS2') { if (pcbState !== 'setting') { pcbSay('BS2 SET ใช้เลื่อนรายการเมื่ออยู่ใน Setting mode — กด BS1 ค้าง 5 วินาที เข้าโหมดก่อน' + '
ถ้ากด BS2 ค้าง ≥ 5 วินาที ตอนเครื่องอยู่นิ่ง = เริ่ม Test Operation'); return; } pcbIdx = (pcbIdx + 1) % M2_ITEMS.length; pcbShow('2.' + M2_ITEMS[pcbIdx][0]); pcbSay('2.' + M2_ITEMS[pcbIdx][0] + ' — ' + M2_ITEMS[pcbIdx][1] + '
กด BS3 เพื่อเลือกรายการนี้ แล้วใช้ BS2 เลือกค่า และ BS3 ยืนยันอีกครั้ง'); return; } if (b === 'BS3') { if (pcbState !== 'setting') { pcbSay('BS3 RETURN ใช้ยืนยันค่าใน Setting mode · ระหว่าง Test Operation ใช้ยกเลิก' + '
กดค้าง ≥ 5 วินาที = สั่ง re-initialize การสื่อสาร (ใช้หลังเปลี่ยนบอร์ด)'); return; } pcbSay('BS3 RETURN — เลือกรายการ 2.' + M2_ITEMS[pcbIdx][0] + ' แล้ว ค่าปัจจุบันจะกะพริบ
' + 'ลำดับจริง: BS2 เลือกค่า → BS3 ยืนยันค่า → BS3 อีกครั้งกลับหน้าแรกของ Setting mode → BS1 กลับ Normal mode'); return; } if (b === 'TEST') { if (pcbStep < 0) { pcbState = 'normal'; pcbStep = 0; } else { pcbStep++; if (pcbStep >= TEST_STAGES.length) { pcbStep = -1; pcbShow(''); pcbTestBtn(); pcbSay('กลับสู่ Normal mode — กดปุ่มด้านล่างเพื่อเริ่มจำลองใหม่'); return; } } const st = TEST_STAGES[pcbStep]; pcbShow(st[0] || ''); const head = pcbStep === 0 ? 'กด BS2 ค้าง ≥ 5 วินาที ตอนเครื่องอยู่นิ่ง → เริ่ม Test Operation ทั้งระบบ
' : ''; pcbSay(head + (st[0] ? 'ขั้นที่ ' + (pcbStep + 1) + '/' + (TEST_STAGES.length - 1) + ' · จอแสดง ' + st[0] + '
' + st[1] : '✅ ' + st[1]) + '
กดปุ่ม "ขั้นถัดไป" ด้านล่างเพื่อดูขั้นต่อไป · กด BS3 บนบอร์ดเพื่อยกเลิก'); pcbTestBtn(); return; } if (b === 'RESET') { pcbStep = -1; pcbState = 'normal'; pcbShow(''); pcbTestBtn(); pcbSay('กลับสู่ Normal mode — จอว่างคือปกติ'); } } function pcbTestBtn() { const el = document.getElementById('pcbTestBtn'); if (!el) return; el.textContent = pcbStep < 0 ? '▶ จำลอง Test Operation (= กด BS2 ค้าง 5 วิ)' : 'ขั้นถัดไป → (' + (pcbStep + 1) + '/' + (TEST_STAGES.length - 1) + ')'; } /* ============================================================== บอร์ด VRV IV-S : BS1~BS5 + LED H1P~H8P อ้างอิง Daikin RXYSQ4~6T7V1B Installation and operation manual (4P397284-1) ============================================================== */ const LED_SETTINGS = [ [8, 'Te target temperature during cooling — อุณหภูมิระเหยเป้าหมายตอนทำความเย็น (Auto / 6 / 8 / 9 / 10 / 11 °C)'], [9, 'Tc target temperature during heating — อุณหภูมิควบแน่นเป้าหมายตอนทำความร้อน (Auto / 46 / 43 °C)'], [12, 'เปิดรับสัญญาณ low noise / จำกัดการใช้พลังงาน ผ่าน external control adaptor (DTA104A61/62)'], [18, 'Fan high static pressure setting — เพิ่มแรงดันสถิตของพัดลม Outdoor'], [20, 'Manual additional refrigerant charge — เติมน้ำยาส่วนเพิ่มแบบ manual'], [21, 'Refrigerant recovery / vacuuming mode — เปิดทางน้ำยาเพื่อดูดกลับหรือแวคคั่ม'], [22, 'Automatic low noise ตอนกลางคืน + เลือกระดับ (Level 1–3)'], [25, 'ระดับ low noise เมื่อรับสัญญาณจาก external control adaptor'], [26, 'เวลาเริ่ม low noise อัตโนมัติ — 20h00 / 22h00 / 24h00'], [27, 'เวลาหยุด low noise อัตโนมัติ — 6h00 / 7h00 / 8h00'], [30, 'Power consumption limitation ระดับที่ 1 — 60% / 70% / 80%'], [31, 'Power consumption limitation ระดับที่ 2 — 30% / 40% / 50%'], [32, 'บังคับจำกัดการใช้พลังงานตลอดเวลา — ไม่ต้องมี external control adaptor (ตามค่า [2‑30] หรือ [2‑31])'], [38, 'ชนิดของ Indoor ที่ติดตั้ง — VRV DX (ค่าเริ่มต้น) หรือ RA DX'], [41, 'Cooling comfort setting — Eco / Mild (ค่าเริ่มต้น) / Quick / Powerful · ใช้คู่กับ [2‑8]'], [42, 'Heating comfort setting — Eco / Mild (ค่าเริ่มต้น) / Quick / Powerful · ใช้คู่กับ [2‑9]'], ]; const LED_TEST_STEPS = [ 'Control before start up (pressure equalisation) — ปรับความดันให้สมดุล', 'Cooling start up control — เริ่มเดินโหมดทำความเย็น', 'Cooling stable condition — รอสภาวะเสถียร', 'Communication check — ตรวจการสื่อสารกับ Indoor', 'Stop valve check — ตรวจว่าเปิดวาล์วครบ', 'Pipe length check — คำนวณความยาวท่อ', 'Pump down operation', 'Unit stop — หยุดเครื่อง', ]; let ledMode = 'default', ledIdx = 0, ledStep = -1; const setLed = (i, st) => { const el = document.getElementById('led' + i); if (el) el.setAttribute('class', st === 'on' ? 'led-on' : st === 'blink' ? 'led-blink' : 'led-off'); }; function ledSay(h) { document.getElementById('binBox').innerHTML = h; } function renderLeds(msg) { const s = LED_SETTINGS[ledIdx], n = s[0]; const weights = [32, 16, 8, 4, 2, 1]; let lit = []; if (ledMode === 'test') { setLed(1, 'off'); setLed(2, 'blink'); for (let i = 3; i <= 7; i++) setLed(i, 'off'); } else { setLed(1, ledMode === 'default' ? 'off' : ledMode === 'mode1' ? 'blink' : 'on'); weights.forEach((w, i) => { const on = ledMode === 'mode2' && (n & w); setLed(i + 2, on ? 'on' : 'off'); if (on) lit.push('H' + (i + 2) + 'P (' + w + ')'); }); } if (msg) { ledSay(msg); return; } if (ledMode === 'default') ledSay('สถานะปกติ (default) — H1P ดับ
' + 'คู่มือกำหนดว่าการตั้งค่าเขียนในรูป [Mode-Setting]=Value · H1P บอกโหมด · H2P–H7P บอกตัวเลขเป็นเลขฐานสอง
' + 'กด BS1 สั้น = Mode 1 (H1P กะพริบ) · กด BS1 ค้าง 5 วิ = Mode 2 (H1P ติดค้าง)'); else if (ledMode === 'mode1') ledSay('Mode 1 — H1P กะพริบ
โหมดอ่านค่า ใช้ดูสถานะ เช่น จำนวน Indoor ที่ต่ออยู่ สถานะ low noise และการจำกัดการใช้พลังงาน' + '
กด BS1 ค้าง 5 วินาที เพื่อเข้า Mode 2 · กด BS1 สั้นเพื่อกลับสถานะปกติ'); else ledSay('Mode 2 — H1P ติดค้าง · กำลังเลือก [2-' + n + ']
' + s[1] + '
' + 'LED ที่ติด: ' + (lit.length ? lit.join(' + ') : 'ไม่มี') + ' = ' + (lit.length ? lit.map(x => x.match(/\((\d+)\)/)[1]).join(' + ') + ' = ' + n : '0') + '
กด BS2 เลื่อนรายการ · BS3 ยืนยันเข้าไปตั้งค่า · BS1 กลับสถานะปกติ'); } function ledPress(b) { if (ledStep >= 0 && b !== 'BS3' && b !== 'BS4' && b !== 'HOME') { renderLeds('กำลัง Test Operation — H2P กะพริบ · ระหว่างนี้สั่งหยุดจากรีโมทไม่ได้ ถ้าต้องการยกเลิกให้กด BS3 (เครื่องจะหยุดใน ±30 วินาที)'); return; } if (b === 'BS1') { ledMode = ledMode === 'default' ? 'mode2' : ledMode === 'mode2' ? 'mode1' : 'default'; if (ledMode === 'mode2') { renderLeds('กด BS1 ค้าง ≥ 5 วินาที → Mode 2 (H1P ติดค้าง)
กำลังเลือก [2-' + LED_SETTINGS[ledIdx][0] + '] — ' + LED_SETTINGS[ledIdx][1] + '
กด BS2 เลื่อนรายการเพื่อดูรูปแบบ LED ของแต่ละค่า'); } else renderLeds(); return; } if (b === 'BS2') { if (ledMode !== 'mode2') { renderLeds('BS2 SET ใช้เลือกรายการเมื่ออยู่ใน Mode 2 — กด BS1 ค้าง 5 วินาที เข้าโหมดก่อน'); return; } ledIdx = (ledIdx + 1) % LED_SETTINGS.length; renderLeds(); return; } if (b === 'BS3') { if (ledStep >= 0) { ledStep = -1; ledMode = 'default'; ledTestBtn(); renderLeds('ยกเลิก Test Operation ด้วย BS3 — คู่มือระบุว่าเครื่องจะหยุดภายในประมาณ 30 วินาที'); return; } renderLeds('BS3 RETURN — ยืนยันรายการ/ค่าใน Mode 2
' + 'ยังใช้ ยกเลิก Test Operation และ รีเซ็ต error code หลังแก้ปัญหาเสร็จเพื่อเริ่มใหม่' + '
รายการ [2-20] เติมน้ำยา ก็ใช้ BS3 สั่งหยุดเมื่อเติมครบ'); return; } if (b === 'BS4') { if (ledStep < 0) { ledStep = 0; ledMode = 'test'; renderLeds('กด BS4 ค้าง ≥ 5 วินาที ตอน H1P ดับ (สถานะปกติ) → เริ่ม Test Operation ทั้งระบบ
' + 'H2P จะกะพริบ และรีโมท Indoor ขึ้น "Test operation" กับ "Under centralised control"
' + 'ขั้นที่ 1/' + LED_TEST_STEPS.length + ' — ' + LED_TEST_STEPS[0] + '
อาจใช้เวลาถึง 10 นาทีกว่าคอมจะเริ่มเดิน เพราะต้องรอน้ำยาสมดุลก่อน · กด "ขั้นถัดไป" ด้านล่างเพื่อดูขั้นต่อไป'); ledTestBtn(); return; } ledStep++; if (ledStep >= LED_TEST_STEPS.length) { ledStep = -1; ledMode = 'default'; ledTestBtn(); renderLeds('✅ Test Operation จบแล้ว — ถ้าไม่มี malfunction code คือจบปกติ ใช้งานได้หลังจากนี้ 5 นาที
' + 'ถ้ามีโค้ดขึ้น ให้แก้ตามตารางแล้วรัน Test Operation ใหม่จนไม่มีโค้ด'); return; } renderLeds('ขั้นที่ ' + (ledStep + 1) + '/' + LED_TEST_STEPS.length + ' — ' + LED_TEST_STEPS[ledStep] + '
H2P กะพริบตลอดช่วง Test Operation · กด "ขั้นถัดไป" เพื่อดูขั้นต่อไป หรือ BS3 เพื่อยกเลิก'); ledTestBtn(); return; } if (b === 'BS5') { renderLeds('BS5 RESET — คู่มือระบุหน้าที่ไว้ว่า "resetting the address when the wiring is changed or when an additional indoor unit is installed"
' + 'คือใช้สั่งจ่าย address ใหม่ เมื่อแก้การเดินสายหรือเพิ่ม Indoor เข้าไปในระบบ'); return; } if (b === 'HOME') { ledStep = -1; ledMode = 'default'; ledIdx = 0; ledTestBtn(); renderLeds(); } } /* ============================================================== บอร์ด Toshiba SMMS — Interface P.C. board อ้างอิง Toshiba MMY-MUP_HT8P-E Installation Manual (1141001202) ยืนยันซ้ำกับ SMMS-e Quick Reference และ SMMS-i Engineering Data ============================================================== */ const TOSH_FUNCS = [ { sw: [1, 1, 1], nm: 'สถานะปกติ / ดู Check Code ของ Outdoor', ds: 'ตำแหน่งปกติของ rotary switch · ถ้ามีความผิดปกติ จอจะสลับแสดง [U.✱.Err] กับรหัส check code ทุก 2 วินาที (✱ = เลข Outdoor 1–5)', a: 'U.1.', b: '- - -', act: null }, { sw: [2, 5, 1], nm: 'Collective trial — ทดสอบทุก Indoor โหมด COOL', ds: 'สั่งเดินทดสอบ Indoor ทุกตัวพร้อมกันในโหมดทำความเย็น', a: 'C', b: '', act: { hold: 'กด SW04 ค้าง ≥ 2 วินาที', a: 'C', b: '-C' } }, { sw: [2, 6, 1], nm: 'Collective trial — ทดสอบทุก Indoor โหมด HEAT', ds: 'สั่งเดินทดสอบ Indoor ทุกตัวพร้อมกันในโหมดทำความร้อน', a: 'H', b: '', act: { hold: 'กด SW04 ค้าง ≥ 2 วินาที', a: 'H', b: '-H' } }, { sw: [2, 9, 1], nm: 'Collective trial — ทดสอบทุก Indoor โหมด FAN', ds: 'สั่งเดินทดสอบ Indoor ทุกตัวพร้อมกันในโหมดพัดลม', a: 'F', b: '', act: { hold: 'กด SW04 ค้าง ≥ 2 วินาที', a: 'F', b: '-F' } }, { sw: [16, 1, 1], nm: 'Individual test — ทดสอบ Indoor ทีละตัว', ds: 'SW01 = 16 · SW02 = เลขที่อยู่ Indoor (1–16) · SW03 กำหนดช่วง: 1 = address 1–16, 2 = 17–32 (SW02+16), 3 = 33–48 (+32), 4 = 49–64 (+48), 5 = 65–80 (+64), 6 = 81–96 (+80), 7 = 97–112 (+96), 8 = 113–128 (+112)', a: '', b: '', act: { hold: 'กด SW04 ค้าง ≥ 10 วินาที', a: 'FF', b: '', note: 'จอขึ้น [FF] ประมาณ 5 วินาที แล้วแสดงเลขที่อยู่ของ Indoor ตัวนั้น' } }, { sw: [2, 1, 2], nm: 'ล้าง address ของระบบ / Indoor / กลุ่ม', ds: 'ใช้ตอนต้องการเซ็ต address ใหม่ทั้งระบบ', a: 'A.d', b: 'buS', act: { hold: 'เปิด SW04 ค้าง > 5 วินาที', a: 'A.d', b: 'c.L.', note: 'จอขึ้น "A.d.buS" ก่อน แล้วจึงกด SW04 · เสร็จแล้วตั้ง SW01/SW02/SW03 กลับที่เดิม' } }, { sw: [2, 2, 2], nm: 'ล้าง Central control address', ds: 'ล้างเฉพาะที่อยู่สำหรับระบบควบคุมส่วนกลาง', a: 'A.d', b: 'nEt', act: { hold: 'เปิด SW04 ค้าง > 5 วินาที', a: 'A.d', b: 'c.L.', note: 'จอขึ้น "A.d.nEt" ก่อน แล้วจึงกด SW04' } }, { sw: [2, 16, 1], nm: 'ล้าง Error โดยไม่ต้องปิดไฟ', ds: 'ล้าง error ที่ตรวจพบอยู่ของไลน์น้ำยานั้น ทั้งฝั่ง Outdoor และ Indoor แล้วเริ่มตรวจจับใหม่ — ทำที่ Outdoor ตัว header', a: 'E r', b: '', act: { hold: 'กด SW04 ค้าง ≥ 5 วินาที', a: 'E r', b: 'C L', note: 'จอ [B] ขึ้น [C L] ประมาณ 5 วินาที = ล้างเรียบร้อย · เสร็จแล้วหมุน SW กลับ [1/1/1]' } }, { sw: [2, 1, 14], nm: 'ปิดใช้งาน auto-address และ test operation', ds: 'สั่งห้ามใช้ฟังก์ชัน auto-address setup และ test operation — ฟังก์ชันอื่นของระบบยังทำงานได้ปกติ', a: 'nf', b: 'c.00', act: { hold: 'กด SW04 ค้าง > 5 วินาที', a: 'nf', b: 'c.01', note: 'จอขึ้น [nf][c.01] คือตั้งค่าเสร็จ · ถ้าจอไม่ตรงตามนี้ให้ทำใหม่ · เสร็จแล้วหมุน SW กลับ [1/1/1]' } }, { sw: [2, 16, 2], nm: 'ตั้งค่า Communication type', ds: 'ใช้ตอนตั้งชนิดการสื่อสารของระบบ — จอจะสลับ "c.c.bps" กับ "c.c.0" ทุก 1 วินาที', a: 'c.c', b: 'bps', act: { hold: 'กด SW04 ค้าง > 5 วินาที', a: 'c.c', b: 'in', note: 'ลำดับจริง: "-rSt.-" → "c.c.in" → เสร็จแล้วขึ้น "c.c.Fin" · ถ้าขึ้น "c.c.Err" ให้ทำใหม่ · ต้องการล้างค่าเดิมให้กด SW05 ค้าง ≥ 5 วินาที (จอขึ้น "c.c.rSt")' } }, ]; let toshIdx = 0, toshDone = false; function toshSet(i) { toshIdx = i; toshDone = false; renderTosh(); } function toshPress(sw) { const f = TOSH_FUNCS[toshIdx]; if (sw === 'SW05') { renderTosh('SW05 — ใช้เดินหน้าค่าตอนตั้ง Code No. (กดค้างจะเลื่อนทีละ 5 ขั้น) ' + 'และใช้ล้างค่า communication type โดยกดค้าง ≥ 5 วินาที จอจะกะพริบ “c.c.rSt”'); return; } if (sw === 'SW06') { renderTosh('SW06 — ใช้ถอยค่ากลับตอนตั้ง Code No. (คู่กับ SW05)' + '
คู่มือ MMY-MUP (SMMS-u) เรียกปุ่มนี้ว่า SW06 ' + 'แต่คู่มือ MMY-MAP…FT8P (SHRM-e) เรียกว่า SW15 — ให้ดูซิลค์สกรีนบนบอร์ดจริงที่หน้างาน'); return; } if (!f.act) { renderTosh('ตำแหน่ง [' + f.sw.join('/') + '] เป็นสถานะอ่านค่า ไม่ต้องกด SW04' + '
เลือกฟังก์ชันอื่นด้านล่างก่อน แล้วจึงกด SW04'); return; } toshDone = !toshDone; renderTosh(); } function renderTosh(msg) { const f = TOSH_FUNCS[toshIdx]; document.getElementById('rot1').textContent = f.sw[0]; document.getElementById('rot2').textContent = f.sw[1]; document.getElementById('rot3').textContent = f.sw[2]; const shown = (toshDone && f.act) ? f.act : f; document.getElementById('segA').textContent = shown.a || ''; document.getElementById('segB').textContent = shown.b || ''; document.getElementById('toshFuncs').innerHTML = TOSH_FUNCS.map((x, i) => `
${x.sw.join(' / ')}
${x.nm}
${x.ds}
`).join(''); if (msg) { document.getElementById('toshLog').innerHTML = msg; return; } let h = 'SW01/SW02/SW03 = [' + f.sw.join('/') + '] — ' + f.nm + '
'; if (!f.act) { h += 'จอแสดง [' + (f.a || ' ') + '] [' + (f.b || ' ') + ']'; } else if (!toshDone) { h += 'จอแสดง [' + (f.a || ' ') + '] [' + (f.b || ' ') + '] — พร้อมสั่งงาน
' + '' + f.act.hold + ' (คลิกปุ่ม SW04 บนบอร์ด)'; } else { h += '✅ สั่งงานแล้ว — จอเปลี่ยนเป็น [' + (f.act.a || ' ') + '] [' + (f.act.b || ' ') + ']' + (f.act.note ? '
' + f.act.note : '') + '
เลิกทดสอบ: ตั้ง SW01/SW02/SW03 กลับเป็น [1/1/1] จอจะกลับมาแสดง [U1]'; } document.getElementById('toshLog').innerHTML = h; } function ledTestBtn() { const el = document.getElementById('ledTestBtn'); if (!el) return; el.textContent = ledStep < 0 ? '▶ จำลอง Test Operation (= BS4 ค้าง 5 วิ)' : 'ขั้นถัดไป → (' + (ledStep + 1) + '/' + LED_TEST_STEPS.length + ')'; } document.querySelectorAll('.b-tab').forEach(t => t.addEventListener('click', () => { document.querySelectorAll('.b-tab').forEach(x => x.classList.remove('active')); t.classList.add('active'); const b = t.dataset.board; document.getElementById('boardA').style.display = b === 'A' ? '' : 'none'; document.getElementById('boardB').style.display = b === 'B' ? '' : 'none'; document.getElementById('boardC').style.display = b === 'C' ? '' : 'none'; document.getElementById('pcbLog').style.display = b === 'C' ? 'none' : ''; if (b === 'B') renderLeds(); if (b === 'C') renderTosh(); })); /* ============================================================== TOOL: โหมด & ฟังก์ชันบอร์ด Outdoor (PCB Mode Finder) ทุกขั้นตอนคัดจากคู่มือผู้ผลิต: · Daikin SiME341909EA (VRV-X RXQ-A) — บอร์ด 3 ปุ่ม + จอ 7-segment · Daikin 4P397284-1 (VRV IV-S RXYSQ-T) — บอร์ด 5 ปุ่ม + LED H1P~H8P · Toshiba 1141001202 (SMMS MMY-MUP HT8P-E) — Rotary SW01-03 + SW04-06 ============================================================== */ const PM_TASKS = { d3: [ { n: 'เข้า Monitor mode — อ่านค่าการทำงาน', c: 'read', k: 'monitor mode1 อ่านค่า ดูค่า address จำนวนยูนิต แรงดัน อุณหภูมิ', note: 'เลข "No." ในตารางรายการ = จำนวนครั้งที่ต้องกดปุ่ม BS2 · ดูรายการทั้งหมด 20 รายการได้ในตาราง "Monitor mode — รายการที่ดูได้" ด้านล่าง · ถ้าหลงทางระหว่างทำ กด BS1 จะกลับ Normal mode ได้เสมอ', s: [ { t: 'เริ่มจาก Normal mode — จอว่างคือปกติ (ถ้ามีความผิดปกติจะกะพริบเป็นตัวอักษรผสมตัวเลข)', d: '' }, { t: 'กด BS1 MODE 1 ครั้ง → เข้า Monitor mode', key: 'BS1', d: '1.00' }, { t: 'กด BS2 SET เลื่อนจอไปยังรายการที่ต้องการดู
ตัวอย่าง 1.10 = จำนวน Indoor ที่ต่ออยู่ในระบบนี้', key: 'BS2', d: '1.10' }, { t: 'กด BS3 RETURN → ข้อมูลของรายการที่เลือกจะขึ้นบนจอ', key: 'BS3', d: '1.10' }, { t: 'กด BS3 RETURN อีกครั้ง → กลับสู่หน้าแรกของ Monitor mode', key: 'BS3', d: '1.10' }, { t: 'กด BS1 MODE → กลับ Normal mode', key: 'BS1', d: '' }, ] }, { n: 'อ่าน error / retry ย้อนหลัง (1.17–1.25)', c: 'read', k: 'error retry ย้อนหลัง โค้ด monitor ประวัติ', note: 'รายการ 17, 18, 19 = error ที่ทำให้ระบบหยุดทำงาน (ล่าสุด / รอบก่อน / 2 รอบก่อน) · รายการ 23, 24, 25 = retry คือระบบพยายามทำงานต่อ · โค้ดบนจอ 3 หลักมีหลักบนกับหลักล่าง ใช้ BS2 สลับดู · error ที่เกิดกับ Indoor จะไม่ขึ้นบนจอ Outdoor ต้องดูจากรีโมท Indoor', s: [ { t: 'กด BS1 MODE จาก Normal mode → เข้า Monitor mode', key: 'BS1', d: '1.00' }, { t: 'กด BS2 SET เลื่อนไปที่รายการ error หรือ retry ที่ต้องการ
1.17 = error ล่าสุด · 1.23 = retry ล่าสุด', key: 'BS2', d: '1.17' }, { t: 'กด BS3 RETURN → รหัส error (หรือ retry) จะขึ้นบนจอ', key: 'BS3', d: '1.17' }, { t: 'กด BS2 SET → จอจะแสดงรหัสละเอียด (detailed code) ของรายการนั้น', key: 'BS2', d: '1.17' }, { t: 'กด BS3 RETURN → กลับสู่หน้าแรกของ Monitor mode', key: 'BS3', d: '1.17' }, { t: 'กด BS1 MODE → กลับ Normal mode', key: 'BS1', d: '' }, ] }, { n: 'Cross wiring check — หา Indoor ที่หายไป [2‑5]', c: 'serv', k: 'cross wiring หา indoor หาย จับสายผิด พัดลม fan high', note: 'สำคัญ: คู่มือเตือนว่าเมื่อตั้ง 2‑5‑1 แล้ว ค่าจะไม่กลับเป็นค่าเดิมเองตอนออกจาก Mode 2 — ต้องกลับมาตั้งเป็น 2‑5‑0 ด้วยตัวเองทุกครั้งหลังตรวจเสร็จ · Indoor รุ่น VKM จะไม่ถูกสั่งด้วยฟังก์ชันนี้', s: [ { t: 'ใช้เมื่อจำนวน Indoor ที่ระบบเห็น ไม่ตรงกับที่ติดตั้งจริง และต้องการหาว่าตัวไหนหลุดจากการสื่อสาร', d: '' }, { t: 'กด BS1 MODE ค้าง 5 วินาที → เข้า Setting mode', key: 'BS1', hold: 'กดค้าง ≥ 5 วินาที', d: '2.00' }, { t: 'กด BS2 SET เลื่อนไปที่รายการ 2.05 = Cross wiring check', key: 'BS2', d: '2.05' }, { t: 'กด BS3 แล้วตั้งค่าเป็น 1 → Indoor ทุกตัวที่สื่อสารได้จะเป่าพัดลมแรงสุด', key: 'BS3', d: '2.05' }, { t: 'เดินไล่ดูทีละห้อง — ตัวที่พัดลมไม่ทำงานคือตัวที่หลุดจากการสื่อสาร ให้ไปตรวจสายที่ตัวนั้น', d: '2.05' }, { t: 'ตั้งค่ากลับเป็น 0 (2‑5‑0) เมื่อตรวจเสร็จ — ถ้าไม่ตั้งกลับ พัดลมจะค้างเป่าแรงตลอด', key: 'BS2', d: '2.05' }, { t: 'กด BS1 MODE → กลับ Normal mode', key: 'BS1', d: '' }, ] }, { n: 'เติมน้ำยา — บอร์ดนี้ไม่มีรายการ 2.20', c: 'serv', k: 'น้ำยา refrigerant charge เติม 2-20 ชั่งน้ำหนัก', note: 'ความต่างระหว่างบอร์ด: รายการ 2.20 Manual additional refrigerant charge มีในบอร์ดตระกูล LED H1P–H8P (คู่มือ SiMT331505E และ VRV IV-S) แต่ไม่มีในบอร์ด 3 ปุ่ม + จอ 7-segment นี้ · แต่ไม่ได้แปลว่าบอร์ดนี้สั่งเติมน้ำยาไม่ได้ — บอร์ดนี้ใช้ Automatic Refrigerant Charge ซึ่งสั่งจาก Normal mode ด้วยปุ่ม BS2 ไม่ได้อยู่ในรายการ Mode 2 (ดูงาน "เติมน้ำยาอัตโนมัติ") · ถ้าต้องแวคคั่มหรือดูดน้ำยากลับ ให้ใช้รายการ 2.21 แทน', s: [ { t: 'ในคู่มือ SiME341909EA ของบอร์ดนี้ ตาราง Setting mode (Mode 2) ข้ามจากรายการ 2.19 ไป 2.21 เลย — ไม่มีรายการ 2.20', d: '' }, { t: 'ลองกด BS2 ไล่ดูในเครื่องจริงก็จะไม่เจอ 2.20
รายการที่ใกล้เคียงคือ 2.21 Refrigerant recovery / vacuuming', key: 'BS2', d: '2.21' }, { t: 'การเติมน้ำยาส่วนเพิ่มของบอร์ดนี้จึงใช้วิธีชั่งน้ำหนักเติมตามค่าที่คำนวณ ตามคู่มือติดตั้งของรุ่นนั้น ไม่ได้สั่งผ่านบอร์ด', d: '' }, { t: 'ใช้เครื่องมือ "ปริมาณน้ำยาเพิ่ม" ในแอปคำนวณปริมาณจากความยาวท่อ Liquid แต่ละขนาดได้', d: '' }, ] }, { n: 'Recovery / Vacuuming [2‑21]', c: 'serv', k: 'vacuum แวคคั่ม recovery ดูดน้ำยา 2-21 eev', note: 'ก่อนเริ่ม คู่มือกำหนดให้ แวคคั่มสายทั้งหมดระหว่างสายเซอร์วิส–เครื่องดูดน้ำยา–ถังเก็บ และชั่งน้ำหนักถังเก็บไว้ก่อน เพื่อจะได้รู้ปริมาณที่ดูดกลับมาได้ · ระหว่างโหมดนี้คอมเพรสเซอร์ไม่ทำงาน และพัดลมทั้ง Indoor/Outdoor ก็ไม่หมุน แม้รีโมทจะขึ้น "Test"', s: [ { t: 'กด BS1 MODE ค้าง 5 วินาที → เข้า Setting mode', key: 'BS1', hold: 'กดค้าง ≥ 5 วินาที', d: '2.00' }, { t: 'กด BS2 SET ไปที่ 2.21 = Refrigerant recovery / vacuuming', key: 'BS2', d: '2.21' }, { t: 'ตั้งค่าเป็น 1 → วาล์ว EEV ของทั้ง Indoor และ Outdoor จะเปิดสุด เพื่อเปิดทางให้ดูดน้ำยาหรือแวคคั่มได้ทั่วถึง', key: 'BS3', d: '2.21' }, { t: 'จอ Outdoor จะแสดง t01 · รีโมททุกตัวขึ้น "Test" และไฟ operation ติด แต่พัดลมไม่หมุน', d: 't01' }, { t: 'ดูดน้ำยากลับด้วยเครื่อง recovery หรือแวคคั่มให้เสร็จ', d: 't01' }, { t: 'จบโหมดนี้ด้วยการกด BS3 1 ครั้ง → จอกลับสู่สถานะปกติ (ดับหมด)', key: 'BS3', d: '' }, ] }, { n: 'เข้า Setting mode (Mode 2) — แก้ค่า', c: 'set', k: 'setting mode2 ตั้งค่า field setting te demand', note: 'ระบบหลาย Outdoor ต้องตั้งค่าที่ตัว Master เท่านั้น — ตั้งที่ Slave ระบบจะไม่รับ · ดูรายการ 2.05–2.51 ได้ในตารางอ้างอิงด้านล่าง', s: [ { t: 'เริ่มจาก Normal mode — จอว่าง', d: '' }, { t: 'กด BS1 MODE ค้าง 5 วินาทีขึ้นไป → เข้า Setting mode', key: 'BS1', hold: 'กดค้าง ≥ 5 วินาที', d: '2.00' }, { t: 'กด BS2 SET เลื่อนไปเลขรายการที่ต้องการ
ตัวอย่าง 2.08 = Te setting อุณหภูมิระเหยเป้าหมายตอนทำความเย็น', key: 'BS2', d: '2.08' }, { t: 'กด BS3 RETURN ยืนยันรายการ — ค่าปัจจุบันจะกะพริบ', key: 'BS3', d: '2.08' }, { t: 'กด BS2 SET เลือกค่าที่ต้องการ', key: 'BS2', d: '2.08' }, { t: 'กด BS3 RETURN ยืนยันค่า', key: 'BS3', d: '2.08' }, { t: 'กด BS3 RETURN อีกครั้ง → กลับหน้าแรกของ Setting mode', key: 'BS3', d: '2.08' }, { t: 'กด BS1 MODE → กลับ Normal mode', key: 'BS1', d: '' }, ] }, { n: 'สั่ง Test Operation ทั้งระบบ', c: 'test', k: 'test run ทดสอบ commissioning t01 u3', note: 'ต้องรันหลังติดตั้งครั้งแรกเสมอ ไม่งั้นรีโมทจะขึ้น U3 และใช้งานปกติหรือ test run รายตัวไม่ได้ · ยกเลิกกลางคันกด BS3 เครื่องจะหยุดใน ±30 วินาที · ความผิดปกติของ Indoor แต่ละตัวตรวจในขั้นนี้ไม่ได้ ต้องไล่เดินทีละตัวจากรีโมทหลังจบ · ลำดับ t ต่างกันตามรุ่น — ตารางในคู่มือ SiME341909EA ของบอร์ดนี้ข้าม t07 กับ t08 ไป แต่เอกสาร VRV IV ระบุเพิ่มว่า t07 = refrigerant amount check และ t08 = detailed refrigerant situation check (ขึ้นเฉพาะเมื่อ [2‑88]=0) ถ้าเครื่องหน้างานขึ้น t07/t08 ก็ถือว่าปกติ', s: [ { t: 'เช็คก่อน: แรงดันด้าน primary ของเบรกเกอร์ 415 V ± 10% (เครื่อง 3 เฟส) · เปิด stop valve ทั้ง Liquid และ Gas จนสุด', d: '' }, { t: 'ปิดฝาครอบหน้าเครื่องให้หมด (เว้นช่องเปิดตรวจกล่องไฟฟ้า) และจ่ายไฟมาแล้ว 6 ชั่วโมงเพื่อป้องกันคอมเพรสเซอร์', d: '' }, { t: 'ตั้ง field setting ที่ต้องการให้ครบก่อน แล้วจึงเริ่ม Test Operation', d: '' }, { t: 'ขณะเครื่องอยู่นิ่ง กด BS2 ค้าง 5 วินาทีขึ้นไป → เริ่ม Test Operation', key: 'BS2', hold: 'กดค้าง ≥ 5 วินาที', d: 't01' }, { t: 't01 — control before start up (ปรับความดันในระบบให้สมดุล)
อาจใช้เวลาถึง 10 นาทีกว่าคอมจะเริ่มเดิน', d: 't01' }, { t: 't02 — cooling start up control (เริ่มเดินโหมดทำความเย็น)', d: 't02' }, { t: 't03 — cooling stable condition (รอสภาวะเสถียร)', d: 't03' }, { t: 't04 — communication check (ตรวจการสื่อสารกับ Indoor / จับสายผิด)', d: 't04' }, { t: 't05 — stop valve check (ตรวจว่าเปิดวาล์วครบ)', d: 't05' }, { t: 't06 — pipe length check (ระบบคำนวณความยาวท่อเอง)', d: 't06' }, { t: 't09 — pump down operation', d: 't09' }, { t: 't10 — unit stop (หยุดเครื่อง)', d: 't10' }, { t: '✅ จบแล้ว — จอว่าง = จบปกติ · ถ้าขึ้น error code คือผิดปกติ ต้องแก้แล้วรันใหม่
เมื่อจบสมบูรณ์ ใช้งานปกติได้หลังจากนี้ 5 นาที', d: '' }, ] }, { n: 'Re-initialize การสื่อสาร (หลังเปลี่ยนบอร์ด)', c: 'serv', k: 'spare pcb เปลี่ยนบอร์ด initialize dip', note: 'คู่มือระบุว่าหลังเปลี่ยนบอร์ดใหม่ ต้องตั้ง DIP switch ตามตารางของรุ่นนั้นก่อน แล้วจึงสั่ง re-initialize และหลัง initialize เสร็จต้องรัน Test Operation ใหม่', s: [ { t: 'ตั้ง DIP switch ตามตารางของรุ่นนั้นให้ครบก่อน', d: '' }, { t: 'กด BS3 RETURN ค้าง 5 วินาทีขึ้นไป → สั่ง re-initialize การสื่อสาร', key: 'BS3', hold: 'กดค้าง ≥ 5 วินาที', d: '' }, { t: 'หลัง initialize เสร็จ ต้องรัน Test Operation ใหม่ — กด BS2 ค้างจนจอขึ้น t01', key: 'BS2', hold: 'กดค้าง ≥ 5 วินาที', d: 't01' }, ] }, { n: 'เติมน้ำยาอัตโนมัติ — Automatic Refrigerant Charge', c: 'serv', k: 'auto charge เติมน้ำยาอัตโนมัติ p9 pe precharge valve a b t03 u3-04', note: 'เงื่อนไขอุณหภูมิที่ทำได้: ภายนอก 0–43 °C · ภายใน 10–32 °C · เติมน้ำยาได้ต่อเมื่อเดินท่อและเดินสายเสร็จ ผ่านการทดสอบรั่วและแวคคั่มแล้ว · ถ้าเติมด้วยมือโดยไม่ใช้ฟังก์ชันนี้ ฟังก์ชันตรวจจับน้ำยารั่วจะใช้ไม่ได้ · ปริมาณที่ต้องเติมคำนวณได้จากเครื่องมือ "ปริมาณน้ำยาเพิ่มเติม" ในแอปนี้ (อย่าลืมบวกค่า A)', s: [ { t: 'ขั้นเตรียม — คำนวณปริมาณ R ที่ต้องเติมให้ได้ก่อน แล้วดูว่าเข้าเงื่อนไขไหน
R > 4 kg → ต้อง Pre-charging ก่อน (ขั้นถัดไป)
R ≤ 4 kg → ข้ามไปเริ่ม auto charge ได้เลย', d: '' }, { t: 'Pre-charging (เฉพาะ R > 4 kg) — ต่อสายจากถังน้ำยาผ่านแมนิโฟลด์ไปที่คอยล์ร้อน ไล่ความชื้นออกจากสายทั้ง 3 เส้น แล้วเซ็ตศูนย์ที่ตราชั่ง
ระหว่าง pre-charging คอมเพรสเซอร์ต้องยังไม่ทำงาน', d: '' }, { t: 'สถานะวาล์วตอน Pre-charging: เปิด Valve A (ฝั่ง H.P. ที่ต่อกับสต็อปวาล์วด้าน Liquid) · ปิด Valve B · สต็อปวาล์วทั้ง Liquid และ Gas ปิดทั้งคู่', d: '' }, { t: 'เติมล่วงหน้าปริมาณ Q = 50% (±10%) ของ R แล้วรอให้ความดันในระบบบาลานซ์ · เมื่อเติมไม่เข้าแล้วให้ปิด Valve A แล้วไปเริ่มขั้นตั้งค่าที่บอร์ด', d: '' }, { t: 'เตรียมเข้าโหมด auto charge — เปิดสต็อปวาล์วทั้ง Liquid และ Gas จนสุด แต่ Valve A และ Valve B ยังปิดอยู่ทั้งคู่ · จ่ายไฟให้ทั้ง Indoor และ Outdoor', d: '' }, { t: 'ดูจอตอนจ่ายไฟ: กะพริบ ช่วงแรก 1–2 นาที → ถ้าไม่มีความผิดปกติจะติดค้างราว 8–10 นาที → แล้วดับหมด คือพร้อมใช้งาน
ต้องรอจนจอดับก่อน จึงเริ่มขั้นถัดไปได้', d: '888' }, { t: 'กด BS2 1 ครั้ง → จอแสดง 888', key: 'BS2', d: '888' }, { t: 'กด BS2 ค้าง ประมาณ 5 วินาที จนจอขึ้น t01 → เริ่มกระบวนการ', key: 'BS2', hold: 'กดค้าง ≈ 5 วินาที', d: 't01' }, { t: 'ระบบจะเดินเองแล้วไล่ไปที่ t02 (start up control) และ t03 (waiting stable cooling operation) ตามลำดับ', d: 't02' }, { t: 'เมื่อจอ t03 กะพริบ = พร้อมรับน้ำยาแล้ว ให้กด BS2 หนึ่งครั้งภายใน 5 นาที แล้วจึงเปิด Valve B
ถ้าไม่กด BS2 ภายใน 5 นาที จอจะขึ้นโค้ด P2 ต้องกด BS3 เพื่อออก แล้วเริ่มใหม่', key: 'BS2', d: 't03' }, { t: 'ระหว่างเติม จอจะสลับแสดงค่าความดันด้านต่ำกับ t03 ไปเรื่อย ๆ · สถานะวาล์วช่วงนี้คือ Valve B เปิด · Valve A ปิด · คอยดูตราชั่งไปด้วย', d: 't03' }, { t: 'จอขึ้น PE = ใกล้จะเติมเสร็จแล้ว', d: 'PE' }, { t: 'จอขึ้น P9 = เติมเสร็จสมบูรณ์ ให้ปิด Valve B ที่แมนิโฟลด์
ถ้าปริมาณที่ต้องเติมน้อยมาก ระบบอาจข้าม PE แล้วขึ้น P9 เลย ไม่ใช่ความผิดปกติ', d: 'P9' }, { t: 'กด BS1 เพื่อออกจากกระบวนการ auto charge — P9 จะหายไปจากจอ', key: 'BS1', d: '' }, { t: 'ถ้าเติมไม่สำเร็จ จอจะขึ้น error U3-04 — คู่มือระบุให้เริ่มกระบวนการ auto charge ใหม่ตั้งแต่ขั้นตั้งค่าที่บอร์ด (ที่คู่มือเรียกว่า STEP 4)', d: 'U3' }, { t: 'เมื่อเติมสำเร็จ ให้ตรวจปริมาณที่เติมเข้าไปจริงจากตราชั่ง → เขียนลงแผ่นป้ายบันทึกที่ให้มากับเครื่อง → ติดแผ่นป้ายไว้ที่เครื่องในที่ที่มองเห็นชัด
ใช้เครื่องมือ "ปริมาณน้ำยาเพิ่มเติม" กดพิมพ์แผ่นป้ายบันทึกออกมากรอกได้เลย', d: '' }, ] }, { n: 'Bypass โมดูลที่เสีย — Emergency operation [2‑38/39/40]', c: 'serv', k: 'emergency bypass master slave โมดูลเสีย ตัดคอม 2-38 2-39 2-40 backup ฉุกเฉิน วิ่งตัวเดียว', note: 'คำอธิบายในคู่มือ SiME341909EA เขียนไว้ตรงตัวว่า “To prohibit a compressor or complete module in permanent. Since module is permanent disabled, immediately replace the defective component(s).” — คือสั่งห้ามคอมตัวใดตัวหนึ่งหรือทั้งโมดูลอย่างถาวร และให้รีบเปลี่ยนอะไหล่ที่เสียทันที ไม่ใช่โหมดที่ตั้งไว้ใช้ยาว ๆ · ค่านี้ตั้งแล้วค้างอยู่จนกว่าจะตั้งกลับเป็น 0 ด้วยมือ · คู่มือมีรายการ Monitor 1.03 Automatic backup operation setting (0 = OFF · 1 = ON) ไว้ดูสถานะได้', s: [ { t: 'ยืนยันก่อนว่าโมดูลที่เสียคือตัวไหน — กด BS1 เข้า Monitor mode แล้วดูรายการ 1.00 Master/slave outdoor unit
ค่า 0 = Master · 1 = Slave 1 · 2 = Slave 2', key: 'BS1', d: '1.00' }, { t: 'กด BS1 MODE ค้าง 5 วินาทีขึ้นไป → เข้า Setting mode', key: 'BS1', hold: 'กดค้าง ≥ 5 วินาที', d: '2.00' }, { t: 'กด BS2 SET ไปที่เลขรายการตามโมดูลที่เสีย
2.38 = Master · 2.39 = Slave 1 · 2.40 = Slave 2', key: 'BS2', d: '2.38' }, { t: 'กด BS3 RETURN ยืนยันรายการ — ค่าปัจจุบันจะกะพริบ', key: 'BS3', d: '2.38' }, { t: 'กด BS2 SET เลือกค่าตามสิ่งที่ต้องตัดออก
1 = ปิดคอม inverter ตัวที่ 1 · 2 = ปิดคอม inverter ตัวที่ 2 · 3 = ปิดทั้งโมดูลอย่างถาวร
ค่า 2 คู่มือระบุว่าใช้ได้เฉพาะรุ่น 16–20 HP เท่านั้น และคอมตัวที่ 2 อยู่ด้านซ้าย', key: 'BS2', d: '2.38' }, { t: 'กด BS3 RETURN ยืนยันค่า แล้วกด BS3 อีกครั้งเพื่อกลับหน้าแรกของ Setting mode', key: 'BS3', d: '2.38' }, { t: 'กด BS1 MODE → กลับ Normal mode แล้วทดสอบว่าระบบเดินได้ด้วยโมดูลที่เหลือ', key: 'BS1', d: '' }, { t: 'ตารางรวมค่าจากคู่มือ — เลือกให้ตรงทั้งโมดูลและสิ่งที่ตัด
คอมตัวที่ 1 → 2‑38‑1 / 2‑39‑1 / 2‑40‑1
คอมตัวที่ 2 → 2‑38‑2 / 2‑39‑2 / 2‑40‑2
ทั้งโมดูล → 2‑38‑3 / 2‑39‑3 / 2‑40‑3', d: '' }, { t: 'เมื่อซ่อมเสร็จต้องตั้งกลับเป็น 0 ทุกรายการที่แก้ไว้ — ถ้าลืม โมดูลนั้นจะถูกห้ามเดินต่อไปเรื่อย ๆ แม้อะไหล่จะเปลี่ยนแล้ว', key: 'BS2', d: '2.38' }, ] }, { n: 'บังคับหน้าที่ Master / Slave [2‑51]', c: 'set', k: 'master slave บังคับ forced sequence 2-51 u7 ย้าย master', note: 'อ่านตามคู่มือตรง ๆ: SiME341909EA อธิบายรายการนี้ไว้ว่าปกติระบบ multi (ต่อท่อร่วมกันและเดินสาย Q1Q2) จะตรวจจับ master/slave เองอัตโนมัติ และให้ตั้งมือเฉพาะ “in case of AIRNET monitoring” — คู่มือไม่ได้เขียนขั้นตอน “ย้ายหน้าที่ Master ไปตัวอื่นเมื่อบอร์ด Master เสีย” ไว้เป็นหัวข้อเฉพาะแบบที่ Toshiba มี · ถ้าบอร์ด Master เสียจนตั้งค่าอะไรไม่ได้ ให้ติดต่อตัวแทน Daikin ก่อนดัดแปลงระบบเอง', s: [ { t: 'ค่าเริ่มต้นคือ 0 = Automatic detection — ระบบหาเองว่าตัวไหนเป็น Master', d: '2.51' }, { t: 'กด BS1 MODE ค้าง 5 วินาที → เข้า Setting mode แล้วกด BS2 ไปที่ 2.51', key: 'BS2', hold: 'กดค้าง ≥ 5 วินาที', d: '2.51' }, { t: 'ค่าที่เลือกได้ตามคู่มือ:
1 = Forced Master — ขั้วต่อ F1F2/Ind ต้องเดินสายไปหา Indoor
2 = Forced Slave 1 — เดินเฉพาะ Q1Q2 ไปหาโมดูล Master
3 = Forced Slave 2 — เดินเฉพาะ Q1Q2 ไปหาโมดูล Master', key: 'BS2', d: '2.51' }, { t: 'ข้อควรระวังจากคู่มือ: ทุกโมดูลใน multi ต้องมีสถานะต่างกัน — ถ้าตั้งซ้ำกันแม้เพียงสองตัว จะขึ้น error U7', d: '2.51' }, { t: 'กด BS3 ยืนยัน แล้ว BS1 กลับ Normal mode', key: 'BS1', d: '' }, ] }, ], d5: [ { n: 'Mode 1 — ดูจำนวน Indoor และโค้ดย้อนหลัง', c: 'read', k: 'mode1 monitor อ่านค่า จำนวน indoor malfunction code ย้อนหลัง', note: '[1‑5] = จำนวน Indoor ที่ต่ออยู่ · [1‑14] [1‑15] [1‑16] = malfunction code ล่าสุด / ที่ 2 / ที่ 3 ใช้ดูย้อนหลังเมื่อโค้ดถูกล้างจากรีโมทไปแล้ว · กด BS2 ได้ถึง 3 ครั้งเพื่อดูรายละเอียดเพิ่มของโค้ด', s: [ { t: 'เริ่มจากสถานะปกติ — H1P ดับ', d: { h1: 'off' } }, { t: 'กด BS1 1 ครั้ง → เข้า Mode 1 (H1P กะพริบ)', key: 'BS1', d: { h1: 'blink' } }, { t: 'กด BS2 จนได้เลขรายการที่ต้องการ — ตัวอย่างเลือก [1‑5] จำนวน Indoor ที่ต่ออยู่
LED อ่านเป็นเลขฐานสอง: ติดที่ H5P (ค่า 4) + H7P (ค่า 1) = 5', key: 'BS2', d: { h1: 'blink', bin: 5 } }, { t: 'กด BS3 1 ครั้ง → แสดงค่าของรายการนั้น
ตัวอย่างนี้ = มี Indoor ต่ออยู่ 8 ตัว (ติดที่ H4P ค่า 8)', key: 'BS3', d: { h1: 'blink', bin: 8 } }, { t: 'ถ้าจำนวนไม่ตรงกับที่ติดตั้งจริง คู่มือแนะนำให้ไล่ตรวจสายสื่อสาร F1/F2 ระหว่าง Outdoor กับ Indoor', d: { h1: 'blink', bin: 8 } }, { t: 'กด BS1 1 ครั้ง → ออกจาก Mode 1', key: 'BS1', d: { h1: 'off' } }, ] }, { n: 'Mode 2 — แก้ค่า (ตัวอย่าง [2‑8] Te)', c: 'set', k: 'mode2 setting ตั้งค่า te tc demand low noise', note: 'คู่มือเขียนค่าเป็นรูป [Mode-Setting]=Value เช่น [2‑8]=4 · H1P บอกโหมด · H2P–H7P บอกตัวเลขเป็นเลขฐานสอง 32-16-8-4-2-1 · ถ้าสับสนระหว่างทาง กด BS1 กลับสถานะปกติได้เสมอ', s: [ { t: 'เริ่มจากสถานะปกติ — H1P ดับ', d: { h1: 'off' } }, { t: 'กด BS1 ค้าง 5 วินาทีขึ้นไป → เข้า Mode 2 (H1P ติดค้าง)', key: 'BS1', hold: 'กดค้าง ≥ 5 วินาที', d: { h1: 'on' } }, { t: 'กด BS2 เลือกรายการที่ 8 = Te target temperature ตอนทำความเย็น
ติดที่ H4P (ค่า 8)', key: 'BS2', d: { h1: 'on', bin: 8 } }, { t: 'กด BS3 1 ครั้ง → แสดงค่าปัจจุบันที่ตั้งอยู่', key: 'BS3', d: { h1: 'on', bin: 8 } }, { t: 'กด BS2 เปลี่ยนเป็นค่า 4 (= 8 °C)
ติดที่ H5P (ค่า 4)', key: 'BS2', d: { h1: 'on', bin: 4 } }, { t: 'กด BS3 1 ครั้ง → ใส่ค่าเข้าระบบ', key: 'BS3', d: { h1: 'on', bin: 4 } }, { t: 'กด BS3 อีกครั้ง → ยืนยัน ระบบเริ่มทำงานตามค่าใหม่', key: 'BS3', d: { h1: 'on', bin: 4 } }, { t: 'กด BS1 1 ครั้ง → ออกจาก Mode 2', key: 'BS1', d: { h1: 'off' } }, ] }, { n: 'สั่ง Test Operation ทั้งระบบ', c: 'test', k: 'test run ทดสอบ bs4 commissioning', note: 'ยกเลิกกลางคันกด BS3 เครื่องจะหยุดใน ±30 วินาที · ระหว่าง test run สั่งหยุดจากรีโมทไม่ได้ · ถ้าจบแล้วมี malfunction code ต้องแก้แล้วรันใหม่จนไม่มีโค้ด', s: [ { t: 'ตั้ง field setting ที่ต้องการให้ครบ และจ่ายไฟมาแล้ว 6 ชั่วโมง เพื่อให้ crankcase heater ทำงานและป้องกันคอมเพรสเซอร์', d: { h1: 'off' } }, { t: 'ต้องอยู่ในสถานะปกติก่อน (H1P ดับ) แล้วกด BS4 ค้าง 5 วินาทีขึ้นไป', key: 'BS4', hold: 'กดค้าง ≥ 5 วินาที', d: { h1: 'off', h2: 'blink' } }, { t: 'H2P กะพริบ และรีโมท Indoor ขึ้น "Test operation" กับ "Under centralised control"
ขั้นที่ 1 — Control before start up (ปรับความดันให้สมดุล)
อาจใช้เวลาถึง 10 นาทีกว่าคอมจะเริ่มเดิน', d: { h1: 'off', h2: 'blink' } }, { t: 'ขั้นที่ 2 — Cooling start up control', d: { h1: 'off', h2: 'blink' } }, { t: 'ขั้นที่ 3 — Cooling stable condition', d: { h1: 'off', h2: 'blink' } }, { t: 'ขั้นที่ 4 — Communication check', d: { h1: 'off', h2: 'blink' } }, { t: 'ขั้นที่ 5 — Stop valve check', d: { h1: 'off', h2: 'blink' } }, { t: 'ขั้นที่ 6 — Pipe length check', d: { h1: 'off', h2: 'blink' } }, { t: 'ขั้นที่ 7 — Pump down operation', d: { h1: 'off', h2: 'blink' } }, { t: 'ขั้นที่ 8 — Unit stop', d: { h1: 'off', h2: 'blink' } }, { t: '✅ อ่านผลจาก LED — ถ้าไม่มี malfunction code คือ จบปกติ ใช้งานได้หลังจากนี้ 5 นาที', d: { h1: 'off' } }, ] }, { n: 'เติมน้ำยาส่วนเพิ่มแบบ manual [2‑20]', c: 'serv', k: 'น้ำยา refrigerant charge เติม 2-20', note: 'ใช้เมื่อเติมจาก stop valve ด้าน Liquid ตอนเครื่องหยุดแล้วยังไม่ครบ · ถ้าไม่กด BS3 เครื่องจะหยุดเองภายใน 30 นาที ถ้า 30 นาทีไม่พอให้ตั้งรายการใหม่แล้วทำซ้ำ · ห้ามเติมเกิน', s: [ { t: 'กด BS1 ค้าง 5 วินาที → เข้า Mode 2', key: 'BS1', hold: 'กดค้าง ≥ 5 วินาที', d: { h1: 'on' } }, { t: 'กด BS2 เลือกรายการ 20 = Manual additional refrigerant charge
20 = 16 + 4 → ติดที่ H3P + H5P', key: 'BS2', d: { h1: 'on', bin: 20 } }, { t: 'กด BS3 เปิดใช้งาน (Activated) → เครื่องจะเริ่มเดินเอง', key: 'BS3', d: { h1: 'on', bin: 20 } }, { t: 'เติมจนครบตามปริมาณที่คำนวณไว้ แล้วกด BS3 เพื่อหยุด', key: 'BS3', d: { h1: 'on', bin: 20 } }, { t: 'บันทึกน้ำหนักที่เติมจริงลงป้ายที่เครื่อง แล้วออกจาก Mode 2', key: 'BS1', d: { h1: 'off' } }, ] }, { n: 'Recovery / Vacuuming [2‑21]', c: 'serv', k: 'vacuum แวคคั่ม recovery ดูดน้ำยา 2-21', note: 'โหมดนี้จะเปิดวาล์วในวงจรน้ำยาให้ดูดน้ำยากลับหรือแวคคั่มได้ทั่วถึง · ต้องกด BS1 เพื่อออกจากโหมด ถ้าไม่กด ระบบจะค้างอยู่ในโหมดนี้', s: [ { t: 'กด BS1 ค้าง 5 วินาที → เข้า Mode 2', key: 'BS1', hold: 'กดค้าง ≥ 5 วินาที', d: { h1: 'on' } }, { t: 'กด BS2 เลือกรายการ 21 = Refrigerant recovery / vacuuming mode
21 = 16 + 4 + 1 → ติดที่ H3P + H5P + H7P', key: 'BS2', d: { h1: 'on', bin: 21 } }, { t: 'กด BS3 เปิดใช้งาน → วาล์วในวงจรจะเปิดให้ทำงานได้', key: 'BS3', d: { h1: 'on', bin: 21 } }, { t: 'ทำ recovery หรือแวคคั่มให้เสร็จ', d: { h1: 'on', bin: 21 } }, { t: 'กด BS1 เพื่อออกจากโหมด — ถ้าไม่กดระบบจะค้างอยู่ในโหมด recovery/vacuuming', key: 'BS1', d: { h1: 'off' } }, ] }, { n: 'รีเซ็ต address หลังแก้สาย / เพิ่ม Indoor', c: 'serv', k: 'reset address bs5 เพิ่ม indoor แก้สาย', note: 'คู่มือระบุหน้าที่ของ BS5 ไว้ตรงตัวว่า "resetting the address when the wiring is changed or when an additional indoor unit is installed"', s: [ { t: 'เมื่อมีการแก้การเดินสาย หรือติดตั้ง Indoor เพิ่ม ต้องสั่งจ่าย address ใหม่', d: { h1: 'off' } }, { t: 'กด BS5 RESET เพื่อรีเซ็ต address', key: 'BS5', d: { h1: 'off' } }, ] }, { n: 'บอร์ดนี้ไม่มี Emergency operation — [2‑38] คนละความหมาย', c: 'serv', k: 'emergency bypass master slave 2-38 ไม่มี vrv iv-s โมดูลเดียว', note: 'จุดที่สับสนกันบ่อยที่สุด: เลข 2‑38 บนบอร์ด 7-segment ของ VRV-X (RXQ-A) = Emergency operation “Master” แต่บนบอร์ด LED ของ VRV IV-S เลขเดียวกันคือ Type of indoor units — ถ้าจำสลับกันแล้วไปตั้งบนบอร์ดนี้ ระบบจะเข้าใจผิดว่าเป็น Indoor คนละชนิด', s: [ { t: 'VRV IV-S (RXYSQ4~6T7) เป็นระบบ โมดูลเดียว — ไม่มี Master/Slave จึงไม่มีเรื่อง bypass โมดูลที่เสีย', d: { h1: 'off' } }, { t: 'ตรวจรายการ Mode 2 ทั้งหมดในคู่มือ 4P397284-1 แล้ว มีเพียง [2‑8] [2‑9] [2‑12] [2‑18] [2‑20] [2‑21] [2‑22] [2‑25] [2‑26] [2‑27] [2‑30] [2‑31] [2‑32] [2‑38] [2‑41] [2‑42] — ไม่มีรายการ Emergency operation', d: { h1: 'on' } }, { t: '[2‑38] บนบอร์ดนี้ = Type of indoor units — ค่า 0 = ติดตั้ง Indoor แบบ VRV DX (ค่าโรงงาน) · ค่า 1 = ติดตั้ง Indoor แบบ RA DX', key: 'BS2', d: { h1: 'on', bin: 38 } }, { t: 'คู่มือกำชับ: หลังแก้ [2‑38] ต้องปิดไฟระบบ รอ 20 วินาที แล้วเปิดใหม่ ไม่งั้นค่าจะไม่ถูกประมวลผลและอาจขึ้น malfunction code', d: { h1: 'off' } }, { t: 'ถ้าเครื่องหน้างานเป็นระบบหลายโมดูลจริง แสดงว่าไม่ใช่ VRV IV-S — ให้ไปดูหัวข้อ Emergency operation ที่บอร์ด 3 ปุ่ม + จอ 7-segment แทน', d: { h1: 'off' } }, ] }, ], ts: [ { n: 'ทดสอบทุก Indoor พร้อมกัน (Collective trial)', c: 'test', k: 'test run ทดสอบ cool heat fan collective', note: 'โหมด HEAT ใช้ [2/6/1] จอขึ้น [H] → [H][-H] · โหมด FAN ใช้ [2/9/1] จอขึ้น [F] → [F][-F] · ระบบจะจบ test run เองอัตโนมัติหลัง 60 นาที · ปรับอุณหภูมิระหว่าง test run ไม่ได้ และระบบบังคับเดินโดยไม่สนอุณหภูมิที่ตั้งไว้ ต้องคอยดูอุณหภูมิห้อง', s: [ { t: 'เช็คก่อน: เปิดวาล์วท่อน้ำยาของ Outdoor · วัดความต้านทานกับกราวด์ด้วยเมกโอห์มมิเตอร์ 500V ต้องเกิน 2 MΩ · จ่ายไฟอุ่น case heater เกิน 12 ชั่วโมง', d: { sw: [1, 1, 1], a: 'U.1.', b: '- - -' } }, { t: 'หมุน rotary switch เป็น SW01=2 · SW02=5 · SW03=1 (โหมด COOL)', d: { sw: [2, 5, 1], a: 'C', b: '' } }, { t: 'กด SW04 ค้าง 2 วินาทีขึ้นไป → เริ่มเดินทดสอบ', key: 'SW04', hold: 'กดค้าง ≥ 2 วินาที', d: { sw: [2, 5, 1], a: 'C', b: '-C' } }, { t: 'ระบบกำลังทดสอบ — error ยังตรวจจับได้ตามปกติ · เครื่องจะไม่เริ่ม test run ภายใน 3 นาทีหลังจ่ายไฟหรือหลังสั่งหยุด', d: { sw: [2, 5, 1], a: 'C', b: '-C' } }, { t: 'เลิกทดสอบ: หมุน rotary switch กลับเป็น [1/1/1] — จอกลับมาแสดง [U.1.] [- - -]', d: { sw: [1, 1, 1], a: 'U.1.', b: '- - -' } }, ] }, { n: 'ทดสอบ Indoor ทีละตัว (Individual test)', c: 'test', k: 'test run ทดสอบ ทีละตัว individual address', note: 'ตารางแปลง address: SW03=1 → 1–16 (ตามเลข SW02) · 2 → 17–32 (SW02+16) · 3 → 33–48 (+32) · 4 → 49–64 (+48) · 5 → 65–80 (+64) · 6 → 81–96 (+80) · 7 → 97–112 (+96) · 8 → 113–128 (+112)', s: [ { t: 'ตั้งโหมดการทำงานที่รีโมทของ Indoor ตัวที่จะทดสอบเป็น COOL หรือ HEAT ก่อน', d: { sw: [1, 1, 1], a: 'U.1.', b: '- - -' } }, { t: 'หมุน SW01=16 · SW02 = เลขที่อยู่ Indoor (1–16) · SW03 = ช่วง address', d: { sw: [16, 1, 1], a: '', b: '' } }, { t: 'กด SW04 ค้าง 10 วินาทีขึ้นไป', key: 'SW04', hold: 'กดค้าง ≥ 10 วินาที', d: { sw: [16, 1, 1], a: 'FF', b: '' } }, { t: 'จอขึ้น [FF] ประมาณ 5 วินาที แล้วจึงแสดงเลขที่อยู่ของ Indoor ตัวที่กำลังทดสอบ', d: { sw: [16, 1, 1], a: 'FF', b: '' } }, { t: 'เลิกทดสอบ: หมุน rotary switch กลับเป็น [1/1/1]', d: { sw: [1, 1, 1], a: 'U.1.', b: '- - -' } }, ] }, { n: 'ล้าง address ของระบบ / Indoor / กลุ่ม', c: 'serv', k: 'address ล้าง clear adbus จ่ายใหม่ l08', note: 'ล้าง Central control address ใช้ตำแหน่ง [2/2/2] แทน จอจะขึ้น “A.d.nEt” แล้วเปิด SW04 ค้างเกิน 5 วินาทีเหมือนกัน · ต้องทำที่ Outdoor ตัว header ของไลน์น้ำยาที่ต้องการล้าง', s: [ { t: 'เปิดไฟทั้ง Indoor และ Outdoor ของไลน์น้ำยาที่ต้องการล้าง address', d: { sw: [1, 1, 1], a: 'U.1.', b: '- - -' } }, { t: 'รอประมาณ 1 นาที หลังจ่ายไฟ แล้วยืนยันว่าจอที่ Outdoor ตัว header แสดง “U.1. - - -” ก่อน', d: { sw: [1, 1, 1], a: 'U.1.', b: '- - -' } }, { t: 'หมุน rotary switch เป็น SW01=2 · SW02=1 · SW03=2', d: { sw: [2, 1, 2], a: 'A.d.', b: 'buS' } }, { t: 'ยืนยันว่าจอแสดง “A.d.buS” ก่อน แล้วจึงเปิด SW04 ค้าง เกิน 5 วินาที', key: 'SW04', hold: 'เปิดค้าง > 5 วินาที', d: { sw: [2, 1, 2], a: 'A.d.', b: 'c.L.' } }, { t: 'ยืนยันว่าจอแสดง “A.d. c.L.” แล้วหมุน SW01, SW02, SW03 กลับเป็น 1, 1, 1', d: { sw: [1, 1, 1], a: 'A.d.', b: 'c.L.' } }, { t: '✅ สักครู่จอจะขึ้น “U.1.L08” = ล้าง address สำเร็จ
ถ้าจอขึ้น “A.d. n.G.” แสดงว่า Outdoor ตัวนี้ยังเชื่อมอยู่กับไลน์อื่น ต้องไปแยกออกก่อน', d: { sw: [1, 1, 1], a: 'U.1.', b: 'L08' } }, ] }, { n: 'ปิดใช้งาน auto-address และ test operation', c: 'set', k: 'prohibition ปิด ห้าม auto address test operation nf', note: 'คู่มือระบุว่าฟังก์ชันอื่น ๆ ของระบบยังทำงานได้ปกติ แม้จะปิด auto-address setup และ test operation ไปแล้ว · ถ้าจอไม่ขึ้นตามที่ระบุในแต่ละขั้น ให้ทำใหม่อีกครั้ง · ไฟแรงดันสูงอยู่ในกล่องควบคุมไฟฟ้า ให้ตั้งสวิตช์ผ่านช่องเปิดของฝาครอบเท่านั้น และปิดฝาให้เรียบร้อยพร้อมขันสกรูหลังทำเสร็จ', s: [ { t: 'หมุน rotary switch เป็น SW01=2 · SW02=1 · SW03=14 → จอขึ้น [nf] [c.00] คือเตรียมพร้อมตั้งค่า', d: { sw: [2, 1, 14], a: 'nf', b: 'c.00' } }, { t: 'กด SW04 ค้าง เกิน 5 วินาที → จอเปลี่ยนเป็น [nf] [c.01] คือตั้งค่าเสร็จ', key: 'SW04', hold: 'กดค้าง > 5 วินาที', d: { sw: [2, 1, 14], a: 'nf', b: 'c.01' } }, { t: 'หมุน rotary switch กลับเป็น [1/1/1] → จอกลับมาแสดง [U.1.] [- - -]', d: { sw: [1, 1, 1], a: 'U.1.', b: '- - -' } }, ] }, { n: 'ตั้งค่าฟังก์ชัน Outdoor ด้วย Code No.', c: 'set', k: 'code no ตั้งค่า function dnset 9 1 1', note: 'คำเตือนจากคู่มือ: ให้ตั้งเฉพาะ Code No. ที่อยู่ในตารางของคู่มือเท่านั้น ห้ามตั้ง Code No. อื่น — ถ้าตั้งเลขที่ไม่ได้ระบุไว้ อาจทำให้เครื่องทำงานไม่ได้ หรือเกิดความเสียหายกับตัวเครื่อง', s: [ { t: 'หยุดเครื่องก่อนแล้วหมุน rotary switch เป็น SW01=9 · SW02=1 · SW03=1', d: { sw: [9, 1, 1], a: 'd n.', b: 'S E t' } }, { t: 'จอ 7-segment จะแสดง “d n.S E t”', d: { sw: [9, 1, 1], a: 'd n.', b: 'S E t' } }, { t: 'กด SW04 → จอเปลี่ยนเป็น “d n.0 0 1” คือแสดง outdoor unit code No. [001]', key: 'SW04', d: { sw: [9, 1, 1], a: 'd n.', b: '0 0 1' } }, { t: 'เปลี่ยนเลข code No. ด้วย SW05 (เดินหน้า) หรือ SW06 (ถอยหลัง)
กดค้างจะเลื่อนทีละ 5 ขั้น', key: 'SW05', d: { sw: [9, 1, 1], a: 'd n.', b: '0 0 1' } }, { t: 'กด SW04 → จอกะพริบ “d.✱✱✱✱” แสดงค่าที่ตั้งอยู่', key: 'SW04', d: { sw: [9, 1, 1], a: 'd.', b: '✱✱✱✱' } }, { t: 'เปลี่ยนค่าด้วย SW05 หรือ SW06', key: 'SW05', d: { sw: [9, 1, 1], a: 'd.', b: '✱✱✱✱' } }, { t: 'กด SW04 ค้าง มากกว่า 2 วินาที — เมื่อจอหยุดกะพริบและติดค้าง คือตั้งค่าเสร็จ
ถ้าต้องการกลับไปเลือก code No. ใหม่ หรือออกโดยไม่ตั้งค่า ให้กด SW04 หนึ่งครั้ง', key: 'SW04', hold: 'กดค้าง > 2 วินาที', d: { sw: [9, 1, 1], a: 'd.', b: '✱✱✱✱' } }, { t: 'หมุน rotary switch กลับเป็น [1/1/1] เพื่อกลับสู่โหมดปกติ', d: { sw: [1, 1, 1], a: 'U.1.', b: '- - -' } }, ] }, { n: 'ตั้งค่า Communication type', c: 'serv', k: 'communication type ccbps สื่อสาร', note: 'ถ้าต้องการล้างค่า communication type เดิม ให้กด SW05 ค้าง 5 วินาทีขึ้นไป จอจะกะพริบ “c.c.rSt” แล้วกลับมาสลับ “c.c.bps” กับ “c.c.0”', s: [ { t: 'หมุน rotary switch ที่ Outdoor ตัว header เป็น SW01=2 · SW02=16 · SW03=2', d: { sw: [2, 16, 2], a: 'c.c.', b: 'b p s' } }, { t: 'จอจะสลับระหว่าง “c.c. b p s” กับ “c.c. 0” ทุก 1 วินาที', d: { sw: [2, 16, 2], a: 'c.c.', b: '0' } }, { t: 'กด SW04 ค้าง เกิน 5 วินาที', key: 'SW04', hold: 'กดค้าง > 5 วินาที', d: { sw: [2, 16, 2], a: '- r S', b: 't. -' } }, { t: 'จอแสดง “- r S t. -” แล้วเปลี่ยนเป็นกะพริบ “c.c.i n”', d: { sw: [2, 16, 2], a: 'c.c.', b: 'i n' } }, { t: 'เสร็จเมื่อจอเปลี่ยนเป็น “c.c F i n”
ถ้าจอขึ้น “c.c. E r r” ให้ทำใหม่อีกครั้ง', d: { sw: [2, 16, 2], a: 'c.c', b: 'F i n' } }, { t: 'หมุน rotary switch กลับเป็น [1/1/1]', d: { sw: [1, 1, 1], a: 'U.1.', b: '- - -' } }, ] }, { n: 'ล้าง Error ที่บอร์ด โดยไม่ต้องปิดไฟ [2/16/1]', c: 'serv', k: 'error clear ล้าง รหัส er cl 2/16/1 reset', note: 'ฟังก์ชันนี้ล้าง error ที่ตรวจพบอยู่ของไลน์น้ำยานั้น โดยไม่ต้องรีเซ็ตไฟ — error ทั้งฝั่ง Outdoor และ Indoor จะถูกล้าง แล้วระบบจะเริ่มตรวจจับใหม่
ทางเลือกอีกวิธี คือรีเซ็ตไฟทั้งระบบ — ต้องเปิดไฟ Indoor ก่อน Outdoor ถ้าเปิดสลับกันจะขึ้นโค้ด E19 (No. of header unit error) · หลังรีเซ็ตไฟระบบใช้เวลา initial communication ปกติ 3 นาที บางกรณีสูงสุด 10 นาที', s: [ { t: 'ทำที่ interface P.C. board ของ Outdoor ตัว header ของไลน์น้ำยาที่มี error', d: { sw: [1, 1, 1], a: 'U.1.', b: '- - -' } }, { t: 'หมุน rotary switch เป็น SW01=2 · SW02=16 · SW03=1 → จอ [A] แสดง [E r]', d: { sw: [2, 16, 1], a: 'E r', b: '' } }, { t: 'กด SW04 ค้าง 5 วินาทีขึ้นไป', key: 'SW04', hold: 'กดค้าง ≥ 5 วินาที', d: { sw: [2, 16, 1], a: 'E r', b: 'C L' } }, { t: '✅ จอ [B] ขึ้น [C L] ประมาณ 5 วินาที = ล้าง error เรียบร้อยแล้ว ระบบจะเริ่มตรวจจับใหม่', d: { sw: [2, 16, 1], a: 'E r', b: 'C L' } }, { t: 'หมุน rotary switch กลับเป็น [1/1/1]', d: { sw: [1, 1, 1], a: 'U.1.', b: '- - -' } }, ] }, { n: 'เติมน้ำยาส่วนเพิ่ม (ไม่ได้สั่งผ่านสวิตช์)', c: 'serv', k: 'น้ำยา refrigerant charge เติม ชั่งน้ำหนัก service port', note: 'Toshiba ไม่มีฟังก์ชันเติมน้ำยาบน rotary switch — คู่มือกำหนดเป็นขั้นตอนเติมด้วยมือ · ปริมาณที่ต้องเติม = ผลรวมของความยาวท่อ Liquid แต่ละขนาด (เช่น ท่อ 9.5 mm = 0.055 kg/m · 12.7 mm = 0.105 · 15.9 mm = 0.160 · 19.1 mm = 0.250 · 22.2 mm = 0.350 · 25.4 mm = 0.470) บวกค่าชดเชยตามขนาด Indoor และค่า diversity ของ Outdoor ตามตารางในคู่มือรุ่นนั้น', s: [ { t: 'คำนวณปริมาณน้ำยาส่วนเพิ่มก่อน — น้ำยาที่มาจากโรงงานไม่รวมส่วนของท่อที่เดินหน้างาน
ถ้าคำนวณแล้วได้ค่าติดลบ คู่มือระบุว่าใช้งานได้เลยโดยไม่ต้องเติมเพิ่ม', d: { sw: [1, 1, 1], a: 'U.1.', b: '- - -' } }, { t: 'วิธีหลัก: ปิดวาล์วของ Outdoor ไว้ แล้วเติมน้ำยาเหลวเข้าที่ service port ด้าน Liquid', d: { sw: [1, 1, 1], a: 'U.1.', b: '- - -' } }, { t: 'ถ้าเติมไม่ครบตามปริมาณที่กำหนด: เปิดวาล์วทั้งด้าน Liquid และ Gas จนสุด เดินเครื่องโหมด COOL แล้วเติมเข้าที่ service port ด้าน Gas แทน', d: { sw: [1, 1, 1], a: 'U.1.', b: '- - -' } }, { t: 'ตอนเติมทางด้าน Gas ให้หรี่วาล์วที่ถังเล็กน้อยเพื่อคุมให้น้ำยาเข้าเป็นของเหลว', d: { sw: [1, 1, 1], a: 'U.1.', b: '- - -' } }, { t: 'ระวัง: น้ำยาเหลวอาจไหลเข้าทีเดียวจำนวนมาก คู่มือกำชับให้เติมอย่างช้า ๆ ทีละน้อย', d: { sw: [1, 1, 1], a: 'U.1.', b: '- - -' } }, { t: 'บันทึกปริมาณที่เติมจริงไว้ที่เครื่อง แล้วตรวจว่า rotary switch อยู่ที่ [1/1/1] ตามปกติ', d: { sw: [1, 1, 1], a: 'U.1.', b: '- - -' } }, ] }, { n: 'ดู Check Code ของ Outdoor', c: 'read', k: 'check code error อ่านรหัส ผิดปกติ', note: 'ดูคำอธิบายรหัสทั้งหมดได้ในเครื่องมือ "คู่มือ VRV" แท็บ ⑤ ซึ่งมี check code ของ Toshiba ครบ 62 รหัส', s: [ { t: 'หมุน rotary switch เป็น [1/1/1] ซึ่งเป็นตำแหน่งปกติ', d: { sw: [1, 1, 1], a: 'U.1.', b: '- - -' } }, { t: 'ถ้ามีความผิดปกติ จอจะสลับแสดง [U.✱.E r r] กับรหัส check code ทุก 2 วินาที
✱ คือหมายเลขของ Outdoor (1–5)', d: { sw: [1, 1, 1], a: 'U.1.', b: 'E r r' } }, { t: 'ถ้ารหัสนั้นมี auxiliary code จอจะแสดง check code 3 วินาที สลับกับ auxiliary code 1 วินาที', d: { sw: [1, 1, 1], a: 'P 1', b: '5' } }, ] }, { n: 'Backup: ตัดคอมเพรสเซอร์ตัวที่เสีย (SW06)', c: 'serv', k: 'backup emergency คอมเสีย compressor sw06 dip bypass ฉุกเฉิน', note: 'ข้อห้ามจากคู่มือ ต้องอ่านก่อนทุกครั้ง:
① ถ้าคอมเสียเพราะขดลวดมอเตอร์ช็อต (layer short-circuit) ห้ามทำ compressor backup เพราะน้ำมันเสื่อมสภาพรุนแรง อาจทำให้ Outdoor ตัวอื่นพังตาม → ให้ไปใช้วิธี Outdoor unit backup แทน
② ใน 1 ไลน์น้ำยา ทำ compressor backup ได้ไม่เกิน 1 ตัว
③ รุ่น 3 คอม ห้าม backup คอมเสีย 2 ตัวพร้อมกัน
④ ห้ามใช้ compressor backup ร่วมกับ outdoor unit backup ในระบบเดียวกัน', s: [ { t: 'ปิดไฟ Outdoor ทุกตัวที่ต่ออยู่ในระบบก่อน', d: { sw: [1, 1, 1], a: '', b: '' } }, { t: 'ตั้ง DIP switch SW06 บน interface P.C. board ของตัวที่คอมเสีย — ค่าจากโรงงานคือ OFF ทั้ง 4 bit', d: { sw: [1, 1, 1], a: '', b: '' } }, { t: 'รุ่น 3 คอมเพรสเซอร์
คอมตัวที่ 1 (หน้า–ซ้าย) เสีย → bit 1 ON ที่เหลือ OFF
คอมตัวที่ 2 (หน้า–กลาง) เสีย → bit 2 ON ที่เหลือ OFF
คอมตัวที่ 3 (หน้า–ขวา) เสีย → bit 3 ON ที่เหลือ OFF', d: { sw: [1, 1, 1], a: '', b: '' } }, { t: 'รุ่น 2 คอมเพรสเซอร์
คอมตัวที่ 1 (หน้า–ซ้าย) เสีย → bit 1 ON ที่เหลือ OFF
คอมตัวที่ 2 (หน้า–ขวา) เสีย → bit 2 ON ที่เหลือ OFF
bit 4 ไม่ใช้ในงานนี้ ให้อยู่ที่ OFF', d: { sw: [1, 1, 1], a: '', b: '' } }, { t: 'เปิดไฟทุกตัวที่ต่ออยู่ในระบบ → จบขั้นตอนตั้ง compressor backup แล้วทดสอบการทำงาน', d: { sw: [1, 1, 1], a: 'U.1.', b: '- - -' } }, ] }, { n: 'Backup: ตัด Outdoor ที่เสียออก — กรณี Follower เสีย', c: 'serv', k: 'backup emergency outdoor follower เสีย ตัดออก bypass e26 sw09 cn03 ฉุกเฉิน', note: 'ใช้เมื่อ: คอมพังจน backup ด้วยคอมตัวอื่นไม่ได้ (เช่นขดลวดช็อต) · Pd หรือ Ps sensor เสีย · เซนเซอร์อุณหภูมิเสีย (TD1, TD2, TD3, TS1, TE1, TE2, TK1–TK5, TL) · ใน 1 ไลน์น้ำยา ตัดออกได้ไม่เกิน 1 ตัว และห้ามใช้ร่วมกับ compressor backup', s: [ { t: 'ปิดไฟ Indoor และ Outdoor ทั้งหมดที่ต่ออยู่ในระบบ', d: { sw: [1, 1, 1], a: '', b: '' } }, { t: '[ที่ตัว Follower ที่เสีย] ปิด วาล์วท่อ Gas จนสุด', d: { sw: [1, 1, 1], a: '', b: '' } }, { t: 'เปิดวาล์วท่อ Liquid และท่อ Balance ทิ้งไว้จนสุด เพื่อกันน้ำยาค้างสะสมในเครื่องที่เสีย
ยกเว้นกรณี PMV ของ Outdoor รั่ว (ปิดไม่สนิท) ให้ปิดวาล์ว Liquid จนสุดด้วย', d: { sw: [1, 1, 1], a: '', b: '' } }, { t: 'แยกตามสาเหตุที่เสีย:
เสียที่คอม / ไฟฟ้า / บอร์ด I/F / บอร์ด IPDU → ปิดไฟตัวนั้นทิ้งไว้ ตั้งแต่ตอนนี้เป็นต้นไป
เสียที่วงจรน้ำยา เซนเซอร์ ชิ้นส่วนวงจรทำความเย็น หรือพัดลม → ถอดขั้วต่อ [CN03] สายสื่อสารระหว่าง Outdoor (BUS2) บนบอร์ด I/F ออก', d: { sw: [1, 1, 1], a: '', b: '' } }, { t: '[ที่ตัว Header] เปิด bit 2 ของ SW09 บน interface P.C. board
เป็นการตั้งเพื่อกัน error E16 — connected indoor units capacity over', d: { sw: [1, 1, 1], a: '', b: '' } }, { t: 'เปิดไฟทุกตัวยกเว้นตัว Follower ที่เสีย · ตัวที่เสียให้ทำตามสาเหตุ:
เสียที่คอม/ไฟฟ้า/บอร์ด → ปิดไฟไว้
เสียที่วงจรน้ำยา/เซนเซอร์/พัดลม → เปิดไฟไว้ เพื่อให้ case heater ทำงานปกป้องคอม
คู่มือระบุว่ากรณีเปิดไฟตัวที่เสียไว้ จอจะขึ้น [E19] (จำนวน header ผิดพลาด) — ไม่เป็นปัญหา', d: { sw: [1, 1, 1], a: 'E19', b: '' } }, { t: '[ล้าง error ที่ Header เพื่อขออนุญาตเดิน backup]
หมุน SW01/02/03 = 1/1/1 แล้วยืนยันว่าจอขึ้น [U1] [E26] (มี Outdoor หลุดจากระบบ)', d: { sw: [1, 1, 1], a: 'U.1.', b: 'E26' } }, { t: 'หมุน SW01/02/03 = 2/16/1 → ยืนยันว่าจอขึ้น [Er] [… … …]', d: { sw: [2, 16, 1], a: 'E r', b: '' } }, { t: 'กด SW04 ค้าง 5 วินาทีขึ้นไป → จอขึ้น [Er] [… CL] คือล้าง error เรียบร้อย', key: 'SW04', hold: 'กดค้าง ≥ 5 วินาที', d: { sw: [2, 16, 1], a: 'E r', b: 'C L' } }, { t: 'หมุน SW01/02/03 กลับเป็น 1/1/1 → จอต้องเปลี่ยนเป็น [U1] [– – –]
✅ จบขั้นตอน follower backup แล้วทดสอบการทำงาน', d: { sw: [1, 1, 1], a: 'U.1.', b: '- - -' } }, ] }, { n: 'Backup: ตัด Outdoor ที่เสียออก — กรณี Header เสีย (ย้าย Header)', c: 'serv', k: 'backup emergency outdoor header เสีย ย้าย master bypass sw13 sw14 sw30 u1 u2 u3 u4 ฉุกเฉิน', note: 'กรณีนี้ต้องเลื่อน Follower ตัวหนึ่งขึ้นมาเป็น Header แทน ซึ่งมีทั้งการตั้งสวิตช์และย้ายสายสื่อสารจริง — เงื่อนไขความเสียหายที่ใช้วิธีนี้ได้เหมือนกรณี Follower เสีย · ใน 1 ไลน์น้ำยา ตัดออกได้ไม่เกิน 1 ตัว', s: [ { t: 'ปิดไฟทุกตัวที่ต่ออยู่ในระบบ จากแหล่งจ่ายหลัก', d: { sw: [1, 1, 1], a: '', b: '' } }, { t: '[ที่ Header ที่เสีย] ปิด วาล์วท่อ Gas จนสุด', d: { sw: [1, 1, 1], a: '', b: '' } }, { t: 'เปิดวาล์วท่อ Liquid และ Balance ทิ้งไว้จนสุด กันน้ำยาค้างในเครื่องที่เสีย
ถ้า PMV รั่วปิดไม่สนิท ให้ปิดวาล์ว Liquid จนสุด', d: { sw: [1, 1, 1], a: '', b: '' } }, { t: 'เสียที่คอม / ไฟฟ้า / บอร์ด I/F / บอร์ด IPDU → ปิดไฟตัวนั้นทิ้งไว้ตั้งแต่ตอนนี้
เสียที่วงจรน้ำยาหรือชิ้นส่วนที่เกี่ยวข้อง → ถอดขั้วต่อ [CN03] (BUS2) บนบอร์ด I/F ออก', d: { sw: [1, 1, 1], a: '', b: '' } }, { t: '[เลือก Header ตัวใหม่] ตามเกณฑ์ในคู่มือ:
• ถ้ามี Follower ต่ออยู่ตัวเดียว → ใช้ตัวนั้น
• ถ้ามี 2 ตัวขึ้นไป → เลือกตัวที่อยู่ใกล้ Header ที่เสียที่สุด', d: { sw: [1, 1, 1], a: '', b: '' } }, { t: '[ที่ Header ตัวใหม่] ตั้ง SW13 และ SW14 บนบอร์ด I/F ให้เหมือนกับของ Header ที่เสีย (คือ address ของไลน์น้ำยา)', d: { sw: [1, 1, 1], a: '', b: '' } }, { t: 'เปิด bit 2 ของ SW09 บนบอร์ด I/F ของ Header ตัวใหม่ — กัน error E16 (indoor capacity over)', d: { sw: [1, 1, 1], a: '', b: '' } }, { t: 'ตั้ง bit 1 และ bit 2 ของ SW30 ให้เหมือนกับของ Header ที่เสีย (คือค่า terminator resistance)', d: { sw: [1, 1, 1], a: '', b: '' } }, { t: '[ย้ายสายสื่อสาร] ย้ายสาย Indoor–Outdoor ที่เดิมเข้าขั้ว [U1/U2] ของ Header ที่เสีย ไปเข้าขั้ว [U1/U2] ของ Header ตัวใหม่', d: { sw: [1, 1, 1], a: '', b: '' } }, { t: 'ถ้ามีระบบควบคุมส่วนกลาง ให้ย้ายสาย central control ไปเข้าขั้ว [U3/U4] ของ Header ตัวใหม่ และต่อ tie connector ระหว่างขั้ว [U1/U2] กับ [U3/U4] ด้วย', d: { sw: [1, 1, 1], a: '', b: '' } }, { t: 'เปิดไฟทุกตัวยกเว้นตัวที่เสีย · ตัวที่เสีย: เสียที่คอม/ไฟฟ้า/บอร์ด → ปิดไฟไว้ · เสียที่วงจรน้ำยา/เซนเซอร์/พัดลม → เปิดไฟไว้เพื่อให้ case heater ทำงาน (จอขึ้น [E19] ได้ ไม่เป็นปัญหา)
✅ จบขั้นตอน header backup แล้วทดสอบการทำงาน', d: { sw: [1, 1, 1], a: 'U.1.', b: '- - -' } }, ] }, { n: 'Backup แบบเร่งด่วนหน้าร้อน — Cooling-season backup', c: 'serv', k: 'cooling season backup เร่งด่วน หน้าร้อน sw06 ปิดฮีท heat ไม่ได้ ฉุกเฉิน', note: 'ข้อจำกัด 2 ข้อจากคู่มือ:
① ตั้งแล้วใช้โหมด HEAT ไม่ได้ — รีโมทจะเลือกโหมดทำความร้อนไม่ได้เลย จึงใช้ได้เฉพาะช่วงที่ไม่ต้องการความร้อน
② ถ้าสาเหตุที่เสียคือบอร์ด I/F หรือวงจรไฟฟ้า ใช้วิธีนี้ไม่ได้ ต้องไปทำ Outdoor unit backup แบบเต็มขั้นตอนแทน

ข้อดีคือไม่ต้องแยกว่าตัวที่เสียเป็น Header หรือ Follower ขั้นตอนเหมือนกันหมด และไม่ต้องย้ายสาย — ระบบทำงานเหมือน Outdoor unit backup ทุกอย่าง ต่างแค่ทำความร้อนไม่ได้', s: [ { t: 'ปิดไฟทุกตัวที่ต่ออยู่ในระบบ', d: { sw: [1, 1, 1], a: '', b: '' } }, { t: '[ที่ตัวที่เสีย] เปิด bit 1, 2 และ 3 ของ SW06 บน interface P.C. board
⚠ ค่านี้ต่างกันตาม series — คู่มือรุ่น MMY-MAP****4T8 (บอร์ด MCC-1639) ระบุ bit 1, 2, 3 แต่คู่มือรุ่นใหม่กว่า MMY-MAP0806HT8P (บอร์ด MCC-1673) ระบุเพียง bit 1 และ 2 — ต้องเปิดคู่มือของรุ่นที่หน้างานเช็คก่อนเสมอ', d: { sw: [1, 1, 1], a: '', b: '' } }, { t: 'ถ้า PMV ของ Outdoor รั่ว (ปิดไม่สนิท) ให้ปิดวาล์วท่อ Liquid จนสุด', d: { sw: [1, 1, 1], a: '', b: '' } }, { t: 'เปิดไฟทุกตัวที่ต่ออยู่ในระบบ
⚠ ถ้าสาเหตุคือฉนวนมอเตอร์คอมเพรสเซอร์เสีย ต้องถอดสายคอมออกก่อนจ่ายไฟ
✅ จบขั้นตอน cooling-season backup', d: { sw: [1, 1, 1], a: 'U.1.', b: '- - -' } }, ] }, ], }; /* ============================================================== TOOL: THERMISTOR RESISTANCE TABLE ทุกค่าคัดจากคู่มือ Daikin SiME341909EA §6.8 Thermistor Check (CHECK 11) หน่วยเป็น kΩ · null = คู่มือไม่ได้ให้ค่าไว้ที่อุณหภูมินั้น (ในตารางพิมพ์เป็น “–”) ============================================================== */ const TH_TEMPS = [-30, -25, -20, -15, -10, -5, 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 105, 110, 115, 120, 125, 130, 135, 140, 145, 150]; /* เก็บเป็นสตริงเพื่อคงจำนวนหลักทศนิยมให้ตรงกับที่คู่มือพิมพ์ไว้เป๊ะ (ถ้าเก็บเป็นตัวเลข JS จะตัดศูนย์ท้ายทิ้ง — 112.0 กลายเป็น 112 · 20.0000 กลายเป็น 20) เวลาคำนวณให้ใช้ thNum() แปลงเป็นตัวเลข */ const N = null; const TH_TYPES = { A: ['363.8', '266.8', '197.8', '148.2', '112.0', '85.52', '65.84', '51.05', '39.91', '31.44', '24.95', '19.94', '16.04', '12.99', '10.58', '8.669', '7.143', '5.918', '4.928', '4.123', '3.467', N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N], B: ['361.7719', '265.4704', '196.9198', '147.5687', '111.6578', '85.2610', '65.6705', '50.9947', '39.9149', '31.4796', '25.0060', '20.0000', '16.1008', '13.0426', '10.6281', '8.7097', '7.1764', '5.9407', '4.9439', '4.1352', '3.4757', '2.9349', '2.4894', '2.1205', '1.8138', '1.5575', '1.3425', '1.1614', N, N, N, N, N, N, N, N, N], C: [N, N, N, N, '111.8', '85.42', '65.80', '51.07', '39.97', '31.51', '25.02', '20.00', '16.10', '13.04', '10.63', '8.711', '7.179', N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N], E: ['357.9', '263.5', '196.1', '147.4', '111.8', '85.53', '66.00', '51.31', '40.20', '31.74', '25.23', '20.19', '16.26', '13.17', '10.74', '8.806', '7.260', '6.014', '5.008', '4.191', '3.525', '2.978', '2.527', '2.153', '1.843', '1.583', '1.365', '1.181', N, N, N, N, N, N, N, N, N], H: ['3407', '2540', '1910', '1449', '1108', '853.8', '662.7', '517.9', '407.4', '322.5', '256.9', '205.7', '165.7', '134.3', '109.4', '89.58', '73.73', '60.98', '50.67', '42.29', '35.45', '29.84', '25.21', '21.38', '18.21', '15.57', '13.36', '11.49', '9.92', '8.594', '7.465', '6.499', '5.675', '4.968', '4.360', '3.836', '3.384'], J: ['352.1', '261.2', '195.4', '147.3', '111.8', '85.49', '65.80', '51.15', '40.08', '31.64', '25.16', '20.14', '16.23', '13.16', '10.73', '8.800', '7.255', '6.012', '5.010', '4.196', '3.532', '2.987', '2.538', '2.166', '1.857', '1.598', '1.380', '1.196', '1.041', '0.908', '0.795', '0.698', '0.615', '0.543', '0.481', '0.428', '0.381'], }; const thNum = (ty, i) => TH_TYPES[ty][i] === null ? null : parseFloat(TH_TYPES[ty][i]); /* เซนเซอร์ → Type · ฝั่ง Outdoor เป็นของ RXQ-A */ const TH_OUT = [ ['R1T', 'Outdoor air thermistor — เซนเซอร์อากาศภายนอก', 'E'], ['R21T', 'Discharge pipe thermistor (M1C) — ท่อทางส่งคอมตัวที่ 1', 'H'], ['R22T', 'Discharge pipe thermistor (M2C) — ท่อทางส่งคอมตัวที่ 2', 'H'], ['R3T', 'Suction pipe thermistor — ท่อทางดูด', 'A'], ['R4T', 'Heat exchanger liquid pipe thermistor — ท่อเหลวที่คอยล์', 'A'], ['R5T', 'Subcooling heat exchanger liquid pipe thermistor', 'A'], ['R6T', 'Subcooling heat exchanger gas pipe thermistor', 'A'], ['R8T', 'Compressor body thermistor (M1C) — ตัวถังคอมตัวที่ 1', 'H'], ['R9T', 'Compressor body thermistor (M2C) — ตัวถังคอมตัวที่ 2', 'H'], ]; /* ฝั่ง Indoor แยกตามรุ่น — R2T เป็น Type A เหมือนกันหมด ส่วน R1T กับ R3T ต่างกัน */ const TH_IN = [ { m: 'FXFSQ-AR', r1: 'C', r2: 'A', r3: 'A' }, { m: 'FXDQ-PD', r1: 'B', r2: 'A', r3: 'J' }, { m: 'FXDQ-ND', r1: 'B', r2: 'A', r3: 'J' }, { m: 'FXMQ-PB', r1: 'B', r2: 'A', r3: 'J' }, { m: 'FXMQ-AR', r1: 'B', r2: 'A', r3: 'J' }, { m: 'FXAQ-AR', r1: 'B', r2: 'A', r3: 'J' }, ]; const TH_INLBL = { r1: 'R1T Suction air — เซนเซอร์อากาศดูดกลับ', r2: 'R2T Indoor HE (liquid) — ท่อเหลวที่คอยล์', r3: 'R3T Indoor HE (gas) — ท่อแก๊สที่คอยล์' }; let thType = 'A'; /* ช่วงที่คู่มือให้ค่าไว้จริงของ Type นั้น */ function thRange(ty) { const v = TH_TYPES[ty]; let lo = v.findIndex(x => x !== null); let hi = v.length - 1; while (v[hi] === null) hi--; return [lo, hi]; } /* NTC มีพฤติกรรมใกล้เส้นตรงเมื่อพล็อต ln(R) เทียบอุณหภูมิ จึงเทียบสัดส่วนบน ln(R) แทนเส้นตรงธรรมดา จะคลาดเคลื่อนน้อยกว่ามาก */ function thR2T(r, ty) { const [lo, hi] = thRange(ty); if (r > thNum(ty, lo) || r < thNum(ty, hi)) return null; for (let i = lo; i < hi; i++) { const a = thNum(ty, i), b = thNum(ty, i + 1); if (r <= a && r >= b) { const f = (Math.log(r) - Math.log(a)) / (Math.log(b) - Math.log(a)); return TH_TEMPS[i] + f * (TH_TEMPS[i + 1] - TH_TEMPS[i]); } } return null; } function thT2R(t, ty) { const [lo, hi] = thRange(ty); if (t < TH_TEMPS[lo] || t > TH_TEMPS[hi]) return null; for (let i = lo; i < hi; i++) { if (t >= TH_TEMPS[i] && t <= TH_TEMPS[i + 1]) { const f = (t - TH_TEMPS[i]) / (TH_TEMPS[i + 1] - TH_TEMPS[i]); return Math.exp(Math.log(thNum(ty, i)) + f * (Math.log(thNum(ty, i + 1)) - Math.log(thNum(ty, i)))); } } return null; } const thExact = (t) => TH_TEMPS.indexOf(t) >= 0; function thInitSelect() { const sel = document.getElementById('th_sensor'); const out = TH_OUT.map(([c, d, ty]) => ``).join(''); const inn = TH_IN.map(u => ['r1', 'r2', 'r3'].map(k => ``).join('')).join(''); sel.innerHTML = `${out}` + `${inn}` + `${Object.keys(TH_TYPES).map(t => ``).join('')}`; thPick(); } function thPick() { const sel = document.getElementById('th_sensor'); thType = sel.value; const opt = sel.selectedOptions[0]; const [lo, hi] = thRange(thType); document.getElementById('th_srcnote').textContent = `เซนเซอร์นี้เป็น Type ${thType} · คู่มือให้ค่าไว้ช่วง ${TH_TEMPS[lo]} ถึง ${TH_TEMPS[hi]} °C` + (opt && opt.dataset.g ? ` · ${opt.dataset.g}` : ''); thRenderTable(); const r = document.getElementById('th_r').value, t = document.getElementById('th_t').value; if (r !== '') thFromR(); else if (t !== '') thFromT(); else thShowIdle(); } function thShowIdle() { const [lo, hi] = thRange(thType); document.getElementById('th_res').innerHTML = `
TYPE ${thType}
ช่วงที่คู่มือให้ค่าไว้
${TH_TEMPS[lo]}…${TH_TEMPS[hi]} °C
ความต้านทาน ${TH_TYPES[thType][hi]} – ${TH_TYPES[thType][lo]} kΩ
ที่ 25 °C${TH_TYPES[thType][TH_TEMPS.indexOf(25)] ?? '—'} kΩ
ที่ 0 °C${TH_TYPES[thType][TH_TEMPS.indexOf(0)] ?? '—'} kΩ
ที่ 50 °C${TH_TYPES[thType][TH_TEMPS.indexOf(50)] ?? '—'} kΩ
กรอกค่าที่วัดได้ หรืออุณหภูมิ ทางซ้ายเพื่อแปลงค่า
`; } function thFromR() { const r = parseFloat(document.getElementById('th_r').value); document.getElementById('th_t').value = ''; if (!(r > 0)) { thShowIdle(); return; } const t = thR2T(r, thType), [lo, hi] = thRange(thType); const v = TH_TYPES[thType]; if (t === null) { document.getElementById('th_res').innerHTML = `
อยู่นอกช่วงตาราง
วัดได้
${r}kΩ
Type ${thType} คู่มือให้ค่าไว้ระหว่าง ${v[hi]} – ${v[lo]} kΩ (${TH_TEMPS[lo]} ถึง ${TH_TEMPS[hi]} °C) เท่านั้น
ค่าที่วัดได้อยู่นอกช่วงนี้มาก มักหมายถึงเซนเซอร์ขาดหรือช็อต หรือเลือก Type ผิด — ลองตรวจว่าปลดขั้วออกจากบอร์ดแล้วจริงหรือยัง
`; return; } const near = TH_TEMPS.reduce((a, b) => Math.abs(b - t) < Math.abs(a - t) ? b : a); const isExact = Math.abs(t - near) < 1e-9; document.getElementById('th_res').innerHTML = `
${isExact ? 'ตรงช่องในตาราง' : 'ค่าประมาณระหว่างช่อง'}
อุณหภูมิที่เซนเซอร์กำลังอ่านได้
${t.toFixed(1)}°C
จากค่า ${r} kΩ · Type ${thType}
ช่องในตารางที่ใกล้ที่สุด${near} °C = ${v[TH_TEMPS.indexOf(near)]} kΩ
เทียบกับอุณหภูมิจริงตรงจุดที่เซนเซอร์เกาะอยู่ — ถ้าต่างกันมากผิดปกติ ให้สงสัยว่าเซนเซอร์เพี้ยน
`; } function thFromT() { const t = parseFloat(document.getElementById('th_t').value); document.getElementById('th_r').value = ''; if (isNaN(t)) { thShowIdle(); return; } const r = thT2R(t, thType), [lo, hi] = thRange(thType); if (r === null) { document.getElementById('th_res').innerHTML = `
อยู่นอกช่วงตาราง
อุณหภูมิที่กรอก
${t}°C
Type ${thType} คู่มือให้ค่าไว้เฉพาะช่วง ${TH_TEMPS[lo]} ถึง ${TH_TEMPS[hi]} °C
`; return; } document.getElementById('th_res').innerHTML = `
${thExact(t) ? 'ตรงช่องในตาราง' : 'ค่าประมาณระหว่างช่อง'}
ค่าที่ควรวัดได้
${r < 10 ? r.toFixed(3) : r.toFixed(2)}kΩ
ที่ ${t} °C · Type ${thType}
ถ้าวัดจริงแล้วห่างจากค่านี้มาก ให้สงสัยเซนเซอร์ · คู่มือไม่ได้ระบุเปอร์เซ็นต์ความคลาดเคลื่อนที่ยอมรับได้ จึงใช้ดูแนวโน้มเป็นหลัก
`; } function thClear() { document.getElementById('th_r').value = ''; document.getElementById('th_t').value = ''; thShowIdle(); } function thRenderTable() { const types = Object.keys(TH_TYPES); document.getElementById('th_tblnote').innerHTML = `คอลัมน์ที่ไฮไลต์คือ Type ของเซนเซอร์ที่เลือกอยู่ (Type ${thType}) · เครื่องหมาย “—” คือคู่มือไม่ได้ให้ค่าไว้ที่อุณหภูมินั้น · หน่วยเป็น kΩ`; document.getElementById('th_table').innerHTML = `อุณหภูมิ${types.map(t => `Type ${t}`).join('')}` + TH_TEMPS.map((tp, i) => ` ${tp} °C ${types.map(t => { const v = TH_TYPES[t][i]; return `${v === null ? '—' : v}`; }).join('')} `).join(''); document.getElementById('th_map_out').innerHTML = `Outdoor — VRV-X RXQ-A รหัสตำแหน่งType` + TH_OUT.map(([c, d, ty]) => `${c}${d} Type ${ty}`).join(''); document.getElementById('th_map_in').innerHTML = `Indoor รุ่นR1T Suction airR2T HE liquidR3T HE gas` + TH_IN.map(u => `${u.m}${['r1', 'r2', 'r3'].map(k => `Type ${u[k]}`).join('')}`).join(''); } /* ============================================================== TOOL: INSTALLATION QC CHECKLIST ทุกข้ออ้างอิงจากคู่มือติดตั้ง Daikin VRV-X / A-Series — เลขในวงเล็บคือเลขสไลด์ต้นทาง ============================================================== */ const QC_GROUPS = [ { g: 'การวางเครื่องและพื้นที่บริการ', items: [ { t: 'มีพื้นที่ว่างพอถอดคอมเพรสเซอร์ออกมาซ่อมได้', d: 'ระบบ Multi ที่วางโมดูลชิดกันเกินไปจนถอดคอมเพรสเซอร์ออกมาไม่ได้ คู่มือถือว่าใช้ไม่ได้ ต้องเผื่อช่องซ่อมบำรุงตั้งแต่ตอนวางเครื่อง', s: 'สไลด์ 39' }, { t: 'แนวเดินท่อน้ำยาไม่ชิดโครงเครื่องเกินไป', d: 'แนวท่อควรอยู่ระดับขอบล่างของเครื่องหรือต่ำกว่า จะดีต่อการเซอร์วิส และไม่กระทบเรื่องน้ำมันคอมเพราะท่อต้องอยู่ต่ำกว่าระดับ Stop Valve อยู่แล้ว', s: 'สไลด์ 39' }, { t: 'ฐานรากรับน้ำหนักได้และเครื่องตั้งได้ระดับ', d: 'ตรวจว่าฐานไม่ทรุด ไม่โยก และเครื่องได้ระดับทั้งสองแกน', s: 'สไลด์ 39' }, { t: 'ถ้าใช้ฮู้ดบังคับลม ต้องต่อจนชิดระแนง', d: 'ฮู้ดที่ต่อไม่ถึงระแนงจะเหลือช่องให้ลมร้อนลัดวงจรกลับเข้าเครื่อง (short circuit) ต้องยืดฮู้ดไปจนชิดหรือเหลือช่องน้อยที่สุด', s: 'สไลด์ 196' }, ] }, { g: 'ท่อทองแดง — การเก็บและความสะอาด', items: [ { t: 'ปลายท่อทองแดงปิดไว้ตลอดเวลาที่ยังไม่ต่อ', d: 'ปลายท่อที่ไม่ปิดจะให้ฝุ่นหรือเศษวัสดุเข้าไปในท่อ ทำให้ระบบเกิดการอุดตันภายหลัง', s: 'สไลด์ 45' }, { t: 'ไม่วางท่อทองแดงกับพื้นคอนกรีตโดยตรง', d: 'วางกับพื้นคอนกรีตหรือวางขวางทางเดิน จะเกิดรอยขูดขีดที่ผิวท่อ ส่งผลต่อการรั่วของน้ำยา', s: 'สไลด์ 45' }, { t: 'ภายในท่อไม่มีผงฝุ่นหรือเศษวัสดุ', d: 'ผงฝุ่นในท่อทำให้แรงดันด้านส่งสูงและด้านกลับต่ำผิดปกติ เย็นไม่เต็มประสิทธิภาพ และปลายทางทำให้ค่า Superheat เพี้ยนจนคอมเสียหาย หรือเข็มวาล์วอุดตัน', s: 'สไลด์ 45–46' }, { t: 'เก็บงานท่อทุกสิ้นวันด้วยการปิดปลายท่อ', d: 'คู่มือมีตัวอย่างภาพเปรียบเทียบการเก็บงานปลายวันแบบ OK/NG ไว้โดยเฉพาะ', s: 'สไลด์ 100' }, ] }, { g: 'Y-joint / Refnet และแนวท่อเข้าเครื่อง', items: [ { t: 'Y-joint วางนอนในแนวระนาบ เอียงไม่เกิน 15°', d: 'คู่มือแนะนำให้ใช้ระดับน้ำจับให้ได้แนวระนาบจะดีที่สุด · ท่าตั้งขึ้นคู่มือระบุว่า "ห้ามตั้งโดยเด็ดขาด"', s: 'สไลด์ 57' }, { t: 'Y-joint อยู่ต่ำกว่าระดับ Stop Valve เสมอ', d: 'เมื่อเดินท่อออกทางด้านหน้าเครื่อง ต้องเป็นไปตามลักษณะ A หรือ B เท่านั้น ห้ามยกระดับ Y-joint ขึ้นสูงกว่า Stop Valve', s: 'สไลด์ 58' }, { t: 'ท่อเข้าคอยล์ร้อนไม่ลาดลง', d: 'ท่อที่ลาดลงเข้าคอยล์ร้อนทำให้น้ำมันคอมเพรสเซอร์ไหลลงไปค้างในท่อ โดยเฉพาะเมื่อคอยล์ร้อนไม่ได้ทำงานพร้อมกัน จะเกิดการสูญเสียน้ำมัน — ต้องเป็นแนวระนาบหรือลาดขึ้น', s: 'สไลด์ 192' }, { t: 'ใช้ Y-joint ถูกรุ่นตามจำนวนโมดูล', d: 'ระบบ 2 โมดูลใช้ BHFP22P100 · ระบบ 3 โมดูลใช้ BHFP22P151', s: 'สไลด์ 49' }, ] }, { g: 'งานฉนวน', items: [ { t: 'หุ้มฉนวนครบทั้งท่อ Liquid และ Gas ตลอดแนว', d: 'รวมถึงชุด branch และ Refnet joint ต้องหุ้มให้เรียบร้อย ไม่ปล่อยเปลือย', s: 'สไลด์ 194' }, { t: 'รอยต่อฉนวนไม่มีช่องว่าง', d: 'คู่มือให้ใช้ Arrow Tap เก็บรอยต่อของฉนวนอีกครั้ง ความยาวประมาณ 5–10 cm', s: 'สไลด์ 99' }, { t: 'วัสดุฉนวนไม่ชำรุดหรือฉีกขาด', d: 'ฉนวนที่เสียหายแล้วต้องเปลี่ยน ไม่ใช่แค่พันเทปทับ', s: 'สไลด์ 99' }, { t: 'จุดที่ท่อลอดผ่านผนัง/พื้น ใส่ Sleeve', d: 'ไม่ใส่ sleeve ป้องกัน ฉนวนจะถูกบีบและเสียหายตรงจุดลอดผ่าน', s: 'สไลด์ 193' }, ] }, { g: 'ทดสอบการรั่ว (Pressure Test)', items: [ { t: 'ขั้นที่ 1 — อัด 70 psi (0.5 MPa) ทิ้งไว้ 5 นาที', d: 'ต้องค่อย ๆ เพิ่มแรงดันเป็นขั้น เพื่อไม่ให้แรงดันสูงกระทบอุปกรณ์ภายใน', s: 'สไลด์ 103' }, { t: 'ขั้นที่ 2 — อัด 200 psi (1.5 MPa) ทิ้งไว้ 5 นาที', d: 'ผ่านขั้นที่ 1 แล้วจึงขึ้นขั้นนี้', s: 'สไลด์ 103' }, { t: 'ขั้นที่ 3 — อัด 580 psi (4.0 MPa) ทิ้งไว้ 24 ชั่วโมง', d: 'ถ้าทดสอบผ่านแฟนคอยล์ด้วย ให้ใช้ 450 psi แทน', s: 'สไลด์ 103' }, { t: 'ยังไม่จ่ายไฟให้แฟนคอยล์ก่อนทดสอบรั่ว', d: 'แฟนคอยล์ VRV มี Expansion Valve อยู่ภายใน ซึ่งออกจากโรงงานมาในสถานะเปิด ถ้าจ่ายไฟก่อน EXV จะปิดลง ทำให้เทสไม่ทั่วถึง', s: 'สไลด์ 104' }, { t: 'อัดไนโตรเจนเข้าทั้งด้าน Liquid และ Gas พร้อมกันอย่างช้า ๆ', d: 'เพื่อให้แรงดันสองข้างสมดุล ไม่ดันหรือกระแทกแกนของ Expansion Valve จนเสียหาย', s: 'สไลด์ 104' }, { t: 'บันทึกผลทดสอบเก็บเป็นหลักฐานส่งมอบงาน', d: 'คู่มือระบุชัดว่าผล Pressure Test ต้องจัดเก็บไว้ทวนสอบและส่งมอบงาน · อย่าลืมชดเชยอุณหภูมิ ทุก 1 °C ที่เปลี่ยนไป แรงดันเปลี่ยน 1.45 psi ในทิศทางเดียวกัน', s: 'สไลด์ 103' }, ] }, { g: 'ทำสุญญากาศ (Vacuum Drying)', items: [ { t: 'ปั๊มสุญญากาศทำได้ถึงอย่างน้อย −755 mmHg', d: 'ถ้าปั๊มลงไม่ถึงระดับนี้ ถือว่าใช้เครื่องมือไม่ผ่านเกณฑ์', s: 'สไลด์ 112' }, { t: 'เดินปั๊มต่ออีก 2 ชั่วโมงหลังลงถึง −755 mmHg', d: 'ไม่ใช่หยุดทันทีที่เข็มลงถึง', s: 'สไลด์ 112' }, { t: 'หยุดปั๊มแล้วทิ้งไว้ 1 ชั่วโมง เข็มต้องไม่ขยับขึ้น', d: 'ถ้าเข็มขยับขึ้น แปลว่ายังมีความชื้นค้างหรือมีรอยรั่ว ต้องกลับไปหาสาเหตุก่อนเติมน้ำยา', s: 'สไลด์ 112' }, ] }, { g: 'ระบบท่อน้ำทิ้ง', items: [ { t: 'ความลาดเอียงอย่างน้อย 1/100', d: 'ท่อยาว 100 cm ต้องเอียงลง 1 cm เป็นอย่างน้อย · คู่มือมีภาพตัวอย่างท่อที่ลาดไม่ได้มาตรฐานจนระบายน้ำไม่ดี', s: 'สไลด์ 116' }, { t: 'มีข้อต่อ Cleanout สำหรับล้างท่อ', d: 'ต้องเผื่อจุดเปิดล้างไว้ตั้งแต่ตอนติดตั้ง', s: 'สไลด์ 116' }, { t: 'ขนาดท่อเมนรองรับอัตราน้ำทิ้งรวมได้', d: 'คิดที่ 1 HP ≈ 6 ลิตร/ชม. · คู่มือระบุว่า PVC25 และ PVC32 เล็กเกินไปสำหรับท่อเมน ขนาดที่เหมาะสมคือ PVC40 ขึ้นไป (PVC40 ที่ลาด 1:100 รับได้ 88 ลิตร/ชม. · PVC50 รับได้ 175)', s: 'สไลด์ 119–120' }, { t: 'ทดสอบเทน้ำจริงแล้วระบายได้ ไม่มีจุดขัง', d: 'ตรวจทั้งท่อแยกและท่อเมน รวมถึงจุดที่มีท่อระบายอากาศ (vent)', s: 'สไลด์ 119' }, ] }, { g: 'ไฟฟ้าและสายสื่อสาร', items: [ { t: 'สาย Power กับสาย Control เดินแยกกัน', d: 'คู่มือมีภาพตัวอย่างที่สายเพาเวอร์กับสายคอนโทรลอยู่ชิดกันในเครื่อง ติดกากบาทไว้ชัดเจน — ต้องแยกช่องเดินสายตามตำแหน่งที่กำหนดในคู่มือของรุ่นนั้น', s: 'สไลด์ 195' }, { t: 'ขันสายที่เทอร์มินัลแน่นทั้ง 2 ฝั่ง', d: 'ขันข้างเดียว หรือขัน 2 ฝั่งแต่ใช้สายคนละขนาด คู่มือถือว่าไม่ผ่าน · การขันไม่แน่นทำให้เกิดความร้อนที่สายและเทอร์มินัลจนสายไหม้และเครื่องหยุดทำงาน', s: 'สไลด์ 127' }, { t: 'มีเบรกเกอร์แยกที่แฟนคอยล์ทุกตัว', d: 'คอยล์ร้อนกับแฟนคอยล์ใช้แหล่งจ่ายไฟเดียวกันได้ แต่ต้องมีเบรกเกอร์ที่แฟนคอยล์ทุกตัว เพื่อความสะดวกตอนเข้าซ่อมและล้างเครื่อง', s: 'สไลด์ 128' }, { t: 'หางปลา/ขั้วต่อเข้ารูปถูกต้อง ไม่หลวม', d: 'ตรวจว่าเข้าหางปลาถูกชนิดและย้ำแน่น ไม่ใช่พันสายเปลือยเข้าสกรู', s: 'สไลด์ 127' }, ] }, { g: 'ปิดงานและส่งมอบ', items: [ { t: 'กรอกแผ่นป้ายบันทึกน้ำยาแล้วติดที่เครื่อง', d: 'เขียนปริมาณที่เติมจริงลงแผ่นป้ายที่ให้มากับเครื่อง แล้วติดไว้ในบริเวณที่มองเห็นได้ชัด · พิมพ์แบบฟอร์มได้จากเครื่องมือ "ปริมาณน้ำยาเพิ่มเติม" ในแอปนี้', s: 'สไลด์ 164' }, { t: 'รัน Test Run จนจบโดยไม่มี error code', d: 'ถ้าไม่รัน Test Run รีโมทจะขึ้น U3 และใช้งานปกติไม่ได้ · เดินขั้นตอนได้จากเครื่องมือ "โหมด & ฟังก์ชันบอร์ด Outdoor"', s: 'สไลด์ 167–170' }, { t: 'ส่งมอบบันทึกผลทดสอบรั่วและปริมาณน้ำยา', d: 'รวมเป็นชุดเอกสารส่งมอบงานให้ลูกค้า', s: 'สไลด์ 103 · 164' }, ] }, ]; /* ============================================================== PM CHECKLIST — บำรุงรักษาเชิงป้องกันระบบ VRV อ้างอิงคู่มือ Daikin SiME341909EA: §6.1.2 Maintenance Menu · §2.5 Monitor Mode · Part 6 Check (CHECK 1, 2, 6, 7) · §6.11 Fan Motor Connector Check ============================================================== */ const PM_GROUPS = [ { g: 'ก่อนลงมือ — เก็บข้อมูลระบบไว้ก่อน', items: [ { t: 'บันทึกชั่วโมงการทำงานจาก Maintenance Menu', d: 'รีโมท BRC1E63 มีเมนู Operation Hours ที่เก็บชั่วโมงไว้ถึง 8 ตัวนับ: ชั่วโมงเดิน Indoor · ชั่วโมงพัดลม Indoor · ชั่วโมงที่จ่ายไฟค้าง · ชั่วโมงเดิน Outdoor · พัดลม Outdoor 1 และ 2 · คอมเพรสเซอร์ 1 และ 2 — จดไว้ทุกครั้งจะเห็นอัตราการใช้งานและรู้ว่าตัวไหนกำลังรับภาระหนักผิดปกติ', s: '§6.1.2' }, { t: 'อ่านประวัติ error และ retry ย้อนหลังจากบอร์ด Outdoor', d: 'Monitor mode 1.17 1.18 1.19 = error 3 ครั้งล่าสุด · 1.23 1.24 1.25 = retry 3 ครั้งล่าสุด · retry คือระบบพยายามทำงานต่อเองโดยที่ยังไม่หยุด เป็นสัญญาณเตือนล่วงหน้าที่ผู้ใช้ไม่เคยเห็น จึงเป็นข้อมูลที่มีค่าที่สุดของงาน PM', s: '§2.5' }, { t: 'สอบถามผู้ใช้ว่าเจออาการอะไรในรอบที่ผ่านมา', d: 'เย็นไม่พอช่วงไหน · มีเสียงผิดปกติไหม · เคยหยุดเองหรือไม่ · มีห้องไหนเย็นช้ากว่าห้องอื่น — ข้อมูลนี้ช่วยชี้จุดที่ต้องดูเป็นพิเศษ', s: 'แนวปฏิบัติงานบริการ' }, ] }, { g: 'Indoor Unit', items: [ { t: 'ล้างฟิลเตอร์อากาศทุกตัว', d: 'คู่มือระบุ “Dirty filter — Is the air filter clogged?” เป็นสาเหตุโดยตรงของแรงดันสูงขึ้นเพราะลมผ่านคอยล์ได้น้อยลง และเป็นสาเหตุอันดับต้นของอาการเย็นไม่พอ', s: 'CHECK 1' }, { t: 'ตรวจคอยล์ Indoor ไม่ตัน ไม่มีสิ่งกีดขวางทางลม', d: 'คู่มือถามตรง ๆ ว่า “Is there any obstacle in the air passage?” — รวมถึงของที่ลูกค้าเอามาวางบังหน้ากากลมด้วย', s: 'CHECK 1' }, { t: 'ตรวจถาดน้ำทิ้ง ปั๊มน้ำทิ้ง และ float switch', d: 'ล้างถาด ตรวจว่าปั๊มทำงานและระบายได้จริง ไม่มีน้ำขังค้าง · สถานะ MP (Drain pump) และ FLOAT ดูได้จาก Indoor Unit Status ในรีโมท', s: '§6.1.2' }, { t: 'ตรวจฉนวนท่อในฝ้าไม่ชำรุด ไม่มีหยดน้ำ', d: 'จุดที่มักหลุดคือชุด branch/Refnet joint และรอยต่อฉนวน — น้ำหยดลงฝ้าเป็นงานตามแก้ที่ลูกค้าเห็นชัดที่สุด', s: 'แนวปฏิบัติงานบริการ' }, { t: 'ตรวจอุณหภูมิลมกลับไม่ต่ำผิดปกติ', d: 'คู่มือใช้เกณฑ์ “Is the indoor temperature not more than 14 °C” ในการไล่หาสาเหตุแรงดันต่ำผิดปกติ — ถ้าลมกลับเย็นจัดผิดปกติให้สงสัยการตั้งค่าหรือการกระจายลม', s: 'CHECK 2' }, ] }, { g: 'Outdoor Unit', items: [ { t: 'ล้างคอยล์ Outdoor', d: 'คู่มือระบุ “Dirty condenser — Is the heat exchanger clogged? (In cooling)” เป็นสาเหตุของความสามารถในการควบแน่นลดลงซึ่งดันแรงดันสูงขึ้นทั้งระบบ', s: 'CHECK 1' }, { t: 'ตรวจไม่มีลมร้อนตีกลับและไม่มีสิ่งกีดขวางทางลม', d: 'คู่มือใช้เกณฑ์ อุณหภูมิลมเข้าเครื่องต้องไม่เกิน 43 °C ทั้งกรณี short circuit และกรณีอากาศภายนอกร้อนจัด — ถ้าเกินให้แก้ทางลมหรือเพิ่มฮู้ด', s: 'CHECK 1' }, { t: 'ตรวจพัดลม Outdoor หมุนด้วยมือได้ ไม่ติดขัด', d: 'คู่มือถามว่า “Can the fan motor be rotated with hands?” และให้ตรวจความต้านทานขดลวดกับฉนวนของมอเตอร์ด้วย', s: 'CHECK 1' }, { t: 'ตรวจ Stop Valve ทั้ง Liquid และ Gas เปิดสุด', d: 'คู่มือขึ้นข้อนี้เป็นข้อแรกของสาเหตุแรงดันสูง “Stop valve closed — Check to be sure the stop valve is open” · เจอบ่อยหลังมีคนเข้าไปทำงานในระบบแล้วลืมเปิดคืน', s: 'CHECK 1' }, { t: 'ตรวจท่อน้ำยาไม่บุบ ไม่หัก และฉนวนไม่ชำรุด', d: 'คู่มือให้ตรวจด้วยสายตาว่า “Bent or crushed pipe” — ท่อที่ถูกกดหรือหักทำให้ความดันตกคร่อมสูงผิดปกติ', s: 'CHECK 1' }, { t: 'ตรวจการอุดตันด้วยผลต่างอุณหภูมิคร่อมฟิลเตอร์/ท่อแยก', d: 'คู่มือให้ดูว่า “Is there any temperature difference caused before and after the filter or branch pipe?” — ถ้ามีผลต่างอุณหภูมิชัดเจนคร่อมจุดใดจุดหนึ่ง แปลว่าตรงนั้นเริ่มตัน', s: 'CHECK 1' }, ] }, { g: 'ระบบไฟฟ้าและกล่องควบคุม', items: [ { t: 'ขันย้ำเทอร์มินัลไฟกำลังให้แน่น', d: 'จุดที่ขันไม่แน่นจะเกิดความร้อนสะสมจนสายไหม้และเครื่องหยุดทำงาน · ต้องแน่นทั้ง 2 ฝั่งและไม่ใช้สายคนละขนาดขันร่วมกัน', s: 'คู่มือติดตั้ง' }, { t: 'ตรวจสาย Power กับ Control ยังแยกกันอยู่', d: 'ตรวจว่ามีใครเดินสายเพิ่มเข้ามาชิดกันภายหลังหรือไม่ — สายสื่อสารที่ถูกรบกวนทำให้เกิด error สื่อสารเป็นครั้งคราวที่หาสาเหตุยากมาก', s: 'คู่มือติดตั้ง' }, { t: 'วัดความต้านทานระหว่างเฟสของมอเตอร์พัดลม', d: 'ถอดขั้วออกก่อน แล้ววัดคร่อม U-V, V-W, W-U ค่าทั้งสามต้องสมดุลกัน · คู่มือระบุพิสัยที่ยอมรับได้ ±20% สำหรับ Indoor รุ่น FXMQ50-140PB · ต้องไม่มีการช็อตถึงกัน', s: '§6.11' }, { t: 'ตรวจกล่องควบคุมไม่มีรอยไหม้ ความชื้น หรือสัตว์เข้า', d: 'ดูรอยเขม่า คราบความร้อนที่ขั้วต่อ รอยสนิม และร่องรอยหนู/แมลง · ปิดฝาให้สนิททุกครั้งหลังทำงานเสร็จ', s: 'แนวปฏิบัติงานบริการ' }, ] }, { g: 'สภาพน้ำยาในระบบ', items: [ { t: 'บันทึกความดันสูง/ต่ำขณะระบบเดินคงที่', d: 'อ่าน Pc (High pressure) และ Pe (Low pressure) ได้จาก Outdoor Unit Status ในรีโมท BRC1E63 พร้อมกับ EV1 ระดับการเปิดของ EEV — จดไว้เทียบกับ PM รอบก่อน', s: '§6.1.2' }, { t: 'ประเมินอาการน้ำยาเกิน', d: 'คู่มือระบุว่าใน VRV ตัดสินได้จากสภาวะการทำงานเท่านั้น อาการคือ ① แรงดันสูงขึ้นจนต้องเข้า overload control ทำให้เย็นไม่พอ ② Superheat ด้านดูดลดลง จนอุณหภูมิท่อทางส่งกลับต่ำลงทั้งที่ภาระสูง ③ Subcooling สูงขึ้น', s: 'CHECK 6' }, { t: 'ประเมินอาการน้ำยาขาด', d: 'อาการคือ ① Superheat ด้านดูดสูงขึ้น ทำให้อุณหภูมิท่อทางส่งสูงขึ้น ② EEV ของ Indoor เปิดกว้างขึ้นจนบางตัวเปิดสุด ③ แรงดันต่ำตกจนทำความเย็นไม่ออก', s: 'CHECK 7' }, { t: 'ตรวจว่าไม่มีอากาศปนอยู่ในระบบ', d: 'คู่มือระบุ “Mixing of non-condensable gas — Is air or else mixed in the refrigerant system?” เป็นหนึ่งในสาเหตุแรงดันสูง — มักตามมาจากงานซ่อมที่แวคคั่มไม่ครบ', s: 'CHECK 1' }, { t: 'ตรวจคราบน้ำมันตามข้อต่อและชุด branch', d: 'คราบน้ำมันคือร่องรอยการรั่วที่เห็นได้ด้วยตา ให้ไล่ดูทุกข้อต่อ ชุด Refnet และรอบ stop valve', s: 'แนวปฏิบัติงานบริการ' }, ] }, { g: 'ทดสอบและปิดงาน', items: [ { t: 'เดินทดสอบและตรวจว่า Indoor ทุกตัวตอบสนอง', d: 'สั่งจากรีโมทแต่ละตัว ตรวจว่าเปิด-ปิดได้ ปรับความเร็วลมและทิศลมได้ครบ', s: 'แนวปฏิบัติงานบริการ' }, { t: 'วัดผลต่างอุณหภูมิลมจ่าย–ลมกลับของ Indoor แต่ละตัว', d: 'ตัวที่ผลต่างน้อยกว่าตัวอื่นชัดเจนคือตัวที่ต้องดูต่อ — อาจเป็นคอยล์ตัน ฟิลเตอร์ตัน หรือ EEV ของตัวนั้นมีปัญหา', s: 'แนวปฏิบัติงานบริการ' }, { t: 'ตรวจว่าไม่มี error code ค้างหลังจบงาน', d: 'ดูที่จอบอร์ด Outdoor และที่รีโมททุกตัว — ถ้าเคลียร์ error ระหว่างทาง ให้เดินเครื่องสักพักแล้วดูซ้ำว่าไม่ขึ้นมาอีก', s: '§2.5' }, { t: 'ส่งมอบรายงาน PM และนัดรอบถัดไป', d: 'พิมพ์รายงานจากเครื่องมือนี้ แนบชั่วโมงการทำงานและค่าที่วัดได้ เพื่อให้รอบหน้าเทียบย้อนหลังได้', s: 'แนวปฏิบัติงานบริการ' }, ] }, ]; /* ---- เอนจินเช็คลิสต์ที่ใช้ร่วมกันทั้งงานตรวจติดตั้งและงาน PM ---- แยกกันด้วย prefix ของ element id และ key ใน localStorage */ const CL = { qc: { p: 'qc', key: 'sml_vrv_qc', groups: QC_GROUPS, rptTitle: 'รายงานตรวจงานติดตั้งระบบ VRV / VRF', rptSub: 'เกณฑ์ตรวจอ้างอิงคู่มือติดตั้ง Daikin VRV-X / A-Series', rptSrc: 'เกณฑ์ทุกข้อในรายงานนี้คัดจากคู่มือติดตั้ง Daikin VRV-X / A-Series โดยมีเลขสไลด์ต้นทางกำกับไว้ในคอลัมน์อ้างอิง · เกณฑ์บางข้อ เช่น แรงดันทดสอบรั่ว ระดับสุญญากาศ และความลาดท่อน้ำทิ้ง ต่างกันได้ตามยี่ห้อและรุ่น หากหน้างานเป็นยี่ห้ออื่นให้เทียบกับคู่มือของรุ่นนั้นก่อนใช้ตัดสิน', signers: ['ผู้ตรวจงาน', 'ผู้รับเหมาติดตั้ง', 'ผู้ว่าจ้าง'], }, mt: { p: 'mt', key: 'sml_vrv_pm', groups: PM_GROUPS, rptTitle: 'รายงานบำรุงรักษาเชิงป้องกัน (PM) ระบบ VRV / VRF', rptSub: 'หัวข้อตรวจอ้างอิงคู่มือ Daikin SiME341909EA', rptSrc: 'หัวข้อที่มีเลขอ้างอิงคัดจากคู่มือ Daikin SiME341909EA (Maintenance Menu, Monitor Mode และ Part 6 Check) · หัวข้อที่ระบุว่า “แนวปฏิบัติงานบริการ” เป็นขั้นตอนงานทั่วไปของทีมช่าง ไม่ได้อยู่ในคู่มือผู้ผลิตโดยตรง · คู่มือไม่ได้กำหนดเกณฑ์ตัวเลขตายตัวสำหรับสภาพน้ำยา ให้ใช้อาการประกอบกันหลายข้อในการตัดสิน', signers: ['ช่างผู้ปฏิบัติงาน', 'หัวหน้างาน', 'ผู้รับบริการ'], }, }; Object.values(CL).forEach(c => { c.flat = c.groups.flatMap((g, gi) => g.items.map((it, ii) => ({ ...it, g: g.g, id: gi + '-' + ii }))); c.state = {}; }); /* ข้อความที่ผู้ใช้พิมพ์เองต้อง escape ก่อนใส่ลง HTML — โดยเฉพาะในรายงานที่ส่งให้ลูกค้า */ const clEsc = (s) => String(s == null ? '' : s) .replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"'); const clEl = (b, n) => document.getElementById(CL[b].p + n); function clLoad(b) { const c = CL[b]; try { const raw = localStorage.getItem(c.key); if (raw) { const o = JSON.parse(raw); c.state = o.s || {}; ['_job', '_model', '_by', '_date'].forEach(k => { if (o[k.slice(1)]) clEl(b, k).value = o[k.slice(1)]; }); } } catch (e) { c.state = {}; } if (!clEl(b, '_date').value) clEl(b, '_date').value = new Date().toISOString().slice(0, 10); } function clSave(b) { const c = CL[b]; try { localStorage.setItem(c.key, JSON.stringify({ s: c.state, job: clEl(b, '_job').value, model: clEl(b, '_model').value, by: clEl(b, '_by').value, date: clEl(b, '_date').value, })); } catch (e) { /* โหมดส่วนตัวของเบราว์เซอร์อาจเขียนไม่ได้ — ไม่ให้ล้มทั้งหน้า */ } } function clSet(b, id, v) { const cur = CL[b].state[id] || {}; CL[b].state[id] = { ...cur, v: cur.v === v ? null : v }; clSave(b); clRender(b); } function clNote(b, id, t) { CL[b].state[id] = { ...(CL[b].state[id] || {}), n: t }; clSave(b); clRenderSum(b); } function clSetAll(b, v) { CL[b].flat.forEach(i => { CL[b].state[i.id] = { ...(CL[b].state[i.id] || {}), v }; }); clSave(b); clRender(b); } function clReset(b) { if (!confirm('ล้างผลตรวจทั้งหมดของงานนี้?')) return; CL[b].state = {}; clSave(b); clRender(b); } function clRender(b) { const c = CL[b]; clEl(b, 'List').innerHTML = c.groups.map((grp, gi) => { const done = grp.items.filter((_, ii) => (c.state[gi + '-' + ii] || {}).v).length; return `
${gi + 1}${grp.g}${done}/${grp.items.length}
${grp.items.map((it, ii) => { const id = gi + '-' + ii, st = c.state[id] || {}; const cls = st.v === 'ok' ? 'is-ok' : st.v === 'ng' ? 'is-ng' : st.v === 'na' ? 'is-na' : ''; return `
${it.t}${it.d}${it.s}
`; }).join('')}
`; }).join(''); clRenderSum(b); } function clCount(b) { const c = { ok: 0, ng: 0, na: 0, none: 0 }; CL[b].flat.forEach(i => { const v = (CL[b].state[i.id] || {}).v; c[v || 'none']++; }); return c; } function clRenderSum(b) { const c = clCount(b), judged = c.ok + c.ng; const pct = judged ? Math.round((c.ok / judged) * 100) : 0; const ngs = CL[b].flat.filter(i => (CL[b].state[i.id] || {}).v === 'ng'); const pill = c.none > 0 ? ['pill-warn', 'ตรวจยังไม่ครบ'] : c.ng > 0 ? ['pill-err', 'มีข้อที่ต้องแก้ ' + c.ng + ' ข้อ'] : ['pill-ok', 'ผ่านครบทุกข้อ']; clEl(b, '_res').innerHTML = `
${pill[1]}
คะแนนผ่าน (ไม่นับ N/A)
${pct}%
ตรวจแล้ว ${judged + c.na} จาก ${CL[b].flat.length} ข้อ
ผ่าน${c.ok} ข้อ
ไม่ผ่าน / ต้องแก้${c.ng} ข้อ
ไม่เกี่ยวข้อง (N/A)${c.na} ข้อ
ยังไม่ได้ตรวจ${c.none} ข้อ
${ngs.length ? `
${ngs.map(i => `
${i.t}${(CL[b].state[i.id].n || '') ? '
' + clEsc(CL[b].state[i.id].n) : ''}
`).join('')}
` : ''} `; } function printCL(b) { if (window.SMLQuotaGate && !window.SMLQuotaGate.checkAndMark()) return; const cfg = CL[b], e = n => clEsc(clEl(b, n).value); const c = clCount(b), judged = c.ok + c.ng, pct = judged ? Math.round((c.ok / judged) * 100) : 0; const ngs = cfg.flat.filter(i => (cfg.state[i.id] || {}).v === 'ng'); const lbl = { ok: 'ผ่าน', ng: 'ไม่ผ่าน', na: 'N/A', none: '—' }; const w = window.open('', '_blank', 'width=900,height=1000'); if (!w) { alert('เบราว์เซอร์บล็อกหน้าต่างใหม่ — อนุญาต pop-up ให้เว็บนี้ก่อน'); return; } w.document.write(` ${cfg.rptTitle}

${cfg.rptTitle}

SML Service and Supply · ${cfg.rptSub}
ชื่องาน / อาคาร${e('_job') || '—'}รุ่น Outdoor${e('_model') || '—'}
ผู้ปฏิบัติงาน${e('_by') || '—'}วันที่${e('_date') || '—'}
${pct}%คะแนนผ่าน
${c.ok}ผ่าน
${c.ng}ต้องแก้
${c.na}N/A
${c.none}ยังไม่ตรวจ
${ngs.length ? `

รายการที่ต้องแก้ไข / ติดตามต่อ (${ngs.length} ข้อ)

    ${ngs.map(i => `
  1. ${i.t}${(cfg.state[i.id].n || '') ? ' — ' + clEsc(cfg.state[i.id].n) : ''} (${i.s})
  2. `).join('')}
` : ''} ${cfg.groups.map((grp, gi) => `` + grp.items.map((it, ii) => { const st = cfg.state[gi + '-' + ii] || {}; const v = st.v || 'none'; return ``; }).join('')).join('')}
#รายการตรวจผลหมายเหตุ / ค่าที่วัดได้อ้างอิง
${gi + 1}${grp.g}
${gi + 1}.${ii + 1}${it.t}${lbl[v]}${clEsc(st.n)}${it.s}
${cfg.signers.map(s => `
${s}
`).join('')}
${cfg.rptSrc} · รายงานสร้างจากเครื่องมือ VRV/VRF ของ SML Service and Supply