長(zhǎng)沙玥勵(lì) 西門子 6ES7231-0HF22-0XA0 技術(shù)參考
通過(guò)程序?qū)崿F(xiàn)CP243-1IP地址的修改,需要按照如下步驟進(jìn)行操作:
注意:
如 果 CRC 功能已經(jīng)關(guān)閉,系統(tǒng)只能通過(guò) S7-200 用戶程序?qū)ο到y(tǒng)進(jìn)行組態(tài)。 由于 CRC 校驗(yàn)關(guān)閉后的有意和無(wú)意修改,CP243-1 不能完全檢查組態(tài)數(shù)據(jù)的一致性,因此不能保證這種情況下連接到網(wǎng)絡(luò)中的 CP 或組件能夠正常運(yùn)行。由此造成的風(fēng)險(xiǎn)由客戶自己承擔(dān)。
S7-200 PLC本體沒(méi)有以太網(wǎng)口,需要通過(guò)以太網(wǎng)模塊CP243-1來(lái)擴(kuò)展以太網(wǎng)通信,且一個(gè)S7-200PLC只能擴(kuò)展一個(gè)CP243-1。CP243-1不是即插即用模塊,需要通過(guò)其他方式對(duì)S7-200下載一個(gè)包含以太網(wǎng)向?qū)У捻?xiàng)目文件才可以使用。
通過(guò)以太網(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 可以通過(guò) 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的以太網(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ū)聊唬|c(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è)置,通過(guò)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ū)的起始地址。你也可以通過(guò)“建議地址”按鈕來(lái)獲得系統(tǒng)建議的V存儲(chǔ)區(qū)的起始地址, 點(diǎn)擊下一步按鈕。
圖10 配置存儲(chǔ)區(qū)
完成以太網(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
如果通信未建立成功,可以對(duì)應(yīng)查詢子程序的錯(cuò)誤代碼。
本文講解一個(gè)實(shí)際的通信案例,S7-200組態(tài)為服務(wù)器端進(jìn)行S7通訊,S7-300和S7-400將主動(dòng)建立與S7-200的S7連接,S7-200將被動(dòng)響應(yīng)建立好的S7連接:
本例中, S7-200,S7-300 和 S7-400 各自用一個(gè)CPU 和一個(gè)通訊模板,其中CP243-1組態(tài)的第三、四個(gè)連接分別為服務(wù)器連接,與S7-300、S7-400進(jìn)行S7通訊。具體操作步驟如下:
本例中使用的硬件配置如下:
網(wǎng)絡(luò)組態(tài)概覽圖如下:
在本例中, S7-200, S7-300 和 S7-400的下列區(qū)域定義為發(fā)送和接收緩沖區(qū):
通過(guò)以太網(wǎng)向?qū)⒁蕴W(wǎng)模塊CP243-1配置為服務(wù)器,使用STEP 7 Micro/WIN中的向?qū)нM(jìn)行通信的配置即可。在命令菜單中選擇工具--以太網(wǎng)向?qū)А?
第一步是對(duì)以太網(wǎng)通信的描述,點(diǎn)擊下一步開始以太網(wǎng)配置。
在此處選擇模塊的位置,CPU后的第一個(gè)模塊位置為0,往后依次類推;或者點(diǎn)擊讀取模塊搜尋在線的CP243-1模塊(且將該模塊的命令字節(jié)載入模塊命令字節(jié)向?qū)聊唬|c(diǎn)擊下一步;
選擇模塊相匹配的MLFB版本,如下圖所示:
在此處填寫IP地址和子網(wǎng)掩碼。本例中將IP地址設(shè)置為:140.80.0.60,點(diǎn)擊下一步;
下面的對(duì)話框?qū)⒔M態(tài)CP243-1進(jìn)行S7連接的連接數(shù)量的設(shè)置。通過(guò)S7連接可以與通信伙伴進(jìn)行讀寫數(shù)據(jù)操作,點(diǎn)擊“下一步”按鈕繼續(xù)進(jìn)行S7連接組態(tài)。本例中CP243-1的第三、四個(gè)連接分別為服務(wù)器連接。
組態(tài)一個(gè)到S7-300的服務(wù)器連接:
本例中第三個(gè)S7連接將(S7-200)組態(tài)為服務(wù)器連接,帶CP343-1的S7-300站將作為客戶端用于服務(wù)器連接。 S7-200和S7-300的S7連接通過(guò)TSAP來(lái)定義。
注意:分別組態(tài)S7-200和S7-300時(shí),本地和遠(yuǎn)程的TSAP號(hào)是必須完全對(duì)應(yīng)的。通常本地TSAP是默認(rèn)的,所以在組態(tài)此步驟時(shí),需要兩邊確認(rèn)一下。
本地TSAP為12.00無(wú)法更改,遠(yuǎn)程TSAP設(shè)置為10.04(這是在STEP7網(wǎng)絡(luò)組態(tài)得到的參數(shù))。激活“接受所有連接請(qǐng)求”復(fù)選框,點(diǎn)擊“下一步”按鈕繼續(xù)組態(tài)。
組態(tài)一個(gè)到S7-400的服務(wù)器連接:
組態(tài)步驟同上,注意遠(yuǎn)程TSAP的確定,需要與STEP7軟件中網(wǎng)絡(luò)組態(tài)里的屬性設(shè)置保持一致。
選擇CRC校驗(yàn),使用缺省的時(shí)間間隔30秒,點(diǎn)擊下一步按鈕。
填寫模塊所占用的V存儲(chǔ)區(qū)的起始地址。你也可以通過(guò)建議地址按鈕來(lái)獲得系統(tǒng)建議的V存儲(chǔ)區(qū)的起始地址, 點(diǎn)擊下一步按鈕。
點(diǎn)擊”完成”按鈕完成以太網(wǎng)向?qū)гO(shè)置。
之后功能塊ETHx_CTRL 和 ETHx_XFR將被創(chuàng)建,必須在STEP 7-MicroWIN的主循環(huán)塊MAIN (OB1)中調(diào)用這些功能塊。
功能塊ETHx_CTRL 用于建立通訊。編寫圖中的通訊程序,保存組態(tài)并下載到S7-200 CPU上。
注意:功能塊ETHx_XFR 僅在用于客戶端進(jìn)行數(shù)據(jù)傳送時(shí)才被調(diào)用。
S7連接組態(tài)
本例中使用S7-300作為樣例建立S7連接,對(duì)于S7-400的組態(tài)步驟是一樣的。
在STEP7中打開S7-300項(xiàng)目文件,通過(guò)Options--Configure Network或者是相對(duì)應(yīng)的圖標(biāo)打開NetPro對(duì)話框。
在NetPro中選中S7-300站的CPU并通過(guò)菜單命令,Insert--New Connection添加一個(gè)新連接。
選擇連接伙伴為“unspecified”及連接類型為“S7 connection”。點(diǎn)擊“Apply”按鈕,之后S7連接的屬性對(duì)話框?qū)⒋蜷_。
由于S7連接是由S7-300創(chuàng)建,因此在S7連接的屬性對(duì)話框中須激活“Establish an active connection“復(fù)選框。輸入通信伙伴CP243-1的IP地址,之后點(diǎn)擊“Address Details”按鈕。
在“Address Details”對(duì)話框中,本地的TSAP通常選用默認(rèn),輸入通信伙伴的TSAP,本例中S7-200的TSAP為12.00。
注意:分別組態(tài)S7-200和S7-300時(shí),本地和遠(yuǎn)程的TSAP號(hào)是必須完全對(duì)應(yīng)的。通常本地TSAP是默認(rèn)的,所以在組態(tài)此步驟時(shí),需要兩邊確認(rèn)一下。
在NetPro中選中S7-300站,保存及編譯后下載到S7-300 中,此處注意需要下載網(wǎng)絡(luò)組態(tài)。
對(duì)于S7-400的組態(tài)步驟一樣,需要對(duì)應(yīng)本地TSAP及伙伴S7-200的TSAP (例子中為13.00)。
接下來(lái),在S7程序中調(diào)用功能塊,進(jìn)行編程。
需要在S7-300程序中,調(diào)用功能塊FB14 “GET” 和 FB15 “PUT”??梢栽赟tandard Library--Communication Blocks--Blocks下找到這些功能塊。
注意:
1. ID:為Netpro里組態(tài)S7連接屬性窗口中的Block bters-Local ID。
2.ADDR_1為伙伴PLC的數(shù)據(jù)區(qū)域,由于通信伙伴是S7-200的V區(qū),V區(qū)與S7-300的DB1地址相對(duì)應(yīng)。
3.RD_1為本地PLC的數(shù)據(jù)接收區(qū);SD_1為本地PLC的數(shù)據(jù)發(fā)送區(qū)。
如果通信無(wú)法建立,請(qǐng)查看“PUT”和“GET”指令的錯(cuò)誤代碼,STATUS僅在一個(gè)周期內(nèi)有效,需要在ERROR=1時(shí)捕捉錯(cuò)誤狀態(tài)。如下圖所示:
對(duì)于FB14 “GET” 和 FB15 “PUT”的輸入?yún)?shù)'ID",也可通過(guò)鼠標(biāo)右擊功能塊ID引腳,可以自動(dòng)插入本地ID連接。如下圖所示:
如果使用S7-400必須調(diào)用功能塊SFB14 “GET” 和 SFB15 “PUT”。可以在Standard Library--System Function Blocks--Blocks 找到這些功能塊.
S7-300中調(diào)用功能塊FB14 “GET” 和FB15 “PUT”的例子程序
可以通過(guò)以下ID號(hào)找到S7-300中調(diào)用功能塊FB14 “GET” 和 FB15 “PUT”的例子程序: 18610307。
S7-400中調(diào)用功能塊SFB14 “GET”和SFB15 “PUT”的例子程序
可以通過(guò)以下ID號(hào)找到S7-400中調(diào)用功能塊SFB14 “GET” 和 SFB15 “PUT”的例子程序:: 1819293。