เนื้อหาวันที่ : 2011-04-28 15:14:06 จำนวนผู้เข้าชมแล้ว : 1933 views

มารู้จักโปรโตคอล SPA-bus (ตอนจบ)

ระยะเวลาหน่วงสูงสุดที่อนุญาตและระยะเวลาหน่วงที่เหมาะสมในการสื่อสารจะถูกจำกัดช่วงหรือเป็นไปตามคุณสมบัติของโปรโตคอล

การสื่อสารข้อมูลในงานอุตสาหกรรม 
ตอนที่ 8 มารู้จักโปรโตคอล SPA-bus (ตอนจบ)

พิชิต จินตโกศลวิทย์ 
pichitor@yahoo.com

ระยะเวลาการหน่วง (Delay Durations)
          ระยะเวลาหน่วงสูงสุดที่อนุญาตและระยะเวลาหน่วงที่เหมาะสมในการสื่อสารจะถูกจำกัดช่วงหรือเป็นไปตามคุณสมบัติของโปรโตคอล ดังต่อไปนี้

          เวลาที่อนุญาตให้สเลฟเตรียมตัวสร้างเมสเสจตอบรับหลังจากได้รับเมสเสจจากมาสเตอร์  (หมดเวลาการรอการตอบสนอง)
          * ระยะเวลาสูงสุดที่อนุญาต 50 ms
          * ระยะเวลาสูงสุดที่แนะนำ 5 ms
          เวลาระหว่างการส่งเมสเสจนาฬิกาของมาสเตอร์
          * ระยะเวลาสูงสุดที่อนุญาต 10 s
          * ระยะเวลาสูงสุดที่แนะนำ 1 s

          ระยะเวลาที่อนุญาตสำหรับการหยุดชั่วคราวในการส่งเมสเสจเป็นเวลา 50 ms แต่มันควรถูกหลีกเลี่ยงไม่ใช้ เพราะว่าถ้าอนุญาตให้สเลฟที่ส่งเมสเสจแบบเมสเสจหลายบรรทัดจะใช้เวลาหน่วง 50 ms ต่อบรรทัด
   
ไอเท็มข้อมูลที่จองไว้ใช้โดย Spa-bus
          1. สำหรับสเลฟทุกประเภท 
          บางไอเท็มข้อมูลอยู่ในแคตากอรี่ V ของแชนแนล 0 ที่ถูกจองสำหรับงานพิเศษเฉพาะ

          บันทึกไว้: V251, V252 และ V253 จะถูกส่งโดยใช้วิธีการบรอดคาสต์
   
          2. ดิสเทอร์บานซ์เรคคอร์ดเดอร์ (Disturbance Recorder)
          ข้อมูลที่ถูกบันทึกโดยดิสเทอร์บานซ์เรคคอร์ดเดอร์ สามารถถูกอ่านโดยผ่านไอเท็มข้อมูล V16, V20, M28, M29, M30 และ M31:
 

          การบันทึกดิสเทอร์บานซ์ในระบบไฟฟ้าจะถูกแบ่งออกเป็นบล็อก (Block) และแต่ละบล็อกจะถูกแบ่งออกเป็นบรรทัดสำหรับการอ่าน หนึ่งบรรทัดจะมีข้อมูลเพียงหนึ่งเหตุการณ์ที่ถูกบันทึก เนื้อหาและรูปแบบจะขึ้นอยู่กับประเภทของตัวบันทึก

          แต่ละบรรทัดจะถูกชี้ด้วยตัวชี้ M29 และ M30 ซึ่งถูกอ่านโดยใช้คำสั่งอ่านไปยังไอเท็มข้อมูล M31 (>nRM31: CCcr) หลังจากอ่านค่า ตัวชี้จะชี้ไปยังบันทึกบรรทัดถัดไปโดยอัตโนมัติ ดังนั้นบันทึกหนึ่งบันทึกสามารถถูกอ่านอย่างต่อเนื่องโดยการออกคำสั่งอ่านซ้ำต่อ ๆ กันไปยังไอเท็มข้อมูล M31 ข้อมูลบรรทัดเดียวสามารถถูกอ่านโดยการตั้งค่า M29 และ M30 ก่อนที่จะส่งค่าสั่งอ่านออกไป จำนวนคำสั่งอ่านที่ต้องใช้สามารถคำนวณได้จากข้อมูลที่ได้จากไอเท็มข้อมูล M28 (แต่อย่างไรก็ตามรูปแบบฟอร์แมตของ M28 และ M31 ขึ้นอยู่กับประเภทอุปกรณ์)

          เมื่อข้อมูลที่เก่าที่สุดได้ถูกอ่านเป็นที่เรียบร้อย มันสามารถถูกลบได้โดยการออกคำสั่งเขียนจำนวน 2 คำสั่งไปยังไอเท็มข้อมูล V16 (>nWV16:0: CCcr และ >nWV16:1: XXcr) หลังจากนั้นตัวชี้บล็อกและตัวชี้บรรทัดจะสามารถถูกกำหนดให้ชี้ไปยังจุดเริ่มต้นของบันทึกถัดไปโดยการออกคำสั่งเขียนไปยังไอเท็มข้อมูล V20 (>nWV20: 1: CCcr)
  
ข้อแนะนำเกี่ยวกับฮาร์ดแวร์ของ SPA-bus
          ผลิตภัณฑ์ที่มีฟังก์ชั่น SPA-bus ไม่ว่าจะเป็นสเลฟ หรือมาสเตอร์ที่ถูกเชื่อมต่อเข้ากับบัสโดยการใช้โมดูลที่เป็นแบบถอดออกจากกันเรียกว่า Bus Connection Module นี้ สามารถทำให้เลือกใช้สื่อสัญญาณหลาย ๆ ประเภท เช่น สายใยแก้ว, RS-485 เป็นต้น สื่อสัญญาณจะถูกเลือกตามความต้องการของระบบงาน (ถ้าเป็นไปได้ควรเลือกสายใยแก้ว)

          1. การเชื่อมต่อเข้ากับโมดูลสื่อสารของอุปกรณ์
          โดยส่วนใหญ่แล้วการเชื่อมต่อของอุปกรณ์ระหว่างกันมักจะเป็นรูปแบบดังต่อไปนี้
          * บนตัวอุปกรณ์ใช้คอนเน็กเตอร์ชนิด DB-9 ตัวเมีย
          * ระดับสัญญาณ: RS-485 หรือ TTL
          หมายเลขพินของ Spa-bus ที่ใช้ RS-485 มีรายละเอียดดังต่อไปนี้

จำไว้ว่าในเวลาเดียวกันจะมีไฟเลี้ยงแค่หนึ่งระดับเท่านั้น
หมายเลขขาพินของ SPA-bus ที่ใช้การเชื่อมแบบ TTL

          2. การเชื่อมต่อ SPA-bus ด้วยใยแก้วนำแสง
          สายใยแก้วนำแสงอาจถูกติดตั้งเพียงวงลูปเดียวหรือมากกว่าก็ได้
   
   

   รูปที่ 7 รูปแบบการเชื่อมต่อโดยมีสายใยแก้วนำแสง 2 วง

โครงการสร้างทางตรรกะของการเชื่อมต่ออาจแสดงได้จากรูปต่อไปนี้ ลอจิก “1” = ไม่มีแสง และลอจิก “0” = มีแสง
   

รูปที่ 8 การเชื่อมต่อภายในของ Bus Connection Module

 ข้อแนะนำการใช้สายใยแก้วนำแสงชนิดพลาสติก
          ประเภทคอนเน็กเตอร์  SC
          เส้นผ่านศูนย์กลาง    1 m
          ความยาวสูงสุด  30 m
          ความยาวคลื่นแสง  660 nm
          กำลังส่งทั่วไป  -13 dBm
          ความไวของตัวรับ  -20 dBm

ข้อแนะนำการใช้สายใยแก้วนำแสงชนิดแก้ว
          ประเภทคอนเน็กเตอร์ ST
          เส้นผ่านศูนย์กลาง  62.5/125 ?m
          ความยาวสูงสุด  2,000 m
          ความยาวคลื่นแสง  820-900 nm
          กำลังส่งทั่วไป  -13 dBm
          ความไวของตัวรับ  -24 dBm
 
          3. ข้อจำกัดในการติดตั้ง
          ในบางอุปกรณ์มาสเตอร์ที่ส่งอีเวนต์ไปยังระบบที่อยู่ระดับสูงกว่าโดยใช้โปรโตคอล ANSI X3.28 จำนวนแชนแนลสูงสุดต่อหนึ่งสเลฟจะถูกจำกัดที่ 127 แชนแนล

          ในอุปกรณ์มาสเตอร์จำนวนไอเท็มข้อมูลสูงสุดจะอยู่ที่  255 ไอเท็ม แต่โดยทั่วไปแล้วจะสูงสุดที่   99 หรือ 254ไอเท็ม

          สำหรับอุปกรณ์มาสเตอร์ควรที่สามารถตั้งเวลาในการรอการตอบสนองหรือไทม์เอาต์ (เช่น 50-500 ms) และเวลาสายอยู่สถานะว่าง (เช่น 0-10 ms) ค่าเวลาไทม์เอาต์ที่สามารถตั้งได้บางครั้งเป็นที่ต้องการเป็นอย่างสูงโดยเฉพาะกับสเลฟที่ตอบสนองช้า ระยะเวลาสถานะสายว่างคือระยะเวลาหน่วงระหว่างตัวอักขระตัวสุดท้ายที่สเลฟส่งและ เวลาที่เมสเสจถัดไปที่มาสเตอร์จะส่ง เวลานี้ต้องมากพอเพื่อให้ซอฟต์แวร์และฮาร์ดแวร์ของสเลฟพร้อมจากการส่งข้อมูลเปลี่ยนเป็นการรับข้อมูล

การส่งสตริงข้อมูลด้วยชุดอักขระพิเศษ
          เมสเสจของ SPA-bus ควรจะประกอบด้วยอักขระ ASCII ที่มองเห็นได้หรือพิมพ์ได้เท่านั้น ยกเว้นรหัส 0A, 0D และ 20 ถึง 7E ในอักขระที่พิมพ์ได้และใช้งานจำนวน 98 ตัว จะมี 11 ตัวที่ถูกจองโดย SPA-bus อย่างไรก็ตามอันที่จริงอุปกรณ์คอมพิวเตอร์สามารถใช้ได้ 256 ตัว เพื่อที่จะอนุญาตให้ส่งอักขระได้ 256 ตัวครบ จึงได้ใช้ค่าเลขรหัสของ ASCII ส่งไปแทนด้วยจำนวนสองอักขระซึ่งถูกนำหน้าโดยเครื่องหมาย ‘$’ ดังตัวอย่างข้างล่าง

* อักขระที่จองโดย SPA-bus
          เมสเสจ SPA-bus โดยปกติจะประกอบด้วยอักขระที่พิมพ์ได้ แต่ก็มีอักขระที่ถูกจองไว้สำหรับการควบคุมเมสเสจ, แบ่งส่วนเมสเสจ และจุดประสงค์กรณีพิเศษอื่น ๆ โดยอักขระที่จองไว้มีดังต่อไปนี้

การถ่ายโอนไฟล์สำหรับคอนฟิกกูเรชั่น (SPAFTR)
1. มาสเตอร์-> สเลฟ (การส่งไฟล์คอนฟิกกูเรชั่นไปยังสเลฟ)
* มาสเตอร์เริ่มต้นการถ่ายโอนไฟล์ด้วยการส่งเมสเสจดังต่อไปนี้
>ssW0M200:ID/Count:CCcr
โดยที่
ss = หมายเลขของสเลฟ
ID = ตัวชี้ของไฟล์
Count = จำนวนของบล็อก, แต่ละบล็อกจะมีขนาด 100 ตัวอักขระ และบล็อกสุดท้ายสามารถน้อยกว่า
     100 อักขระ
CC = เช็คซัม
ในกรณีที่มีความผิดพลาดจะมีรหัสผิดพลาดบ่งบอกในเมสเสจประเภท NACK ดังต่อไปนี้
- อุปกรณ์ไม่พร้อมถ่ายโอนไฟล์ N1
- ไม่มีไฟล์ตามที่ร้องขอ N6
- อุปกรณ์ไม่พร้อม/ไม่รับฟังก์ชั่นนี้ในโหมดการทำงานปัจจุบัน N7

* หลังจากนั้นมาสเตอร์จะส่งเมสเสจต่อไปนี้
>ssW0201:N/Datablock:CCcr
โดยที่
 N = หมายเลขบล็อก
- หลังจากเริ่มต้นการถ่ายโอนมาสเตอร์ต้องส่งบล็อกภายใน 10 วินาที
- ถ้าสเลฟไม่ได้รับบล็อกถัดไปภายใน 10 วินาที หลังจากที่มันส่งเมสเสจ ACK ให้กับบล็อกข้อมูลบล็อกที่แล้ว มันจะหยุดการรับถ่ายโอนไฟล์
- เวลาหน่วงต่ำสุดระหว่างสองเมสเสจอยู่ที่ 500 ms
- สเลฟต้องใส่ใจเกี่ยวกับหมายเลขบล็อก ดังนั้นถ้าบล็อกที่ถูกรับมีหมายเลขบล็อกผิดพลาดมันต้องถูกทิ้งไป
- เมื่อต้องการส่งไฟล์คอนฟิกกูเรชั่นไปยังสเลฟ มาสเตอร์ต้องส่งทั้งไฟล์ (เพื่อรักษาความปลอดภัย) ดังนั้น บล็อกแรกต้องเริ่มที่บล็อกหมายเลขหนึ่งเท่านั้น
   ในกรณีที่มีความผิดพลาด เมสเสจ NACK จะมีรายละเอียดดังต่อไปนี้
- บล็อกกำลังจะถูกส่ง (ไม่ว่าง) N1
- บล็อกพิเศษ (มีบล็อกส่งมากกว่าที่กำหนด)  N5
- สเลฟได้ยกเลิกการโอน (เวลาหน่วงมากกว่า 10s) N7
- หมายเลขบล็อกไม่ถูกต้อง N8
- ความยาวข้อมูลไม่ถูกต้อง N8
     หลังจาก N1 และ N8 มาสเตอร์สามารถส่งเมสเสจซ้ำได้ ส่วน N5 และ N7 บ่งบอกว่ามีบางสิ่งผิดพลาดที่ร้ายแรง มาสเตอร์ต้องเริ่มใหม่จากจุดเริ่มต้น

* หลังจากส่งถ่ายโอนไฟล์เสร็จเรียบร้อยมาสเตอร์จะส่งเมสเสจจบดังต่อไปนี้
>ssW0M2?2:ID:CCcr
 - เมสเสจจบต้องถูกส่งภายใน 10 วินาที หลังจากการ ACK ของบล็อกข้อมูลสุดท้าย
 - เมสเสจนี้จะทำหน้าที่ยืนยันการจบการถ่ายโอนไฟล์
 ในกรณีมีความผิดพลาดจะมีเมสเสจ NACK ดังต่อไปนี้
- บล็อกกำลังมา N1
- ID ของไฟล์ไม่ถูกต้อง N5
- ยังไม่ได้รับทุกบล็อก N6
- สเลฟได้ยกเลิกถ่ายโอน N7

หลังจาก N1 และ N8 มาสเตอร์ยังสามารถส่งใหม่ได้ ส่วน N5 และ N7 บ่งบอกว่ามีความผิดพลาดที่ร้ายแรงต้องเริ่ม ใหม่
  -  คอนฟิกกูเรชั่นใหม่จะถูกจัดเก็บไว้ในหน่วยความจำประเภทไม่สูญหายโดยใช้คำสั่งของ SPA หมายเลข V151
  -  คอนฟิกกูเรชั่นจะถูกนำมาใช้งานหลังจากมีการทำการรีเซตสเลฟ       

2. สเลฟ -> มาสเตอร์ (การอ่านคอนฟิกกูเรชั่นจากสเลฟ)
มาสเตอร์ส่งเมสเสจทำการเริ่มไปยังสเลฟ
>ssW1M200:ID/n:CCcr
โดยที่
ID = หมายเลขประจำไฟล์
N = บล็อกแรกที่ถูกอ่าน
  กรณีมีความผิดพลาด เมสเสจ NACK จะเป็นดังต่อไปนี้
- อุปกรณ์ไม่ว่าง N1
- ไม่มีไฟล์ที่มี ID ดังกล่าว N6
- บล็อกแรกที่ร้องขอไม่มี N6

* มาสเตอร์อ่านจำนวนบล็อก >ssR1M200:CCcr และสเลฟตอบกลับด้วยจำนวนบล็อกในไฟล์ เริ่มจากบล็อกแรกจนถึงบล็อกสุดท้าย
เมื่อมีข้อผิดพลาดจะมีเมสเสจ NACK ดังต่อไปนี้
- บล็อกกำลังมา N1
- สเลฟยกเลิกการถ่ายโอน N7
หลังจากรับ N1 มาสเตอร์สามารถส่งเมสเสจใหม่ได้

* มาสเตอร์อ่านบล็อกข้อมูล >ssR1M201:CCcr และสเลฟตอบด้วยบล็อกข้อมูล <ssD:N/datablock:CCcr
ถ้ามีความผิดพลาดจะมีเมสเสจ NACK ดังต่อไปนี้
- บล็อกกำลังมา N1
- ไม่มีบล็อกที่ร้องขอ N6
- สเลฟยกเลิกการถ่ายโอน N7
  หลังจากรับ N1 มาสเตอร์สามารถส่งเมสเสจใหม่ได้
- ถ้ามาสเตอร์ล้มเหลวในการรับบล็อกมันจะเริ่มต้นขอการถ่ายโอนไฟล์ใหม่
- การอ่านบล็อกข้อมูลใหม่สามารถส่งภายใน 500 ms หลังจากการรับบล็อกก่อนหน้านี้
- ถ้าบล็อกข้อมูลถัดไปไม่ถูกอ่านภายใน 10 วินาที หลังจากที่บล็อกล่าสุดได้ถูกอ่านสเลฟจะหยุดถ่ายโอนไฟล์และมาสเตอร์ต้องเริ่มอ่านข้อมูลใหม่อีกครั้ง แชนแนลหมายเลข 0 ถูกใช้สำหรับเขียนคอนฟิกกูเรชั่น และแชนแนลหมายเลข 1 ถูกใช้สำหรับการอ่านคอนฟิกกูเรชั่น

     หมายเลขบล็อกข้อมูลในเมสเสจรวมทั้งเมสเสจขอจบการถ่ายโอนไฟล์ต้องถูกตรวจสอบเป็นพิเศษ ถ้าสเลฟ/มาสเตอร์รับบล็อกข้อมูลที่มีหมายเลขผิดพลาด มันจะตีความว่ามีบางบล็อกข้อมูลหายไป การอ่านสามารถเริ่มและหยุดที่บล็อกใด ๆ ก็ได้ในไฟล์โดยไม่มีข้อจำกัด

การเขียนอนุญาตให้เริ่มที่บล็อกแรกจนถึงบล็อกสุดท้ายเท่านั้น มันเป็นไปไม่ได้ที่จะเขียนข้อมูลเพียงบางบล็อก การถ่ายโอนอนุญาตให้แบ่งเมสเสจให้เป็นส่วน ๆ ได้โดยใช้อักขระเชื่อมต่อที่ท้ายแต่ละส่วน ข้อมูลขนาดใหญ่ที่สุดจะจำกัดที่ 100 อักขระเพราะเมสเสจอาจยาวมากและทำให้การเข้าใช้บัสใช้เวลามากเกินไป       

สรุป
     SPA-bus เป็นโปรโตคอลที่มีความซับซ้อนไม่สูงมาก และมีจำนวนฟังก์ชั่นการทำงานไม่มาก แต่ก็ยังเป็นนิยมใช้ในระบบป้องระบบไฟฟ้าโดยเฉพาะผลิตภัณฑ์ของ ABB ดังนั้นผู้ดูแลระบบต้องมีความเข้าใจ SPA-bus โดยเฉพาะกรณีการเชื่อมต่อระบบจากหลาย ๆ ผู้ผลิต

     ในบทความต่อไปผู้เขียนจะกล่าวถึงโปรโตคอลที่ค่อนข้างซับซ้อนแต่เป็นที่นิยมสูงมากนั้นคือ โปรโตคอลอีเทอร์เน็ต (Ethernet) โปรดติดตามนะครับ

เอกสารอ้างอิง
1. J.E Goldman and P.T Rawles, Applied Data Communications. Addison-Wesley, New York,2001
2. J. Fulcher, An Introduction to Microcomputer Systems: Architecture and Interfacing. Addison-Wesley, Sydney,1989
3. S. Mackay, E. Wright, D. Reynders and .J Park, Practical Industrial Data Network: Design, Installation and Troubleshooting. IDC Technologies, Perth,2004
4. J.R. Vacca, High-speed Cisco Networks: Planning, Design, and Implemention. CRC Press LLC, Florida,2001   
5. ABB Substation Automation Oy, SPA-Bus Communication Protocol V2.5, Finland,1996

สงวนลิขสิทธิ์ ตามพระราชบัญญัติลิขสิทธิ์ พ.ศ. 2539 www.thailandindustry.com
Copyright (C) 2009 www.thailandindustry.com All rights reserved.

ขอสงวนสิทธิ์ ข้อมูล เนื้อหา บทความ และรูปภาพ (ในส่วนที่ทำขึ้นเอง) ทั้งหมดที่ปรากฎอยู่ในเว็บไซต์ www.thailandindustry.com ห้ามมิให้บุคคลใด คัดลอก หรือ ทำสำเนา หรือ ดัดแปลง ข้อความหรือบทความใดๆ ของเว็บไซต์ หากผู้ใดละเมิด ไม่ว่าการลอกเลียน หรือนำส่วนหนึ่งส่วนใดของบทความนี้ไปใช้ ดัดแปลง โดยไม่ได้รับอนุญาตเป็นลายลักษณ์อักษร จะถูกดำเนินคดี ตามที่กฏหมายบัญญัติไว้สูงสุด