徐榮峰 田建春
(69010部隊(duì))
試析單片機(jī)與PLC之間的串行通信實(shí)現(xiàn)
徐榮峰 田建春
(69010部隊(duì))
本文首先對單片機(jī)和PLC的基本含義進(jìn)行簡要闡述;其次從接口電路設(shè)計、R S—232C串行通信接口的設(shè)置、通信協(xié)議設(shè)計三個方面入手,對單片機(jī)與PLC串行口通信接口電路及設(shè)置進(jìn)行探究;然后從發(fā)送命令幀格式、響應(yīng)幀格式兩方面,提出單片機(jī)與PLC串行口的通信過程,提出單片機(jī)與PLC的應(yīng)用措施。
單片機(jī);PLC;串行通信
在工業(yè)智能控制領(lǐng)域,廣泛應(yīng)用的設(shè)備有兩種,一種是單片機(jī),另一種就是PLC,但是單片機(jī)與PLC各自存在優(yōu)缺點(diǎn)。PLC是在單片機(jī)的原理上得出的產(chǎn)物,它的主要功能就是降低工程研發(fā)時間,和單片機(jī)相比,其具備的優(yōu)勢就在于操作方便,不需要運(yùn)用太多的電子方面的知識。單片機(jī)作為一個獨(dú)立的單片計算機(jī)系統(tǒng),性能方面存在較高的優(yōu)勢,且功能強(qiáng)大,可以滿足各個電氣控制的需求,但是,單片機(jī)具備開發(fā)困難、開發(fā)周期長、開發(fā)成本高等缺點(diǎn),而PLC控制器中沒有安裝鍵盤、顯示器等設(shè)備,因此不能對控制數(shù)據(jù)進(jìn)行顯示。
鑒于以上因素,針對多種控制任務(wù),假若將單片機(jī)與PLC進(jìn)行融合,各自發(fā)揮自身具備的優(yōu)勢,將會取得理想的結(jié)果。因此,要想實(shí)現(xiàn)上述功能,首先要就實(shí)現(xiàn)單片機(jī)與PLC之間的串行通信。本篇文章將重點(diǎn)對單片機(jī)與PLC之間的串行通信實(shí)現(xiàn)進(jìn)行全面的解析和探討。
單片機(jī)主要是借助超大規(guī)模集成電路技術(shù),將具備數(shù)據(jù)處理功能的設(shè)備集中整合構(gòu)建成一個微型的計算機(jī)控制系統(tǒng),其中具備數(shù)據(jù)處理功能的設(shè)備主要有中央處理器、數(shù)據(jù)儲存器、I/O口、中斷系統(tǒng)、定時器等。
PLC即是可編程邏輯控制器,它是具備編程功能的存儲器,其內(nèi)部設(shè)有存儲程序,一旦用戶發(fā)出運(yùn)算、控制、定時、保存等指令,可以利用數(shù)字或者模擬式輸入或輸出的方式來實(shí)現(xiàn)機(jī)械或者工業(yè)生產(chǎn)的控制。
3.1 接口電路設(shè)計
PLC設(shè)備提供了標(biāo)準(zhǔn)化的RS系列接口,電平邏輯為常規(guī)的EIA邏輯,而AT89C5型號1的電平邏輯和PLC并不兼容,主要為TTL或CMOS系列的電平邏輯,因此就需要進(jìn)行電平件的邏輯轉(zhuǎn)換處理。通常情況下,我們主要應(yīng)用MAX系列的串行通信芯片,這是因?yàn)槠渚哂袉纹呻p的驅(qū)動功能和接收功能。在進(jìn)行通信接口電路供電時,一般應(yīng)用單一+5V型號的電源,并在通信接口電路外部接入四支RS系列接口,從而實(shí)現(xiàn)TTL或CMOS系列的電平邏輯轉(zhuǎn)換。因此,TTL或CMOS系列的電平邏輯直接借助RS系列接口實(shí)現(xiàn)數(shù)據(jù)信號的輸送。
3.2 RS—232C串行通信接口的設(shè)置
(1)PLC串行口的設(shè)置
以松下電工FP1系列的PLC為例,利用安裝系統(tǒng)寄存器的方式來實(shí)現(xiàn)PLC串行口初始化處理,該串行通信接口格式主要以RS系列接口為主,其中,在進(jìn)行控制字各位設(shè)定時,可以將其設(shè)定為H00,也就是設(shè)計一個起始位置、設(shè)計八個數(shù)據(jù)位置、設(shè)計一個無校驗(yàn)以及設(shè)計一個停止位置。但是,在進(jìn)行No.414型號的寄存器安裝時,必須要應(yīng)用RS系列中型號為232C的接口,并在進(jìn)行控制字各位設(shè)定時,將其設(shè)定為H01,我們也可以將其稱之為計算機(jī)連接通信方式。
(2)單片機(jī)串行口的設(shè)置
在進(jìn)行單片機(jī)串行口的設(shè)置時,首先要在單片機(jī)內(nèi)部安置一個串行口,將TXD設(shè)置為數(shù)據(jù)的輸送位置,把RXD設(shè)置
為數(shù)據(jù)的接收位置。其中,該設(shè)備中主要被兩種型號的寄存器進(jìn)行控制,一種是SCON型號的寄存器,另一種是PCON型號的寄存器。在進(jìn)行軟件設(shè)置時,通信方式常采用的是標(biāo)準(zhǔn)異步通信。它是將單片機(jī)串行口設(shè)置成八個異步通信接口,這種方式主要應(yīng)用在點(diǎn)對點(diǎn)的單片機(jī)串行口中。每幀信息有十個位,包括一個起始位置、八個數(shù)據(jù)位置、一個停止位置。
3.3 通信協(xié)議設(shè)計
單片機(jī)與PLC之間的串行通信的工作原理是,借助單片機(jī)設(shè)備對PLC發(fā)送命令,PLC按照單片機(jī)設(shè)備下達(dá)的命令,進(jìn)行數(shù)據(jù)信息的傳送和接收,從而給機(jī)械或者工業(yè)生產(chǎn)提供數(shù)據(jù)參數(shù)。通信協(xié)議主要利用指令或接收等模式來實(shí)現(xiàn)數(shù)據(jù)的傳送,其中每幀字符不能高于三十個。
單片機(jī)設(shè)備傳送的數(shù)據(jù)流結(jié)構(gòu)模式分為六種:起始符、指令碼、元件首址、字節(jié)數(shù)、數(shù)據(jù)塊以及結(jié)束符。
(1)起始符
數(shù)據(jù)流中排在首位的字符,預(yù)示著單片機(jī)設(shè)備將要傳送數(shù)據(jù)。
(2)指令碼
單片機(jī)設(shè)備給PLC發(fā)送的執(zhí)行指令。其中發(fā)送的指令有兩種,一種是讀取指令,另一種是修改指令。
(3)元件首址
PLC內(nèi)部結(jié)構(gòu)中存在的元件型號和寄存器所在的位置,其中元件首址占據(jù)兩個字符。
(4)字節(jié)數(shù)
以元件首址為起點(diǎn),對PLC內(nèi)部結(jié)構(gòu)中所有數(shù)據(jù)信息進(jìn)行讀取和傳送,同時還要保證數(shù)據(jù)信息讀取和傳送的精準(zhǔn)性。
(5)數(shù)據(jù)塊
其占據(jù)字符數(shù)量不高于20個。
(6)結(jié)束符
主要是指指令結(jié)束,在PLC中占據(jù)一個字符。
在單片機(jī)與PLC串行口的通信過程中,單片機(jī)的串行接口處設(shè)有一個SBUF型號的數(shù)據(jù)寄存器,這個寄存器不僅具備數(shù)據(jù)傳送功能,同時還具備數(shù)據(jù)接收功能。在相同的條件下,單片機(jī)只要把想傳送的數(shù)據(jù)進(jìn)行輸入,并啟動設(shè)備,就可以實(shí)現(xiàn)數(shù)據(jù)的傳送,這時數(shù)據(jù)寄存器就會啟動接收功能進(jìn)行數(shù)據(jù)接收。當(dāng)PLC利用RS型號的接口來實(shí)現(xiàn)和單片機(jī)通信時,我們可以先讓單片機(jī)給PLC發(fā)送一個命令幀格式指令,并進(jìn)行數(shù)據(jù)的發(fā)送,當(dāng)PLC接收到指令后,會立即作出響應(yīng),這時單片機(jī)也會接收到PLC發(fā)送的響應(yīng)幀格式指令,并進(jìn)行數(shù)據(jù)的接收。這些通信過程都是由單片機(jī)來實(shí)現(xiàn),PLC不需要進(jìn)行通信程序的編制。
4.1 發(fā)送命令幀格式
在進(jìn)行通信時,首先需要單片機(jī)給PLC發(fā)送一個呼叫命令,其中包含一些特殊表碼或者呼叫字符等,發(fā)送命令幀格式見圖1:
圖1 發(fā)送命令幀格式
4.2 響應(yīng)幀格式
當(dāng)完成命令幀格式輸送后,PLC會及時給出響應(yīng),同時給單片機(jī)發(fā)送一個響應(yīng)幀格式指令,單片機(jī)接收PLC的響應(yīng)幀格式見圖2:
圖2 單片機(jī)接收PLC的響應(yīng)幀格式
PLC是在單片機(jī)的原理上得出的產(chǎn)物,是一種新型的科技產(chǎn)品。單片機(jī)作為一種合成電路,其可以建立多個應(yīng)用系統(tǒng),其結(jié)構(gòu)可以是大型的,也可以是小型或者微型的。通常情況下,單片機(jī)主要應(yīng)用C語言和匯編語言。單片機(jī)應(yīng)用范圍比較廣泛,但是在操作和維護(hù)上,都具有一定的難度,在PLC和單片機(jī)的性能角度來說,對于單項(xiàng)工程,通常應(yīng)用PLC,這是因?yàn)槠渚邆漭^高的成功率和較強(qiáng)的穩(wěn)定性,但是,成本比較高。對于大量配套工程,通常應(yīng)用單片機(jī),這是因?yàn)槠渚邆湫б婧谩⒊杀镜偷忍攸c(diǎn)。隨著我國科技發(fā)展逐漸加快,在單片機(jī)系統(tǒng)中融合PLC設(shè)備的各項(xiàng)性能,不僅可以給工程項(xiàng)目帶來更高的效益,還能發(fā)揮自身優(yōu)勢,取得理想的結(jié)果。
本文對單片機(jī)與PLC之間的串行通信作了較詳細(xì)的分析。這種串行通信技術(shù)具有結(jié)構(gòu)簡便、運(yùn)行牢靠、抗干擾等特點(diǎn),因此得到了工程項(xiàng)目的廣泛應(yīng)用。隨著我國科技的快速發(fā)展,人們增大了單片機(jī)與PLC之間的串行通信系統(tǒng)的研
發(fā)力度,將單片機(jī)與PLC進(jìn)行緊密融合,從而提供更好的應(yīng)用價值。
[1]李生軍,李少蒙.單片機(jī)與PLC之間的串行通信實(shí)現(xiàn)[J].化工自動化及儀表,2010(02):78-80.
[2]王宏超,吳亦鋒.CPM2AH PLC與STC89C52單片機(jī)之間的串行通信設(shè)計及其應(yīng)用[J].機(jī)電工程技術(shù),2010,39(9):35-36.
[3]武德慶.單片機(jī)與PLC串行通信數(shù)據(jù)傳輸模式實(shí)現(xiàn)[J].民營科技,2010(09):34.
[4]林慧文.分析單片機(jī)與PLC之間的串行通信實(shí)現(xiàn)[J].電子制作,2016(08):29.
[5]孫進(jìn),曹肖偉,丁靜,等.基于Modbus通信協(xié)議的PLC與CAN總線通訊[J].徐州工程學(xué)院學(xué)報(自然科學(xué)版),2016(1):77-80.
[6]張潔,馬鳳銘,徐穎.基于MODBUS協(xié)議的單片機(jī)與S7-200PLC串行通信的實(shí)現(xiàn)[J].鞍山師范學(xué)院學(xué)報,2013(04):15-19.
[7]曾素瓊,楊冬濤,曾靜玲,等.基于單片機(jī)的信號發(fā)生器設(shè)計[J].電腦與電信,2016(3):31-34.
The Realization of Serial Communication Between SCM and PLC
Xu Rongfeng Tian Jianchun
(69010Army)
tract】 This paper describes the SCM and PLC briefly;and then explores on the serial communication interface circuit between SCM and PLC from three aspects which are the interface circuit design,setup of the RS-232 c serial communication interface and communication protocol design.From the sending command frame format and the responsing frame format,it proposes the serial communication process between SCM and PLC,and proposes their application.
words】 microcontroller;PLC;serial communication
TP273
A
1008-6609(2016)09-0038-03
徐榮峰,男,湖北枝江人,本科,助理工程師,研究方向:無線電技術(shù),嵌入式系統(tǒng)開發(fā)。