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