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