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

基于IEC61131-3標準的ST轉化為IL語言的設計與實現

2016-01-18 02:44:37
自動化與儀表 2016年9期
關鍵詞:程序文本內容

(許繼電氣股份有限公司,許昌 461000)

IEC61131-3國際標準為工業自動化控制系統的軟件設計提供了標準化的編程概念和編程方法。其為開發應用程序提供了指令表IL、結構化文本ST、順序功能圖(文本版本)3種文本化語言和梯形圖LD、功能圖FBD、順序功能圖(圖形版本)3種圖形化語言[1]。ST做為工業控制平臺的一種結構文本編程語言,有標準的關鍵字和語法結構,通過編程實現簡潔、快速、高效程序控制的目的[2]。IL是一種便于使用的類似匯編器的編程語言,同時又作為其它文本化語言和圖形化語言轉譯的公用中間語言。

編譯程序是現代計算機系統的基本組成部分之一,它是將一種語言書寫的程序(源程序)翻譯成另一種語言(目標語言)的等價程序,這是典型的處理模式,并非所有編譯器都必須如此劃分或者必須包含上述所有階段。不過,多數使用的編譯程序,包括本文的ST到IL語言的轉化,也是采用上述幾個階段的工作過程[3-4]。目前,許繼特高壓直流輸電系統控制保護平臺需要把編程語言轉化為IL公用中間語言供底層調用,本文針對ST到IL語言的轉化提出了設計方案并對實現方法進行描述。以此為基礎開發出的可視化的工業控制平臺,進行實例測試,效果良好。本文只針對ST語言到IL語言的轉化進行描述。

1 ST語言到IL語言轉化設計

ST語言到IL語言的轉化主要分為語法檢查、結構分解、錯誤處理三方面的內容,圖1所示為轉化設計的總體方案流程。

圖1 總體方案流程Fig.1 Flow chart of overrall plan structure

語法檢查的過程是ST語言轉化為IL語言的必要過程,只有語法檢查沒有錯誤,才進行轉化過程[5]。ST語言需要進行語法檢查,確定程序是否符合ST語言的語法結構[6-7]。把程序通過正則表達式的匹配分解為符號、關鍵字等最小單元,分析其前后是否符合語法結構[8];如果符合語法結構,語法檢查成功,否則把錯誤的語法結構輸出,顯示在錯誤列表中,用戶可以直接看出自己的程序錯誤出現在哪里[9]。

語法檢查正確后,就可進行ST語言向IL語言的轉化算法。首先通過正則表達式把ST程序分解為符號、關鍵字等最小單元,然后順序地逐個讀取,不同的關鍵字采用不同的情況處理,和IL語言一一對應,最后輸出相同邏輯的IL程序文件[10]。

2 ST語言到IL語言轉化實現

2.1 語法分解

根據上文的設計思路,圖2所示為ST語言到IL語言轉化的詳細流程。

圖2 轉化流程Fig.2 Transformation design flow chart

首先得到ST程序的行數,然后逐行地讀取程序內容,并對讀取到的內容進行分析編譯。得到某一行的程序內容之后,通過正則表達式的匹配,把此行的內容分解為最小單元,然后逐個讀取每一個小單元。由于程序中包括了注釋和控制程序的部分,所以小單元的內容被分為了注釋、終結符、關鍵字、其它4種情況。

注釋部分是對程序的說明,不參加程序的運行;同時IL語言和ST語言的注釋格式相同,所以只需要把注釋部分保持不變寫到IL文件里。

終結符是指一個控制語句結束的標志,在ST語言中使用“;”做為終結符,以賦值語句“a:=2;”為例, 正則表達式把這個語句分解為了 “a”、“:=”、“2”、“;”4個小單元,當讀到前3個小單元的時候,會把內容保存到TempText這個變量里面,讀到最后一個終結符的時候,會處理TempText里面的內容,即把ST語句的“a:=2”轉化為相同邏輯的IL語句,處理結束把TempText變量清空,用來記錄后面的小單元的內容,并把生成的IL語句寫入到IL文件里。

關鍵字指ST語法結構的關鍵字母。ST語法包括了IF條件、Case條件、FOR循環、WHILE循環、REPEAT循環、EXIT退出、RETURN返回7種情況,每種情況都有自己獨特的結構。IF條件的情況可以是 IF…TEHN…ELSE..END_IF這種結構,“IF”、“THEN”、“ELSE”和“END_IF”4個小單元都是關鍵字。當讀到關鍵字的時候,會把當前這個關鍵字的相關信息壓入堆棧,然后再判斷是否需要處理此時TempText里面的內容,如果需要處理,把處理結果寫入IL文件,如果不需要處理,繼續讀取下面的單元。除了上面說明的3種情況,其它的文本內容都寫入TmepText里面,等待需要處理的時候再處理。

TempText的內容多是四則運算或者邏輯運算,運算過程中涉及運算優先級的問題,通過逆波蘭算法的應用,把運算表達式轉化為后綴表達式,成功地解決各個運算符的優先級問題,提高了處理TempText的效率和正確性[4]。

結合圖2,經過上述的幾個步驟,語法結構正確的ST程序轉化為相同邏輯的IL程序,實現ST語言到IL語言的轉化。

2.2 實現結果

本節以一段ST語言的程序為例,將其轉化為IL語言。此段ST程序包括了賦值語句和條件語句,程序如下所示:

轉化為相同的邏輯的IL語言如下所示:

通過本文的設計方法,可以快速準確地把ST語言轉化為IL語言。

3 結語

通過上述的設計方法,成功地把ST語言轉化為了相同邏輯的IL語言,解決了特高壓直流輸電系統控制保護平臺軟件中ST編輯器轉化為IL語言的問題,保證了平臺的高效性和完整性。基于此方法設計的工業控制平臺中的ST編輯器,在實際工程中得到了很好的應用,提高了工業控制平臺的整體性能。同時,此設計方法和傳統的編譯器思想一致,但此方法操作簡單、易讀性強,也同樣適用于別的文本語言之間的轉化,為文本編程語言的相互轉化提供了很好的思路。

[1]梁世武,李加恒,朱立國,等.基于IEC61131-3標準的ST語言文法分析器的實現與應用[J].儀器儀表標準化與計量,2015(5):26-29.

[2]王馨梅,王冬芳.編譯器前端自動構造的研究與實現[J].微機發展,2004,14(4):82-83.

[3]郭書杰,馬躍,王品.基于IEC61131-3的IL編譯器的設計與實現[J].計算機工程與設計,2010,31(10):2300-2302.

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

[5]徐穎,李春江,董鈺山,等.GCC編譯器中編譯指導的自動向量化實現[J].計算機科學,2014,41(S2):364-367.

[6]侯愷.工業組態軟件中CFC語言的設計實現及語言轉換的研究[D].西安:西安電子科技大學,2013.

[7]張媛.堆棧在語法分析中的應用[J].天津科技,2014(4):20-22.

[8]王雙慶,邢建春,王平,等.基于IEC61131-3的控制器組態軟件開發[J].微計算機信息,2007,23(13):56-58.

[9]P Marwedel,R Leupers.Retargetable Compiler Technology for Embedded Systems:Tools and Applications[M].Kluwer Academic,2001.

[10]戴桂蘭,張素琴.編譯系統中間代碼的一種抽象表示[J].電子學報,2002,30(12A);2134-2137.

猜你喜歡
程序文本內容
內容回顧溫故知新
科學大眾(2022年11期)2022-06-21 09:20:52
在808DA上文本顯示的改善
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
基于doc2vec和TF-IDF的相似文本識別
電子制作(2018年18期)2018-11-14 01:48:06
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
主要內容
臺聲(2016年2期)2016-09-16 01:06:53
文本之中·文本之外·文本之上——童話故事《坐井觀天》的教學隱喻
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
如何快速走進文本
語文知識(2014年1期)2014-02-28 21:59:13
主站蜘蛛池模板: 在线播放精品一区二区啪视频| 91精品啪在线观看国产91九色| 丁香六月激情综合| 久久综合亚洲色一区二区三区| 欧美成人免费| 99热这里只有精品免费国产| 成人伊人色一区二区三区| 亚洲国产综合精品中文第一| 亚洲天堂伊人| 99er精品视频| 18黑白丝水手服自慰喷水网站| 九九香蕉视频| 国产精品任我爽爆在线播放6080| 秋霞国产在线| 国产精品亚洲综合久久小说| 日韩小视频网站hq| 日韩AV手机在线观看蜜芽| 国内精品视频在线| 中国一级特黄视频| 欧美日本在线一区二区三区| 国产色偷丝袜婷婷无码麻豆制服| 欧美精品亚洲日韩a| 欧美天堂在线| 欧美精品亚洲日韩a| 亚洲床戏一区| 国产日产欧美精品| 日本在线免费网站| 久久精品国产国语对白| a天堂视频| 中文成人无码国产亚洲| 欧美成人精品一级在线观看| 久久夜色精品| 亚洲精品动漫| 亚洲码一区二区三区| 成人免费视频一区| 久久香蕉国产线看观看精品蕉| 露脸真实国语乱在线观看| 在线中文字幕日韩| 亚洲乱亚洲乱妇24p| 色国产视频| 精品91视频| 一区二区在线视频免费观看| 精品偷拍一区二区| 久草热视频在线| 999国产精品永久免费视频精品久久| 欧美色香蕉| 在线观看精品国产入口| 乱人伦视频中文字幕在线| 最新国语自产精品视频在| 中文字幕永久视频| 日韩毛片免费| 亚洲无码日韩一区| 精品国产乱码久久久久久一区二区| 欧美在线三级| 成人午夜天| 青青国产在线| 久久精品人人做人人综合试看| 色偷偷综合网| 人妻无码中文字幕第一区| 亚洲午夜福利精品无码不卡| 成·人免费午夜无码视频在线观看 | 国产a在视频线精品视频下载| 就去吻亚洲精品国产欧美| 露脸真实国语乱在线观看| 米奇精品一区二区三区| 天堂岛国av无码免费无禁网站| 亚洲天堂视频在线免费观看| 久久国产拍爱| 五月天福利视频| 永久毛片在线播| 无码啪啪精品天堂浪潮av | 黄色在线不卡| 亚洲AV无码一二区三区在线播放| 色欲色欲久久综合网| 欧美日韩在线亚洲国产人| 99热最新网址| 亚洲欧洲国产成人综合不卡| 亚洲综合精品香蕉久久网| 九色免费视频| 在线观看国产小视频| 亚洲第一黄色网| 久久人午夜亚洲精品无码区|