[發明專利]一種PLC編程語言的編譯方法在審
| 申請號: | 201410354614.X | 申請日: | 2014-07-24 |
| 公開(公告)號: | CN104239115A | 公開(公告)日: | 2014-12-24 |
| 發明(設計)人: | 葉生紅;趙永杰 | 申請(專利權)人: | 汕頭大學;汕頭輕工裝備研究院 |
| 主分類號: | G06F9/45 | 分類號: | G06F9/45 |
| 代理公司: | 廣州三環專利代理有限公司 44202 | 代理人: | 溫旭 |
| 地址: | 515063 廣東省*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 plc 編程 語言 編譯 方法 | ||
技術領域
本發明涉及工業控制領域,尤其涉及一種PLC編程語言的編譯方法。?
背景技術
長期以來,計算機控制和傳統PLC控制一直是工業控制領域的兩種主要控制方法。PLC自1969年問世以來,以其功能強、可靠性高、使用方便、體積小等優點在工業自動化領域得到迅速推廣,成為工業自動化領域中極具競爭力的控制工具。伴隨著計算機技術的迅速發展和廣泛應用,人們逐漸認識到硬件PLC的種種弊端。首先由于生產廠商眾多,各種機型互不兼容,沒有統一的標準,在編程元件的種類、數目、編程語言等方面各不相同;其次,產品的功能實現依賴于硬件,數據結構相對封閉,用戶難以自由改變或增添PLC的功能;第三,現行的PLC產品,其編程方式要求使用者對PLC的硬件結構、PLC的電氣原理、編程指令均要有相當的了解,這就不利于PLC的進一步推廣和使用;第四,當PLC出現故障時,需由專業人員用專用工具檢測硬件,再維修,可維護性差;同時,其昂貴的價格也嚴重制約其發展。?
軟PLC是一種基于PC機的軟邏輯控制軟件,它具有硬PLC在功能、可靠性、速度、故障查找等方面的特點,利用軟件技術可以將標準的工業PC轉換成全功能的PLC過程控制器。軟件PLC綜合了計算機和PLC的開關量控制、模擬量控制、數學運算、數值處理、網絡通信、PID調節等功能,通過一個多任務控制內核,提供強大的指令集、快速而準確的掃描周期、可靠的操作和可連接各種I/O系統及網絡的開放式結構。它遵循IEC61131-3標準,支持多語言編程,所以,軟件PLC提供了與硬PLC同樣的功能,同時又提供了PC環境如PC機容量大、處理速度快、網絡互聯方便等PLC不具備的優點,是PC技術和PLC技術的結晶。研究軟PLC技術可以消除硬PLC本身具有的諸多不足之處,提高產品開發效率,使PLC性價比提高。應用于實際工程中后,將會極大提升企業的自動化水平和生產效率。基于PC的軟PLC,既有良好的人機交互功能,又有極快的數據處理能力和強大的網絡功能。研究基于PC的軟PLC控制系統,對降低成本、加強系統的開放性和推廣軟PLC在工業中的應用等具有很大的經濟意義。
如果能夠提出一個可以適用于多種硬件平臺的軟PLC控制方案,開發一個能夠對多種運行系統硬件平臺均適用的開發系統,這樣當用戶在使用不同廠商的硬件平臺作為軟PLC的運行系統時,使用該開發工具,則無需重新學習新硬件平臺的編程,省去了重新學習編程耗費的大量時間,因此具有十分重要的現實意義。而其中的問題,就在于如何將PLC程序編譯為軟PLC運行系統可以識別執行的代碼。?
發明內容
本發明的目的在于提供一種PLC編程語言的編譯方法,解決背景技術提到的將PLC?程序編譯為軟PLC?目標代碼的問題。?
為了實現上述的目的,采用如下的技術方案。一種PLC編程語言的編譯方法,包括指令表轉換、指令分析、中間代碼生成和目標代碼生成,所述指令表轉換是將PLC編程語言轉換成指令表源程序,所述指令分析是對指令表源程序進行詞法分析、語法分析和語義分析的綜合,它分析指令表源程序中某條指令是否正確,包括分析指令的操作碼是否存在,操作數代碼是否符合操作碼的要求和操作數是否超過操作數代碼的允許范圍,所述中間代碼生成是將指令表源程序翻譯成中間代碼,所述目標代碼生成是把中間代碼變換為特定機器上的絕對指令代碼或可以重定位的指令代碼。?
上述方案中,所述詞法分析是讀入指令表源程序,對構成指令表源程序的字符串進行掃描和分解,識別出指令表語言源程序中任何合法的單詞。所述詞法分析還可以完成預處理工作,所述預處理工作包括刪除注釋。?
上述方案中,所述語法分析是在詞法分析的基礎上根據指令表源程序的語法規則,把單詞符號串分解成各類語法單位。所述語法單位包括程序、字句、語句、程序段、表達式。?
上述方案中,所述語義分析審查指令表源程序中有無語義錯誤,為代碼生成階段收集類型信息。?
上述方案中,還包括代碼優化,所述代碼優化是對中間代碼進行變換或改造,使生成的目標代碼更為高效。?
上述方案中,還包括表格管理,所述表格管理用來建立變量、常量和過程標識符的說明與引用之間的信息聯系。?
上述方案中,還包括出錯處理,所述出錯處理用來對指令分析遇到的錯誤給出在指令表源程序中出錯的位置和錯誤性質。?
上述方案中,所述目標代碼生成是在指令表源程序和目標代碼之間建立一個指令和地址的目標代碼查詢表,逐行掃描編寫的指令表源程序,查表將指令表源程序中的指令翻譯成其對應的代碼,并將代碼按照規律組合起來形成可執行的目標代碼。?
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于汕頭大學;汕頭輕工裝備研究院,未經汕頭大學;汕頭輕工裝備研究院許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410354614.X/2.html,轉載請聲明來源鉆瓜專利網。





