Work Memory คือหน่วยความจำที่ CPU ใช้ในการประมวลผลโปรแกรมขณะที่ PLC กำลังทำงาน (RUN mode) เปรียบเสมือน RAM ในคอมพิวเตอร์ทั่วไป หน่วยความจำส่วนนี้จะเก็บสำเนาของ Blocks ที่จำเป็นสำหรับการทำงานจริง รวมถึง Data Blocks ที่ถูกใช้งานอยู่ในขณะนั้น Work Memory เป็นหน่วยความจำแบบลบเลือน (volatile) ซึ่งหมายความว่าข้อมูลจะหายไปเมื่อไม่มีไฟเลี้ยง CPU ดังนั้น เมื่อ PLC เริ่มทำงานใหม่ โปรแกรมจะถูกโหลดจาก Load Memory เข้าสู่ Work Memory อีกครั้ง ขนาดของ Work Memory จะถูกกำหนดโดยรุ่นของ CPU และเป็นปัจจัยสำคัญที่ส่งผลต่อประสิทธิภาพโดยรวมของ PLC.
ข้อมูลสำคัญ
หาก Work Memory ไม่เพียงพอสำหรับโปรเจกต์ขนาดใหญ่ อาจทำให้ PLC ไม่สามารถเข้าสู่โหมด RUN ได้ หรือมีประสิทธิภาพการทำงานที่ต่ำลงอย่างเห็นได้ชัด การเลือก CPU ที่มี Work Memory เพียงพอจึงเป็นสิ่งสำคัญตั้งแต่ขั้นตอนการออกแบบระบบ.
3. System Memory (หน่วยความจำระบบ)
System Memory เป็นส่วนที่เล็กที่สุด แต่มีความสำคัญอย่างยิ่งสำหรับ CPU ในการจัดการการทำงานภายในของ PLC ประกอบด้วย Memory Area ต่างๆ เช่น Process Image (P I/Q), Bit Memory (M), Timer (T), Counter (C) รวมถึง Stack Memory ที่ใช้เก็บข้อมูลชั่วคราวสำหรับการเรียกใช้ Function และ Interrupt ต่างๆ หน่วยความจำส่วนนี้เป็นส่วนที่โปรแกรมเมอร์สามารถเข้าถึงและใช้งานได้โดยตรงในการเขียนโปรแกรมเพื่อจัดเก็บสถานะ หรือข้อมูลชั่วคราวที่ใช้ในการประมวลผล Logic.
การจัดการ Memory Area สำหรับโปรเจกต์ขนาดใหญ่
โปรเจกต์ขนาดใหญ่มีความท้าทายในการจัดการ Memory มากกว่าโปรเจกต์ขนาดเล็ก เนื่องจากมีจำนวน Blocks, Data และ Logic ที่ซับซ้อนกว่ามาก การวางแผนและการจัดการที่ดีจะช่วยให้ระบบมีเสถียรภาพและง่ายต่อการบำรุงรักษา
Data Blocks (DBs): หัวใจของการจัดเก็บข้อมูล
Data Blocks (DBs) เป็นส่วนสำคัญที่สุดในการจัดเก็บข้อมูลใน S7-300 โดยเฉพาะสำหรับโปรเจกต์ขนาดใหญ่ DBs ช่วยให้เราสามารถจัดโครงสร้างข้อมูลได้อย่างเป็นระเบียบ ทำให้โปรแกรมอ่านง่ายและบำรุงรักษาง่ายขึ้น
**Global Data Blocks (GDB):** ใช้สำหรับจัดเก็บข้อมูลที่สามารถเข้าถึงได้จากทุกส่วนของโปรแกรม เหมาะสำหรับค่าพารามิเตอร์ระบบ, สถานะทั่วไป, หรือข้อมูลที่ต้องแชร์กันทั่วทั้ง PLC.
**Error during Download:** อาจเกิดจาก Memory Card เต็ม หรือไม่เข้ากันกับ CPU ลองตรวจสอบขนาด Memory Card และฟอร์แมตใหม่หากจำเป็น.
**Data Loss after Power Cycle:** หากพบว่าข้อมูลบางอย่างหายไปหลังจากการปิด-เปิดไฟ อาจเป็นเพราะข้อมูลนั้นถูกเก็บใน Work Memory ที่เป็น volatile ควรย้ายข้อมูลสำคัญไปยัง DBs ที่ถูกตั้งค่าให้เป็น Retentive หรือใช้ Block Memory ที่เหมาะสม