結構化文本語言開發(fā)工具的設計與實現(xiàn)
發(fā)布時間:2021-11-04 02:26
目前,可編程控制器已廣泛應用于工業(yè)控制領域。相較于傳統(tǒng)可編程控制器,嵌入式可編程控制器以嵌入式芯片為核心,具有靈活的硬件結構,使用簡單且開發(fā)周期短,得到國內(nèi)外的廣泛認可。結構化文本(Structured Text,ST)語言作為可編程控制器常用的編程語言,易于實現(xiàn)復雜的控制程序。因此,本文設計并實現(xiàn)一款適用于嵌入式可編程控制器的ST開發(fā)工具,并針對嵌入式設備中通用的C語言,提出了一種ST語言到C語言的轉換方法,從而提高開發(fā)工具對嵌入式可編程控制器的兼容性。本文重點研究ST開發(fā)工具及編譯器模塊的設計與實現(xiàn),具體內(nèi)容如下:1)深入研究IEC61131-3標準規(guī)定的公用元素和ST程序結構,實現(xiàn)ST編譯器前端設計。主要描述ST語言的詞法規(guī)則和語法規(guī)則,并構建、分析ST抽象語法樹。2)對于ST編譯器后端設計,本文制定ST語言和目標C語言之間的轉換規(guī)則。并根據(jù)可編程控制器的內(nèi)存特點及硬件結構,設計內(nèi)存映射規(guī)則。為了描述可編程控制器特殊的程序組織單元,本文采用C語言實現(xiàn)ST的標準函數(shù)以及標準功能塊。3)ST語言支持時間類型,本文以定時器為例,構建ST程序及C程序的時間自動機模型,采用UPPAAL工具...
【文章來源】:杭州電子科技大學浙江省
【文章頁數(shù)】:87 頁
【學位級別】:碩士
【部分圖文】:
圖2.4可編程控制器編程語言示例圖??2.2?ST語言程序結構??結構化文本(Structured?Text,?ST)編程語言是一種類似于PASCAL的高級編??
單詞符號的識別。該方法中采用GetNextChar〇方法獲取下一個單詞符號并進行??識別操作,采用StringBuilder類型的變量builder作為字符緩沖區(qū),用于臨時保??存讀入的字符。GetNextToken()程序流程圖如圖3.2所示。??C?了)?丫或 ̄*?過濾注釋???n?[賄關?|??%空字?+字母或’,—沖區(qū)中,直到識—??I?lT不為鐘、齡或????符1,r??N???Y丫??獲取下-個字符,叫,H溫::1?|構?臺鍵字|???直到curC'har不為空????Token??——^——n????新建1<—并初始化?_?Token??11數(shù)字、^?」構造數(shù)值文字|???斷當前?字符? ̄?lokcn??<^\scurChar//>??J?丨1?」構造直接表|???H?接表^示童?Token??J ̄ ̄ ̄|?t|?構造數(shù)組????H?為數(shù)組^1?Token??■?其他字符識別《????圖3.2?GetNextToken程序流程圖??圖中描述了不同類型Token的識別過程。其中,其他字符包括了單/雙字節(jié)??字符。若為單字節(jié)界符,則直接識別,類型為其ASCII碼。若為雙字節(jié)界符,??19??
?杭州電子科技大學碩士學位論文???(3)規(guī)則三:POU轉換規(guī)則??作為面向?qū)ο蟮木幊陶Z言,一個POU包含用于模塊化目的和結構化的明確??定義的程序部分,本文所實現(xiàn)的POU包括程序、功能塊、函數(shù)。在ST語言轉??換過程中,全局/局部變量在C語言中仍為全局/局部變量,變量數(shù)據(jù)類型則根據(jù)??表3.4轉換為等價的數(shù)據(jù)類型。POU轉換細節(jié)如下:??1)P0U類型為程序:將程序轉換為void類型的函數(shù)FirstProgramSubO,該??函數(shù)為設備中運行的主進程函數(shù)。若定義功能塊實例,則轉換時需在C語言中??定義該實例的輸出變量,且為指針變量,命名格式為“實例名_輸出變量名”。程??序轉換示例如圖3.6所示。??
【參考文獻】:
期刊論文
[1]可編程控制器(PLC)新技術[J]. 嚴義. 自動化博覽. 2018(06)
[2]基于狀態(tài)轉換的PLC程序模型構建方法[J]. 常天佑,魏強,耿洋洋. 計算機應用. 2017(12)
[3]基于IEC61131-3標準的ST轉化為IL語言的設計與實現(xiàn)[J]. 張玉姣,卓懷忠,沈開奎,郭虎鋒,潘景霞. 自動化與儀表. 2016(09)
[4]基于N叉樹的PLC功能塊向指令表的轉換算法研究[J]. 周偉,張得禮. 機電工程. 2015(12)
[5]基于普通Petri網(wǎng)的梯形圖中接通延時定時器的建模方法[J]. 溫世剛,羅繼亮,倪會娟,陳雪琨. 計算機科學. 2014(07)
碩士論文
[1]面向工業(yè)控制器編程語言的中間語言研究[D]. 龐海萍.華東師范大學 2018
[2]ST語言編程平臺的設計及其到C語言的轉換[D]. 張吉.杭州電子科技大學 2016
[3]FBD平臺開發(fā)以及與梯形圖轉換的研究[D]. 李婧.杭州電子科技大學 2015
[4]梯形圖與腳本語言互換方法的研究[D]. 吳盼盼.杭州電子科技大學 2013
[5]開放式數(shù)控系統(tǒng)軟PLC運行系統(tǒng)的研究與開發(fā)[D]. 王亞男.陜西科技大學 2012
[6]SFC到梯形圖的轉換算法設計與實現(xiàn)[D]. 吳松松.杭州電子科技大學 2011
[7]基于LMI的PLC功能塊圖和順序功能圖的相互轉換技術[D]. 許文靚.大連理工大學 2010
本文編號:3474810
【文章來源】:杭州電子科技大學浙江省
【文章頁數(shù)】:87 頁
【學位級別】:碩士
【部分圖文】:
圖2.4可編程控制器編程語言示例圖??2.2?ST語言程序結構??結構化文本(Structured?Text,?ST)編程語言是一種類似于PASCAL的高級編??
單詞符號的識別。該方法中采用GetNextChar〇方法獲取下一個單詞符號并進行??識別操作,采用StringBuilder類型的變量builder作為字符緩沖區(qū),用于臨時保??存讀入的字符。GetNextToken()程序流程圖如圖3.2所示。??C?了)?丫或 ̄*?過濾注釋???n?[賄關?|??%空字?+字母或’,—沖區(qū)中,直到識—??I?lT不為鐘、齡或????符1,r??N???Y丫??獲取下-個字符,叫,H溫::1?|構?臺鍵字|???直到curC'har不為空????Token??——^——n????新建1<—并初始化?_?Token??11數(shù)字、^?」構造數(shù)值文字|???斷當前?字符? ̄?lokcn??<^\scurChar//>??J?丨1?」構造直接表|???H?接表^示童?Token??J ̄ ̄ ̄|?t|?構造數(shù)組????H?為數(shù)組^1?Token??■?其他字符識別《????圖3.2?GetNextToken程序流程圖??圖中描述了不同類型Token的識別過程。其中,其他字符包括了單/雙字節(jié)??字符。若為單字節(jié)界符,則直接識別,類型為其ASCII碼。若為雙字節(jié)界符,??19??
?杭州電子科技大學碩士學位論文???(3)規(guī)則三:POU轉換規(guī)則??作為面向?qū)ο蟮木幊陶Z言,一個POU包含用于模塊化目的和結構化的明確??定義的程序部分,本文所實現(xiàn)的POU包括程序、功能塊、函數(shù)。在ST語言轉??換過程中,全局/局部變量在C語言中仍為全局/局部變量,變量數(shù)據(jù)類型則根據(jù)??表3.4轉換為等價的數(shù)據(jù)類型。POU轉換細節(jié)如下:??1)P0U類型為程序:將程序轉換為void類型的函數(shù)FirstProgramSubO,該??函數(shù)為設備中運行的主進程函數(shù)。若定義功能塊實例,則轉換時需在C語言中??定義該實例的輸出變量,且為指針變量,命名格式為“實例名_輸出變量名”。程??序轉換示例如圖3.6所示。??
【參考文獻】:
期刊論文
[1]可編程控制器(PLC)新技術[J]. 嚴義. 自動化博覽. 2018(06)
[2]基于狀態(tài)轉換的PLC程序模型構建方法[J]. 常天佑,魏強,耿洋洋. 計算機應用. 2017(12)
[3]基于IEC61131-3標準的ST轉化為IL語言的設計與實現(xiàn)[J]. 張玉姣,卓懷忠,沈開奎,郭虎鋒,潘景霞. 自動化與儀表. 2016(09)
[4]基于N叉樹的PLC功能塊向指令表的轉換算法研究[J]. 周偉,張得禮. 機電工程. 2015(12)
[5]基于普通Petri網(wǎng)的梯形圖中接通延時定時器的建模方法[J]. 溫世剛,羅繼亮,倪會娟,陳雪琨. 計算機科學. 2014(07)
碩士論文
[1]面向工業(yè)控制器編程語言的中間語言研究[D]. 龐海萍.華東師范大學 2018
[2]ST語言編程平臺的設計及其到C語言的轉換[D]. 張吉.杭州電子科技大學 2016
[3]FBD平臺開發(fā)以及與梯形圖轉換的研究[D]. 李婧.杭州電子科技大學 2015
[4]梯形圖與腳本語言互換方法的研究[D]. 吳盼盼.杭州電子科技大學 2013
[5]開放式數(shù)控系統(tǒng)軟PLC運行系統(tǒng)的研究與開發(fā)[D]. 王亞男.陜西科技大學 2012
[6]SFC到梯形圖的轉換算法設計與實現(xiàn)[D]. 吳松松.杭州電子科技大學 2011
[7]基于LMI的PLC功能塊圖和順序功能圖的相互轉換技術[D]. 許文靚.大連理工大學 2010
本文編號:3474810
本文鏈接:http://www.sikaile.net/kejilunwen/ruanjiangongchenglunwen/3474810.html
最近更新
教材專著