技術頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網 > 技術頻道 > 技術百科 > 基于RS485總線的分布式PLC監(jiān)控系統(tǒng)通信設計

基于RS485總線的分布式PLC監(jiān)控系統(tǒng)通信設計

時間:2018-01-30 11:11:59來源:網絡轉載

導語:?隨著計算機與通信技術的發(fā)展,PLC各種模塊的多樣化和信息化,由PLC作為基本控制單元的分布式控制系統(tǒng)在自動化領域中廣泛應用

0引言

隨著計算機與通信技術的發(fā)展,PLC各種模塊的多樣化和信息化,由PLC作為基本控制單元的分布式控制系統(tǒng)在自動化領域中廣泛應用,迫切需要一種總線能適合遠距離的數字通信。在RS422標準的基礎上,EIA研究出了一種支持多節(jié)點、遠距離和接收高靈敏度的RS485總線標準。EIA曾經在它所有標準前面加上RS前綴(英文RcommendeStandard的縮寫),因此許多工程師一直沿用這種名稱,因為RS485的遠距離(1200m)、多節(jié)點(32)以及傳輸線成本低的特性,使得EIA的RS485成為工業(yè)應用數據傳輸的首選標準。

我廠18條電動執(zhí)行機構調試線,分布在三個廠房的若干區(qū)域,每個調試線由一臺PLC與HMI控制,為了將調試數據歸口管理,并判斷調試結果的正確性,對調試線進行監(jiān)控,18臺PLC通過RS485總線與計算機連接起來,構成一個分布式監(jiān)控系統(tǒng),通過數據通信使計算機和PLC實現(xiàn)數據共享,完成對調試過程的集中管理和分散控制。計算機與PLC各個子站的的通信是系統(tǒng)的重要環(huán)節(jié),本文詳細論述了基于RS485總線,利用VB開發(fā)了上位機通信系統(tǒng),編寫了PLC自由口的通訊協(xié)議的設計與實際應用方案。可以借鑒為各種上位機、PLC、HMI等通信系統(tǒng)設計的應用范例,同時可作為檢測技術、自動化設計等課程的工程項目訓練與教學的平臺。

1RS485網絡構成

RS485標準采用有平衡式發(fā)送,差分式接收的數據收發(fā)器來驅動總線,與RS422一樣,可以將多個(最多為32個)RS485接口互連,而其連接更簡單,只需將各個接口的“+”端和“+”端相連、“-”端和“-”端相連,連接的兩根線就是RS485的“物理總線”。這些相互連接的RS485接口的物理地位完全平等,在邏輯上取一個為主導地位,其他為從屬地位。在通信時,同樣采用主呼叫,從應答的方式。

控制系統(tǒng)的硬件構成如圖1所示,上位機為計算機,下位機采用西門子公司S7-200系列PLC,各PLC通過通信口0直接掛在RS485總線上,上位機通過RS232/485轉換器與RS485總線相連,形成1:N通信方式??刂葡到y(tǒng)中,上位機的主要任務是獲取調試線上的數據信息,完成對調試過程的監(jiān)控。下位機的主要任務是對調試過程進行自動控制,將調試數據發(fā)送給上位機,并按上位機命令執(zhí)行。

基于RS485總線的分布式PLC監(jiān)控系統(tǒng)通信設計

圖1網絡圖

2計算機與PLC的通信

上位機與PLC的通信實際上是計算機與PLC的通信模塊之間交換命令和響應,下位機具有初始傳送優(yōu)先權,將所有調試數據發(fā)送給上位機,上位機根據收到的數據判斷哪個調試線發(fā)出的數據,對數據分析后響應回傳數據與命令,下位機只接收發(fā)送給自己的數據。通信以“幀”為單位進行,幀分為數據幀和響應幀兩種。數據幀由PLC發(fā)送給上位機;響應幀為上位機接到數據幀后自動向PLC發(fā)出的命令與判斷信號所有的指令碼、字符和數據均以十六進制碼發(fā)送和接受。

S7-200系列PLC通信模式有兩種:一種是點對點(PPI)通信協(xié)議,用于PLC與其編程器或西門子公司的人機接口產品之間的通信;另一種是對用戶完全開放的自由口模式(freeportmode),由用戶自行規(guī)定通信的協(xié)議。PPI模式只能在PLC停止方式(STOP)下通信,而自由口模式只能在PLC運行方式(Run)下通信,我們采用自由口通信方式在進行通信之前,應先對串口初始化。對S7-200PLC的初始化是通過設置特殊標志位SMB30來實現(xiàn)的。

2.1PLC的發(fā)送指令

發(fā)送S7200系列PLC有專門的發(fā)送指令用于發(fā)送數據,格式為:

XMTTABLEPORT

XMTTABLEPORTTABLE為發(fā)送數據的字節(jié)數即數據長度,最大為255。而要發(fā)送的數據必須存儲在TABLE的后面。如TABLE的存儲區(qū)域為VB600,要發(fā)送“MESSAGE”的數據存儲形式如圖2所示。PORT指定通信口,本項目設為0。當正在發(fā)送數據時,PLC特殊標志位SM4.5為0;發(fā)送完后,SM4.5為1。因此可通過判斷SM4.5的狀態(tài)來進行發(fā)送后處理。

基于RS485總線的分布式PLC監(jiān)控系統(tǒng)通信設計

圖2PLC發(fā)送信息

如果有一個中斷服務程序連接到發(fā)送結束事件上,在發(fā)送完緩沖區(qū)中的最后一個字符時,則會產生一個中斷(對端口0為中斷事件9,對端口1為中斷事件26)。

2.2PLC接收指令

接收指令的格式為:RCVTABLEPORT

接收指令使您能夠接收一個字節(jié)或多個字節(jié)的緩沖區(qū),最多為255個。圖3給出了接收緩沖區(qū)的格式。如果有一個中斷服務程序連接到接收信息完成事件上,在接收完緩沖區(qū)中的最后一個字符時,S7-200會產生一個中斷(對端口0為中斷事件23,對端口1為中斷事件24。)也可以不使用中斷,通過監(jiān)視SMB86(端口0)或者SMB186(端口1)來接收信息。當接收指令未被激活或者已經被中止時,這一字節(jié)不為0;當接收正在進行時,這一字節(jié)為0。

基于RS485總線的分布式PLC監(jiān)控系統(tǒng)通信設計

圖3接收信息

2.3特殊寄存器及相關的位

SMB30控制自由端口0的通訊方式,SMB130控制自由端口1的通訊方式。您可以對SMB30和SMB130進行寫和讀。如表1所示,這些字節(jié)設置自由端口通訊的操作方式,并提供自由端口或者系統(tǒng)所支持的協(xié)議之間的選擇。

通信接收字符緩沖器SMB2:SMB2是一個暫態(tài)寄存器,用于存放在自由口通信方式下接收到的當前字符,用戶在下一步應從這里取走其中的內容,通過編程控制將接收到的字符一個一個由SMB2移入接收緩沖區(qū)。

通信校驗結果標志位SMB3.0:PLC按SMB30規(guī)定的奇偶校驗方式對所接收到的數據作校驗。如果校驗有錯,PLC自動將SMB3.0置1,SM3.0=0表示奇偶校驗正確。根據這個標志,可決定對當前信息的取舍,還可以在出錯的情況下,將此錯誤位發(fā)送給對方,以便要求它重發(fā)。

工作方式標志位SM0.7:57-200系列PLC只有處于運行(RUN)方式時才能進行自由口模式通信,而在停止(ST6P)方式時只能以PPI模式通信。當PLC處于RUN方式時SM0.7=1,否則SM0.7=0,因此可通過判斷SM0.7的狀態(tài)來打開或關閉自由口通信。

發(fā)送器空標志SM4.5及收發(fā)指令:當正發(fā)送數據信息時,特殊存儲器位SM4.5=0,當發(fā)送完成后,SM4.5=1,因此可通過判斷SM4.5的狀態(tài)來進行發(fā)送后處理,也可直接用發(fā)送中斷來處理。

基于RS485總線的分布式PLC監(jiān)控系統(tǒng)通信設計

表1特殊存儲器字節(jié)SMB30

3上位機程序設計

在Windows環(huán)境下,實現(xiàn)上位機與PLC的數據通訊,有多種軟件開發(fā)平臺可以使用,VisualBasic編寫通信軟件十分方便,編程工作量小,可視化程度高,尤其是提供了通信控件MSComm,可方便地實現(xiàn)與多臺PLC間的通信。MSComm控件有很多重要屬性,其中最重要的幾個是:

(1)CommPort:設置并返回通信口號;

(2)SetTIngs:以字符串的形式設置并返回波特率、校驗方式、數據位和停止位;

(3)PortOpen:設置并返回通信端口的狀態(tài)(打開或關閉一個通信口);

(4)InBufferCount:返回接收緩沖區(qū)收到的字節(jié)數;

(5)Input屬性:從接收緩沖區(qū)讀取數據;

(6)Output屬性:向傳送緩沖區(qū)寫一個字符串。

計算機與PLC的通信過程流程圖如圖5所示,下面為計算機與5號站PLC的主要通信程序。

3.1初始化通信口

PrivateSubForm_Load0

MSComm1.CommPort=1//使用串行口1

MSComm1.SetTIngs=“9600,e,7,1”//9600波特率,偶校驗,7位數據位,1位停止位

MSComm1.InBufferCount=0//清除接收緩沖區(qū)

MSComm1.InputLen=0//輸入時,讀取緩沖區(qū)的全部內容

MSComm1.PortOpen=True//打開通信口

3.2發(fā)送控制命令

PrivateSubSend_Click()

HD=“5”+“FF”+“WW”+“A”+“M0100”+“01”+Data//發(fā)給5號PLC站

Write=Chr(5)+HD+SumChk(HD)+Chr(13)+Chr(10)//形成控制命令字,其中DataW為要

//寫入的數據,SumChk(RD)為和校驗函數

MSComm1.Output=Write//向5號站PLC發(fā)送控制命令

Do

XY=MSComm1.Input//接收PLC響應

RD_date=RD_date+XY

LoopUnTIlRight(RD_date,2)=Chr(13)&Chr(10)

Rd=Left(RD_date,5)//取應答字符串的前5位

IfRd=Chr(6)+“02FF”Then

MsgBox“控制命令已接收”

Else

MsgBox“通信錯誤”

EndIf

EndSub

3.3讀取調試線狀態(tài)信息

PrivateSubD_A()

RD=“05”+“FF”+“WR”+“A”+“DO0000”+“01”

Read=Chr(5)+RD+SumChk(RD)+Chr(13)+Chr(10)

MSComm1.Output=Read//發(fā)送讀5號站PLC數據命令

Do

ch=MSComm1.Input//接收PLC響應

R_Answer=R_Answer+ch

LoopUnTIlRight(R_Answer,2)=Chr(13)&Chr(10)

RA=Left(R_Answer,5)//取PLC應答字符串的前5位

IfRA=Chr(2)+“02FF”Then//判斷讀取是否正確

MSComm1.Output=Chr(6)+“02FF”//正確,向PLC發(fā)送

確認信號DataR=Mid(R_Answer,6,4)//取出數據

DataR=Val(&H+DataR)//據轉換位十進制數

Else

MsgBox“讀取數據錯誤”

EndIf

EndSub

4PLC程序設計

PLC通過程序對調試線的控制,產生的調試結果存放在以VB100為首的255個字節(jié)中,本文主要敘述的通訊,并也存在數據的翻譯過程,例如調試的力矩值放在VW200中,則要求將VB200乘以256再加VB201。若是浮點數的翻譯方式還了復雜些,在此就不一一敘述。主要是將一串調試數據發(fā)送給上位機,并得到上位機的對試驗結果的判斷與命令。下面結合通訊相關的PLC程序,對通訊進行相應的說明。

4.1主程序

LDI0.1//發(fā)送控制

EU

CALL發(fā)送:SBR1//將調試好的數據存儲在表中,準備調用子程序發(fā)送

4.2接收子程序

SBR0:

LDSM0.0

MOVB9,SMB30//初始化端口0

MOVB16#F0,SMB87//初始化RCV信息控制字節(jié),RCV使能

//檢測信息結束字符,檢測空閑線信息條件

MOVB16#05,SMB88//只接收發(fā)給本站的數據(以5號站為例)

MOVB16#0A,SMB89//接收回車鍵,接收的結束數據

MOVB5,SMB90//設置空閑線超時為5ms

MOVB10,SMB94//設置最大字符數為10

ATCHINT_0:INT0,23//接收完成,執(zhí)行中斷0

ENI//啟用用戶中斷

RCVVB600,0//通過端口0,接收數據,存儲在以VB600為首的字節(jié)中

4.3發(fā)送子程序

SBR1:

LDSM0.0

MOVB2#01101001,SMB30//初始化端口0,9600波特,7個數據位,偶校驗

MOVB255,VB1000//發(fā)送的總數據位

ATCHINT_1:INT1,9//發(fā)送完成執(zhí)行中斷1

ENI//啟用用戶中斷

XMTVB100,0//通過端口0,發(fā)送數據,發(fā)送以VB100為首的字節(jié)中

4.4中斷子程序

中斷子程序INT0:

LDSM0.0

MOVBVB602,QB0//響應已接收到命令

中斷子程序INT1:

LDSM0.0

CALL接收:SBR0//使PLC處于接收狀態(tài)

5結束語

該系統(tǒng)經實際運行情況表明,采用RS-485總線構建的分布式監(jiān)控系統(tǒng),硬件連接簡單,編程快捷,可方便地實現(xiàn)計算機和多臺PLC間的聯(lián)網通信,與用現(xiàn)場總線模塊EM277構建的Profibus-DP、以太網模塊EM243-I相比大大降低了成本,且不受只有8個站點可以使用PCAccess的限制,運行一年多來實踐表明運行穩(wěn)定可靠,能很好的滿足監(jiān)控系統(tǒng)的要求。

標簽:

點贊

分享到:

上一篇:PLC應用在化學水處理系統(tǒng)中

下一篇:PLC實現(xiàn)電機分批自啟動

中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.treenowplaneincome.com)獨家所有。如需轉載請與0755-82949061聯(lián)系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。

本網轉載并注明其他來源的稿件,均來自互聯(lián)網或業(yè)內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

網站簡介|會員服務|聯(lián)系方式|幫助信息|版權信息|網站地圖|友情鏈接|法律支持|意見反饋|sitemap

中國傳動網-工業(yè)自動化與智能制造的全媒體“互聯(lián)網+”創(chuàng)新服務平臺

網站客服服務咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權所有 粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網安備 44030402000946號