工程框架
四、存儲方面的區(qū)別。S7-300和S7-1200的程序存儲器和數(shù)據(jù)存儲器的大小都是浮動的。S7-1200 CPU的符號表和注釋可以保存在CPU中,可在線獲取。在S7-1200中利用符號化存取,可以zui優(yōu)化分配數(shù)據(jù)塊所占的存儲區(qū)。在保持存儲區(qū)方面,S7-1200多可以設置2048個字節(jié)的保持區(qū),可以對數(shù)據(jù)塊中的離散變量設置保持性。而S7-300是以字節(jié)為單位進行保持性設置的。在存儲容量方面,S7-1200的存儲卡大可到24兆字節(jié),對于S7-1200存儲卡是可選項,而S7-300的存儲卡是必選的。S7-300的存儲卡無法存放配方和數(shù)據(jù)記錄等。另外S7-1200的存儲卡還將用來實現(xiàn)存儲區(qū)擴展,程序分配及固件升級等功能。
存儲的區(qū)別
五,程序結(jié)構(gòu)的不同。S7-1200和S7-300一樣,有OB塊、FB塊、FC塊及數(shù)據(jù)塊等,程序結(jié)構(gòu)高度模塊化,并且可以重復利用,大嵌套深度為16。S7-1200和S7-300類似,都是通過組織塊來分配事件的。
程序結(jié)構(gòu)的區(qū)別
六、數(shù)據(jù)類型的不同。S7-1200中的新數(shù)據(jù)類型使應用更加靈活。例如用于日期和時間時,S7-300通過調(diào)用系統(tǒng)功能塊SFC讀取日期時間數(shù)據(jù),而S7-1200可以通過符號名訪問DTL結(jié)構(gòu)的所有組成部分。
數(shù)據(jù)類型的區(qū)別
七、計數(shù)器指令的區(qū)別。S7-300中的計數(shù)器在計數(shù)值大于零時,計數(shù)器輸出置位,而S7-1200中的計數(shù)器,在計數(shù)值大于等于設定值時,輸出置位。S7-300 S5計數(shù)器的計數(shù)范圍是0到999,而S7-1200的計數(shù)范圍是可調(diào)的。
定時器指令的區(qū)別
九、工藝功能。S7-1200和S7-300類似,都是通過調(diào)用相應的塊來實現(xiàn)不同的工藝功能。
西門子S7-300/400PLC OB-FB-FC-DB塊介紹
西門子S7-300/400的PLC用戶程序結(jié)構(gòu)與S7-200有明顯的不同,可以使用線性化結(jié)構(gòu)以及功能調(diào)用式結(jié)構(gòu)與結(jié)構(gòu)化編程。
采用調(diào)用式結(jié)構(gòu)與結(jié)構(gòu)化編程時,程序以組織塊(OB)、程序塊(FC)、功能塊(FB)、系統(tǒng)程序塊(SFC)、系統(tǒng)功能塊(SFB)、數(shù)據(jù)塊(DB)等形式出現(xiàn),其中,組織塊(OB)、程序塊(FC)、功能塊(FB)統(tǒng)稱為“邏輯塊(Logic Block)”;系統(tǒng)程序塊(SFC)、系統(tǒng)功能塊(SFB)統(tǒng)稱為“系統(tǒng)塊”。
1、組織塊(OB)
組織塊(OrganizationBlocks,簡稱OB)提供了PLC內(nèi)部CPU操作系統(tǒng)與用戶程序間的接口,它是由CPU操作系統(tǒng)直接進行調(diào)用的邏輯塊,用來管理PLC程序中各組成部分的調(diào)用和執(zhí)行中斷。OB決定了PLC用戶程序的結(jié)構(gòu)與塊的調(diào)用順序,起到了“管理”用戶程序的作用。
S7-300/400不同的CPU類型,可以選擇、支持不同的OB塊,但OB1是所有PLC用戶程序的循環(huán)控制塊,它是運行PLC用戶程序的前提條件,因此,任何PLC程序、任何CPU都不可以缺少OB1。
OB塊的調(diào)用條件被稱為“觸發(fā)事件”,根據(jù)“觸發(fā)事件”的不同,OB塊可以分為若干級別,各個級別有不同的優(yōu)先級,高優(yōu)先級的OB可以中斷低優(yōu)先級OB的執(zhí)行。如果需要,S7系列PLC除OB1外,還可以使用多個OB塊。
2、程序塊(FC)
程序塊(Function,簡稱FC)是由用戶編寫的、不需要專門數(shù)據(jù)塊的常用邏輯塊。
FC塊在程序中一般不可以重復調(diào)用,在大多數(shù)場合,F(xiàn)C塊應直接使用PLC的“絕對地址”或“符號地址”進行編程,但根據(jù)需要,可以定義部分程序變量。
與S7-200-樣,F(xiàn)C塊的“臨時變量”同樣存儲在局部變量數(shù)據(jù)堆棧(L)中,這一區(qū)域為全部程序塊所公用,只可以用于FC塊內(nèi)部使用的中間運算結(jié)果寄存(這些中間運算結(jié)果不可以用于FC塊外部);程序塊執(zhí)行完成后,局部變量數(shù)據(jù)堆棧內(nèi)的數(shù)據(jù)將被其他塊所需要的內(nèi)容所替代。如果需要保存可以用于其他邏輯塊的狀態(tài),應使用PLC的內(nèi)部標志寄存器M或使用“數(shù)據(jù)塊DB”。
在程序塊FC中,有部分為PLC生產(chǎn)廠家所提供的、集成在S7CPU操作系統(tǒng)中的邏輯塊,稱為系統(tǒng)程序塊(SystemFunction,簡稱SFC)。系統(tǒng)程序塊SFC屬于PLC內(nèi)部操作系統(tǒng)的一部分,用戶不需要編寫,也不可以對其進行編輯,但可以根據(jù)需要直接調(diào)用。
3、功能塊(FB)
功能塊(FunctionBlocks,簡稱FB塊)是由用戶編寫的、需要專用數(shù)據(jù)塊(InstanceDataBlocks,稱為“即時數(shù)據(jù)塊”或“背景數(shù)據(jù)塊”,簡稱DI)支持的常用邏輯塊。
FB塊與FC塊的作用基本相同,但FB中除可以使用“絕對地址”或“符號地址”進行編程外,在結(jié)構(gòu)化編程時必須使用“程序變量”進行編程,因此,F(xiàn)B必須配套的、獨立的數(shù)據(jù)存儲區(qū)域——“即時數(shù)據(jù)塊DI”。DI-方面可以為調(diào)用FB提供執(zhí)行程序所需要的“程序變量”賦值與其他數(shù)據(jù),另一方面,功能塊FB也能通過DI給調(diào)用它的邏輯塊返回所需要的數(shù)據(jù)。
與功能調(diào)用塊FC-樣,功能塊FB中也有部分為PLC生產(chǎn)廠家所提供的、集成在S7CPU操作系統(tǒng)中的功能塊,稱為系統(tǒng)功能塊(SystemFunctionBlocks,簡稱SFB)。系統(tǒng)功能塊SFB同樣屬于PLC內(nèi)部操作系統(tǒng)的一部分,用戶不需要編寫,也不可以對其進行編輯,但可以根據(jù)需要直接調(diào)用。
4、數(shù)據(jù)塊(DB)
數(shù)據(jù)塊(DataBlocks,簡稱DB)是用來存放執(zhí)行用戶程序時所需的數(shù)據(jù)與存儲程序執(zhí)行結(jié)果的數(shù)據(jù)存儲區(qū),其作用與標志寄存器類似,但數(shù)量更多。數(shù)據(jù)塊DB按不同的用途可以分為即時數(shù)據(jù)塊(InstanceDataBlocks,又稱背景數(shù)據(jù)塊,簡稱DI)和通用數(shù)據(jù)塊(DataBlocks,又稱共享數(shù)據(jù)塊,簡稱DB)兩類。
即時數(shù)據(jù)塊(DI)用于傳遞功能塊的參數(shù),功能塊FB訪問。調(diào)用功能塊FB時,必須同時用于該功能塊的即時數(shù)據(jù)塊DI,即時數(shù)據(jù)塊內(nèi)的數(shù)據(jù)可以自動生成,它們可以是FB變量聲明表中的數(shù)據(jù)(不含臨時變量)。
通用數(shù)據(jù)塊(DB)用于存儲PLC的全局數(shù)據(jù),所有的FB、FC或OB都可以對通用數(shù)據(jù)塊進行讀寫操作,因此,又被稱為共享數(shù)據(jù)塊。通用數(shù)據(jù)塊內(nèi)的數(shù)據(jù)不會因用戶程序的結(jié)束而刪除。
?西門子PLC S7-300存儲卡使用方法
MMC卡插在CPU上
西門子PLC使用存儲卡來保存用戶的程序和數(shù)據(jù),例如:在西門子PLC S7-300系列中,通常使用MMC卡,用戶把程序的邏輯和數(shù)據(jù)保存在MMC卡中。在由西門子PLCS7-300系列組成的控制系統(tǒng)中,必須使用存儲卡MMC來使得西門子PLC正常運行。在使用過程中,用戶需要將編程軟件組態(tài)好的邏輯寫入到存儲卡中,從而保證系統(tǒng)的正常運行。將程序?qū)懭氪鎯ǖ姆绞接卸喾N,本文下面就來介紹一下這些方法,供用戶在調(diào)試過程中參考使用。
西門子PLC存儲卡寫入程序方法
在西門子PLC S7-300系列中,用戶可以使用MMC卡進行程序的下載操作,有以下幾種方式可供選擇:
1. 直接下載
用戶在西門子PLC S7-300的編程軟件STEP7中,使用快捷欄中的下載按鈕直接下載,或者使用STEP7菜單中的“PLC->下載”命令下載程序;
2. 菜單指令下載
用戶在西門子PLC S7-300的編程軟件STEP7中,在菜單欄中,選擇“PLC->下載用戶程序到存儲卡”的菜單命令,將整個程序下載,注意在使用這個指令時,不能對部分程序進行下載,只能將程序整體下載,同時覆蓋存儲卡中原有的內(nèi)容;
3. 拷貝程序
用戶在西門子PLC S7-300的編程軟件STEP7中,使用菜單指令“PLC->拷貝RAM到ROM”指令,可以把工作存儲器中的內(nèi)容拷貝到存儲卡中,同時會清除原來存儲卡中的信息,并且這項操作只能在CPU的STOP狀態(tài)下進行;
4. 保存程序
用戶在西門子PLC S7-300的編程軟件STEP7中,使用菜單指令“文件->S7存儲卡->打開”指令,然后再使用“PLC->保存到存儲卡”,可以將文件寫入到存儲卡中;
5. 編程保存
用戶在西門子PLC S7-300的編程軟件STEP7中,通過調(diào)用系統(tǒng)功能SFC84-向裝載存儲器寫數(shù)據(jù)塊,可以將工作存儲器中的數(shù)據(jù)塊寫入到存儲卡中。
西門子PLC S7-300的MMC存儲卡通常用來存儲程序和數(shù)據(jù),它是PLC正常運行時的部件。用戶可以通過多種方式將編寫好的程序邏輯保存下載到存儲卡中,從而確??刂葡到y(tǒng)的正常運行,在下載時,用戶可以按照本文提供的方式進行操作。