性吧杏吧,手机色情直播破解版,杏杏吧在线

ControlLogix系統(tǒng)組態(tài)編程工具介紹(二)

2023/11/19 4:18:08 人評(píng)論 次瀏覽 分類:PLC應(yīng)用  文章地址:http://m.prosperiteweb.com/tech/5189.html

在文章ControlLogix系統(tǒng)組態(tài)編程工具介紹(一)中對(duì)Studio5000組態(tài)編程軟件、RSLinx連接軟件和RSNetWorx 網(wǎng)絡(luò)組態(tài)軟件進(jìn)行介紹,本文繼續(xù)分享ControlLogix系統(tǒng)控制器文件結(jié)構(gòu)相關(guān)內(nèi)容。

4、控制器文件結(jié)構(gòu)

控制器的文件結(jié)構(gòu)是指控制器的程序文件結(jié)構(gòu)和數(shù)據(jù)文件結(jié)構(gòu)。在使用控制器前,應(yīng)該學(xué)習(xí)和了解控制器的文件結(jié)構(gòu),這對(duì)于合理設(shè)計(jì)程序文件,規(guī)劃程序、設(shè)備階段和數(shù)據(jù)及數(shù)據(jù)庫(kù)結(jié)構(gòu),優(yōu)化控制器內(nèi)存和邏輯執(zhí)行等都是十分有幫助的。

1)程序文件

程序文件是用戶編寫(xiě)的針對(duì)控制應(yīng)用的執(zhí)行文件,一個(gè)ControlLogix項(xiàng)目的程序文件結(jié)構(gòu)包括3層,即任務(wù)(Task)層、程序(Program) 層和例程(Routine)層,結(jié)構(gòu)層次架構(gòu)如圖所示。其中,一個(gè)項(xiàng)目最多可以定義32個(gè)任務(wù),每個(gè)任務(wù)最多可以定義100個(gè)程序、設(shè)備階段或它們的組合。每個(gè)程序或設(shè)備階段擁有自己獨(dú)立的數(shù)據(jù)庫(kù)和例程,例程的個(gè)數(shù)由控制器的內(nèi)存決定,只要內(nèi)存足夠大,例程的數(shù)量沒(méi)有具體限制。

任務(wù)(Task)層、程序(Program) 層和例程(Routine)層,結(jié)構(gòu)層次架構(gòu)

①任務(wù)

任務(wù)是一個(gè)項(xiàng)目所有與控制有關(guān)的數(shù)據(jù)和邏輯的總和,有連續(xù)型、周期型和事件觸發(fā)型3種執(zhí)行類型。連續(xù)型任務(wù)是指周而復(fù)始執(zhí)行的任務(wù),周期型任務(wù)是指定時(shí)(中斷)執(zhí)行的邏輯程序,事件觸發(fā)型任務(wù)是指事件觸發(fā)引起的調(diào)用任務(wù)。

一個(gè)項(xiàng)目只能定義一個(gè)連續(xù)型任務(wù)。連續(xù)型任務(wù)執(zhí)行期間,可以被周期性任務(wù)和事件觸發(fā)型任務(wù)中斷(周期型任務(wù)和事件觸發(fā)型任務(wù)因此也稱為中斷型任務(wù))。中斷型任務(wù)的中斷級(jí)別有15個(gè),序號(hào)為1~15,序號(hào)越小,中斷級(jí)別就越高,任務(wù)的優(yōu)先權(quán)也越高。高優(yōu)先權(quán)任務(wù)可以中斷所有低優(yōu)先權(quán)的任務(wù),一個(gè)中斷任務(wù)完成后返回到斷點(diǎn)繼續(xù)執(zhí)行。


②程序和設(shè)備階段

◆程序是任務(wù)的下一層結(jié)構(gòu),由獨(dú)立的數(shù)據(jù)庫(kù)和例程組成。在數(shù)據(jù)庫(kù)中建立的標(biāo)簽只能被程序內(nèi)的例程引用,屬于內(nèi)部數(shù)據(jù)。每個(gè)程序中必須指定一個(gè)例程為主例程,作為程序運(yùn)行的啟動(dòng)程序,其余的例程由主例程中調(diào)用。程序中還可以指定一個(gè)故障處理例程,以解決程序中的例程在運(yùn)行時(shí)引起的故障。

程序是一個(gè)完整的結(jié)構(gòu),可以理解為就是一個(gè)傳統(tǒng)的處理器。當(dāng)把傳統(tǒng)的處理器移植到ContolLogix控制器時(shí),它的結(jié)構(gòu)就對(duì)應(yīng)一個(gè)連續(xù)任務(wù)下的一個(gè)程序。當(dāng)一個(gè)任務(wù)下有多個(gè)程序時(shí),控制器將按程序的組態(tài)順序執(zhí)行。這個(gè)順序可以根據(jù)需要在任務(wù)組態(tài)中進(jìn)行調(diào)整。


◆設(shè)備階段是專門針對(duì)基于狀態(tài)轉(zhuǎn)換模型的控制場(chǎng)合而開(kāi)發(fā)的程序設(shè)計(jì)方法,也稱為設(shè)備相位。Stuio5000(或RSLogix5000 V15版及以后的版本)支持設(shè)備階段的編程和管理功能。它把設(shè)備運(yùn)行劃分為各個(gè)操作狀態(tài)循環(huán)操作,任何時(shí)候只有一個(gè)模塊處于激活處理中,每個(gè)狀態(tài)按照設(shè)定的時(shí)間或給定的條件,決定完成并進(jìn)入下一個(gè)狀態(tài)。設(shè)備階段采用標(biāo)準(zhǔn)化的狀態(tài)編程模型,把編制的程序代碼寫(xiě)入規(guī)定的狀態(tài)模塊,模塊之間只需通過(guò)轉(zhuǎn)換和命令調(diào)用來(lái)實(shí)現(xiàn)控制。


設(shè)備階段有自己獨(dú)立的數(shù)據(jù)庫(kù)和例程,要建立各種階段狀態(tài)例程,包括類似于主控例程的預(yù)設(shè)狀態(tài)例程或初始化狀態(tài)例程等。設(shè)備階段與程序處于同等位置,只是針對(duì)的應(yīng)用對(duì)象不同而已。


③例程

例程是控制器執(zhí)行的所有控制代碼的集合,也稱為子程序,是一個(gè)項(xiàng)目實(shí)現(xiàn)各種控制策略的執(zhí)行邏輯代碼。例程可以用任一種編程語(yǔ)言進(jìn)行編寫(xiě),每個(gè)例程只能引用控制器數(shù)據(jù)庫(kù)和所在程序的數(shù)據(jù)庫(kù)。

2)數(shù)據(jù)文件

ControlLogix系統(tǒng)的數(shù)據(jù)文件與傳統(tǒng)的PLC處理器不同,它采用數(shù)據(jù)標(biāo)簽來(lái)表示程序處理的數(shù)據(jù)或?qū)ο蟆?shù)據(jù)文件是用戶程序中使用的數(shù)據(jù)標(biāo)簽的集合,也稱為數(shù)據(jù)庫(kù)。一個(gè)好的ControlLogix項(xiàng)目,不僅要建立數(shù)據(jù)文件,還要對(duì)數(shù)據(jù)進(jìn)行合理的規(guī)劃,包括數(shù)據(jù)范圍、數(shù)據(jù)類型和結(jié)構(gòu)等。

①數(shù)據(jù)標(biāo)簽

數(shù)據(jù)標(biāo)簽由字母開(kāi)頭,包括大小寫(xiě)字母、數(shù)字0~9和下劃線組成,如witch_1,Pump_5和Start等。在同一個(gè)數(shù)據(jù)范圍內(nèi),數(shù)據(jù)標(biāo)簽不分大小寫(xiě),大小寫(xiě)主要用于輔助記憶。由于數(shù)據(jù)標(biāo)簽在數(shù)據(jù)庫(kù)中是按字母順序排列的,所以可用前綴、補(bǔ)齊標(biāo)簽字符長(zhǎng)度的方法進(jìn)行命名。如A1_TK001,A2_TK151等,簡(jiǎn)潔的數(shù)據(jù)標(biāo)簽可以節(jié)省內(nèi)存。

②數(shù)據(jù)范圍

ControlLogix系統(tǒng)建立的數(shù)據(jù)文件可分為全局?jǐn)?shù)據(jù)范圍和程序數(shù)據(jù)范圍。全局?jǐn)?shù)據(jù)范圍又稱為控制器數(shù)據(jù)范圍,對(duì)外數(shù)據(jù)和內(nèi)部數(shù)據(jù)全部都可以被控制器中的所有程序或例程引用。程序數(shù)據(jù)范圍屬于各程序的內(nèi)部數(shù)據(jù),只能被所在程序中的例程引用。各程序數(shù)據(jù)范圍是相互隔離的,不同程序范圍中的標(biāo)簽可以重名。

③數(shù)據(jù)類型

ControlLogix系統(tǒng)的數(shù)據(jù)類型有基本數(shù)據(jù)類型和結(jié)構(gòu)數(shù)據(jù)類型2種?;緮?shù)據(jù)類型構(gòu)成結(jié)構(gòu)數(shù)據(jù)類型,結(jié)構(gòu)數(shù)據(jù)類型和關(guān)系數(shù)據(jù)庫(kù)的記錄結(jié)構(gòu)方式一致,有利于數(shù)據(jù)采集和管理系統(tǒng)的數(shù)據(jù)交換。

◆基本數(shù)據(jù)類型

基本數(shù)據(jù)類型包括布爾型(BOOL)、 短整數(shù)型(SINT)、 整數(shù)型(INT)、 雙整數(shù)型(DINT)和實(shí)數(shù)型(REAL),是程序或人機(jī)界面引用地址的最小單位,通常稱為操作數(shù)?;緮?shù)據(jù)類型的名稱、符號(hào)、格式和數(shù)值范圍見(jiàn)表,實(shí)數(shù)型數(shù)據(jù)可以表示小數(shù)。

基本數(shù)據(jù)類型

Controllogix系統(tǒng)數(shù)據(jù)處理的基本單位是32位共4字節(jié)(B),數(shù)據(jù)標(biāo)簽的類型為BOOL、SINT或INT時(shí),數(shù)據(jù)位分別只有1位、8位和16位,控制器仍按一個(gè)完整的32位分配內(nèi)存空間,空余的位被閑置。ControlLogix系統(tǒng)基本數(shù)據(jù)類型的內(nèi)存空間占用如圖陰影部分所示。很顯然,這樣的內(nèi)存分配其優(yōu)點(diǎn)是簡(jiǎn)單,缺點(diǎn)是占用內(nèi)存較多。

ControlLogix系統(tǒng)基本數(shù)據(jù)類型的內(nèi)存空間占

CPU處理不同的數(shù)據(jù)類型時(shí)運(yùn)算速度是不同的,如采用 SINT或INT類型運(yùn)算時(shí),CPU需要把SINT或INT轉(zhuǎn)換成DINT后進(jìn)行運(yùn)算,運(yùn)算完成后還要將結(jié)果分別轉(zhuǎn)換為 SINT或INT型數(shù)據(jù)。這都需要占用CPU處理時(shí)間。混合運(yùn)算時(shí)的轉(zhuǎn)換略有不同,如SINT與DINT運(yùn)算,結(jié)果為DINT等。數(shù)據(jù)類型都是DINT時(shí),數(shù)據(jù)處理時(shí)不需要轉(zhuǎn)換,運(yùn)算速度較快。


這在具體應(yīng)用編程時(shí)要注意,如果運(yùn)算量不大,CPU運(yùn)行速度足夠快,這點(diǎn)時(shí)間是可以忽略的。但如果程序較大,就需要做進(jìn)一步優(yōu)化。


◆結(jié)構(gòu)數(shù)據(jù)類型

結(jié)構(gòu)數(shù)據(jù)類型包括系統(tǒng)預(yù)定義結(jié)構(gòu)數(shù)據(jù)類型、用戶自定義結(jié)構(gòu)數(shù)據(jù)類型和數(shù)組等3種,每一種類型又包含幾種形式,見(jiàn)表。



◆系統(tǒng)預(yù)定義結(jié)構(gòu)數(shù)據(jù)類型

指系統(tǒng)預(yù)先定義的結(jié)構(gòu)數(shù)據(jù),具有固定的形式,在組態(tài)編程定義時(shí)自動(dòng)產(chǎn)生,它包括以下幾種形式:

◆I/O組態(tài)時(shí)產(chǎn)生的數(shù)據(jù)

ContolLogix系統(tǒng)在創(chuàng)建I/O模塊時(shí),數(shù)據(jù)庫(kù)中自動(dòng)生成相應(yīng)的I/O結(jié)構(gòu)數(shù)據(jù)。設(shè)在本地框架1號(hào)和2號(hào)槽位分別添加DI和DO模塊時(shí),就有:
Local:1:C—本地框架1號(hào)槽位DI模塊組態(tài)數(shù)據(jù)
Local:1:I—本地框架1號(hào)槽位DI模塊輸入數(shù)據(jù)
Local:2:C—本地框架2號(hào)槽位DO模塊組態(tài)數(shù)據(jù)
Local:2:I—本地框架2號(hào)槽位DO模塊狀態(tài)數(shù)據(jù)
Local:2:0—本地框架2號(hào)槽位DO模塊輸出數(shù)據(jù)

每一種I/O模塊其結(jié)構(gòu)數(shù)據(jù)是不一樣的,編程時(shí)可以直接采用相應(yīng)的數(shù)據(jù),或通過(guò)別名的方式讀寫(xiě)I/O通道。I/O模塊的這種結(jié)構(gòu)數(shù)據(jù),大大簡(jiǎn)化了 ControlLogix系統(tǒng)的I/O尋址方式。如 Local:1:I.Data.1表示1號(hào)槽位DI模塊的輸入通道1,Local:2:0.Data.7表示2號(hào)槽位的DO模塊的輸出通道7等。AI和AO模塊的定義和別名調(diào)用方法類似。


◆多字元素文件數(shù)據(jù)

ControlLogix 系統(tǒng)擴(kuò)展了PLC-5增強(qiáng)型指令集,并繼續(xù)引用傳統(tǒng)PLC指令集中的多字元素文件,同時(shí)把指令中的16位整型數(shù)轉(zhuǎn)換為32位雙整型數(shù)。如定時(shí)器(Timer)指令、計(jì)數(shù)器(Counter)指令、比例積分微分(PID)指令、信息(MSG)指令和順序功能圖(SFC)操作指令等。

運(yùn)動(dòng)控制、功能塊圖、設(shè)備階段以及系統(tǒng)組態(tài)信息和狀態(tài)信息對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu),分別在運(yùn)動(dòng)控制編程、功能塊(過(guò)程控制)編程、設(shè)備階段編程以及使用設(shè)置控制器狀態(tài)值指令(SSV)和讀取控制器狀態(tài)值指令(GSV)時(shí)引用。


◆自定義結(jié)構(gòu)數(shù)據(jù)類型,指用戶根據(jù)應(yīng)用需要自行定義的結(jié)構(gòu)數(shù)據(jù)。它包括以下幾種形式:

字符串自定義數(shù)據(jù)結(jié)構(gòu)。用戶可以自行定義長(zhǎng)度為1KB~64KB的字符串?dāng)?shù)據(jù)結(jié)構(gòu),用于ASCⅡI碼的數(shù)據(jù)(英 文字符和數(shù)字符號(hào)等)表述。數(shù)據(jù)結(jié)構(gòu)中默認(rèn)一個(gè)長(zhǎng)度為82B的字符串,與傳統(tǒng)PLC-5/SLC-500系統(tǒng)中定義的字符串長(zhǎng)度一致以保證能相互兼容。

用戶自定義數(shù)據(jù)結(jié)構(gòu)。用戶自定義數(shù)據(jù)結(jié)構(gòu)(UDF)是在編程時(shí)為了某一控制任務(wù)組織相關(guān)數(shù)據(jù)而建立的數(shù)據(jù)結(jié)構(gòu),以便于數(shù)據(jù)的查找、監(jiān)視和傳輸?shù)取T诮?shù)據(jù)結(jié)構(gòu)的過(guò)程中,數(shù)據(jù)元素的定義順序與存儲(chǔ)器空間的占用有關(guān)。BOOL類型占1位,每建立一個(gè)BOOL元素,都會(huì)存放在剩余的空間上。如果空間不夠,再劃出新的32位字的空間。同理,SINT類型占8位,每建立一個(gè)SINT元素,都會(huì)存放在剩余的空間上。如果空間不夠,再劃出新的32位字的空間。其他類型以此類推。一個(gè)完整的用戶自定義數(shù)據(jù)結(jié)構(gòu)UDF的大小一定是32位的整數(shù)倍。


為電機(jī)控制而建立的UDF存儲(chǔ)空間如圖所示,各種數(shù)據(jù)類型占用的存儲(chǔ)空間
與定義的順序(而不是按字母順序)和它們的類型有關(guān),把相同類型的數(shù)據(jù)整理到一起,數(shù)據(jù)所占用的空間只需40B(10*4=40B),比原來(lái)基本數(shù)據(jù)類型所占空間(14*4=56B )要小得多。



AOI自定義指令結(jié)構(gòu)。 AOI自定義指令數(shù)據(jù)結(jié)構(gòu)是建立AOI時(shí)需要分配的輸入/輸出參數(shù)和指令內(nèi)部使用的參數(shù)構(gòu)成的數(shù)據(jù)庫(kù),類似于指令的數(shù)據(jù)結(jié)構(gòu)。AOI建立后,就會(huì)在項(xiàng)目目錄的【用戶自定義】(Add-On-Defined) 文件夾中自動(dòng)產(chǎn)生與AOI指令同名的自定義數(shù)據(jù)結(jié)構(gòu)。AOI指令調(diào)用時(shí),都要分配一個(gè)相應(yīng)結(jié)構(gòu)的數(shù)據(jù)標(biāo)簽,作為指令執(zhí)行時(shí)的輸入和輸出參數(shù)。


◆數(shù)組

數(shù)組是同一數(shù)據(jù)類型連續(xù)分布的集合,可由基本數(shù)據(jù)類型和結(jié)構(gòu)數(shù)據(jù)類型構(gòu)成。數(shù)組有一維、2維和3維等3種結(jié)構(gòu)。數(shù)組中元素的個(gè)數(shù)沒(méi)有限制,大小取決于控制器內(nèi)存。

一個(gè)數(shù)組元素具有相同的數(shù)據(jù)形式,而且可以用算術(shù)表達(dá)式來(lái)運(yùn)算。


數(shù)組數(shù)據(jù)Array_1[2]表示一個(gè)一維數(shù)據(jù),數(shù)組名為Array_1, [2]表示數(shù)組的第3個(gè)元素(0、1和2)。 Pump_2[1,3]表示一個(gè)2維數(shù)組中的第2行、第3列交叉的元素,同理,Motor_A[2,3,0]表 示一個(gè)3維數(shù)組,數(shù)組名為Motor_A, [2,3,0]表示其中3維中第3、 第4和第0行交叉點(diǎn)的因素,數(shù)組數(shù)據(jù)元素如圖所示,圖中陰影的位置就表示數(shù)組元素的位置。

數(shù)組

共有訪客發(fā)表了評(píng)論 網(wǎng)友評(píng)論

  客戶姓名:
郵箱或QQ:
驗(yàn)證碼: 看不清楚?