IEC 60870-5-103 หรือเรียกสั้น ๆ ว่า IEC-103 เป็นมาตรฐานการสื่อสาร
การสื่อสารข้อมูลในงานอุตสาหกรรม
ตอนที่ 14 มารู้จักโปรโตคอล IEC 60850-5-103 (ตอนที่ 1)
พิชิต จินตโกศลวิทย์
pichitor@yahoo.com
IEC 60870-5-103 หรือเรียกสั้นๆ ว่า IEC-103 เป็นมาตรฐานการสื่อสารสำหรับการเชื่อมต่ออุปกรณ์ระบบป้องกันกับระบบ SCADA (Substation Control and Data Acquisition) มาตรฐานนี้ได้พัฒนาเพิ่มเติมจากมาตรฐาน IEC 60870-5-1, -2, -3, -4, -5 ซึ่งจริง ๆ แล้วมีต้นกำเนิดมาจากโปรโตคอล VDEW ของ SIEMENS มาตรฐานเหล่านี้ได้กำหนดรูปแบบฟอร์แมตของเฟรมทั้งระดับดาต้าลิงก์ (Data Link) และแอพพลิเคชั่น (Application) รวมทั้งวิธีการส่งโปรโตคอลสำหรับระบบควบคุมแบบระยะไกล ในทางปฏิบัติแล้ว IEC-103 ได้เลือกบางส่วนที่ต้องการเท่านั้นมาจากมาตรฐานดังกล่าว โดยไม่ได้นำมาทั้งหมด และยังได้เพิ่มเติมส่วนที่ต้องการเพื่อให้ใช้งานกับอุปกรณ์ระบบป้องกันได้อย่างสมบูรณ์ หรือสนับสนุนฟังก์ชันที่อาจจะถูกเพิ่มเติมได้ภายหลัง
โดยทั่วไปแล้ว ผู้ผลิตรีเลย์ป้องกันที่สนับสนุนมาตรฐาน IEC-103 จะไม่พัฒนาให้ตัวรีเลย์ป้องกันสนับสนุนทุกคุณสมบัติตามมาตรฐาน ดังนั้นคุณสมบัติที่รีเลย์ตัวนั้นสนับสนุนจะแสดงในตาราง Interoperability ที่แนบมาในคู่มือของอุปกรณ์นั้น ๆ ดังนั้นผู้ติดตั้งต้องควรตรวจสอบตารางนี้ก่อนให้แน่ใจว่ามันมีคุณสมบัติที่ต้องการ และทำงานเข้ากันได้กับระบบ SCADA เดิม
IEC-103 เป็นโปรโตคอลประเภท Master-slave โดยที่ตัวรีเลย์ป้องกันจะทำตัวเป็นสแลฟและตัว SCADA หรือ RTU (Remote Terminal Unit) ในสถานีย่อยจะทำตัวแบบมาสเตอร์ ตามมาตรฐานจริงๆ แล้วจะเรียกอุปกรณ์ที่ทำหน้าที่มาสเตอร์ว่า Primary Station และเรียกอุปกรณ์ที่ตัวเป็นสแลฟว่า Secondary Station
สำหรับชั้นเลเยอร์ตาม OSI ของโปรโตคอล IEC-103 จะประกอบด้วย 3 เลเยอร์ ได้แก่ ฟิสิคอลเลเยอร์, ลิงก์เลเยอร์ และแอพพลิเคชั่นเลเยอร์ (Physical Layer, Link Layer and Application Layer) โดยชั้นฟิลิคอลเลเยอร์สามารถเป็นได้ทั้งสายใยแก้วนำแสง, RS-485 หรือ RS-232 แต่ถ้าเป็นสายใยแก้วนำแสง หัวต่อตามมาตรฐานจะเป็นหัว BFOC/2.5 ตามที่ระบุใน IEC 60874-10 แต่จริง ๆ แล้วในท้องตลาดมักจะเป็นหัว FSMA และ ST สำหรับสถานะว่างในการสื่อสารของสัญญาณแสงของ IEC-103 จะเป็นสถานะไฟติด (Light On) ซึ่งจะตรวจสอบสถานะได้ดีกว่า แตกต่างจากโปรโตคอล SPAbus ที่จะใช้สถานะไฟดับ (Light Off)
ในการทำงาน มาสเตอร์จะทำการโพลลิ่ง (Polling) ข้อมูลจากสแลฟ ซึ่งข้อมูลจะถูกแบ่งกลุ่มตามระดับความสำคัญในชื่อทางเทคนิคว่าคลาส (Class) นั้นคือ คลาส 1 และ คลาส 2 โดยคลาส 1 มีระดับความสำคัญสูงกว่าและโดยปกติมีไว้สำหรับข้อมูลชนิด อีเวนต์ (Event) เช่น อะลาร์ม (Alarm) ในส่วนของคลาส 2 นั้นมีระดับความสำคัญต่ำกว่า และส่วนใหญ่มีไว้สำหรับส่งค่าค่าอะนาลอก (Analog) หรือ ค่าวัด
ในการดึงข้อมูลนั้น มาสเตอร์จะทำการโพลลิ่งด้วยการถามข้อมูลคลาส 1 หรือ คลาส 2 เท่านั้น โดยที่สแลฟจะตอบการถามข้อมูลคลาส 2 โดยการนำค่าในบัฟเฟอร์ที่อัพเดตล่าสุดส่งให้มาสเตอร์ซึ่งจะมีค่าตลอด เช่น ค่าวัด แต่สำหรับการตอบการถามข้อมูลคลาส 1 นั้น สแลฟจะนำเหตุการณ์เปลี่ยนแปลง หรือ อีเวนต์ในหน่วยความจำส่งแบบเรียงลำดับตาม FIFO (First In First Out) ส่งมาสเตอร์ หรือไม่ก็ตอบด้วยเมสเซจปฏิเสธ ถ้าไม่มีอีเวนต์ในหน่วยความจำคลาส 1 เลย สิ่งที่พิเศษอย่างหนึ่งนั้นคือ อีเวนต์คลาส 1 ยังใช้ในการตอบสนองคำสั่งคอนโทรล หรือ คำสั่ง GI (General Interrogation) ซึ่งเมสเซจที่ใช้ในการตอบกลับจะถูกเก็บไว้ในหน่วยความจำของคลาส 1
ในสภาวะปกติแล้วมาสเตอร์จะทำการโพลลิ่งหรือถามข้อมูลคลาส 2 ตลอดแต่จะสังเกตบิต ACD จาก เมสเซจที่ตอบกลับมา ถ้ามาสเตอร์พบว่าบิต ACD ในเมสเซจที่มาจากสแลฟถูกเซต แล้วมาสเตอร์จะทำโพลลิ่งคลาส 1 จนกว่าอีเวนต์ในบัฟเฟอร์จะหมด หลังจากนั้นจะทำการโพลลิ่งคลาส 2 ต่อไป
ฟอร์แมตของเฟรมดาต้าลิงก์
สำหรับเฟรมในระดับชั้นลิงก์เลเยอร์ หรือดาต้าลิงก์จะเป็นไปตามมาตรฐาน FT1.2 ของ IEC 60870-5-1. ซึ่งจะมีคุณสมบัติที่แตกต่างเด่นชัดจากเฟรมประเภทอื่นตรงที่ไม่มีฟิลด์ที่อยู่ของมาสเตอร์ นั้นหมายถึงว่า ระบบนี้สามารถมีมาสเตอร์เดียวเท่านั้นในหนึ่งเครือข่าย โดยการพิจารณาทางเทคนิคการสื่อสารของโปรโตคอลแล้วจะมีการส่งข้อมูลเป็นไบต์แบบอะซิงโครนัส (Asynchronous) การส่งข้อมูลแต่ไบต์จะใช้จำนวนบิตทั้งหมด 11 บิต (1 บิตเริ่ม, 8 บิตข้อมูล, 1 บิตหยุด และ 1 บิตพาริตี้แบบอีเวน (Even)) โดยที่อัตราความเร็วตามมาตรฐานในการส่งจะมีเพียง 2 ค่า นั้นคือ 9,600 หรือ 19,200 b/s
โดยมาตรฐานแล้วเมสเซจหรือเฟรมของ IEC-103 ถูกพิจารณาได้ 3 รูปแบบดังต่อไปนี้
- เมสเซจแบบความยาวไม่คงที่
- เมสเซสความยาวคงที่ หรือเมสเซจขนาดสั้นขนาด 5 ไบต์
- เมสเซจอักขระเดี่ยว ขนาด 1 ไบต์ เช่น 0xE5 สำหรับการยืนยันรับทราบ
รูปที่ 1 ชนิดของเฟรม IEC-103
พิจารณาที่ส่วนหัวของระดับชั้นลิงก์เลเยอร์จะประกอบด้วย 8 บิตดังต่อไปนี้
รูปที่ 2 คอนโทรลไบต์
- บิตเฟรมเคาต์บิต (FCB:Frame Cout Bit): บิตนี้โดยปกติจะเปลี่ยนแปลงสลับค่าระหว่าง 0 และ 1 ในการส่งแต่ละครั้งของเมสเซจทั้งเฟรมของมาสเตอร์ และสแลฟที่ส่งด้วยฟังก์ชัน 3, 10 หรือ 11 (ตามตารางที่ 1) บิต FCB ถูกใช้เพื่อตรวจสอบเฟรมซ้ำ หรือเกิดการสูญหาย ถ้าบิต FCB มีค่าเท่ากันกับเฟรมก่อนหน้าในกรณีมาสเตอร์ แสดงว่าสแลฟต้องตอบเมสเซจ หรืออีเวนต์ที่ส่งไปแล้วก่อนหน้า เนื่องจากมีการบ่งบอกว่ามีการสูญหายของเฟรมที่ตอบก่อนหน้านี้ แต่อย่างไรก็ตามในการคอนโทรล สแลฟไม่ควรทำการคอนโทรลเดิมซ้ำ ดังนั้นเพื่อให้การทำงานของบิต FCB สมบูรณ์ สแลฟควรที่ต้องเก็บเมสเซจที่รับจากมาสเตอร์ครั้งล่าสุดจากมาสเตอร์ไว้ก่อนรวมไปถึงเมสเซจที่ส่งออกไปล่าสุด เช่นกัน อีกกรณีที่มาสเตอร์ส่งเมจเซจเดิมซ้ำก็อาจเกิดจากการเกิดตรวจสอบเจอของผิดพลาดในเมสเซจที่รับจากสแลฟ
- บิตเฟรมเคาต์วาลิด (FCV: Frame Count Valid): ถ้าบิต FCV มีค่าเท่ากับ 1 แสดงว่ามีการเปิดใช้กลไกของ FCB โดยการที่จะเซตค่าบิต FCV ได้ไม่ได้ก็ยังขึ้นอยู่กับฟังก์ชันที่ใช้ตามมาตรฐาน
- บิตแอคเซสดีมานด์ (ACD:Access Demand): โดยถ้าบิต ACD เท่ากับ 1 นั้นหมายความว่ามีข้อมูลของคลาส 1 ในหน่วยความจำบัฟเฟอร์รอให้มาสเตอร์ร้องขอ
- บิตดาต้าโฟลว์คอนโทรล (DFC: Data Flow Control): ถ้าบิต DFC ถูกเซต นั้นหมายความว่า ถ้ามีการส่งเมสเซจจากมาสเตอร์มาให้สแลฟอีกอาจจะทำให้สแลฟเกิดการโอเวอร์โฟลว์ หรือทำงานผิดพลาดได้
ในระดับชั้นดาต้าลิงก์ยังมีส่วนของรหัสฟังก์ชัน (Function Code) ที่นิยามหน้าที่ของแต่ละเมสเซจในชั้นนี้ สำหรับรหัสฟังก์ชันที่ใช้มาตรฐาน IEC-103 จะถูกแสดงไว้ในตารางที่ 1 และ 2 พิจารณาที่ตารางมาสเตอร์จะพบว่าจะสามารถเป็นเมสเซจแบบความยาวไม่คงที่เฉพาะรหัสฟังก์ชัน 3 และ 4 ซึ่งใช้ออกคำสั่งคอนโทรลจากมาสเตอร์ไปยังสแลฟ ในส่วนรหัสฟังก์ชันที่เหลือของมาสเตอร์จะเป็น เมสเซจแบบสั้นความยาว 5 ไบต์ทั้งหมด
สำหรับการพิจารณาในส่วนของตารางสแลฟนั้น เมสเซจที่เป็นแบบความยาวไม่คงที่จะมีเฉพาะเมสเซจที่ใช้รหัสฟังก์ชัน 8 เท่านั้นที่เหลือจะเป็นเมสเซจแบบสั้นทั้งหมด
ตารางที่ 1 รหัสฟังก์ชันของมาสเตอร์
ตารางที่ 2 รหัสฟังก์ชันของสแลฟ
ฟอร์แมตข้อมูลระบบแอพพลิเคชั่น
ในทางเทคนิคเฉพาะเมสเซจแบบความยาวไม่คงที่เท่านั้นที่จะสามารถบรรจุข้อมูลในระดับแอพพลิเคชั่นได้โดยสำหรับมาสเตอร์นั้น คือ เมสเซจที่ใช้รหัสฟังก์ชัน 3 หรือ 4 และสำหรับสแลฟก็คือ เมสเซจที่ใช้รหัสฟังก์ชัน 8 ส่วนเมสเซจอื่น ๆ นั้นจะมีข้อมูลระดับดาต้าลิงก์เท่านั้น
ศัพท์ทางเทคนิคที่สำคัญในระดับแอพพลิเคชั่นคือ แอพพลิเคชั่นเซอร์วิสดาต้ายูนิต (ASDU: Application Service Data Unit) โดยที่หนึ่งเมสเซจจะสามารถมีได้หนึ่ง ASDU เท่านั้น ในส่วนรายละเอียดของจะถูกแสดงในตารางที่ 3 สำหรับส่วนหัวของ ASDU จะใช้พื้นที่จำนวน 6 ไบต์ (TYP, VSQ, COT, ADDRESS, FUN and INF) และที่เหลือจะเป็นส่วนของข้อมูลที่เปลี่ยนแปลงตามการร้องขอหรือชนิดของเมสเซจ
ตารางที่ 3 ASDU
1. ทิศทางของข้อมูล (Direction)
ทิศทางของข้อมูลเป็นศัพท์ทางเทคนิคโดยมีสองทิศทางในการส่งข้อมูลที่ระดับแอพลิเคชั่นดังต่อไปนี้
- ทิศทางมอนิเตอร์ (Monitor Direction):ซึ่งใช้ในการบ่งบอกว่าเมสเซจนี้ใช้สำหรับมอนิเตอร์โดยสามารถพิจารณาจากฟิลด์ COT ซึ่งปกติเมสเซจเหล่านี้จะมาจากสแลฟหรือเรียกอีกอย่างว่าเมสเซจจากสแลฟไปยังมาสเตอร์ ตามรูปที่ 3
รูปที่ 3 ทิศทางมอนิเตอร์
- ทิศทางคอนโทรล (Control Direction): บ่งบอกว่าเมสเซจนี้ใช้สำหรับการควบคุม หรือคอนโทรลซึ่งต้องมาจากมาสเตอร์โดยสามารถพิจารณาจากฟิลด์ COT ตามรูปที่ 3 และสามารถเรียกอีกอย่างว่าเมสเซจจากมาสเตอร์สู่สแลฟ
รูปที่ 4 ทิศทางคอนโทรล
2. ฟอร์แมตเมสเซจ ASDU
เมสเซจที่มี ASDU หรือ เมสเซจที่ทำงานในระดับแอพพลิเคชั่นจะมีรูปแบบพื้นฐานเรียงลำดับไบต์ดังต่อไปนี้
- อักขระเริ่ม ซึ่งจะต้องเป็นค่า 68h เสมอ
- ความยาว (เป็นจำนวนไบต์ทั้งหมดนับจากไบต์คอนโทรลไปถึงไบต์สุดท้ายในส่วนข้อมูล)
- ความยาวครั้งที่สองมีค่าเท่ากับไบต์ก่อนหน้าเพื่อเพิ่มการตรวจสอบการผิดพลาดของเมสเซจ
- อักขระเริ่มตัวที่สองซึ่งจะต้องเป็นค่า 68h เสมอ
- คอนโทรลไบต์
- แอดเดรสของรีเลย์
- TYP ชนิดของเมสเซจ หรือหมายเลข ASDU
- VSQ โครงสร้างข้อมูล
- COT เหตุผลในการสร้างเมสเซจ
- คอมมอนแอดเดรสของ ASDU โดยปกติจะมีค่าเท่ากับแอดเดรสของรีเลย์ ยกเว้นกรณีสแลฟเป็น RTU
- FUN เป็นหมายเลขระบุประเภทฟังกชั่นป้องกันที่ทำงาน หรือสร้างอีเวนต์ เช่น รีเลย์กระแสเกิน
- INF เป็นหมายเลขที่บ่งบอกประเภทอีเวนต์ หรือข้อมูล เช่น การเกิดการปิกอัพ (Pick-up)
- ส่วนของข้อมูลที่ขนาดและประเภทจะเกี่ยวข้องกับค่าในฟิลด์ TYP และ VSQ
- เช็คซัม มีไว้เพื่อใช้ตรวจสอบความผิดพลาดของเมสเซจ
- อักขระจบ ซึ่งค่าเท่ากับ 16h เสมอ
เมสเซจการมาสเตอร์ไปยังสแลฟ
โดยเมสเซจทั้งหมดจะอยู่ในทิศทางคอนโทรลซึ่งมีรายละเอียดดังต่อไปนี้
1. การร้องขอการรีเซตการสื่อสาร (Request for Communication Unit Reset) มีขนาด 5 ไบต์เรียงตามไบต์ดังต่อไปนี้
- อักขระเริ่ม จะมีค่าเท่ากับ 10h เสมอ
- คอนโทรลไบต์ จะมีค่าเท่ากับ 40h เสมอ
- แอดเดรส เป็นแอดเดรสของสแลฟ
- เช็คซัม จะเป็นผลบวกของคอนโทรลไบต์และแอดเดรสโดยไม่คิดส่วนทด
- อักขระจบ จะมีค่าเท่ากับ 16h เสมอ
รูปที่ 5 ตัวอย่างเมสเซจการร้องขอรีเซตสื่อสารไปยังรีเลย์แอดเดรสเท่ากับ 1
ในการเริ่มติดต่อครั้งแรกหลังจากที่รีเลย์เริ่มทำงาน หรือแม้กระทั่งมีการรีเซตรีเลย์ทั้งแบบฮาร์ดแวร์ หรือซอฟต์แวร์ ต้องมีการร้องขอการรีเซตการสื่อสารเสมอ โดยปกติแล้วรีเลย์จะไม่กระทำการใด ๆ ในทางการสื่อสารถ้ายังไม่รับการร้องขอนี้ก่อน ถ้ารีเลย์ปกติและพร้อมจะทำการยืนยันรับทราบในทางบวก
2. การร้องขอการรีเซตเฟรมเคาท์บิต (Request for Frame Count Bit Reset) มีขนาด 5 ไบต์เรียงตามไบต์ดังต่อไปนี้
- อักขระเริ่ม จะมีค่าเท่ากับ 10h เสมอ
- คอนโทรลไบต์ จะมีค่าเท่ากับ 47h เสมอ
- แอดเดรส เป็นแอดเดรสของสแลฟ
- เช็คซัม จะเป็นผลบวกของคอนโทรลไบต์และแอดเดรสโดยไม่คิดส่วนทด
- อักขระจบ จะมีค่าเท่ากับ 16h เสมอ
รูปที่ 6 ตัวอย่างการร้องขอการรีเซตเฟรมเคาต์บิต ไปยังรีเลย์แอดเดรสเท่ากับ 1
การขอรีเซตบิต FCB มีไว้เพื่อขอเรียงซีเควนซ์คำสั่งใหม่ ในระบบบางระบบอาจใช้การร้องขอนี้ในการขอเริ่มการติดต่อสื่อสารที่มีศักย์เท่ากับรีเซตการสื่อสาร
3. การร้องขอสถานะการสื่อสาร (Request for Link Status) มีขนาด 5 ไบต์เรียงตามไบต์ดังต่อไปนี้
- อักขระเริ่ม จะมีค่าเท่ากับ 10h เสมอ
- คอนโทรลไบต์ จะมีค่าเท่ากับ 49h เสมอ
- แอดเดรส เป็นแอดเดรสของสแลฟ
- เช็คซัม จะเป็นผลบวกของคอนโทรลไบต์และแอดเดรสโดยไม่คิดส่วนทด
- อักขระจบ จะมีค่าเท่ากับ 16h เสมอ
รูปที่ 7 ตัวอย่างการร้องขอสถานะการสื่อสาร ไปยังรีเลย์แอดเดรสเท่ากับ 1
ในทางปฎิบัติแล้วจะไม่ค่อยได้ใช้คำสั่งนี้ ซึ่งเป็นการร้องขอเพื่อตรวจสอบสถานะของการสื่อสาร แต่ก็ไม่สามารถทำอะไรให้ระบบดีขึ้นมาได้
4. การร้องขอข้อมูลคลาส 1 (Request for Data Class 1) มีขนาด 5 ไบต์เรียงตามไบต์ดังต่อไปนี้
- อักขระเริ่ม จะมีค่าเท่ากับ 10h เสมอ
- คอนโทรลไบต์ จะมีค่าฐานสองดังนี้: 01X1 1010 โดยที่ X=FCB จะสลับค่าระหว่าง 0 และ 1
- แอดเดรส เป็นแอดเดรสของสแลฟ
- เช็คซัม จะเป็นผลบวกของคอนโทรลไบต์และแอดเดรสโดยไม่คิดส่วนทด
- อักขระจบ จะมีค่าเท่ากับ 16h เสมอ
รูปที่ 8 ตัวอย่างการร้องขอข้อมูลคลาส 1 ไปยังรีเลย์แอดเดรสเท่ากับ 1
เมื่อรีเลย์ได้รับการร้องขอนี้ รีเลย์จะตอบกลับด้วยเมสเซจของอีเวนต์ในบัฟเฟอร์ข้อมูลคลาส 1 แต่ถ้าไม่มีอีเวนต์ในบัฟเฟอร์ รีเลย์ก็จะตอบกลับว่าไม่มีข้อมูลคลาส 1 ให้มาสเตอร์รับทราบ
5. การร้องขอข้อมูลคลาส 2 (Request for Data Class 2) มีขนาด 5 ไบต์เรียงตามไบต์ดังต่อไปนี้
- อักขระเริ่ม จะมีค่าเท่ากับ 10h เสมอ
- คอนโทรลไบต์ จะมีค่าฐานสองดังนี้: 01X1 1011โดยที่ X=FCB จะสลับค่าระหว่าง 0 และ 1
- แอดเดรส เป็นแอดเดรสของสแลฟ
- เช็คซัม จะเป็นผลบวกของคอนโทรลไบต์และแอดเดรสโดยไม่คิดส่วนทด
- อักขระจบ จะมีค่าเท่ากับ 16h เสมอ
รูปที่ 9 ตัวอย่างการร้องขอข้อมูลคลาส 2 ไปยังรีเลย์แอดเดรสเท่ากับ 1
เมื่อรีเลย์ได้รับการร้องขอนี้ รีเลย์จะตอบกลับเมสเซจที่เกี่ยวกับข้อมูลคลาส 2 ซึ่งส่วนใหญ่เป็นค่าวัดจึงมีค่าเสมอในบัฟเฟอร์
6. การเข้าจังหวะเวลา (Time Synchronization-ASDU Type 6) เรียงตามไบต์ได้ดังต่อไปนี้
- อักขระเริ่ม ซึ่งจะต้องเป็นค่า 68h เสมอ
- ความยาว (เป็นจำนวนไบต์ทั้งหมดนับจากไบต์คอนโทรลไปถึงไบต์สุดท้ายในส่วนข้อมูล)
- ความยาวครั้งที่สองมีค่าเท่ากับไบต์ก่อนหน้าเพื่อเพิ่มการตรวจสอบการผิดพลาดของเมสเซจ
- อักขระเริ่มตัวที่สองซึ่งจะต้องเป็นค่า 68h เสมอ
- คอนโทรลไบต์
- แอดเดรสของรีเลย์
- TYP มีค่าเท่ากับ 6 เสมอ หรือ ค่าเท่ากับหมายเลข ASDU นั้นเอง
- VSQ มีค่าเท่ากับ 81h เสมอซึ่งหมายความว่ามีแค่อีเลเมนต์เดียว
- COT มีค่าเท่ากับ 8 เสมอ
- คอมมอนแอดเดรส โดยปกติมีค่าเท่ากับไบต์ที่ 6
- FUN = 255 หมายความว่าเป็นฟังก์ชันโกลบอล หรือทั่วไป
- INF มีค่าเท่ากับศูนย์เสมอ
- Milliseconds+seconds LSB ค่าวินาทีและมิลลิวินาทีในหน่วยมิลลิวินาที ไบต์ต่ำ
- Milliseconds+seconds MSB ค่าวินาทีและมิลลิวินาทีในหน่วยมิลลิวินาที ไบต์สูง
- IV-bit, 0, minutes 0...59 (6 บิต) (IV=0: Time Valid, IV=1: Time Invalid)
- SU-bit, 0, hours 0...23 (6 บิต) (SU=0: Standard Time, SU=1: Summer Time)
- Day of week 1...7 (3 บิต), Day of month 1...31 (5 บิต)
- RES 3, Months 1...12 (4 บิต)
- RES 4, Years 0...99 (7 บิต)
- เช็คซัม มีไว้เพื่อใช้ตรวจสอบความผิดพลาดของเมสเซจ
- อักขระจบ ซึ่งค่าเท่ากับ 16h เสมอ
มาสเตอร์อาจจะส่งเมสเซจเข้าจังหวะเวลาแบบบรอดคาสต์ หรือเจาะจงตัวรีเลย์ก็ได้ ซึ่งแบบบรอดคาสต์จะใช้หมายเลขแอดเดรสเท่ากับ 255 โดยปกติแล้วมาสเตอร์จะต้องบรรจุเวลา ณ ตำแหน่งที่บิตแรกของเมสเซจนั้นได้ถูกส่งออกไป
รูปที่ 10 ตัวอย่างการเข้าจังหวะเวลาทั้งแบบบรอดคาสต์ และเจาะจง
จากตัวอย่างในรูปที่ 10 โดยปกติแล้วมาสเตอร์จะเข้าเวลารีเลย์ทุกตัวในเครือข่ายในคำสั่งเดียว ดังนั้นจำเป็นต้องใช้การบอร์ดคาสต์โดยการตั้งค่าแอดเดรสไว้ที่ 255 ในส่วนคอนโทรลไบต์ หรือฟิลด์ ก็ต้องตั้งค่าที่ 44h (PRM + Send/No Confirm Expected) เพื่อห้ามไม่ให้สแลฟตอบกลับมา
สำหรับตัวอย่างเวลาจะเท่ากับ 10:27:30.000 ของวันที่ 4 มิถุนายน ค.ศ.1997 ซึ่งจะถูกเข้ารหัสดังนี้ ในส่วนของวินาทีจะแปลงเป็นหน่วยมิลลิวินาที โดยมีช่วงอยู่ที่ 0-59,999 เก็บค่าเป็น 16 บิต แบ่งเป็นไบต์สูง และไบต์ต่ำ ดังตัวอย่างกรณี 30,000 จะเท่ากับ 7530h ดังนั้นไบต์สูงเท่ากับ 75h และ ไบต์ต่ำเท่ากับ 30h
สำหรับส่วนของนาที จะมีช่วงค่าระหว่าง 0-59 และใช้เพียงหนึ่งไบต์บรรจุค่า สำหรับในตัวอย่างนั้นคือ 27 แปลงเป็น 1Bh อีกอย่างหนึ่งเนื่องจากมีจำนวนบิตเหลือดังนั้นจึงได้นำบิตสำคัญสูงสุด (MSB) มาแสดงความถูกต้องของเวลา
สำหรับส่วนของชั่วโมง จะมีช่วงค่าระหว่าง 0-23 และใช้เพียงหนึ่งไบต์บรรจุค่าเช่นกัน สำหรับในตัวอย่างนั้นคือ 10 แปลงเป็น 0Ah อีกอย่างหนึ่งเนื่องจากมีจำนวนบิตเหลือดังนั้นจึงได้นำบิตสำคัญสูงสุด (MSB) มาบ่งบอกช่วงเวลาฤดูร้อน (Summer Time) สำหรับประเทศในเขตหนาว ซึ่งตัวบ่งบอกว่าว่าอยู่ในช่วงฤดูร้อนดังนั้นทำให้ค่าในฟิลด์เท่ากับ 8Ah (80h+0Ah)
เอกสารอ้างอิง
1. J. Sprague, A. Manson, Technical Manual: IEC870-5-103. VA TECH Reyrolle ACP
2. O. V?h?m?ki, A. Manson, Introduction to IEC 60870-5-103 V1.4. VAMP protection relays Vaasa Electronics Ltd
3. J. Fulcher, An Introduction to Microcomputer Systems: Architecture and Interfacing. Addison-Wesley, Sydney,1989
4. S. Mackay, E. Wright, D. Reynders and .J Park, Practical Industrial Data Network: Design, Installation and Troubleshooting. IDC Technologies, Perth,2004
5. IEC870-5-103 Communication Standards for Substations, Companion Standard for the Informative Interface of Protection Equipment, Final Draft of International Standard,Revision 4.0,November 5th ,1995
สงวนลิขสิทธิ์ ตามพระราชบัญญัติลิขสิทธิ์ พ.ศ. 2539 www.thailandindustry.com
Copyright (C) 2009 www.thailandindustry.com All rights reserved.
ขอสงวนสิทธิ์ ข้อมูล เนื้อหา บทความ และรูปภาพ (ในส่วนที่ทำขึ้นเอง) ทั้งหมดที่ปรากฎอยู่ในเว็บไซต์ www.thailandindustry.com ห้ามมิให้บุคคลใด คัดลอก หรือ ทำสำเนา หรือ ดัดแปลง ข้อความหรือบทความใดๆ ของเว็บไซต์ หากผู้ใดละเมิด ไม่ว่าการลอกเลียน หรือนำส่วนหนึ่งส่วนใดของบทความนี้ไปใช้ ดัดแปลง โดยไม่ได้รับอนุญาตเป็นลายลักษณ์อักษร จะถูกดำเนินคดี ตามที่กฏหมายบัญญัติไว้สูงสุด