




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
S7-1200PLC的編程基礎(chǔ)提綱電氣控制與S7-1200應(yīng)用技術(shù)教程2數(shù)制、編碼和邏輯運算S7-1200的編程語言用戶程序結(jié)構(gòu)簡介S7-1200PLC的工作模式系統(tǒng)存儲區(qū)和數(shù)據(jù)類型數(shù)制、編碼和邏輯運算電氣控制與S7-1200應(yīng)用技術(shù)教程3數(shù)制1.二進制2.十六進制二進制常數(shù)以2#開始,例如2#10111.01對應(yīng)的十進制數(shù)為:2#10111.01=1×24+0×23+1×22+1×21+1×20+0×2-1+1×2-2=23.25例如2#10111.01對應(yīng)的十六進制數(shù)為:2#10111.01=2#00010111.0100=16#17.4數(shù)制、編碼和邏輯運算電氣控制與S7-1200應(yīng)用技術(shù)教程4數(shù)制B#16#、W#16#、DW#16#分別用來表示十六進制字節(jié)、字和雙字常數(shù),例如W#16#7A14。提示:1B=8bit;1W=2B;1DW=2W。B-Byte,W-Word,DW-DoubleWord。數(shù)制、編碼和邏輯運算電氣控制與S7-1200應(yīng)用技術(shù)教程5編碼1.原碼原碼表示法,符號位用數(shù)碼0表示正號,用數(shù)碼1表示負號,數(shù)值部分按一般二進制形式表示。例如,﹢77原=01001101,﹣77原
=11001101。2.反碼和補碼正數(shù)的原碼、反碼和補碼的表示是相同的,例如,﹢77原=﹢77反=﹢77補=01001101;負數(shù)的反碼:負數(shù)的原碼的符號位保持不變,數(shù)值位按位取反(0變1,1變0),例如,﹣77反=10110010;負數(shù)的補碼:負數(shù)的反碼加1,例如,﹣77補=10110011。數(shù)制、編碼和邏輯運算電氣控制與S7-1200應(yīng)用技術(shù)教程6編碼3.BCD碼實際中,人們習(xí)慣用十進制表示數(shù)據(jù),而計算機內(nèi)部是二進制表示,為解決這一問題,人們?yōu)橛嬎銠C設(shè)計了BCD(BinaryCodedDecimal)碼。BCD碼用4位二進制數(shù)來表示1位十進制數(shù),即二進制編碼十進制數(shù)。每一位BCD碼的數(shù)值范圍為2#0000~2#1001,對應(yīng)于十進制數(shù)0~9。BCD碼表示帶符號數(shù)時,最高位二進制數(shù)用來表示符號,負數(shù)為1,正數(shù)為0。一般令負數(shù)和正數(shù)的最高4位二進制數(shù)分別為1111或0000。例如,BCD碼2#1111100000101001表示的十進制數(shù)是-829。TIAPortal用BCD碼來顯示日期和時間值,例如,用BCD碼2#0010000000100001表示2021(年)這個十進制數(shù)。數(shù)制、編碼和邏輯運算電氣控制與S7-1200應(yīng)用技術(shù)教程7邏輯運算使用傳統(tǒng)的繼電器電路或PLC的梯形圖可以實現(xiàn)開關(guān)量的邏輯運算。梯形圖中,觸點的串聯(lián)對應(yīng)“與”運算,觸點的并聯(lián)對應(yīng)“或”運算,用常閉觸點對應(yīng)“非”運算。多個觸點的串、并聯(lián)電路可以實現(xiàn)復(fù)雜的邏輯運算。S7-1200的編程語言電氣控制與S7-1200應(yīng)用技術(shù)教程8IEC61131是國際電工委員會(internationalelectrotechnicalcommission,IEC)制定的PLC的國際標(biāo)準(zhǔn),其中第三部分IEC61131-3是PLC的編程語言標(biāo)準(zhǔn)。IEC61131-3的5種編程語言:(1)指令表(InstructionList,IL);(2)結(jié)構(gòu)文本(StructuredText,ST),S7-1200為結(jié)構(gòu)化控制語言(StructuredControlLanguage,SCL);(3)梯形圖(LadderDiagram,LD),西門子PLC的梯形圖簡稱為LAD;(4)功能塊圖(FunctionBlockDiagram,FBD);(5)順序功能圖(SequentialFunctionChart,SFC)。S7-1200使用梯形圖LAD、功能塊圖FBD和結(jié)構(gòu)化控制語言SCL這三種編程語言。S7-1200的編程語言電氣控制與S7-1200應(yīng)用技術(shù)教程9梯形圖S7-1200的編程語言電氣控制與S7-1200應(yīng)用技術(shù)教程10功能塊圖S7-1200的編程語言電氣控制與S7-1200應(yīng)用技術(shù)教程11結(jié)構(gòu)化控制語言TIA博途軟件支持結(jié)構(gòu)化控制語言(SCL),SCL語言類似計算機高級語言,如果你有C、Java、C++、Python這種高級語言的學(xué)習(xí)經(jīng)歷,再學(xué)習(xí)SCL就會容易很多。在用SCL語言編程時,主要用IF...THEN/CASE/FOR/WHILE語句去構(gòu)造分支、循環(huán)這樣的結(jié)構(gòu)。所有程序的編寫都是在純文本的環(huán)境下編輯,不像梯形圖那么直觀。借助SCL,可以簡化控制領(lǐng)域復(fù)雜的計算、算法、數(shù)據(jù)管理和數(shù)據(jù)組織等編程工作。S7-1200的編程語言電氣控制與S7-1200應(yīng)用技術(shù)教程12結(jié)構(gòu)化控制語言以第5.3.3節(jié)的“啟-保-?!笨刂茖嵗秊榭刂菩枨?,采用SCL語言編寫程序。注意:只能在“添加新塊”對話框中選擇SCL編程語言。S7-1200的編程語言電氣控制與S7-1200應(yīng)用技術(shù)教程13結(jié)構(gòu)化控制語言注意:在函數(shù)FC中要注意接口變量的類型,一定要把MOTOR變量定義成InOut類型而不是Output類型,如果定義成Output類型將導(dǎo)致無法實現(xiàn)自保持,因為函數(shù)FC沒有背景數(shù)據(jù)塊。此例如果采用函數(shù)塊FB來實現(xiàn),則MOTOR變量可以定義成Output類型,因為函數(shù)塊FB有背景數(shù)據(jù)塊。S7-1200的編程語言電氣控制與S7-1200應(yīng)用技術(shù)教程14結(jié)構(gòu)化控制語言用戶程序結(jié)構(gòu)簡介電氣控制與S7-1200應(yīng)用技術(shù)教程15S7-1200PLC的用戶程序結(jié)構(gòu)分為OB(組織塊),F(xiàn)C(函數(shù)),F(xiàn)B(函數(shù)塊)以及DB(數(shù)據(jù)塊)。其中的OB、FB、FC都包含程序,統(tǒng)稱為代碼塊。用戶程序結(jié)構(gòu)的劃分有利于實現(xiàn)模塊化編程。在塊調(diào)用中,調(diào)用者可以是各種代碼塊,被調(diào)用的塊是OB之外的代碼塊。調(diào)用函數(shù)塊FB時需要為它指定一個背景數(shù)據(jù)塊(InstanceDB)。用戶程序結(jié)構(gòu)簡介電氣控制與S7-1200應(yīng)用技術(shù)教程16組織塊組織塊(organizationblock,OB)是系統(tǒng)程序和用戶程序之間的接口,由系統(tǒng)程序調(diào)用。組織塊OB的調(diào)用是由事件觸發(fā)的,不能在代碼塊中進行OB的調(diào)用。組織塊中的程序是用戶編寫的。常用的組織塊主要有以下三種。1.程序循環(huán)組織塊OB1是程序循環(huán)(Programcycle)組織塊,也稱為主程序,也是唯一的用戶程序中必須具備的代碼塊。系統(tǒng)程序循環(huán)調(diào)用OB1,因此OB1中的程序是循環(huán)執(zhí)行的。用戶程序結(jié)構(gòu)簡介電氣控制與S7-1200應(yīng)用技術(shù)教程17組織塊2.啟動組織塊啟動(Startup)組織塊,在PLC的工作模式從STOP切換為RUN時僅執(zhí)行一次。完成后,將開始執(zhí)行主程序循環(huán)OB1。啟動組織塊主要用來初始化,是可選的。3.中斷組織塊中斷(Interrupt)組織塊實現(xiàn)對內(nèi)部事件或外部事件的快速響應(yīng)。當(dāng)出現(xiàn)中斷事件,如硬件中斷,CPU暫停正在執(zhí)行的程序塊,自動調(diào)用一個分配給該事件的中斷組織塊,來處理中斷事件。執(zhí)行完中斷組織塊后,返回被中斷的程序的斷點處繼續(xù)執(zhí)行原來的程序。用戶程序結(jié)構(gòu)簡介電氣控制與S7-1200應(yīng)用技術(shù)教程18函數(shù)函數(shù)(function,F(xiàn)C)是用戶編寫的沒有固定的存儲區(qū)的代碼塊,函數(shù)執(zhí)行結(jié)束后,其局部變量在內(nèi)存中分配的空間釋放,里面的數(shù)據(jù)丟失。函數(shù)FC可用于完成標(biāo)準(zhǔn)的和可重復(fù)使用的操作。函數(shù)FC實現(xiàn)程序代碼的復(fù)用。用戶程序結(jié)構(gòu)簡介電氣控制與S7-1200應(yīng)用技術(shù)教程19函數(shù)塊函數(shù)塊(functionblock,F(xiàn)B)是用戶編寫的帶有專用存儲區(qū)的塊,該專用存儲區(qū)稱為背景數(shù)據(jù)塊。FB與FC相比,每次調(diào)用函數(shù)塊都必須為之分配背景數(shù)據(jù)塊。每調(diào)用一次分配一個背景數(shù)據(jù)塊,用來存放函數(shù)塊的Input、Output、InOut參數(shù)變量及Static靜態(tài)變量(Temp類型除外)的值和運算結(jié)果。一個函數(shù)塊的背景數(shù)據(jù)塊,也可包含多個函數(shù)塊的背景數(shù)據(jù)塊(多重背景數(shù)據(jù)塊)。背景數(shù)據(jù)塊是根據(jù)FB接口區(qū)定義自動生成的。用戶程序結(jié)構(gòu)簡介電氣控制與S7-1200應(yīng)用技術(shù)教程20函數(shù)塊注意:S7-1200的某些指令(例如符合IEC標(biāo)準(zhǔn)的定時器和計數(shù)器指令)實際上是函數(shù)塊FB,在調(diào)用它們時需要指定配套的背景數(shù)據(jù)塊??偨Y(jié):函數(shù)與函數(shù)塊的區(qū)別,①函數(shù)塊FB有背景數(shù)據(jù)塊,函數(shù)FC沒有背景數(shù)據(jù)塊。②FB和FC均為用戶編寫的子程序。接口區(qū)中均有Input、Output、InOut參數(shù)和Temp數(shù)據(jù)。函數(shù)FC沒有靜態(tài)變量(Static),函數(shù)塊FB有保存在背景數(shù)據(jù)塊中的靜態(tài)變量。③只能在函數(shù)內(nèi)部訪問它接口區(qū)中定義的變量。而函數(shù)塊由于有背景數(shù)據(jù)塊,所以外部代碼或HMI可以訪問FB的背景數(shù)據(jù)塊中的變量。④如果代碼塊有執(zhí)行完后需要保存的數(shù)據(jù),應(yīng)使用函數(shù)塊,而不是函數(shù)。⑤函數(shù)塊接口區(qū)定義的局部變量(不包括Temp)有默認值(初始值),函數(shù)的局部變量沒有默認值。用戶程序結(jié)構(gòu)簡介電氣控制與S7-1200應(yīng)用技術(shù)教程21數(shù)據(jù)塊數(shù)據(jù)塊(datablock,DB)用于存儲程序數(shù)據(jù),分為全局數(shù)據(jù)塊和背景數(shù)據(jù)塊。與代碼塊不同,數(shù)據(jù)塊沒有指令。全局數(shù)據(jù)塊存儲供所有的代碼塊使用的數(shù)據(jù),所有的OB、FB、FC都可以訪問它們。背景數(shù)據(jù)塊與函數(shù)塊FB相關(guān)聯(lián),注意FB的臨時數(shù)據(jù)(Temp)是不在背景數(shù)據(jù)塊中保存的。提示:無論是全局數(shù)據(jù)塊,還是背景數(shù)據(jù)塊,都是全局變量,可以被所有程序訪問。用戶程序結(jié)構(gòu)簡介電氣控制與S7-1200應(yīng)用技術(shù)教程22數(shù)據(jù)塊S7-1200PLC的工作模式電氣控制與S7-1200應(yīng)用技術(shù)教程23三種工作模式介紹S7-1200PLC有三種工作模式:STOP(停止)、STARTUP(啟動)、RUN(運行)。CPU面板上的RUN/STOP狀態(tài)LED用來指示當(dāng)前的工作模式。S7-1200CPU未提供用于更改工作模式的物理開關(guān),可以通過雙擊“項目樹”中的“在線和診斷”工具,然后單擊工具欄上的命令注意:只有CPU處于STOP模式時,才能下載項目。S7-1200PLC的工作模式電氣控制與S7-1200應(yīng)用技術(shù)教程24冷啟動與暖啟動下載了用戶程序和硬件組態(tài)后,由STOP模式切換到RUN模式,CPU執(zhí)行冷啟動。冷啟動之后,在下一次下載之前的STOP到RUN模式的切換均為暖啟動。冷啟動會復(fù)位保持性存儲器,暖啟動不對保持性存儲器復(fù)位??梢杂肨IAPortal編程軟件“在線工具”->“CPU操作面板”上的“MRES”命令按鈕來復(fù)位存儲器,使CPU回到初始狀態(tài)。S7-1200PLC的工作模式電氣控制與S7-1200應(yīng)用技術(shù)教程25CPU“上電后啟動”項的設(shè)置系統(tǒng)存儲區(qū)和數(shù)據(jù)類型電氣控制與S7-1200應(yīng)用技術(shù)教程26S7-1200的系統(tǒng)存儲區(qū)系統(tǒng)存儲區(qū)也被稱為數(shù)據(jù)存儲區(qū)?!癝7-1200的系統(tǒng)存儲區(qū)提供了過程映像輸入?yún)^(qū)(I)、過程映像輸出區(qū)(Q)、位存儲器區(qū)(M)、定時器區(qū)、計數(shù)器區(qū)等各種專用存儲區(qū),所有代碼塊可以無限制地訪問該存儲區(qū),屬于全局存儲區(qū)。此外,系統(tǒng)存儲區(qū)還包括數(shù)據(jù)塊(DB)、臨時(局部)數(shù)據(jù)區(qū)(L)。提示:因TIA博途不允許無符號名稱的變量出現(xiàn),所以即使用戶沒有為變量定義符號名稱,TIA博途也會自動為其分配符號名稱,默認從“Tag_1”開始分配。系統(tǒng)存儲區(qū)和數(shù)據(jù)類型電氣控制與S7-1200應(yīng)用技術(shù)教程27S7-1200的系統(tǒng)存儲區(qū)1.過程映像輸入?yún)^(qū)(I)過程映像輸入I是CPU用于接收外部輸入信號的,比如按鈕、開關(guān)、行程開關(guān)等。CPU會在掃描開始時從輸入模塊上讀取外部輸入信號的狀態(tài),并將這些狀態(tài)記錄到過程映像輸入?yún)^(qū)中,當(dāng)程序執(zhí)行的時候從這個過程映像輸入?yún)^(qū)讀取對應(yīng)的狀態(tài)進行運算。如果我們給地址或變量后面加上“:P”這個符號的話,就可以立即訪問外設(shè)輸入。它的數(shù)值是直接從與其連接的現(xiàn)場設(shè)備接收數(shù)值,而不是過程映像輸入?yún)^(qū)。使用地址標(biāo)識符“I”訪問過程映像輸入?yún)^(qū),可以按位I、字節(jié)IB、字IW或雙字ID進行訪問。系統(tǒng)存儲區(qū)和數(shù)據(jù)類型電氣控制與S7-1200應(yīng)用技術(shù)教程28S7-1200的系統(tǒng)存儲區(qū)2.過程映像輸出區(qū)(Q)過程映像輸出Q是將程序執(zhí)行的運算結(jié)果輸出驅(qū)動外部負載的,比如指示燈、接觸器、繼電器、電磁閥等。如果需要把運算結(jié)果直接寫入到物理輸出點,需要在地址或變量名稱后面加上“:P”這個符號。使用地址標(biāo)識符“Q”訪問過程映像輸出區(qū),在程序中表示方法與輸入信號類似。注意:在使用輸出Q的時候需要注意避免雙線圈的情況。系統(tǒng)存儲區(qū)和數(shù)據(jù)類型電氣控制與S7-1200應(yīng)用技術(shù)教程29S7-1200的系統(tǒng)存儲區(qū)3.位存儲區(qū)(M)位存儲區(qū)(M)又稱內(nèi)部輔助繼電器,用于實現(xiàn)中間邏輯,存儲中間狀態(tài)或其他控制信息。位存儲區(qū)的訪問方法與訪問輸入、輸出映像區(qū)的方法類似。M區(qū)中掉電保持區(qū)的大小可以在“PLC變量”->“保持性存儲器”中設(shè)置。系統(tǒng)存儲區(qū)和數(shù)據(jù)類型電氣控制與S7-1200應(yīng)用技術(shù)教程30S7-1200的系統(tǒng)存儲區(qū)3.位存儲區(qū)(M)注意:因為系統(tǒng)存儲器和時鐘存儲器不是保留的存儲器,用戶程序或通信可能改寫這些存儲單元,破壞其中的數(shù)據(jù)。指定了系統(tǒng)存儲器和時鐘存儲器字節(jié)后,這兩個字節(jié)不能再作其他用途,否則將會使用戶程序運行出錯,甚至造成設(shè)備損壞或人身傷害。系統(tǒng)存儲區(qū)和數(shù)據(jù)類型電氣控制與S7-1200應(yīng)用技術(shù)教程31S7-1200的系統(tǒng)存儲區(qū)4.臨時(局部)數(shù)據(jù)區(qū)(L)臨時存儲器與M存儲器類似,主要區(qū)別是M存儲器在“全局”范圍內(nèi)有效,數(shù)據(jù)可以全局性地用于用戶程序中的所有元素,任何OB、FC或FB都可以訪問M存儲器中的數(shù)據(jù)。而臨時存儲器在“局部”范圍內(nèi)有效,只有創(chuàng)建或聲明了臨時存儲單元的OB、FC或FB才可以訪問臨時存儲器中的數(shù)據(jù)。例如:當(dāng)OB調(diào)用FC時,F(xiàn)C無法訪問對其進行調(diào)用的OB的臨時存儲器。注意:只能通過符號尋址的方式訪問臨時存儲器。系統(tǒng)存儲區(qū)和數(shù)據(jù)類型電氣控制與S7-1200應(yīng)用技術(shù)教程32S7-1200的系統(tǒng)存儲區(qū)5.?dāng)?shù)據(jù)塊(DB)數(shù)據(jù)塊(DB)有全局數(shù)據(jù)塊DB和背景數(shù)據(jù)塊DB兩種類型。用戶程序中的任何代碼塊OB、FB或FC都可以訪問全局數(shù)據(jù)塊DB中的數(shù)據(jù)。每次添加一個新的全局數(shù)據(jù)塊DB時,其默認類型為優(yōu)化的塊訪問DB??梢匀∠催x復(fù)選框“優(yōu)化的塊訪問”,修改DB的類型為非優(yōu)化的塊訪問DB。系統(tǒng)存儲區(qū)和數(shù)據(jù)類型電氣控制與S7-1200應(yīng)用技術(shù)教程33S7-1200的系統(tǒng)存儲區(qū)5.?dāng)?shù)據(jù)塊(DB)提示:勾選“優(yōu)化的塊訪問”后,只能用符號地址訪問生成的塊中定義的變量,不能使用絕對地址訪問。這種訪問方式可以提高存儲器的利用率。未勾選“優(yōu)化的塊訪問”,能用符號地址和絕對地址訪問數(shù)據(jù)塊中的變量,數(shù)據(jù)塊中才會顯示“偏移量”。系統(tǒng)存儲區(qū)和數(shù)據(jù)類型電氣控制與S7-1200應(yīng)用技術(shù)教程34S7-1200的系統(tǒng)存儲區(qū)5.?dāng)?shù)據(jù)塊(DB)每個FB(函數(shù)塊)都有一個對應(yīng)的背景數(shù)據(jù)塊,一個FB(函數(shù)塊)也可以使用不同的背景數(shù)據(jù)塊。背景數(shù)據(jù)塊的優(yōu)化屬性是由其所屬的FB(函數(shù)塊)決定的,如果該FB(函數(shù)塊)為優(yōu)化的塊訪問,則其背景DB就是優(yōu)化的塊訪問,否則就是非優(yōu)化的塊訪問。系統(tǒng)存儲區(qū)和數(shù)據(jù)類型電氣控制與S7-1200應(yīng)用技術(shù)教程35S7-1200的基本數(shù)據(jù)類型在TIAPortal中設(shè)計程序時,用于建立變量的區(qū)域有:變量表、DB塊、FB塊、FC塊、OB塊的接口區(qū)。系統(tǒng)存儲區(qū)和數(shù)據(jù)類型電氣控制與S7-1200應(yīng)用技術(shù)教程36S7-1200的基本數(shù)據(jù)類型1.位和位序列位數(shù)據(jù)的數(shù)據(jù)類型為Bool(布爾)型,在編程軟件中,Bool變量的值1和0用TRUE(真)和FALSE(假)來表示。位存儲單元的地址由字節(jié)地址和位地址組成,如I3.2,其中的區(qū)域標(biāo)識符“I”表示輸入(Input),字節(jié)地址為3,位地址為2,這種存取方式稱為“字節(jié).位”尋址方式。系統(tǒng)存儲區(qū)和數(shù)據(jù)類型電氣控制與S7-1200應(yīng)用技術(shù)教程37S7-1200的基本數(shù)據(jù)類型1.位和位序列圖6-15字節(jié)、字、雙字的尋址系統(tǒng)存儲區(qū)和數(shù)據(jù)類型電氣控制與S7-1200應(yīng)用技術(shù)教程38S7-1200的基本數(shù)據(jù)類型2.整數(shù)所有整數(shù)的符號中均有Int。符號中帶S的為8位整數(shù)(短整數(shù)),帶D的為32位雙整數(shù),不帶S和D的為16位整數(shù)。帶U的為無符號整數(shù),不帶U的為有符號整數(shù)。系統(tǒng)存儲區(qū)和數(shù)據(jù)類型電氣控制與S7-1200應(yīng)用技術(shù)教程39S7-1200的基本數(shù)據(jù)類型3.浮點數(shù)舉例:浮點數(shù)x的二進制存儲格式為(41360000)16,求其32位浮點數(shù)的十進制值。系統(tǒng)存儲區(qū)和數(shù)據(jù)類型電氣控制與S7-1200應(yīng)用技術(shù)教程40S7-1200的基本數(shù)據(jù)類型舉例:浮點數(shù)x的二進制存儲格式為(41360000)16,求其32位浮點數(shù)的十進制值。解答:十六進制數(shù)展開,可得32位二進制數(shù)01000001001101100000000000000000
指數(shù)e=E-127=10000010-01111111=00000011=(3)10
包含隱藏整數(shù)位1的尾數(shù)1.M=1.01101100000000000000000=1.011011
于是有,
x=(-1)S×1.M×2e=+(1.011011)×23=+1011.011=(11.375)10系統(tǒng)存儲區(qū)和數(shù)據(jù)類型電氣控制與S7-1200應(yīng)用技術(shù)教程41S7-1200的基本數(shù)據(jù)類型4.日期和時間系統(tǒng)存儲區(qū)和數(shù)據(jù)類型電氣控制與S7-1200應(yīng)用技術(shù)教程42S7-1200的基本數(shù)據(jù)類型4.日期和時間系統(tǒng)存儲區(qū)和數(shù)據(jù)類型電氣控制與S7-1200應(yīng)用技術(shù)教程43S7-1200的基本數(shù)據(jù)類型4.日期和時間系統(tǒng)存儲區(qū)和數(shù)據(jù)類型電氣控制與S7-1200應(yīng)用技術(shù)教程44S7-1200的基本數(shù)據(jù)類型4.日期和時間應(yīng)用:1)設(shè)定每天晚上7點開燈,早上7點30分關(guān)燈;2)設(shè)定2030-01-01-12:00:00執(zhí)行某個操作。系統(tǒng)存儲區(qū)和數(shù)據(jù)類型電氣控制與S7-1200應(yīng)用技術(shù)教程45S7-1200的基本數(shù)據(jù)類型5.字符系統(tǒng)存儲區(qū)和數(shù)據(jù)類型電氣控制與S7-1200應(yīng)用技術(shù)教程46S7-1200的基本數(shù)據(jù)類型5.字符例,在PLC中創(chuàng)建一個DB塊,并將屬性設(shè)置為標(biāo)準(zhǔn)DB塊(非優(yōu)化的塊訪問),在DB1塊中創(chuàng)建如下的字符串和字符,并賦予起始值。系統(tǒng)存儲區(qū)和數(shù)據(jù)類型電氣控制與S7-1200應(yīng)用技術(shù)教程47S7-1200的基本數(shù)據(jù)類型5.字符系統(tǒng)存儲區(qū)和數(shù)據(jù)類型電氣控制與S7-1200應(yīng)用技術(shù)教程48S7-1200的基本數(shù)據(jù)類型5.字符例,在PLC中創(chuàng)建一個DB塊,并將屬性設(shè)置為標(biāo)準(zhǔn)DB塊(非優(yōu)化的塊訪問),在DB1塊中創(chuàng)建如下的漢字字符串和漢字字符,并賦予起始值。系統(tǒng)存儲區(qū)和數(shù)據(jù)類型電氣控制與S7-1200應(yīng)用技術(shù)教程49S7-1200的基本數(shù)據(jù)類型5.字符系統(tǒng)存儲區(qū)和數(shù)據(jù)類型電氣控制與S7-1200應(yīng)用技術(shù)教程50S7-1200的其他數(shù)據(jù)類型1.用戶自定義數(shù)據(jù)類型(UDT)系統(tǒng)存儲區(qū)和數(shù)據(jù)類型電氣控制與S7-1200應(yīng)用技術(shù)教程51S7-1200的其他數(shù)據(jù)類型1.用戶自定義數(shù)據(jù)類型(UDT)系統(tǒng)存儲區(qū)和數(shù)據(jù)類型電氣控制與S7-1200應(yīng)用技術(shù)教程52S7-1200的其他數(shù)據(jù)類型1.用戶自定義數(shù)據(jù)類型(UDT)提示:Struct類型相對于UDT類型有一些缺點,建議需使用Struct類型時,可以使用UDT類型代替。UDT是Struct類型的升級替代,功能基本完全兼容Struct類型。系統(tǒng)存儲區(qū)和數(shù)據(jù)類型電氣控制與S7-1200應(yīng)用技術(shù)教程53S7-1200的其他數(shù)據(jù)類型2.?dāng)?shù)組數(shù)據(jù)類型(Array)Array類型是由數(shù)目固定且數(shù)據(jù)類型相同的元素組成的數(shù)據(jù)結(jié)構(gòu)。系統(tǒng)存儲區(qū)和數(shù)據(jù)類型電氣控制與S7-1200應(yīng)用技術(shù)教程54S7-1200的其他數(shù)據(jù)類型2.?dāng)?shù)組數(shù)據(jù)類型(Array)提示:通訊中傳遞的數(shù)組數(shù)據(jù)經(jīng)常是預(yù)先不知道數(shù)組長度的,這時可以使用變長數(shù)組的定義,例如Array[*]ofInt為Int類型的可變長度的數(shù)組。梯形圖中通過“基本指令”->“移動操作”->“ARRAY[*]”下面的“LOWER_BOUND”和“UPPER_BOUND”指令可以獲取變長數(shù)組的下標(biāo)和上標(biāo)。這里需要注意變長數(shù)組只能在函數(shù)FC的接口區(qū)中定義,不能在FB的接口區(qū)中定義。系統(tǒng)存儲區(qū)和數(shù)據(jù)類型電氣控制與S7-1200應(yīng)用技術(shù)教程55S7-1200的其他數(shù)據(jù)類型3.參數(shù)數(shù)據(jù)類型(Variant)Variant類型是一個參數(shù)數(shù)據(jù)類型。Variant類型的形參是一個可以指向不同數(shù)據(jù)類型變量的指針,對應(yīng)實參不能是常數(shù)。它可以指向基本數(shù)據(jù)類型,也可以指向復(fù)雜數(shù)據(jù)類型、UDT等。調(diào)用某個塊時,可以將該塊的Variant參數(shù)連接任何數(shù)據(jù)類型的變量。除了傳遞變量的指針外,還會傳遞變量的類型信息。系統(tǒng)存儲區(qū)和數(shù)據(jù)類型電氣控制與S7-1200應(yīng)用技術(shù)教程56S7-1200的其他數(shù)據(jù)類型3.參數(shù)數(shù)據(jù)類型(Variant)Variant指向的實參,可以是符號尋址,也可以是絕對地址尋址,還可以是形如P#DB1.DBX0.0BYTE10這種指針形式的尋址。P#DB1.DBX0.0BYTE10的解釋:指向從DB1.DBX0.0開始的10個字節(jié),并且DB1必須是非優(yōu)化的DB塊,并包含有10字節(jié)長度的變量。P#指針舉例,P#I0.0Bool8,P#Q0.0Word20,P#M100.0Int50系統(tǒng)存儲區(qū)和數(shù)據(jù)類型電氣控制與S7-1200應(yīng)用技術(shù)教程57S7-1200的其他數(shù)據(jù)類型4.系統(tǒng)數(shù)據(jù)類型(SDT)系統(tǒng)數(shù)據(jù)類型由系統(tǒng)提供具有預(yù)定義的結(jié)構(gòu),結(jié)構(gòu)由固定數(shù)目的具有各種數(shù)據(jù)類型的元素構(gòu)成,不能更改該結(jié)構(gòu)。系統(tǒng)存儲區(qū)和數(shù)據(jù)類型電氣控制與S7-1200應(yīng)用技術(shù)教程58使用AT覆蓋變量S7-1200要訪問聲明變量內(nèi)的數(shù)據(jù)區(qū)域,可以通過附加聲明來覆蓋所聲明的變量。這樣可以選擇對已聲明變量使用不同數(shù)據(jù)類型進行尋址,例如,可以使用BOOL的ARRAY對WORD數(shù)據(jù)類型變量的各個位尋址。系統(tǒng)存儲區(qū)和數(shù)據(jù)類型電氣控制與S7-1200應(yīng)用技術(shù)教程59使用AT覆蓋變量系統(tǒng)存儲區(qū)和數(shù)據(jù)類型電氣控制與S7-1200應(yīng)用技術(shù)教
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高中數(shù)學(xué)分層練習(xí)(壓軸題)06:函數(shù)與導(dǎo)數(shù)(30題)【含解析】
- 水池專項施工方案
- 洗手洗腳池施工方案
- 電梯施工方案模板
- 基于涉入理論的高爾夫球手地方依戀研究
- 6到12歲的感統(tǒng)訓(xùn)書籍
- consider的固定搭配和例句總結(jié)
- 2025年往年英語a b級試題及答案
- 燈火闌珊處高情商回復(fù)
- 4-氨基-丁酸叔丁酯醋酸鹽
- 日常采購維修合同范本
- 2024-2025年第二學(xué)期一年級語文教學(xué)進度表
- 企業(yè)員工職務(wù)犯罪預(yù)防
- 2025年貴州省高職單招醫(yī)學(xué)類職業(yè)技能測試題庫及答案(備考刷題)
- 5《水污染》教學(xué)設(shè)計-2023-2024學(xué)年科學(xué)六年級下冊冀人版
- 2025年安徽電氣工程職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 幼兒園開學(xué)教職工安全教育培訓(xùn)
- 2025-2030年中國發(fā)酵豆粕行業(yè)運行態(tài)勢及投資前景規(guī)劃研究報告
- 酒店建設(shè)項目施工總承包合同
- 2025年政府采購代理機構(gòu)考試題庫及答案
- 第14課《第一次世界大戰(zhàn)》中職高一下學(xué)期高教版(2023)世界歷史全一冊
評論
0/150
提交評論