PLC Programming

เจาะลึก Device Symbols PLC Mitsubishi: M, L, R, B, D และรหัสลับ M8000+ ที่คุณต้องรู้

PLC Engineer | Xeniel Automation  |  เมษายน 2026
อธิบาย Device Buffer M L R B D ใน PLC Mitsubishi และ Special Relay M8000

หัวใจสำคัญของการเขียนโปรแกรม PLC Mitsubishi คือการเข้าใจการจัดการหน่วยความจำ หรือที่เรียกว่า Device Symbols ครับ หากเราเลือกใช้ตัวแปรผิดประเภท นอกจากจะทำให้โปรแกรมทำงานผิดพลาดแล้ว ยังอาจทำให้เครื่องจักรเกิดความเสียหายเมื่อเกิดเหตุการณ์ไฟดับได้ บทความนี้จะพาไปเจาะลึกแบบละเอียดที่สุดครับ

1. พื้นฐานที่สำคัญ: Bit Device vs Word Device


2. เจาะลึกกลุ่ม Bit Devices (สถานะดิจิทัล)

M (Internal Relay)

รีเลย์ช่วยภายใน จับต้องไม่ได้บน Terminal ใช้เป็นตัวแปรพักค่าทั่วไป

    ระบบเลข: ฐาน 10 (Decimal) | เมื่อไฟดับ: เคลียร์ค่าเป็น 0 (Reset)

L (Latch Relay)

ทำหน้าที่เหมือน M แต่ "จำสถานะได้แม้ไฟดับ" เพราะสำรองไฟด้วยแบตเตอรี่

    การใช้งาน: เก็บสถานะ Auto/Manual หรือตำแหน่งของเครื่องจักรที่ต้องทำงานต่อจากจุดเดิม

B (Link Relay)

บิตสำหรับการสื่อสาร Network เช่น CC-Link ระหว่าง PLC ไปยัง HMI หรือ PLC ตัวอื่น

    ข้อควรระวัง: B นับแบบ เลขฐาน 16 (Hexadecimal) เช่น B0-B9 แล้วต่อด้วย BA-BF ครับ

3. เจาะลึกกลุ่ม Word Devices (เก็บค่าตัวเลข)

D (Data Register)

หน่วยความจำหลัก เก็บเลขได้ตั้งแต -32,768 ถึง 32,767 (ถ้าใช้ 32-bit จะใช้ D สองตัวติดกัน)

R / ZR (File Register)

หน่วยความจำส่วนขยายที่มีความจุสูงมาก นิยมใช้เก็บ "สูตรการผลิต" (Recipe) หรือบันทึก Data Log


4. คัมภีร์รหัส Special Device (M8000+ และ D8000+)

นี่คือรหัสที่ PLC สร้างมาให้เราใช้ตรวจสอบ "สุขภาพ" และ "สถานะ" ของระบบครับ

4.1 สัญญาณระบบและการควบคุม (System Status)

                                                                                                                                                                           
Device (FX)Device (FX5U)หน้าที่ (Function)
M8000SM400RUN Monitor: ติดค้างตลอดเวลาที่ PLC รัน
M8002SM402Initial Pulse: ติดแค่ 1 Scan ตอนเริ่ม RUN (ใช้ Reset ค่าเริ่มต้น)
M8004SM1Error Summary: ติดเมื่อมี Error ในระบบ
M8005SM51Battery Low: แจ้งเตือนแบตเตอรี่ภายในต่ำ
M8034SM1All Outputs Disable: สั่งตัดสัญญาณ Y ทุกตัว (Safety Stop)

4.2 สัญญาณนาฬิกา (Clock Pulse)

                                                                                                                                                               
Deviceคาบเวลา (Period)การใช้งาน
M801110msงานความเร็วสูง
M8012100msไฟกะพริบถี่ๆ
M80131 วินาทีทำไฟ Alarm กะพริบ (ยอดนิยม)
M80141 นาทีนับเวลาเครื่องจักรทำงาน

4.3 ธงสถานะและการคำนวณ (Math Flags)

ใช้ตรวจสอบผลลัพธ์หลังคำสั่งบวก/ลบ/คูณ/หาร หรือใช้เช็คการจบคำสั่ง Pulse
                                                                       
M8020Zero Flag: ติดเมื่อผลคำนวณเท่ากับ 0
M8021Borrow Flag: ติดเมื่อการลบมีค่าติดลบ
M8022Carry Flag: ติดเมื่อผลบวกมีค่าเกินขีดจำกัด
M8029Instruction Complete: ติดเมื่อคำสั่งพิเศษทำงานจบ (เช่น ส่ง Pulse สำเร็จ)

4.4 ข้อมูลระบบและนาฬิกา RTC (D8000+)

                                                                                                                                                                       
Deviceข้อมูลภายใน (System Data)
D8010Scan Time: เวลาที่ใช้ประมวลผล (0.1ms)
D8013Seconds: วินาทีปัจจุบัน (0-59)
D8014Minutes: นาทีปัจจุบัน (0-59)
D8015Hours: ชั่วโมงปัจจุบัน (0-23)
D8018Year: ปี ค.ศ. ปัจจุบัน
D8140-8141Pulse Current (Y0): ตำแหน่งปัจจุบันของแกน Y0 (32-bit)
   
เคล็ดลับจากประสบการณ์จริง:
   

ในการเขียนโปรแกรมสื่อสาร (Communication) เช่น RS-485 ผมแนะนำให้ใช้ M8029 เสมอเพื่อเช็คว่าข้อมูลส่งครบหรือยัง ก่อนจะส่งชุดถัดไป จะช่วยให้ระบบเสถียรขึ้นมากครับ!

ต้องการวิศวกรวางระบบ Automation มืออาชีพ?

Xeniel Automation ยินดีให้คำปรึกษา ออกแบบระบบ PLC และแก้ไขปัญหาเครื่องจักรในโรงงานอุตสาหกรรม โซนชลบุรี ระยอง และพื้นที่ใกล้เคียง

ปรึกษาฟรีผ่าน Line โทร 098-965-3845
บทความที่เกี่ยวข้อง
เปลี่ยน PLC FX2N เป็น FX5U วิธี Backup PLC ให้ปลอดภัย สร้าง SCADA ด้วย Python