<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計應用 > 富士觸摸屏和西門子PLC通訊中的問題及解決方案

          富士觸摸屏和西門子PLC通訊中的問題及解決方案

          作者: 時間:2010-12-30 來源:網(wǎng)絡 收藏

          0 引言

            隨著計算機網(wǎng)絡及現(xiàn)場總線技術(shù)技術(shù)的發(fā)展,在工業(yè)控制和樓宇自動化中的應用非常廣泛?,F(xiàn)場總線技術(shù)及其總線接口模塊、智能儀表、控制設(shè)備等組成的綜合監(jiān)控系統(tǒng)已成為當前自動化技術(shù)發(fā)展的一個重要方向。在工控領(lǐng)域,結(jié)合運用的技術(shù)已越來越為工程人員所了解與熟悉 ,由于具有操作簡便、界面美觀直接、編程容易掌握、與良好、抗干擾能力強等等特點 ,它正迅速地滲入各個行業(yè) ,發(fā)揮自動化控制的最大優(yōu)勢。

            PROFIBUS提供了兩種通信協(xié)議:DP、FMS,富士UG系列的觸摸屏支持其中的DP協(xié)議。富士觸摸屏具有很強的兼容性,可以與近30個廠家的PLC,兼容性極強,而且還可以和計算機(開放式通訊協(xié)議)。

            通過接口單元、UG031-P通訊卡及總線的連接,UG觸摸屏可以作為從站和作為主站的西門子的S7-300或S7-400系列的PLC通信(網(wǎng)絡結(jié)構(gòu)示意見圖一)。


          圖一:PROFIBUS-DP的網(wǎng)絡結(jié)構(gòu)

          1 系統(tǒng)結(jié)構(gòu)

            本文的背景為某食品加工廠某控制系統(tǒng)包括原料混料線、薯餅生產(chǎn)線、包裝線等構(gòu)成的主線系統(tǒng),以及蒸汽鍋爐系統(tǒng)、水系統(tǒng)、壓縮空氣系統(tǒng)、照明系統(tǒng)、通風系統(tǒng)和消防系統(tǒng)等構(gòu)成的輔助系統(tǒng)。各系統(tǒng)位置比較分散,控制點較多,其中包括140多臺電機,29臺變頻器,15個溫濕度控制點。

            由于系統(tǒng)比較復雜,控制采取分層控制策略,由兩臺上位機完成工廠級的監(jiān)控及數(shù)據(jù)管理功能,觸摸屏和PLC完成現(xiàn)場級的控制,采用Profibus現(xiàn)場總線的方式進行通訊。上位機留有接口,可連接局域網(wǎng)和廣域網(wǎng),以利于進一步的開發(fā)。其中數(shù)字輸入點有900多點,數(shù)字輸出有400多點,模擬量輸入20 個。

            下面以這個食品加工廠為例,組成一個集中控制系統(tǒng),系統(tǒng)結(jié)構(gòu)如圖二所示。

            其中PLC(1)用于主系統(tǒng),PLC(2)用于輔助系統(tǒng)。輔助系統(tǒng)的組成與主系統(tǒng)相似,因此圖中省略了其構(gòu)成。PLC選用S7-300系列的 CPU315-2DP和S7-200系列的CPU226,PID模塊為FM355C,通訊模塊為CP342-5,擴展模塊為IM153-1,I/O模塊則使用到:數(shù)字輸入模塊選SM321、數(shù)字輸出為SM322、模擬量輸入為SM331。上位機選用西門子的工控機,它內(nèi)置了PCI接口的CP5611卡用于與PLC通訊。

            選用S7-300系列的CPU315-2DP是為了能進行擴展I/O模塊以滿足控制點數(shù)的要求,而用于擴展的IM模塊的選型則是依據(jù)IM模塊與中央控制器CPU315-2DP的距離。

            由于所有的I/O模塊均放在同一組控制柜里,因此選用了通訊距離在5米范圍內(nèi)的IM153-1[1]。當IM模塊與中央控制器的距離較遠時可以選擇通訊范圍為100米的型號的IM模塊。

            觸摸屏選用富士UG420H-SC1,10.4英寸、128色STN顯示,基于Windows95/98/NT操作平臺下的專用組態(tài)軟件,界面友好直觀,易學易用,大大節(jié)省產(chǎn)品開發(fā)周期。編程軟件中備有大量的圖形庫(開關(guān)、燈、棒圖等)供選擇,還可以根據(jù)用戶需求編輯所需要的工藝圖形,能夠轉(zhuǎn)換BMP 文件和AUTOCAD中的DXF文件。


          圖二: 控系統(tǒng)硬件組成及結(jié)構(gòu)

          2 觸摸屏的通訊設(shè)置及界面設(shè)計

            在硬件連接完成后,需要在組態(tài)軟件中指定系統(tǒng)的硬件配置以及設(shè)置一些通信參數(shù)等等。首先制定所使用的觸摸屏的類型,這里選擇默認的 UG420(640*480 10.4inches);下一步指定和觸摸屏通訊的PLC類型及型號,這里選SIEMENS S7-PROFIBUS;最后一步指定系統(tǒng)參數(shù),首先是讀區(qū)和寫區(qū),讀區(qū)是指作為從PLC讀入數(shù)據(jù)的緩沖,如果系統(tǒng)中需要顯示趨勢圖的話那么讀區(qū)應當設(shè)大一些,一般設(shè)1000個字就可以了,寫區(qū)用于顯示存儲屏幕的狀態(tài)、頁碼、畫面層疊以及報警狀態(tài)等等。另外在對話框No.of Word Setting for I/O中需要指出觸摸屏的MPI地址,以及傳輸?shù)膸L度,MPI地址在PLC的硬件組態(tài)里已經(jīng)定義好了,兩者必須一致,否則會出現(xiàn)通信錯誤。另外幀長度為32字節(jié);奇偶校驗為奇校驗;數(shù)據(jù)長度8位;停止位1位;通訊方式RS-485。

            UG00S-CW具有非常完善而強大的組態(tài)功能,在開發(fā)組態(tài)的時候,開發(fā)者可以不去考慮通信協(xié)議的問題,因為富士公司已經(jīng)將這一切的技術(shù)細節(jié)都屏蔽掉了,它具有智能的尋址功能。在建立一個按鈕時,這個按鈕在PLC中的預先有定義(在西門子PLC中,無論是數(shù)字量還是模擬量的定義都是在DB塊中)。假設(shè)這個按鈕的地址是DB2.DBX2.0(它的含義是第2個DB塊中第2個字節(jié)的第0位),觸摸屏中按鈕的地址應表示為DB2:2-0。我們可以看到,除了地址的書寫方式有所不同以外,你幾乎無需作其他的工作,你無需去定義變量、更無需去理會通信的幀結(jié)構(gòu)等等。

            對于模擬量同樣如此,只不過在模擬量中你需要指出模擬量所占的字節(jié)個數(shù),其他的同數(shù)字量一樣簡單。

            可以說,UG00S-CW在處理基本的模擬數(shù)字量的時候非常簡單、方便,但是在處理一些較為復雜的情況時卻遇到了意想不到的問題。在這個食品生產(chǎn)線的集中控制系統(tǒng),其中就涉及到富士觸摸屏和西門子PLC中的通信格式的兼容問題。

            系統(tǒng)中有些PID控制的模擬量需要用趨勢圖來顯示,UG00S-CW中顯示趨勢圖并不復雜,首先點一下趨勢圖的圖標,在彈出的對話框中選擇趨勢圖的類型,然后選擇每條曲線對應的地址即可。但是在聯(lián)機調(diào)試時卻總是出現(xiàn)comunication error(通信錯誤)信息,經(jīng)過排查發(fā)現(xiàn)問題出在趨勢圖上,如果將趨勢圖從程序中去掉,則一切正常,后來我就嘗試先將西門子PLC中的對應的模擬量數(shù)據(jù)讀入觸摸屏的緩沖(即內(nèi)部存儲區(qū)),然后將趨勢圖每條曲線的地址改為對應的內(nèi)部地址。經(jīng)過聯(lián)機調(diào)試,發(fā)現(xiàn)不再出現(xiàn)comunication error信息,但是趨勢圖的曲線的顯示卻極不正常。經(jīng)過觀察,發(fā)現(xiàn)除了當模擬量的值為零時曲線顯示正常,而為非零時曲線則指向無窮大。這個問題曾讓筆者百思不得其解,后來終于想到有可能是西門子PLC和富士觸摸屏在存儲格式上可能會不兼容。原來富士觸摸屏中趨勢圖中的模擬量一般都是雙字(4字節(jié)),它從西門子PLC讀取的順序是將第一字讀為高字,第二個字讀為低字,而西門子PLC中模擬量的存儲為先存低字再存高字,這樣富士觸摸屏從西門子PLC中讀入的數(shù)據(jù)剛好都是高低字顛倒的。因為一般模擬量的值都比較小,所以高字都為零,這樣相當于將原來的值乘了一個2的16次方的數(shù),遠遠超過了模擬量的上限,所以才出現(xiàn)了以上情況。

            為了解決以上問題,需要將PLC中的數(shù)據(jù)讀入,然后依次高低字顛倒,然后再將趨勢圖的曲線地址指向存儲修正數(shù)據(jù)的內(nèi)部地址即可。為了完成這個功能,需要用到UG00S-CW的宏指令,富士UG00S-CW平臺提供了豐富的宏命令集,

            主要有以下幾類:

            屏幕類,當打開一個界面時可執(zhí)行的OPEN macro,當關(guān)閉一個界面時可執(zhí)行的 CLOSE macro,當打開一個界面后不斷循環(huán)執(zhí)行直到這個界面關(guān)閉為止時停止的 CYCLE macro。

            按鈕類,當按下一個按鈕時可執(zhí)行的 ON macro和當松開一個按鈕時可執(zhí)行的 OFF macro。

            宏模式,即宏指令程序段受某一個比特位的控制,當這一位為1時執(zhí)行,為0時停止,這個比特位可以是PLC中的地址,也可以是觸摸屏的內(nèi)部地址。

            富士UG00S-CW的宏命令集和匯編語言非常相似,不過此外還增加了許多系統(tǒng)命令功能和輔助功能,使得開發(fā)程序更加方便快捷。觸摸屏中的存儲格式是字,地址用$u來表示,例如$u1000就表示第1000個字,$u1000-14就表示第1000個字的第14位,觸摸屏中沒有用來表示字節(jié)的地址表示方式。在這個食品生產(chǎn)線上有多個PID控制回路,每個回路對應一個趨勢圖,以第一個回路為例,它占用Buffer1(最多有12個Buffer可供使用)趨勢圖有三條曲線PV、SP、OP,它們所對應的PLC地址分別為DB10:DBD0,DB10:DBD4, DB10:DBD8,然后將調(diào)整后的地址存入定為$u500~$u505,程序段如下:

            /*首先將模擬量讀入觸摸屏內(nèi)部,使用塊賦值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,曲線條數(shù)(即No. of Word)定為3條,存儲長度為500,其他的設(shè)置為默認值,趨勢圖中對應三條曲線的地址改為$u500,$u502,$u504,這樣才能保證觸摸屏中的數(shù)據(jù)和PLC中的數(shù)據(jù)同步更新。將程序下載到觸摸屏,經(jīng)過聯(lián)機測試,一切正常。

          3 結(jié)束語

            富士觸摸屏以及西門子PLC由于其產(chǎn)品具有很高的穩(wěn)定性,而且在軟件開發(fā)上非常高效快捷,因此在工控方面,兩者相結(jié)合是一個很不錯的選擇,能夠充分發(fā)揮兩者的優(yōu)點。但是由于兩者畢竟不是同一廠商,所以難免會在某些細節(jié)的兼容性上會有紕漏,這是我們在設(shè)計工控系統(tǒng)時特別要注意的地方,硬件漏洞軟件補是 IT界永恒不變的方法,在開發(fā)商還沒有使他們的產(chǎn)品盡善盡美之前,我們應當運用我們自己的智慧來完善我們的系統(tǒng)。

          pid控制相關(guān)文章:pid控制原理


          adc相關(guān)文章:adc是什么


          西門子plc相關(guān)文章:西門子plc視頻教程


          通信相關(guān)文章:通信原理




          關(guān)鍵詞: 觸摸屏 PLC 通訊

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();