PLC與MC9S08PT60PB的PPI協(xié)議分析
摘要:PPI協(xié)議是西門子PLC的通信的幾種方式之中使用最廣泛通信協(xié)議,PLC與MC9S08PT60PB進行通信使用PPI協(xié)議,通過硬件與軟件編程實現(xiàn)PLC與MC9S08PT60PB之間的數(shù)據(jù)傳輸及指令傳達,硬件電路采用常用的SN75176芯片,軟件部分使用Code Warrior IDE來進行MC9S08PT60P程序的開發(fā)編譯,實現(xiàn)它們串口通信的應用,完成自動化控制。
關鍵詞:可編程邏輯控制器;MC9S08PT60PB;串口通信;PPI協(xié)議
0 引言
PLC(可編程程序控制器)是一種極為普遍的、應用于各種環(huán)境的工業(yè)控制器。西門子公司的PLC通過用戶存儲的應用程序來控制生產(chǎn)過程,具有可靠性高、穩(wěn)定性好、實時處理能力強、價格低廉等優(yōu)點。為工業(yè)自動化提供了幾乎完美的現(xiàn)代化自動控制裝置。但是PLC不具備鍵盤、顯示器等人機交互設備,不能實時地對控制參數(shù)進行修改及顯示系統(tǒng)的運行狀態(tài)。西門子公司的TD系列的文本顯示器價格昂貴而且在低溫下無法正常工作。另一方面,MC9S08PT60PB具有價格較低廉、使用方便、功能多樣等優(yōu)點。所以PLC可以和MC9S08PT60PB結(jié)合使用,以彌補PLC的缺陷。所以常常在一個控制系統(tǒng)中出現(xiàn)MC9S08PT60PB和PLC共存的情況,它們之間的通信應用就具有非常重要的現(xiàn)實意義。
1 PLC通信方式與MC9S08PT60PB芯片
PLC具有豐富的串行通訊方式,支持多種通信協(xié)議,如點對點接口協(xié)議(PPI協(xié)議)、多點接口協(xié)議(MPI協(xié)議)、PROFIBUS協(xié)議以及自由通信協(xié)議等。其中點對點接口協(xié)議是西門子公司研究開發(fā)的,是一種只需要在上位機中按照通信要求編程就可以實現(xiàn)數(shù)據(jù)傳輸?shù)耐ㄐ艆f(xié)議。
MC9S08PT60PB是Freescale公司產(chǎn)品系列中最新的8位MCU,它具有集成度高、外圍設備豐富、穩(wěn)定性高、開發(fā)周期短、成本低、兼容性好等特點而被廣泛應用。它更適合低功耗、高性能的使用環(huán)境,如便攜式電子產(chǎn)品。MC9S08PT60PB資源豐富是最為突出的性能,RAM內(nèi)存高達4kB,F(xiàn)LASH存儲器容量可達60kB,高度集成了4個串行通信端口(SCII、SCI2、SPI、IIC),最多達8個定時器、8通道的10位A/D轉(zhuǎn)換器。豐富的資源利于現(xiàn)場監(jiān)控系統(tǒng)通信。
2 PLC與MC9S08PT60PB通信的接口電路
西門子PLC的CPU上的通信接口是RS-485D型連接器,PLC輸出RS-485信號。系統(tǒng)采用MC9S08PT60PB微控制芯片,它的串行口輸出是TTL電平,實現(xiàn)PLC與MC9S08PT60PB之間的通信,需要進行RS-485與TTL電平的轉(zhuǎn)換。該轉(zhuǎn)換可以通過先將MC9S08PT60PB的串行口與SN75176芯片相接。SN75176芯片是TI公司的一款用于RS-485通信的低功耗半雙工收發(fā)器件,芯片內(nèi)部集成了一個驅(qū)動器和一個接收器,符號RS-485通信標準,具有高驅(qū)動能力。MC9S08PT60PB與S7-200 PLC的RS-485口進行通信,其硬件連接圖如圖1所示。
3 PPI通信協(xié)議的通信程序
3.1 PPI通信協(xié)議
PPI協(xié)議中上位機與PLC使用主從方式進行通信,上位機作為主設備,PLC作為從設備。上位機按照通信任務,向PLC發(fā)送一定格式的數(shù)據(jù)通信命令。PLC向上位機發(fā)出應答信號,這時上位機再向PLC發(fā)送確認命令,PLC收到確認命令后,開始執(zhí)行命令。完成通信任務。
MC9S08PT60PB中的程序是在Code Warrior IDE開發(fā)環(huán)境中完成的,由PC上位機下載到MC9S08PT60PB中之后,它作為主設備。PLC是被動通信,不需要編制通信程序。通信程序中主要包括:串口初始化命令、發(fā)送命令、接收命令MC9S08PT60PB使用的查詢方式,MC9S08PT60PB作為主站根據(jù)實際需要實時與PLC從站通信,完成通信數(shù)據(jù)的發(fā)送或接收。
3.2 MC9S08PT60PB與PLC中的PPI通信協(xié)議實現(xiàn)程序
3.2.1 初始化串口
評論