版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、監(jiān)督控制與數(shù)據(jù)采集技術(shù),華東理工大學(xué)自動化系王華忠,hzwang@ecust.edu.cn,Ch6 工業(yè)控制編程語言標準IEC61131-3,一、IEC61131-3標準的產(chǎn)生與特點,1、傳統(tǒng)PLC編程語言的不足,梯形圖語言規(guī)范不一致程序可復(fù)用性差 缺乏足夠的程序封裝能力 不支持數(shù)據(jù)結(jié)構(gòu) 程序執(zhí)行具有局限性 難以實現(xiàn)選擇或并行等復(fù)雜順控操作 傳統(tǒng)的梯形圖編程在算術(shù)運算處理、字符串或文字處理等方面均不能提供強有力的支持,
2、2、IEC 61131-3標準的產(chǎn)生,1992年以后,IEC陸續(xù)頒布施行可編程序控制器國際標準IEC 61131的各個部分。已正式頒布的有:IEC 61131-1 通用信息,2003年5月出版第二版)IEC 61131-2 裝置要求與測試,2003年2月出版第二版)IEC 61131-3 編程語言,2003年1月出版第二版) IEC 61131-4 用戶導(dǎo)則(1995)IEC 61131-5
3、 通信服務(wù)規(guī)范2000)IEC 61131-7 模糊控制編程軟件工具實施(2000)IEC 61131-8 IEC 61131-3語言的應(yīng)用和實現(xiàn)導(dǎo)則(2001),中國的工業(yè)過程測量和控制標準化委員會按與IEC國際標準等效的原則,組織翻譯出版工作。1995年12月29日頒布了PLC的國家標準GB/T15969.1, 15969.2, 15969.3, 15969.4,涉及IEC 61131的第一、第二、第三和
4、第四部分。GB/T 15969.5《通信服務(wù)規(guī)范》在2003年5月頒布出版 , GB/T 15969.8《IEC 61131-3語言的實現(xiàn)導(dǎo)則》,已于2007年8月實施。,IEC61131-3是當今世界第一個為工業(yè)自動化控制系統(tǒng)的軟件設(shè)計提供標準化編程語言的國際標準。此前,國際上沒有出現(xiàn)過為制定通用的控制語言而開展的標準化活動。這顯然是注意到由于DCS等以數(shù)字技術(shù)為基礎(chǔ)的控制裝置在發(fā)展進程中過于
5、專有化,給用戶帶來的大量不便。這一標準為可編程控制器軟件技術(shù)的發(fā)展,乃至整個工業(yè)控制軟件技術(shù)的發(fā)展,起了舉足輕重的推動作用??梢哉f,沒有編程語言的標準化,便沒有今天PLC走向開放式系統(tǒng)的堅實基礎(chǔ)。這個標準將現(xiàn)代軟件的概念和現(xiàn)代軟件工程的機制與傳統(tǒng)的PLC編程語言成功地結(jié)合,又對當代種類繁多的工業(yè)控制器中的編程概念及語言進行了標準化。,3、特點,IEC 61131-3允許在同一個PLC中使用多種編程語言,允許程序開發(fā)人員對每一個特定的
6、任務(wù)選擇最合適的編程語言,還允許在同一個控制程序中不同的軟件模塊用不同的編程語言編制,以充分發(fā)揮不同編程語言的應(yīng)用特點。標準中的多語言包容性很好地正視了PLC發(fā)展歷史中形成的編程語言多樣化的現(xiàn)實,為PLC軟件技術(shù)的進一步發(fā)展提供了足夠的技術(shù)空間和自由度。,4、優(yōu)勢,采用現(xiàn)代軟件模塊化原則,主要內(nèi)容包括: 編程語言支持模塊化,將常用的程序功能劃分為若干單元,并加以封裝,構(gòu)成編程的基礎(chǔ)。 模塊化時,只設(shè)置必要的、盡可能少的
7、輸入和輸出參數(shù),盡量減少交互作用和內(nèi)部數(shù)據(jù)交換。 模塊化接口之間的交互作用均采用顯性定義。 將信息隱藏于模塊內(nèi),對使用者來講只需了解該模塊的外部特性(即功能、輸入和輸出參數(shù)),而無需了解模塊內(nèi)算法的具體實現(xiàn)方法。,,IEC 61131-3支持自頂而下(Top Down)和自底而上(Bottom Up)的程序開發(fā)方法。自頂而下的開發(fā)過程是用戶首先進行系統(tǒng)總體設(shè)計,將控制任務(wù)劃分為若干個模塊,然后定義變量和進行模塊設(shè)計,編寫
8、各個模塊的程序;自底而上的開發(fā)過程是用戶先從底部開始編程,例如先導(dǎo)出函數(shù)和功能塊,再按照控制要求編制程序。無論選擇何種開發(fā)方法,IEC 61131-3所創(chuàng)建的開發(fā)環(huán)境均會在整個編程過程中給予強有力的支持。,,IEC 61131-3所規(guī)范的編程系統(tǒng)獨立于任一個具體的目標系統(tǒng),它可以最大限度地在不同的PLC目標系統(tǒng)中運行。這樣不僅創(chuàng)造了一種具有良好開放性的氛圍,奠定了PLC編程開放性的基礎(chǔ),而且可以有效規(guī)避標準與具體目標系統(tǒng)關(guān)聯(lián)而引起的利益
9、糾葛,體現(xiàn)標準的公正性。,,將現(xiàn)代軟件概念濃縮,并加以運用。例如:數(shù)據(jù)使用DATA_TYPE聲明機制;功能(函數(shù))使用FUNCTION聲明機制;數(shù)據(jù)和功能的組合使用FUNCTION _BLOCK聲明機制。 完善的數(shù)據(jù)類型定義和運算限制。軟件工程師很早就認識到許多編程的錯誤往往發(fā)生在程序的不同部分,其數(shù)據(jù)的表達和處理不同。IEC 61131-3從源頭上注意防止這類低級的錯誤,雖然采用的方法可能導(dǎo)致效率降低一點,但換來的價值卻是程序的可靠
10、性、可讀性和可維護性。,,對程序執(zhí)行具有完全的控制能力。傳統(tǒng)的PLC只能按掃描方式順序執(zhí)行程序,對程序執(zhí)行的其他要求,如由事件驅(qū)動某一段程序的執(zhí)行、程序的并行處理等均無能為力。IEC 61131-3允許程序的不同部分、在不同的條件(包括時間條件)下、以不同的比率并行執(zhí)行,,對程序執(zhí)行具有完全的控制能力。傳統(tǒng)的PLC只能按掃描方式順序執(zhí)行程序,對程序執(zhí)行的其他要求,如由事件驅(qū)動某一段程序的執(zhí)行、程序的并行處理等均無能為力。IEC 6113
11、1-3允許程序的不同部分、在不同的條件(包括時間條件)下、以不同的比率并行執(zhí)行。結(jié)構(gòu)化編程。對于循環(huán)執(zhí)行的程序、中斷執(zhí)行的程序、初始化執(zhí)行的程序等可以分開設(shè)計。此外,循環(huán)執(zhí)行的程序還可以根據(jù)執(zhí)行的周期分開設(shè)計。,二、IEC61131-3標準的主要內(nèi)容,1、概述,IEC61131-3編程語言標準分為兩部分:公用元素、編程語言公用元素部分給出軟件模型和編程模型,引入配置、資源、任務(wù)和存取路徑等基本概念。說明各種編程語言中使用的字符集
12、、標識符、關(guān)鍵字等,定義數(shù)據(jù)的外部表示、數(shù)據(jù)類型、變量和程序組織單元等,定義順序功能表圖的基本元素等。編程語言部分定義了兩大類編程語言:文本化編程語言和圖形化編程語言,圖6.1 IEC61131-3標準的層次與結(jié)構(gòu),,語言元素,表6.1 語言元素示例,關(guān)鍵字 關(guān)鍵字(keyword)是語言元素特征化的詞法單元。關(guān)鍵字是標準標志符。在IEC61131-3標準中,關(guān)鍵字是結(jié)構(gòu)聲明和語句的固定符號表示法,其拼寫和
13、含義均由IEC61131-3標準明確規(guī)定。因此,關(guān)鍵字不能用于用戶定義的變量或其他名稱。這一點與高級編程語言是一致的。 關(guān)鍵字不區(qū)分字母的大、小寫。例如,關(guān)鍵字“FOR”和“for”是等價的。為了更好地進行區(qū)別,關(guān)鍵字通常以大寫字母表示。表6.3所示為關(guān)鍵字及其含義。 關(guān)鍵字主要包括:基本數(shù)據(jù)類型的名稱、標準功能名、標準功能塊名、標準功能的輸入?yún)?shù)名、標準功能塊的輸入和輸出參數(shù)名、圖形編程語言中的EN和E
14、NO變量、指令表語言中的運算符、結(jié)構(gòu)化文本語言中的語言元素、順序功能圖語言中的語言元素。,直接量 直接量用來表示常數(shù)變量的數(shù)值,其格式取決于變量的數(shù)據(jù)類型。直接量有3種基本類型: 數(shù)字直接量 字符串直接量 時間直接量 標識符 標識符(identifier)是字母、數(shù)字和下劃線字符的組合。其開始必須是字母或下劃線字符,并被命名為語言元素(Language Element)。標識符對字母的大、小
15、寫不敏感,所以標識符ABCD和abcD具有相同的意義。標識符用于表示變量、標號,以及功能、功能塊、程序組織單元等名稱。,2、數(shù)據(jù)類型,IEC 61131-3對數(shù)據(jù)類型進行了定義,從而防止對數(shù)據(jù)類型的不同設(shè)置而發(fā)生出錯。數(shù)據(jù)類型的標準化是編程語言開放性的重要標準。 在IEC 61131-3中定義一般數(shù)據(jù)類型和非一般數(shù)據(jù)類型兩類。非一般數(shù)據(jù)類型又可分為基本數(shù)據(jù)類型和衍生數(shù)據(jù)類型?;緮?shù)據(jù)類型有21種。 數(shù)據(jù)類
16、型與它在數(shù)據(jù)存儲器中所占用的數(shù)據(jù)寬度有關(guān)。,一般數(shù)據(jù)類型的數(shù)據(jù)用前綴“ANY”標識,用于標準函數(shù)和標準功能塊的輸入和輸出連接。它采用分級結(jié)構(gòu)。 衍生數(shù)據(jù)類型是由用戶定義的數(shù)據(jù)類型,它建立在基本數(shù)據(jù)類型的基礎(chǔ)上,也稱為導(dǎo)出數(shù)據(jù)類型。這類數(shù)據(jù)類型所定義的變量是全局變量。它可用與基本數(shù)據(jù)類型所使用的相同方法對變量進行聲明。 在IEC 61131-3標準中,變量分為單元素變量和多元素變量。,3、變量,與數(shù)據(jù)的外部
17、表示相反,變量提供能夠改變其內(nèi)容的數(shù)據(jù)對象的識別方法。例如,可改變與PLC輸入、輸出或存儲器有關(guān)的數(shù)據(jù)。變量可以被聲明為基本數(shù)據(jù)類型、一般數(shù)據(jù)類型和導(dǎo)出數(shù)據(jù)類型。,變量的類型和屬性,變量的附加屬性,三、程序組織單元,1、程序組織單元及其組成,圖6.2 程序組織單元,表6.2 IEC61131-3標準的3中POU及其含義,,,圖6.3 POU元素構(gòu)成,,2、功能,功能是一種可以賦予參數(shù),但沒有靜態(tài)變量的程序組織單元。有些書籍或文獻也稱
18、功能為函數(shù)。當用相同的輸入?yún)?shù)調(diào)用某一功能時,該功能總能夠生成相同的結(jié)果作為其功能值。功能有多個輸入變量,沒有輸出變量,但有一個功能值作為該功能的返回值。功能由功能名和一個表達式組成。 功能分為標準功能和用戶定義功能(衍生功能)。 IEC61131-3標準定義了8類標準功能,3、功能塊,功能塊是在執(zhí)行時能夠產(chǎn)生一個或多個值的程序組織單元。 功能塊實例化是編程人員在功能塊說明部分用指定功
19、能塊名和相應(yīng)的功能塊類型來建立功能塊的過程。 每個功能塊實例有它的功能塊名、內(nèi)部變量、輸出變量及可能的輸入變量數(shù)據(jù)結(jié)構(gòu)。該數(shù)據(jù)結(jié)構(gòu)的輸出變量和必要的內(nèi)部變量的值能夠從這次執(zhí)行保護到下一次執(zhí)行。功能塊實例的外部只有輸入和輸出變量是可存取的。功能塊內(nèi)部變量對用戶來說是隱藏的。,,,圖6.5 功能塊的圖形表示,,功能塊包括標準功能塊、衍生功能塊和用戶定義功能塊。衍生功能塊是利用標準功能塊創(chuàng)造的新功能塊。IEC 61131-3
20、允許用戶利用已有的功能塊和功能生成新的功能塊。任意功能塊均可采用便于管理且功能更簡單的功能和/或功能塊進行編程。 IEC 61131-3中定義了5種標準功能塊。,,功能塊段的文字形式可以表示為:FUNCTION_BLOCK 功能塊名 功能塊聲明 功能塊體END_FUNCTION_BLOCK,,功能和功能塊的主要區(qū)別在于,相同輸入?yún)?shù)調(diào)用時,功能總是產(chǎn)生相同的結(jié)果(功能值),功能沒有“記憶
21、”特性。程序代表PLC用戶的最高層,能存取PLC的I/O口,并能使它們能為其它程序組織單元所存取。IEC 61131-3標準使用變量以存儲信息。但是,它們的存儲位置不再需要由用戶自行定義,而是由編程系統(tǒng)自行進行管理,每個變量具有固定的數(shù)據(jù)類型。IEC 61131-3規(guī)定若干數(shù)據(jù)類型,這些數(shù)據(jù)類型在位數(shù)量和符號的使用方面有所不同。,4、程序,程序是程序組織單元之一,它由功能和功能塊組成。PROGRAM類型的程序組織單元稱為主程序。在一個多
22、CPU的PLC控制系統(tǒng)中,能同時執(zhí)行多個主程序,這一點體現(xiàn)了程序與功能塊的不同。 程序以PROGRAM關(guān)鍵字開始,隨后是程序名、程序聲明和程序體,最后以END_PROGRAM關(guān)鍵字結(jié)束。與功能或功能塊的聲明類似,程序聲明包括在整個程序聲明中所使用變量的聲明。,,四、軟件、通信和功能模型,1、軟件模型,,圖6.6 IEC61131-3標準的軟件模型,軟件模型特點,分層結(jié)構(gòu)程序和功能塊;組態(tài)元素,即配置、資源和任務(wù);全局
23、變量;存取路徑和實例特定的初始化 從理論上描述了將一個復(fù)雜程序如何分解為若干小的不同的可管理部分,并在各分解部分之間有清晰和規(guī)范的接口方法。描述一臺可編程控制器如何實現(xiàn)多個獨立程序的同時裝載和運行,如何實現(xiàn)對程序執(zhí)行的完全控制,主要內(nèi)容,(1)配置(Configuration) 語言元素,結(jié)構(gòu)元素 位于軟件模型的最上層,等同于一個PLC軟件或應(yīng)用程序多臺PLC構(gòu)成的一個控制系統(tǒng)中,每一臺PLC的應(yīng)用程序都是一個獨立的配
24、置 配置將系統(tǒng)內(nèi)所有資源結(jié)合成組,為資源提供數(shù)據(jù)交換的手段一個配置可有多個資源,配置中定義該配置的全局變量、資源、存取路徑等,它反映PLC的硬件物理結(jié)構(gòu),為程序與物理I/O通道之間提供接口,(2)資源(Resource) 語言元素,結(jié)構(gòu)元素 位于軟件模型的第二層 ,等同于一個CPU為程序和PLC物理輸入輸出通道提供接口 程序只有裝入資源才能執(zhí)行一個資源具有“信號處理功能”、“人機接口功能”和“傳感器和執(zhí)行器接口功能
25、”資源聲明在該資源內(nèi)的全局變量、任務(wù)和程序聲明等,(3)任務(wù)(Task) 語言元素,結(jié)構(gòu)元素 位于軟件模型第三層 。規(guī)定程序組織單元在運行期的特性控制一系列程序組織單元周期地執(zhí)行,或者根據(jù)一個特定的事件觸發(fā)來執(zhí)行 任務(wù)有任務(wù)名和三個輸入?yún)?shù) ★ SIGNAL:事件觸發(fā)輸入端,上升沿觸發(fā)與任務(wù)相關(guān)聯(lián)的程序組織單元執(zhí)行一次 ★ INTERVAL:周期執(zhí)行時的時間間隔。該任務(wù)的有關(guān)程序組織單元按該時間
26、間隔周期執(zhí)行 ★ PRIORITY:對任務(wù)設(shè)置的優(yōu)先級 ,0表示最高優(yōu)先級,無優(yōu)先級執(zhí)行 優(yōu)先級最高的POU先執(zhí)行同等優(yōu)先級的根據(jù)等待時間最長的POU先執(zhí)行優(yōu)先級執(zhí)行較低優(yōu)先級程序組織單元的執(zhí)行被延緩不能中斷具有同樣優(yōu)先級或較高優(yōu)先級的其他單元的執(zhí)行,由任務(wù)使能的程序組織單元實施的控制遵循下列原則:SIGNAL不為零,表示是事件觸發(fā)的單任務(wù) INTERVAL不為零,SIGNAL為零,該任務(wù)結(jié)合的程序組織
27、單元周期執(zhí)行多個任務(wù)執(zhí)行時,PRIORITY數(shù)值小的任務(wù)先被執(zhí)行相同優(yōu)先級的多個任務(wù),等待時間長的程序組織單元先被執(zhí)行沒有任務(wù)結(jié)合的程序具有最低的優(yōu)先級,在資源開始執(zhí)行前執(zhí)行與任務(wù)沒有直接結(jié)合的功能塊實例根據(jù)求值次序執(zhí)行與任務(wù)結(jié)合的功能塊實例的執(zhí)行與求值規(guī)則無關(guān)數(shù)據(jù)同步規(guī)則 ? 功能塊執(zhí)行時,來自其他功能塊的所有輸入采用同樣的求值結(jié)果 ? 同一功能塊的輸出送到兩個或多個功能塊,全部目的功能塊與任務(wù)有顯
28、式或隱式的結(jié)合,則目的功能塊輸入信號在求值時間內(nèi),與源功能塊有同樣的求值結(jié)果,(4)全局變量 (GLOBAL VARIABLE) 全局變量能用于整個工程項目,可被該工程內(nèi)所有軟件元素存取 在配置聲明段聲明的全局變量能夠用于該配置在資源聲明段聲明的全局變量能夠用于該資源在一個系統(tǒng)中不能有相同名稱的兩個全局變量 在程序組織單元中需要對所用的全局變量用外部變量聲明全局變量用于與其他網(wǎng)絡(luò)進行數(shù)據(jù)交換
29、 VAR_GLOBAL 全局變量聲明 END_VAR,(5)存取路徑變量 (ACCESS VARIABLE) 存取路徑變量用于將全局變量、直接表示變量和功能塊的輸入、輸出和內(nèi)部變量聯(lián)系起來,實現(xiàn)信息的存取它提供在不同配置之間交換數(shù)據(jù)和信息的方法 兩種存取方法:讀寫(READ_WRITE)方式和只讀(READ_ONLY) VAR_ACCESS 存取路徑變
30、量名 : 外部存取的變量 : 存取路徑的數(shù)據(jù)類型和存取方式END_VAR,2、用戶程序結(jié)構(gòu),,PLCopen,2008.12,采用程序組織單元的優(yōu)點,可對每個應(yīng)用領(lǐng)域設(shè)置用戶的功能塊庫,便于工程的應(yīng)用。 可對功能塊進行測試和記錄 。能夠提供全球范圍內(nèi)的庫存取功能??筛淖兙幊?,用于建立功能塊網(wǎng)絡(luò) ??芍貜?fù)使用,使用的次數(shù)無限制??晒?jié)省工廠投資成本,,,3、與傳統(tǒng)PLC軟件模型比較,傳統(tǒng)的PLC模型僅包括一個資源,運行一個任務(wù),
31、控制一個程序,且運行于一個封閉系統(tǒng)中。對PLC的使用者來說,除可通過編制程序來控制外,輸入采樣、輸出設(shè)置和PLC例行程序均是不可見、不可控的。,而IEC 61131-3的軟件模型從理論上描述了將一個復(fù)雜程序如何分解為若干小的不同的可管理部分,并在各分解部分之間有清晰和規(guī)范的接口方法。,4、編程語言,為使標準的規(guī)定適應(yīng)寬泛的應(yīng)用范圍,又能被PLC制造廠商樂意接受和支持,IEC 61133-3規(guī)定了二大類編程語言:文本化編程語言: 指
32、令清單語言(IL)結(jié)構(gòu)化文本語言(ST)圖形化編程語言: 梯形圖語言(LD)功能塊圖語言(FBD),圖6.7 編程語言示例,關(guān)于SFC,在標準的文本中沒有把順序功能圖(SFC)單獨列入編程語言,而是將它在公用元素中予以規(guī)范。這就是說,在文本化語言中,或者在圖形化語言中,都可運用SFC的概念、句法和語法。但習(xí)慣上也把它叫做另一種編程語言。應(yīng)用程序的設(shè)計人員可根據(jù)應(yīng)用要求從這些語言中選擇使用。這四種語言再加上一套順序功能的文本
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于IEC61131-3標準攤鋪機控制器的研究.pdf
- 基于IEC61131-3標準的控制工程多語言編譯器.pdf
- 基于IEC61131-3標準的PLC底層開發(fā).pdf
- 符合IEC61131-3標準的PLC編程環(huán)境關(guān)鍵問題的研究.pdf
- 基于IEC61131-3標準的可編程控制器的設(shè)計與實現(xiàn).pdf
- 基于IEC61131-3的PLC編程軟件的研究與設(shè)計.pdf
- 基于IEC61131-3標準的控制邏輯比較的設(shè)計與實現(xiàn).pdf
- 基于IEC61131-3標準的虛擬DPU開發(fā)與優(yōu)化.pdf
- 基于IEC61131-3標準的IL語言編譯器的設(shè)計與實現(xiàn).pdf
- 基于IEC61131-3的控制軟件平臺的設(shè)計與實現(xiàn).pdf
- 基于IEC61131-3標準的嵌入式軟PLC研究.pdf
- 基于IEC61131-3標準的液壓挖掘機智能控制器的研究.pdf
- 基于IEC61131-3標準的數(shù)控系統(tǒng)開發(fā)環(huán)境原型研究.pdf
- 基于IEC61131-3標準的嵌入式控制系統(tǒng)的設(shè)計與實現(xiàn).pdf
- 基于IEC61131的工業(yè)控制軟件編程方法研究.pdf
- 基于IEC61131-3標準的梯形圖組態(tài)仿真平臺研究.pdf
- 基于IEC61131-3標準功能塊組態(tài)軟件設(shè)計與實現(xiàn).pdf
- 基于IEC61131-3標準的糖廠澄清工段pH值控制系統(tǒng)的研究與開發(fā).pdf
- 基于IEC61131-3的組態(tài)式保護裝置的研究.pdf
- 遵循IEC61131-3與PLCopen標準的嵌入式軟PLC應(yīng)用開發(fā)的研究.pdf
評論
0/150
提交評論