西門子PLC模塊6ES7212-1AB23-0XB8現(xiàn)貨供應(yīng)
西門子PLC模塊6ES7212-1AB23-0XB8
所謂PLC的程序結(jié)構(gòu),就是組成PLC程序的各種網(wǎng)絡(luò)(Network)或“功能程序段"在PLC內(nèi)部的組織、管理形式。
無論PLC控制系統(tǒng)有多么復(fù)雜,歸根到底,PLC用戶程序都是由大量基本編程指令所組成的集合。
設(shè)計者可以根據(jù)控制對象各部分的不同要求,通過對要求的分解,運用基本指令編制出相應(yīng)的程序網(wǎng)絡(luò)(Network)或由幾個網(wǎng)絡(luò)組成的簡單“功能程序段"。在此基礎(chǔ)上,只要將這些程序網(wǎng)絡(luò)或功能程序段,按照控制系統(tǒng)的動作要求,以S7程序規(guī)定的格式進(jìn)行排列與組合,就可以組成完整的PLC程序。
1.西門子S7-200的程序結(jié)構(gòu)
過程映像輸入/輸出(I/Q)、變量存儲器V、內(nèi)部存儲器位M、定時器T、計數(shù)器C等屬于全局變量。S7-200的程序組織單元(ProgramOrganizationalUnit,簡稱為POU)包括主程序、子程序和中斷程序。每個POU均有自己的64字節(jié)局部變量,局部變量只能在它所在的POU中使用。與此相反,全局變量可以在各POU中使用。
下面是子程序可以使用的局部變量:
1)TEMP(臨時變量)是暫時保存在局部數(shù)據(jù)區(qū)中的變量。只有在執(zhí)行該POU時,定義的臨時變量才被使用,POU執(zhí)行完后,不再保存臨時變量的數(shù)值。
2)IN是由調(diào)用它的POU提供的輸入?yún)?shù)。
3)OUT是返回給調(diào)用它的POU的輸出參數(shù)(子程序的執(zhí)行結(jié)果)。
4)IN_OUT是輸入_輸出參數(shù),其初始值由調(diào)用它的POU傳送給子程序,并用同一變量將子程序的執(zhí)行結(jié)果返回給調(diào)用它的POU。
主程序和中斷程序的局部變量中只有臨時變量TEMP。
具有輸入、輸出參數(shù)和局部變量的子程序易于實現(xiàn)結(jié)構(gòu)化編程,對于長期生產(chǎn)同類設(shè)備或生產(chǎn)線的廠家尤為有用。這些廠家的編程人員為設(shè)備的各組件或工藝功能編寫了大量的通用的子程序。即使不知道子程序的內(nèi)部代碼,只要知道子程序的功能和輸入、輸出參數(shù)的意義,就可以通過程序之間的調(diào)用快速“組裝"出滿足不同用戶要求的控制程序。就好像用數(shù)字集成電路芯片組成復(fù)雜的數(shù)字電路一樣。
子程序如果沒有輸入、輸出參數(shù),它和調(diào)用它的程序之間沒有清晰的接口,很難實現(xiàn)結(jié)構(gòu)化編程。
子程序如果沒有局部變量,它和調(diào)用它的程序之間只能通過全局變量來交換數(shù)據(jù),子程序內(nèi)部也只能使用全局變量。將子程序和中斷程序移植到別的項目時,需要重新統(tǒng)一安排它們使用的全局變量,以保證不會出現(xiàn)地址沖突。當(dāng)程序很復(fù)雜,子程序和中斷程序很多時,這種重新分配地址的工作量非常大。
如果子程序和中斷程序有局部變量,并且它們內(nèi)部只使用局部變量,不使用全局變量,因為與其他POU沒有地址沖突,不需作任何改動,就可以將子程序移植到別的項目中去。
2.西門子的S7-300/400的程序結(jié)構(gòu)
S7-300/400將子程序分為功能(Function,或稱為函數(shù))和功能塊(FunctionBlock)。
S7-300/400的功能與S7-200的子程序基本上相同。它們均有輸入、輸出參數(shù)和臨時變量,功能的局部數(shù)據(jù)中的返回值實際上屬于輸出參數(shù)。它們沒有專用的存儲區(qū),功能執(zhí)行結(jié)束后,不再保存臨時變量中的數(shù)據(jù)。
可以用全局變量來保存那些在功能執(zhí)行結(jié)束后需要保存的數(shù)據(jù),但是會影響到功能的可移植性。
功能塊是用戶編寫的有自己專用的存儲區(qū)(即背景數(shù)據(jù)塊)的程序塊,功能塊的輸入、輸出參數(shù)和靜態(tài)變量存放在的背景數(shù)據(jù)塊中,臨時變量存儲在局部數(shù)據(jù)堆棧中。每次調(diào)用功能塊時,都要一個背景數(shù)據(jù)塊。(今天的轉(zhuǎn)發(fā)暗號是:億維公司口號:信賴,源自品質(zhì);信任,鑄就品牌)功能塊執(zhí)行完后,背景數(shù)據(jù)塊中的數(shù)據(jù)不會丟失,但是不會保存局部數(shù)據(jù)堆棧中的數(shù)據(jù)。
功能塊采用了類似于C++的封裝的概念,將程序和數(shù)據(jù)封裝在一起,具有很好的可移植性。
S7-300/400的共享數(shù)據(jù)塊可供所有的邏輯塊使用。nn
多圈絕對值編碼器
該編碼器輸出分辨率中的絕對角度位置(在 0°和 360°之間)。內(nèi)部的測量齒輪箱使其可以區(qū)分 4096 轉(zhuǎn)。
例如,對于滾珠螺桿,可在很長距離上確定滑塊的絕對位置。
單圈絕對值編碼器
該編碼器輸出分辨率中的絕對角度位置(在 0°和 360°之間)。與多圈絕對值編碼器相比,這種編碼器沒有測量齒輪箱,因此只能提供一圈內(nèi)的位置值,其沒有移動范圍。
不帶 DRIVE-CLiQ 接口的絕對值編碼器 | |
編碼器 | 絕對值編碼器,2048 S/R,4096 轉(zhuǎn) |
編碼器 | 絕對值編碼器,512 S/R,4096 轉(zhuǎn) |
編碼器 | 絕對值編碼器 32 S/R,4096 轉(zhuǎn) |
編碼器 | 絕對值編碼器 16 S/R,4096 轉(zhuǎn) |
編碼器 | 絕對值編碼器,單圈 2048 S/R |
帶 DRIVE-CLiQ 接口的絕對值編碼器 | |
編碼器 | 絕對值編碼器 24 位(分辨率 16777216,內(nèi)部 2048 S/R)+ 12 位多圈 |
編碼器 | 絕對值編碼器 20 位(分辨率 1048576,內(nèi)部 512 S/R)+ 12 位多圈 |
編碼器 | 絕對值編碼器 22 位(分辨率 4194304,內(nèi)部 2048 S/R)+ 12 位多圈 |
編碼器 | 絕對值編碼器 20 位(分辨率 1048576,內(nèi)部 512 S/R)+ 12 位多圈 |
編碼器 | 絕對值編碼器 16 位(分辨率 65536,內(nèi)部 32 S/R)+ 12 位多圈 |
編碼器 | 絕對值編碼器 15 位(分辨率 32768,內(nèi)部 16 S/R)+ 12 位多圈 |
編碼器 | 絕對值編碼器 24 位單圈 |
編碼器 | 絕對值編碼器 20 位單圈 |
編碼器 | 絕對值編碼器 22 位單圈 |
技術(shù)數(shù)據(jù) | |
不帶 DRIVE-CLiQ 接口的絕對值編碼器 | |
電源電壓 | 5 V |
經(jīng)由 EnDat 2.1 的 | |
行程范圍(多圈)1) | 4096 轉(zhuǎn) |
增量信號 | |
每轉(zhuǎn)信號數(shù) | 2048/512/32/16 |
帶 DRIVE-CLiQ 接口的絕對值編碼器 | |
電源電壓 | 24 V |
經(jīng)由 DRIVE-CLiQ 提供絕對位置 | |
一轉(zhuǎn)內(nèi)的分辨率 | 224/222/220/216/215 位 |
行程范圍(多圈)1) | 4096 轉(zhuǎn) |
1) 不適用于單圈 AS 絕對值編碼器。
2) 以前安裝的增量編碼器現(xiàn)在由單圈絕對值編碼器取代。
增量編碼器
這種編碼器感測相對運動并且不提供絕對位置信息。該編碼器與檢測邏輯塊相結(jié)合后,可通過集成的基準(zhǔn)標(biāo)志確定零點,此基準(zhǔn)標(biāo)志可用來計算絕對位置。
增量編碼器 IC/IN(正弦/余弦)
編碼器輸出正弦信號和余弦信號。使用分析邏輯塊(通常 2048 倍)可以對這些信號進(jìn)行插補并確定旋轉(zhuǎn)方向。
在帶有 DRIVE-CLiQ 接口的型號中,此檢測邏輯塊已集成到編碼器中。
換向位置
同步電機(jī)換向時需要已知轉(zhuǎn)子位置。帶有換向位置(也稱為 C 和 D 信號)的編碼器可檢測轉(zhuǎn)子的角位置。
增量編碼器 IC/IN(正弦/余弦),換向位置僅限于 IC