商鋪名稱:廣州三合自動化設備有限公司
聯系人:馬杰(先生)
聯系手機:
固定電話:
企業郵箱:2849382866@qq.com
聯系地址:廣州市南沙區欖核鎮數碼花園1座201室
郵編:511480
聯系我時,請說是在線纜網上看到的,謝謝!
描述:
集成 PROFINET 口的 CPU 和 WinAC RTX ,支持開放式 IE 通信。
關于集成 PROFINET 口的 CPU 和 WinAC RTX 所支持的通信服務總覽,請參見條目18909487 。此總覽包含有關集成 PROFINET 口的 CPU 和 WinAC RTX 所支持的開放式 IE 通信協議的信息。
下列通信塊可以用于基于 TCP 協議的開放式通信:供應西門子840e cnc-software 12-5 PC卡軟件
這些通信塊可以在 Standard Library -> Communication Blocks 下找到。
從標準庫中拷貝最新版本的上述通訊塊到用戶程序中,然后再編寫程序中調用它們。
建立 TCP 連接的連接參數保存在一個數據結構中。
本例中,用到 UDT65 "TCON_PAR" 這個數據結構,保存在DB1中并由用戶參數化。 注意
字節 | 參數 | 數據類型 | 描述 |
0 to 1 | block_length | WORD | "OUCW_2" 數據結構長度 |
2 to 3 | id | BYTE |
連接標識 值范圍: w#16#0001 至 w#16#0FFF 必須在相關塊ID中指定該參數。 |
4 | connection_type | BYTE | TCP 協議版本: B#16#11 |
5 | active_est | BOOLEAN |
建立連接標識
|
6 | local_device_id | BYTE | 通過CPU 315-2 PN/DP集成PN接口通信:B#16#02 |
7 | local_tsap_id_len | BYTE |
local_tsap_id 長度 connection_type = B#16#11時可行值:0或2 (主動端:0或2,被動端:2) |
8 | rem_subnet_id_len | BYTE | 當前不可用,參數值B#16#00 |
9 | rem_staddr_len | BYTE |
遠程連接端點地址長度
|
10 | rem_tsap_id_len | BYTE |
rem_tsap_id parameter參數 connection_type = B#16#11時的可行值:0或2 |
11 | next_staddr | BYTE | next_staddr 長度 |
12 to 27 | local_tsap_id | ARRAY [1..16] of BYTE |
本地端口號:2000,例如 local_tsap_id[1] = B#16#7 (十六進制端口號高字節) local_tsap_id[2] = B#16#D0 (十六進制端口號低字節) local_tsap_id[3-16] = B#16#00 |
28 to 33 | rem_subnet_id | ARRAY [1..6] of BYTE | 當前不可用,參數值B#16#00供應西門子840e cnc-software 12-5 PC卡軟件 |
34 to 39 | rem_staddr | ARRAY [1..6] of BYTE |
遠程連接端點IP地址: 192.168.0.30 rem_staddr[1] = B#16#C0 rem_staddr[2] = B#16#A8 rem_staddr[3] = B#16#00 rem_staddr[4] = B#16#1E rem_staddr[5-6] = B#00(保留) |
40 to 55 | rem_tsap id | ARRAY [1..16] of BYTE |
遠程連接端點端口號: 2000,例如 local_tsap_id[1] = B#16#7 (十六進制端口號高字節) local_tsap_id[2] = B#16#D0 (十六進制端口號低字節) local_tsap_id[3-16] = B#16#00 |
56 to 61 | next_staddr | ARRAY [1..6] of BYTE | next_staddr[1-6] = B#16#00 |
62-63 | spare | WORD | 保留,值W#16#0000. |
例程描述:
S7 程序中包含了對 FB65 "TCON" 的調用和帶有建立 TCP 連接的連接參數數據結構"OUCW_2" 創建的DB1 。也包含了來自于 Standard Library -> Communication Blocks 下的 FB63 "TSEND" 和 FB64 "TRCV" 的調用。 FB63 "TSEND" 用于發送數據到 S7 站或 S5 站,以及到 PC 站或到第三方系統. FB64 "TRCV" 用于接收來自其他 S7 站,S5 站,PC 站和第三方系統的數據。
首先為 S7-300 站創建硬件組態。注意配置 MB100 作為時鐘存儲器。 發送請求由該時鐘存儲器觸發。保存編譯 S7-300 站的硬件組態,下載到 CPU。
STEP 7 程序由 OB100,OB1,FB1, DB11,DB1,DB100,DB200 , FB63,FB64,FB65 和 FB66。
OB100:供應西門子840e cnc-software 12-5 PC卡軟件
OB100 是重啟 OB 塊,當 CPU 重新啟動時 (暖啟動) 執行一次.在 OB100 中,第一次通信由 M0.3 觸發。
OB1:
OB1 循環調用。 FB1 在 OB1 中被調用 (背景數據塊: DB11) , M0.3作為 INIT_COM 參數,M10.0作為ABORT參數。在 OB1 中調用 FB1結束后, 復位M0.3。供應西門子840e cnc-software 12-5 PC卡軟件
圖. 01
FB1:
在 OB1 中調用 FB1。該 FB1 中調用以下功能塊:
圖. 02 連接建立
通過 FB65"TCON" 的輸入參數 "REQ" 的上升沿觸發來建立連接。數據塊DB11 的背景數據塊中集成了帶有連接參數的數據結構 "OUCW_2"。
FB65 "TCON" 的輸入參數 "CONNECT" 需要指定一個含有連接參數的存儲區。
在系統啟動時連接建立并保持,直到調用 FB66 "TDISCON" 來斷開連接,或讓CPU 進入停止模式或關閉電源來斷開連接。
圖. 03
在 "FB63 "TSEND" 的輸入參數 "REQ" 上施加上升沿以觸發發送請求。發送任務的觸發是由時鐘標志 M100.6 和變量 "SEND_BUSY" 來控制的。如果發送任務運行, "C1.SEND_BUSY" 則被置位,無法再觸發新的發送請求。
可以為輸入參數 "DATA" 指定包含要發送數據的存儲區。
并在輸入參數 "LEN" 填寫要發送的字節數。
本例中發送數據保存在DB100中,向通信伙伴發送100個字節。
輸出參數 "DONE", "ERROR" 和 "STATUS" 用于任務評價。
圖. 04
如果發送任務成功完成, "SEND_BUSY" 被復位。這時新的發送任務才可以被觸發。
如果發送任務執行出錯,那么 "SEND_BUSY" 變量同樣被復位,FB63 的輸出參數 "STATUS" 的值被保存用于錯誤分析。
圖. 05