คำสั่ง FMOV ใน Samkoon PLC - Move ข้อมูลหลายตัวแปรพร้อมกัน
ใช้คำสั่ง FMOV และ FMOVD ใน SamSoar2022 ย้ายค่าเดียวไปใส่ D หลายตัวด้วยคำสั่งเดียว แทนการเขียน MOV ทีละบรรทัด พร้อมผลทดสอบใน Simulator
คำสั่ง FMOV ย้ายค่าจาก Input ไปใส่ D หลายตัวติดกันในคำสั่งเดียว เช่น FMOV D0 D1000 K10 จะใส่ค่า D0 ลง D1000 ถึง D1009 ส่วน FMOVD ทำแบบ Double Word ทีละ 2 register
อัพเดทล่าสุด: 26 ตุลาคม 2569
ปัญหา: MOV ค่าเดียวไปหลายตัวแปรต้องเขียนหลายบรรทัด
ถ้าใช้คำสั่ง MOV ย้ายค่า D0 ไปที่ D500 ถึง D509 ต้องเขียนคำสั่ง MOV ทั้งหมด 10 บรรทัด
MOV D0 D500
MOV D0 D501
MOV D0 D502
...
MOV D0 D509
SamSoar2022 มีคำสั่ง FMOV ที่รวบทั้งหมดนี้เหลือคำสั่งเดียว
รูปแบบคำสั่ง FMOV
FMOV Input Output Number
| ช่อง | ความหมาย | ตัวอย่างในคลิป |
|---|---|---|
| Input | ค่าต้นทาง | D0 |
| Output | ตัวแปรเริ่มต้นปลายทาง | D1000 |
| Number | จำนวนตัวแปรที่จะใส่ค่า | K10 |
FMOV D0 D1000 K10 จะย้ายค่า D0 ไปใส่ตั้งแต่ D1000 จำนวน 10 ตัว คือ D1000 ถึง D1009
FMOVD — แบบ Double Word
ถ้าต้องการย้ายค่าแบบ Double Word (32-bit) ใช้คำสั่ง FMOVD ซึ่งใส่ค่าทีละ 2 register
ทดสอบใน Simulator
- กด Simulate แล้วกด Start
- เปิด Monitor ใส่ค่า D0 เป็น
123 - สั่ง FMOV ทำงาน (M1 ON) — D1000 ถึง D1009 มีค่าเป็น 123 ส่วน D1010 ยังเป็น 0 เพราะคำสั่งใส่ค่าแค่ 10 ตัว
- สั่ง FMOVD ทำงาน (M2 ON) — D2000, D2002, D2004 … มีค่าเป็น 123 กระโดดทีละ 2 ตัว
- FMOVD รับค่าขนาดใหญ่ได้ ลองใส่ D0 เป็น
100000— D2000, D2002, … D2018 มีค่า 100000 (ตั้ง Datatype ใน Monitor เป็น DWORD) ส่วน D2020 ยังเป็น 0
ถ้าดู D2001, D2003 แบบ WORD ใน Monitor จะเห็นค่า 1 เพราะเป็น word บนของค่า 100000 แบบ 32-bit
สรุป
FMOV Input Output Numberใส่ค่าเดียวลงตัวแปร 16-bit หลายตัวติดกันFMOVDทำแบบเดียวกันกับค่า 32-bit โดยใช้ตัวแปรทีละ 2 register- ช่วยลดคำสั่ง MOV ที่ต้องเขียนซ้ำหลายบรรทัดเหลือบรรทัดเดียว
บทถัดไป
วิธีกำหนดค่าเริ่มต้นเมื่อ PLC ติด
มีคำถาม? ติดต่อทีมงาน
