版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、3.1 ControlLogix3.1 ControlLogix編程語言編程語言3.2 3.2 數(shù)據(jù)描述與數(shù)據(jù)類型數(shù)據(jù)描述與數(shù)據(jù)類型3.3 3.3 數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)3.4 3.4 應(yīng)用程序的結(jié)構(gòu)應(yīng)用程序的結(jié)構(gòu)3.5 3.5 常用指令系統(tǒng)常用指令系統(tǒng)3.1.1 3.1.1 編程語言簡介編程語言簡介1 1編程語言編程語言(1)梯形圖LD(Ladder Diagram)梯形圖LD是一種圖形語言,直觀易懂,是最常采用、應(yīng)用最廣泛的編程語言之一。(2)結(jié)構(gòu)文本ST(Structured Text)結(jié)構(gòu)文本ST類似于計算機高級語言,符合IEC61131-3標(biāo)準(zhǔn),使用由操作符和操作數(shù)組成的表達式結(jié)構(gòu),描述功
2、能、功能塊、程序的行為,在執(zhí)行表達式時會返回值。(3)功能塊圖FBD(Function Block Diagram)功能塊圖FBD使用類似于布爾代數(shù)的圖形邏輯符號來表示控制邏輯,組態(tài)過程控制,是引入DCS系統(tǒng)的儀表控制組態(tài)方式,由功能塊之間的連接建立程序結(jié)構(gòu)。(4)順序功能圖SFC(Sequential Function Chart)順序功能圖SFC類似于順序控制的流程圖,將工作流程細化到步,提供全部的結(jié)構(gòu)且協(xié)調(diào)面向批處理的過程。2 2編程語言的選用與相互轉(zhuǎn)換編程語言的選用與相互轉(zhuǎn)換ControlLogix系列PLC的編程語言各有特色,一般情況下,如果程序沒有錯誤,并且被正確地劃分為程序段,則
3、編程語言之間可以相互轉(zhuǎn)換。1 1梯形圖程序的邏輯結(jié)構(gòu)梯形圖程序的邏輯結(jié)構(gòu)梯形圖程序是由指令構(gòu)成的邏輯梯級集合而成的,而邏輯梯級的結(jié)構(gòu)則由輸入指令和輸出指令兩部分組成,如圖3-1所示。輸入指令的運行,并不直接執(zhí)行某種操作的動作,但都會得到邏輯結(jié)果,這就是梯級條件,它決定要不要執(zhí)行指令。梯級條件邏輯上存在兩種脈沖形式,如圖3-2所示。輸出指令的執(zhí)行是具體操作的動作,但這種執(zhí)行動作與輸入指令的存續(xù)有很大的關(guān)系,輸入指令和輸出指令之間的對應(yīng)關(guān)系是非常明確的,即梯級條件會決定輸出指令的執(zhí)行狀況。2 2梯級運行條件梯級運行條件梯形圖的并列分支層數(shù)沒有限制。圖3-3顯示的是一個5層并列分支,第一層分支是主梯
4、級,后面跟著4個附加分支。梯形圖嵌套的分支最多可以為6層。圖3-4顯示的是一個嵌套分支情況,底部輸出指令在一個3層深度的嵌套分支上。3 3梯級預(yù)掃描和后掃描梯級預(yù)掃描和后掃描(1)預(yù)掃描預(yù)掃描的執(zhí)行條件是:程序從編程狀態(tài)切換至運行狀態(tài);從上電狀態(tài)自動切換到運行狀態(tài)。預(yù)掃描的主要內(nèi)容包括:掃描所有的主程序;掃描所有設(shè)備階段的狀態(tài)程序和預(yù)狀態(tài)程序;掃描程序和設(shè)備階段的所有子程序,但不會重復(fù)預(yù)掃描;掃描所有的FOR調(diào)用的子程序;不按照跳轉(zhuǎn)指令指向的順序;按照預(yù)掃描方式執(zhí)行的所有指令;將所有非保持型指令復(fù)位到0狀態(tài);不刷新輸入數(shù)據(jù),且不輸出數(shù)據(jù)。(2)后掃描后掃描的執(zhí)行條件是:當(dāng)MCR指令結(jié)束區(qū)域控制
5、時;當(dāng)設(shè)備階段的狀態(tài)程序轉(zhuǎn)向下一個狀態(tài)時;當(dāng)SFC步的轉(zhuǎn)換條件成立,離開激活步時。后掃描的主要內(nèi)容包括:掃描條件不成立的MCR區(qū)域;掃描所有未激活的設(shè)備階段狀態(tài)程序;掃描所有未激活的SFC步;按照后掃描方式執(zhí)行的所有指令;每個梯級都被掃描,但梯級條件永遠不成立;將所有非保持型指令復(fù)位到0狀態(tài);刷新輸入數(shù)據(jù),但有可能被梯級條件否認;輸出虛擬數(shù)據(jù)。4數(shù)據(jù)刷新時間與程序執(zhí)行的關(guān)系傳統(tǒng)PLC的工作周期由輸入掃描、程序掃描、輸出掃描三個階段組成。輸入掃描刷新所有的輸入映像表;程序掃描則根據(jù)最新輸入數(shù)據(jù),按照編制好的梯形圖邏輯執(zhí)行,產(chǎn)生控制結(jié)果,即刷新輸出映像表;輸出掃描刷新所有的輸出模塊。在這個過程中,
6、輸入數(shù)據(jù)是不發(fā)生改變的。 5梯形圖編程的主要側(cè)重點 連續(xù)的操作或沒有順序的多個操作并列執(zhí)行; 布爾量或位操作,可簡單使用繼電器指令; 綜合復(fù)雜的邏輯操作; 信息處理或通信處理(MSG指令); 解決生產(chǎn)現(xiàn)場機器的聯(lián)鎖關(guān)系,充分體現(xiàn)明確的邏輯關(guān)系; 維護維修人員的操作可能檢查出機器或生產(chǎn)過程的故障; 伺服控制,可明確運動控制指令的執(zhí)行順序。 1 1賦值語句(賦值語句(AssignmentAssignment)賦值語句的語法如下:Tag := Expression;標(biāo)簽數(shù)據(jù)類型必須為BOOL、SINT、INT、DINT、REAL類型。2 2表達式(表達式(ExpressionExpression)表
7、達式可以包括以下內(nèi)容:用于存儲數(shù)值的標(biāo)簽名,即變量;立即數(shù),即常數(shù);函數(shù);運算符。運算符的運算優(yōu)先級如表3-1所示。運算優(yōu)先級運 算 符1()2函數(shù)()3* * 指數(shù)(x的y次冪)4-(取反)5NOT6*、/、MOD7+、-(減)8、9=、10&、AND11XOR12OR3指令(Instruction)指令是一個標(biāo)準(zhǔn)語句,使用圓括號包含其操作數(shù)。根據(jù)指令的不同類型,運行時,指令可以產(chǎn)生一個或多個數(shù)值。指令在每次被掃描且結(jié)構(gòu)條件為真時執(zhí)行,如果結(jié)構(gòu)條件為假,就不執(zhí)行該結(jié)構(gòu)內(nèi)的語句。4結(jié)構(gòu)(Construct) IFTHEN當(dāng)特定條件發(fā)生時,執(zhí)行操作。 CASEOF根據(jù)數(shù)值選擇執(zhí)行的操作。
8、 FORDO根據(jù)指定的次數(shù)重復(fù)執(zhí)行操作,然后再執(zhí)行其他操作。 WHILEDO當(dāng)條件為真時,重復(fù)執(zhí)行操作。 REPEATUNTIL直到條件為真,否則重復(fù)執(zhí)行操作。5注釋(Comment)當(dāng)添加注釋內(nèi)容時,使用的注釋格式是:(*注釋內(nèi)容*) 或 /*注釋內(nèi)容*/當(dāng)添加的注釋內(nèi)容是單獨一行時,使用的注釋格式是:/注釋內(nèi)容6結(jié)構(gòu)文本編程的主要側(cè)重點 復(fù)雜的非常規(guī)算術(shù)運算; 專用數(shù)組或循環(huán)處理表格,其他編程方式不能處理的數(shù)組和表格; ASCII字符串處理或協(xié)議處理,適用于文字表達的模式。功能塊編程主要用于過程控制,側(cè)重于以下應(yīng)用范圍:連續(xù)過程,功能塊組態(tài)連接信息流向,使控制具有連續(xù)性;驅(qū)動控制,專用于驅(qū)
9、動控制要求;閉環(huán)控制,專用于較復(fù)雜的閉環(huán)控制要求;流量計算,專用的累加器功能塊滿足控制要求。順序功能圖編程主要用于工藝步驟分明的控制要求,側(cè)重于以下應(yīng)用范圍:多個操作的高水平管理,嚴格控制執(zhí)行步驟;反復(fù)的操作順序,可反復(fù)掃描活動步的執(zhí)行邏輯;大量重復(fù)操作的批量處理;運行控制順序(具有內(nèi)嵌結(jié)構(gòu)語句的功能塊),準(zhǔn)確協(xié)調(diào)執(zhí)行順序;控制機械操作進程狀態(tài)。3.2.1 3.2.1 數(shù)據(jù)描述數(shù)據(jù)描述數(shù)據(jù)是計算機所表示的信息總稱,它可以分為數(shù)值數(shù)據(jù)和非數(shù)值數(shù)據(jù)兩種。數(shù)值數(shù)據(jù)包括整數(shù)、小數(shù),既可以是正數(shù),也可以是負數(shù)。數(shù)據(jù)以某種特定的形式存在,數(shù)據(jù)類型決定了數(shù)據(jù)的屬性。不同的數(shù)據(jù)之間往往還存在某些聯(lián)系。數(shù)據(jù)類型
10、為數(shù)據(jù)說明數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)格式、數(shù)據(jù)行為等,用于定義標(biāo)簽使用的數(shù)據(jù)位、字節(jié)或字的個數(shù)。1基本數(shù)據(jù)類型(1)基本數(shù)據(jù)類型二進制格式的數(shù)據(jù)類型是指單一數(shù)據(jù)類型。一個二進制格式的數(shù)據(jù)由一位或者多位組成,其中的每一位都用兩個基數(shù)(0或1)表示。數(shù)據(jù)的大小由其位數(shù)決定,如圖3-5所示。單個的十進制數(shù)需要用4位二進制數(shù)進行編碼,為了用BCD碼表示十進制數(shù)的09,使用與二進制數(shù)相同的表示方法,如圖3-6所示。例如,對十進制數(shù)“2 350”用16位編碼,如表3-2所示。十進制數(shù)(2 350)2350二進制數(shù)0010001101010000例如,對十進制數(shù)“58 293 016”用32位格式編碼,如表3-3所示。
11、十進制數(shù)(58 293 016)58293016二進制數(shù)01011000001010010011000000010110ControlLogix PLC系統(tǒng)的基本數(shù)據(jù)類型如表3-4所示。類 型名 稱格式(位)數(shù) 據(jù) 范 圍BOOL布爾101SINT短整數(shù)8-128+127INT整數(shù)16-32 768+32 767DINT長整數(shù)32-2 147 483 648+2 147 483 647REAL實數(shù)32-3.410-38-1.1710+38(負數(shù));1.1710+383.410+38(正數(shù))例如,1 024可以表示為1.024E3。實數(shù)占用存儲器的2個字,最高位是符號位,其余的位代表指數(shù)和尾數(shù)。
12、浮點數(shù)為1.m2e,其存儲結(jié)構(gòu)如圖3-7所示。ControlLogix PLC系統(tǒng)數(shù)據(jù)處理和傳送的基本單元是32位。當(dāng)數(shù)據(jù)類型為BOOL、SINT、INT,被分配給一個標(biāo)簽時,控制器仍然占了一個完整的4字節(jié)DINT,剩余部分則被閑置,如圖3-8所示。(2)基本數(shù)據(jù)類型的優(yōu)點名稱是獨立的;標(biāo)簽的數(shù)量沒有限制;標(biāo)簽編輯器(Edit Tags)和數(shù)據(jù)監(jiān)視(Monitor Tags)可以任意選擇標(biāo)簽并顯示任何參數(shù);允許在標(biāo)簽編輯器和數(shù)據(jù)監(jiān)視中按字母排序顯示;標(biāo)簽及其他的位都可以支持別名;在線編程時可以增加。(3)基本數(shù)據(jù)類型的注意點每個標(biāo)簽都要消耗4字節(jié);需要消耗較多的通信管理和控制器內(nèi)存;在線時不可
13、以改變標(biāo)簽的數(shù)據(jù)類型。2 2結(jié)構(gòu)數(shù)據(jù)類型結(jié)構(gòu)數(shù)據(jù)類型(1)系統(tǒng)預(yù)定義結(jié)構(gòu)數(shù)據(jù)類型 I/O模塊組態(tài)時產(chǎn)生的I/O數(shù)據(jù)。 功能塊(過程控制)的數(shù)據(jù)結(jié)構(gòu)。 系統(tǒng)組態(tài)信息和狀態(tài)信息。(2)自定義結(jié)構(gòu)數(shù)據(jù)類型 字符串自定義數(shù)據(jù)結(jié)構(gòu)。 用戶自定義數(shù)據(jù)結(jié)構(gòu)UDF。 AOI自定義指令。3 3數(shù)組數(shù)組(1)數(shù)組類型數(shù)組是同一數(shù)據(jù)類型的連續(xù)分布的集合,可由基本數(shù)據(jù)類型和結(jié)構(gòu)數(shù)據(jù)類型構(gòu)成。(2)數(shù)組類型和結(jié)構(gòu)數(shù)據(jù)類型的優(yōu)點允許特定的名稱和用戶自定義的結(jié)構(gòu);在控制器中固定信息;控制器內(nèi)存占用沖突得到解決,且通信時間得到優(yōu)化;能夠動態(tài)地索引數(shù)組;在線編程可以創(chuàng)建新數(shù)組。(3)數(shù)組類型和結(jié)構(gòu)數(shù)據(jù)類型的注意點每個用戶自定義
14、的結(jié)構(gòu)或數(shù)組限于2MB;用戶自定義的結(jié)構(gòu)充滿32位整倍數(shù)的空間;數(shù)組中的數(shù)據(jù)元素只能被基本標(biāo)簽指向;標(biāo)簽編輯器(Edit Tags)和數(shù)據(jù)監(jiān)視(Monitor Tags)的篩選有限;只有在離線時才能創(chuàng)建或改變結(jié)構(gòu)數(shù)據(jù)類型和數(shù)組類型的結(jié)構(gòu);在結(jié)構(gòu)里面的數(shù)組只可以是一維數(shù)組;用戶自定義結(jié)構(gòu)的子元素不能超過500個,如果需要更多,可以采用嵌套的形式,即子元素本身就是自定義結(jié)構(gòu);要用于通信的用戶自定義結(jié)構(gòu)也有限制,Produce/Consume的標(biāo)簽,通過背板的不超過500B,通過ControlNet網(wǎng)絡(luò)的不超過480B;I/O數(shù)據(jù)要放入結(jié)構(gòu)中,只能使用COP指令,注意數(shù)據(jù)類型要保持一致,以避免數(shù)據(jù)轉(zhuǎn)
15、換;當(dāng)需要在程序開始時將輸入數(shù)據(jù)裝載在結(jié)構(gòu)數(shù)據(jù)中,在程序結(jié)束時將結(jié)構(gòu)數(shù)據(jù)裝載到輸出數(shù)據(jù)中,這時,要用合適的指令把數(shù)據(jù)裝載到結(jié)構(gòu)數(shù)據(jù)里,單一的位用XIC指令和OTE指令,連續(xù)的位用BTD指令,單一的量用COP指令,連續(xù)的量用CPS指令。4 4不同數(shù)據(jù)類型的內(nèi)存占用和時間消耗情況對比不同數(shù)據(jù)類型的內(nèi)存占用和時間消耗情況對比例如,在1756-L63控制器中執(zhí)行一條ADD指令,使用不同數(shù)據(jù)類型的消耗情況如表3-5所示。使 用 情 況SINTINTDINTREAL獨立建立標(biāo)簽耗用內(nèi)存(B)4444用戶自定義標(biāo)簽的子元素耗用內(nèi)存(B)1244ADD指令執(zhí)行用于訪問的內(nèi)存(B)2362602844L63控制
16、器執(zhí)行ADD指令耗用時間(ms)3.313.490.261.453.3.1 ControlLogix3.3.1 ControlLogix控制器程序文件結(jié)構(gòu)控制器程序文件結(jié)構(gòu)Logix5000控制器實時多任務(wù)系統(tǒng)內(nèi)核圖如圖3-9所示。1 1任務(wù)任務(wù)連續(xù)型任務(wù)是指周而復(fù)始執(zhí)行的任務(wù),在后臺運行。周期型任務(wù)是指定時中斷執(zhí)行的邏輯程序,周期性地執(zhí)行任務(wù),必須定義周期時間。執(zhí)行周期默認值是10ms,選擇范圍是0.12000ms。事件觸發(fā)型任務(wù)是指事件觸發(fā)引起的任務(wù)調(diào)用,事件觸發(fā)可以是由外部輸入點變化引起的,如數(shù)字量輸入觸發(fā)或模擬量的新采樣數(shù)據(jù),也可以是由Consuned Tag引起或直接由指令調(diào)用引起的
17、,還可以由運動控制狀態(tài)引起。例如,項目中有3個任務(wù),分別是1個事件觸發(fā)型任務(wù)、1個周期型任務(wù)、1個連續(xù)型任務(wù),如表3-6所示。任 務(wù) 號任 務(wù) 類 型執(zhí) 行 時 間中斷優(yōu)先級1事件觸發(fā)型任務(wù)2ms52周期型任務(wù)4ms103連續(xù)型任務(wù)24ms最低任務(wù)執(zhí)行情況如圖3-10所示。2 2程序程序程序是第二層的組織結(jié)構(gòu),由一個數(shù)據(jù)庫和多個子程序組成。每個程序都有一個獨立的數(shù)據(jù)庫,在這個數(shù)據(jù)庫建立的數(shù)據(jù)標(biāo)簽只能被本程序內(nèi)的子程序引用,而且都是內(nèi)部數(shù)據(jù)。3 3子程序子程序子程序是真正的執(zhí)行程序,所有的控制程序都被編寫在子程序中。4 4故障處理子程序和上電程序故障處理子程序和上電程序故障處理子程序一般用來編寫
18、清除故障的恢復(fù)程序。在本程序內(nèi)由于指令執(zhí)行產(chǎn)生的錯誤,或本程序引用的I/O連接故障,都有可能引起停機,定義的故障處理子程序是停機之前要調(diào)用的子程序,若能在這個子程序中清除可恢復(fù)故障的錯誤代碼,就可以避免停機。5 5刪除子程序、程序和任務(wù)刪除子程序、程序和任務(wù)刪除子程序的所有執(zhí)行代碼;選定子程序并刪除它們;刪除程序區(qū)域的所有標(biāo)簽;選定程序并刪除它們;最后刪除任務(wù)。1 1任務(wù)確定的原則任務(wù)確定的原則大部分執(zhí)行代碼都應(yīng)該放在連續(xù)任務(wù)中;長時間才操作一次的執(zhí)行代碼或要求時間精確處理的操作,采用周期類型的任務(wù);特定的事件需要同步執(zhí)行的代碼采用事件觸發(fā)類型的任務(wù),這類任務(wù)每觸發(fā)一次只執(zhí)行一遍;任務(wù)的個數(shù)不
19、要太多,否則可能導(dǎo)致維護困難;為了改善系統(tǒng)性能,有的任務(wù)的輸出處理應(yīng)該取消,不需要執(zhí)行的任務(wù)可以屏蔽。2 2任務(wù)的優(yōu)先級任務(wù)的優(yōu)先級ControlLogix控制器是一個多任務(wù)的處理器,當(dāng)多個任務(wù)同時請求工作時,優(yōu)先級高的任務(wù)先處理??刂破魅蝿?wù)的優(yōu)先級如圖3-11所示。不同優(yōu)先級的任務(wù)執(zhí)行時相互中斷的過程如圖3-12所示。1 1系統(tǒng)高層管理的作用系統(tǒng)高層管理的作用ControlLogix系統(tǒng)高層管理時間主要是耗費在信息通信和后臺任務(wù)的時間。這里的信息通信不是在I/O組態(tài)中預(yù)先設(shè)定的,而是外部訪問的通信。例如,外部另一個控制器發(fā)出的MSG指令,只有在周期任務(wù)和事件中斷任務(wù)都不能執(zhí)行的情況下,信息通
20、信才可以進行。2 2系統(tǒng)高層管理的主要內(nèi)容系統(tǒng)高層管理的主要內(nèi)容控制器與編程終端和人機界面的通信;控制器發(fā)出的MSG指令;控制器響應(yīng)外部的MSG指令;串口信息和指令處理(如ASCII碼)。系統(tǒng)高層管理和執(zhí)行代碼掃描的工作是同一個CPU實現(xiàn)的,如何分配這兩者之間的工作關(guān)系,如圖3-13所示。1 1控制器的數(shù)據(jù)區(qū)域控制器的數(shù)據(jù)區(qū)域全局數(shù)據(jù)區(qū)域,又稱為控制器數(shù)據(jù)區(qū)域,它含有全部的對外數(shù)據(jù)和公用的內(nèi)部數(shù)據(jù),其數(shù)據(jù)可被控制器內(nèi)所有的子程序引用。程序數(shù)據(jù)區(qū)域,全部為內(nèi)部數(shù)據(jù),其數(shù)據(jù)只能被本程序內(nèi)的子程序引用。各程序之間的數(shù)據(jù)區(qū)域是隔離的,以防止標(biāo)簽命名的沖突。2 2數(shù)據(jù)庫標(biāo)簽建立的基本原則數(shù)據(jù)庫標(biāo)簽建立的
21、基本原則盡可能短地建立描述性的標(biāo)簽名稱;標(biāo)簽名稱存放在控制器中,并且要占用內(nèi)存空間;每個字符使用一字節(jié)的控制器內(nèi)存,每個標(biāo)簽耗用的字節(jié)都是4字節(jié)的整數(shù)倍,如標(biāo)簽實際使用了10字節(jié),但將耗用12字節(jié)的內(nèi)存空間;使用結(jié)構(gòu)數(shù)據(jù),將節(jié)省標(biāo)簽的數(shù)目和尺寸大??;程序上傳可以帶回標(biāo)簽的名稱,但沒有注釋。3.4.1 3.4.1 程序循環(huán)執(zhí)行程序循環(huán)執(zhí)行CPU的循環(huán)掃描包括3個主要部分:(1)CPU檢查輸入信號的狀態(tài)并刷新過程映像輸入表;(2)執(zhí)行用戶程序;(3)把過程映像輸出表的值寫到輸出模塊。應(yīng)用程序結(jié)構(gòu)設(shè)計通常有3種方法:線性化編程、模塊化編程和結(jié)構(gòu)化編程,如圖3-14所示。1 1線性化編程線性化編程對于
22、線性化編程,在設(shè)計一個控制過程時,采用線性化編程的步驟如下:(1)描述過程的具體任務(wù);(2)把任務(wù)分解成輸入任務(wù)和輸出任務(wù);(3)確定每個任務(wù)的輸入和輸出;(4)編制每個任務(wù)的程序,直到完成所有的任務(wù)。2 2模塊化編程模塊化編程模塊化編程是把程序分成若干個程序塊,每個程序塊含有一些設(shè)備和任務(wù)的邏輯指令。主程序中的指令決定控制程序模塊的執(zhí)行。模塊化程序段控制不同的過程任務(wù),這些塊相當(dāng)于主循環(huán)程序的子程序。3 3結(jié)構(gòu)化編程結(jié)構(gòu)化編程【例3.1】 食品加工工藝。在選擇產(chǎn)品添加劑時,需要決定哪個罐的成分加到混合罐內(nèi)。由于罐的控制具有相似特點,可以建立一個任務(wù),用于選擇產(chǎn)品。在選擇開關(guān)的基礎(chǔ)上,任務(wù)段調(diào)
23、用相應(yīng)的程序塊,分配當(dāng)前的參數(shù),控制混合罐的流入量。解決方案: 建立一個任務(wù)段控制罐的流出量。 為相關(guān)的任務(wù)段建立變量定義表,注意參數(shù)的設(shè)計和地址。 建立一個任務(wù)段,根據(jù)選擇開關(guān)調(diào)用其他任務(wù)段。在結(jié)構(gòu)化編程中,調(diào)用功能的處理與在模塊化編程中一樣。結(jié)構(gòu)化程序設(shè)計如下: 確定哪些部件和操作應(yīng)用于所有罐和相關(guān)控制中。 建立任務(wù)段完成所要求的控制。 建立任務(wù)段的變量定義表,以便于對要操作的罐和相關(guān)控制分配地址。 設(shè)計一個程序,根據(jù)選擇開關(guān)調(diào)用任務(wù)段。1 1標(biāo)準(zhǔn)常開觸點和標(biāo)準(zhǔn)常閉觸點標(biāo)準(zhǔn)常開觸點和標(biāo)準(zhǔn)常閉觸點例如,如果機器中的常閉觸點不動作,過程表中的信號狀態(tài)為“1”,LD中用“常開觸點”符號檢查信號的
24、“1”狀態(tài),當(dāng)信號狀態(tài)為“0”時,“常閉觸點”的符號提供檢查結(jié)果為“1”,如圖3-15所示。 2 2位邏輯指令位邏輯指令(1)常閉輸入指令XIC常閉輸入指令XIC檢查數(shù)據(jù)位是否為置位狀態(tài),為1時導(dǎo)通,梯級條件成立,如圖3-16所示。(2)常開輸入指令XIO常開輸入指令XIO檢查數(shù)據(jù)位是否為斷開狀態(tài),為0時導(dǎo)通,梯級條件成立,如圖3-17所示。例如,時序圖如圖3-18所示,編寫成梯形圖如圖3-19所示。(3)非保持型使能輸出指令OTE非保持型使能輸出指令OTE置位或清零數(shù)據(jù)位。當(dāng)梯級條件存在時,為1;當(dāng)梯級條件不存在時,為0。其一直與梯級條件保持一致,如圖3-20所示。(4)保持型鎖存輸出指令O
25、TL保持型鎖存輸出指令OTL置位鎖存數(shù)據(jù)位,必須與OUT指令配對使用,通常與ONS指令配合使用。梯級條件只要存在一個掃描周期,位操作數(shù)即被鎖存為1,如圖3-21所示。(5)保持型解鎖存輸出指令OUT保持型解鎖存輸出指令OUT解鎖存清零數(shù)據(jù)位,一般與OTL指令配對使用,通常與ONS指令配合使用。單獨使用時,常用做復(fù)位狀態(tài)鎖存位。梯級條件只要存在一個掃描周期,位操作數(shù)即被解鎖存為0,如圖3-22所示。(6)單脈沖觸發(fā)指令ONS單脈沖觸發(fā)指令ONS、上升沿觸發(fā)指令OSR、OSF都是這樣的一次啟動有效型指令。ONS指令不能單獨使用,必須跟在某個梯級條件之后,梯級條件前沿觸發(fā)后保持一個掃描周期,且存儲已
26、觸發(fā)狀態(tài),直到梯級條件復(fù)位,存儲位也隨即復(fù)位為0。ONS指令的作用相當(dāng)于硬件電路中的微分電路,ONS指令時序圖如圖3-23所示。(7)上升沿觸發(fā)指令OSR上升沿觸發(fā)指令OSR根據(jù)存儲位的狀態(tài)置位或清零輸出位。這是一條輸出指令,當(dāng)梯級條件成立時觸發(fā),即上升沿觸發(fā),設(shè)置輸出位。OSR指令圖如圖3-24所示。指令時序圖如圖3-25所示。(8)下降沿觸發(fā)指令OSF下降沿觸發(fā)指令OSF是與OSR指令對應(yīng)的輸出指令,當(dāng)梯級條件消失時觸發(fā),即下降沿觸發(fā),設(shè)置輸出位。OSF指令圖如圖3-26所示。指令時序圖如圖3-27所示。(9)按位與指令A(yù)ND按位與指令A(yù)ND將輸入值A(chǔ)和輸入值B進行按位與運算,并輸出結(jié)果。
27、輸入值和輸出值的數(shù)據(jù)類型必須是一致的。梯形圖的表示形式如圖3-28所示。(10)按位或指令OR按位或指令OR將輸入值A(chǔ)和輸入值B進行按位或運算,并輸出結(jié)果。輸入值和輸出值的數(shù)據(jù)類型必須是一致的。梯形圖的表示形式如圖3-29所示。(11)按位非指令NOT按位非指令NOT將輸入值A(chǔ)和輸入值B進行按位非運算,并輸出結(jié)果。輸入值和輸出值的數(shù)據(jù)類型必須是一致的。梯形圖的表示形式如圖3-30所示。先串聯(lián)后并聯(lián)的程序結(jié)構(gòu)如圖3-31所示。其特點是觸點組先串聯(lián),再將整個觸點組和其他觸點或觸點組并聯(lián)。先并聯(lián)后串聯(lián)的程序結(jié)構(gòu)如圖3-32所示。其特點與先串聯(lián)后并聯(lián)的次序正好相反。(12)按位異或指令XOR按位異或指
28、令XOR將輸入值A(chǔ)和輸入值B進行按位異或運算,并輸出結(jié)果。輸入值和輸出值的數(shù)據(jù)類型必須是一致的。指令如表3-7所示。輸入值A(chǔ)輸入值B輸出值Dest000011101110梯形圖的表示形式如圖3-33所示。(1)非保持型延時導(dǎo)通計時器指令TON非保持型延時導(dǎo)通計時器指令TON是最常用的指令之一,主要用以延時或定時,如圖3-34所示。當(dāng)梯級輸入條件為真(導(dǎo)通)時,指令使能,開始計時,直到累加器值(.ACC)大于等于預(yù)置值(.PRE);當(dāng)梯級輸入條件消失(斷開)時,指令未使能,累加器(ACC)復(fù)位,所有狀態(tài)位復(fù)位,利用狀態(tài)位DN作為梯級條件,令其自復(fù)位,計時器循環(huán)進行,從而產(chǎn)生定時工作脈沖。時序圖如
29、圖3-35所示。執(zhí)行邏輯如圖3-36所示。(2)非保持型延時斷開計時器指令TOF非保持型延時斷開計時器指令TOF對應(yīng)于TON指令,是滿足負邏輯關(guān)系的計時器指令,當(dāng)梯級輸入條件為假時,開始累計。不但梯級條件要求負邏輯,動作DN也是負邏輯,如圖3-37所示。當(dāng)梯級輸入條件為假(斷開)時,指令使能,開始計時,直到累加器值(.ACC)大于等于預(yù)置值(.PRE);當(dāng)梯級輸入條件消失(導(dǎo)通)時,指令未使能,累加器(ACC)復(fù)位,所有狀態(tài)位復(fù)位。時序圖如圖3-38所示。執(zhí)行邏輯如圖3-39所示。(3)保持型延時導(dǎo)通計時器指令RTO保持型延時導(dǎo)通計時器指令RTO多用于時間累加,尤其是梯級條件間斷型的時間累加,
30、因為當(dāng)梯級條件消失時,只復(fù)位狀態(tài)位,累加值不復(fù)位。當(dāng)梯級條件再次成立時,累加值會在原來累加值的基礎(chǔ)上繼續(xù)累加。復(fù)位RTO指令可用RES指令實現(xiàn),如圖3-40所示。當(dāng)梯級條件成立(導(dǎo)通)時,指令使能,開始計時;當(dāng)梯級條件消失(斷開)時,指令未使能,累加值(.ACC)不復(fù)位,所有狀態(tài)位復(fù)位。時序圖如圖3-41所示。(1)加計數(shù)器指令CTU加計數(shù)器指令CTU,梯級條件跳變一次,CU被使能一次,累加值增加1,無論計數(shù)器狀態(tài)位(完成位DN或上溢出位OV)是什么狀態(tài),都不會影響加計數(shù),即計數(shù)器的計數(shù)只能通過梯級條件的跳變實現(xiàn),不受計數(shù)器狀態(tài)位的影響,如圖3-42所示。如果指令被使能時CU位是清零狀態(tài),則C
31、TU指令使計數(shù)累加值加1;如果指令被使能時CU位是置位狀態(tài),或指令被禁止,則CTU指令保持累加值(.ACC)不變。時序圖如圖3-43所示。執(zhí)行邏輯如圖3-44所示。(2)減計數(shù)器指令CTD減計數(shù)器指令CTD,梯級條件跳變一次,CD被使能一次,累加值減1,無論計數(shù)器狀態(tài)位(完成位DN或下溢出位UN)是什么狀態(tài),都不會影響減計數(shù),如圖3-45所示。執(zhí)行邏輯如圖3-46所示。如果要實現(xiàn)雙向計數(shù)功能,可以同時使用加計數(shù)器指令CTU和減計數(shù)器指令CTD,兩條指令使用同一個計數(shù)器結(jié)構(gòu)體,修改同一個標(biāo)簽的數(shù)據(jù)元素ACC,如圖3-47所示。例如,一條食品生產(chǎn)車間的傳輸帶將食品送進包裝箱內(nèi),每傳輸進一個食品,L
32、imit_box1就接通一次,計數(shù)器Counter的累加值加1;每傳輸出一個食品,Limit_box2就接通一次,計數(shù)器Counter的累加值減1。如果有包裝箱內(nèi)已有100個食品,Counter.DN被置位,則Conveyor接通,傳輸帶停止傳輸食品,如圖3-48所示。(3)復(fù)位指令RES復(fù)位指令RES可以將保持型指令RTO、RTU、CTU的結(jié)構(gòu)體數(shù)據(jù)TIMER、COUNTER和數(shù)組操作結(jié)構(gòu)體數(shù)據(jù)CONTROL復(fù)位。復(fù)位指令RES不僅將累加器值復(fù)位,而且將結(jié)構(gòu)體的狀態(tài)位都復(fù)位。通常在程序的最后安排復(fù)位指令RES。(1)單一比較指令 等于比較指令EQU。 不等于比較指令NEQ。 大于比較指令GR
33、T。 大于等于比較指令GEQ。 小于比較指令LES。 小于等于比較指令LEQ。(2)表達式比較指令表達式比較指令CMP是復(fù)合式比較指令,用于比較表達式中指定的算術(shù)運算。指令的表達式可以是運算符、立即數(shù)和標(biāo)簽。如果表達式比較復(fù)雜,可以使用圓括號。(3)屏蔽比較指令屏蔽比較指令MEQ通過屏蔽字,位對位地比較兩個數(shù)據(jù),屏蔽字可以是地址,也可以是立即數(shù),立即數(shù)的默認值是十進制數(shù),如果要改用其他數(shù)制,則在數(shù)字前加相應(yīng)的前綴16#、8#、2#。MEQ結(jié)構(gòu)體的尋址狀態(tài)位如下。 使能位:BOOL數(shù)據(jù)類型,置位狀態(tài)表示指令被使能。 源值(Source):DINT數(shù)據(jù)類型,要與參考值進行比較的數(shù)值。 屏蔽值(Ma
34、sk):DINT數(shù)據(jù)類型,定義要屏蔽的位。 參考值(Compare):DINT數(shù)據(jù)類型,要與源值進行比較的數(shù)值。 輸出值(Dest):BOOL數(shù)據(jù)類型,表示指令執(zhí)行的輸出結(jié)果。例如,兩個數(shù)值Value1和Value2,通過屏蔽后,如果相等,則置位Light,燈亮;如果不相等,則清零Light,燈滅。示意圖如圖3-49所示。梯形圖如圖3-50所示。(4)極限比較指令極限比較指令LIM檢測被測數(shù)據(jù)是否在上限和下限之間。當(dāng)下限值小于上限值時,如果被測數(shù)據(jù)在范圍之內(nèi),則梯級條件為真;如果被測數(shù)據(jù)在范圍之外,則梯級條件為假。(1)加法指令A(yù)DD加法指令A(yù)DD將輸入值相加,并輸出結(jié)果。輸入值和輸出值的數(shù)據(jù)
35、類型必須是一致的。梯形圖的表示形式如圖3-51所示。(2)減法指令SUB減法指令SUB從SourceA的值中減去SourceB的值,并輸出結(jié)果。輸入值和輸出值的數(shù)據(jù)類型必須是一致的。梯形圖的表示形式如圖3-52所示。(3)乘法指令MUL乘法指令MUL將輸入值相乘,并將結(jié)果傳給輸出Dest。輸入值和輸出值的數(shù)據(jù)類型必須是一致的。梯形圖的表示形式如圖3-53所示。(4)除法指令DIV除法指令DIV用輸入值SourceA除以SourceB的值,并將結(jié)果傳給輸出Dest。輸入值和輸出值的數(shù)據(jù)類型必須是一致的。梯形圖的表示形式如圖3-54所示。(5)求模指令MOD求模指令MOD計算輸入值SourceA除
36、以SourceB的余數(shù),并將計算結(jié)果的余數(shù)傳給輸出Dest。輸入值和輸出值的數(shù)據(jù)類型必須是一致的。梯形圖的表示形式如圖3-55所示。(6)平方根指令SQR平方根指令SQR計算輸入值Source的平方根,并將計算結(jié)果傳給輸出Dest。輸入值和輸出值的數(shù)據(jù)類型必須是一致的。梯形圖的表示形式如圖3-56所示。(7)取負值指令NEG取負值指令NEG改變輸入值的符號,并將結(jié)果傳給輸出Dest。梯形圖的表示形式如圖3-57所示。(8)正弦函數(shù)指令SIN正弦函數(shù)指令SIN用于計算角度的正弦值,結(jié)果存儲到Dest中。(9)余弦函數(shù)指令COS余弦函數(shù)指令COS用于計算角度的余弦值,結(jié)果存儲到Dest中。(10)
37、綜合計算指令CPT綜合計算指令CPT用于計算表達式中指定的算術(shù)運算。指令表達式的長度沒有限制,如果表達式比較復(fù)雜,可以使用圓括號。例如,當(dāng)指令使能時,用CPT指令計算(Value13)/(Value2/5)的值,如圖3-58所示。(1)傳輸指令MOV傳輸指令MOV復(fù)制輸入數(shù)值到Dest,源輸入數(shù)值保持不變。(2)位域分配指令BTD位域分配指令BTD復(fù)制輸入數(shù)值中的指定位,傳送到指定位置,實現(xiàn)數(shù)據(jù)單元的移動。如果傳輸位字段超出目標(biāo)長度,不保存超出位。例如,當(dāng)指令使能時,用BTD指令傳輸Source值到Dest,如圖3-59所示。指令將Source的值從第3位開始的10個位傳輸?shù)紻est,如圖3-
38、60中,陰影部分表示被改變的值。(1)文件算術(shù)與邏輯指令FAL結(jié)構(gòu)體的尋址狀態(tài)位如下。 使能位(.EN):BOOL數(shù)據(jù)類型,表示FAL指令被使能。 完成位(.DN):BOOL數(shù)據(jù)類型,該位置位表示指令已經(jīng)處理完最后的元素(.POS=.LEN)。 錯誤位(.ER):BOOL數(shù)據(jù)類型,置位該位表示計算表達式時發(fā)生溢出。 長度值(.LEN):DINT數(shù)據(jù)類型,指定FAL指令操作的數(shù)組內(nèi)元素的數(shù)量。 位置值(.POS):DINT數(shù)據(jù)類型,指定指令正在訪問的當(dāng)前元素的位置。 整體模式。整體模式是在繼續(xù)執(zhí)行下一條指令前對數(shù)組內(nèi)所有的指定元素進行的操作。這個操作從指令所在梯級的輸入條件由假變換為真時開始。該
39、模式一般用于數(shù)組對數(shù)組的操作,如圖3-61所示。結(jié)構(gòu)體尋址狀態(tài)位和操作指令之間的時序關(guān)系如圖3-62所示,當(dāng)指令完成時,完成位(.DN)被置位。執(zhí)行過程如圖3-63所示。 數(shù)值模式。數(shù)值模式把對數(shù)組的操作分配給多個掃描周期。這個操作從指令所在梯級的輸入條件由假變換為真時開始。一旦被觸發(fā),則指令每次被掃描都執(zhí)行,且經(jīng)過多次掃描指令才能完成對整個數(shù)組的操作。該模式一般用于數(shù)據(jù)量較大的操作或?qū)r間要求不是很嚴格的應(yīng)用,如圖3-64所示。結(jié)構(gòu)體尋址狀態(tài)位和操作指令之間的時序關(guān)系如圖3-65所示,當(dāng)指令完成時,完成位(.DN)被置位。執(zhí)行過程如圖3-66所示。 增量模式。增量模式是當(dāng)每次指令所在梯級輸入
40、條件由假變?yōu)檎鏁r,只處理數(shù)組內(nèi)的一個元素,一般用于數(shù)組對元素的操作,如圖3-67所示。結(jié)構(gòu)體尋址狀態(tài)位和操作指令之間的時序關(guān)系如圖3-68所示,只有當(dāng)梯級的輸入條件由假變?yōu)檎鏁r,指令才執(zhí)行一次,每執(zhí)行一次,只處理數(shù)組內(nèi)的一個元素。執(zhí)行過程如圖3-69所示。(2)文件搜索與比較指令FSC文件搜索與比較指令FSC用于逐個比較數(shù)組內(nèi)的元素。結(jié)構(gòu)體的尋址狀態(tài)位如下。 使能位(.EN):BOOL數(shù)據(jù)類型,表示FSC指令被使能。 完成位(.DN):BOOL數(shù)據(jù)類型,該位置位表示指令已經(jīng)處理完最后的元素(.POS=.LEN)。 錯誤位(.ER):BOOL數(shù)據(jù)類型,表示出現(xiàn)錯誤。 禁止位(.IN):BOOL數(shù)
41、據(jù)類型,表示檢測到一個為真的比較,必須清零該位,才能繼續(xù)比較。 發(fā)現(xiàn)位(.FD):BOOL數(shù)據(jù)類型,表示檢測到一個為真的比較。 長度值(.LEN):DINT數(shù)據(jù)類型,指定FAL指令操作的數(shù)組內(nèi)元素的數(shù)量。 位置值(.POS):DINT數(shù)據(jù)類型,指定指令正在訪問的當(dāng)前元素的位置。(3)文件復(fù)制指令COP與文件同步復(fù)制指令CPS文件復(fù)制指令COP與文件同步復(fù)制指令CPS復(fù)制源數(shù)據(jù)值到目標(biāo)值,源數(shù)據(jù)值保持不變。文件復(fù)制指令COP與文件同步復(fù)制指令CPS分別如圖3-70和圖3-71所示。圖3-70和圖3-71中,輸入?yún)?shù)Source表示輸入值,Dest存儲輸出結(jié)果,Length表示被復(fù)制到目的標(biāo)簽的元
42、素個數(shù)。(4)平均值指令A(yù)VE平均值指令A(yù)VE可以計算一組數(shù)值的平均值。結(jié)構(gòu)體的尋址狀態(tài)位如下。 使能位(.EN):BOOL數(shù)據(jù)類型,表示AVE指令被使能。 完成位(.DN):BOOL數(shù)據(jù)類型,該位置位表示指令已經(jīng)處理完最后的元素(.POS=.LEN)。 錯誤位(.ER):BOOL數(shù)據(jù)類型,置位該位表示指令執(zhí)行時發(fā)生溢出。 長度值(.LEN):DINT數(shù)據(jù)類型,指定AVE指令操作的數(shù)組內(nèi)元素的數(shù)量。 位置值(.POS):DINT數(shù)據(jù)類型,指定指令正在訪問的當(dāng)前元素的位置。例如,array_dint是二維數(shù)組DINT3,4,如圖3-72所示,計算array_dint平均值。指令如圖3-73所示。
43、(5)排序指令SRT排序指令SRT可以對數(shù)組內(nèi)的一維數(shù)據(jù)按照升序進行排序。結(jié)構(gòu)體的尋址狀態(tài)位如下。 使能位(.EN):BOOL數(shù)據(jù)類型,表示SRT指令被使能。 完成位(.DN):BOOL數(shù)據(jù)類型,置位該位表示指定的數(shù)據(jù)已經(jīng)排序。 錯誤位(.ER):BOOL數(shù)據(jù)類型,置位該位表示長度值(.LEN)0或位置值(.POS)0。 長度值(.LEN):DINT數(shù)據(jù)類型,指定SRT指令操作的數(shù)組內(nèi)元素的數(shù)量。 位置值(.POS):DINT數(shù)據(jù)類型,指定指令正在訪問的當(dāng)前元素的位置。例如,array_dint是二維數(shù)組DINT3,4,如圖3-72所示,對array_dint排序,排序指令SRT如圖3-74所
44、示。排序指令SRT執(zhí)行后,數(shù)組排序如圖3-75所示。(6)元素尺寸指令SIZE元素尺寸指令SIZE用于統(tǒng)計數(shù)組中指定維數(shù)內(nèi)元素的數(shù)量,并將統(tǒng)計結(jié)果存放在操作數(shù)Size內(nèi)。(7)左移位指令BSL和右移位指令BSR移位指令用于改變數(shù)組內(nèi)數(shù)據(jù)的位置,是對存儲器本身內(nèi)容進行調(diào)整,操作對象是存儲器內(nèi)的連續(xù)區(qū)域,且必須是雙整數(shù)類型。結(jié)構(gòu)體的尋址狀態(tài)位如下。 使能位(.EN):BOOL數(shù)據(jù)類型,表示移位指令被使能。 完成位(.DN):BOOL數(shù)據(jù)類型,置位該位表示數(shù)組中的位已經(jīng)移動。 卸載位(.UL):BOOL數(shù)據(jù)類型,存儲移出數(shù)組位的狀態(tài)。 錯誤位(.ER):BOOL數(shù)據(jù)類型,置位該位表示長度值(.LEN
45、)0。 長度值(.LEN):DINT數(shù)據(jù)類型,指定數(shù)組內(nèi)被移動元素的數(shù)量。例如,用BSL指令將數(shù)組array_dint的位0開始的10個元素左移一位,如圖3-76所示。指令執(zhí)行如圖3-77所示。(8)堆棧操作指令LFL、LFU堆棧操作指令LFL、LFU按照先進后出的順序存取數(shù)據(jù),必須成對使用,且共用同一個結(jié)構(gòu)體控制文件,對內(nèi)存中的連續(xù)區(qū)域進行操作。結(jié)構(gòu)體的尋址狀態(tài)位如下。 使能位(.EN):BOOL數(shù)據(jù)類型,表示堆棧操作指令被使能。 完成位(.DN):BOOL數(shù)據(jù)類型,置位該位表示堆棧已滿。 ??瘴唬?EM):BOOL數(shù)據(jù)類型,表示堆???。 長度值(.LEN):DINT數(shù)據(jù)類型,表示可容納的最
46、多元素數(shù)量。 位置值(.POS):DINT數(shù)據(jù)類型,指示裝載的下一個數(shù)據(jù)。(1)數(shù)據(jù)通信指令MSG數(shù)據(jù)通信指令MSG主要用于控制器以異步的方式讀取網(wǎng)絡(luò)上另一個模塊的數(shù)據(jù)塊。結(jié)構(gòu)體的主要尋址狀態(tài)位如下: 狀態(tài)標(biāo)記(.FLAGS):INT數(shù)據(jù)類型,在16位字內(nèi)存儲狀態(tài)位,如圖3-78所示。時序關(guān)系如圖3-79所示。MSG指令執(zhí)行過程如圖3-80所示。MSG指令執(zhí)行過程的主要錯誤代碼如表3-8所示。主要擴展錯誤代碼分別如表3-9和表3-10所示。錯誤代碼(十六進制)代 碼 描 述錯誤代碼(十六進制)代 碼 描 述1數(shù)據(jù)通信連接失敗,詳見擴展錯誤代碼表(見表3-9)13缺命令數(shù)據(jù)2資源不足14屬性不支
47、持3無效數(shù)值15數(shù)據(jù)太多4語法錯誤1A請求數(shù)據(jù)太多5擴展?fàn)顟B(tài)溢出1B響應(yīng)數(shù)據(jù)太多6數(shù)據(jù)包空間不足1C缺少屬性列表7連接失敗1D無效屬性列表8服務(wù)類型不支持1E嵌入服務(wù)錯誤9數(shù)據(jù)段錯誤或數(shù)值屬性無效1F連接錯誤A屬性列表錯誤22接收無效應(yīng)答B(yǎng)狀態(tài)已存在25關(guān)鍵數(shù)據(jù)段錯誤C對象模型沖突28DeviceNet錯誤D對象已存在D1模塊不在運行狀態(tài)E屬性不可設(shè)置FB通信端口不支持F超出權(quán)限FC數(shù)據(jù)類型不支持10設(shè)備狀態(tài)沖突FD通信未初始化11應(yīng)答不合適FE通信超時12未使用的存儲器單元FF一般錯誤,詳見擴展錯誤代碼表(見表3-10)(2)讀取系統(tǒng)值GSV指令/設(shè)置系統(tǒng)值SSV指令讀取系統(tǒng)值GSV指令如圖
48、3-81所示。設(shè)置系統(tǒng)值SSV指令如圖3-82所示。讀取系統(tǒng)值GSV指令/設(shè)置系統(tǒng)值SSV指令可以訪問以下對象: CONTROLLER,控制器用于通信管理的CPU比值信息; CONTROLLERDEVICE,控制器模塊產(chǎn)品及狀態(tài)信息; CST,協(xié)調(diào)系統(tǒng)時間的狀態(tài)及當(dāng)前值信息; DF1,串口DF1通信協(xié)議信息; FAULTLOG,控制器主要故障和次要故障信息; MESSAGE,MSG指令執(zhí)行狀態(tài)信息; MODULE,模塊的狀態(tài)信息; MOTIONGROUP,伺服模塊信息; PROGRAM,程序執(zhí)行信息; ROUTINE,例程執(zhí)行狀態(tài)信息; SERIALPORT,串口通信組態(tài)信息; TASK,任務(wù)
49、執(zhí)行狀態(tài)和組態(tài)信息; WALLCLOCKTIME,控制器系統(tǒng)日期信息。例如,使用讀取系統(tǒng)值GSV指令、設(shè)置系統(tǒng)值SSV指令訪問MESSAGE對象,通過改變ConnectionPath屬性,將數(shù)據(jù)傳輸?shù)讲煌目刂破髦?。MESSAGE對象可以建立和觸發(fā)對等通信。MESSAGE對象屬性如表3-11所示。對 象 屬 性數(shù) 據(jù) 類 型功 能ConnectionPathSINT設(shè)置連接路徑ConnectionRateDINT請求數(shù)據(jù)包的連接速率MessageTypeSINT設(shè)置信息類型,默認數(shù)值為0,未初始化PortSINT設(shè)置信息應(yīng)發(fā)送到的端口。數(shù)值為1,表示背板;數(shù)值為2,表示串行口Timeout M
50、ultiplierSINT設(shè)置連接的超時時間和關(guān)閉時間。數(shù)值為0,表示連接超時時間為4倍速率;數(shù)值為1,表示連接超時時間為8倍速率;數(shù)值為2,表示連接超時時間為16倍速率Unconnected TimeoutDINT設(shè)置未連接數(shù)據(jù)的超時時間,單位為毫秒(ms)當(dāng)msg_path為導(dǎo)通狀態(tài)時,將msg_t信息的路徑值設(shè)置為msg_t_path,以將數(shù)據(jù)發(fā)送到不同的控制器。 msg_t為要改變屬性的數(shù)據(jù)信息; msg_t_type為信息類型屬性值; tag_ex用于存儲一個0值; msg_t_path用于存儲信息新連接路徑的數(shù)組。IF msg_path THEN GSV(MESSAGE, msg_
51、t,MessageType, msg_t_type); SSV(MESSAGE, msg_t,MessageType, tag_ex); SSV(MESSAGE, msg_t,ConnectionPath, msg_t_path0); SSV(MESSAGE, msg_t,MessageType, msg_t_type);END_IF;IF NOT msg_t.EN THEN MSG(msg_t);END_IF;(3)立即輸出IOT指令立即輸出IOT指令用于立即更新特定的輸出數(shù)據(jù)(生產(chǎn)者標(biāo)簽或I/O模塊的輸出標(biāo)簽),指令如圖3-83所示。(1)用戶自定義指令A(yù)OI用戶自定義指令A(yù)OI(Add
52、On Instruction)是由用戶自己創(chuàng)建的指令,可以多次調(diào)用,且可以帶入/帶出用戶自定義的參數(shù)。AOI指令是使用標(biāo)準(zhǔn)的指令集或其他AOI指令,按照用戶特定的要求進行代碼的開發(fā),封裝為新的指令,可以獨立使用的特殊指令。(2)AOI指令的優(yōu)點 通過創(chuàng)建通用的用戶指令集,可以節(jié)省項目開發(fā)時間; 可以實現(xiàn)多個項目的一致性,不用每次都編制通用的控制算法; 支持多種編程語言創(chuàng)建AOI指令LD、FBD、ST; 支持多種編程語言調(diào)用AOI指令LD、FBD、ST、SFC; 可以實現(xiàn)源代碼密碼保護,防止源代碼密碼被修改; 源代碼鎖定,對關(guān)鍵代碼進行鎖定,防止意外修改,但是可以查看和編譯; 原始輸入和輸出參數(shù)
53、類型可以自動轉(zhuǎn)換,減少指令代碼和編譯; 基于實例(Instance)的查看功能; 調(diào)用實例(Instance)標(biāo)簽時,自動生成指令調(diào)用的描述,減少輸入工作; 易于維護。(3)創(chuàng)建AOI指令 控制器結(jié)構(gòu)中包含“Add-On Instruction”文件夾; AOI指令只需定義一次,指令可以被多個程序調(diào)用; 指令的數(shù)量僅受限于控制器的內(nèi)存。例如,在Controller管理器中,右鍵單擊“Add-on自定義指令”,如圖3-84所示,即可創(chuàng)建AOI指令。(4)定義指令數(shù)據(jù) 用戶配置指令的參數(shù),支持原始數(shù)據(jù)類型; 將參數(shù)名字和定義保存在控制器中,描述保存在項目文件中; 數(shù)據(jù)類型自動轉(zhuǎn)換。指令被調(diào)用之前,
54、輸入值進行轉(zhuǎn)換;指令執(zhí)行之后,輸出值進行轉(zhuǎn)換。新建AOI指令的頁面如圖3-85所示。單擊“確定”按鈕,進入AOI指令參數(shù)設(shè)置頁面,如圖3-86所示。(5)定義本地標(biāo)簽 指令可以定義本地標(biāo)簽。 本地標(biāo)簽在指令范圍內(nèi)被使用。進入AOI指令的本地標(biāo)簽頁面,如圖3-87所示。(6)AOI掃描模式進入AOI指令的掃描模式頁面,如圖3-88所示。至此,新創(chuàng)建了一條名為AOI_US的用戶自定義指令,如圖3-89所示。創(chuàng)建的指令參數(shù)和本地標(biāo)簽都存儲在AOI_US的數(shù)據(jù)庫里,如圖3-90所示。(7)AOI指令的使用 一次定義,在FBD、LD、ST中直接使用; 每個AOI實例(Instance)都擁有獨立的數(shù)據(jù)實
55、例(Data Instance),實現(xiàn)數(shù)據(jù)的自動隔離; 允許每個指令工作于定制的一套數(shù)據(jù)。(8)導(dǎo)出AOI指令可以將編寫好的AOI指令導(dǎo)出,以文件形式保存,如圖3-91所示。(9)AOI指令和子程序的比較AOI指令和子程序的比較如表3-12所示。AOI指令子 程 序調(diào)用實現(xiàn)方式控制器范圍內(nèi)復(fù)制,且僅復(fù)制一次程序范圍內(nèi),多次復(fù)制參數(shù)傳遞方式通過數(shù)值或參考值通過數(shù)值傳遞數(shù)據(jù)類型原始類型原始類型、數(shù)組、結(jié)構(gòu)體數(shù)字型參數(shù)自動數(shù)據(jù)類型轉(zhuǎn)換無格式轉(zhuǎn)換參數(shù)檢查驗證檢查用戶管理數(shù)據(jù)封裝本地數(shù)據(jù)隔離,僅在指令內(nèi)使用所有程序和控制器范圍內(nèi)的數(shù)據(jù),任何數(shù)據(jù)均可被使用查看調(diào)用單次調(diào)用,實例數(shù)據(jù)重復(fù)調(diào)用,混合數(shù)據(jù)內(nèi)部編
56、程語言LD、ST、FBDLD、ST、FBD、SFC外部編程語言LD、ST、FBD、SFCLD、ST、FBD、SFC保護方式鎖定、只讀鎖定、只讀內(nèi)存使用緊湊調(diào)用時,會占用較多內(nèi)存執(zhí)行性能調(diào)用更為高效;輸入/輸出傳遞參照值;參照值自動實現(xiàn)定標(biāo)控制指令增加運算負荷;復(fù)制所有數(shù)據(jù);影響索引的參照【例3.2】 置位、復(fù)位語句在時序圖中的使用。實現(xiàn)電動機故障報警,在電動機控制回路和主回路中,有3個故障信號,分別是控制回路電源跳閘信號(KT)、主回路電源跳閘信號(ZT)、電動機過熱保護信號(BH)。信號如表3-13所示。信 號 描 述符 號信 號 狀 態(tài)信 號 類 型控制回路電源跳閘信號KT斷開為1,合閘為
57、0故障信號主回路電源跳閘信號ZT斷開為1,合閘為0故障信號電動機過熱保護信號BH過熱保護動作時為1,過熱保護未動作時為0故障信號控制回路合閘動作KH合閘為1,跳閘為0動作信號主回路合閘動作ZH合閘為1,跳閘為0動作信號控制回路合閘標(biāo)志位KHY合閘標(biāo)志位,合閘為1,跳閘為0中間量標(biāo)志信號主回路合閘標(biāo)志位ZHY合閘標(biāo)志位,合閘為1,跳閘為0中間量標(biāo)志信號控制回路故障標(biāo)志KER故障為1,正常為0故障信號主回路故障標(biāo)志ZER故障為1,正常為0故障信號控制回路故障報警時序圖如圖3-92所示。梯形圖實現(xiàn)過程如圖3-93所示。全部梯形圖如圖3-94所示?!纠?.3】 單按鍵啟停一臺電動機。用一個按鍵實現(xiàn)電動
58、機的啟動/停止。要求按動一下啟動,再按一下停止。輸入:輸入端P,為自動復(fù)位式按鍵。輸出:輸出端Q,為1時啟動,為0時停止。如圖3-95所示。梯形圖如圖3-96所示。【例3.4】 水廠有3個水泵,工作順序是:A水泵先啟動,然后B水泵啟動,最后C水泵啟動。3個水泵各自啟動后即開始運行工作。停止時,執(zhí)行順序與啟動時相反,即C水泵先停止工作,然后B水泵停止工作,最后A水泵停止工作。水泵A、B、C的啟動完成反饋分別為A_END_START、B_END_START、C_END_START,水泵A、B、C的停止完成反饋分別為A_END_STOP、B_END_STOP、C_END_STOP。信號如表3-14所
59、示。啟動聯(lián)鎖梯形圖如圖3-97所示。停止聯(lián)鎖梯形圖如圖3-98所示。【例3.5】 脈沖置位。當(dāng)輸入為1時,輸出一個固定脈沖,脈沖寬度為3s。輸入置位信號X是自動復(fù)位式按鍵,輸出信號是Y。延時導(dǎo)通計時器T,用于產(chǎn)生3s的脈沖。由于按鍵是自動復(fù)位式的,其輸入是脈沖型的,所以,設(shè)置一個變量H,作為按鍵X的輸入保持。當(dāng)按鍵X復(fù)位且計時器T時間到時,將變量H復(fù)位。時序如圖3-99所示。梯形圖實現(xiàn)如圖3-100所示。【例3.6】 閥門延時打開,延時關(guān)閉。閥門在打開時要延時5s,關(guān)閉時也要延時5s。閥門打開信號A,為1時打開;閥門關(guān)閉信號B,為1時關(guān)閉。閥門輸出信號Y,為1時打開,為0時關(guān)閉。設(shè)置兩個計時器
60、T1、T2,計時時間為5s。由于按鍵A、B都是脈沖型的,所以設(shè)置變量L1、L2保持它們的狀態(tài)。梯形圖實現(xiàn)如圖3-101所示?!纠?.7】 輸入信號防抖動設(shè)計。按鍵開關(guān)或接線等在導(dǎo)通或斷開時,因為觸點會有抖動現(xiàn)象,狀態(tài)變化時間一般不超過50ms,所以不能根據(jù)瞬時的輸入為1或0來確定導(dǎo)通或斷開狀態(tài)。如果梯形圖對此沒有判斷程序,當(dāng)梯形圖的掃描周期小于50ms時,會導(dǎo)致程序的輸出在此期間頻繁跳動,不穩(wěn)定。所以,設(shè)計程序?qū)Π存I開關(guān)或接線等的輸入進行防抖動處理,設(shè)置兩個50ms的延時計時器,分別用于導(dǎo)通狀態(tài)和斷開狀態(tài)。如果按鍵開關(guān)或接線等導(dǎo)通,輸入為1,且在50ms后仍然為1,則表示確已導(dǎo)通;同樣,如果按鍵開關(guān)或
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教育領(lǐng)域的安全管理創(chuàng)新與實踐
- 科技助力乳腺疾病早期發(fā)現(xiàn)與干預(yù)
- 2025年度個人與企業(yè)租車合作保障協(xié)議3篇
- 2025版?zhèn)€人住宅電梯公寓租賃管理合同
- 2025年度個人貸款合同解除條件合同范本3篇
- 2025年度個人住房抵押貸款延期還款合同3篇
- 2025年度個人土地租賃合同范本7篇
- 學(xué)前兒童科技美術(shù)教育的政策支持與實施策略
- 2025年新型環(huán)保櫥柜銷售服務(wù)合同范本4篇
- 珠海廣東珠海市公安局交通警察支隊金灣大隊招聘輔警2人筆試歷年參考題庫附帶答案詳解
- 2024年日語培訓(xùn)機構(gòu)市場供需現(xiàn)狀及投資戰(zhàn)略研究報告
- 歷史-廣東省大灣區(qū)2025屆高三第一次模擬試卷和答案
- 天津市部分區(qū)2024-2025學(xué)年九年級(上)期末物理試卷(含答案)
- 保潔服務(wù)質(zhì)量與服務(wù)意識的培訓(xùn)
- 《景觀設(shè)計》課件
- 騰訊人力資源管理
- 2024年安徽省高校分類對口招生考試數(shù)學(xué)試卷真題
- 會所股東合作協(xié)議書范文范本
- 人教版(2024)七年級上冊英語期中復(fù)習(xí)單項選擇100題(含答案)
- 公婆贈予兒媳婦的房產(chǎn)協(xié)議書(2篇)
- 矽塵對神經(jīng)系統(tǒng)的影響研究
評論
0/150
提交評論