詳細介紹
西門子遼寧省代理商
上海盟疆工業自動化設備有限公司工業業務領域致力于為客戶提供高品質的服務,追求客戶的滿意是我們始終如一的目標。在中國,工業業務領域擁有一支技術過硬、經驗豐富的工程師隊伍,為客戶提供7x24小時全天候服務。專業的服務人員和遍布全國的服務及備件網絡將對客戶的服務需求迅速作出響應,將由設備故障引起的損失降低到小的程度。
描述
此條目給出了S7 通信的系統限制概覽。
下圖給出了在 F CPU 之間通過以太網進行 S7 通信的基本組態。通過一個 S7 連接建立雙邊通信。
圖. 01
另一種方式,雙邊數據通信通過兩個獨立的 S7 通信。采用這種方式, 可以在結構上區分發送和接收通道。
圖. 02
S7 通信的系統限制由下列參數決定:
- CPU 支持的大連接數。
- 每個接口能夠組態的大 S7 連接數。
- CPU 所支持的大背景數。
CPU 所支持的大連接數
下表給出了F CPU 所支持的大連接數。
F CPU | 大連 接數 |
IM151-8F PN/DP CPU | 12 |
IM154-8F PN/DP CPU | 16 |
IM154-8FX PN/DP CPU | 16 |
CPU 315F-2 PN/DP | 16 |
CPU 317F-2 PN/DP | 32 |
CPU 319F-3 PN/DP | 32 |
CPU 414F-3 PN/DP V6 | 64 |
CPU 416F-2 DP | 64 |
CPU 416F-3 PN/DP V5 | 64 |
CPU 416F-3 PN/DP V6 | 96 |
WinAC RTX F 2009 | 64 |
WinAC RTX F 2010 | 96 |
能夠組態的大的 S7 連接數
下表給出了 F CPU 所支持大組態的 S7 連接數。
F CPU | 能夠組 態的大 S7 連接數 |
IM151-8F PN/DP CPU | 10 |
IM154-8F PN/DP CPU | 14 |
IM154-8FX PN/DP CPU | 14 |
CPU 315F-2 PN/DP | 14 |
CPU 317F-2 PN/DP | 16 |
CPU 319F-3 PN/DP | 16 |
CPU 414F-3 PN/DP V6 | 62 |
CPU 416F-2 DP with CP443-1 Adv. | 62 |
CPU 416F-3 PN/DP V5 | 62 |
CPU 416F-3 PN/DP V6 | 94 |
WinAC RTX F 2009 | 通過 CP5611: 6 通過 CP5613: 48 通過 CP1616: 30 通過 IE general: 14 |
WinAC RTX F 2010 | 通過 CP5611: 6 通過 CP5613: 48 通過 CP1616: 30 通過 IE general: 14 |
大背景數
下表給出了 F CPU 支持的大背景數。
F CPU | 大背景數 |
IM151-8F PN/DP CPU | 32 |
IM154-8F PN/DP CPU | 32 |
IM154-8FX PN/DP CPU | 32 |
CPU 315F-2 PN/DP | 32 |
CPU 317F-2 PN/DP | 32 |
CPU 319F-3 PN/DP | 32 |
CPU 414F-3 PN/DP | 300 (內部接口) |
CPU 414F-3 PN/DP with CP443-1 Adv. | 能夠配置 1200 個 (預設 300) |
CPU 416F-2 DP with CP443-1 Adv. | 固件版本 < V5.2:能夠組態 1800 (預設 600) 固件版本 V5.2 之后:能夠組態 4000 (預設 600) |
CPU 416F-3 PN/DP | 600 (內部接口) |
CPU 416F-3 PN/DP with CP443-1 Adv. | 固件版本 < V5.2:能夠組態 1800 (預設 600) 固件版本 V5.2 之后:能夠組態 4000 (預設 600 ) |
WinAC RTX F 2009 | 能夠組態 600 (預設 300) |
WinAC RTX F 2010 | 能夠組態 4000 (預設 600 ) |
例子
一個319F-3 PN/DP CPU,通過 TCP/IP 建立雙邊的 S7 安全數據通信。根據數據通信是通過一個或者兩個組態的 S7 連接,可以組態另外15個或者14個 S7 連接。
CPU 程序中調用故障安全通信塊“F_SENDS7”和“F_RCVS7”用于雙邊的 S7 數據通信,這些程序塊內部分別調用了系統功能塊 SFB8 "USEND" 和 SFB9 "URCV"。這樣,用戶數據和相關的應答被發送和接收。每一個系統功能塊 SFB8 "USEND" 和 SFB9 "URCV" 都被分配一個背景數據塊。結果,背景數據塊的個數(=背景)與通信任務數是相同的。
這意味著在雙邊數據安全通信的情況下,至少需要執行 4 個通訊任務和需要 4 個背景。這樣,CPU 319F-3 PN/DP 剩余 28 個背景。
在 CPU 319F-3 PN/DP 用戶程序中,由于大的背景數限制為 32,那么多調用 16 個故障安全通信塊 "F_SENDS7" 或 F_RCVS7",因為大的背景數量是不能多于 32。
對于安全雙邊通信,CPU 319F-3 PN/DP 能夠與多 8 個 F CPU 通信。
CPU 319F-3 PN/DP 的安全雙邊數據通信計算公式
8 "F_SENDS7" + 8 "F_RCVS7" = 16 故障安全通信塊
8*("USEND" + "URCV") + 8*("USEND" + "URCV")
= 16 "USEND" + 16 "URCV" = 32 通信任務或背景
注意
對于 F CPU 而言,安全功能是重要的。因此,S7 通信的系統限制不僅由通信連接的數量決定,還與要達到的響應時間有關。如果由于連接數量過多而導致無法滿足所需要的響應時間,補救措施如下:
- 減少通信連接數 。
- 使用性能更好的 CPU。
題1:S7-200 CPU內部存儲區類型?西門子遼寧省代理商
回答:S7-200 CPU內部存儲區分為易失性的RAM存儲區和保持的EEPROM兩種,其中RAM包含CPU工作存儲區和數據區域中的V數據存儲區、M數據存儲區、T(定時器)區和C(計數器)區,EEPROM包含程序存儲區、V數據存儲區的全部和M數據存儲區的前14個字節。
也就是說V區和MB0-MB13這些區域都有對應的EEPROM保持區域。
EEPROM的寫操作次數是有限制的(少10萬次,典型值為100萬次),所以請注意只在必要時才進行保存操作。否則,EEPROM可能會失效,從而引起CPU故障。
EEPROM的寫入次數如果超過限制之后,該CPU即不能使用了,需要整體更換CPU,不能夠只更換CPU內EEPROM,西門子不提供這項服務。
問題2:S7-200 CPU的存儲卡的作用?
回答:S7-200還提供三種類型的存儲卡用于存儲程序,數據塊,系統塊,數據記錄(歸檔)、配方數據,以及一些其他文件等,這些存儲卡不能用于實時存儲數據,只能通過PLC—存儲卡編程的方法將程序塊/數據塊/系統塊的初始設置存于存儲卡內。
存儲卡分為兩種,根據大小共有三個型號。
32K存儲卡:僅用于儲存和傳遞程序、數據塊和強制值。32K存儲卡只可以用于向新版(23版)CPU傳遞程序,新版CPU不能向32K存儲卡中寫入任何數據。而且32K存儲卡不支持存儲程序以外的其他功能。訂貨號:6ES7 291-8GE20-0XA0。
64K/256K存儲卡:可用于新版CPU(23版)保存程序、數據塊和強制值、配方、數據記錄和其他文件(如項目文件、圖片等)。64K/256K新存儲卡只能用于新版CPU(23版)。64K存儲卡訂貨號: 6ES7 291-8GF23-0XA0;256K存儲卡訂貨號:6ES7 291-8GH23-0XA0。
為了把存儲卡中的程序送到CPU中,必須先插入存儲卡,然后給CPU上電,程序和數據將自動復制到RAM及EEPROM中。
存儲卡的使用完整限制條件,請參考《S7-200系統手冊》附錄A 技術規范—可選卡件一節。
S7-200的外部存儲卡有哪些功能?
459464
問題3:S7-200 CPU內的程序是否具有掉電保持特性?
回答:S7-200 CPU內的程序塊下載時,會同時下載到EEPROM中,也就是說程序下載后,將保持。同樣,系統塊和數據塊下載時,也會同時下載到EEPROM中。
問題4:S7-200 CPU內部的數據的掉電保持特性?
回答:S7-200系統手冊第四章——“PLC基本概念”一章中“理解S7--200如何保存和存儲數據”一節詳細介紹了S7-200 CPU內數據的掉電保持特性,建議用戶仔細閱讀。
S7-200 CPU內的數據分為RAM區和EEPROM區。
其中,RAM區數據需要CPU內置的超級電容或者外插電池卡才能實現掉電保持特性。
對于CPU221和CPU222的內置超級電容,能提供典型值約50小時的數據保持。
對于CPU224,CPU224XP,CPU224XPsi和CPU226的內置超級電容,能提供典型值約100小時的數據保持。
超級電容需要在CPU上電時充電。為達到上述指標的數據保持時間,需要連續充電至少24小時。
當該時間不夠時,可以購買電池卡,以獲得更長時間的數據保持時間。
EEPROM區能實現數據保持,不依靠超級電容或者電池就可以保持數據。
問題5:S7-200 CPU內部數據的工作順序?
回答:S7-200 CPU一上電后,CPU先去檢查RAM區域中的數據,如果在超級電容或者電池有電的情況下,數據并未丟失,則使用該RAM區的數據;如果超級電容或者電池沒電了,導致數據丟失,則CPU去讀EEPROM中相應的區域(包含數據塊中的數據定義內容),如果在EEPROM中存有保持的數據,則CPU將EEPROM中的數據寫回到RAM區中,再進行下面的工作。
如果EEPROM中也沒有對應存儲區的數據了,則該存儲區的數據將變成0。
問題6:S7-200 CPU電池卡的使用注意事項?
回答:新版S7-200 CPU電池卡有兩種型號。
對于CPU221和CPU222,由于其中沒有實時時鐘,則對應的為時鐘電池卡,訂貨號為:6ES7297--1AA23--0XA0。
對于CPU224,CPU224XP,CPU224XPsi和CPU226,電池卡僅提供電池功能,訂貨號為:6ES7 291--8BA20--0XA0,該款電池卡型號又叫做BC293。
電池卡的壽命典型值約為200天,當插上電池卡后,如果CPU處于工作狀態或者超級電容有電的情況下,并不消耗電池卡的電量。當電池卡的電量消耗完畢之后,該電池卡就報廢了。
S7-200電池卡不能充電,使用完畢就不能再用了,只能購買新的電池卡了。
S7-200沒有檢測電池卡內剩余電量的狀態位和這種功能。
新版S7-200 CPU電池卡不能用于老CPU,即訂貨號為6ES7xxx-xxx21-0XB0和6ES7xxx-xxx22-0XB0以及更老版本的CPU。
圖1
以上為兩種電池卡以及所在插槽位置。
電池卡的使用完整限制條件,請參考《S7-200系統手冊》附錄A 技術規范—可選卡件一節。
問題7:S7-200 CPU內EEPROM的使用方法?
回答:EEPROM的寫入分為如下幾種情況:
1、MB0—MB13的設置,只需要在系統塊—斷電數據保持中設置即可。
默認情況下,系統塊設置如下圖藍框中所示,即MB14—MB31,這些區域沒有對應的EEPROM區域,無須考慮EEPROM寫入次數限制。
圖2
MB0—MB13如果在系統塊中設置成掉電保持區域,如圖2紅框中所示,并將系統塊下載到CPU之后,則這14個字節的數據在掉電的瞬間會將數值寫入EEPROM中,如果掉電時間超過超級電容和電池的保持時間之后,再上電時,CPU會將EEPROM中存儲的數據數值寫回到RAM中對應的存儲區,實現保持數據的目的。
注意:實現該功能一定要將修改過的系統塊下載到CPU中。
2、數據塊中定義的數據,如圖3所示,當下載數據塊的時候,同時會將定義的數據下載到EEPROM中,這樣,當掉電時間超過超級電容和電池的保持時間之后,再上電時,CPU會將EEPROM中存儲的數據塊中定義的數據數值寫回到RAM中對應的存儲區,實現保持數據的目的。也就是恢復成數據的初始設置值。
注意:實現該功能一定要將定義好數據的數據塊下載到CPU中。
圖3
3、使用SMB31和SMW32控制字來實現將V區的數據存到EEPROM中
特殊存儲器字節31 (SMB31)命令S7-200將V存儲區中的某個值復制到存儲器的V存儲區,置位SM31.7提供了初始化存儲操作的命令。特殊存儲器字32 (SMW32)中存儲所要復制數據的地址。如圖4為S7-200系統手冊內關于SMB31和SMW32的使用說明。
圖4
采用下列步驟來保存或者寫入V存儲區中的一個特定數值:
1. 將要保存的V存儲器的地址裝載到SMW32中。
2. 將數據長度裝載入SM31.0和SM31.1。具體含義如圖4所示。
3. 將SM31.7置為1。
圖5
注意:如果在數據塊中定義了某地址的數據,而又使用這種辦法存儲同樣地址的數據,則當CPU內超級電容或電池沒電時,CPU再上電時將采用SMB31和SMW32存儲的數據。
問題8:EEPROM寫入次數的統計?
回答:每次下載程序塊/數據塊/系統塊或者執行一次SMB31.7置位的操作都算作對EEPROM的一次寫操作,所以請注意在程序中一定不要每周期都調用SMB31/SMW32用于將數據寫入EEPROM內,否則CPU將很快報廢。
問題9:不使用數據塊的方法,如何在程序中實現不止一個V區數據的存儲?
回答:由于SMB31/SMW32一次多只能送入一個V區雙字給EEPROM區域,因而當有超過一個雙字的數據需要送入EEPROM中時,需要程序配合實現。具體操作方法可參照如下的例子,即使用SMB31/SMW32送完一個數據(字節/字/雙字)之后,通過一個標志位(如M0.0)來觸發下一個SMB31/SMW32操作,之后需要將上一個標志位清零,以用于下一次的存儲數據的操作。
由于SM31.7在每次操作結束之后都自動復位,因而不能使用它作為第二次觸發操作的條件。
以上程序僅供參考。
或者可以參考如下FAQ,多次調用指令庫用以存儲多個V區變量到EEPROM存儲區中:
如何在 CPU 內部 EEPROM 存儲空間中保存變量區域?
17471561
問題10:定時器和計數器以及MB14-MB31的掉電保持性能?
回答:計數器和TONR型的定時器(T0-T31,T64-T95)能夠實現掉電保持。這些區域只能由超級電容和電池來進行數據的掉電保持,他們并沒有對應的EEPROM保持存儲區。當超過超級電容和電池供電的時間之后,這些計數器和TONR定時器的數據全部清零。
TON和TOF型的定時器(T32-T63,T96-T255)沒有掉電保持數據的功能。請不要在系統塊中設置這些區域為掉電保持,如圖6所示為錯誤做法:
圖6
按上述做法設置之后,下載系統塊時會導致如下錯誤發生:
圖7
所以請不要將T32-T63,T96-T255的定時器設為掉電保持區域。
問題11:CPU內具備斷電保持性的數據區為何會丟失?
以下情況會導致CPU內數據清零:
1. 沒有插入電池卡的CPU斷電時間過長,內部超級電容放電完畢,TONR區/C區/MB14-MB31區數據丟失,V區和MB0-MB13區的對應EEPROM內沒有數據導致數據丟失,
2. 電池卡使用時間過長,使之沒電了, TONR區/C區/MB14-MB31區數據丟失,V區和MB0-MB13區的對應EEPROM內沒有數據導致數據丟失,
3. 插在CPU上的存儲卡內程序/數據與CPU內部RAM中運行的程序/數據不符,一上電時會導致原有數據/程序的丟失。
4. CPU損壞。
描述
S7-PLCSIM 支持以下通訊塊來實現兩個S7-400 CPU模塊間的通信:
- SFB8 "USEND"
- SFB9 "URCV"
- SFB12 "BSEND"
- SFB13 "BRCV"
- SFB15 "PUT"
- SFB14 "GET"
- SFB19 "START"
- SFB 20 "STOP"
- SFB 22 "STATUS"
- SFB 23 "USTATUS"
要求
- 需要S7-PLCSIM V5.4 SP3(或更高版本)。
- 在STEP 7(TIA Portal)中建立一個項目,對兩個S7-400 CPU進行硬件組態和網絡組態。
- 在模塊之間已經組態了S7連接和通信連接。
- 在主動站S7-400 CPU的用戶程序中,調用“BSEND”指令來給被動站CPU發送數據。
- 在被動站S7-400CPU中調用“BRCV”指令來接收來自主動站S7-400 CPU的數據。
注意
本條目提供的項目包含兩個S7-400 CPU的組態和連接組態以及用戶程序。
以下步驟列出了如何使用PLCSIM仿真通訊。下載附件中的STEP 7(TIA Portal)項目包含了兩個S7-400站通過工業以太網通信 。
Station_1中的OB1包含計數器的程序,將其輸出值傳送到Station_2。
- 在項目導航中選中“Station_1”并打開S7-PLCSIM,可以通過菜單命令“Online > Simulation > Start”或者菜單欄的“Start simulation” 圖標打開。實例編號為“S7-PLCSIM1”的*個仿真CPU的對話框被打開。
- 如果是*仿真這個項目,就會打開“Extended download to device”對話框。在“PG/PC Interface”中選擇如圖1所示的設置,并單擊“Start search”。
圖. 1
- 當在線連接已經建立時,單擊“Load”按鈕。
- 然后,在打開的“Load preview”對話框中,繼續單擊“Load”按鈕。
- 在S7-PLCSIM 中使用“Add”菜單來加載子窗口“Input”和“Counter”,用來監視和控制程序。對于“Station_1”需要“EB2”和“Z1”。
- 在S7-PLCSIM1的“CPU”子窗口中,將運行模式從“STOP”切換到“RUN-P”。
圖. 2
- 選中項目導航中的“Station_2”并重復步驟1來打開第二個“S7-PLCSIM2”實例。
- 在“Load preview”對話框中單擊“Load”按鈕。
- 與步驟5相同,給實例“S7-PLCSIM2”添加“Output”。對于“Station_2”需要“AW1”。
- 在S7-PLCSIM2中的“CPU”子窗口中,將運行模式從“STOP”切換到“RUN-P”。
圖. 3
- 在S7-PLCSIM1(仿真Station 1)中,EB2控制計數器Z1并將計數值傳送到S7-PLCSIM2 (仿真Station 2)中的AW1。
- E2.0: 自動向上計數的時鐘標記
- E2.1:向上計數
- E2.2: 向下計數
- E2.3: 計數器的預設值
- E2.4: 復位計數器
。