国产人妖视频一区二区

<video id="7bxrj"><i id="7bxrj"><font id="7bxrj"></font></i></video><dl id="7bxrj"></dl><dl id="7bxrj"></dl>
<video id="7bxrj"><i id="7bxrj"></i></video>
<noframes id="7bxrj"><dl id="7bxrj"></dl>
<dl id="7bxrj"><delect id="7bxrj"><font id="7bxrj"></font></delect></dl>
<dl id="7bxrj"></dl>
<dl id="7bxrj"></dl><video id="7bxrj"><i id="7bxrj"></i></video>
<dl id="7bxrj"><delect id="7bxrj"></delect></dl>
<noframes id="7bxrj"><dl id="7bxrj"><delect id="7bxrj"></delect></dl><video id="7bxrj"><dl id="7bxrj"><i id="7bxrj"></i></dl></video>
<video id="7bxrj"><dl id="7bxrj"><font id="7bxrj"></font></dl></video><video id="7bxrj"><dl id="7bxrj"><delect id="7bxrj"></delect></dl></video>
<video id="7bxrj"><dl id="7bxrj"><i id="7bxrj"></i></dl></video><video id="7bxrj"><dl id="7bxrj"><font id="7bxrj"></font></dl></video>
<video id="7bxrj"><i id="7bxrj"><delect id="7bxrj"></delect></i></video>
<video id="7bxrj"><i id="7bxrj"><i id="7bxrj"></i></i></video><video id="7bxrj"></video><dl id="7bxrj"><i id="7bxrj"></i></dl>
設為首頁收藏本站 開啟輔助訪問
 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

PLC控制柜_鍋爐控制_鍋爐控制柜_鍋爐控制箱_武漢華博奧通電氣有限公司

搜索
不斷以卓越的產品和服務滿足用戶需求
Continue with excellent products and services to meet customer needs
查看內容

西門子smart200 PLC的開放式TCP/UDP通信

2020-6-3 09:20| 發布者: admin| 查看: 385| 評論: 0

對于自動化控制或電氣工程師來說,西門子PLC是每個人都非常熟悉的一款PLC品牌;而對于上位機開發工程師來說,Socket通信或TCP/IP協議也是必須要掌握的一種通信方式。今天跟大家聊聊Socket通信的那些事兒。

相比較而言,西門子PLC對Socket通信的支持性是很不錯的。如果你在使用西門子軟件或者逛西門子論壇時,發現一個詞叫做Open User Communication或開放式通信,沒錯,那其實就是我們說的Socket通信方式。關于這一點,我們可以從以下兩張圖中看出,分別為S7-200Smart編程軟件Micro/Win Smart V2.5及博途TIA V15.1編程軟件中關于通信庫的部分截圖:

基于200smart 的通訊庫

基于 TIA 通訊庫

我們可以看到無論是西門子的中高端PLC還是低端PLC,都是支持開放式TCP/UDP通信的,既然都支持,我們來看下如何實現。

眾所周知,對于Socket通信來說,是可以支持TCP、UDP等多種通信方式,但是今天在這里,我們主要針對TCP這種通信方式。除此以外,大家都知道,Socket會存在服務器和客戶端的說法,也就意味著,同樣是使用Socket通信,我們仍然需要確定到底PLC是作為服務器還是作為客戶端,因為不管對于PLC編程或者上位機開發來說,這兩種方式都是完全不同的,下面做具體介紹。

一、PLC作為TCP服務器的實戰應用

(1) PLC編程

1.1創建一個TCPServer的子程序,拖拽一個TCP_CONNECT的庫指令,對于該指令的每個引腳對應的含義,大家可以按下F1直接獲取在線幫助,程序段1編寫如下圖所示:

1.2 拖拽一個TCP_SEND的庫指令,對于該指令的每個引腳填寫,ConnID為1,Req為觸發條件,必須為沿信號,這里為了方便,直接使用1秒的脈沖信號,DataLen及DataPtr為發送的起始字節指針及發送的字節長度,程序段2如下圖所示:

1.3 拖拽一個TCP_RECV的庫指令,對于該指令的每個引腳填寫,ConnID統一為1,MaxLen為接受的最大程度,DataPtr表示接收字節存放的起始位置,程序段3如下圖所示:

1.4 最后需要編譯,編譯會提示需要給庫分配地址,點擊文件下的存儲器,給該庫分配地址即可,然后在MAIN主程序中調用TCPServer這個子程序,并下載到PLC中,PLC編程部分結束。

(2)TCP調試助手測試

如果PLC程序編寫沒問題,打開一個網絡調試助手,輸入對應的IP地址及端口號,即可連接上服務器。

連接服務器后,PLC端會自動每隔一秒發送200個字節數據過來,這200個字節即對應VB100-VB299的值。

(3)上位機客戶端軟件開發

通過與編程軟件的狀態圖標進行對照,可以實時讀取PLC數據,并隨時設置相應的數值。

二、PLC作為TCP客戶端的實戰應用

1.1 創建一個TCPClient的子程序,拖拽一個TCP_CONNECT的庫指令,與服務器程序不同的是,這里需要把Active設置為ON,同時IP地址和端口號需要根據上位機實際情況填寫,程序段1編寫如下圖所示:

1.2 拖拽一個TCP_SEND的庫指令,對于該指令的每個引腳填寫,ConnID為2,Req為觸發條件,必須為沿信號,這里為了方便,直接使用1秒的脈沖信號,DataLen及DataPtr為發送的起始字節指針及發送的字節長度,程序段2如下圖所示:

1.3 拖拽一個TCP_RECV的庫指令,對于該指令的每個引腳填寫,ConnID統一為2,MaxLen為接受的最大程度,DataPtr表示接收字節存放的起始位置,程序段3如下圖所示:

1.4 最后需要編譯,如果已經編寫過服務器程序,這里就不需要分配地址了,直接在MAIN主程序中調用TCPClient這個子程序,并下載到PLC中,PLC編程部分結束。

如果PLC程序編寫沒問題,打開一個網絡調試助手,設置模式為TCP Server,輸入端口號為2000,即可開啟服務器。

服務器開啟后,PLC端會自動連接服務器,并且每隔一秒發送100個字節數據過來,這100個字節即對應VB500-VB599的值。

(3)上位機服務器軟件開發

通過與狀態圖標進行對比,驗證可以正常讀取和寫入PLC數據。

三、整體總結

后續通過進一步測試,驗證PLC可以同時作為服務器和客戶端與上位機進行通信。

本次主要針對西門子PLC的開放式TCP通信作了較為詳細地闡述,由于篇幅有限,無法將上位機部分的具體編程代碼進行分析。

內容頁面Content

Copyright © 2014 Powered by Discuz! X3.2 技術支持:周末設計 ( 鄂ICP備15008373號 )

中國 · 武漢 · 東湖技術開發區 · 高新大道999號      服務熱線:(0)159-2764-2882

    QQ

 
QQ在線咨詢
售前咨詢熱線
(0)15927642882
售后服務熱線
(0)13387521355
返回頂部
国产人妖视频一区二区
<video id="7bxrj"><i id="7bxrj"><font id="7bxrj"></font></i></video><dl id="7bxrj"></dl><dl id="7bxrj"></dl>
<video id="7bxrj"><i id="7bxrj"></i></video>
<noframes id="7bxrj"><dl id="7bxrj"></dl>
<dl id="7bxrj"><delect id="7bxrj"><font id="7bxrj"></font></delect></dl>
<dl id="7bxrj"></dl>
<dl id="7bxrj"></dl><video id="7bxrj"><i id="7bxrj"></i></video>
<dl id="7bxrj"><delect id="7bxrj"></delect></dl>
<noframes id="7bxrj"><dl id="7bxrj"><delect id="7bxrj"></delect></dl><video id="7bxrj"><dl id="7bxrj"><i id="7bxrj"></i></dl></video>
<video id="7bxrj"><dl id="7bxrj"><font id="7bxrj"></font></dl></video><video id="7bxrj"><dl id="7bxrj"><delect id="7bxrj"></delect></dl></video>
<video id="7bxrj"><dl id="7bxrj"><i id="7bxrj"></i></dl></video><video id="7bxrj"><dl id="7bxrj"><font id="7bxrj"></font></dl></video>
<video id="7bxrj"><i id="7bxrj"><delect id="7bxrj"></delect></i></video>
<video id="7bxrj"><i id="7bxrj"><i id="7bxrj"></i></i></video><video id="7bxrj"></video><dl id="7bxrj"><i id="7bxrj"></i></dl>