Pmw格式文件中plc指令存儲規律的解讀及轉換方法
2023-10-09 20:32:59 3
專利名稱:Pmw格式文件中plc指令存儲規律的解讀及轉換方法
技術領域:
本發明涉及一種對電腦程式文件中的存儲內容進行解讀及轉換的方法,屬於自動控制領域;具體來說是對PMW格式文件中PLC指令的存儲規律進行解讀,並將PMW格式文件轉換成通用的文件格式。
背景技術:
一直以來,可編程邏輯控制器(Programmable Logic Controller, PLC)在自動控制領域都起著不可替代的作用,它為生產自動化提供了可靠的技術保障。現有的PLC產品種類繁多,如:歐姆龍、三菱、KEYENCE、松下、西門子等;但是它們在產品的體系結構等方面沒有統一的標準,這就大大的制約了 PLC的發展。它們的體系結構相對封閉,各個PLC廠家生產的硬體體系互不兼容;不同品牌的PLC所需要的PLC程序開發環境互不相同,甚者相同品牌的不同系列的PLC所需要的開發環境都不一樣。在程式語言和指令系統方面也存在很大的不同,當用戶選擇了一種PLC產品後,必須選擇與其相應的控制規程,並且學習特定的程式語言。正是由於各類PLC存在的各種差異,在一種PLC程序開發平臺下開發的PLC程序保存為特定格式的程序文件無法被其它開發平臺識別,如:三菱開發軟體FXGP-WIN-C生成的PMW格式文件無法被歐姆龍的CX-Programmer軟體打開。如果能獲知某種PLC程序文件的存儲格式將有利於實現其它軟體對該類PLC文件的兼容。PMW格式文件是由三菱PLC程序開發軟體生成的PLC程序文件。對PMW文件中PLC指令的存儲規律的解讀將有助於其它PLC開發及PLC仿真軟體對其實現兼容,如:虛擬PLC仿真平臺軟體能夠直接讀取並運行該類文件。
發明內容
針對上面的問題,本發明提出了一種PMW格式文件的解讀和轉換方法,該方法在分析了 PMW文件中PLC指令存儲規律的基礎上對其進行解讀並將其轉換成通用的文件格式。為了實現上述目的,本發明採用以下的技術方案:一種PMW格式文件中PLC指令存儲規律的解讀及轉換方法,包括如下步驟:S1.對已有基本順控指令在PMW文件中的存儲格式及編碼進行分析,得出基本順控指令存儲結構及編碼規律;S2.結合基本順控指令的儲存結構,獲取功能指令及步進梯形指令的存儲格式及編碼規律;得到編碼轉譯成指令的轉換算法;S3.利用指令的存儲、編碼規律及轉換算法,遍歷PMW文件,將PMW文件中的二進位編碼轉換成相應的ASCII碼,並存入成文本文件。優選的,所述基本順控指令是指PLC指令程式語言中的基本指令,應用基本指令能夠實現PLC的大部分控制功能。其中的基本指令是指PLC指令程式語言中應用最多的基本指令,如:LD、AND、OR、OUT等,應用該類指令能夠實現PLC的大部分控制功能。
所述PMW文件中的存儲格式指在PLC程序中的指令信息以怎樣的數據結構存放在PMW文件中,所述編碼為指令以二進位編碼的形式存放到數據結構單元中,所述的二進位編碼為指令在PMW文件中的存在方式。優選的,所述功能指令能夠實現某種特定的運算或者控制功能,所述步進梯形指令使得PLC程序實現步進控制,程序分段執行。所述功能指令及步進梯形指令為PLC指令語言中相對複雜的兩類,功能指令能夠實現某種特定的運算或者控制功能,如實現傳送(MOV等)、比較(CMP、ZCP等)、移位(SFTR等)功能。所述步進梯形指令使得PLC程序實現步進控制,程序分段執行。優選的,所述步驟S2結合基本順控指令的儲存結構,通過枚舉、推斷、歸納、總結的方式獲取功能指令及步進梯形指令的存儲格式及編碼規律;得到編碼轉譯成指令的轉換算法;所述枚舉是依次根據不同的指令相同的操作數,相同指令不同的操作數類型,相同指令不同的操作數編號獲取其相應的二進位編碼,將二進位編碼轉換成十六進位存放到指令編碼數據表格中;所述推斷是根據指令編碼數據表格中編碼,推斷可能存在的儲存編碼規律,並驗證推斷;所述歸納、總結是結合上述推斷和指令編碼表格,針對不同的指令相同的操作數,相同指令不同的操作數類型,相同指令不同的操作數等情況,分析出不同指令所佔據的字節長度、不同指令名/不同操作數/不同操作數編號對應的二進位編碼。其中不同指令所佔據的字節長度包括:雙字節、四字節、六字節、多字節,對於功能指令,每個指令名佔據兩個字節,每個操作數佔據四個字節。不同指令名、不同操作數、不同操作數編號對應的二進位編碼,如:SFTR指令對應0x8400,X類型元件對應0x04,編號12 (X類型)對應0x10。優選的,所述步驟S2的編碼轉譯成指令的轉換算法是將PMW文件中的二進位編碼轉換得到對應的PLC指令。所述遍歷PMW文件就是讀取整個PMW文件提取出PLC指令的儲存信息,除去沒用的編碼。所述二進位編碼轉換成相應的ASCII碼是將提取出的PLC存儲編碼,根據PLC指令數據結構儲存的特點及轉譯算法得到指令的ASCII碼形式。與現有技術相比,本發明的有益效果為:能夠實現將二進位編碼轉化成ASCII碼,並存入通用格式文本文件。解讀PMW文件的存儲格式及編碼規律,得出PMW文件中PLC指令的存儲算法,利用該算法實現轉換。此方法的實現有利用其它PLC開發平臺實現對PMW文件的兼容,提升PMW文件的可讀性。
圖1為PMW格式文件中PLC指令存儲規律的分析流程圖。圖2為功能指令(以SFTR指令為例)在PMW文件中的存儲編碼獲取流程圖。圖3為SFTR指令的存儲格式。圖4為ZRST指令的存儲格式。圖5為PMW格式文件的轉換流程圖。
具體實施例方式下面結合附圖對本發明做進一步描述,但本發明的實施方式並不限於此。如圖1所示,分析PLC各類指令在PMW格式文件中的存儲格式及編碼規律的步驟包括:對已有PLC的基本順控指令在PMW文件中的存儲特點進行分析,得到基本指令的存儲規律。 以上所述的已有PLC的基本順控指令在PMW文件中的存儲特點,是可以從現有相關文獻中找到的PLC基本指令的存儲信息,其中包含了 PLC不同的基本指令在PMW文件中的編碼及儲存格式。以LD指令編碼及儲存格式分析為例,通過改變指令操作數的類型及編號,統計對應的十六進位編碼如表I。表ILD指令的存儲結構(十六進位編碼)
權利要求
1.一種PMW格式文件中PLC指令存儲規律的解讀及轉換方法,其特徵在於,包括以下步驟: 51.對已有基本順控指令在PMW文件中的存儲格式及編碼進行分析,得出基本順控指令存儲結構及編碼規律; 52.結合基本順控指令的儲存結構,獲取功能指令及步進梯形指令的存儲格式及編碼規律;得到編碼轉譯成指令的轉換算法; 53.利用指令的存儲、編碼規律及轉換算法,遍歷PMW文件,將PMW文件中的二進位編碼轉換成相應的ASCII碼,並存入成文本文件。
2.根據權利要求1所述的PMW格式文件中PLC指令存儲規律的解讀及轉換方法,其特徵在於,所述基本順控指令是指PLC指令程式語言中的基本指令,應用基本指令能夠實現PLC的大部分控制功能。
3.根據權利要求1所述的PMW格式文件中PLC指令存儲規律的解讀及轉換方法,其特徵在於,所述功能指令能夠實現某種特定的運算或者控制功能,所述步進梯形指令使得PLC程序實現步進控制,程序分段執行。
4.根據權利要求1所述的PMW格式文件中PLC指令存儲規律的解讀及轉換方法,其特徵在於,所述步驟S2結合基本順控指令的儲存結構,通過枚舉、推斷、歸納、總結的方式獲取功能指令及步進梯形指令的存儲格式及編碼規律;得到編碼轉譯成指令的轉換算法; 所述枚舉是依次根據不同的指令相同的操作數,相同指令不同的操作數類型,相同指令不同的操作數編號獲取其相應的二進位編碼,將二進位編碼轉換成十六進位存放到指令編碼數據表格中; 所述推斷是根據指令編碼數據表格中編碼,推斷可能存在的儲存編碼規律,並驗證推斷; 所述歸納、總結是結合上述推斷和指令編碼表格,針對不同的指令相同的操作數,相同指令不同的操作數類型,相同指令不同的操作數等情況,分析出不同指令所佔據的字節長度、不同指令名/不同操作數/不同操作數編號對應的二進位編碼。
5.根據權利要求1所述的PMW格式文件中PLC指令存儲規律的解讀及轉換方法,其特徵在於,所述步驟S2的編碼轉譯成指令的轉換算法是將PMW文件中的二進位編碼轉換得到對應的PLC指令。
全文摘要
本發明公開一種PMW格式文件中PLC指令存儲規律的解讀及轉換方法,包括分析基本順控指令的存儲格式及編碼,得出基本順控指令存儲結構及編碼規律;結合基本順控指令的儲存結構,獲取功能指令及步進梯形指令的存儲格式及編碼規律;得到轉換算法;利用指令的存儲、編碼規律及轉換算法,遍歷PMW文件,將PMW文件中的二進位編碼轉換成ASCII碼,存入成文本文件。本發明能夠實現將二進位編碼轉化成ASCII碼,並存入通用格式文本文件。解讀PMW文件的存儲格式及編碼規律,得出PMW文件中PLC指令的存儲算法,利用該算法實現轉換。此方法的實現有利用其它PLC開發平臺實現對PMW文件的兼容,提升PMW文件的可讀性。
文檔編號G06F17/22GK103218349SQ20131007573
公開日2013年7月24日 申請日期2013年3月8日 優先權日2013年3月8日
發明者何漢武, 胡兆勇, 李濤濤 申請人:廣東工業大學