華環(huán)國際煙草有限公司 胡發(fā)運 陳 磊
智能控制儀表是工業(yè)控制中最常用的控制器之一,主要針對某一特定的參數(shù)如壓力、溫度、流量等,采用比較先進的控制算法如PID、自適應(yīng)PID、模糊控制等,以求精確控制被控參數(shù),具有專業(yè)性強、智能化高、控制算法先進、使用方便的特點。但各個生產(chǎn)廠家的智能控制儀表存在通訊協(xié)議不統(tǒng)一、通訊網(wǎng)絡(luò)僅提供簡單的RS485、RS232或RS422等缺點,難以集成到工廠中的HMI系統(tǒng)中。而可編程序控制器(PLC)運行可靠、集成度高、可擴展性強,在工業(yè)控制中得到廣泛的應(yīng)用,且各生產(chǎn)廠家為PLC提供了多種通訊模塊,如工業(yè)以太網(wǎng)模塊、Profibus DP現(xiàn)場總線模塊、AS-I模塊、點到點串行通訊模塊等,因此可以利用PLC的通訊模塊,讀取或修改智能儀表中的數(shù)據(jù),以達到與工廠中的HMI系統(tǒng)完美結(jié)合的目的。
美國普勞克特(WP&S)公司是老牌的復(fù)烤機生產(chǎn)商,其生產(chǎn)的復(fù)烤機主要應(yīng)用于煙葉復(fù)烤和食品加工行業(yè),其控制系統(tǒng)采用西門子S7-300系列PLC,為保證有兩套獨立的核心控制系統(tǒng),使用了西門子S7-300PLC和Honeywell公司生產(chǎn)的UDC3300通用數(shù)字控制器,PLC和UDC3300控制器之間采用點到點串行通訊Modbus網(wǎng)連接,以實現(xiàn)溫度、壓力、濕度、水份等測量信號的顯示與控制。
為使用Modbus通訊,首先在CPU的擴展機架安裝具有通訊功能的CP 341-RS422/485模塊,其訂購號6ES7 341-1CH01-0AE0,CP341模塊使用Gould-Modbus通訊協(xié)議和UDC3300控制器通訊,使用裝有點到點Modbus通訊軟件的STEP7編程軟件,可以進行硬件的組態(tài)并給CP341通訊模塊設(shè)定地址和其它參數(shù),如圖1。
CP 341-RS422/485 Modbus通訊模塊的地址占用16個字節(jié),地址可以采用自動選擇或根據(jù)個人要求選定,分配地址后,必須對其它基本參數(shù)進行檢查,以符合實際硬件接線要求,例如采用RS485二線制半雙工接線方式。
我公司的復(fù)烤生產(chǎn)線中,要求將16只UDC3300控制器中的設(shè)定值、測量值、信號輸出值讀入到PLC中,通過PLC可以修改控制器的設(shè)定值、控制器工作模式(自動或手動)和手動狀態(tài)下輸出值,以下對CP341和UDC3300控制器的通訊協(xié)議做一簡單介紹。
(1)CP341模塊
表一 功能碼含義
CP341是西門子公司提供的點到點連接串行通訊的低成本解決方案,使用Gould-Modbus通訊協(xié)議,該模塊提供了二種不同形式的傳輸接口:a、RS485(二線);b、RS422(四線)。通過集成在STEP7中的參數(shù)化工具可方便地進行參數(shù)化,其設(shè)置主要包括地址分配、通訊方式(波特率、數(shù)據(jù)位數(shù)、停止位數(shù)、奇偶校驗)、接口方式(RS485或RS422)。
(2)Gould-Modbus通訊協(xié)議簡介
Modbus網(wǎng)絡(luò)中數(shù)據(jù)的交換是通過功能碼進行的,數(shù)據(jù)在位—位或寄存器—寄存器之間傳送,具體含義見表一和表二。
(3)UDC3300控制器
對UDC3300控制器,我公司中設(shè)置為波特率19200,數(shù)據(jù)位數(shù)8,停止位數(shù)1,無奇偶校驗,RS485半雙工工作方式。
要實現(xiàn)CP341和UDC控制器之間的通訊,PLC程序的設(shè)計是一個比較重要的環(huán)節(jié),主要包括CP341發(fā)送讀取數(shù)據(jù)的命令,CP341發(fā)送寫數(shù)據(jù)的命令,CP341接收數(shù)據(jù)的命令。對于程序,西門子公司已編寫了相應(yīng)的標(biāo)準(zhǔn)功能塊FB8(P_SND_RK,發(fā)送功能塊)、FB7(P_RCV_RK,接受功能塊)、FC21(Execute Send Jobs,執(zhí)行發(fā)送)、FC23(Execute Receive Jobs,執(zhí)行接收),設(shè)計人員需要做的是在程序中進行合適的調(diào)用,并分配相應(yīng)的DB(數(shù)據(jù))塊用于數(shù)據(jù)的發(fā)送與存貯??紤]到有16只UDC3300控制器,PLC對控制器數(shù)據(jù)的寫入不是一個連續(xù)的過程,僅在需要時PLC發(fā)送相應(yīng)命令,故在程序中采用脈沖調(diào)用的形式,并使發(fā)送讀取數(shù)據(jù)命令、發(fā)送寫數(shù)據(jù)命令相互錯開,在每個掃描周期內(nèi)接收一次數(shù)據(jù)。CP341工作中所需要的DB數(shù)據(jù)塊及作用如表三,另外分配DB44、DB45、DB46用于數(shù)據(jù)的存貯,以使PLC修改控制器的設(shè)定值、工作模式、控制器的輸出,DB42、DB44中數(shù)據(jù)概況如圖2。
表二 使用規(guī)則
表三 DB數(shù)據(jù)塊的作用
圖1 硬件組態(tài)
圖2 DB42、DB44數(shù)據(jù)塊概況
圖3 FC21功能塊
圖4 FC21在OB1中的調(diào)用
(1)發(fā)送讀取數(shù)據(jù)命令和接收數(shù)據(jù)命令的程序
發(fā)送命令的程序FC21如圖3,受篇幅限制,僅顯示部分程序,具體發(fā)送和接收的全部詳細程序參見西門子公司相關(guān)技術(shù)手冊和STEP7中標(biāo)準(zhǔn)功能塊。
圖中#DB_NO、#DBB_NO為局部變量,分別指數(shù)據(jù)塊號和字節(jié)號,在OB1中調(diào)用FC21時指定具體數(shù)值。
(2)功能塊FC21、FC23在OB1中的調(diào)用
在OB1中調(diào)用了FC21,如圖4,以向控制器發(fā)送相關(guān)命令和數(shù)據(jù),受篇幅限制,圖中僅顯示了部分程序,其它工作程序基本相同。
MW100的作用是指向DB塊中某一字節(jié)地址,以在發(fā)送命令數(shù)據(jù)時指定CP341發(fā)送需要的控制器地址、功能代碼、控制器中寄存器地址、需要操作的寄存器個數(shù),指定的控制器根據(jù)要求回相關(guān)數(shù)據(jù)。MW106中存貯了CP341在發(fā)送寫入操作命令時需要的控制器地址、功能代碼、控制器中寄存器地址、需要操作的寄存器個數(shù)。對于接收功能塊FC23,只要PLC掃描時間允許,可以在OB1中任意位置多次調(diào)用,一般情況下每個掃描周期執(zhí)行FC23一次,以接收控制器回傳的數(shù)據(jù)。
通過使用點到點串行通訊模塊CP341和UDC3300控制器,使用RS485網(wǎng)絡(luò)和Gould-Modbus通訊協(xié)議進行通訊,PLC可以讀取和寫入相關(guān)數(shù)據(jù),極大方便了現(xiàn)場的控制和操作,并且成本較低。因此,利用CP341模塊來解決西門子PLC與第三方智能儀表的通訊問題是一個值得推廣的方式,在實際控制系統(tǒng)中,不僅僅可以解決與UDC3300控制器的通訊問題,對其它具有RS485或RS422網(wǎng)絡(luò)的智能儀表同樣可以解決與HMI系統(tǒng)之間數(shù)據(jù)的傳送問題。
[1]Simatic Loadable Driver for Point-to-Point CPs Modbus Protocol,S7 is Master,Edition 3.
[2]Simatic CP341 Point-to-Point Communication Installation and Parameter Assignment.
[3]Simatic Configuring Hardware and Communication Connections STEP 7 V5.1.
[4]Simatic Ladder Logic(LAD)for S7-300 and S7-400 Programming.
[5]Simatic Statement List(STL)for S7-300 and S7-400 Programming.
[6]Simatic Programming with STEP 7 V5.1.
[7]UDC3300 Universal Digital Controller Product Manual訂購號:51-52-25-55.
[8]UDC3300 Universal Digital Controller Modbus RTU Serial Communications User Manual訂購號:51-52-25-66K.
[9]Modbus RTU Serial Communications User Manual Configuration Interface for UDC3300訂購號:51-52-25-70C.