999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種工業控制器的組態調試器實現方法

2017-09-25 02:10:39牛洪海盧海松
自動化儀表 2017年9期
關鍵詞:指令調試

吳 波,牛洪海,盧海松

(南瑞繼保電氣有限公司,江蘇 南京 211102)

一種工業控制器的組態調試器實現方法

吳 波,牛洪海,盧海松

(南瑞繼保電氣有限公司,江蘇 南京 211102)

在工業過程控制領域,常常需要對控制器內的復雜控制邏輯進行單步執行、斷點調試,以便明確診斷邏輯的正確性和合理性,但目前各廠家的工業控制器并不具備該功能。為了解決該問題,對高級編程語言C/C++的調試器功能進行了系統的研究,包括其程序斷點的設計原理和調試器的實現機制。結合工業控制器算法組態的語言特點,設計了一種面向算法組態的調試器,并將其運用到工業控制器的嵌入式軟件系統中。通過與算法邏輯運算單元的交互設計,成功實現了復雜控制邏輯的單步執行、逐頁逐模塊以及斷點調試等功能。試驗結果表明,集成組態調試器功能的工業控制器,能夠極大地方便項目實施過程中的現場組態和深入調試,有效降低組態算法的錯誤率和提高工程調試的效率。該控制器為工業控制器的全方位診斷功能以及虛擬仿真的實現提供了一定的參考。

工業控制器; 算法組態; 調試器; 單步執行; 斷點調試; 嵌入式開發; DCS; PLC

0 引言

為了便于編程開發和調試,一般高級編程語言,如C/C++等,均提供了完備的調試器功能。調試器通過按照代碼行、函數、功能塊斷點等方式中斷程序執行,輔助開發人員進行逐步調試和分析,定位程序代碼的問題和錯誤所在。在工業控制領域,隨著各種算法組態語言越來越多地應用于復雜對象和控制過程的組態[1],針對算法組態語言的調試器功能需求日益迫切。目前市面上的控制器產品尚不支持這方面的功能。本文設計了適用于工業控制器的組態調試器。

1 組態調試器設計原理

在工業控制領域,算法邏輯的組態語言有五種,分別是功能塊圖(function block diagram,FBD)、梯形圖(ladder diagram,LD)、指令表(instruction list,IL)、結構文本(structured text,ST)、順序功能圖(sequential function chart,SFC)[2]。組態工具根據算法邏輯的組態內容,生成一種中間產物或者目標產物,下載到工業控制器內執行處理[3-4]。

該流程和基于高級語言的程序開發過程原理相同,所以有必要研究高級語言調試器的原理。通過借鑒分析,逐步得到組態調試器的設計原理和方法。

1.1 常規調試器原理

調試器原理主要包括兩個方面:一是斷點機制,二是變量監視。實現兩者的首要問題,就是源代碼和目標產物之間的映射關系。

基于高級語言的程序代碼,在開發完成之后,經由編譯器的分析、編譯、鏈接轉化成一長串的比特流,即基于機器指令碼的目標程序,方能在目標CPU上正確執行[5]。

開發人員對源代碼的調試,歸根結底是對目標程序進行調試。但是經過編譯處理之后,源代碼和目標程序之間的關系變得錯綜復雜。為此,必須完全記錄編譯器在源代碼處理過程中產生的信息,以便源代碼和目標程序間的雙向索引定位。這些信息就是信息調試器運行必須參考的調試信息。

根據調試信息,源代碼中的任意行和任意變量均可以定位到目標程序中的唯一地址。開發人員在某行源代碼處設置斷點,調試器經過轉換后,通知CPU將在目標程序的對應地址處停止運行。當CPU運行到對應地址處,觸發軟中斷,并通知調試器命中斷點。對于變量監視,調試器根據其在目標程序中的地址直接查詢獲取[6-7]。

斷點命中機理和變量監視,需要目標平臺的CPU和操作系統的共同支持實現。

1.2 組態調試器原理

對于高級編程語言,調試器的基本單位是源代碼行。而對于算法邏輯組態,調試器的基本單位往往是算法塊。因此,相對于以代碼行作為斷點,組態調試器的最小可定義斷點是算法塊。

但是工業控制器對算法邏輯的處理一般分為兩類,即解釋執行機制和編譯執行機制。采用解釋執行機制的控制器,其內核對算法邏輯邊解釋邊執行。而采用編譯執行機制的控制器,其內核執行的是由算法邏輯語言編譯形成的機器指令碼。

如前文所述,如果在采用編譯執行機制的工業控制器上實現調試器,則需要維護算法組態和目標程序之間的調試信息。本文的工業控制器采用的是解釋執行機制,故可以省去調試信息的維護設計環節。但二者的基本原理是完全相通的[8]。

1.2.1 組態斷點定義

基于功能塊圖組態的算法邏輯結構如圖 1所示。其中,最小邏輯單位是功能模塊,如加法塊、邏輯與、PID模塊等。但為了方便用戶和工程人員應用,常常會根據現場應用的需要,對這些由基本功能模塊組成的算法邏輯進行分頁。

圖1 算法邏輯結構圖

因此,定義頁號和模塊號作為組態斷點的描述信息,可以完全記錄算法邏輯的執行步驟信息。故將“頁號+模塊號”的組合信息作為組態斷點數據結構。

由于調試器通常支持多個斷點,故在控制器中定義如圖 2所示的組態斷點鏈表,對調試過程中設置的組態斷點進行統一管理和維護。

圖2 組態斷點鏈表

因為組態斷點信息描述的是算法邏輯中的某個模塊邏輯地址信息,所以當用戶設置斷點后,在算法邏輯順序執行過程中,一定會執行到組態斷點處。此時控制器命中組態斷點,停止算法邏輯的執行運算,并將相關數據信息上傳給組態工具顯示。

1.2.2 軟組態斷點和硬組態斷點

斷點命中時,用戶通過初步觀察之后,可以停止調試,也可以繼續通過逐頁、逐模塊等調試指令來進一步觀察算法邏輯的演變過程。

通常情況下,控制器會將這兩種調試指令分別解析處理,但這會增加調試器的實現復雜度。況且這兩種調試指令和已命中組態斷點以及算法邏輯的內容密切有關,因此將逐頁、逐模塊調試指令轉化為一種特別的“組態斷點”來處理。

例如:逐頁指令=當前命中斷點模塊所在頁的下一有效頁中的首模塊;逐模塊=當前命中斷點模塊的下一個模塊。

為了便于區分,對于不是由用戶直接設置的組態斷點,將其定義為軟組態斷點;而由用戶直接設置的組態斷點定義為硬組態斷點。二者的區別在于:軟組態斷點一經命中,即由調試器自動刪除;而硬組態斷點的產生和刪除,均由用戶支配。

2 組態調試器的開發實現

基于圖 1所示的算法邏輯結構,開發面向FBD組態的工業控制器[9-11]。該控制器基于TI公司的OMAP雙核平臺,ARM處理器側采用嵌入式Linux作為操作系統,執行通信管理職責;數字信號處理芯片(digital signal processing,DSP)側無操作系統,實現算法邏輯的高效執行和I/O通信等功能。ARM和DSP之間通過共享內存進行數據交互,實現了算法邏輯的變量監視功能。因此調試器的開發重心集中到組態斷點機制的實現上。

2.1 調試器開發

在工業控制器的軟件架構中引入調試器功能組件,調試器接口如圖 3所示。

圖3 調試器接口示意圖

調試器的功能分為兩部分:①通信預處理單元,負責與組態工具的調試接口通信,獲取調試指令并進行預處理;②調試單元,負責與算法邏輯運算任務交互,執行調試指令。其中,對調試指令的預處理流程如圖 4所示。

以組態斷點的設置為例,組態工具和調試器的通信接口建立TCP連接后,首先進行算法邏輯的校驗和同步,確保組態工具側的算法邏輯和控制器執行的算法邏輯相同。隨后,用戶可以根據需要設置任一頁的任一個模塊作為斷點。調試器收到斷點設置指令后,將其壓入硬組態斷點隊列,交由調試單元查詢使用。

圖4 調試指令預處理流程圖

當算法邏輯的正常運行態被組態斷點中斷之后,進入調試態運行。此時算法邏輯暫停在某頁某模塊上,如果要繼續執行邏輯,則需要從該模塊的下一個模塊繼續執行。所以通信預處理單元在處理單步執行、逐頁、逐模塊以及繼續執行指令時,都需要根據當前暫停位置推算下次執行的起始位置。

一旦通信預處理單元接收到繼續執行指令,并且檢測到軟、硬組態斷點隊列均為空時,控制器自動退出調試態。這樣就實現了算法邏輯的正常運行態到調試態的平穩切換,大大降低了開發實現的難度。

在現場調試時,為了安全起見,在調試器功能啟用之前,有必要屏蔽所有I/O的輸出,避免引起現場設備的誤動作。

2.2 算法運行及調試

工業控制器在周期掃描執行算法邏輯時,每次執行均從首頁首模塊開始,直到終頁終模塊結束。當周期定時器中斷再次觸發時,重復該過程,進而實現算法邏輯的周期運行。由于算法邏輯運行的DSP側缺乏操作系統,因此高級語言的斷點命中機理并不適用,故本文從任務調度以及對算法任務的起始位置、終止位置的控制這兩方面來綜合實現。當調試器功能觸發后,將打斷周期執行的算法任務。算法調試流程如圖 5所示。

圖5 算法調試流程圖

算法邏輯的運行任務在逐頁逐模塊掃描解釋執行時,每解釋執行完一個模塊,都會判斷是否命中硬組態斷點或軟組態斷點。如果命中,則本次運行任務提前終止,并記錄任務退出時的位置信息。下次繼續運行時,將從該位置信息的下一個模塊繼續執行。這意味著調試過程中,算法任務的起始位置和終止位置是動態變化的,因此必須保存下來,以便保證算法運行調試的連續性。

與算法邏輯的周期運行流程相比,算法邏輯在調試態運行時,不再由周期定時器中斷觸發,而是由用戶手動下發的調試指令觸發。這意味著如果用戶不按調試按鈕,則算法邏輯的數據一直保持不變,經由監視接口上送到組態工具,有利于用戶對算法邏輯的數據斷面進行深入診斷和分析。

此外,在調試狀態下,根據單步、逐頁、逐模塊和繼續執行等調試指令執行時,如果算法邏輯執行到終頁終模塊,并不意味著本次運行調試結束退出,而是必須跳轉到首頁首模塊繼續從頭開始。

3 功能驗證與測試

3.1 測試環境

為了驗證工業控制器的調試器功能,測試環境由以下四個部分組成。

①組態軟件采用PCS-Explorer,在Windows 7 64 bit平臺上運行,具備控制器組態、在線監視及調試器接口功能。

②控制器采用PCS-9150控制器作為試驗平臺,集成開發調試器功能。

③報文分析工具Wireshark2.0,用于輔助分析組態軟件和控制器的通信狀態。

④調試終端軟件SecrueCRT7.2.6,用于實時監視控制器的運行狀態。

3.2 測試結果分析

在對調試器進行測試的過程中,通過組態軟件對控制器的算法執行過程進行狀態監視,輔以調試終端軟件的實時運行狀態信息分析。測試結果表明,工業控制器中加入了調試器功能后,不僅各項調試指令全部運行正常,而且并不影響控制器內原有任務和功能。主要測試內容及結果如表1所示。

表1 測試內容及結果

根據工業控制器現場應用的反饋,應用人員利用調試器能夠更快、更精準地定位到復雜算法邏輯中的各類錯誤,包括功能塊算法設計錯誤、算法組態順序錯誤、算法邏輯設計錯誤;同時現場控制調試的效率提高了50%以上。

4 結束語

本文提出了一種組態調試器的設計與實現方法,并將其運用在工業控制器中,成功實現了復雜算法邏輯的單步執行、逐頁逐模塊以及斷點調試等功能。在實際應用中,用戶利用工業控制器的調試器功能,極大地提高了工業控制算法邏輯組態的正確性和合理性,便于現場對復雜對象控制算法邏輯的調試和優化,確保了現場控制的可靠運行。

[1] 王常力,羅安.分布式控制系統 (DCS) 設計與應用實例[M].北京:電子工業出版社,2016.

[2] 王明武,張士勇,陳應舒.IEC61131-3編程語言的現狀與發展[J].制造業自動化,2010,32(A5):102-104.

[3] 譚伯龍.面向工業機器人控制器的軟PLC系統軟件開發[D].南京:東南大學,2015.

[4] 翟永杰,張鵬,張悅.火電廠仿真機中的DCS仿真方式與關鍵技術[J].中國電力,2010(Z4):7-14.

[5] 常志恒,肖鐵軍,史順波.基于JTAG的片上調試器與調試系統的設計實現[J].計算機工程與應用,2012,48(30):78-82.

[6] 姚藍,羅威,王亞磊,等.嵌入式系統遠程調試軟件的設計與實現[J].工業控制計算機,2007,20(4):52-53.

[7] 曾杰,蔣澤軍.嵌入式遠程調試器的設計與實現[J].計算機測量與控制,2005,13(7):731-733.

[8] 關文祥.運動控制器指令編譯系統的研究與實現[D].廣州:廣東工業大學,2010.

[9] 吳潔瓊,蔡啟仲,潘紹明,等.基于ARM-FPGA的小型PLC邏輯運算控制器的設計[J].計算機工程與設計,2016,37(9):2394-2399.

[10]周濤,項嶸,李浩,等.基于嵌入式Linux的工業控制系統設計與實現[J].電子設計工程,2016,24(7):23-25.

[11]王華忠.工業控制系統及應用:PLC與組態軟件[M].北京:機械工業出版社,2016.

ImplementationMethodofConfigurationDebuggerforIndustrialController

WU Bo,NIU Honghai,LU Haisong

(NR Electric Co.,Ltd.,Nanjing 211102,China)

In the field of industrial process control,the single step execution and breakpoint debugging of the complex control logic in controller are usually necessary to ensure the correctness and rationality of the logic.However,most industrial controllers provided by the manufacturers do not support such functions.In order to solve this problem,the functions of debugger of advanced programming language C/C++ are researched systematically, and the design principle of program breakpoint and the implementation mechanism of debugger are included.A debugger orienting algorithm configuration is designed according to the language features of industrial controller algorithm configuration.The debugger is applied in the embedded software system of the industrial controller,through the interactive design of algorithm logic operation unit,the test functions of single step execution,page by page,module by module and breakpoint for the complex logic are implemented successfully.The test results indicate that the industrial controller which integrates the functions of configuration debugger can greatly ease the field configuration and deep debugging for the project implementation,and effectively reduce the error rate of the configuration algorithm,and improve the efficiency of project commissioning.This controller references for realizing omnidirectional diagnostic function and virtual simulation of industrial controllers.

Industrial controller; Algorithm configuration; Debugger; Single step execution; Breakpoint debugging; Embedded development; DCS; PLC

TH86;TP273

: A

10.16086/j.cnki.issn1000-0380.201709022

修改稿收到日期:2017-03-18

吳波(1984—),男,碩士,工程師,主要從事工業控制產品的研發工作。E-mail:wubo@nrec.com。

猜你喜歡
指令調試
聽我指令:大催眠術
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
基于航拍無人機的設計與調試
電子制作(2018年12期)2018-08-01 00:47:44
核電廠主給水系統調試
中國核電(2017年1期)2017-05-17 06:10:11
無線通信中頻線路窄帶臨界調試法及其應用
電子制作(2017年19期)2017-02-02 07:08:38
殺毒軟件中指令虛擬機的脆弱性分析
電信科學(2016年10期)2016-11-23 05:11:56
調壓柜的調試與試運行探討
工業電氣設備控制系統的安裝與調試
音頻處理器的調試
主站蜘蛛池模板: 久久毛片基地| 欧美在线综合视频| 日韩视频免费| 黄色网站在线观看无码| 免费一级无码在线网站| 色综合五月婷婷| 精品中文字幕一区在线| 毛片三级在线观看| 欧美一级黄片一区2区| 国产精品亚洲欧美日韩久久| 国产女同自拍视频| 国产精品第一区| 精品午夜国产福利观看| 91亚洲精选| 亚国产欧美在线人成| 久久久精品国产SM调教网站| 国产欧美日韩专区发布| 亚洲三级色| 免费国产高清精品一区在线| 国产成人精品亚洲77美色| 亚洲天堂视频在线观看| 亚洲永久色| 国产日本欧美在线观看| 精品视频福利| 午夜啪啪网| AV不卡在线永久免费观看| 福利视频99| 欧美成人午夜影院| 日韩天堂视频| 久久6免费视频| 欧美翘臀一区二区三区| 思思热在线视频精品| 亚洲天堂日本| 91免费片| 激情亚洲天堂| 在线播放国产99re| 日本三级欧美三级| 亚洲国产综合第一精品小说| 亚洲日本在线免费观看| 91外围女在线观看| 亚洲自偷自拍另类小说| 996免费视频国产在线播放| 国产精品亚洲天堂| 成人亚洲天堂| 人妻无码中文字幕一区二区三区| 99久久这里只精品麻豆| 亚洲中文字幕av无码区| 免费啪啪网址| 国产一级毛片高清完整视频版| 一本大道香蕉久中文在线播放 | 国产精品亚欧美一区二区| 爱色欧美亚洲综合图区| 久久精品人人做人人爽| 精品久久国产综合精麻豆| 久久久久久久97| 国产欧美精品午夜在线播放| 欧美亚洲另类在线观看| 亚洲成aⅴ人片在线影院八| 国产va在线| 免费AV在线播放观看18禁强制| 欧美日韩免费在线视频| 日本91在线| 国产麻豆福利av在线播放| 波多野结衣一二三| 欧美三級片黃色三級片黃色1| 亚洲浓毛av| 免费全部高H视频无码无遮掩| 亚洲欧洲日韩综合色天使| 尤物成AV人片在线观看| 国产乱人伦AV在线A| 久久精品中文字幕免费| 免费全部高H视频无码无遮掩| 91亚洲精选| 日韩AV手机在线观看蜜芽| 天天综合天天综合| 色综合激情网| 久久婷婷六月| 老司机久久精品视频| 亚洲欧美日韩中文字幕在线一区| 天堂成人av| 亚洲三级影院| 精品国产自|