銅川西門(mén)子PLC代理商
- 公司名稱(chēng) 西門(mén)子CPU模塊
- 品牌 Siemens/西門(mén)子
- 型號(hào)
- 產(chǎn)地
- 廠商性質(zhì) 經(jīng)銷(xiāo)商
- 更新時(shí)間 2023/7/28 17:11:51
- 訪問(wèn)次數(shù) 349
聯(lián)系我們時(shí)請(qǐng)說(shuō)明是化工儀器網(wǎng)上看到的信息,謝謝!
產(chǎn)地類(lèi)別 | 進(jìn)口 |
---|
銅川西門(mén)子PLC代理商
數(shù)據(jù)塊定義在S7 CPU存儲(chǔ)器中,用戶可在存儲(chǔ)器中建立一個(gè)或多個(gè)數(shù)據(jù)塊。每個(gè)數(shù)據(jù)塊可大可小,但CPU對(duì)數(shù)據(jù)塊數(shù)量及數(shù)據(jù)總量有限制,如對(duì)于CPU314,用作數(shù)據(jù)塊的存儲(chǔ)器多為8 KB(8192 B),用戶定義的數(shù)據(jù)總量不能超出這個(gè)限制。對(duì)數(shù)據(jù)塊必須遵循先定義后使用的原則,否則,將造成系統(tǒng)錯(cuò)誤。
1. 定義數(shù)據(jù)塊
在編程階段和運(yùn)行程序中都能定義數(shù)據(jù)塊。大多數(shù)數(shù)據(jù)塊是在編程階段用STEP 7開(kāi)發(fā)軟件包定義的,定義內(nèi)容包括數(shù)據(jù)塊號(hào)及塊中的變量(包括變量符號(hào)名、數(shù)據(jù)類(lèi)型以及初始值等),定義完成后,數(shù)據(jù)塊中變量的順序及類(lèi)型決定了數(shù)據(jù)塊的數(shù)據(jù)結(jié)構(gòu),變量的數(shù)量決定了數(shù)據(jù)塊的大小。數(shù)據(jù)塊在使用前,必須作為用戶程序的一部分下載到CPU中。
如果確實(shí)需要,還可以在程序運(yùn)行中動(dòng)態(tài)定義一個(gè)數(shù)據(jù)塊。動(dòng)態(tài)定義時(shí),數(shù)據(jù)塊號(hào)是自動(dòng)產(chǎn)生的,數(shù)據(jù)塊在存儲(chǔ)器中的位置是動(dòng)態(tài)分配的。由于要定義的數(shù)據(jù)塊有可能大于CPU存儲(chǔ)器(用于數(shù)據(jù)塊的部分)的剩余空間,因此動(dòng)態(tài)定義過(guò)程有可能失敗
概述
S7-200系列PLC適用于各行各業(yè),各種場(chǎng)合中的檢測(cè)、監(jiān)測(cè)及控制的自動(dòng)化。S7-200系列的強(qiáng)大功能使其無(wú)論在獨(dú)立運(yùn)行中,或相連成網(wǎng)絡(luò)皆能實(shí)現(xiàn)復(fù)雜控制功能。因此S7-200系列具有*的性能/價(jià)格比。
拿三菱比較有優(yōu)勢(shì)的小型機(jī)FX系列和西門(mén)子S7-200系列比
1、 三菱的編程軟件從早期的FXGPWIN到近期的GX8.0(我所知道的),和所有的日系品牌一樣,該軟件的編程思路是自上而下的單一縱向結(jié)構(gòu),而西門(mén) 子的MicroWIN則是縱向和橫向兼?zhèn)涞慕Y(jié)構(gòu),而且子程序支持局部變量,相同的功能只需要編一次程序即可,大大減少了開(kāi)發(fā)難度和時(shí)間
2、S7-200一直以來(lái)支持強(qiáng)大的浮點(diǎn)運(yùn)算,編程軟件直接支持小數(shù)點(diǎn)輸入輸出,而三菱直至近年推出的FX3U系列才有此種功能,以前的FX2N系列的浮點(diǎn)功能都是假的
3、S7-200的模擬量輸入輸出程序非常簡(jiǎn)單方便,AD、DA值可以不需編程直接存取的,三菱的FX2N及其以前的系列都需要非常繁瑣的FROM TO指令。FX3U如今倒支持此功能了,但足足晚了五年甚至更多
4、CPU226和CPU224XP,標(biāo)準(zhǔn)配置2個(gè)485口即PPI口,通訊速度187.5K,三菱FX3U之前的所有系列都是一個(gè)可憐的422口,而且速度是9.6K。如果需要連個(gè)智能儀表什么的則必須另購(gòu)FX2N0-485BD等特殊模塊
5、CPU226的程序容量20K,數(shù)據(jù)容量14K,F(xiàn)X2N總共才8K.后來(lái)的3U倒是有所改進(jìn) 但三菱的FX2N系列有兩個(gè)優(yōu)勢(shì),一是高速計(jì)數(shù)器指令比S7-200方便 二是422口比西門(mén)子的PPI口皮實(shí)(因?yàn)?00系列的PPI口是非光電隔離的,非規(guī)范操作和仿制的編程電纜可能會(huì)導(dǎo)致串口損壞) 西門(mén)子近推出的S7-1200系列直接支持以太網(wǎng)接口,而且由于集成了計(jì)數(shù)和測(cè)量、閉環(huán)控制和運(yùn)動(dòng)控制的工藝,因此FX3U再次被西門(mén)子遠(yuǎn)遠(yuǎn)超越 以上的比較僅僅是小型機(jī) 至于西門(mén)子的300和400系列以及更大型的TDC系列,這里就無(wú)需多言了,一句話,誰(shuí)用誰(shuí)知道
西門(mén)子的PCS7軟件是博大精深的,所有的日系品牌都只能望其項(xiàng)背 學(xué)PLC,三菱是很容易上手的,因?yàn)橹眮?lái)直去思路簡(jiǎn)單 但從學(xué)習(xí)的角度講,肯定是西門(mén)子更好 還是那句話,用了PCS7,才知道日系的軟件是垃圾】
還有西門(mén)子PLC的通口有兩個(gè),三菱的有一個(gè),兩個(gè)通口可以一個(gè)連接下載數(shù)據(jù)線一個(gè)連接觸摸屏進(jìn)行調(diào)試程序,否則你就要拔下觸摸屏數(shù)據(jù)線再連接觸摸屏數(shù)據(jù)線來(lái)回調(diào)整程序非常麻煩
西門(mén)子plc s7-200調(diào)試的步驟是什么? 西門(mén)子plc檢查接線
用萬(wàn)用表諸根檢查面板上按鈕、指示燈、轉(zhuǎn)換開(kāi)關(guān)到端子排的接線;端子排到plc輸入輸出端子的接線;電源到plc、觸摸屏的接線。plc之間、plc和觸摸屏之間的通訊線纜制作和插接。
確保做到以下幾點(diǎn):
1. 所有接線牢固、無(wú)松動(dòng),無(wú)短路:所有電源正(l)接點(diǎn)不得與電源負(fù)(n)相導(dǎo)通,無(wú)斷路:所有同一回路中不經(jīng)過(guò)觸點(diǎn)和用電器的的線接點(diǎn)應(yīng)導(dǎo)通,線號(hào)正確,標(biāo)識(shí)便于理解。
2. 電源正負(fù)(l和n)接線正確、無(wú)顛倒,所有電源電壓應(yīng)符合用電器電壓允許范圍。
3. 傳感器、用電器回路接線正確:保證回路由電源正(l)到觸點(diǎn)或io接口再到用電器或傳感器(包括端子排預(yù)留接口)再回到電源負(fù)(n)。
4. 各類(lèi)傳感器或用電器接線方式正確:兩線制、四線制電流信號(hào)傳感器、熱電阻傳感器,繼電器線圈和觸點(diǎn)等接線符合接線標(biāo)準(zhǔn)和電氣原理。
發(fā)現(xiàn)接線有不當(dāng)或錯(cuò)誤之處,立即糾正。
西門(mén)子plc系統(tǒng)上電
依次進(jìn)行一下檢查,如發(fā)現(xiàn)問(wèn)題,馬上查找原因解決。
1. 測(cè)量電源輸入電壓在允許范圍內(nèi)后,系統(tǒng)上電。
2. 測(cè)量開(kāi)關(guān)電源輸出電壓是否正常。
3. 觀察plc電源指示燈是否正常,觸摸屏是否正常開(kāi)機(jī)并顯示。
4. 按下按鈕、轉(zhuǎn)動(dòng)轉(zhuǎn)換開(kāi)關(guān)、短接相應(yīng)觸點(diǎn)或端子排開(kāi)關(guān)量輸入預(yù)留接口,觀察plc模塊的di對(duì)應(yīng)指示燈是否點(diǎn)亮,亮度是否正常,有無(wú)閃爍。
5. 短接plc模塊do輸出接口和電源漏極或源極模擬do輸出,觀察對(duì)應(yīng)繼電器是否吸合,吸合是否可靠。
6. 將端子排模擬量輸入接口接入信號(hào)源(四線制電流)或測(cè)試用傳感器(兩線制電流、熱電阻等),用萬(wàn)用表測(cè)量信號(hào)是否正常,是否符合信號(hào)范圍,線性變化是否正常。
西門(mén)子仿真測(cè)試程序和組態(tài)畫(huà)面
將編寫(xiě)好的plc控制程序和觸摸屏及上位機(jī)組態(tài)畫(huà)面用仿真軟件和編寫(xiě)的模擬運(yùn)行程序進(jìn)行仿真測(cè)試。確保做到:
1. plc程序io變量與實(shí)際plc模塊地址對(duì)應(yīng)正確。
2. plc程序各子程序功能可行且可靠,模擬能考慮到的各種現(xiàn)場(chǎng)情況并測(cè)試它們對(duì)程序運(yùn)行產(chǎn)生的影響,修改完善子程序功能。模擬并排查程序運(yùn)行一段時(shí)間可能產(chǎn)生的問(wèn)題(如數(shù)據(jù)溢出,尋址錯(cuò)誤,死循環(huán)等)。盡量使子程序代碼健壯,重用性強(qiáng),同時(shí)優(yōu)化程序執(zhí)行時(shí)間。
3. 按照現(xiàn)場(chǎng)可能遇到的各種情況模擬測(cè)試整個(gè)控制程序的運(yùn)行,包括手動(dòng)單獨(dú)控制、手動(dòng)一鍵控制、自動(dòng)控制等,確保程序運(yùn)行可靠、穩(wěn)定。
4. 觸摸屏和上位機(jī)組態(tài)畫(huà)面建立的外部變量地址與plc程序中的相應(yīng)變量對(duì)應(yīng)正確,將組態(tài)項(xiàng)目集成到plc項(xiàng)目中,這樣plc的變量可以導(dǎo)入到組態(tài)項(xiàng)目中,避免重復(fù)工作,減少錯(cuò)誤(不適用于小型觸摸屏)。
5. 結(jié)合plc程序和仿真軟件模擬測(cè)試組態(tài)畫(huà)面中的動(dòng)畫(huà)效果和數(shù)值、文字顯示以及各種按鈕、控件的功能。測(cè)試報(bào)表、趨勢(shì)、報(bào)警信息等功能是否正常。
西門(mén)子下載程序和組態(tài)畫(huà)面并調(diào)試通訊
1. 檢查上位機(jī)與plc的通訊設(shè)置是否正確,向plc下載程序。檢查plc之間的通訊設(shè)置和plc模塊的地址撥碼開(kāi)關(guān)設(shè)置和dp插頭上拉電阻設(shè)置,觀察plc通訊指示燈是否正常。通過(guò)上位機(jī)監(jiān)控測(cè)試plc之間通訊是否成功。
2.訪問(wèn)數(shù)據(jù)塊
在用戶程序中可能定義了許多數(shù)據(jù)塊,而每個(gè)數(shù)據(jù)塊中又有許多不同類(lèi)型的數(shù)據(jù),因此,訪問(wèn)時(shí)需要明確數(shù)據(jù)塊號(hào)和數(shù)據(jù)塊中的數(shù)據(jù)類(lèi)型與位置。根據(jù)明確數(shù)據(jù)塊號(hào)的不同方法,可以用多種方法訪問(wèn)數(shù)據(jù)塊中的數(shù)據(jù)。
直接在訪問(wèn)指令中寫(xiě)明數(shù)據(jù)塊號(hào),如:
L DB5.DBW10
T DB10.DBW20
L Motor_1.Speed 符號(hào)地址
另一種方法是“先打開(kāi)后訪問(wèn)”。在訪問(wèn)某數(shù)據(jù)塊中的數(shù)據(jù)前,先“打開(kāi)”這個(gè)數(shù)據(jù)塊,也就是將數(shù)據(jù)塊號(hào)(數(shù)據(jù)塊的起始地址)裝入數(shù)據(jù)塊寄存器。這樣,存放在數(shù)據(jù)塊中的數(shù)據(jù)就可利用數(shù)據(jù)塊起始地址加偏移量的方法來(lái)訪問(wèn)。如:
OPN DB5
L DBW10
OPN DB10
T DBW20
在打開(kāi)一個(gè)數(shù)據(jù)塊時(shí),先打開(kāi)的數(shù)據(jù)塊會(huì)自動(dòng)關(guān)閉(沒(méi)有專(zhuān)門(mén)的數(shù)據(jù)塊關(guān)閉指令)。由于有兩個(gè)數(shù)據(jù)塊寄存器(DB和DI寄存器),因此,多可同時(shí)打開(kāi)兩個(gè)數(shù)據(jù)塊。一個(gè)作為背景數(shù)據(jù)塊,數(shù)據(jù)塊的起始地址存儲(chǔ)在DI寄存器中;另一個(gè)作為共享數(shù)據(jù)塊,數(shù)據(jù)塊的起始地址存儲(chǔ)在DB寄存器中。打開(kāi)背景數(shù)據(jù)塊,在調(diào)用FB時(shí)可以自動(dòng)實(shí)現(xiàn)。由于調(diào)用FB時(shí)使用DI寄存器,因此,一般不在FB程序中用OPN DI n指令打開(kāi)數(shù)據(jù)塊。
3. 背景數(shù)據(jù)塊和共享數(shù)據(jù)塊
背景數(shù)據(jù)塊和共享數(shù)據(jù)塊有不同的用途。任何FB、FC或OB均可讀寫(xiě)存放在共享數(shù)據(jù)塊中的數(shù)據(jù)。背景數(shù)據(jù)塊是FB運(yùn)行時(shí)的工作存儲(chǔ)區(qū),它存放FB的部分運(yùn)行變量。調(diào)用FB時(shí),必須一個(gè)相關(guān)的背景數(shù)據(jù)塊。作為規(guī)則,只有FB塊才能訪問(wèn)存放在背景數(shù)據(jù)塊中的數(shù)據(jù)。
一般情況下,每個(gè)FB都有一個(gè)對(duì)應(yīng)的背景數(shù)據(jù)塊,一個(gè)FB也可以使用不同的背景數(shù)據(jù)塊。如果幾個(gè)FB需要的背景數(shù)據(jù)*相同,為節(jié)省存儲(chǔ)器,則可以定義成一個(gè)背景數(shù)據(jù)塊,供它們分別使用。通過(guò)多重背景數(shù)據(jù),也可將幾個(gè)FB需要的不同的背景數(shù)據(jù)定義在一個(gè)背景數(shù)據(jù)塊中,以優(yōu)化數(shù)據(jù)管理。各數(shù)據(jù)塊在CPU的存儲(chǔ)器中是沒(méi)有區(qū)別的,只是由于打開(kāi)方式不同,才在打開(kāi)時(shí)有背景數(shù)據(jù)塊和共享數(shù)據(jù)塊之分。原則上,任何一個(gè)數(shù)據(jù)塊都可以當(dāng)作共享數(shù)據(jù)塊或背景數(shù)據(jù)塊使用,實(shí)際上,一個(gè)數(shù)據(jù)塊由FB當(dāng)作背景數(shù)據(jù)塊使用時(shí),必須與FB的要求格式相符。
數(shù)據(jù)結(jié)構(gòu)
STEP 7數(shù)據(jù)塊中的數(shù)據(jù)結(jié)構(gòu)形式比較豐富,數(shù)據(jù)塊中的數(shù)據(jù)既可以是基本數(shù)據(jù)類(lèi)型,又可以是復(fù)式數(shù)據(jù)類(lèi)型。所謂復(fù)式數(shù)據(jù)類(lèi)型,是指位數(shù)超過(guò)32位的數(shù)據(jù)或由其它數(shù)據(jù)類(lèi)型構(gòu)成的數(shù)據(jù)組?;緮?shù)據(jù)類(lèi)型在第4章中已有過(guò)介紹,本節(jié)專(zhuān)門(mén)說(shuō)明復(fù)式數(shù)據(jù)類(lèi)型。STEP 7允許4種復(fù)式數(shù)據(jù)類(lèi)型,如表5.5所示。
名 稱(chēng) 類(lèi) 型 說(shuō) 明
日期-時(shí)間 DATE_AND_TIME 長(zhǎng)度為8 B(64位)。按BCD碼格式順序存儲(chǔ)以下信息:年(字節(jié)0)、月(字節(jié)1)、日(字節(jié)2)、小時(shí)(字節(jié)3)、分(字節(jié)4)、秒(字節(jié)5)、毫秒(字節(jié)6和7的高半字節(jié))、星期(字節(jié)7的低半字節(jié))
字符串 STRING 字符串是一組ASCII碼,一個(gè)串內(nèi)可定義多254個(gè)字符,占用256 B內(nèi)存。串中每個(gè)字符占用1 B,內(nèi)存中頭兩個(gè)字節(jié)存儲(chǔ)串的長(zhǎng)度信息。*個(gè)字節(jié)存放此串的定義長(zhǎng)度(默認(rèn)值為254個(gè)字符),第二個(gè)字節(jié)存放字符串實(shí)際長(zhǎng)度。例如,String[7]定義長(zhǎng)度為7的字符串,占用內(nèi)存9 B(2+7)。若不定義長(zhǎng)度,則默認(rèn)為254個(gè)字符
數(shù)組 ARRAY 由一種數(shù)據(jù)類(lèi)型組成的數(shù)據(jù)集合,數(shù)據(jù)類(lèi)型可以是基本數(shù)據(jù)類(lèi)型或復(fù)式數(shù)據(jù)類(lèi)型。通過(guò)下標(biāo)訪問(wèn)數(shù)組中的數(shù)據(jù)??啥x到6維數(shù)組
構(gòu)造 STRUCT 由多種數(shù)據(jù)類(lèi)型組成的數(shù)據(jù)集合
另一種復(fù)式數(shù)據(jù)類(lèi)型稱(chēng)為“用戶數(shù)據(jù)類(lèi)型(UDT)”,它是利用STEP 7“程序編輯器”產(chǎn)生的,可命名構(gòu)造。將大量數(shù)據(jù)組織到UDT中,在生成數(shù)據(jù)塊或在變量聲明表中聲明變量時(shí)將變得更加方便。用戶還可為UDT聲明符號(hào)名。
日期-時(shí)間數(shù)據(jù)類(lèi)型的名稱(chēng)、位數(shù)及格式是由操作系統(tǒng)定義的,用戶不可改變,并且該類(lèi)型在S7-300中必須用標(biāo)準(zhǔn)功能塊SFC才能訪問(wèn)。其它復(fù)式數(shù)據(jù)類(lèi)型則由用戶在邏輯塊變量聲明表或數(shù)據(jù)塊中定義。
1. 數(shù)組
一個(gè)數(shù)組將同種數(shù)據(jù)類(lèi)型組合成整體,但不能建立數(shù)組的數(shù)組。圖5.4表示一個(gè)二維 整數(shù)數(shù)組。數(shù)組的符號(hào)名是“Op_temps”,用符號(hào)名加下標(biāo)可訪問(wèn)數(shù)組中的數(shù)據(jù)。以圖5.4為例,*個(gè)整數(shù)是Op_temps[1,1],第三個(gè)為Op_temps[l,3],第四個(gè)為Op_temps[2,1],第六個(gè)為Op_temps[2,3]。
1) 建立數(shù)組
在數(shù)據(jù)塊或變量聲明表中可定義數(shù)組。在聲明數(shù)組時(shí),首先給數(shù)組命名,接著使用關(guān)鍵字(ARRAY),然后在方括號(hào)中給出數(shù)組的大小及維數(shù)。可以定義多達(dá)6維的數(shù)組,并用下標(biāo)來(lái)標(biāo)識(shí)數(shù)組的大小。在方括號(hào)中放下標(biāo),各維之間用逗號(hào)隔開(kāi),每一維的首尾之間用雙點(diǎn)隔開(kāi)。一個(gè)下標(biāo)可以為任何一個(gè)整數(shù)值(范圍:-32 768~+32 767),并包括負(fù)數(shù)。如用ARRAY[1‥3, 1‥2, 1‥3, -2‥3, 30‥32, 1‥4]來(lái)定義變量Op_temps為6維數(shù)組。該數(shù)組的*個(gè)整數(shù)為Op_temps[1, 1, 1, -2, 30, 1];后一個(gè)為Op_temps[3, 2, 3, 3, 32, 4]。圖5.5顯示了建立名字為Heat_2×3的二維數(shù)組(與圖5.4中的數(shù)組相似)。
2) 賦初始值
在建立數(shù)組時(shí),STEP 7允許以兩種方法給數(shù)組的元素賦初始值。對(duì)圖5.5中的數(shù)組,可以為6個(gè)元素賦初始值:17,23,-45,556,3342,0;若初始值中有順序相同的元素,寫(xiě)法可以簡(jiǎn)化,如要數(shù)組的頭兩個(gè)元素設(shè)特定數(shù)值,其余4個(gè)為10,則可簡(jiǎn)寫(xiě)為17,23,4(10),其中4為重復(fù)系數(shù),10為要重復(fù)的數(shù)值。
3) 訪問(wèn)數(shù)組
利用數(shù)組中元素的下標(biāo)可以訪問(wèn)數(shù)組數(shù)據(jù),這時(shí)數(shù)據(jù)塊、數(shù)組符號(hào)名及下標(biāo)一起 使用。如圖5.5中聲明的數(shù)組在DB20(符號(hào)名:MOTOR)的*個(gè)字節(jié)處開(kāi)始,用以下地址訪問(wèn)數(shù)組中的第二個(gè)元素:
MOTOR. Heat_2×3[1,2]
4) 利用數(shù)組傳遞參數(shù)
將數(shù)組作為參數(shù)傳遞時(shí),要求形式參數(shù)和實(shí)際參數(shù)必須有同樣的數(shù)據(jù)組織結(jié)構(gòu)、相同 的數(shù)據(jù)類(lèi)型,并按相同的順序排列。
2. 構(gòu)造
構(gòu)造將不同數(shù)據(jù)類(lèi)型組合成一個(gè)整體,見(jiàn)圖5.6。構(gòu)造的元素可以是任何基本數(shù)據(jù)類(lèi)型或復(fù)式數(shù)據(jù)類(lèi)型,有數(shù)組或構(gòu)造元素的構(gòu)造能嵌套8層。因此,STEP 7允許用戶將過(guò)程中的各種關(guān)聯(lián)數(shù)據(jù)統(tǒng)一組織在一個(gè)構(gòu)造中,也為統(tǒng)一處理不同類(lèi)型數(shù)據(jù)或參數(shù)提供了可能性
1) 建立構(gòu)造
構(gòu)造(STRUCT)只能在數(shù)據(jù)塊或變量聲明表中定義。圖5.7所示為由整數(shù)(存放數(shù)量)、字節(jié)(存放原始數(shù)據(jù))、字符(存放控制碼)、浮點(diǎn)數(shù)(存放溫度)、布爾數(shù)(完成標(biāo)志信號(hào))組成的構(gòu)造。該構(gòu)造的名稱(chēng)為Stack_1。
2) 賦初始值
按每個(gè)元素的類(lèi)型和名稱(chēng)給構(gòu)造的每個(gè)元素賦初始值。并將其寫(xiě)入圖5.8中Initial Value(初始值欄)的相應(yīng)行中。例如,可以分配如下初始值:
Amount=0
Original_data=B#l6#0
Control_code=“Z”
Temperature=98.6
End:=FALSE
3) 訪問(wèn)構(gòu)造
(1) 用符號(hào)地址訪問(wèn):如MOTO.Stack_1.Temperature,其中,MOTO為構(gòu)造所在數(shù)據(jù)塊DB20的符號(hào)名。
(2) 用物理地址訪問(wèn):如Stack_l從DB20的字節(jié)0開(kāi)始存放,Amount的物理地址是DB20.DBW0,Temperature的地址為DB20.DBD4。
4) 利用構(gòu)造傳遞參數(shù)
構(gòu)造可以作為參數(shù)來(lái)傳遞。將構(gòu)造作為參數(shù)傳遞時(shí),要求形式參數(shù)和實(shí)際參數(shù)必須有同樣的數(shù)據(jù)組織結(jié)構(gòu)、相同的數(shù)據(jù)類(lèi)型,并按相同的順序排列。
3. 用戶數(shù)據(jù)類(lèi)型
STEP 7允許將基本數(shù)據(jù)類(lèi)型或復(fù)式數(shù)據(jù)類(lèi)型組合成用戶自己定義的數(shù)據(jù)類(lèi)型,這種類(lèi)型稱(chēng)為用戶數(shù)據(jù)類(lèi)型或UDT。用戶數(shù)據(jù)類(lèi)型必須首先單獨(dú)建立,并存放在稱(chēng)為UDT的特殊數(shù)據(jù)塊中,見(jiàn)圖5.8。
圖5.8是用“程序編輯器”建立的一個(gè)UDT,其數(shù)據(jù)組織結(jié)構(gòu)與圖5.7相同,該用戶數(shù)據(jù)類(lèi)型被定義為UDT200,并單獨(dú)存儲(chǔ)在被稱(chēng)為UDT200的特殊塊中。也可以為UDT200建立符號(hào)名(如process_data),但是,命名只能在符號(hào)表中進(jìn)行。圖5.9給出了一個(gè)使用UDT定義數(shù)據(jù)塊(如DBl0)的例子,數(shù)據(jù)塊DBl0中定義兩個(gè)變量,一個(gè)為整型,另一個(gè)為用戶數(shù)據(jù)類(lèi)型(UDT200)。從圖中可以看出,數(shù)據(jù)塊中UDT的用法與基本數(shù)據(jù)類(lèi)型的用法類(lèi)似。
用符號(hào)地址或物理地址兩種方式可以訪問(wèn)UDT中的變量。例如,在DB10中定義了圖5.9格式的數(shù)據(jù),DB10的符號(hào)名為Process,訪問(wèn)Amount變量可分別寫(xiě)為DB10.DBW 2或Process.Stack_2.Amount。
建立用戶數(shù)據(jù)類(lèi)型的目的是為了將UDT作為一種數(shù)據(jù)類(lèi)型使用,以方便定義多個(gè)結(jié)構(gòu)相同的構(gòu)造變量。圖5.9建立的Stack_2與圖5.7建立的Stack_1相比,不僅大小結(jié)構(gòu)*相同,而且對(duì)Stack_1和Stack_2中元素的訪問(wèn)方法也*相同。在建立DB10時(shí),由于使用了UDT而使得數(shù)據(jù)塊建立過(guò)程方便快捷。在多處使用同樣的UDT時(shí),這一優(yōu)點(diǎn)將更加突出。
程序結(jié)構(gòu)設(shè)計(jì)
STEP 7不僅從不同層次充分支持合理的程序結(jié)構(gòu)設(shè)計(jì),而且也簡(jiǎn)化了結(jié)構(gòu)設(shè)計(jì)的復(fù)雜程度。
一個(gè)復(fù)雜的自動(dòng)化過(guò)程可以被分解并定義為一個(gè)或多個(gè)項(xiàng)目(PROJECT);而對(duì)于每個(gè)項(xiàng)目,又可以進(jìn)一步分解并定義給一個(gè)或多個(gè)CPU,每個(gè)CPU都有一個(gè)控制程序(CPU_PROGRAM)。圖5.10顯示了一個(gè)樣本過(guò)程,它分成4個(gè)不同的項(xiàng)目:項(xiàng)目1和項(xiàng)目2只有一個(gè)CPU,而項(xiàng)目3和項(xiàng)目4有多個(gè)CPU。這樣,一個(gè)很復(fù)雜的控制任務(wù)的結(jié)構(gòu)設(shè)計(jì),就被簡(jiǎn)化為各個(gè)CPU程序的結(jié)構(gòu)設(shè)計(jì)。項(xiàng)目間或項(xiàng)目中的各CPU程序之間,能以某種方式聯(lián)網(wǎng),實(shí)現(xiàn)信息共享。如在S7協(xié)議支持下,用MPI網(wǎng)以全局?jǐn)?shù)據(jù)通信的方式可方便地建立起聯(lián)系,實(shí)現(xiàn)一個(gè)項(xiàng)目中各CPU共享信息
典型的情況是一個(gè)過(guò)程控制任務(wù)只有一個(gè)項(xiàng)目,該項(xiàng)目下也僅有一個(gè)CPU程序,每一個(gè)CPU程序又可依據(jù)時(shí)間特性或事件觸發(fā)特性的差異分類(lèi)編入不同的組織塊(OB)中。例如,需要以固定時(shí)間間隔循環(huán)執(zhí)行的那部分程序編入組織塊OB35中,為PLC正常運(yùn)行而需進(jìn)行初始化的程序編入組織塊OBl00中。又如,由硬件觸發(fā)的中斷服務(wù)程序編入組織塊OB40中,對(duì)程序執(zhí)行中產(chǎn)生的同步錯(cuò)誤的響應(yīng)處理程序編入組織塊OB121或OB122中。
銅川西門(mén)子PLC代理商