高會新
摘 要:在當前的自動化控制系統(tǒng)中,智能儀表與PLC之間的通訊越來越多,也越來越重要。本文主要研究了S7-200 PLC與智能無紙記錄儀的通訊實現(xiàn),通過現(xiàn)場驗證,通訊穩(wěn)定可靠,此方式可推廣至其他智能儀表。
關(guān)鍵詞:PLC;智能無紙記錄儀;通訊
DOI:10.16640/j.cnki.37-1222/t.2019.11.120
0 引言
PLC是工業(yè)自動化的重要支柱,應(yīng)用越來越廣泛。在工業(yè)生產(chǎn)中,通常我們要對儀表數(shù)據(jù)進行采集,然后通過控制電纜接至PLC去做數(shù)據(jù)顯示和邏輯處理。而智能儀表具備普通儀表實現(xiàn)不了的功能,可以實時的在現(xiàn)場顯示工藝生產(chǎn)數(shù)據(jù)和狀態(tài)等,因此應(yīng)用越來越廣泛。智能儀表一般都具有標準的RS-232/ RS-485接口,方便與PLC進行通訊。本文介紹了S7-200 PLC與無紙記錄儀的通訊設(shè)計實現(xiàn)方法,該方法可推廣至其他智能儀表。
1 PLC自由口通訊技術(shù)
1.1 PLC通訊端口的工作模式
S7-200 CPU的RS485通訊端口往往有一個或者兩個,這兩個通訊接口用在自由端口通訊或者PPI/MPI上。PPI具有通訊限制,這種通訊協(xié)議基于令牌環(huán)式機制。自由端口通訊是一種基于RS-485的半雙工通訊方法,這種通訊模式允許用戶與PLC之間進行通訊。
1.2 PLC特殊寄存器以及自由口通訊指令
專用寄存器和通訊指令是S7-200自由端口通訊的核心。在自由端口通訊模式下,用戶可以對S7-200上的所有RS485端口進行控制,同時用戶還有權(quán)限與任何有已知協(xié)議的通訊設(shè)備進行通訊。S7-200的寄存器用來定制通訊協(xié)議,同時提供了相關(guān)中斷事件以及通訊指令[1]。對于S7-200來說,主要有兩個重要的通訊指令,一個是接受指令,即(RCV),另一個指令是發(fā)送指令,即(XMT)。
1.3 PLC自由口通訊工作方式
自由端口通訊的基本步驟是,首先對數(shù)據(jù)進行分析,分配數(shù)據(jù)緩沖區(qū),之后對寫控制字符進行初始化操作,指定端口1以及端口0的工作模式,并對通訊時的基本參數(shù)進行設(shè)置;自由端通訊端口開始執(zhí)行發(fā)送指令,發(fā)送區(qū)域中的數(shù)據(jù)被發(fā)送到通訊的另一側(cè);連接發(fā)送完成的中斷事件26或者中斷事件9,進行中斷事件的輸入;執(zhí)行接受指令過程,同時將自由端口所接收到的數(shù)據(jù)在接收數(shù)據(jù)的緩沖區(qū)進行寫入操作。用戶的程序可以對接收數(shù)據(jù)緩沖區(qū)當中的所有接收數(shù)據(jù)進行直接處理。
2 通訊協(xié)議的設(shè)計
2.1 通訊協(xié)議
S7-200 CPU的通信口可以設(shè)置為自由口模式。選擇自由口模式后,用戶程序就可以完全控制通信端口,通訊協(xié)議也完全受用戶程序控制。所謂的自由口通訊,就是通訊協(xié)議是由用戶自己定義的。
2.2 無紙記錄儀的通訊協(xié)議
無紙記錄儀的通訊協(xié)議為主從掃描式通訊協(xié)議,每次通訊過程均由主機發(fā)起,然后從機進行響應(yīng),回傳規(guī)定的信息,完成一次通訊過程[2]。根據(jù)生產(chǎn)要求,需讀取壓力、溫度、流量數(shù)值。
3 PLC通訊程序設(shè)計
3.1 程序設(shè)計流程
PLC與無紙記錄儀通訊程序由主程序、中斷程序和3個子程序組成。主程序的任務(wù)是把要發(fā)送的數(shù)據(jù)放到發(fā)送區(qū),并接收數(shù)據(jù)到接收區(qū)。然后進行初始化設(shè)置,SMB130.0數(shù)據(jù)重置為初始值1,定義結(jié)束字符,并同時設(shè)置控制字節(jié)的參數(shù)。之后對接收中斷完成和發(fā)送進行設(shè)置:當發(fā)送信號上升沿跳變之后,執(zhí)行XMT指令,并對數(shù)據(jù)進行處理;之后將這些數(shù)據(jù)發(fā)送至無紙記錄儀,執(zhí)行接收定時中斷,中斷的時間置為50ms。完成數(shù)據(jù)字符的接收過程之后,對所接收到的字符數(shù)據(jù)進行處理,并等待下一個傳輸信號。
3.2 程序運行分析
以部分程序為例,列舉出實現(xiàn)過程。圖1所示為50ms發(fā)送數(shù)據(jù)一次。
圖2所示為聲明發(fā)送完和接受完中斷。
3.3 上位機顯示
上位機應(yīng)用WINCC組態(tài)軟件進行監(jiān)控、報警、控制、報表統(tǒng)計等程序。本文需要顯示無紙記錄儀的溫度、壓力、流量等數(shù)據(jù)。
4 結(jié)語
隨著智能儀表在自動檢測和控制中應(yīng)用越來越廣泛,與PLC的結(jié)合使用是發(fā)展趨勢。因此,兩者之間的穩(wěn)定可靠的通訊尤為重要。本文主要實現(xiàn)了基于S7 200 PLC與無紙記錄儀的通訊設(shè)計,通過利用自由端口通訊和無紙記錄儀通訊協(xié)議的分析,設(shè)計了它們之間的串行通訊。此通訊系統(tǒng)已在干熄焦項目上投入使用,其運行穩(wěn)定可靠。
參考文獻:
[1]毛亞黎,朱超.西門子S7-200PLC自由口串行通訊應(yīng)用[J].自動化技術(shù)與應(yīng)用,2016(06).
[2]李如甲,董林.基于RS-485的智能儀表與PLC串行通訊[J].儀表技術(shù)與傳感器,2016(08).