PLC與MC9S08PT60PB的PPI協議分析
3. 2.2 報文格式
報文數據長度和重復數據長度為自上位機自己的地址至數據單元的數據長度,校驗碼為上位機自己的地址至數據單元數據的和校驗,只取其中的末字節值。在讀寫PLC的變量數據中,讀數據的功能碼為6CH,寫數據的功能碼為7CH。
對于一次讀取一個數據,讀命令都是33個字節。前面的0~21字節是相同的,0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21開始符長度長度開始符站號源地址功能碼協議識別遠程控制冗余識別冗余識別協議數據單元參考參數長度參數長度數據長度數據長度04讀05寫變量地址數。
字節22 23 24 25 26 27 28 29 30 31 32功能讀取長度數據個數存儲器類型偏移量校驗碼結束符。
字節22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40寫入位置及值長度個數類型偏移量位數值校驗碼結束符。
PPI協議上位機向PLC發送讀寫請求時的報文格式,每次讀一個數據:
length為讀取數據長度,01:one bit,02:one byte,04:one word(two bytos),06:one doub word(fourbytes);mem_flag為存儲器類型。01:V存儲器,00:其它;mem_type為存儲器類型,04:S,05:SM,06:AI,07:AQ,IE:C,81:I,82:Q,83:M,84:V,lF:Taddr為要讀取或寫入的地址值。如果為bit、Byte[32]=0x03 Byte[34]=0x01;byte數據,Byte[32]=0x0Byte[34]=0x08 Byte[35]為要寫入的值,Byte[36]為0x00,如果為word數據,Byte[35]和Byte[36]為要寫入的值Byte[32]=0x04;Byte[34]=0x10;Byte[35-38]就是寫入的值,Byte[39]=檢驗碼,Byte40=16H,結束。X0為校驗和。X1為寫入的值。

4 軟件流程設計
PPI通信流程圖如圖2所示。本文引用地址:http://www.j9360.com/article/153568.htm
程序首先執行初始化串口程序,完成串口輸入輸出狀態的設定、寄存器初始化等。然后開始PLC發送讀寫請求,MC9S08PT60PB接收到指令后,回復指令,然后讀寫數據,完成通信。
5 結論
PLC與MC9S08PT60PB利用了PPI串行通信很好的發揮PLC穩定可靠的性能、抗干擾能力強的優勢省略了PLC的通訊程序編寫,而且還發揮了
MC9S08PT60PB使用靈活、適應性強的優點,兩者相互結合取長補短。同時使用西門子公司的PPI協議解決了MC9S08PT60PB與PLC之間的數據交換問題。實踐證明該方法比自由口通信協議簡潔,使用方便,用途廣泛。
評論