本發明涉及仿真。更具體地,涉及一種基于mdl格式的功能模型結構化解析方法和系統。
背景技術:
1、simulink是matlab中的一種可視化仿真工具。simulink是一個模塊圖環境,用于多域仿真以及基于模型的設計。它支持系統設計、仿真、自動代碼生成以及嵌入式系統的連續測試和驗證。simulink提供圖形編輯器、可自定義的模塊庫以及求解器,能夠進行動態系統建模和仿真。simulink與matlab相集成,能夠在simulink中將matlab算法融入模型,還能將仿真結果導出至matlab做進一步分析。目前廣泛應用于航空、工業自動化、大型建模、復雜邏輯、物理邏輯,信號處理等方面。
2、功能模型是對模型元素以及元素之間關系的結構化描述。由simulink平臺構建生成的功能模型,能夠支持基礎數學模型、連續時間模型、離散系統模型、輸入輸出信號源模型等設計師常用模型,能夠實現離散系統、連續系統等通用仿真過程。功能模型通常由設計師在本地建模軟件中構建,而設計師之間經常會對功能模型進行協同設計,所以為了提高模型協同設計效率,需要構建基于web的協同建模系統,提供在線模型協同設計功能。但是由于建模軟件的安裝和建模環境的限制,功能模型不能直接在線進行展示和編輯,mdl格式的文件也不能直接被協同建模系統使用,需要對功能模型進行解析。simulink是建立功能模型最常用的建模軟件之一,mdl是simulink的基礎模型格式,所以需要對mdl文件進行解析并轉換為基于web的協同建模系統和代碼能夠處理的json格式;json格式是一種輕量級的數據交換格式,能夠解決功能模型不能在線展示和編輯的問題,以實現模型的在線協同設計。
技術實現思路
1、本發明的目的在于提供一種基于mdl格式的功能模型結構化解析方法和系統,以解決現有技術存在的問題中的至少一個。
2、為達到上述目的,本發明采用下述技術方案:
3、本發明第一方面提供一種基于mdl格式的功能模型結構化解析方法,包括:
4、獲取mdl格式的功能模型,構建功能模型的解析數據;
5、將所述解析數據映射到預設的解析結構中,得到功能模型的json格式數據。
6、可選地,所述功能模型包括功能邏輯模型的名稱模塊、模型組件塊模塊、模型連接線模塊和模型注解模塊。
7、可選地,所述將所述解析數據映射到預設的解析結構中包括
8、解析所述功能邏輯模型的名稱模塊,構成映射到所述解析結構中的模型名稱;
9、解析所述模型組件塊模塊,得到映射到所述解析結構中的模型組件塊集合;
10、解析模型連接線模塊,得到映射到所述解析結構中的模型連接線集合;
11、解析模型注解模塊,得到映射到所述解析結構中的注解信息集合。
12、可選地,所述解析所述模型組件塊模塊,得到映射到所述解析結構中的模型組件塊集合包括
13、收集功能模型中所有的模型組件塊;
14、解析每個模型組件塊模塊,得到映射到模型組件塊集合的組件塊類型、組件塊名稱、組件塊id、組件塊左右兩邊的端口數、組件塊四個頂點位置、組件塊z軸次數和組件塊的背景顏色;
15、解析每個模型組件塊模塊的端口子模塊,得到映射到模型組件塊集合的端口信息。
16、可選地,所述解析模型連接線模塊,得到映射到所述解析結構中的模型連接線集合包括
17、收集功能模型中所有的模型連接線模塊;
18、解析每個模型連接線模塊,得到映射到解析結構中模型連接線集合的線段名稱、源組件塊名稱、源端口號和線段z軸次序;
19、判斷模型連接線模塊中是否有線段分支子模塊;
20、若有則尋找并解析每個線段分支子模塊,得到映射到模型連接線集合中線段分支集合中的目標組件塊名稱、目標端口號、分支交點位置和分支的z軸次序;
21、若沒有,則解析每個線段分支子模塊,得到映射到解析結構中模型組件塊集合的線段拐點位置、目標組件塊名稱和目標端口號信息。
22、可選地,所述解析模型注解模塊,得到映射到所述解析結構中的注解信息集合包括
23、收集功能模型中所有的模型注解模塊;
24、解析每個模型注解模塊,得到映射注解信息集合中的注解id、注解內容、注解位置和z軸次序。
25、可選地,所述預設的解析結構構建方法包括
26、在simulink中建立功能模型,并將其導出為mdl格式的文件;
27、分析mdl文件的結構,解析mdl文件內的配置信息和參數信息,提取功能模型的屬性,構建功能模型的解析數據;
28、根據所述解析數據構建json格式的解析結構。
29、可選地,所述分析mdl文件的結構,解析mdl文件內的配置信息和參數信息,提取功能模型的屬性,得到功能模型的解析數據包括
30、解析所述功能模型的名稱模塊,構成映射到所述解析結構中的模型名稱;
31、解析所述模型組件塊模塊,得到映射到所述解析結構中的模型組件塊集合;
32、解析模型連接線模塊,得到映射到所述解析結構中的模型連接線集合;
33、解析模型注解模塊,得到映射到所述解析結構中的注解信息集合。
34、可選地,所述解析結構包括描述模型名稱的模型名稱結構,描述模型組件塊集合的模型組件塊集合結構,描述模型連接線集合的模型連接線集合結構,描述注解信息集合的注解信息集合結構。
35、本發明第二方面提供一種基于mdl格式的功能模型結構化解析方法的系統,包括:
36、數據獲取模塊,用于根據獲取的功能模型構建功能模型的解析數據;
37、解析模塊,用于將所述解析數據映射到預設的解析結構中,得到功能模型的json格式數據。
38、本發明第三方面提供一種計算機設備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,其特征在于,所述處理器執行所述程序時實現本發明第一方面提供的方法。
39、本發明第四方面提供一種計算機可讀存儲介質,其上存儲有計算機程序,其特征在于,該程序被處理器執行時實現本發明第一方面提供的方法。
40、本發明的有益效果如下:
41、本發明通過對基于mdl格式的功能模型進行結構化解析,得到json格式的解析結構,使mdl格式的功能模型數據由非結構化數據轉換為結構化數據,mdl格式的功能模型通過解析結構解析后的json格式文件可以直接被web系統所使用,進而可以實現功能模型的在線展示,打破建模軟件的安裝和建模環境的環境限制。在線上系統對功能模型進行協同建模時,通過索引解析后的json格式文件中的鍵名對鍵值進行修改,以實現對功能模型的信息進行修改,本發明將功能模型的協同設計數據顆粒度由文件級細化至模塊級,提高功能模型協同設計效率。對json格式文件修改后,可以通過解析結構將修改信息同步到mdl格式文件,設計師可以在本地simulink建模軟件中打開同步信息后的mdl文件,繼續對功能模型進行建模,進而實現模型線上線下一體化協同設計。