S7-1200 PLC之間透過Ethernet通訊(三)

5.4 在OB1中呼叫接收指令TRCV_C並配置基本引數

為了實現PLC_1接收來自PLC_2的資料,則在PLC_1中呼叫接收指令TRCV_C並配置基本引數。

接收資料與傳送資料使用同一連線,所以使用不帶連線管理的TRCV_C指令,如圖1-1所示。

S7-1200 PLC之間透過Ethernet通訊(三)

圖1-1 呼叫TRCV_C指令並配置介面引數

引數說明如下所述:

輸入介面引數

EN_R:=TRUE //準備好接收資料

CONT:=TRUE //建立通訊連線並在接收資料後保持該連線

LEN:=1 //接收資料長度為1位元組

CONNECT:=“PLC_1_Receive_DB” //指向連線描述的指標

DATA:=QB0 //接收資料區的符號地址

COM_RST:=“TRCV_Rst” ////為1時,完全重啟通訊塊,現存的連線會中斷

輸出介面引數

DONE:=“TSENDC_Done” //任務執行完成並且沒有錯誤,該位置1

BUSY:=“TSENDC_Busy” //該位為1,代表任務未完成,不能啟用新任務

ERROR:=“TSENDC_Error” //通訊過程中有錯誤發生,該位置1

STATUS:=“TSENDC_Status” //有錯誤發生時,會顯示錯位資訊號

RCVD_LEN:=“TRCV_Len” //實際接收資料的位元組數

6 在PLC_2中呼叫並配置TRCV_C通訊指令

參照5。4對TRCV_C指令引數進行設定,如圖1-2及1-3所示。

S7-1200 PLC之間透過Ethernet通訊(三)

圖1-2 TRCV_C的連線引數配置

S7-1200 PLC之間透過Ethernet通訊(三)

圖1-3 TRCV_C塊引數配置

PLC_2將資料MB100傳送到PLC_1的輸出QB0中,則在PLC_2中呼叫傳送指令並配置塊引數,傳送指令與接收指令使用同一連線,所以使用不帶連線的傳送指令TSEND,如圖1-4所示。

S7-1200 PLC之間透過Ethernet通訊(三)

圖1-4 呼叫TSEND指令並配置塊介面引數

7 下載硬體組態及程式並監控通訊結果

下載兩個CPU中的左右硬體組態及程式,從監控表中可以看到,PLC_1的TSEND_C指令傳送資料,則PLC_2中就接收到對應的資料。同理,PLC_2傳送資料MB100,則PLC_1接收到對應的資料。