[發明專利]一種解析器的快速執行方法及快速執行系統有效
| 申請號: | 201710161150.4 | 申請日: | 2017-03-17 |
| 公開(公告)號: | CN107015840B | 公開(公告)日: | 2020-07-28 |
| 發明(設計)人: | 陳宏君;吳波;張磊;徐衛峰;文繼鋒;周磊;譚良良;劉克金;牛洪海 | 申請(專利權)人: | 南京南瑞繼保電氣有限公司;南京南瑞繼保工程技術有限公司 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41 |
| 代理公司: | 南京經緯專利商標代理有限公司 32200 | 代理人: | 葛瀟敏 |
| 地址: | 211102 江*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 解析 快速 執行 方法 系統 | ||
本發明公開一種解析器的快速執行方法,首先獲取指令文件,然后構建指令數組,讀取指令文件,根據指令類型編碼,和預先編譯的指令執行函數關聯,按照指令個數動態創建指令數組;運行過程中調度執行指令數組,從0開始按照遞增數組下標的順序執行,當執行到JUMP、BREAK指令,將當前執行的數組下標修改為JUMP、BREAK指令記錄的跳轉目的標號,之后順次執行從新下標起始對應的指令。本發明還公開一種解析器的快速執行系統,包括指令獲取模塊、指令函數模塊、指令構建模塊以及指令調度模塊。此種技術方案在提高解析器的執行效率的同時,還能支持ST語句的流程跳轉語句和支持可變形參指令,保證解析器支持的ST語言功能完整性。
技術領域
本發明屬于計算機語言編譯與解析處理領域,具體涉及一種解析型指令的快速執行方法及系統。
背景技術
IEC61131標準可提高工控制系統的開放性、標準性、統一性,已經在工控系統開發中獲得了認可。其中結構化文本以純文本的代碼來實現程序的邏輯,可實現復雜的控制算法,得到了廣泛應用。
結構化文本(ST)是一種類似于PASCAL的高級編程語言,需要轉換為裝置可運行的目標文件才能運行。已有的實現方法有編譯型和解析型兩種。編譯型需將ST代碼轉換為目標機器碼,執行速度快,但是可移植性不好,當更換硬件型號時,需重新開發編譯器的后端模塊。解析型是將ST代碼轉為中間指令,具有靈活性高、跨平臺支持好、可移植性強等優點,但是通常的解析執行方式,是根據指令類型做switch-case分支判斷,在實時性要求高的場合往往達不到要求。也有文獻提出類似中斷查找表的執行方法,能夠提高解析的速度,但是存在靈活性不夠、功能裁剪不完全支持ST功能等缺點,例如為了解決不同指令的操作數個數不一致的問題,通常進行簡化,將操作數按照全局區域順次劃分,每個操作數都固定區域大小,而實際的ST語言中有19種標準數據類型,數據類型并不相同,數據區域也分輸入區、輸出區、常量區、保持區等不同的區域,將所有操作數統一劃分到全局區,并不符合IEC61131標準的要求。此外,順序執行的中斷查找表不能支持JUMP、BREAK等流程調轉指令,這對ST語言來說,功能就大打折扣,無法滿足功能復雜的應用要求。故需要設計一種解析器的快速執行方法,在保證執行效率的同時,能完整支持ST語言的功能,本案由此產生。
發明內容
本發明的目的,在于提供一種解析器的快速執行方法及快速執行系統,在提高解析器的執行效率的同時,還能支持ST語句的流程跳轉語句和支持可變形參指令,保證解析器支持的ST語言功能完整性。
為了達成上述目的,本發明的解決方案是:
一種解析器的快速執行方法,包括如下步驟:
步驟1,獲取指令文件;
步驟2,構建指令數組,讀取指令文件,根據指令類型編碼,和預先編譯的指令執行函數關聯,按照指令個數動態創建指令數組;
步驟3,運行過程中調度執行指令數組,從0開始按照遞增數組下標的順序執行,當執行到JUMP、BREAK指令,將當前執行的數組下標修改為JUMP、BREAK指令記錄的跳轉目的標號,之后順次執行從新下標起始對應的指令。
上述步驟1中,指令文件由數據區、指令區和可選的調試信息區組成,其中數據區細分全局數據區、常量數據區、保持變量區、局部變量區,調試信息區內記錄變量名字符串和關聯的數據區地址。
上述步驟1中,指令包括固定形參格式的指令類型和可變個數的形參類型。
上述步驟2中,指令數組的成員是個復合結構體,包括指令執行函數指針、指令標號、形參個數、形參在數據區的地址及下條待執行的指令標號。
上述指令包括指令標號、指令類型編碼、形參個數、形參地址和形參變量類型信息。
上述步驟2中,指令文件通過網絡或串口通信傳輸方式,從客戶端軟件傳輸到裝置側。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南京南瑞繼保電氣有限公司;南京南瑞繼保工程技術有限公司,未經南京南瑞繼保電氣有限公司;南京南瑞繼保工程技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710161150.4/2.html,轉載請聲明來源鉆瓜專利網。





