以作者查詢圖書館館藏 、以作者查詢臺灣博碩士 、以作者查詢全國書目 、勘誤回報 、線上人數:130 、訪客IP:3.147.67.111
姓名 林佳育(Chia-Yu Lin) 查詢紙本館藏 畢業系所 資訊工程學系 論文名稱 用於繪製風力發電控制邏輯之特定領域語言
(A Domain-Specific Language for Designing the Control Logic of Wind Power System)相關論文 檔案 [Endnote RIS 格式] [Bibtex 格式] [相關文章] [文章引用] [完整記錄] [館藏目錄] [檢視] [下載]
- 本電子論文使用權限為同意立即開放。
- 已達開放權限電子全文僅授權使用者為學術研究之目的,進行個人非營利性質之檢索、閱讀、列印。
- 請遵守中華民國著作權法之相關規定,切勿任意重製、散佈、改作、轉貼、播送,以免觸法。
摘要(中) 風力發電系統需要良好的風扇葉片與發電機匹配,以獲得最佳發電效能。該領域研究者與工程師經常需要撰寫程式進行模擬實驗,並反覆修改邏輯以求獲得最大效益。然而該領域的程式設計者通常並非程式設計專家,往往流於使用複製剪貼來修改,既缺乏再利用性又容易出錯。
本研究製作一組專為設計風力發電控制邏輯所設計的DSL,此DSL可以滿足幾乎所有使用最大扭力超載、三相短路、機械式煞車以及最佳效率追蹤所組成之控制邏輯的繪製所需,本研究還製作了一組附帶的GUI,使用者可以選擇直接撰寫DSL或透過附帶的GUI來用拖拉方式繪製控制邏輯,此GUI會將繪製結果轉為DSL執行。本研究製作這組DSL主要是希望讓風力發電系統專業人員在頻繁修改控制邏輯以讓風力發電系統達到更高效能時可以更輕鬆,他們不需再從原始碼修改邏輯,透過撰寫本研究較高模組化的DSL可以更容易找到程式碼中因修改控制邏輯而需修改的地方。
摘要(英) A wind power system needs good match of blade and generator to get optimal efficiency. Researchers and engineers in the domain need to write a program for simulation, then modify control logic to make generating efficiency higher. However, programmer in the domain usually not expert in programming, so their code usually modified by copy-paste, it’s unreusable and easy to make a mistake.
Our work made a DSL for design wind power system’s control logic, the DSL can fit almost every control logic composed by four control models (maximum power point tracking, maximum torque loading current, three phase short circuit, and mechanical brake). Our work also provides a GUI for users to choose whether he wants to write DSL directly or design control logic by drawing on the GUI. The GUI will transform the control logic to DSL for user. Our purpose of making this DSL is to make wind power system domain’s experts easier to modify their control logic. They can find the place they need to modify in code easier by write our high modular DSL.
關鍵字(中) ★ 特定領域語言
★ 風力發電機關鍵字(英) 論文目次 中文提要 ……………………………………………………………… i
英文提要 ……………………………………………………………… ii
目錄 ……………………………………………………………… iii
一、 緒論………………………………………………………… 1
1-1
1-2
1-3
風力發電系統………………………………………………
特定領域語言………………………………………………
最終用戶的使用……………………………………………
1
1
2
二、 研究動機…………………………………………………… 3
三、 DSL 設計與所需公式……………………………………… 5
3-1 參數介紹……………………………………………………
6
3-1-1
3-1-2
3-1-3
3-1-4
3-1-5
3-1-6
3-1-7
3-1-8
3-1-9
3-1-10
3-1-11
風速………………………………………………………
尖速比……………………………………………………
葉片效率…………………………………………………
風力產生之力矩…………………………………………
發電機發電力矩…………………………………………
機械式煞車力矩…………………………………………
總力矩……………………………………………………
發電機效率………………………………………………
電控效率…………………………………………………
風葉每分鐘轉速…………………………………………
發電功率…………………………………………………
6
6
6
7
7
7
7
8
8
8
8
3-2 參數初始化(<Init>)……………………………………… 8
3-3 最佳效率追蹤(<MaxPower>)……………………………… 8
iv
3-4 三相短路(<ThreePhaseShortCircuit>)……………… 10
3-5 最大扭力電流抽載(<MaxTorqueCurrent>)…………… 10
3-6 機械式煞車(<ThreePhaseShortCircuit_MagBrake>
and <MaxTorqueCurrent_MagBrake>……………………
10
3-7 流程圖資料傳遞 ………………………………………… 11
3-8 DSL 使用方法 …………………………………………… 11
四、 實作 ……………………………………………………… 13
4-1 DSL 實作 ………………………………………………… 13
4-1-1
4-1-2
4-1-3
4-1-4
4-1-5
4-1-6
4-1-7
4-1-8
4-1-9
4-1-10
4-1-11
4-1-12
4-1-13
4-1-14
讀檔案之函式(readFile()) …………………………
剩餘資料量(left_data_size) ………………………
風速(WindSpeed)………………………………………
尖速比(Tsr)……………………………………………
葉片效率(Cp) …………………………………………
風力產生之力矩(Tb) …………………………………
發電機發電力矩(Tg) …………………………………
機械式煞車力矩(Tm) …………………………………
總力矩(Tt) ……………………………………………
發電機效率(eff_g)……………………………………
電控效率(eff_e)………………………………………
風葉每分鐘轉速(RPM)…………………………………
發電功率(power)………………………………………
參數儲存(Parameter)…………………………………
16
17
17
17
17
17
18
18
18
18
18
19
19
19
4-2
4-2-1
4-2-2
UI 操作 ……………………………………………………
以拖拉方式繪製流程圖 …………………………………
導出及導入流程圖 ………………………………………
20
20
21
v
4-2-3
4-2-4
選擇想繪製成折線圖的參數……………………………
顯示<MasonPy>提供的簡易除錯訊息 …………………
22
23
五、
5-1
5-2
5-3
六、
評估…………………………………………………………
可支援各式控制邏輯並讓使用者快速評估不同控制邏輯.
使用本研究 DSL 與使用原本方法之比較…………………
使用者的回饋………………………………………………
結論與展望…………………………………………………
25
25
29
33
34
參考文獻 ……………………………………………………………… 35參考文獻 [1] Book: Martin Fowler - Domain-Specific Languages (1st Edition, Kindle Edition)
[2] 曾柏元,「風力發電系統控制邏輯與過風速模擬」,國立台灣海洋大學,碩士論文,民國107年
[3] YungYu Zhuang and Jui-Hsiang Kao. A Framework for Programming in Engineering Domain. In proceedings of the 9th International Congress on Engineering and Information (ICEAI 2019), Osaka, Japan, May 7-9, 2019.
[4] 劉冠尚,「流程圖式特定領域語言之設計與實作」,國立中央大學,碩士論文,民國108年
[5] Marjan Mernik, Jan Heering and Anthony M. Sloane,“When and how to develop domain-specific languages”, ACM Computing Surveys, Vol 37 Issue 4,pp. 316-344, December 2005
[6]QT文件,取自https://doc.qt.io/
[7] P. Hudak, “Modular domain specific languages and tools”, Fifth International Conference on Software Reuse, Victoria, BC, Canada, Canada, June 1998
[8] N. Klarlund and M.I. Schwartzbach,“A domain-specific language for regular sets of strings and trees”, IEEE Transactions on Software Engineering, Vol 25 Issue 3, pp.378-386, May/Jun 1999
[9] matplotlib文件,取自https://matplotlib.org/contents.html
[10] Ankica Barišić, Vasco Amaral, Miguel Goulão, Bruno Barroca, “Evaluating the Usability of DomainSpecific Languages”
[11] Arie van Deursen, Paul Klint and Joost Visser,“Domain-Specific Languages:An Annotated Bibliography”, ACM SIGPLAN Notices Vol 35 Issue 6, pp.26-36, June 2000
[12] Diomidis Spinellis,“Notable design patterns for domain-specific languages”, Journal of Systems and Software, Vol 56 Issue 1, pp. 91-99, Feb 1,2001
[13] 開發人員的逆襲: Domain-Specific Languages,取自https://www.huanlintalk.com/2008/05/domain-specific-languages.html
[14] Bianchi, Fernando D., de Battista, Hernán and Mantz, Ricardo J, Wind Turbine Control Systems, Springer-Verlag London, 2007
[15] J. Feller, W. Phipps, R.T. Harris, A.G. Roberts,“Wind turbine control strategy for shaft stress reduction”, 2013 IEEE International Conference on Industrial Technology (ICIT), Cape Town, South Africa, Feb. 2013
[16] Souhila Zine, Benyounes Mazari, Mohamed Amine Bouzid, Youcef Mihoub, “Sliding mode control of wind turbine emulator”, 2014 International Renewable and Sustainable Energy Conference (IRSEC), Ouarzazate, Morocco, Oct. 2014
[17]GUI程式,來源:https://github.com/ncu-psl/MasonPy-System/tree/master/ MasonPy%20System/WindTurbine_DSL
[18] Herbert Prähofer, Dominik Hurnaus, Hanspeter Mössenböck,“Building End-User Programming Systems Based on a Domain-Specific Language”, Johannes Kepler University
指導教授 莊永裕 審核日期 2019-6-27 推文 facebook plurk twitter funp google live udn HD myshare reddit netvibes friend youpush delicious baidu 網路書籤 Google bookmarks del.icio.us hemidemi myshare