西門(mén)子: | 西門(mén)子代理商 |
西門(mén)子CPU: | 西門(mén)子plc |
德國(guó): | 全新原裝 |
單價(jià): | 888.00元/臺(tái) |
發(fā)貨期限: | 自買(mǎi)家付款之日起 天內(nèi)發(fā)貨 |
所在地: | 直轄市 上海 上海松江 |
有效期至: | 長(zhǎng)期有效 |
發(fā)布時(shí)間: | 2023-12-13 16:11 |
最后更新: | 2023-12-13 16:11 |
瀏覽次數(shù): | 142 |
采購(gòu)咨詢(xún): |
請(qǐng)賣(mài)家聯(lián)系我
|
西門(mén)子PLC中央處理器CPU1212C西門(mén)子中國(guó)總代理 西門(mén)子授權(quán)代理商、
西門(mén)子PLC中央處理器CPU1212C西門(mén)子中國(guó)總代理 西門(mén)子授權(quán)代理商
西門(mén)子PLC中央處理器CPU1212C西門(mén)子中國(guó)總代理 西門(mén)子授權(quán)代理商
(1)生成數(shù)組
??可以在數(shù)據(jù)塊中定義數(shù)組,也可以在邏輯塊的變量聲明表中定義它。下面介紹在數(shù)據(jù)塊中定義的方法。在SIMATIC管理器中用菜單命令“插入”→“S7塊”→“數(shù)據(jù)塊”生成數(shù)據(jù)塊DB4。雙擊打開(kāi)它,默認(rèn)的顯示方式為聲明視圖方式。聲明視圖用于定義、刪除和修改共享數(shù)據(jù)塊中的變量,指定它們的名稱(chēng)、數(shù)據(jù)類(lèi)型和初始值。
??在新生成的數(shù)據(jù)塊的第一行和最后一行標(biāo)有STRUCT(結(jié)構(gòu))和END_STRUCT(結(jié)構(gòu)結(jié)束)。在這兩行中間有一個(gè)自動(dòng)生成的臨時(shí)占位符變量。
??將該行的名稱(chēng)改為數(shù)組的名稱(chēng)“PRESS”(見(jiàn)圖4-7),變量的名稱(chēng)只能使用字母、數(shù)字和下劃線(xiàn),不能使用中文。用鼠標(biāo)右鍵點(diǎn)擊該行的“類(lèi)型”列,執(zhí)行彈出的快捷菜單中的“復(fù)雜類(lèi)型”→“ARRAY”
??(數(shù)組)命令,在出現(xiàn)的“ARRAY 【】”的方括號(hào)中輸入
??“1..2,1.3”,即指定二維數(shù)組PRESS有2×3個(gè)元素。在“注釋”列按回車(chē)鍵,在A(yíng)R-RAY下面一行的“類(lèi)型”列輸入“INT”,定義數(shù)組元素為16位整數(shù),INT所在行的“地址”列自動(dòng)生成的“*2.0”表示一個(gè)數(shù)組元素占用2B。地址列的“ 12.0”表示該數(shù)組的6個(gè)元素一共占用12B,地址列的內(nèi)容是自動(dòng)生成的。可以用中文給每個(gè)變量加上注釋。
??數(shù)組PRESS的第1個(gè)元素為PRESS【1,1】(見(jiàn)圖4-6和圖4-8),第4個(gè)元素為PRESS【2,1】,第6個(gè)元素為PRESS【2,3】。
??(2)給數(shù)組元素賦初值
??STEP7根據(jù)變量的數(shù)據(jù)類(lèi)型給出默認(rèn)的初始值,用戶(hù)可以修改初始值。定義數(shù)組時(shí)可以在A(yíng)RRAY所在的行的“初始值”列中給數(shù)組元素賦初值,各元素的初值之間用英語(yǔ)逗號(hào)分隔,例如上例中6個(gè)元素的初值可以寫(xiě)成“22,30,-5,0,0,0,結(jié)束時(shí)不用標(biāo)點(diǎn)符號(hào)。
??若相鄰元素的初值相同可以簡(jiǎn)寫(xiě),上述初值可以簡(jiǎn)寫(xiě)為“22,30,-5,3(0)”(見(jiàn)圖4-7)。
??執(zhí)行菜單命令“視圖”→“數(shù)據(jù)視圖”,切換到數(shù)據(jù)視圖方式,將顯示數(shù)組和結(jié)構(gòu)中各元素的初始值和實(shí)際值(見(jiàn)圖4-8)。
??在數(shù)據(jù)視圖方式,顯示變量的初始值和實(shí)際值,用戶(hù)只能修改變量的實(shí)際值,修改后需要下載數(shù)據(jù)塊。如果用戶(hù)輸入的實(shí)際值與變量的數(shù)據(jù)類(lèi)型不符,將用紅色顯示錯(cuò)誤的數(shù)據(jù)。在數(shù)據(jù)視圖方式,用菜單命令“編輯”→“初始化數(shù)據(jù)塊”,可以恢復(fù)變量的初始值。1 800
??(3)訪(fǎng)問(wèn)數(shù)組中的數(shù)據(jù)
??本例中的數(shù)組是數(shù)據(jù)塊的一部分,訪(fǎng)問(wèn)數(shù)組中的數(shù)據(jù)時(shí),需要指出數(shù)據(jù)塊和數(shù)組的名稱(chēng),以及數(shù)組元素的下標(biāo),例如”TANK”.PRESS【2,1】。其中的TANK是數(shù)據(jù)塊DB4的符號(hào)名,PRESS是數(shù)組的名稱(chēng),它們用英語(yǔ)的句號(hào)分開(kāi)。方括號(hào)中是數(shù)組元素的下標(biāo),該元素是數(shù)組中的第4個(gè)元素(見(jiàn)圖4-8)。
??(4)用數(shù)組傳遞參數(shù)
??如果在塊的變量聲明表中聲明形參的類(lèi)型為ARRAY,可以將整個(gè)數(shù)組作為參數(shù)來(lái)傳遞(見(jiàn)圖4-23)。在調(diào)用塊時(shí)也可以將某個(gè)數(shù)組元素賦值給同一數(shù)據(jù)類(lèi)型的參數(shù)。
??(5)用數(shù)組定義數(shù)據(jù)塊的大小
??數(shù)據(jù)塊的大小與數(shù)據(jù)塊中定義的變量的個(gè)數(shù)和數(shù)據(jù)類(lèi)型有關(guān)。如果需要一個(gè)容量很大的數(shù)據(jù)塊,可以用數(shù)組來(lái)定義數(shù)據(jù)塊的大小。如果在數(shù)據(jù)塊中只定義一個(gè)數(shù)組ARRAY 【1..500】,數(shù)組元素的數(shù)據(jù)類(lèi)型為字,則該數(shù)據(jù)塊的大小為1000B。可以用juedui地址和任意的簡(jiǎn)單數(shù)據(jù)類(lèi)型來(lái)訪(fǎng)問(wèn)該數(shù)據(jù)塊中的存儲(chǔ)單元。如果訪(fǎng)問(wèn)數(shù)據(jù)塊中未定義的地址,將會(huì)出現(xiàn)錯(cuò)誤信息“讀取時(shí)發(fā)生區(qū)域長(zhǎng)度錯(cuò)誤”。
??(6)設(shè)置數(shù)據(jù)塊的參數(shù)
??用鼠標(biāo)右鍵點(diǎn)擊某個(gè)數(shù)據(jù)塊,執(zhí)行出現(xiàn)的快捷菜單中的“對(duì)象屬性”命令,在出現(xiàn)的屬性對(duì)話(huà)框的“常規(guī)-第2部分”選項(xiàng)卡中,可以用復(fù)選框設(shè)置數(shù)據(jù)塊的屬性。各參數(shù)具體的意義見(jiàn)在線(xiàn)幫助。
??(7)使用程序狀態(tài)功能監(jiān)視數(shù)據(jù)塊
??點(diǎn)擊數(shù)據(jù)塊工具欄上的@按鈕,自動(dòng)切換到“數(shù)據(jù)視圖”顯示方式,數(shù)據(jù)塊內(nèi)的存儲(chǔ)單元在線(xiàn)的數(shù)值在“實(shí)際值”列中顯示。程序狀態(tài)被激活后,不能切換為“聲明視圖”方式。
??程序狀態(tài)結(jié)束后,“實(shí)際值”列將顯示程序狀態(tài)之前的有效內(nèi)容,在線(xiàn)數(shù)值不能傳送到離線(xiàn)的數(shù)據(jù)塊。
?1. 數(shù)據(jù)塊的分類(lèi)
??數(shù)據(jù)塊(DB)用來(lái)分類(lèi)儲(chǔ)存設(shè)備或生產(chǎn)線(xiàn)中變量的值,數(shù)據(jù)塊也是用來(lái)實(shí)現(xiàn)各邏輯塊之間的數(shù)據(jù)交換、數(shù)據(jù)傳遞和共享數(shù)據(jù)的重要途徑。數(shù)據(jù)塊豐富的數(shù)據(jù)結(jié)構(gòu)便于提高程序的執(zhí)行效率和進(jìn)行數(shù)據(jù)管理。與邏輯塊不同,數(shù)據(jù)塊只有變量聲明部分,沒(méi)有程序指令部分。
??數(shù)據(jù)塊分為共享數(shù)據(jù)塊(DB)和背景數(shù)據(jù)塊(DI)。在共享數(shù)據(jù)塊和符號(hào)表中聲明的變量都是全局變量。用戶(hù)程序中所有的邏輯塊(FB、FC、SFB、SFC和OB)都可以使用共享數(shù)據(jù)塊和符號(hào)表中的數(shù)據(jù)。
??2. 生成共享數(shù)據(jù)塊
??在符號(hào)表中,共享數(shù)據(jù)塊的數(shù)據(jù)類(lèi)型是它本身,背景數(shù)據(jù)塊的數(shù)據(jù)類(lèi)型是對(duì)應(yīng)的功能塊。
??用鼠標(biāo)右鍵點(diǎn)擊SIMATIC管理器左邊窗口中的“塊”,在彈出的菜單中執(zhí)行“插入新對(duì)象”→“數(shù)據(jù)塊”命令,生成新的數(shù)據(jù)塊,默認(rèn)的類(lèi)型為共享數(shù)據(jù)塊。
??3. 基本數(shù)據(jù)類(lèi)型
??基本數(shù)據(jù)類(lèi)型包括位(BOOL)、字節(jié)(BYTE)、字(WORD)、雙字(DWORD)、整數(shù)(INT)、雙整數(shù)(DINT)和浮點(diǎn)數(shù)(FLOAT,或稱(chēng)實(shí)數(shù)REAL)等(見(jiàn)3.2.2節(jié))。
??4. 復(fù)雜數(shù)據(jù)類(lèi)型
??復(fù)雜數(shù)據(jù)類(lèi)型包括日期和時(shí)間(DATE_AND_TIME)、字符串(String)、數(shù)組(Array)、結(jié)構(gòu)(Struct)和用戶(hù)定義的數(shù)據(jù)類(lèi)型(UDT)。
??(1)日期和時(shí)間
??日期和時(shí)間(DATE_AND_TIME,縮寫(xiě)為DT)占用8個(gè)字節(jié)的BCD碼。第1~6個(gè)字節(jié)分別存儲(chǔ)年的低兩位、月、日、時(shí)、分和秒,毫秒存儲(chǔ)在整個(gè)第7個(gè)字節(jié)和第8個(gè)字節(jié)的高4位,星期存放在第8個(gè)字節(jié)的低4位。星期日的代碼為1,星期一~星期六的代碼為2~7。例如2010年7月27日12點(diǎn)30分25.123秒可以表示為DT#∶30∶25.123,可以省略毫秒部分。
??通過(guò)調(diào)用程序編輯器的文件夾“\Libraries\ Standard Library\IEC Function Block”中的IEC功能(見(jiàn)附表B-4),可以實(shí)現(xiàn)DATE_AND_TIME數(shù)據(jù)類(lèi)型與基本數(shù)據(jù)類(lèi)型之間的相互轉(zhuǎn)換、日期時(shí)間的比較和加、減,具體的使用方法見(jiàn)在線(xiàn)幫助。
??調(diào)用SFCO" SET_CLK",可以設(shè)置和啟動(dòng)CPU時(shí)鐘的時(shí)間和日期。調(diào)用SFC1"的READ_CLK",可以讀取CPU系統(tǒng)時(shí)鐘當(dāng)前的日期和時(shí)間。
??(2)字符串
??字符串(String)是字符(Char)組成的一維數(shù)組,每個(gè)字節(jié)存放1個(gè)字符。第1個(gè)字節(jié)是字符串的最大字符長(zhǎng)度,第2個(gè)字節(jié)是字符串當(dāng)前有效字符的個(gè)數(shù),字符從第3個(gè)字節(jié)開(kāi)始存放,一個(gè)字符串最多有254個(gè)字符。字符串的默認(rèn)長(zhǎng)度為254B,在DB4中定義字符串Fault的長(zhǎng)度為20個(gè)字符(見(jiàn)圖4-7),它只占用從DB4.DBB20開(kāi)始的22B,其初值只有4個(gè)字符'Over’。String變量中未使用的字節(jié)地址被初始化為B#16#00。
??將DB4下載到仿真PLC,用變量表監(jiān)控DB4.DBB20和DB4.DBB21,它們的值分別為20(字符串Fault的長(zhǎng)度為20)和4(當(dāng)前有4個(gè)字符)。還可以看到從DB4.DBB22開(kāi)始的4個(gè)字節(jié)中字符‘Over’的ASCII碼??梢杂谜Z(yǔ)句表中的基本指令訪(fǎng)問(wèn)字符串中的字符,例如用指令“L DB4.Fault 【3】”來(lái)訪(fǎng)問(wèn)字符串Fault的第3個(gè)字符。
??可以用標(biāo)準(zhǔn)庫(kù)的IEC庫(kù)中的21個(gè)功能來(lái)處理字符串變量(見(jiàn)附表B-4),包括字符串與其他數(shù)據(jù)類(lèi)型的轉(zhuǎn)換、字符串的比較和字符串的編輯,具體的使用方法見(jiàn)在線(xiàn)幫助。
??(3)數(shù)組
??數(shù)組(ARRAY)是同一類(lèi)型的數(shù)據(jù)組合而成的一個(gè)單元,數(shù)組的維數(shù)最多為6維。圖4-6給出了一個(gè)二維數(shù)組ARRAY 【1.2,1..3】 的內(nèi)部結(jié)構(gòu),它共有6個(gè)字節(jié)元素,圖中的每一小格為二進(jìn)制的1位,每個(gè)元素占一行(一個(gè)字節(jié))。ARRAY后面的方括號(hào)中的數(shù)字用來(lái)定義每一維的起始元素和結(jié)束元素在該維中的編號(hào),可以取-32768~32767之間的整數(shù)。各維之間的數(shù)字用逗號(hào)隔開(kāi),每一維開(kāi)始和結(jié)束的編號(hào)用兩個(gè)小數(shù)點(diǎn)隔開(kāi)。如果某一維有n個(gè)元素,該維的起始元素和結(jié)束元素的編號(hào)可以采用1和n,例如AR-RAY [1..100]。
??(4)結(jié)構(gòu)
??結(jié)構(gòu)(STRUCT)可以是不同類(lèi)型的數(shù)據(jù)的組合。可以用基本數(shù)據(jù)類(lèi)型、復(fù)雜數(shù)據(jù)類(lèi)型(包括數(shù)組和結(jié)構(gòu))和用戶(hù)定義數(shù)據(jù)類(lèi)型(UDT)作為結(jié)構(gòu)中的元素,例如一個(gè)結(jié)構(gòu)可以由數(shù)組和結(jié)構(gòu)組成,結(jié)構(gòu)可以嵌套8層。用戶(hù)可以把過(guò)程控制中有關(guān)的數(shù)據(jù)統(tǒng)一組織在一個(gè)結(jié)構(gòu)中,作為一個(gè)數(shù)據(jù)單元來(lái)使用,而不是使用大量的單個(gè)的元素,為統(tǒng)一處理不同類(lèi)型的數(shù)據(jù)或參數(shù)提供了方便。
??(5)用戶(hù)定義數(shù)據(jù)類(lèi)型
??用戶(hù)定義數(shù)據(jù)類(lèi)型(User-Defined Data Types)簡(jiǎn)稱(chēng)為UDT,是一種特殊的數(shù)據(jù)結(jié)構(gòu),用戶(hù)只需要對(duì)它定義一次,定義好以后可以在用戶(hù)程序中作為數(shù)據(jù)類(lèi)型使用。可以用它來(lái)產(chǎn)生大量的具有相同數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)塊,用這些數(shù)據(jù)塊來(lái)輸入用于不同目的的實(shí)際數(shù)據(jù)。例如生成用于顏料混合配方的UDT后,可以用它生成用于不同顏色配方的數(shù)據(jù)組合。用戶(hù)定義數(shù)據(jù)類(lèi)型由基本數(shù)據(jù)類(lèi)型和(或)復(fù)雜數(shù)據(jù)類(lèi)型組成。定義好以后可以在符號(hào)表中為它指定一個(gè)符號(hào)名,使用UDT可以節(jié)約錄人數(shù)據(jù)的時(shí)間。