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