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

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

เรียนรู้การใช้ Counter (CTU) และการคำนวณใน PLC รวมถึงชนิดข้อมูล Bit, Word, การนับขึ้น การ Reset และการคำนวณทางคณิตศาสตร์แบบละเอียด

อัพเดทล่าสุด: 31/1/2569

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

฿3,690

ชนิดของข้อมูลใน PLC

การเขียนโปรแกรม PLC ต้องเข้าใจชนิดของข้อมูลที่แตกต่างกัน เพื่อให้สามารถใช้งานได้อย่างถูกต้องและมีประสิทธิภาพ

ข้อมูลแบบ Bit และ Word

ข้อมูลแบบ Bit (0 กับ 1)

  • X (Input)
  • Y (Output)
  • M (Memory)
  • C (Counter)
  • T (Timer)
  • S (State)

ข้อมูลแบบ Word และ Double Word

  • K (ฐาน 10) - ตัวเลขธรรมดาที่เราใช้ เช่น K10, K3.14
  • H (ฐาน 16) - ใช้ตัวเลข 0-F
  • D (Data Register) - เก็บข้อมูลตัวเลข (16-bit)
  • TV (Timer Value)
  • CV (Counter Value)

ขอบเขตการใช้งาน

16-Bit Word

  • ย่าน: -32,768 ถึง +32,767 (แบบมีเครื่องหมาย)

32-Bit Double Word

  • ย่าน: -2,147,483,648 ถึง +2,147,483,647 (แบบมีเครื่องหมาย)

Counter (ตัวนับจำนวน)

Counter แบบ Count Up

คำสั่ง CTU ใช้สำหรับการนับขึ้น

CTU CV0 K3

Parameter ที่ต้องใส่:

  1. Counter Value (CV) - ตำแหน่งเก็บค่าการนับ เช่น CV0
  2. Set Value - ค่าเป้าหมายที่ต้องการนับ เช่น K3

ตัวอย่างการใช้งาน Counter

Counter Count-Up พื้นฐาน
N0
ทุกครั้งที่ M40 ON → CV0 เพิ่มค่า 1 (นับถึง K3)
M40CTUCV0, K3
เมื่อ Counter ครบ → C0 ติด → M41 ON
C0M41
Network count: 1, gap: 12
นำเข้าไฟล์ใน SamSoar2022: File → Import → เลือกไฟล์ .csv

การทำงาน:

  1. เมื่อ M40 ติดครั้งที่ 1 → CV0 = 1
  2. เมื่อ M40 ติดครั้งที่ 2 → CV0 = 2
  3. เมื่อ M40 ติดครั้งที่ 3 → CV0 = 3 และ C0 ติด → M41 ติด

การ Reset Counter

วิธีที่ 1: ใช้คำสั่ง MOV

Reset Counter ด้วย MOV
N0
M42 ON → เขียน 0 ลงใน CV0 (ล้างค่า counter)
M42MOVK0, CV0
Network count: 1, gap: 12
นำเข้าไฟล์ใน SamSoar2022: File → Import → เลือกไฟล์ .csv

วิธีที่ 2: ใช้คำสั่ง RST

Reset Counter ด้วย RST
N0
M42 ON → RST C0 (ล้าง counter flag)
M42RSTC0
Network count: 1, gap: 12
นำเข้าไฟล์ใน SamSoar2022: File → Import → เลือกไฟล์ .csv

Counter 32-Bit

สำหรับการนับค่าที่มากกว่า 32,767 ใช้ Counter หมายเลข C200 ขึ้นไป

32-Bit Counter
N0
นับค่าได้ถึง 100,000 (เกิน 32,767) — ใช้ C200+
M43CTUCV200, K100000
เมื่อนับครบ → C200 ติด → M44 ON
C200M44
Network count: 1, gap: 12
นำเข้าไฟล์ใน SamSoar2022: File → Import → เลือกไฟล์ .csv

ข้อกำหนด Counter:

  • C0-C199: 16-bit Counter
  • C200 ขึ้นไป: 32-bit Counter

การคำนวณทางคณิตศาสตร์

การบวกลบคูณหาร

คำสั่งพื้นฐาน:

  • ADD - บวก
  • SUB - ลบ
  • MUL - คูณ
  • DIV - หาร
  • INC - เพิ่มค่า 1

ตัวอย่างการใช้งาน

การบวก:

ADD — บวกค่า
N0
D42 = D40 + 3
M40ADDD40, K3, D42
Network count: 1, gap: 12
นำเข้าไฟล์ใน SamSoar2022: File → Import → เลือกไฟล์ .csv

การ Increment:

INC — เพิ่มค่าทีละ 1
N0
D42 = D40 + 1
M40INCD40, D42
Network count: 1, gap: 12
นำเข้าไฟล์ใน SamSoar2022: File → Import → เลือกไฟล์ .csv

การแปลงข้อมูลสำหรับเลขทศนิยม

เพื่อใช้เลขทศนิยมในการคำนวณ ต้องแปลงข้อมูลตามลำดับ:

  1. Word → Double Word
WTOD D40 D50
  1. Double Word → Float
DTOF D50 D52
  1. คำนวณด้วย Float
MULF D52 K3.14 D54
DIVF D52 K1.23 D56

ตัวอย่างการแปลงและคำนวณ

แปลง Word → Float แล้วคำนวณ
รวม 4 ขั้นตอน: WTOD → DTOF → MULF → DIVF (ทุก rung ใช้ trigger M40 เดียวกัน)
N0
Word → Double Word
M40WTODD40, D50
Double Word → Float
M40DTOFD50, D52
Float × 3.14
M40MULFD52, K3.14, D54
Float ÷ 1.23
M40DIVFD52, K1.23, D56
Network count: 1, gap: 12
นำเข้าไฟล์ใน SamSoar2022: File → Import → เลือกไฟล์ .csv

หมายเหตุ: เมื่อใช้ Double Word ให้เว้นที่อยู่ทีละ 2 (เช่น D52, D54, D56) เนื่องจาก Double Word ใช้ 2 Register

เคล็ดลับการใช้งาน

  1. ตรวจสอบชนิดข้อมูล ก่อนใช้คำสั่งเพื่อลดข้อผิดพลาด
  2. ใช้ Comment เพื่อให้เข้าใจโปรแกรมง่าย โดยเปิด View → Unit Comment
  3. วางแผนการใช้ Register หลีกเลี่ยงการทับซ้อนของ Double Word
  4. ความแม่นยำ ของเลขทศนิยมใน PLC อาจแตกต่างจากคอมพิวเตอร์

สรุป

Counter และการคำนวณเป็นพื้นฐานสำคัญใน PLC โดย Counter ใช้สำหรับนับเหตุการณ์ต่างๆ มี 2 แบบคือ 16-bit และ 32-bit ส่วนการคำนวณสามารถทำได้ทั้งจำนวนเต็มและเลขทศนิยม แต่ต้องแปลงข้อมูลให้ถูกต้องก่อน การเข้าใจชนิดข้อมูลจะช่วยให้เขียนโปรแกรมได้อย่างมีประสิทธิภาพและลดข้อผิดพลาด