Stateflow教程學習教案_第1頁
Stateflow教程學習教案_第2頁
Stateflow教程學習教案_第3頁
Stateflow教程學習教案_第4頁
Stateflow教程學習教案_第5頁
已閱讀5頁,還剩63頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、會計學1Stateflow教程教程(jiochng)第一頁,共68頁。Stateflow概述概述(i sh): Stateflow 是集成于 Simulink 中的圖形化設計與開發工具,主要用于針對控制系統中的復雜控制邏輯進行建模與仿真,Stateflow 適用于針對事件響應系統(Reactive System)進行建模和仿真。與事件響應系統相對應的就是動態變換系統(Dynamic Transformational System)。動態變換系統通常可以利用數學表達式、 方程等組成的輸入/輸出關系進行描述,像這樣的系統利用 Simulink 進行建模是最為方便的。而事件響應系統通常利用一些自然語

2、言或者邏輯表達式進行描述,這樣的系統就需要利用 Stateflow 來進行建模。Stateflow 與Simulink 結合起來,可以創建確定性監管控制系統。 利用 Stateflow 可視化的模型和直觀的仿真能力,可以清晰(qngx)、 簡潔地反映出復雜動態邏輯關系。 Stateflow 的基礎是有限狀態機理論,它通過對狀態圖、 流程圖的創建, 對事件驅動系統進行建模和仿真。第1頁/共68頁第二頁,共68頁。第一章第一章 創建創建(chungjin)(chungjin)狀態圖狀態圖Stateflow編輯器創建(chungjin)和編輯狀態圖第2頁/共68頁第三頁,共68頁。第3頁/共68頁第

3、四頁,共68頁。 執行(zhxng) Stateflow 編輯器 File 菜單下 的 Chart Properties 命令,打開屬性框第4頁/共68頁第五頁,共68頁。Keyword : State Actions 就是狀態動作。為數據對象進行賦值或者進行數據對象的運算也可以通過狀態動作進行事件廣播以觸發其他系統的變化狀態動作的關鍵字主要(zhyo)有三種:entry:當狀態被激活時執行相應的動作。exit:當狀態退出活動狀態時執行相應的動作during:當狀態保持其活動狀態時執行相應的 動作第5頁/共68頁第六頁,共68頁。2 . 創建創建(chungjin)連接節點連接節點 連接節點作

4、為轉移通路的判決點或匯合點,也是在狀態圖中常用的圖形元素之一,特別(tbi)是在流程圖中, 由于流程圖不能包含任何狀態, 因此只有依靠連接節點完成通路的連接和判斷分支,連接節點不是記憶元件。第6頁/共68頁第七頁,共68頁。節點上單擊鼠標右鍵,通過彈出的快捷菜單(ci dn)執行 Properties 命令,進入屬性框3. 創建創建(chungjin)轉移轉移 轉移是 Stateflow 框圖中最常見的圖形元素之一,無論是包含狀態的狀態圖中還是沒有狀態的流程圖中,幾乎都存在轉移。轉移描述的是有限狀態系統內的邏輯流。轉移管理了當系統從當前狀態改變時,這個系統可能發生的模式改變。當轉移發生時,源狀

5、態變為非活動的狀態, 目標狀態變為活動的狀態。轉移是帶有箭頭的線,這就使整個狀態圖或者流程圖成為了“有向圖”,狀態或者流程之間的轉換, 將直接受到轉移方向的約束。第7頁/共68頁第八頁,共68頁。第8頁/共68頁第九頁,共68頁。組成轉移標簽的四個部分不一定完整地出現,組成轉移標簽的四個部分不一定完整地出現,但是不論出現哪幾個部分,標簽的內容必須但是不論出現哪幾個部分,標簽的內容必須按照上面指定按照上面指定(zhdng)的順序書寫。的順序書寫。條件動作與轉移動作兩者之間的區別:條件動作在條條件動作與轉移動作兩者之間的區別:條件動作在條件滿足的情況下就能夠執行,而轉移動作需要在整個件滿足的情況下

6、就能夠執行,而轉移動作需要在整個轉移通路都有效的情況下,轉移通路都有效的情況下, 在執行轉移的時候才執行。在執行轉移的時候才執行。第9頁/共68頁第十頁,共68頁。狀態的時候,在其所有的子狀態中第一個被激活的狀態。n根據有限狀態機的要求, 當有限狀態系統被激活時, 必有相應的確定的某個狀態被激活。n而默認轉移(zhuny)就定義了當狀態機被激活或者層次模型中父層次狀態被激活時, 具體哪個子狀n態被激活。第10頁/共68頁第十一頁,共68頁。須有一個子狀態具有默認的轉移,同時該子狀態被稱為默認狀態。n由于 Stateflow 是一種事件驅動模型建模環境,不允許出現模型運行的二義性,因此,正確的使

7、用默認轉移就非常重要, 因為默認轉移就是用來改變狀態機或者父層次狀態被激活時, 相應的子狀態二義性的圖形元素n在默認轉移上添加標簽的方法和在一般的轉移上添加標簽的方法是一樣的,可以在默認轉移的標簽上加上事件和條件來進行限制,也可以將動作和默認轉移相關聯。不過, 一個有限狀態系統必須確保能夠正確地被激活, 這一點在使用默認轉移時非常重要,因為狀態機的默認轉移只有一次執行的機會。如果沒有(mi yu)明確的子狀態能夠被激活,系統會報告二義性錯誤第11頁/共68頁第十二頁,共68頁。5. 添加添加(tin ji)注釋:注釋:如果(rgu)需要在 Stateflow 的框圖中使用 LaTex 字符集,

8、 則需要按照下列步驟完成:(1) 在已經添加的文本上單擊鼠標右鍵, 這時將顯示快捷菜單;(2) 選擇快捷菜單中 Text Format 子菜單中的 LaTex Instructions 復選項;(3) 用鼠標單擊已經添加的文本注釋, 重新進入文本編輯模式;(4) 添加 LaTex 字符, 例如鍵入 y =itAealphaxsin(betaitt);(5) 在文本編輯區外單擊鼠標完成注釋的添加,此時的注釋內 容將變為y = Aeax sin( bt) ,如圖所示。第12頁/共68頁第十三頁,共68頁。單擊右鍵單擊右鍵在注釋在注釋(zhsh)上單擊鼠標右鍵而出現的快捷菜單。在上單擊鼠標右鍵而出現

9、的快捷菜單。在菜單中,共計有三個子菜單可以用來修改注釋菜單中,共計有三個子菜單可以用來修改注釋(zhsh)文本的外觀,文本的外觀, 分別為:分別為:Font Size: 設置注釋文本的尺寸。Text Format:設置注釋文本的基本格式,包 括粗體、 斜體和 LaTex 字符支持。Text Alignment:設置注釋文本的對齊方式, 包括左對齊、 居中和右對齊。第13頁/共68頁第十四頁,共68頁。第二章第二章 狀態圖的仿真狀態圖的仿真(fn zhn)(fn zhn)狀態圖的基本概念事件數據對象狀態圖的更新(gngxn)模式stateflow模型查看器第14頁/共68頁第十五頁,共68頁。第

10、15頁/共68頁第十六頁,共68頁。Scope 屬性:該屬性定義事件的作用類型。在 Add菜單下的 Event 子菜單中具有三個菜單命令,分別為 Local、Input from Simulink 和 Output to Simulink, 通過這三個菜單命令定義事件,得到的 Scope 屬性不一致。具有Local屬性的事件是在狀態圖內部發揮作用。具有Input from Simulink 屬性的事件是從 Simulink框圖輸入到 Stateflow 中的,也就是 Stateflow 框圖的外部觸發(chf)事件。具有 Output to Simulink 屬性的事件是從Stateflow

11、框圖輸出到 Simulink 中的,即利用 Stateflow 定義的事件驅動或者觸發(chf)其他 Stateflow 框圖或者子系統動作。第16頁/共68頁第十七頁,共68頁。Trigger 屬性:Trigger 屬性總共有四個可能值, 分別為 Either、 Falling、 Rising 和 FunctionCall。在 Simulink 條件執行子系統中, 特別是在使能或者觸發子系統中, 觸發子系統工作的觸發源就具有不同屬性。 觸發子系統的觸發源與這里的 Trigger 屬性的意義完全一樣, 分別為雙邊沿(binyn)觸發、 下降沿觸發、 上升沿觸發。 Function Call(函

12、數調用)是一類比較特殊的觸發屬性第17頁/共68頁第十八頁,共68頁。 運行過程(guchng)中, 單擊 Manual Switch 模塊向 Stateflow 框圖發出事件第18頁/共68頁第十九頁,共68頁。第19頁/共68頁第二十頁,共68頁。Scope 屬性:Local、 Input、Output 與事件相同Constant:所定義的數據對象在 Stateflow 模型中為常量即保持靜態,數據對象在Simulink/Stateflow 模型運行過程中其數值一般不發生變化,并且數據在模型中為只讀,不可寫的狀態。 Parameter:所定義的數據對象將通過 Stateflow 框圖的上層

13、 Simulink 子系統封裝之后的參數獲取初值。也就是說當 Stateflow 的框圖位于某個封裝子系統內部時,Stateflow的 Parameter 類型數據對象可以直接獲取封裝子系統設定的參數。具有 Parameter 屬性的數據對象與具有Constant 屬性的數據對象類似,在整個(zhngg)仿真過程中,Stateflow 不能修改其數值。Data Store Memory: 所定義的數據對象與 Simulink 數據空間共享, 也就是說, 該數據對象與 Simulink 工作空間中的某個數據對象相互綁定。 此時該數據對象的名稱必須與Simulink 工作空間中數據對象的名稱一致。

14、 第20頁/共68頁第二十一頁,共68頁。nFixed point 類型用于模型的定點數據設置(shzh), 若選擇了該類型,則可以完成 Stateflow 模型數據的量化處理。第21頁/共68頁第二十二頁,共68頁。Stateflow 的框圖有三種更新模式(msh), 分別為 Inherited、 Discrete 和 Continuous第22頁/共68頁第二十三頁,共68頁。(2) 未定義輸入事件但定義了輸入未定義輸入事件但定義了輸入數據。如果數據。如果 Stateflow 框圖沒有框圖沒有定義事件而定義了輸入數據,定義事件而定義了輸入數據,則則 Stateflow 框圖按照其連接的框圖

15、按照其連接的Simulink 輸入信號中更新頻率輸入信號中更新頻率最高的信號更新周期來更新框最高的信號更新周期來更新框圖,圖, 這相當于輸入數據的采樣這相當于輸入數據的采樣更新觸發了更新觸發了 Stateflow 框圖的執框圖的執行。行。(3) 既未定義輸入事件又未定義輸既未定義輸入事件又未定義輸入數據。如果入數據。如果 Stateflow 框圖既框圖既沒有定義輸入事件,又沒有定沒有定義輸入事件,又沒有定義輸入數據,則義輸入數據,則 Stateflow 框圖框圖繼承其父層次模型的更新周期。繼承其父層次模型的更新周期。如果如果 Stateflow 框圖位于系統模框圖位于系統模型的頂層,則型的頂層

16、,則 Stateflow 框圖繼框圖繼承模型的仿真周期作為自己的承模型的仿真周期作為自己的更新周期。更新周期。Discrete 更新模式,更新模式, 是將是將Stateflow 框圖看做有固定周期框圖看做有固定周期的離散塊,在設置該更新模式的離散塊,在設置該更新模式時,時, Stateflow 框圖屬性對話框框圖屬性對話框中的中的 Sample Time 屬性需要設屬性需要設置具體的更新周期,置具體的更新周期, 單位為秒。單位為秒。Continuous更新模式,則更新模式,則Stateflow 框圖好比框圖好比 Simulink 模模型中的一個連續系統模塊型中的一個連續系統模塊(m kui),

17、 此時此時 Stateflow 的框圖將的框圖將按照系統仿真步長完成更新。按照系統仿真步長完成更新。第23頁/共68頁第二十四頁,共68頁。選擇了該選項, 則意味著當 前的 Stateflow 框圖將在模型初始化階段(jidun)就被激活, 這樣,在后續的事件觸發過程中, 就直接進行狀態的 轉換了第24頁/共68頁第二十五頁,共68頁。第三章第三章 流程圖流程圖轉移沖突流程圖的創建(chungjin)圖形函數stateflow模型調試器第25頁/共68頁第二十六頁,共68頁。(ynxng)的過程中可能在某一時刻同時存在幾個有效的轉移,那么此時 Stateflow 將根據一些原則來處理這些沖突,

18、 這就是轉移沖突的處理原則。假設當前事件假設當前事件 E 發生發生(fshng)并且條件并且條件 C 也滿足,也滿足,則四個轉移通路都是有效的,則四個轉移通路都是有效的, 即形成了即形成了轉移沖突。那么轉移沖突。那么 Stateflow 是如何處理這是如何處理這種情況呢?種情況呢? 第26頁/共68頁第二十七頁,共68頁。移有效,則執行這個轉移,其余的轉移就不再進行檢測和執行了。n ( 3 )此時發生的事件不滿足,則接著檢測具有條件的轉移;如果此時條件 C 能夠滿足, 即該轉移有效,則執行這個轉移,其余的轉移就不再進行檢測和執行了。n(4)如果條件和事件都不匹配,最后檢測的轉移就是那條無條件的

19、轉移, 由于無條件的轉移是肯定可以執行的n總結:轉移的檢測次序就是由上至下分別檢測, 當系統發現一條(y tio)有效的轉移時,就立即執行,其他的轉移即使有效,也都被忽略了。第27頁/共68頁第二十八頁,共68頁。狀態 Standby 向 High 狀態、 Medium 狀態和 Low 狀態的轉移都對使用條件進行了限制。根據前面的介紹,這三個轉移由于都僅僅使用條件進行了限制, 因此它們具有相同的轉移檢測優先級別。所以這個框圖在進行仿真(fn zhn)的時候,就會報告轉移沖突錯誤如果轉移從狀態(zhungti)出發,則從狀態(zhungti)的左上角開始,按順時針的方向決定轉移的優先權;如果轉移

20、從連接節點出發, 則從連接節點的 12 點方向開始, 按順時針的方向決定轉移的優先權。幾何原則幾何原則:第28頁/共68頁第二十九頁,共68頁。兩個步驟(bzhu):(1)在 Stateflow 圖形編輯器中單擊右鍵,在彈出的菜單中選擇 Execution Order 子菜單下的 Enable User specified execution order for this chart命令,(2)用鼠標右鍵單擊需要改變檢測次序的轉移, 例如要修改上圖所示模型的第一個轉移檢測次 序,則用右鍵單擊該轉移,在出現的快捷菜單 的 Execution Order 子菜單下選擇檢測次序。 由于這里從狀態 A

21、 到狀態 B具有四個轉移, 因 此轉移執行次序的選項為 14。 默認地, 該 轉移檢測次序為1,可以將其修改為其他數值, 修改某一條轉移的檢測次序后,其他的轉移可 以根據用戶指定的次序以及 Stateflow 默認的檢 測次序原則(yunz)進行重新排序。第29頁/共68頁第三十頁,共68頁。if(條件條件(tiojin)動作動作 A else 動作動作 Bif(條件條件 1)動作動作 A else if(條件條件 2)動作動作 B else 動作動作 C第30頁/共68頁第三十一頁,共68頁。switch-case第31頁/共68頁第三十二頁,共68頁。while 循環循環(xnhun)wh

22、ile(Condition)Action;do-while 循環循環(xnhun)doAction; while(Condition)第32頁/共68頁第三十三頁,共68頁。if(c1) act1; if(c2) act2; else if(c3) act3; else act4;分析:假設分析:假設(jish),條件,條件 c1 為真,為真, 條件條件 c2 和條件和條件 c3 為假為假第33頁/共68頁第三十四頁,共68頁。n流程圖不能出現回溯現象。n如果流程圖位于 Stateflow 的 Chart 層次,則在連續兩次更新之間, 整個 Stateflow 框圖處于非活動的狀態。第34頁/

23、共68頁第三十五頁,共68頁。該 Stateflow 框圖具有兩個狀態: 狀態 Normal 和狀態 Inverse。在這兩個狀態中都包含了流程圖。 它們包含的流程圖十分簡單, 就是根據輸入數據進行相應的邏輯判斷, 然后決定具體的輸出。從框圖上看,這兩個流程圖的體系結構完全一致, 有所區別的就是參數(cnsh),即處理的數據不同, 這里可以通過圖形函數的形式來完成模型的創建。第35頁/共68頁第三十六頁,共68頁。第36頁/共68頁第三十七頁,共68頁。狀態面板(min bn)(StatusPane)控制面板(min bn)(Control Pane)選項面板(min bn)(Control

24、Pane)顯示面板(min bn)(Display Pane)第37頁/共68頁第三十八頁,共68頁。測是有效的,在執行前進入調試模式。事件的斷點:Start of Broadcast: 在事件被廣播之前進入調試模式End of Broadcast: 在事件廣播結束后進入調試模式圖形函數的斷點:Function Call: 在函數被調用之前進入調試模式第38頁/共68頁第三十九頁,共68頁。第四章第四章 有限有限(yuxin)(yuxin)狀態系統狀態系統層次化建模層次化建模狀態動作(dngzu)層次化建模歷史節點內部轉移子狀態圖stateflow的查詢工具第39頁/共68頁第四十頁,共68頁

25、。第40頁/共68頁第四十一頁,共68頁。 on event 事件相當于 during 事件的子集, 即當 STEP_UP 事件發生(fshng)時,首先執行 during 動作, 然后再來執行 on STEP_UP 動作。這樣,在發生(fshng) STEP_UP 事件時, track數據對象每次累加了兩次。數據對象(duxing) data 與狀態 A 進行了綁定, 這樣在其他的地方就只能讀取 data,而不能修改數據對象(duxing) data。 第41頁/共68頁第四十二頁,共68頁。行廣播的。此外(cwi), 類型為 Local 的事件也可以進行廣播, 這就是在第 6 章將要介紹的

26、本地事件廣播。第42頁/共68頁第四十三頁,共68頁。第43頁/共68頁第四十四頁,共68頁。當 Stateflow 框圖中的轉移動作發出函數調用事件之后,系統首先執行 Simulink 模型中的函數調用子系統;當函數調用子系統全部運行完畢,并將新的計算結果提供給 Stateflow 的輸入數據對象后,Stateflow 才繼續激活相應的目標狀態。因此,在很多 Simulink 和 Stateflow 混合的系統模型中,都充分利用了這一“函數調用” 特性(txng),利用 Stateflow 模型來控制 Simulink 子系統的運行,合理完成數據的交互任務。第44頁/共68頁第四十五頁,共6

27、8頁。第45頁/共68頁第四十六頁,共68頁。第46頁/共68頁第四十七頁,共68頁。case1:假設, 當前 Super1 狀態處于活動狀態同時(tngsh)其子狀態 Sub2 也處于活動狀態,當事件 E發生時case2:如果 Super2 狀態處于活動狀態, 同時(tngsh)其子狀態 Sub4 處于活動狀態,當事件 E發生時第47頁/共68頁第四十八頁,共68頁。歷史節點是一種特殊的 Stateflow 圖形對象,它只能夠(nnggu)用于具有層次的狀態內部在層次化的框圖子狀態之間如果(rgu)存在超轉移, 則歷史節點也無法發揮作用歷史節點能夠影響默認轉移的工作,使默認轉移僅在首次激活系

28、統時發揮作用,其余的時間就依賴于歷史節點記錄的狀態來恢復子狀態的活動情況第48頁/共68頁第四十九頁,共68頁。內部轉移能夠適當地減小模型復雜度, 提高模型的執行(zhxng)效率第49頁/共68頁第五十頁,共68頁。(1)當前狀態 A 處于活動狀態, 事件 E 發生(fshng), 但是條件 C1 不滿足(2)事件 E 再次發生了,而且此時條件(tiojin) C1 滿足(3)事件 E 第三次發生, 此時條件 C2 不滿足(1)當前父狀態 A 處于活動狀態,同時子狀態A1 處于活動狀態, 當事件 R 發生時(2)如果當前父狀態 A 處于活動狀態,同時子狀態 A2 處于活動狀態,當事件 R 發

29、生第50頁/共68頁第五十一頁,共68頁。態內邊緣出發的轉移。態內邊緣出發的轉移。(3)從活動的子狀態開始檢測轉移。從活動的子狀態開始檢測轉移。 從子狀態從子狀態外邊緣出發穿越父狀態邊緣的轉移外邊緣出發穿越父狀態邊緣的轉移超超轉移,首先被檢測。轉移,首先被檢測。(4) 然后是父狀態內部子狀態之間的轉移被檢然后是父狀態內部子狀態之間的轉移被檢測。測。第51頁/共68頁第五十二頁,共68頁。假設此時父狀態 A 處于活動狀態并且(bngqi)子狀態 A1處于活動狀態,當觸發發生時,根據前面介紹的層次化狀態圖轉移檢測優先權和轉移沖突檢測優先權,求系統處理的次序狀態動作與狀態執行狀態動作與狀態執行(zh

30、xng)的次序的次序(1)當 Super 父狀態(zhungti)被首次激活時(2)當父狀態處于活動狀態而此時 發生了某個事件觸發時示例:討論示例:討論轉移檢測轉移檢測第52頁/共68頁第五十三頁,共68頁。第53頁/共68頁第五十四頁,共68頁。第五章第五章 有限有限(yuxin)(yuxin)狀態系統狀態系統并行機制并行機制并行機制本地事件(shjin)廣播隱含事件(shjin)時間邏輯第54頁/共68頁第五十五頁,共68頁。模式共存的情況。狀態 Slot 和狀態 Player 的邊框(binkung)是虛線,因此這兩個狀態就是處于并行狀態的 Stateflow 狀態其內部包含的子狀態 N

31、oDisk 和HasDisk 以及 Stop 和 Play 狀態邊框是實線,因此子狀態之間是互斥的狀態,子狀態在相應的層次同一(tngy)時刻只能有一個處于活動狀態。第55頁/共68頁第五十六頁,共68頁。當第一個事件發生時,求系統首先激活整個狀態圖,依次激活相應的狀態并執行(zhxng)動作當再次發生事件 E 時,求系統依次執行相應(xingyng)的轉移并執行相應(xingyng)的動作第56頁/共68頁第五十七頁,共68頁。第57頁/共68頁第五十八頁,共68頁。第58頁/共68頁第五十九頁,共68頁。的狀態,而不是出現一呼百應的情況。直接事件廣播需要通過函數 send 來實現,它的語法

32、如下:send(event_name,state_name);第59頁/共68頁第六十頁,共68頁。事件廣播事件廣播(gungb)的執行次序的執行次序事件廣播很類似函數的調用,可以將廣播事件看做在動作執行的過程中調用了一個函數事件廣播很類似函數的調用,可以將廣播事件看做在動作執行的過程中調用了一個函數,在函數執行完畢退出之后在函數執行完畢退出之后,系統才繼續系統才繼續(jx)后面的工作。也就是說,當事件被廣播后,系統將后面的工作。也就是說,當事件被廣播后,系統將與事件廣播相關的所有動作都執行完畢之后,與事件廣播相關的所有動作都執行完畢之后, 才會繼續才會繼續(jx)執行廣播事件動作之后需要執行

33、執行廣播事件動作之后需要執行的其他動作。的其他動作。第60頁/共68頁第六十一頁,共68頁。假設當前處于活動(hu dng)的子狀態為 A1a 和 A2a, 當事件 E1 發生時如果此時活動的子狀態同樣為 A1a 和 A2a, 那么當事件(shjin) E1 發生時第61頁/共68頁第六十二頁,共68頁。假設(jish)當前處于活動的子狀態為 A1a 和 A2a,當事件 E1 發生時受限事件受限事件(shjin)廣播的執行廣播的執行假設當前處于活動的子狀態為 A1a 和 A2a,當事件 E1 發生時第62頁/共68頁第六十三頁,共68頁。Stateflow 在處理狀態機工作時實際上是一種單線程的工作方式, 事件廣播會打斷當前的工作流程,而且只有在廣播事件相關的工作全部結束之后,才繼續處理原來的后續(hux)工作。在這種處理方式下,事件廣播對原有的工作流程有時可能會造成一些影響,并且產生一些沖突現象。針對不同的動作類型, Stateflow 解決的原則略有不同, 這里(zhl)總結如下:Entry 動作: 如果與事件廣播相關的所有動作都執行完畢之

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論