電子開發(fā)網(wǎng)

電子開發(fā)網(wǎng)電子設(shè)計(jì) | 電子開發(fā)網(wǎng)Rss 2.0 會(huì)員中心 會(huì)員注冊(cè)
搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 電子開發(fā) >> 梯形圖實(shí)例 >> 正文

深度剖析西門子PLC的開放式TCP通信梯形圖 TCP通訊

作者:佚名    文章來源:本站原創(chuàng)    點(diǎn)擊數(shù):    更新時(shí)間:2022-10-22

對(duì)于自控或電氣工程師來說,西門子PLC是每個(gè)人都非常熟悉的一款PLC品牌;而對(duì)于上位機(jī)開發(fā)工程師來說,Socket通信或TCP/IP協(xié)議也是必須要掌握的一種通信方式。剛好手頭有一款西門子的200Smart PLC,可以利用它來跟大家聊聊Socket通信的那些事兒。

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

 

 

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

眾所周知,對(duì)于Socket通信來說,是可以支持TCP、UDP等多種通信方式,但是今天在這里,我們主要針對(duì)TCP這種通信方式。除此以外,大家都知道,Socket會(huì)存在服務(wù)器和客戶端的說法,也就意味著,同樣是使用Socket通信,我們?nèi)匀恍枰_定到底PLC是作為服務(wù)器還是作為客戶端,因?yàn)椴还軐?duì)于PLC編程或者上位機(jī)開發(fā)來說,這兩種方式都是完全不同的,下面做具體介紹。

一、PLC作為TCP服務(wù)器的實(shí)戰(zhàn)應(yīng)用 

(1)PLC編程

1.1   創(chuàng)建一個(gè)TCPServer的子程序,拖拽一個(gè)TCP_CONNECT的庫(kù)指令,對(duì)于該指令的每個(gè)引腳對(duì)應(yīng)的含義,大家可以按下F1直接獲取在線幫助,程序段1編寫如下圖所示: 

 

1.2  拖拽一個(gè)TCP_SEND的庫(kù)指令,對(duì)于該指令的每個(gè)引腳填寫,ConnID為1,Req為觸發(fā)條件,必須為沿信號(hào),這里為了方便,直接使用1秒的脈沖信號(hào),DataLen及DataPtr為發(fā)送的起始字節(jié)指針及發(fā)送的字節(jié)長(zhǎng)度,程序段2如下圖所示:

 

1.3  拖拽一個(gè)TCP_RECV的庫(kù)指令,對(duì)于該指令的每個(gè)引腳填寫,ConnID統(tǒng)一為1,MaxLen為接收的最大程度,DataPtr表示接收字節(jié)存放的起始位置,程序段3如下圖所示:

 

1.4  最后需要編譯,編譯會(huì)提示需要給庫(kù)分配地址,點(diǎn)擊文件下的存儲(chǔ)器,給該庫(kù)分配地址即可,然后在MAIN主程序中調(diào)用TCPServer這個(gè)子程序,并下載到PLC中,PLC編程部分結(jié)束。

 

(2)TCP調(diào)試助手測(cè)試

如果PLC程序編寫沒問題,打開一個(gè)網(wǎng)絡(luò)調(diào)試助手,輸入對(duì)應(yīng)的IP地址及端口號(hào),即可連接上服務(wù)器。

連接服務(wù)器后,PLC端會(huì)自動(dòng)每隔一秒發(fā)送200個(gè)字節(jié)數(shù)據(jù)過來,這200個(gè)字節(jié)即對(duì)應(yīng)VB100-VB299的值。

 

(3)上位機(jī)客戶端軟件開發(fā)

 

通過與編程軟件的狀態(tài)圖表進(jìn)行對(duì)照,可以實(shí)時(shí)讀取PLC數(shù)據(jù),并隨時(shí)設(shè)置相應(yīng)的數(shù)值。

 

二、PLC作為TCP客戶端的實(shí)戰(zhàn)應(yīng)用 

(1) PLC編程

1.1   創(chuàng)建一個(gè)TCPClient的子程序,拖拽一個(gè)TCP_CONNECT的庫(kù)指令,與服務(wù)器程序不同的是,這里需要把Active設(shè)置為ON,同時(shí)IP地址和端口號(hào)需要根據(jù)上位機(jī)實(shí)際情況填寫,程序段1編寫如下圖所示:

 

1.2   拖拽一個(gè)TCP_SEND的庫(kù)指令,對(duì)于該指令的每個(gè)引腳填寫,ConnID為2,Req為觸發(fā)條件,必須為沿信號(hào),這里為了方便,直接使用1秒的脈沖信號(hào),DataLen及DataPtr為發(fā)送的起始字節(jié)指針及發(fā)送的字節(jié)長(zhǎng)度,程序段2如下圖所示:

 

1.3  拖拽一個(gè)TCP_RECV的庫(kù)指令,對(duì)于該指令的每個(gè)引腳填寫,ConnID統(tǒng)一為2,MaxLen為接收的最大程度,DataPtr表示接收字節(jié)存放的起始位置,程序段3如下圖所示:

 

1.4   最后需要編譯,如果已經(jīng)編寫過服務(wù)器程序,這里就不需要分配地址了,直接在MAIN主程序中調(diào)用TCPClient這個(gè)子程序,并下載到PLC中,PLC編程部分結(jié)束。

(2)TCP調(diào)試助手測(cè)試

如果PLC程序編寫沒問題,打開一個(gè)網(wǎng)絡(luò)調(diào)試助手,設(shè)置模式為TCP Server,輸入端口號(hào)為2000,即可開啟服務(wù)器。

服務(wù)器開啟后,PLC端會(huì)自動(dòng)連接服務(wù)器,并且每隔一秒發(fā)送100個(gè)字節(jié)數(shù)據(jù)過來,這100個(gè)字節(jié)即對(duì)應(yīng)VB500-VB599的值。

 

(3) 上位機(jī)服務(wù)器軟件開發(fā)

 

通過與狀態(tài)圖表進(jìn)行對(duì)比,驗(yàn)證可以正常讀取和寫入PLC數(shù)據(jù)。

三、整體總結(jié)

后續(xù)通過進(jìn)一步測(cè)試,驗(yàn)證PLC可以同時(shí)作為服務(wù)器和客戶端與上位機(jī)進(jìn)行通信。

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

Tags:西門子PLC,TCP,通訊,梯形圖  
責(zé)任編輯:admin
相關(guān)文章列表
西門子PLC模擬實(shí)現(xiàn)自動(dòng)售賣機(jī)案例,售貨機(jī)梯形圖實(shí)例
理解西門子PLC間接尋址和指針梯形圖實(shí)例,S7-200SMART
觸摸屏與PLC之間無線通訊步驟詳解,PLC與觸摸屏通訊
西門子S7-200通訊控制臺(tái)達(dá)變頻器,實(shí)例講解Modbus RTU通訊
modbus協(xié)議詳解_西門子S7-200與變頻器MODBUS通訊實(shí)例詳解
西門子plc梯形圖編程實(shí)例 西門子200smart與電流表Modbus RTU通訊
使用西門子plc的Modbus通訊 串口調(diào)試助手與S7-200SMART PLC從站通
西門子PLC串口通訊方法 RS485 串口通訊
西門子plc梯形圖實(shí)例S7-200Smart與ABB ACS550變頻器通訊Modbus通
西門子S7-200PLC ModbusTCP通訊,ModScan32使用
Modbus通訊簡(jiǎn)單測(cè)試—Modscan32使用簡(jiǎn)介
Modbus Scan32模擬軟件使用,Modscan32使用教程
西門子plc s7-200通訊設(shè)置(西門子plc200與電腦通訊怎么設(shè)置)STEP
西門子S7-200PLC中,如何將大于32767的整數(shù)轉(zhuǎn)換成正實(shí)數(shù)?VD、VW
西門子plc S7-200系列中斷指令第二部分 ENI和DISI指令
西門子plc置位與復(fù)位指令的功能說明
西門子plc與modbus設(shè)備進(jìn)485通信詳解(modbus多機(jī)輪詢)讀取儀表
寄存器PLC地址與寄存器modbus協(xié)議地址 三菱FX系列西門子s7系列pl
西門子PLC S7-200smart與匯川變頻器通過通訊控制 梯形圖實(shí)例
西門子PLC梯形圖編程 控制汽車自動(dòng)清洗裝置
西門子PLC S7-200 實(shí)數(shù)運(yùn)算指令的應(yīng)用的指令表及梯形圖 除法
西門子plc S7-200系列PLC整數(shù)乘除法指令的格式及使用
西門子plc梯形圖實(shí)例 S7-200系列PLC轉(zhuǎn)換指令練習(xí)實(shí)例 整數(shù)實(shí)數(shù)轉(zhuǎn)
西門子plc梯形圖實(shí)例 MOV指令數(shù)據(jù)傳送
西門子plc S7-200系列梯形圖實(shí)例:電機(jī)多段定時(shí)啟動(dòng)功能 READ_RT
西門子plc梯形圖實(shí)例S7-200系列PLC增減計(jì)數(shù)指令入門 CTUD增減計(jì)數(shù)
西門子PLC試題5:小車往復(fù)運(yùn)動(dòng)控制系統(tǒng)梯形圖實(shí)例
西門子plc比較指令的實(shí)例代碼梯形圖實(shí)例,計(jì)數(shù)器CTUD和比較指令
西門子plc實(shí)現(xiàn)8個(gè)彩燈移位控制的代碼梯形圖實(shí)例MOV_B,ROL_B,ROR_
西門子plc s7-200系列梯形圖實(shí)例:設(shè)置時(shí)鐘指令 SET_RTC和MOV_B
請(qǐng)文明參與討論,禁止漫罵攻擊,不要惡意評(píng)論、違禁詞語(yǔ)。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個(gè)字
[ 查看全部 ] 網(wǎng)友評(píng)論
推薦文章
最新推薦
關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁(yè)面
下到頁(yè)底
晶體管查詢
欧美第一页浮力影院| 日本午夜免费福利视频| 亚洲成av人片在线观看无码| 欧美大尺度电影| 亚洲激情视频图片| 欧美亚洲另类视频| 亚洲影视一区二区| 最近中文字幕免费4| 乳揉みま痴汉电车动漫中文字幕| 日本高清护士xxxxx| 久久夜色撩人精品国产| 成年美女黄网站色大片免费看| 中日韩精品视频在线观看| 少妇丰满大乳被男人揉捏视频 | 龙珠全彩里番acg同人本子 | japanesehd日本护士色| 在总受文里抢主角攻np| 99久久精品久久久久久清纯| 国产精品永久免费视频| 2018中文字幕第一页| 国产无遮挡又黄又爽在线观看| 青草影院内射中出高潮| 国产在线a不卡免费视频| 色多网站免费视频| 国产91精品不卡在线| 精品三级内地国产在线观看| 免费精品99久久国产综合精品 | 兴奋的阅读td全集视频| 波多野结衣69| 亚洲欧美一区二区三区日产| 日韩精品免费一区二区三区| 久久精品国产一区二区三区 | 久久高清内射无套| 把她抵在洗手台挺进撞击视频| 中文在线天堂网www| 在线观看视频99| 84pao强力打造| 国产大片黄在线观看| 精品国产午夜福利在线观看| 免费啪啪小视频| 欧美性视频18~19|