產品詳情
湖南 西門子 6ES7973-1GC00-0AA0 技術參考
S7-200和S7-300之間的MPI通信
S7-200 PLC與S7-300 PLC之間采用MPI通訊方式時,S7-200 PLC中不需要編寫任何與通訊有關的程序,只需要將要交換的數據整理到一個連續(xù)的V 存儲區(qū)當中即可,而S7-300 PLC中需要在組織塊OB1(或是定時中斷組織塊OB35)當中調用系統(tǒng)功能X_GET(SFC67)和X_PUT(SFC68),以實現S7-200 PLC與S7-300 PLC之間的通訊。調用SFC67和SFC68時VAR_ADDR參數填寫S7-200的數據地址區(qū),由于S7-200的數據區(qū)為v區(qū),這里需填寫 P#DB1.DBX×× BYTE n 對應的就是S7200 V存儲區(qū)當中VB××到VB(××+n)的數據區(qū)。例如交換的數據存在S7-200中VB50到VB59這10個字節(jié)當中,VAR_ADDR參數應為 P#DB1.DBX50.0 BYTE 10.
首先根據S7-300的硬件配置,在STEP7當中組態(tài)S7-300站并且下載,注意S7-200和S7-300出廠默認的MPI地址都是2,所以必須修改其中一個PLC的站地址,例子程序當中將S7-300 MPI地址設定為2,S7-200地址設定3,另外要分別將S7-300和S7-200的通訊速率設定一致,可設為9.6K,19.2K,187.5K三 種波特率,例子程序當中選用了19.2K的速率。
S7-200 PLC中通過系統(tǒng)塊定義自身的MPI地址和波特率,參考下圖:
圖1 S7-200 設置MPI地址
S7-300 PLC修改MPI地址可以參考下圖:
圖2 S7-300 設置MPI地址
例子程序在OB1當中調用數據讀寫功能塊:SFC67和SFC68,如下圖:
圖3 程序編寫
分別在STEP7 MicroWin32 和STEP7當中監(jiān)視S7-200和S7-300 PLC當中的數據,數據監(jiān)視界面如下:
圖4 S7-200監(jiān)控結果
圖5 S7-300監(jiān)控結果
通過CP5611,STEP7 MicroWin32, Set PG/PC Interface可以讀取S7200和S7300的站地址,如下圖:
圖6 CP5611診斷結果(站地址0為進行編程的計算機)
圖7 使用STEP7 MicroWin32診斷結果
注意事項
1 雖然MPI的波特率可以達到12M,但是受到S7-200通信能力的限制,所以可設為9.6K,19.2K,187.5K三 種波特率。
2 如果PPI或者MPI的通信距離超過50m,需要加中繼器;如果中繼器之間沒有任何站點的情況下,最遠距離可為1000米。
3 MPI不能與作為PPI主站的S7-200PLC通信。
系列視頻:S7-200跟我學/跟我做:
S7-200CN: PROFIBUS通信效果演示-跟我學 - 173/185 | http://www.ad.siemens.com.cn/service/elearning/cn/CourseV2bx?CourseID=422 |
S7-200CN: PROFIBUS通信效果演示-跟我做 - 174/185 | http://www.ad.siemens.com.cn/service/elearning/cn/CourseV2bx?CourseID=423 |
S7-200和S7-300之間的PROFIBUS通信
S7-300與S7-200通過EM277進行PROFIBUS DP通訊,需要在STEP7中進行S7-300站組態(tài),在S7-200系統(tǒng)中不需要對通訊進行組態(tài)和編程,只需要將要進行通訊的數據整理存放在V 存儲區(qū),并且S7-300組態(tài)EM277從站時設置正確的地址即可。
EM277的地址,在模塊本身上的撥碼設置分為X0(地址個位)和X10(地址十位);EM277是波特率自適應的,取決于S7-300的組態(tài)。
配置步驟
首先,在STEP 7項目里插入一個S7-300的站:
圖1 S7-300組態(tài)
選中STEP7的硬件組態(tài)窗口中的菜單 Option-install new GSD(GSD 文件下載:113652) ,導入SIEM089D.GSD文件,安裝EM277從站配置文件,如下圖:
圖2 安裝GSD
在SIMATIC文件夾中有EM277的GSD文件:
圖3 安裝GSD
導入GSD文件后,在右側的設備選擇列表中找到EM277從站,PROFIBUS DP-Additional Field Device-PLC-SIMATIC-EM277,并且根據通訊字節(jié)數,選擇一種配置,本例選擇8字節(jié)入/8字節(jié)出的方式,如下圖:
圖4 通信區(qū)域組態(tài)
確定S7-300硬件組態(tài)中所設置EM277的地址,如下圖紅框標注,為DP從站EM277的站地址。
圖5 組態(tài)DP通信地址
組態(tài)完系統(tǒng)的硬件配置后,將編譯下載到S7-300的PLC當中。
在S7-200側斷電的情況下,將EM277的撥位開關撥到與S7-300側硬件組態(tài)的設定值一致。
在S7-200中編寫程序將進行交換的數據存放在VB0-VB15,對應S7-300的PQB0-PQB7和PIB0-PIB7,打開 STEP7中的變量表和STEP7 MicroWin32的狀態(tài)表進行監(jiān)控,它們的數據交換結果如下圖:
圖6 通信數據監(jiān)控
圖7 通信數據監(jiān)控
注意:VB0-VB7是S7-300寫到S7-200的數據,VB8-VB15是S7-300從S7-200讀取的值。EM277上撥位開 關的位置一定要和S7-300中組態(tài)的地址值一致。如果使用的S7-200通信區(qū)域不從VB0開始,則需要設置地址偏移,在S7-300硬件組態(tài)中雙擊 EM277,修改數值0為實際使用的數值即可,如下圖所示:
圖8 地址區(qū)域偏移設置
常問問題
DP通信所需要傳輸的數據超過64字節(jié)怎么辦?
方法1:以64字節(jié)通信區(qū)為例,若超過最大配置。那么可以將通信區(qū)的第一個字節(jié)作為標志位,這樣需要在S7-200中分時或條件判斷,將數據放置或讀取通信區(qū)域。同理,在S7-300中也需要判斷標志位。
方法2:滿足擴展要求的前提下,同一個200PLC可以擴展多個EM277,具體可以參考本文中最大I/O擴展能力的要求,那么在同一個S7-300的項目里可以組態(tài)多個PROFIBUS從站。
方法1可以增大通信的數據量,但由于通過標志位來分時分次傳輸的,所以通信數據的刷新會比方法2慢;方法2通過擴展DP從站或者200PLC的通信端口來實現數據擴展的,但增加了成本,且需要考慮是否滿足擴展要求。
S7-200和S7-300的以太網通信
S7-200 PLC本體沒有以太網口,需要通過以太網模塊CP243-1來擴展以太網通信,且一個S7-200PLC只能擴展一個CP243-1。CP243-1不是即插即用模塊,需要通過其他方式對S7-200下載一個包含以太網向導的項目文件才可以使用。
通過以太網向導,最多8個以太網S7控制器通信,每個連接既可以是服務器連接也可以是客戶機連接。除此之外,CP243-1還可以同時支持一個STEP 7-Micro/WIN的編程連接。
一個客戶端(Client)可以包含1-32個數據傳輸操作,一個讀寫操作最多可以傳輸212個字節(jié)。如果CP243-1作為服務器運行,每個讀操作可以傳送222個字節(jié)。
S7-200 可以通過 CP243-1 作為服務器端和客戶端建立 S7 連接,這意味著以下可能:
1. 在 S7-200 中配置一個客戶端,因此S7-200將主動激活與遠程服務器的 S7 連接。
2. 在S7-200中配置服務器連接,因此S7-200可被動的響應建立好的S7連接,遠程的客戶端將與S7-200建立連接,S7-200作為服務器提供數據。
S7-200作為客戶機
可以把S7-200的以太網模塊CP243-1配置為CLIENT,使用STEP 7 Micro/WIN中的向導進行通信的配置即可。在命令菜單中選擇工具--以太網向導。
圖1 打開以太網向導
第一步是對以太網通信的描述,點擊下一步開始以太網配置。
圖2 向導介紹
在此處選擇模塊的位置,CPU后的第一個模塊位置為0,往后依次類推;或者在線的情況下,點擊讀取模塊搜尋CP243-1模塊(在線讀取將該模塊的命令字節(jié)載入模塊命令字節(jié)向導屏幕)。點擊下一步;
圖3 讀取模塊
選擇模塊相匹配的MLFB版本,本例中的CP243-1模塊型號為6GK7243-1EX01-0XE0,如下圖所示:
圖4 模塊版本選擇
在此處填寫IP地址和子網掩碼。點擊下一步;
圖5 地址設置
下面的對話框將組態(tài)CP243-1進行S7連接的連接數量的設置,通過S7連接可以與通信伙伴進行讀寫數據操作。點擊“下一步”按鈕繼續(xù)進行S7連接組態(tài)。
圖6 模塊占用地址設置
選擇此為客戶機連接,遠程屬性TSAP (Transport Service Access Point)填寫為03.02,輸入S7-300側的IP地址。點擊數據傳輸按鈕進入數據交換的定義。
注意:如果連接遠程對象是 S7-300,TSAP為03.02;如果連接遠程對象是 S7-400,TSAP為03.0x,其中x為CPU模塊的槽位,可以從S7-400 站的硬件組態(tài)中找出PLC的槽號。
圖7 連接設置
選擇"數據傳輸"標記,并單擊"新傳輸"按鈕,進行配置:選擇是讀取數據還是寫入數據,填寫通訊數據的字節(jié)個數,填寫發(fā)送數據區(qū)和接收數據區(qū)的起始地址。
本例中為從S7-300的MB200開始讀取8個字節(jié)到VB1000開始的8個字節(jié)的區(qū)域中;從S7-200的VB2000開始的8個字節(jié)寫到S7-300的QB0開始的8個字節(jié)的區(qū)域中,點擊確認按鈕:
注意: 本地PLC中的地址必須是V內存字節(jié)地址,遠程對象中的地址必須代表字節(jié)地址。當您為S7-300/ S7-400設備輸入遠程地址時,若是數據塊請使用DBx.DBBy格式。
圖8 數據區(qū)域設置
選擇CRC校驗,使用缺省的時間間隔30秒,點擊下一步按鈕。
圖9 使用CRC
填寫模塊所占用的V存儲區(qū)的起始地址。你也可以通過“建議地址”按鈕來獲得系統(tǒng)建議的V存儲區(qū)的起始地址, 點擊下一步按鈕。
圖10 配置存儲區(qū)
S7-200 CPU 編程通信
完成以太網向導配置后需要在程序中調用以太網向導所生成的ETHx_CTRL和ETH0_XFR, 然后,將整個項目下載到作客戶端的S7-200 CPU上。
1. 調用向導生成的子程序,實現數據傳輸
對于S7-200的同一個連接的多個數據傳輸,不能同時激活,必須分時調用。下面的程序就是用前一個數據傳輸的完成位去激活下一個數據傳輸,如圖11.圖12.圖13. 所示
圖11 S7-200程序段1
圖12 S7-200程序段2
圖13 S7-200程序段3