SPA-bus เป็นโปรโตคอลที่ถูกออกแบบ โดยบริษัท ABB Stromberg เพื่อมาใช้งานเป็นระบบฟิลด์บัส (Field Bus) ในระบบป้องกันระบบไฟฟ้า และระบบควบคุมในงานเกี่ยวกับระบบไฟฟ้าแรงสูง ระบบจะประกอบด้วยอุปกรณ์สเลฟ (Slave) หลาย ๆ ประเภท เช่น รีเลย์ป้องกัน, คอนโทรลยูนิต (CU: Control Unit) และ อะลาร์มยูนิต (Alarm Unit) ที่ใช้บัสเพื่อเชื่อมต่อกับตัวมาสเตอร์ (Master)
การสื่อสารข้อมูลในงานอุตสาหกรรม |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
พิชิต จินตโกศลวิทย์ pichitor@yahoo.com |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
SPA-bus เป็นโปรโตคอลที่ถูกออกแบบ โดยบริษัท ABB Stromberg เพื่อมาใช้งานเป็นระบบฟิลด์บัส (Field Bus) ในระบบป้องกันระบบไฟฟ้า และระบบควบคุมในงานเกี่ยวกับระบบไฟฟ้าแรงสูง ระบบจะประกอบด้วยอุปกรณ์สเลฟ (Slave) หลาย ๆ ประเภท เช่น รีเลย์ป้องกัน, คอนโทรลยูนิต (CU: Control Unit) และ อะลาร์มยูนิต (Alarm Unit) ที่ใช้บัสเพื่อเชื่อมต่อกับตัวมาสเตอร์ (Master) |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
อย่างไรก็ตาม SPA-bus ยังสามารถถูกประยุกต์ใช้ในงานโอนย้ายข้อมูลระหว่างอุปกรณ์ในระบบไฟฟ้าโดยเฉพาะภายในสถานีย่อยไฟฟ้าของการไฟฟ้าและโรงงานอุตสาหกรรมขนาดใหญ่ |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
ข้อมูลทั่วไปของ SPA-bus |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
เมสเสจ (Message) บนบัสจะประกอบด้วยตัวอักขระประเภท ASCII บัสสื่อสารสามารถสนับสนุนจำนวนมาสเตอร์เพียง 1 มาสเตอร์เท่านั้น แต่สามารถมีสเลฟจำนวนหลาย ๆ สเลฟ จำนวนขึ้นอยู่กับช่วงเวลาการตอบสนองที่ระบบต้องการ |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
โครงสร้างพื้นฐานของโปรโตคอลโดยปกติจะกำหนดไม่ให้ตัวสเลฟสามารถเป็นฝ่ายเริ่มส่งข้อมูลไปยังมาสเตอร์หรือสเลฟตัวอื่นได้ ตัวมาสเตอร์จะเฝ้าตรวจสอบข้อมูลในเมสเสจของสเลฟ และสามารถร้องขอข้อมูลที่ต้องการจากสเลฟได้ มาสเตอร์สามารถส่งข้อมูลใด ๆ ไปให้สเลฟก็ได้ การร้องขอของมาสเตอร์สามารถทำได้โดยใช้วิธีการโพลลิ่ง (Polling) หรือส่งคำสั่งร้องขอเฉพาะช่วงเวลาที่มาสเตอร์ต้องการ |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
มาสเตอร์ร้องขอข้อมูลจากสเลฟโดยผ่านเมสเสจประเภทอ่านและส่งเมสเสจหรือข้อมูลไปยังสเลฟโดยใช้เมสเสจประเภทการเขียน ยิ่งกว่านั้นมาสเตอร์สามารถส่งข้อมูลหรือร้องขอให้ทำงานบางอย่างไปยังสเลฟทุกตัวพร้อมกันโดยใช้เมสเสจประเภทบรอดคาสต์ (Broadcast) เช่น การเข้าจังหวะเวลา ในสถานะที่บัสสื่อสารไม่แอกตีฟหรือไม่มีการสื่อสาร ไม่ว่าจะบนสายสำหรับส่งหรือรับ ระดับลอจิกของสัญญาณจะอยู่ที่ลอจิก 1 |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
2. คุณลักษณะของตัวสเลฟของ SPA-bus | ||||||||||||||||||||||||||
SPA-bus สนับสนุนการเชื่อมต่อสเลฟแบบมัลติดรอป (Multidrop) สเลฟสามารถมีหลายอินพุตและเอาต์พุต แต่ละอินพุตจะถูกเฝ้าตรวจสอบโดยการกำหนดช่วงของค่าและช่วงเวลาสแกน (Scan Time) การสแกนสัญญาณจะทำงานสอดคล้องกับสัญญาณนาฬิกาเวลาจริง (Real-time Clock) เพื่อทำการสแตมป์เวลา (Time Stamp) ณ เวลาที่เกิดเหตุการณ์ |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
ภายในสเลฟจะจัดสรรการทำงานเป็นส่วน ๆ ที่เกือบจะเป็นอิสระออกจากกันเรียกว่า แชนเนล (Channel) โดยทั่วไปแล้วแต่ละแชนแนลถูกกำหนดให้มีหนึ่งอินพุตและมีค่าเซตติ้งจำนวนหนึ่ง แชนแนลที่สามารถคอนฟิกได้จะถูกกำหนดตั้งแต่หมายเลขเริ่มที่หนึ่ง สำหรับข้อมูลกลางที่ใช้ร่วมกันจากทุก ๆ แชนแนลของสเลฟจะถูกจัดเก็บไว้ที่แชนแนลหมายเลข 0 |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
รูปที่ 1 รูปแบบคอนฟิกกูเรชั่นของแชนแนล |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
ในรูปที่ 1 ตัวสเลฟมี 4 แชนแนล โดยมีการกำหนดอินพุต (I1, I2,) และเอาต์พุต (O1, O2) ให้แก่แต่ละแชนแนลจากรูปสเลฟมีอินพุตทั้งหมดสี่อินพุตโดยมีหนึ่งอินพุตกำหนดให้แชนแนล 1, หนึ่งอินพุตกำหนดให้แชนแนล 2 และสองอินพุตกำหนดให้แชนแนล 3 สเลฟยังมีเอาต์พุตทั้งหมดสามเอาต์พุต สองเอาต์พุตถูกใช้ร่วมกันทุก ๆ แชนแนลโดยการกำหนดให้แชนแนลหมายเลข 0 |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
ในขณะที่อีกหนึ่งเอาต์พุตถูกควบคุมโดยแชนแนล 3 ในแชนแนล 1 ถูกกำหนดให้มีค่าเซตติ้ง 3 ค่า (S1, S2 และ S3) ในขณะที่แชนแนล 2 และ 3 ถูกกำหนดให้มีค่าเซตติ้ง จำนวน 2 ค่า ในแชนแนล 0 ถูกกำหนดให้สร้างอีเวนต์ประเภท L และ T ดังจะกล่าวรายละเอียดต่อไป |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
ฟอร์แมตของเมสเสจ | ||||||||||||||||||||||||||
1. ข้อมูลทั่วไป | ||||||||||||||||||||||||||
ในทุก ๆ เมสเสจจะประกอบด้วยอักขระ ASCII ที่สามารถพิมพ์ได้ เมสเสจที่ถูกส่งโดยมาสเตอร์จะเริ่มที่อักขระ “>” ในขณะที่เมสเสจของสเลฟจะเริ่มต้นด้วยข้อความ “lf<” ตัวมาสเตอร์จะจบเมสเสจด้วยอักขระ “cr” (0DH) ในขณะที่สเลฟจบด้วยข้อความ “crlf” (0DH และ 0AH) |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
ตัวสเลฟสามารถใช้อักขระ “&” เพื่อบ่งบอกว่าเมสเสจยังมีต่ออีกและจะต่อเนื่องเป็นบรรทัดใหม่บรรทัดถัดไป ความยาวสูงสุดของเมสเสจจะถูกเริ่มนับที่อักขระ “<” ถึงแม้เมสเสจของสเลฟจะเริ่มต้นด้วยข้อความ “lf<” (0DH และ 0AH) ก็ตามที |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
สเลฟสามารถใช้อักขระ “&” เพื่อบ่งบอกว่าเมสเสจมีความยาวมากและต้องขึ้นบรรทัดใหม่ ความยาวสูงสุดของเมสเสจจะถูกจำกัดอยู่ที่จำนวน 255 อักขระ ไม่มีข้อจำกัดของจำนวนบรรทัดตราบใดจำนวนอักขระนั้นยังไม่เกิน เมสเสจของมาสเตอร์โดยส่วนใหญ่จะใช้เพียงหนึ่งบรรทัดเท่านั้น เมสเสจของมาสเตอร์จะเป็นดังรูปต่อไปนี้ |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
เมสเสจของสเลฟจะเป็นดังรูปต่อไปนี้ | ||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
อีกรูปแบบเมสเสจของสเลฟนั้นคือมีการต่อเมสเสจ |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
โดยที่ความหมายแต่ละฟิลด์มีดังต่อไปนี้ |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
ตัวอักขระคั่นคือ “:” ซึ่งจะใช้แยกเมสเสจส่วนเฮดเดอร์ (Header) จากส่วนข้อมูล (Data) และส่วนเช็คซัม (Checksum) ออกเป็นส่วน ๆ ตามลำดับ |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
ตัวอย่างที่ 1 ค่าเซตติ้งที่ 1 ของแชนแนล 1 ของ สเลฟ 2 สามารถถูกร้องขอด้วยมาสเตอร์โดยใช้เมสเสจดังต่อไปนี้ >2R1S1:XXcr สเลฟจะตอบกลับด้วยเมสเสจดังต่อไปนี้ Id<2D:10.1/95:xx crlf |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
ตัวอย่างที่ 2 |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
ตัวอย่างที่ 3 |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
2. อักขระเริ่มและอักขระจบ |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
จำไว้ว่า |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
3. เฮดเดอร์ |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
* หมายเลขสเลฟ |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
* หมายเลขแชนแนล (Channel Number) | ||||||||||||||||||||||||||
หมายเลขแชนแนลถูกใช้อยู่ในรูปฐาน 10 ในช่วง 0-999 มีเพียงหนึ่งแชนแนลเท่านั้นในเวลาใดเวลาหนึ่งที่สามารถถูกร้องขอข้อมูล ถ้าข้อมูลที่เกี่ยวข้องกับหลายแชนแนลถูกร้องขอ ข้อมูลข่าวสารจะเกี่ยวข้องกับสตริงของหลายแชนแนลสามารถถูกร้องขอโดยการระบุหมายเลขของแชนแนลแรกและสุดท้ายในเมสเสจร้องขอ |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
ข้อมูลที่ใช้ร่วมกันกับทุกแชนแนลนั้นจะถูกจัดให้อยู่แชนแนล 0 การร้องขอข้อมูลไม่จำเป็นต้องระบุหมายเลขแชนแนลได้ เช่นเดียวกัน ถ้าสเลฟไม่มีแชนแนลอื่นมีแต่แชนแนล 0 หมายเลขก็ไม่จำเป็นต้องระบุ |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
ถ้ามีจำนวนหลาย ๆ แชนแนลยู่ภายในตัวสเลฟ แชนแนลจะถูกกำหนดหมายเลขเริ่มที่หมายเลข 1 ส่วนแชนแนล 0 จะถูกจับจองสำหรับการร้องขอที่เกี่ยวกับข้อมูลข่าวสารที่ใช้ร่วมกันในทุก ๆ แชนแนลของสเลฟ |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
* ประเภทแคตากอรี่ของข้อมูล (Data Category) อักขระ ASCII I,O,S,V,M,C,F,T,D,L,B หรือ A มีไว้สำหรับนิยามประเภทข้อมูลในทางตรรกะ |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
* หมายเลขข้อมูล (Data Number) |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
แล้วการร้องขอนั้นจะถูกตีความโดยปริยายว่าต้องการทุกข้อมูลทั้งหมดของแคตากอรี่นั้น (ไม่รวมไอเท็มข้อมูลที่ไม่ได้เรียงเป็นสตริง ดังนั้นถ้าสเลฟมีไอเท็ม S1, S2, S3, S4 และหมายเลขไอเท็มเฉพาะเช่น S10 และ S40 การร้องขอ >nnnRS:CCcr จะถูกตอบกลับด้วยข้อมูลเพียง S1-S4 เท่านั้น |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
4. เนื้อหาส่วนข้อมูล (Data Part Content) |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
ในบางเมสเสจอาจจะไม่มีข้อมูลในส่วนข้อมูล ดังนั้นส่วนเช็คซัมจะอยู่ถัดไปตามหลัง “:” หลังจากส่วนของเฮดเดอร์ |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
5. เช็คซัมและพาริตี้บิต (Checksum & Parity Bit) |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
ในแต่ละไบต์จะถูกทำให้สมบูรณ์โดยการเพิ่มบิตที่ 8 นั้นคือการทำพาริตี้คี่ (นั้นคือแต่ละไบต์จะมีจำนวนบิตที่มีค่าเท่ากับหนึ่งเป็นจำนวนคู่) และการทำเช็คซัมจะทำก่อนทำพาริตี้ |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
ประเภทของเมสเสจและ การใช้งาน |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
ประเภทเมสเสจที่สเลฟส่งไปให้มาสเตอร์ |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
2. การสื่อสารระหว่างมาสเตอร์และสเลฟ |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
ในกรณีที่พาริตี้หรือเช็คซัมผิดพลาด สเลฟจะไม่ทำการตอบสนองใด ๆ หรือตอบสนองด้วยเมสเสจประเภท N พร้อมด้วยรหัสความผิดพลาดหมายเลข 0 ถ้าสเลฟไม่ตอบสนองใด ๆ หรือตอบกลับด้วยเมสเสจประเภท N รหัสความผิดพลาด 0 มาสเตอร์จะพยายามส่งอีกครั้งจนกว่าสเลฟจะตอบกลับด้วยเมสเสจที่มันต้องการ หรือ ทำจนกว่าจะครบกำหนดจำนวนครั้งที่ตั้งไว้และตีความว่าสเลฟตัวนั้นมีปัญหา |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
เมสเสจที่ถูกส่งโดยสเลฟจะไม่ต้องถูกตอบกลับโดยมาสเตอร์ ถ้ามาสเตอร์ตรวจพบข้อผิดพลาดในเมสเสจที่สเลฟส่งมา มาสเตอร์จะทำการร้องขอหรือส่งใหม่ |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
โดยพื้นฐานแล้ว การสื่อสารจะถูกแบ่งออกเป็นสองกลุ่มแคตากอรี่ |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
* ข้อมูลอ่านจากสเลฟ |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
ตัวอย่าง เมื่อมาสเตอร์ต้องการอ่านค่าเซตติ้ง 3 ของ แชนแนล 1 ของสเลฟ 14 เมสเสจจะถูกส่งดังต่อไปนี้ : มาสเตอร์ร้องขอ : >14R1S3:XXcr สเลฟตอบกลับ : lf<14D:10.1:XXcrlf |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
* ข้อมูลเขียนไปยังสเลฟ ข้อมูลเขียนตรงไปยังสเลฟ มาสเตอร์ สเลฟ 1. มาสเตอร์ส่งข้อมูลไปยังสเลฟ W-----------------------------------> 2. สเลฟตอบรับข้อมูล <-- -------------------------------- A |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
ตัวอย่าง |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
ตัวอย่าง |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
3. เนื้อหาของแต่ละเมสเสจ |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
เมสเสจที่ไม่มีข้อมูลจะมีรูปแบบดังต่อไปนี้ |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
* เมสเสจประเภท W (Write) |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
ในส่วนข้อมูลของเมสเสจจะใช้แค่เพียงหนึ่งหลักเป็นตัวบ่งชี้สาเหตุการตอบรับเชิงลบ (รหัสความผิดพลาด) |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
2=เกิดโอเวอร์โฟลว (Overflow) ในสเลฟอินพุตบัฟเฟอร์ (Input Buffer) |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
4= สงวนไว้สำหรับการสื่อสารขั้นสูง |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
6= สเลฟไม่มีทุกข้อมูลที่ร้องขอ |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
เมสเสจประเภท N จะมาพร้อมรหัสความผิดพลาดหมายเลข 7 ที่สามารถใช้ในการตอบกลับเมสเสจประเภท W ที่ต้องการเขียนข้อมูลแต่ตำแหน่งที่เขียนไม่สามารถเขียนค่าใหม่ได้หรือไม่มีอยู่จริง |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
เมสเสจประเภท N ด้วยรหัสความผิดพลาดหมายเลข 7 สามารถใช้ตอบเมสเสจประเภท R ถ้าตำแหน่งข้อมูลต้องการอ่านมีอยู่และสามารถเขียนได้แต่ไม่สามารถถูกอ่านได้ |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
8 = ข้อมูลในเมสเสจประเภท W ไม่ถูกต้อง |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
4. เมสเสจนาฬิกา (Clock Message) | ||||||||||||||||||||||||||
* นาฬิการะดับวินาที (Second Clock) เพื่อการเข้าจังหวะเวลาของนาฬิกาเวลาจริงของสเลฟด้วยนาฬิกาของมาสเตอร์ มาสเตอร์ต้องส่งเวลาโดยใช้เมสเสจประเภท W โดยอาจจะใช้หมายเลขบรอดคาสต์ รูปแบบเมสเสจนาฬิกา : >900WT:xx.xxx:CCcr เพื่อที่ชดเชยความล่าช้าในการสื่อสาร มาสเตอร์จะไม่ส่งเวลา ณ ตำแหน่งการส่งข้อมูลอักขระตัวแรก แต่จะคำนวณหาเวลา ณ ตำแหน่งที่อักขระตัวสุดท้ายที่ถูกรับโดยตัวสเลฟ |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
* วันที่และเวลา เพื่อที่จะเข้าจังหวะเวลากับสเลฟทั้งข้อมูลวันและเวลา มาสเตอร์อาจจะส่งเมสเสจบรอดคาสต์ดังรูปแบบต่อไปนี้ >900WD:yy-mo-dd hh. mm ; SS.SSS:CCcr เมสเสจนี้มักถูกส่งทุก ๆ 10-60 วินาที แต่ก็ขึ้นกับผู้ติดตั้งระบบ |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
การถ่ายโอนข้อมูลโดยเมสเสจ 1. แคตากอรี่ข้อมูล ข้อมูลที่ส่งโดยแต่ละสเลฟจะถูกจัดลงในแคตากอรี่ใดแคตากอรี่หนึ่ง ดังต่อไปนี้ |
||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
ทุกสเลฟไม่ได้สนับสนุนข้อมูลทุกแคตากอรี่ ขึ้นอยู่กับประเภทของสเลฟ ข้อมูลในแคตากอรี่ C, F, T, D, L, B และ A จะอยู่เฉพาะบนแชนแนล 0 เท่านั้น ส่วนแคตากอรี่ I, O, S, V และ M จะอยู่ได้ทั้งแชนแนล 0 และแชนแนลหมายเลขอื่น ๆ |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
2. ข้อมูลสามารถอยู่ในหลาย ๆ แคตากอรี่ |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
ตัวแปรภายใน V: |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
ข้อมูลในหน่วยความจำ M: |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
ฟอร์แมตสำหรับการแสดงข้อมูลของกลุ่ม I, O, S และ V: |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
ข้อมูลตัวเลขจะเป็นเลขฐาน 10 และจุดทศนิยม รวมทั้งเครื่องหมาย “+” หรือ “-” ความยาวของจำนวนเต็มจะมีตั้งแต่ 1-10 หลัก ส่วนของจุดทศนิยมจะสามารถมีความยาวตั้งแต่ 0-10 หลักเช่นกัน |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
กฎทั่วไปสำหรับการส่งข้อมูลตัวเลขไปยังสเลฟ - อย่างน้อยต้องมีหนึ่งหลักในส่วนจำนวนเต็มเสมอ - เอาเลขศูนย์ที่ไม่มีนัยสำคัญออกจากส่วนจำนวนเต็ม - เอาเลขศูนย์ที่ไม่มีนัยสำคัญออกจากส่วนทศนิยม - เอาจุดทศนิยมออกถ้ามันไม่มีนัยสำคัญ - ถ้ามีจุดทศนิยม จุดนั้นต้องไม่เป็นอักขระแรกหรืออักขระสุดท้ายของตัวเลข |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
ตัวอย่าง มาสเตอร์ไม่ควรส่งตัวเลขในรูปแบบดังต่อไปนี้: 00120, 00.5, .6, 7., 8.00 มาสเตอร์ควรส่งตัวเลขแบบดังต่อไปนี้ : 120, 0.5, 0.6, 7, 8 |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
บันทึกไว้ว่า |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
ถ้าจำนวนของเลขศูนย์ที่นำหน้า มีความนัยสำคัญต่อสเลฟ (เช่น จำนวนของเลขศูนย์บ่งบอกความละเอียดของค่าเซตติ้ง) มันต้องมีคู่มือเอกสารกำกับในแต่ละประเภทสเลฟ การจัดการปัญหาในสถานการณ์แบบนี้ มาสเตอร์ควรสามารถส่งคำสั่งระบุจำนวนเลขศูนย์นำหน้าที่ต้องการให้สเลฟรับรู้ก่อนหน้า |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
รูปแบบการแสดงข้อมูลของแคตากอรี่ M: |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
* ข้อมูลประเภทแคตากอรี่ F, T, D และC |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
เวลา (Time) T: เวลาจะถูกส่งในเมสเสจโดยใช้ฟอร์แมตดังต่อไปนี้ |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
วันและเวลา (Date and Time) D: |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
สถานะสเลฟ (Slave Status) C: | ||||||||||||||||||||||||||
สถานะสเลฟโดยปกติจะใช้สองบิตในการแทนค่าสถานะ ภายในเมสเสจค่าที่จะเป็นได้คือ 0, 1 ,2 หรือ 3 |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
สถานะบิตที่ 1: บ่งบอกว่า อีเวนต์บัฟเวอร์เกิดการโอเวอร์โฟลว (Event Buffer Overflow) เมื่อบิตนี้ถูกเซต (C=2 หรือ C=3) สเลฟจะส่งข้อมูลสถานะในเมสเสจตอบการร้องขออีเวนต์เสมอ ดังเช่น xx.xxx E51 จนกระทั่งบิตนี้ถูกเคลียร์ มาสเตอร์ต้องเคลียร์บิตนี้ด้วยการส่งเมสเสจ >nWC:0:CCcr สืบเนื่องจากโอเวอร์โฟลวโดยปกติแล้วสเลฟจะหยุดการเพิ่มอีเวนต์ลงในบัฟเฟอร์ และบิตต้องถูกเคลียร์เพื่อให้บัฟเฟอร์รีเซตกลับมาทำงานในสถานะปกติ |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
* ข้อมูลแคตากอรี่ L และ B |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
อีเวนต์ล่าสุดจากบัฟเฟอร์สำรอง (การร้องขอซ้ำ) B: |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
* รูปแบบของอีเวนต์มาร์กกิ้ง (Event Marking) | ||||||||||||||||||||||||||
อีเวนต์มาร์คกิ้งจะมีรูปแบบดังต่อไปนี้ <time> <space> <channel number> <letter E> <event number> โดยที่ <time> = หลักสิบของวินาที, วินาที, 1/10 วินาที, 1/100 วินาที และ 1/1000 วินาที <space> = ตัวคั่น <Channel number> = หมายเลขแชนแนลที่เกี่ยวข้องกับอีเวนต์ ความยาวของแชนแนลจะมีตั้งแต่ 0-3 หลัก ถ้าหมายเลขแชนแนลเท่ากับ 0 มันสามารถถูกเพิกเฉยไม่ต้องระบุได้ <letter E> = ตัวคั่น <event number> = ความยาวของหมายเลขอีเวนต์อยู่ที่ 1 หรือ 2 หลัก หมายเลขจะอยู่ในช่วง 0-63 ตัวอย่าง ถ้าแชนแนลสำหรับอะลาร์มของอะนาลอก 23 ถูกกำหนดด้วยขอบเขตลิมิตจำนวน 2 ค่า อีเวนต์ของแชนแนล 5 จะถูกเข้ารหัส ดังตัวอย่างต่อไปนี้ |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
รหัส 5E1 มีความหมายว่า แชนแนล 5 สัญญาณต่ำกว่าลิมิตที่ 1 |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
ตัวอย่าง อีเวนต์ของแชนแนล 5 ที่เวลา 10.236 วินาที จะมาด้วยรหัสอีเวนต์ E2 และอีเวนต์อีกตัวของแชนแนลเดียวกันที่เวลา 11.555 วินาที มาด้วยรหัสอีเวนต์ E4 จะถูกจัดให้อยู่ในเมสเสจประเภท D ดังต่อไปนี้: |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
* อีเวนต์อะนาลอก (Analog Event) |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
ตัวอย่าง: 10.234 5Q6 5.05 |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
* การลงหมายเลขของอีเวนต์ (Numbering of Events) |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
E50: สเลฟรีเซตหรือฮาร์ดแวร์ หรือ โปรแกรมมีความผิดพลาด มีผลอาจทำให้อีเวนต์สูญหาย |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
บันทึกไว้ว่า |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
* ข้อมูลแคตากอรี่ A (Data Category A) | ||||||||||||||||||||||||||
เมื่อสเลฟถูกร้องขอข้อมูลประเภท A สเลฟจะตอบสนองโดยการส่งอีเวนต์มาร์กกิ้งของอะลาร์มโดยไม่รวมข้อมูลเกี่ยวกับเวลา สเลฟจะตรวจสอบทุกสาเหตุที่ทำให้เกิดอะลาร์มและสร้างมาร์กกิ้งของอะลาร์มที่ถูกต้องบนพื้นฐานการตรวจสอบข้อมูลข่าวสาร |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
ผลต่อเนื่อง ถ้ายังคงอยู่อะลาร์มสถานะแอกตีฟ มันจะปรากฏในเมสเสจข้อมูลที่ตอบการร้องขอแคตากอรี่ A ดังที่แสดงต่อไปนี้: | ||||||||||||||||||||||||||
lf <23D:5E2/5E4:CCcrlf |
||||||||||||||||||||||||||
. | ||||||||||||||||||||||||||
ข้อมูลประเภท A สามารถถูกใช้เพื่อออกรายงานของอะลาร์มจากมาสเตอร์ หรือเพื่ออัพเดตรายงานของอะลาร์มในมาสเตอร์ อันที่จริงแล้วข้อมูลประเภทนี้มีประโยชน์สำหรับตัวสเลฟที่เป็นตัว Annunciator ส่วนสเลฟประเภทอื่น ๆ อาจจะให้หรือไม่ให้ข้อมูลประเภทนี้ก็ได้ |
สงวนลิขสิทธิ์ ตามพระราชบัญญัติลิขสิทธิ์ พ.ศ. 2539 www.thailandindustry.com
Copyright (C) 2009 www.thailandindustry.com All rights reserved.
ขอสงวนสิทธิ์ ข้อมูล เนื้อหา บทความ และรูปภาพ (ในส่วนที่ทำขึ้นเอง) ทั้งหมดที่ปรากฎอยู่ในเว็บไซต์ www.thailandindustry.com ห้ามมิให้บุคคลใด คัดลอก หรือ ทำสำเนา หรือ ดัดแปลง ข้อความหรือบทความใดๆ ของเว็บไซต์ หากผู้ใดละเมิด ไม่ว่าการลอกเลียน หรือนำส่วนหนึ่งส่วนใดของบทความนี้ไปใช้ ดัดแปลง โดยไม่ได้รับอนุญาตเป็นลายลักษณ์อักษร จะถูกดำเนินคดี ตามที่กฏหมายบัญญัติไว้สูงสุด