หน้าแรกคู่มือPLCพื้นฐาน PLC และ SamSoar2022ตำแหน่งข้อมูลพิเศษใน PLC
PLCเริ่มต้น · Beginner10 นาที

ตำแหน่งข้อมูลพิเศษใน PLC

ตำแหน่งข้อมูลพิเศษ (Special M) ที่ใช้บ่อยใน PLC Samkoon: M8150, M8151, M8152, M8159, M8160 พร้อมวิธีตั้งค่า Latch Address (Holding) ให้ M จำค่าหลังไฟดับใน SamSoar2022

M8150 ติดแค่ 1 Scan แรกตอน PLC เริ่ม Run เหมาะกับตั้งค่าเริ่มต้น ส่วน M8151 ติดตลอด M8152 ดับตลอด M8159 ติดทุก 100 ms และ M8160 ติดทุก 1 วินาที — ส่วน Latch Address ตั้งที่ Config → Project Setting → Holding โดยกำหนด Address เริ่มต้นและ Length เอง

อัพเดทล่าสุด: 26 ตุลาคม 2569

ชุดอุปกรณ์สำหรับบทความนี้

ราคาชุดอุปกรณ์

฿3,690

ตำแหน่งข้อมูลพิเศษ (Special M)

ตอนที่แล้วเราใช้ Auxiliary Relay หรือตัว M ซึ่งในโปรแกรมมีให้ใช้ได้ 8,000 กว่าตัว ในจำนวนนี้มีบางตำแหน่งที่ทำหน้าที่เฉพาะ ตัวที่ใช้บ่อยมีดังนี้

ตำแหน่งข้อมูลชนิดข้อมูลหน้าที่
M8150Bitติด 1 Scan Period แล้วกลายเป็น 0
M8151Bitติดตลอดในขณะที่ PLC Run
M8152Bitดับตลอดในขณะที่ PLC Run
M8159Bitติดทุกๆ 100 ms
M8160Bitติดทุกๆ 1 วินาที

เวลาพิมพ์ตำแหน่งพิเศษเหล่านี้ใน SamSoar2022 โปรแกรมจะขึ้น Comment อธิบายหน้าที่ให้เอง เช่น M8150 ขึ้นว่า "Once set 1 at the first scan period, then reset 0" จึงไม่ต้องจำทั้งหมด

M8150 และ M8151

ในคลิปสร้าง Network ใหม่ชื่อ Special Registers, Latch Addresses แล้วเขียน 2 Rung

M8150 กับ M8151
M8150 SET M31 ตอนเริ่ม Run ส่วน M8151 SET M32 ตลอดเวลา
N0
First Scan → SET M31
M8150SETM31, K1
Always ON → SET M32
M8151SETM32, K1
นำเข้าไฟล์ใน SamSoar2022: File → Import → เลือกไฟล์ .csv

ทดสอบด้วย Compile แล้วเข้า Simulate กด Start

  1. ตอนเริ่ม M31 และ M32 ติดทั้งคู่ ส่วน M8150 ดับไปแล้ว เพราะติดแค่ Scan แรก
  2. เปิดหน้าต่าง Monitor (View → Window → Open the monitor list) ใส่ M31 แล้วพิมพ์ OFF ในช่อง Setvalue — M31 เปลี่ยนเป็น OFF ได้
  3. ลองพิมพ์ OFF ให้ M32 บ้าง — ค่าไม่เปลี่ยน เพราะ M8151 ที่ติดตลอดคอย SET M32 ทุก Scan

ความต่างนี้บอกวิธีใช้งาน

  • M8150 เหมาะกับการตั้งค่าเริ่มต้น (Initial State) เช่น Config เริ่มต้นที่อาจเปลี่ยนได้ภายหลัง
  • M8151 เหมาะกับค่าที่ต้องคงเดิมตลอดเวลาที่ PLC ทำงาน เป็นตัวที่ใช้บ่อยมากใน Ladder Program

M8152 — ดับตลอด

M8152 ทำงานตรงข้ามกับ M8151 คือดับตลอด ทำยังไงก็ไม่ติด เหมาะใช้เป็น Placeholder ระหว่างเขียนโปรแกรม เช่นตำแหน่งที่ยังไม่รู้ว่าจะใส่อะไร ให้วาง M8152 ไว้ก่อนเพื่อไม่ให้เงื่อนไขนั้นติดโดยไม่ได้ตั้งใจ จะเห็นความสำคัญชัดขึ้นตอนเรียนเรื่อง Sequence Control

M8159 และ M8160 — สัญญาณนาฬิกา

  • M8159 ติดทุกๆ 100 ms (1 วินาทีติด 10 ครั้ง)
  • M8160 ติดทุกๆ 1 วินาที

ถ้าอยากให้หลอดไฟกะพริบทุก 1 วินาที ใช้ M8160 ขับ Y0 ได้เลย ในคลิป Download ลง PLC จริงผ่านสาย USB แล้วหลอดที่ต่อกับ Y0 ติดดับทุก 1 วินาที ส่วน M8159 ลองกับ M33 ในโหมด Simulate จะเห็นว่า M33 ติดดับถี่กว่ามาก

M8160 และ M8159
Y0 กะพริบทุก 1 วินาที ส่วน M33 กะพริบทุก 100 ms
N0
M8160 (1 วินาที) → Y0 กะพริบ
M8160Y0
M8159 (100 ms) → M33 กะพริบถี่
M8159M33
นำเข้าไฟล์ใน SamSoar2022: File → Import → เลือกไฟล์ .csv

ถ้าต้องการช่วงเวลาติดดับที่กำหนดเอง ต้องใช้ Timer ซึ่งจะเรียนในตอนต่อไป

Latch Address — จำค่าหลังไฟดับ

Latch (บางคนเรียก Holding) หมายถึงข้อมูลที่ PLC เขียนไว้แล้วยังคงเป็นค่าล่าสุดแม้ไฟดับ ไม่ว่าจะปิดเครื่องเพื่อ Maintenance หรือไฟดับเอง พอเปิดกลับมาข้อมูลจะยังอยู่

ประโยชน์ของ Latch

  • จดจำสถานะ: สถานะของอุปกรณ์ และลำดับปัจจุบันของการทำงาน เช่นเครื่องจักรที่ทำงาน 10 Step แล้วไฟดับกลางทาง
  • จดจำข้อมูลเมื่อไฟดับ: จำนวนครั้งการทำงาน ค่าของ Encoder ค่าของ Pulse

ตั้งค่า Holding

PLC รุ่นนี้ให้เรากำหนดตำแหน่งและจำนวนของ Latch เอง

  1. ไปที่ Config → Project Setting แล้วเลือกหัวข้อ Holding
  2. ช่อง M มี Address เริ่มต้น (Default) ที่ 7500 แต่ Length เป็น 0 คือยังไม่ได้ Latch ตัวไหน ในคลิปใส่ Length เป็น 10 หมายถึง M7500 ถึง M7509
  3. ในหน้าเดียวกันมี D, S และ CV ให้ทำ Latch ได้เหมือนกัน (ตอนนี้ใช้แค่ M ก่อน)
  4. ติ๊ก Not clear holding section while downloading ไว้ได้ เวลา Download โปรแกรมลง PLC ค่า M ที่ Latch อยู่จะไม่ถูกล้างกลับเป็นค่าเริ่มต้น
  5. กด OK

ทดสอบ

เขียนโปรแกรมให้ M ตัวแรกและตัวสุดท้ายของช่วง Latch และตัวที่อยู่นอกช่วง ขับ Output คนละตัว

ทดสอบ Latch M7500–M7509
M7500 และ M7509 อยู่ในช่วง Latch ส่วน M7510 อยู่นอกช่วง
N0
Latch ตัวแรก
M7500M34
Latch ตัวที่ 10 (ตัวสุดท้าย)
M7509M35
นอกช่วง Latch
M7510M36
นำเข้าไฟล์ใน SamSoar2022: File → Import → เลือกไฟล์ .csv

การทดสอบต้องใช้ PLC จริง เพราะโหมด Simulation อาจทดสอบการจำค่าไม่ได้

  1. Compile แล้ว Download ลง PLC จากนั้น Monitor ผ่านสาย USB
  2. สั่งให้ M7500, M7509 และ M7510 ติดทั้งหมด Output ทั้ง 3 ตัว (M34, M35, M36) ติด
  3. ปิดไฟ PLC แล้วเปิดใหม่ กด Monitor อีกครั้ง

ผลที่ได้: M7500 และ M7509 ยังติดอยู่ ส่วน M7510 ดับ เพราะกำหนด Length ไว้แค่ 10 ตัว (M7500 ถึง M7509)

PLC บางยี่ห้อกำหนดช่วง Latch ตายตัวไว้ให้ ส่วน PLC รุ่นนี้ยืดหยุ่นกว่าเพราะกำหนดเองได้

ข้อมูลเพิ่มเติม (ไม่ได้อยู่ในคลิป): รอ 1 นาทีหลังเปิดเครื่อง Holding จึงจะทำงาน

ฟังก์ชัน Holding ของ Samkoon PLC ใช้ Capacitor (ตัวเก็บประจุ) ภายในเป็นแหล่งจ่ายไฟสำรองสำหรับเขียนค่าลงหน่วยความจำ Latching เมื่อไฟดับ ไม่ใช่ถ่าน

หลังเปิดไฟ PLC ตัว Capacitor ยังประจุไฟไม่เต็ม ต้องใช้เวลาประมาณ 1 นาที ในช่วงนี้ฟังก์ชัน Holding จะ ยังไม่ทำงาน ถ้าเปิดเครื่องแล้วเปลี่ยนค่าในช่วง Latch ทันที แล้วตัดไฟภายในนาทีแรก ค่าที่เปลี่ยนจะ ไม่ถูกบันทึก ดังนั้นตอนทดสอบตามขั้นตอนข้างบน ให้เปิดไฟทิ้งไว้ประมาณ 1 นาทีก่อนเขียนค่าแล้วตัดไฟ

ถ่าน 3.3V ที่ติดมากับ Samkoon PLC ใช้สำหรับ RTC (นาฬิกาภายใน) เท่านั้น ไม่เกี่ยวกับ Holding/Latching

สรุป

  • M8150 ติด 1 Scan แรก ใช้ตั้งค่าเริ่มต้น ส่วน M8151 ติดตลอดและ M8152 ดับตลอด
  • M8159 ติดทุก 100 ms และ M8160 ติดทุก 1 วินาที ใช้ทำไฟกะพริบได้ทันที
  • Latch Address ตั้งที่ Config → Project Setting → Holding โดยกำหนด Address เริ่มต้นและ Length เอง เช่น M7500 Length 10 = M7500 ถึง M7509

ตอนต่อไปจะเรียนเรื่อง Counter และข้อมูลแบบ Word (ตัวเลข) ที่ไม่ได้มีแค่ติดหรือดับ

ตอนถัดไป

5. Counter และการคำนวณ

14 นาทีเริ่มต้น · Beginner