富士觸摸屏與西門子PLC通訊中的問題及解決方案
發布時間:2019-07-31 11:22:23來源:
0 引言
隨著計算機網絡及現場總線技術技術的發展, PLC 及觸摸屏在工業控制和樓宇自動化中的應用非常廣泛。現場總線技術及其總線接口模塊、智能儀表、控制設備等組成的綜合監控系統已成為當前自動化技術發展的一個重要方向。在工控領域,PLC與觸摸屏結合運用的技術已越來越為工程人員所了解與熟悉 , 由于觸摸屏具有操作簡便、界面美觀直接、編程容易掌握、與PLC通訊良好、抗干擾能力強等等特點 , 它正迅速地滲入各個行業 , 發揮自動化控制的比較大優勢。
PROFIBUS 提供了兩種通信協議: DP 、 FMS ,富士 UG 系列的觸摸屏支持其中的 DP 協議。富士觸摸屏具有很強的兼容性, 可以與近 30個廠家的 PLC通訊,兼容性極強,而且還可以和計算機通訊(開放式通訊協議)。
通過接口單元、 UG031-P 通訊卡及總線的連接, UG 觸摸屏可以作為從站和作為主站的西門子的 S7-300 或 S7-400 系列的 PLC 通信(網絡結構示意見圖一)。
圖一: PROFIBUS-DP 的網絡結構
1 系統結構
本文的背景為某食品加工廠某控制系統包括原料混料線、薯餅生產線、包裝線等構成的主線系統,以及蒸汽鍋爐系統、水系統、壓縮空氣系統、照明系統、通風系統和消防系統等構成的輔助系統。各系統位置比較分散,控制點較多,其中包括 140 多臺電機, 29 臺變頻器, 15 個溫濕度控制點。
由于系統比較復雜,控制采取分層控制策略,由兩臺上位機完成工廠級的監控及數據管理功能,觸摸屏和 PLC 完成現場級的控制,采用 Profibus 現場總線的方式進行通訊。上位機留有接口,可連接局域網和廣域網,以利于進一步的開發。其中數字輸入點有 900 多點,數字輸出有 400 多點,模擬量輸入 20 個。
下面以這個食品加工廠為例,組成一個集中控制系統,系統結構如圖二所示。
其中 PLC(1) 用于主系統, PLC(2) 用于輔助系統。輔助系統的組成與主系統相似,因此圖中省略了其構成。 PLC 選用 S7-300 系列的 CPU315-2DP 和 S7-200 系列的 CPU226 , PID 模塊為 FM355C ,通訊模塊為 CP342-5 ,擴展模塊為 IM153-1 , I/O 模塊則使用到:數字輸入模塊選 SM321 、數字輸出為 SM322 、模擬量輸入為 SM331 。上位機選用西門子的工控機,它內置了 PCI 接口的 CP5611 卡用于與
PLC 通訊。
選用 S7-300 系列的 CPU315-2DP 是為了能進行擴展 I/O 模塊以滿足控制點數的要求,而用于擴展的 IM 模塊的選型則是依據 IM 模塊與中央控制器 CPU315-2DP 的距離。
由于所有的 I/O 模塊均放在同一組控制柜里,因此選用了通訊距離在 5 米范圍內的 IM153-1[1] 。當 IM 模塊與中央控制器的距離較遠時可以選擇通訊范圍為 100 米的型號的 IM 模塊。
觸摸屏選用富士 UG420H-SC1, 10.4英寸、 128色 STN顯示,基于 Windows95/98/NT操作平臺下的專用組態軟件,界面友好直觀,易學易用,大大節省產品開發周期。編程軟件中備有大量的圖形庫(開關、燈、棒圖等)供選擇,還可以根據用戶需求編輯所需要的工藝圖形,能夠轉換 BMP文件和 AUTOCAD中的 DXF文件。
圖二: 控系統硬件組成及結構
2 觸摸屏的通訊設置及界面設計
在硬件連接完成后,需要在組態軟件中指定系統的硬件配置以及設置一些通信參數等等。首先制定所使用的觸摸屏的類型,這里選擇默認的 UG420 ( 640*480 10.4inches );下一步指定和觸摸屏通訊的 PLC 類型及型號,這里選 SIEMENS S7-PROFIBUS ;比較后一步指定系統參數,首先是讀區和寫區,讀區是指作為從 PLC 讀入數據的緩沖,如果系統中需要顯示趨勢圖的話那么讀區應當設大一些,一般設 1000 個字就可以了,寫區用于顯示存儲屏幕的狀態、頁碼、畫面層疊以及報警狀態等等。另外在對話框 No.of Word Setting for I/O 中需要指出觸摸屏的 MPI 地址,以及傳輸的幀長度, MPI 地址在 PLC 的硬件組態里已經定義好了,兩者必須一致,否則會出現通信錯誤。另外幀長度為 32 字節; 奇偶校驗為奇校驗;數據長度 8位;停止位 1位;通訊方式 RS-485。
UG00S-CW 具有非常完善而強大的組態功能,在開發組態的時候,開發者可以不去考慮通信協議的問題,因為富士公司已經將這一切的技術細節都屏蔽掉了,它具有智能的尋址功能。在建立一個按鈕時,這個按鈕在 PLC 中的預先有定義(在西門子 PLC 中,無論是數字量還是模擬量的定義都是在 DB 塊中)。假設這個按鈕的地址是 DB2.DBX2.0 (它的含義是第 2 個 DB 塊中第 2 個字節的第 0 位),觸摸屏中按鈕的地址應表示為 DB2 : 2-0 。我們可以看到,除了地址的書寫方式有所不同以外,你幾乎無需作其他的工作,你無需去定義變量、更無需去理會通信的幀結構等等。
對于模擬量同樣如此,只不過在模擬量中你需要指出模擬量所占的字節個數,其他的同數字量一樣簡單。
可以說, UG00S-CW 在處理基本的模擬數字量的時候非常簡單、方便,但是在處理一些較為復雜的情況時卻遇到了意想不到的問題。在這個食品生產線的集中控制系統,其中就涉及到富士觸摸屏和西門子 PLC 中的通信格式的兼容問題。
系統中有些 PID 控制的模擬量需要用趨勢圖來顯示, UG00S-CW 中顯示趨勢圖并不復雜,首先點一下趨勢圖的圖標,在彈出的對話框中選擇趨勢圖的類型,然后選擇每條曲線對應的地址即可。但是在聯機調試時卻總是出現 comunication error (通信錯誤)信息,經過排查發現問題出在趨勢圖上,如果將趨勢圖從程序中去掉,則一切正常,后來我就嘗試先將西門子 PLC 中的對應的模擬量數據讀入觸摸屏的緩沖(即內部存儲區),然后將趨勢圖每條曲線的地址改為對應的內部地址。經過聯機調試,發現不再出現 comunication error 信息,但是趨勢圖的曲線的顯示卻極不正常。經過觀察,發現除了當模擬量的值為零時曲線顯示正常,而為非零時曲線則指向無窮大。這個問題曾讓筆者百思不得其解,后來終于想到有可能是西門子
PLC 和富士觸摸屏在存儲格式上可能會不兼容。原來富士觸摸屏中趨勢圖中的模擬量一般都是雙字( 4 字節),它從西門子 PLC 讀取的順序是將第一字讀為高字,第二個字讀為低字,而西門子 PLC 中模擬量的存儲為先存低字再存高字,這樣富士觸摸屏從西門子 PLC 中讀入的數據剛好都是高低字顛倒的。因為一般模擬量的值都比較小,所以高字都為零,這樣相當于將原來的值乘了一個 2 的 16 次方的數,遠遠超過了模擬量的上限,所以才出現了以上情況。
為了解決以上問題,需要將 PLC 中的數據讀入,然后依次高低字顛倒,然后再將趨勢圖的曲線地址指向存儲修正數據的內部地址即可。為了完成這個功能,需要用到 UG00S-CW 的宏指令,富士 UG00S-CW 平臺提供了豐富的宏命令集,
主要有以下幾類:
屏幕類,當打開一個界面時可執行的 OPEN macro ,當關閉一個界面時可執行的 CLOSE macro ,當打開一個界面后不斷循環執行直到這個界面關閉為止時停止的 CYCLE macro 。
按鈕類,當按下一個按鈕時可執行的 ON macro 和當松開一個按鈕時可執行的 OFF macro 。
宏模式,即宏指令程序段受某一個比特位的控制,當這一位為 1 時執行,為 0 時停止,這個比特位可以是 PLC 中的地址,也可以是觸摸屏的內部地址。
富士 UG00S-CW 的宏命令集和匯編語言非常相似,不過此外還增加了許多系統命令功能和輔助功能,使得開發程序更加方便快捷。觸摸屏中的存儲格式是字,地址用 $u 來表示,例如 $u1000 就表示第 1000 個字, $u1000-14 就表示第 1000 個字的第 14 位,觸摸屏中沒有用來表示字節的地址表示方式。在這個食品生產線上有多個 PID 控制回路,每個回路對應一個趨勢圖,以第一個回路為例,它占用 Buffer1 (比較多有 12 個 Buffer 可供使用)趨勢圖有三條曲線 PV 、 SP 、 OP ,它們所對應的 PLC 地址分別為 DB10 : DBD0 , DB10 : DBD4 , DB10 : DBD8 ,然后將調整后的地址存入定為 $u500~$u505 ,程序段如下:
/* 首先將模擬量讀入觸摸屏內部,使用塊賦值 BMOV 指令,即將 DB10 : DBD0~ DB10 : DBD8 賦值到 $u500~$u505*/
$u500=DB0010 : 0000 C : 12 ( BMOV )
// 下面將各個量的高字和低字顛倒
$u600=$u500 ( W )
$u500=$u501 ( W )
$u501=$u600 ( W )
$u602=$u502 ( W )
$u502=$u503 ( W )
$u503=$u602 ( W )
$u604=$u504 ( W )
$u500=$u505 ( W )
$u505=$u604 ( W )
然后將此程序段拷貝到每一屏幕的 CYCLE macro 中,然后將 buffer 地址初始地址指向 $500 ,抽樣模式定為: Constant Sample ,曲線條數(即 No. of Word )定為 3 條,存儲長度為 500 ,其他的設置為默認值,趨勢圖中對應三條曲線的地址改為 $u500,$u502,$u504 ,這樣才能保證觸摸屏中的數據和 PLC 中的數據同步更新。將程序下載到觸摸屏,經過聯機測試,一切正常。
3 結束語
富士觸摸屏以及西門子 PLC 由于其產品具有很高的穩定性,而且在軟件開發上非常高效快捷,因此在工控方面,兩者相結合是一個很不錯的選擇,能夠充分發揮兩者的優點。但是由于兩者畢竟不是同一廠商,所以難免會在某些細節的兼容性上會有紕漏,這是我們在設計工控系統時特別要注意的地方,硬件漏洞軟件補是
IT 界永恒不變的方法,在開發商還沒有使他們的產品盡善盡美之前,我們應當運用我們自己的智慧來完善我們的系統。