ระบบสื่อสารกับ Temperature controller 4
ครั้งที่แล้วผมว่าจะมาบอกเกี่ยวกับเรื่องของชุดคำสั่ง TXD และ RXD สองคำสังนี้พูดง่ายๆ ก็คือเขียนกับอ่านนั่นเองแต่เมื่อเราอ่านเขียนข้อมูลได้แล้วแต่การติดต่อสื่อสารนั้น เครื่องจักรจะส่งข้อความออกมาเป็นภาษาเครื่องและยากต่อการทำความเข้าใจ ดังนั้นจึงต้องมีการแปลภาษานั้นให้อยู่ในรูปแบบที่เข้าในได้ง่ายที่สุด ดังนั้นจึงต้องมีอีก สองคำสั่งที่ใช้ในงานนี้คือ FCS และ HEX มาดูกันดีกว่าว่าเราจะใช้งานคำสั่งนี้ได้อย่างไรบ้าง
คำสั่ง ASCII to HEX:HEX
|
คำสั่ง ASCII to HEX-HEX
เป็นคำสั่งที่ใช้ในการแปลงข้อมูลที่อยู่ในรูปของ ASCII ให้เป็น ASCII ในรูปแบบของเลขฐานสิบหกนั้นเอง เช่นมีข้อมูล 3530 เมื่อใช้คำสังนี้ค่าที่ได้จะกลายเป็น 50 ในรูปแบบของเลขฐานสิบหก สามารถดูตัวอย่างคำสั่งได้จากด้านล่างนี้ครับ
|
|
S : First source word เป็นตำแหน่งเริ่มต้นที่ใช้ในการเก็บค่า ASCII สามารถกำหนดในพื้นที่หน่วยความจำได้มากที่สุดประมาณ 3 Word
Di : Digit designator ใช้กำหนดว่าจะแปลงค่าจาก ASCII Code ที่ตำแหน่งใดโดยค่า Di สามารถกำหนดได้ดังนี้ |

|
จากที่ได้ทำส่วนมาผมจะกำหนดไว้ที่ #0032 นะครับแต่ใครอยากใช้แบบอื่นก็ได้นะครับไม่มีปัญหาทดลองได้ตามสบายครับเพราะกลับไปกลับมาก็ได้ค่าที่ถูกต้องเองแหละครับ
D : First Destination Word เป็นการกำหนดหน่วยความจำที่ใช้ในการเก็บค่าที่ได้จากการแปลงค่านั้นเอง
|
คำสั่ง Frame Check Sum : FCS
เป็นคำสั่งที่ใช้ในการทำ Exclusive OR สำหรับ Protocol ที่ได้กำหนดขึ้นมาใช้งานเช่น Protocol ที่อยู่ใน Temperature controller เป็นต้นรูปแบบของคำสั่งเป็นดังนี้ |
|
การกำหนดค่ามี 3 ตัวแปรดังนี้
C : First Control Word ต้องกำหนดดังนี้ |

|
ที่ตำแหน่ง C คือการกำหนดจำนวนเวิร์ด/ไบต์ที่ทำการแปลงให้กำหนดเป็นเลขฐาน 16 Hex
ที่ตำแหน่ง C + 1 จะใช้กรณีที่ต้องการส่งข้อมูลเป็น ไบต์(บิตที่ 13 on )
R1 เป็นการกำหนดตำแหน่งแรกของเวิร์ดที่ต้องการแปลง
D เป็นการกำหนดพื้นที่หน่วยความจำที่ใช้เก็บค่าที่ได้จากการคำนวน Frame Check Sum
เมื่อเรานำเอาคำสั่งและคำแนะนำจากบทความแรกจนถึงบทความนี้มารวมกันเราจะสามารถควบคุม Temperature controller ได้และสุดท้ายนี้ผมได้นำเอาตัวอย่างการเขียนโปรแกรมควบคุมมาให้ Down load กันครับ |
ท่านสามารถทำการ Dowwmload ไฟล์ตัวอย่างการอ่านค่าของ Temperature controller รุ่น E5CK ได้ที่นี่

|