西門子模塊6ES7 214-1AG40-0XB0現貨供應
西門子模塊6ES7 214-1AG40-0XB0
⑤ 調用“TRCV"通信指令并配置塊參數如圖6 47所示。
因為與發送使用的是同一連接,所以使用的是不帶連接的發送指令“TRCV",連接“ID"使用的也是“TSEND_C"中的“Connection ID"號,如圖4所示。
圖4 配置 T_RCV 塊參數
2.2 S7-300 CPU 的ISO on TCP通信的組態編程
① 使用STEP 7 軟件新建一個項目并進行硬件組態
創建完新項目,在項目的窗口下,右鍵菜單里,選擇“Insert New Object">“SIMATIC 300 Station" ,插入一個S7-300 站。
為了編程方便,我們使用時鐘脈沖激活通信任務,在CPU的“Properties">“Cycle/Clock Memory"中設置,如圖5所示。
圖5 設置時鐘脈沖
每一個時鐘位都按照不同的周期/頻率在0和1之間切換變化,見表1。
② 配置以太網模塊
進入“HW Config"中,組態所使用的 CPU 及“CP343-1"模板。并新建以態網 Ethernet (1) ,配置“CP343-1"模板IP 地址為:192.168.0.2,子網掩碼為: 255.255.255.0 。如圖6所示。配置完硬件組態及屬性,編譯存盤并下載所有硬件組態。
圖6 S7-300 硬件配置
③ 網絡組態
打開 “NetPro" 配置網絡,選中 CPU,在連接列表里建立新的連接并選擇連接對象和通信協議,如圖7所示。
圖7 創建新的連接并選擇 ISO-on-TCP 協議
這時會跳出通用信息,如圖8所示。
圖8 通用信息
然后,進入“Addresses"配置通信雙方的IP 地址及TSAP 地址,如圖9所示。
圖9 配置通信的IP 地址及TSAP 地址
配置完連接并編譯存盤后,將網絡組態下載到CPU300中。
④ 軟件編程
在OB1中,從“Libraries">“SIMATIC_NET_CP">“CP300"下,調用FC5(AG_SEND)、FC6(AG_RECV)通信指令。創建接收數據區為 DB2,定義成100個字節的數組。
CALL “ AG_RECV" //調用FC6
ID :=1 // 連接號,要與連接配置列表中一致,見圖8
LADDR :=W#16#100 //CP的地址,要與配置中一致,見圖8
RECV :=P#DB2.DBX 0.0 BYTE 100 //接收數據區
NDR :=M10.0 //為1時,接收到新數據
ERROR :=M10.1 //為1時,有故障發生
STATUS :=MW12 //狀態代碼
LEN :=MW14 //接收到的實際數據長度
CALL “AG_SEND" //調用FC5
ACT :=M0.2 //為1時,激活發送任務
ID :=1 // 連接號,要與連接配置中一致
LADDR :=W#16#100 //CP的地址,要與配置中一致
SEND :=IB0 //發送數據區
LEN :=1 //發送數據的長度
DONE :=M10.2 //為1時,發送完成
ERROR :=M10.3 //為1時,有故障發生
STATUS :=MW16 //狀態代碼
2.3 監控通信結果
下載S7-1200和S7-300中的所有組態及程序,監控通信結果,如圖10、圖11所示。
在S7-1200 CPU中向DB3中寫入數據:“11"、“22"、“33",則在S7-300中的DB2塊收到數據也為“11"、“22"、“33"。
在S7-300 CPU中,將“2#1111_1111"寫入IB0,則在S7-1200 CPU中QB0中收到的數據也為“2#1111_1111"。
圖10 S7-1200監控表
圖11 S7-300 變量表
3. TCP 通信
使用TCP 協議通信,除了連接參數的定義不同,通信雙方的其它組態及編程與前面的ISO on TCP 協議通信相同。
S7-1200 CPU中,使用 TCP 協議與S7-300通信時,PLC_1的連接參數,如圖12所示。通信伙伴 S7-300 的連接參數,如圖13所示。
圖12 S7-1200 的TCP連接參數的配置
圖13 S7-300 的TCP連接參數的配置