ดูข้อมูล Datalog ย้อนหลังบนหน้าจอ HMI ด้วย Historic Trend และ Historical Data
ตั้งค่า Historical data collector ใน SKTool (จำนวนแถว หน่วยความจำ วิธีเก็บ เมื่อหน่วยความจำเต็ม) แล้วให้ผู้ใช้เลือกช่วงเวลาดูข้อมูลย้อนหลังบนหน้าจอ Samkoon ผ่าน Control Register ของ Historic trend (LW0) และ Historical data display (LW1000)
ใน SKTool ให้ Historical data collector เก็บค่าไว้ในหน้าจอ แล้วติ๊ก Use control address ที่ Historic trend หรือ Historical data display ผู้ใช้จะเลือกช่วงเวลาดูข้อมูลย้อนหลังบนหน้าจอได้ โดยเขียนเวลาเริ่มและสิ้นสุดลง Register ตาม Offset แล้วเขียน 1 ที่ Offset สั่ง Query (Offset 26 สำหรับ Trend, Offset 13 สำหรับตาราง)
อัพเดทล่าสุด: 26 ตุลาคม 2569
ภาพรวม
หน้าจอ HMI Samkoon เก็บ Datalog ได้ด้วย Historical data collector ใน SKTool และแสดงข้อมูลย้อนหลังบนหน้าจอได้เลย ไม่ต้องดึงไฟล์ออกมาเปิดในคอมพิวเตอร์ ในคลิปใช้หน้าจอ HMI+PLC 2-in-1 ขนาด 7 นิ้ว ต่อสาย PT100 เข้าโมดูลขยายด้านหลัง อ่านค่าอุณหภูมิที่ AI100 แล้วเก็บไว้ประมาณ 1 วัน (28 ถึง 29 กรกฎาคม 2026)
คลิปแบ่งเป็น 2 ส่วน
- ตั้งค่าการเก็บข้อมูลให้เหมาะกับหน่วยความจำ
- แสดงข้อมูลย้อนหลังบนหน้าจอ เป็นกราฟ (Historic trend) หรือเป็นตาราง (Historical data) โดยให้ผู้ใช้เลือกช่วงเวลาเอง
1. สร้าง Historical data collector
ในแผง Project ของ SKTool คลิกขวาที่ Historical data collector แล้วกด New
แท็บ Data Item — เก็บอะไร
กด Add แล้วกำหนดชื่อและ Address ที่จะอ่าน (จาก PLC หรือเซนเซอร์) ในคลิป
| Name | Address | Data type |
|---|---|---|
| temp | AI100 | 16-Bit Unsigned Int |
ต้องการเก็บค่าอื่นเพิ่มก็ Add เพิ่มในตารางนี้
แท็บ General — เก็บกี่แถว
Sampling total คือจำนวนแถวที่คาดว่าจะเก็บ ให้มองข้อมูลเป็นตาราง Excel ที่แต่ละแถวคือการเก็บหนึ่งครั้ง ก่อนกำหนดจำนวนแถวต้องรู้ขอบเขตหน่วยความจำของหน้าจอก่อน (จากสไลด์ในคลิป)
- หน่วยความจำสูงสุดประมาณ 10 MB (10,000,000 byte) อ้างอิงจากคู่มือผู้ผลิต
- ทุกแถวใช้ 20 byte สำหรับเก็บวันและเวลา (Timestamp)
- บวกขนาดข้อมูลแต่ละตัว: 1 Word = 2 byte, 1 Double Word = 4 byte
ในคลิปเก็บอุณหภูมิ 16 bit (2 byte) จึงใช้ 22 byte ต่อแถว ตั้ง Sampling total = 400,000 แถว ช่อง Memory Required แสดง 8,800,000 byte (ประมาณ 8.8 MB) ยังอยู่ในขอบเขต
Sampling Method — เก็บเมื่อไร
- Timing — เก็บตามช่วงเวลาที่ช่อง Distance (หน่วยวินาที) ในคลิปตั้ง 1 วินาที ถ้าต้องการเก็บถี่กว่านั้นให้ติ๊ก *0.1 ความละเอียดจะเป็น 100 ms (1 วินาทีเก็บ 10 ครั้ง) ซึ่งคลิปมองว่ามากเกินไปสำหรับงานอุณหภูมิ เก็บนาทีละครั้งก็พอ
- Trigger — เก็บเมื่อ Trigger Bit ที่กำหนดติด (มีช่อง Distance หน่วย ms และ Automatic Reset) ใช้เมื่อไม่ต้องการเก็บตลอด 24 ชั่วโมง เพื่อไม่ให้เปลืองหน่วยความจำ เช่น ใช้ Bit ที่ทำงานคู่กับ Real-time clock ของ PLC ให้เก็บเฉพาะช่วง 8 โมงเช้าถึง 5 โมงเย็น
- ในหน้าต่างยังมีตัวเลือก Clock ซึ่งคลิปไม่ได้อธิบาย
ระยะเวลาที่เก็บได้ก่อนหน่วยความจำเต็ม = Sampling total × Distance เช่น 400,000 แถว เก็บทุก 1 วินาที ได้ประมาณ 4.6 วัน ส่วนเก็บทุก 1 นาทีได้ประมาณ 278 วัน
Sample Full Processing — เมื่อหน่วยความจำเต็ม
- ติ๊ก Stop Sampling — ครบ 400,000 แถวแล้วหยุดเก็บ
- ไม่ติ๊ก — เขียนทับข้อมูลเก่า
- ติ๊ก Notify แล้วระบุ Bit — Bit จะติดเมื่อใช้หน่วยความจำถึง Full limit ในคลิประบุ LB0 (Local Bit ตัวที่ 0 ของหน้าจอ) และ Full limit 90% เพื่อให้รู้ว่าถึงเวลาดึงข้อมูลออกไปสำรองแล้ว
กด OK แล้วดาวน์โหลดลงหน้าจอ หน้าจอจะเริ่มเก็บข้อมูลทันที
2. อย่าเผลอลบข้อมูลเก่าตอนดาวน์โหลด
ไปที่ HMI Parameter Setting → Printers/Download แล้วดูช่อง Clear historical data records ถ้าติ๊กไว้แล้วดาวน์โหลด ข้อมูลที่เก็บไว้จะหายทั้งหมด คลิปเตือนว่าเปิดโปรแกรมครั้งแรกอาจเห็นช่องนี้ถูกติ๊กอยู่ ถ้าระบบเริ่มเก็บข้อมูลไปแล้วและยังต้องแก้โปรแกรมหน้าจอต่อ ให้เอาเครื่องหมายออกก่อนดาวน์โหลดทุกครั้ง
3. ส่งออกเป็นไฟล์ CSV
ข้อมูลที่เก็บไว้ส่งออกเป็นตารางลง Flash Drive ได้ โดยสร้างปุ่มสั่ง LB60128 ดูวิธีได้ที่ วิธีตั้งค่าหน้าจอ HMI เป็น Data Logger และส่งออก CSV ส่วนคลิปนี้เน้นการดูข้อมูลบนหน้าจอโดยตรง
4. ดูเป็นกราฟด้วย Historic trend
ในกล่องเครื่องมือทางขวาเลือก Historic trend โปรแกรมจะถามว่าใช้ Datalog ชุดไหน (ในคลิปมีชุดเดียวคือ Historical data collector0) บนหน้าจอจริงใช้นิ้วแตะที่กราฟเพื่อดูว่า ณ เวลาหนึ่งค่าเป็นเท่าไร แต่ต้องตั้งค่าเพิ่มดังนี้
เปิดใช้ Control Register
ในแท็บ General ติ๊ก Use control address แล้วกำหนด Control Register ในคลิปใช้ LW0 (Local Word ของหน้าจอ) จากนั้น Register ถัดไปจะมีหน้าที่ตาม Address Offset ในคู่มือ SKTool (Offset 0–27) ส่วนที่ใช้ในคลิปคือ Offset 14–26
| Address Offset (นับจาก 0 คือ LW0) | Register เมื่อ Control Register = LW0 | หน้าที่ |
|---|---|---|
| 14–19 | LW14–LW19 | เวลาเริ่ม Query: ปี, เดือน, วัน, ชั่วโมง, นาที, วินาที |
| 20–25 | LW20–LW25 | เวลาสิ้นสุด Query: ปี, เดือน, วัน, ชั่วโมง, นาที, วินาที |
| 26 | LW26 | เขียน 1 เพื่อสั่ง Query แล้วกลับเป็น 0 เองอัตโนมัติ |
ในหน้าจอตัวอย่างวางช่องตัวเลขให้แก้ Start Query และ End Query ได้ จะดูย้อนหลัง 3 เดือนหรือ 6 เดือนก็แก้เลขเดือนหรือวันที่ช่องเวลาเริ่ม
ขั้นตอนบนหน้าจอ
- ใส่เวลาเริ่มและเวลาสิ้นสุด ในคลิปเลือกวันที่ 28/7/2026 ช่วง 15:00 ถึง 17:00
- แก้เวลาแล้วกราฟยังไม่เปลี่ยน ต้องเขียน 1 ที่ LW26 (Offset 26)
- กด Enter แล้วหน้าจอจะโหลดข้อมูลเฉพาะช่วงนั้นมาแสดง และ LW26 จะกลับเป็น 0 เอง
เส้นอ่านค่า ณ จุดที่แตะ
ในส่วน Check ของ Historic trend (ค่าเริ่มต้นไม่ได้ติ๊กไว้)
- ติ๊ก Start แล้วเลือก Color ของเส้น (ในคลิปเป็นสีแดง)
- ช่อง Check Color ระบุ Address ที่รับค่า ณ จุดตัดของเส้น ในคลิปคือ LW100 แตะที่กราฟตรงไหน ค่า ณ จุดนั้นจะเขียนลง LW100 (เช่น 36) ถ้าต้องการให้ตัวเลขใหญ่ขึ้นก็วางช่องแสดงตัวเลขที่ LW100 บนหน้าจอ
- ติ๊ก Display detection information เพื่อแสดงกล่องเล็กบอกเวลาและค่าบนกราฟ
5. ดูเป็นตารางด้วย Historical data
ถ้าต้องการดูเป็นตาราง ให้เลือก Historical data แทน Historic trend ในกล่องเครื่องมือ การตั้งค่าคล้ายกัน คือมี Control address แต่ตาราง Offset ไม่เหมือนกับ Trend
ในคลิปตั้งค่าดังนี้
- ติ๊ก Control address = LW1000
- ติ๊ก Page turning = LW1100 (บอกว่าตอนนี้อยู่หน้าไหนของตาราง)
- แท็บ Data แสดงค่า temp
| Address Offset (นับจาก 0 คือ LW1000) | Register | หน้าที่ |
|---|---|---|
| 0 | LW1000 | 1 = แสดงข้อมูลระหว่างเวลาเริ่มและสิ้นสุด, 0 = แสดงข้อมูลทั้งหมด |
| 1–6 | LW1001–LW1006 | เวลาเริ่ม: ปี, เดือน, วัน, ชั่วโมง, นาที, วินาที |
| 7–12 | LW1007–LW1012 | เวลาสิ้นสุด: ปี, เดือน, วัน, ชั่วโมง, นาที, วินาที |
| 13 | LW1013 | เขียน 1 (เมื่อ Offset 0 เป็น 1) เพื่อแสดงข้อมูลช่วงนั้น แล้วรีเซ็ตเองอัตโนมัติ |
| 14 | LW1014 | จำนวนแถวข้อมูลทั้งหมดระหว่างเวลาเริ่มและสิ้นสุด (Double Word) |
ขั้นตอนบนหน้าจอ (จากสไลด์ในคลิป)
- เขียน 1 ที่ Offset 0 (LW1000)
- เขียนเวลาเริ่มต้นที่ Offset 1–6
- เขียนเวลาสิ้นสุดที่ Offset 7–12
- เขียน 1 ที่ Offset 13 (LW1013)
- ตารางจะแสดงข้อมูลภายในช่วงเวลาที่กำหนด และ Offset 13 จะรีเซ็ตเองอัตโนมัติ
- ถ้าต้องการแสดงข้อมูลทั้งหมด ให้เขียน 0 ที่ Offset 0
ในคลิปเลือกเริ่มวันที่ 28 เวลา 15:16 ถึงวันที่ 29 ตารางจึงแสดงข้อมูลตั้งแต่ 15:16 ของวันที่ 28 เป็นต้นไป เลื่อนดูด้วยนิ้วได้ ระหว่างเลื่อน LW1100 จะบอกหน้าที่กำลังดู และ LW1014 บอกจำนวนแถวที่ Query ได้ ในคลิปคือ 11,078 แถว
สรุป
เข้าใจ 2 เรื่องนี้ก็ให้ Operator หรือ Admin ตรวจสอบข้อมูลย้อนหลังบนหน้าจอได้เอง
- การเก็บ — คำนวณจำนวนแถวจาก 20 byte ต่อแถวบวกขนาดข้อมูล ให้ไม่เกินประมาณ 10 MB เลือกช่วงเวลาเก็บให้เหมาะกับงาน และเอา Clear historical data records ออกก่อนดาวน์โหลดโปรแกรมใหม่
- การแสดงผล — Historic trend ใช้ Offset 14–25 เป็นเวลาและ Offset 26 สั่ง Query ส่วน Historical data ใช้ Offset 0 เปิดโหมดช่วงเวลา, Offset 1–12 เป็นเวลา และ Offset 13 สั่ง Query
มีคำถาม? ติดต่อทีมงาน