發布日期:2022-04-22 點擊率:96 品牌:MCC
0 引言
PLC(可編程程序控制器)是一種極為普遍的、應用于各種環境的工業控制器。西門子公司的PLC通過用戶存儲的應用程序來控制生產過程,具有可靠性高、穩定性好、實時處理能力強、價格低廉等優點。為工業自動化提供了幾乎完美的現代化自動控制裝置。但是PLC不具備鍵盤、顯示器等人機交互設備,不能實時地對控制參數進行修改及顯示系統的運行狀態。西門子公司的TD系列的文本顯示器價格昂貴而且在低溫下無法正常工作。另一方面,MC9S08PT60PB具有價格較低廉、使用方便、功能多樣等優點。所以PLC可以和MC9S08PT60PB結合使用,以彌補PLC的缺陷。所以常常在一個控制系統中出現MC9S08PT60PB和PLC共存的情況,它們之間的通信應用就具有非常重要的現實意義。
1 PLC通信方式與MC9S08PT60PB芯片
PLC具有豐富的串行通訊方式,支持多種通信協議,如點對點接口協議(PPI協議)、多點接口協議(MPI協議)、PROFIBUS協議以及自由通信協議等。其中點對點接口協議是西門子公司研究開發的,是一種只需要在上位機中按照通信要求編程就可以實現數據傳輸的通信協議。
MC9S08PT60PB是Freescale公司產品系列中最新的8位MCU,它具有集成度高、外圍設備豐富、穩定性高、開發周期短、成本低、兼容性好等特點而被廣泛應用。它更適合低功耗、高性能的使用環境,如便攜式電子產品。MC9S08PT60PB資源豐富是最為突出的性能,RAM內存高達4kB,FLASH存儲器容量可達60kB,高度集成了4個串行通信端口(SCII、SCI2、SPI、IIC),最多達8個定時器、8通道的10位A/D轉換器。豐富的資源利于現場監控系統通信。
2 PLC與MC9S08PT60PB通信的接口電路
西門子PLC的CPU上的通信接口是RS-485D型連接器,PLC輸出RS-485信號。系統采用MC9S08PT60PB微控制芯片,它的串行口輸出是TTL電平,實現PLC與MC9S08PT60PB之間的通信,需要進行RS-485與TTL電平的轉換。該轉換可以通過先將MC9S08PT60PB的串行口與SN75176芯片相接。SN75176芯片是TI公司的一款用于RS-485通信的低功耗半雙工收發器件,芯片內部集成了一個驅動器和一個接收器,符號RS-485通信標準,具有高驅動能力。MC9S08PT60PB與S7-200 PLC的RS-485口進行通信,
3 PPI通信協議的通信程序
3.1 PPI通信協議
PPI協議中上位機與PLC使用主從方式進行通信,上位機作為主設備,PLC作為從設備。上位機按照通信任務,向PLC發送一定格式的數據通信命令。PLC向上位機發出應答信號,這時上位機再向PLC發送確認命令,PLC收到確認命令后,開始執行命令。完成通信任務。
MC9S08PT60PB中的程序是在Code Warrior IDE開發環境中完成的,由PC上位機下載到MC9S08PT60PB中之后,它作為主設備。PLC是被動通信,不需要編制通信程序。通信程序中主要包括:串口初始化命令、發送命令、接收命令MC9S08PT60PB使用的查詢方式,MC9S08PT60PB作為主站根據實際需要實時與PLC從站通信,完成通信數據的發送或接收。
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為寫入的值。
程序首先執行初始化串口程序,完成串口輸入輸出狀態的設定、寄存器初始化等。然后開始PLC發送讀寫請求,MC9S08PT60PB接收到指令后,回復指令,然后讀寫數據,完成通信。
5 結論
PLC與MC9S08PT60PB利用了PPI串行通信很好的發揮PLC穩定可靠的性能、抗干擾能力強的優勢省略了PLC的通訊程序編寫,而且還發揮了
MC9S08PT60PB使用靈活、適應性強的優點,兩者相互結合取長補短。同時使用西門子公司的PPI協議解決了MC9S08PT60PB與PLC之間的數據交換問題。實踐證明該方法比自由口通信協議簡潔,使用方便,用途廣泛。
下一篇: PLC、DCS、FCS三大控
上一篇: 索爾維全系列Solef?PV