單片機與PLC之間的串行通信實現(xiàn)_第1頁
單片機與PLC之間的串行通信實現(xiàn)_第2頁
單片機與PLC之間的串行通信實現(xiàn)_第3頁
單片機與PLC之間的串行通信實現(xiàn)_第4頁
單片機與PLC之間的串行通信實現(xiàn)_第5頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

單片機與PLC之間的串行通信實現(xiàn)導(dǎo)語:PLC經(jīng)過PID運算后控制加熱圈以保持溫度恒定。下面結(jié)合實例就PLC和單片機的通信實現(xiàn)做一下介紹。1、引言隨著微處理器、計算機和數(shù)字通信技術(shù)的飛速開展,計算機控制已經(jīng)擴展到了幾乎所有的工業(yè)領(lǐng)域。其中,PLC和單片機在小規(guī)??刂葡到y(tǒng)中獲得了廣泛的應(yīng)用。在塑料擠出機溫度自動控制中,選用S7-200系列PLC作為主控器件,PIC16F877單片機作為溫度數(shù)據(jù)采集和模數(shù)轉(zhuǎn)換芯片,單片機通過通信端口將數(shù)據(jù)傳輸給PLC,由于采用了RS-485接口標(biāo)準(zhǔn),傳輸距離可達(dá)lOOOmoPLC經(jīng)過PID運算后控制加熱圈以保持溫度恒定。下面結(jié)合實例就PLC和單片機的通信實現(xiàn)做一下介紹。2、硬件構(gòu)成PIC16F877單片機Microchip公司的PIC16F877單片機采用哈佛總線結(jié)構(gòu)和精簡指令集技術(shù),具有功耗低、運行速度高、驅(qū)動能力強和外接電路簡潔的特點。PIC16F877單片機內(nèi)部集成了串行通信模塊即通用同步/異步收發(fā)器USART模塊,主要應(yīng)用目標(biāo)是系統(tǒng)之間的遠(yuǎn)距離串行通信。USART模塊所需的兩條引腳是RC6和RC7,如圖1所示,當(dāng)發(fā)送允許位TXEN被置1,就可以把發(fā)送數(shù)據(jù)寫入TXREG寄存器來完成發(fā)送。S7-200系歹UPLCS7-200系列PLC通信端口采用異步串行通信方式,通信端口標(biāo)準(zhǔn)采用平衡驅(qū)動、差分接受的RS485接口標(biāo)準(zhǔn),可以組成半雙工串行通信網(wǎng)絡(luò),構(gòu)成分布式系統(tǒng),系統(tǒng)中最多可以有32個站。S7-200支持多種串行通信協(xié)議,利用自由端口模式,可以通過語句表或梯形圖編程,實現(xiàn)用戶定義的通信協(xié)議,很方便地連接不同廠家的智能設(shè)備。在自由端口模式下,可以連續(xù)地發(fā)送或接收255個字節(jié)以內(nèi)的數(shù)據(jù),這在大塊數(shù)據(jù)通信時是很方便的。MAX485E芯片MAX485E芯片是RS-485接口標(biāo)準(zhǔn)專用通信芯片,如圖1所示,R0腳為數(shù)據(jù)輸出腳,它接收RS-485的差模信號VAB,并轉(zhuǎn)換為TTL電平由R0輸出,RE腳為R0的使能端,低電平時選通R0,輸出有效。DI腳為數(shù)據(jù)輸入端,它將TTL電平的數(shù)據(jù)轉(zhuǎn)換為差模信號VAB,并由A、B兩腳輸送出去,DE是DI使能端,高電平選通DL輸入有效。故A、B兩腳既是RS-485信號輸入端,同時也是該信號的輸出端,關(guān)鍵是由使能端RE、DE的電平來決定。硬件連接圖S7-200PLC采用RS-485接口標(biāo)準(zhǔn),接收差模信號,而PIC16F877單片機的輸出為TTL電平,所以二者在通信時必須先進行轉(zhuǎn)換,本系統(tǒng)采用MAX485E芯片作為轉(zhuǎn)換芯片,硬件連接如圖1所示。由PIC16F877單片機的RC4選擇數(shù)據(jù)的輸入或輸出。圖1硬件連接圖3、通信協(xié)議本工程中由于PIC16F877單片機只是發(fā)送數(shù)據(jù),PLC單純接收數(shù)據(jù),所以采用單工串行通信。PLC采用自由端口模式協(xié)議,協(xié)議由語句表編程實現(xiàn);單片機使用USART模塊的異步發(fā)送模式,協(xié)議用匯編語言編程實現(xiàn)。由PIC16F877單片機的發(fā)送緩沖結(jié)構(gòu)可知,一次只能連續(xù)發(fā)送兩個字節(jié)的數(shù)據(jù),故PLC采用字符接收完成中斷比擬方便。接口標(biāo)準(zhǔn)采用與PLC側(cè)一致的RS-485,接頭采用9針D形連接器,傳輸線采用屏蔽雙絞線,單片機側(cè)的發(fā)送數(shù)據(jù)需經(jīng)轉(zhuǎn)換后再發(fā)送。字符信息格式為:1位起始位,8位數(shù)據(jù)位,無校驗位,1位停止位。異步通信的字符信息格式如圖2所示。圖2字符信息格式數(shù)據(jù)位的發(fā)送順序為低位在前,高位在后。異步通信的傳輸速率即波特率選擇為38400bit/so為提高數(shù)據(jù)傳輸?shù)目煽啃?,采用異或校驗,報文采用定長發(fā)送,前四個字節(jié)參加異或校驗,報文的最后一個字節(jié)為校驗碼。PIC16F877單片機的模數(shù)轉(zhuǎn)換精度為10位,故溫度值采用雙字節(jié)保存。報文幀格式如表1所示。表1報文幀格式4、初始設(shè)置4.1、PIC16F877單片機發(fā)送數(shù)據(jù)初始設(shè)置PIC16F877單片機內(nèi)部集成的USART模塊使用的波特率應(yīng)該和S7-200PLC相同,當(dāng)采用高速波特率時,波特率寄存器SPBRG由下式計算:SPBRG=F/(16&TImes;波特率)-1式中:F單片機時鐘頻率。單片機的數(shù)據(jù)位、校驗位、停止位要和PLC統(tǒng)一。PIC16F877單片機最多只能連續(xù)發(fā)送兩個字節(jié)的數(shù)據(jù)。其初始設(shè)置匯編語言程序如下:LISTP=16F877A;偽指令I(lǐng)NCLUDE“P16F877A.INC”;偽指令;體1設(shè)置子程序T1BCFSTATUS,RP1;BSFSTATUS,RPO;體1MOVLWDz57;38400bit/sMOVWFSPBRG;MOVLWB'00100100,;異步,發(fā)送使能MOVWFTXSTA;高速,8位數(shù)據(jù)MOVLWB7;RC6,RC7,MOVWFTRISC;RC4通信CLRFINTCON;禁止中斷RETURN;子程序返回;體0設(shè)置子程序TOBCFSTATUS,RPO;體0BSFPORTC,4;RC4=1通信MOVLWB'10000000,;使能串口RETURN;子程序返回4.2S7-200PLC接收數(shù)據(jù)初始設(shè)置CPU處于STOP模式時,自由端口模式被禁止,使用其它模式的通信,例如與編程設(shè)備的通信。只有CPU處于RUN模式時,才能使用自由端口模式。如果使用通信端口0通信,將通過特殊存儲器SMB30進行初始設(shè)置。Network1LDSM0.7//假設(shè)為RUN模式EU//上升沿OSMO.1〃或首次掃描MOVB16#01,SMB30//38400bit/s,8,N,1ATCHINTO,8〃中斷與into連接ENI//允許中斷Network!LDNSM0.7//假設(shè)非RUN模式EU//上升沿RSM30.0,1〃設(shè)置為PPI協(xié)議DTCH8//禁止中斷5、通信程序PIC16F877單片機發(fā)送數(shù)據(jù)通信程序報文采用定長發(fā)送,每一幀報文由五個字節(jié)組成,每一溫度值都經(jīng)數(shù)字濾波后再發(fā)送。由于溫度值變化緩慢,對通信的實時性要求較低,在發(fā)送數(shù)據(jù)通信程序中加入了較多的延時程序。由于波特率時鐘依賴于系統(tǒng)時基振蕩器,所以單片機進入睡眠狀態(tài)時不能進行異步通信。單片機發(fā)送N個測溫點溫度數(shù)據(jù)通信程序流程圖如圖3所示。圖3單片機程序流程圖S7-200PLC接收數(shù)據(jù)通信程序PLC采用字符接收完成中斷接收數(shù)據(jù),通過起始字節(jié)判斷接收數(shù)據(jù)幀的開始,由數(shù)據(jù)長度決定接收數(shù)據(jù)幀的結(jié)束,采用異或校驗提高接收數(shù)據(jù)的可靠性,S7-200PLC在接收完一幀數(shù)據(jù)后計算出接收到數(shù)據(jù)的異或校驗碼,并與單片機傳送過來的校驗碼比擬,如果不同就舍棄,不要求重發(fā)。本應(yīng)用中傳送數(shù)據(jù)為溫度值,舍棄后接收下一個數(shù)據(jù)即可。PLC接收數(shù)據(jù)通信程序流程圖如

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論