隨著微處理器、計算機和數(shù)字通信技術(shù)的飛速發(fā)展,計算機控制已經(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)準,傳輸距離可達1000m。PLC經(jīng)過PID運算后控制加熱圈以保持溫度恒定。下面結(jié)合實例就PLC和單片機的通信實現(xiàn)做一下介紹。
2、硬件構(gòu)成 2.1、PIC16F877單片機Microchip公司的PIC16F877單片機采用哈佛總線結(jié)構(gòu)和精簡指令集技術(shù),具有功耗低、運行速度高、驅(qū)動能力強和外接電路簡潔的特點。PIC16F877單片機內(nèi)部集成了串行通信模塊即通用同步/異步收發(fā)器USART模塊,主要應(yīng)用目標(biāo)是系統(tǒng)之間的遠距離串行通信。USART模塊所需的兩條引腳是RC6和RC7,如圖1所示,當(dāng)發(fā)送允許位TXEN被置1,就可以把發(fā)送數(shù)據(jù)寫入TXREG寄存器來完成發(fā)送。
2.2、S7-200系列PLCS7-200系列PLC通信端口采用異步串行通信方式,通信端口標(biāo)準采用平衡驅(qū)動、差分接受的RS485接口標(biāo)準,可以組成半雙工串行通信網(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ù)通信時是很方便的。
2.3、MAX485E芯片MAX485E芯片是RS-485接口標(biāo)準專用通信芯片,如圖1所示,RO腳為數(shù)據(jù)輸出腳,它接收RS-485的差模信號VAB,并轉(zhuǎn)換為TTL電平由RO輸出,RE腳為RO的使能端,低電平時選通RO,輸出有效。DI腳為數(shù)據(jù)輸入端,它將TTL電平的數(shù)據(jù)轉(zhuǎn)換為差模信號VAB,并由A、B兩腳輸送出去,DE是DI使能端,高電平選通DI,輸入有效。故A、B兩腳既是RS-485信號輸入端,同時也是該信號的輸出端,關(guān)鍵是由使能端RE、DE的電平來決定。
2.4、硬件連接圖S7-200PLC采用RS-485接口標(biāo)準,接收差模信號,而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)準采用與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ā)送順序為低位在前,高位在后。