ISO on TCP通信概述
ISO-on-TCP是一種使用RFC 1006的擴展協議。ISO-on-TCP的主要優點是數據有一個明確的結束標志,可以知道何時接收到了整條消息。
S7協議(Put/Get)使用了ISO-on-TCP協議。而ISO-on-TCP僅使用102端口,并利用TSAP(Transport Service Access Point)傳輸服務訪問點將消息路由至適當接收方(而非TCP中的某個端口)。
S7-200 SMART之間的ISO-on-TCP通訊,可以通過兩邊調用OUC(開放式用戶通信)庫指令中的ISO_CONNECT、TCP_SEND、TCP_RECV、DISCONNECT指令來實現。
安裝軟件后,這些指令位于軟件項目樹中指令-庫-Open User Communication文件夾中,通過開放式用戶通信庫指令,可以幫助客戶快速便捷的實現設備間的ISO on TCP通信。
開放式用戶通信庫指令
創建連接ISO_CONNECT指令
EN:使能參數,一般使用SM0.0保證每個掃描周期都能開啟。
Req:請求通信參數,置位時表示啟動連接操作,主動連接一般使用沿觸發,被動連接一般使用電平觸發。
Active:1=主動連接(客戶端);0=被動連接(服務器)。
ConnID:連接ID,為其他指令標識該連接,可能范圍為0-65534。
IPAddr1-4:IP地址的從高到低四個字節。
RemTsap:遠程TSAP字符串,程序使用指針來傳遞字符串。
LocTsap:本地TSAP字符串,程序使用指針來傳遞字符串。
Done:當連接操作完成且沒有錯誤時,該位置位輸出。
Busy:當連接操作正在進行時,該位置位輸出。
Error:當連接操作完成但發生錯誤時,該位置位輸出。
Status:如果指令置位Error輸出,Status輸出會顯示錯誤代碼;如果指令置位Busy或Done輸出,Status為零(錯誤代碼詳見系統手冊)。
終止現有連接DISCONNECT指令
EN:使能參數,一般使用SM0.0保證每個掃描周期都能開啟。
Req:請求斷開參數,置位時表示啟動斷開連接操作,一般使用沿觸發。
Conn_ID:CPU使用連接ID(ConnID)標識要終止的連接。
Done:當斷開連接操作完成且沒有錯誤時,該位置位輸出。
Busy:當斷開連接操作正在進行時,該位置位輸出。
Error:當斷開連接操作完成但發生錯誤時,該位置位輸出。
Status:如果指令置位Error輸出,Status輸出會顯示錯誤代碼;如果指令置位Busy或Done輸出,Status為零(錯誤代碼詳見系統手冊)。
請求發送TCP_SEND指令
EN:使能參數,一般使用SM0.0保證每個掃描周期都能開啟。
Conn_ID:是此接收操作所用連接的編號。
MaxLen:要接收的Zui大字節數(1到1024)。
DataPtr:是指向接收數據存儲位置的指針,如&VB100。
Done:當接收操作完成且沒有錯誤時,該位置位輸出。
Busy:當接收操作正在進行時,該位置位輸出。
Error:當接收操作完成但發生錯誤時,該位置位輸出。
Status:如果指令置位Error輸出,Status輸出會顯示錯誤代碼;如果指令置位Busy或Done輸出,Status為零(錯誤代碼詳見系統手冊)。
Length:實際接收的字節數。僅當指令置位Done或Error輸出時,Length才有效。Done輸出時,指令接收整條消息;Error位輸出時,則超出緩沖區大小的部分被截斷。
應用實例
通過開放式用戶通信庫指令,實現CPU之間的數據交換,其中客戶端IP地址為192.168.2.1,服務器IP地址為192.168.2.2,客戶端TSAP為“smart1”,服務器TSAP為“smart2”,ConnID設定為10,將服務器VB1000-VB1004中的數據讀取至客戶端VB100-VB104中,將客戶端中VB200-VB204的數據寫入服務器VB2000-VB2004。
客戶端程序:
服務器程序:
執行結果:
- 西門子S7-200SMART V2.7的“新技能”——超馳功能 2024-11-23
- 西門子S7-200SMART V2.7的新功能——運動軸組 2024-11-23
- 西門子S7-200SMART V2.7的新功能——路徑規劃 2024-11-23
- 西門子S7-200SMART V2.7的新功能——Web Editor 2024-11-23
- 西門子S7-200SMART PLC的TCP通信及應用 2024-11-23
- 西門子S7-200SMART PLC的UDP通信 2024-11-23
- 西門子S7-200SMART PLC高速計數器應用知多少? 2024-11-23
- 西門子S7-200SMART PLC的自由口通信 2024-11-23
- 西門子S7-200SMART如何作為智能設備與S7-1200通訊? 2024-11-23
- 如何玩轉西門子S7-200 SMART的整數運算指令 2024-11-23
- 西門子S7-200SMART PLC中如何應用邏輯運算指令 2024-11-23
- 西門子S7-200 SMART如何使用移位和循環移位指令 2024-11-23
- 西門子S7-200 SMART比較指令及其應用 2024-11-23
- 西門子S7-200SMART中如何使用傳送指令及其應用 2024-11-23
- 如何在西門子S7-200 SMART中使用轉換指令 2024-11-23
聯系方式
- 電 話:13510737515
- 聯系人:董海波
- 手 機:13185520415
- 微 信:13185520415