国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于PROFINET協(xié)議實(shí)現(xiàn)工控機(jī)與S7-1200的遠(yuǎn)程通信

2019-09-25 13:22:14陳亮彭林任彥仰
關(guān)鍵詞:工控機(jī)

陳亮 彭林 任彥仰

摘要:PROFINET協(xié)議是新一代基于工業(yè)以太網(wǎng)技術(shù)的自動(dòng)化總線標(biāo)準(zhǔn),也是目前占主流地位的工業(yè)以太網(wǎng)標(biāo)準(zhǔn)之一,通過PROFINET協(xié)議可以方便地實(shí)現(xiàn)工業(yè)現(xiàn)場(chǎng)設(shè)備間的遠(yuǎn)程通信。本文采用S7.net開源庫實(shí)現(xiàn)了工控機(jī)與西門子S7-1200 PLC遠(yuǎn)程通信,給出了實(shí)現(xiàn)流程和相關(guān)例程,過程簡(jiǎn)單,且具備較強(qiáng)實(shí)用性。

關(guān)鍵詞:PROFINET協(xié)議;工控機(jī);PLC;遠(yuǎn)程通信

中圖分類號(hào):TP368.1 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2019)06-0024-01

0 引言

隨著現(xiàn)代工業(yè)過程自動(dòng)化控制技術(shù)及網(wǎng)絡(luò)通信技術(shù)的發(fā)展,工業(yè)現(xiàn)場(chǎng)自動(dòng)控制系統(tǒng)中常采用工控機(jī)作為上位機(jī)完成信息處理和決策,再通過工業(yè)網(wǎng)絡(luò)與現(xiàn)場(chǎng)工控設(shè)備連接實(shí)現(xiàn)生產(chǎn)過程的自動(dòng)化處理。工業(yè)以太網(wǎng)是應(yīng)用于工業(yè)控制領(lǐng)域的以太網(wǎng)技術(shù),在技術(shù)上與商用以太網(wǎng)(IEEE 802.3標(biāo)準(zhǔn))兼容,產(chǎn)品設(shè)計(jì)時(shí),在材質(zhì)的選用、產(chǎn)品的強(qiáng)度、適用性以及實(shí)時(shí)性、可互操作性、可靠性、抗干擾性、本質(zhì)安全性等方面能滿足工業(yè)現(xiàn)場(chǎng)的需要[1]。工業(yè)以太網(wǎng)的通信速率高、資源共享能力強(qiáng)、可持續(xù)發(fā)展?jié)摿Υ?,市?chǎng)占有率不斷提高,是未來工業(yè)通信技術(shù)的主要發(fā)展方向。

以PROFINET協(xié)議為例,在分散式現(xiàn)場(chǎng)設(shè)備中可以直接通過使用PROFINET I/O實(shí)現(xiàn)系統(tǒng)集成,同時(shí)可與Profibus、Interbus等現(xiàn)場(chǎng)總線技術(shù)無縫集成,從而實(shí)現(xiàn)從I/O級(jí)直至協(xié)調(diào)管理級(jí)的基于組件的分布式自動(dòng)化系統(tǒng)的體系結(jié)構(gòu)方案。PROFINET協(xié)議可在一根電纜上提供適應(yīng)3種類型通信信道:標(biāo)準(zhǔn)通道(TCP/IP,UPD/IP),實(shí)時(shí)通道RT(Real Time)和等時(shí)同步通道IRT(Isochronous Real Time),能為緊要任務(wù)提供最低限度的性能保證服務(wù),同時(shí)也能為非緊要任務(wù)提供盡力服務(wù)[2][3]。

基于PROFINET協(xié)議實(shí)現(xiàn)工業(yè)現(xiàn)場(chǎng)遠(yuǎn)程通信的研究較多,如基于OPC技術(shù)手段[4][5]。采用本文采用工控機(jī)為上位機(jī),西門子S7-1200 PLC作為下位機(jī)的方式,介紹了使用S7.net開源庫實(shí)現(xiàn)基于PROFINET協(xié)議的遠(yuǎn)程通信,具備較強(qiáng)的實(shí)用性。

1 準(zhǔn)備工作

1.1 PC端的配置

S7.net開源庫支持S7-200、S7-300、S7-400、S7-1200、S7-1500等系列的西門子PLC,最新版本號(hào)為0.3.0,可通過GitHub站點(diǎn)獲取并免費(fèi)使用,需要遵循開源代碼使用規(guī)范。S7.net下載鏈接為:https://github.com/killnine/s7netplus。

S7.net開源庫使用Visual Studio 2017集成開發(fā)環(huán)境的C#語言編寫為動(dòng)態(tài)鏈接庫,支持組件版本為.NET Framework 4.5.2。程序開發(fā)時(shí)需要在運(yùn)行Windows操作系統(tǒng)的PC端安裝Visual Studio 2017或以上版本的集成開發(fā)環(huán)境,同時(shí)確保.NET Framework組件版本相同或高于當(dāng)前版本。程序的運(yùn)行環(huán)境只需要存在具備相應(yīng)的.NET Framework組件。

為了對(duì)S7-1200 PLC進(jìn)行配置,需要在PC端安裝西門子博途(TIA Portal)集成自動(dòng)化編程軟件(目前最高版本為V14)進(jìn)行PLC組態(tài)配置。

1.2 PLC硬件組態(tài)配置

西門子S7-1200 PLC是一款緊湊型、模塊化的PLC,可完成簡(jiǎn)單邏輯控制、高級(jí)邏輯控制、HMI和網(wǎng)絡(luò)通信等任務(wù)。S7-1200 PLC集成了PROFINET接口,可通過RJ-45連接器直接連接本地網(wǎng)絡(luò),采用TIA Portal軟件進(jìn)行相關(guān)配置后,才能實(shí)現(xiàn)與第三方設(shè)備進(jìn)行通信,具體步驟如下:(1)啟動(dòng)TIA Portal軟件,建立新的項(xiàng)目文件,將需要使用的PLC設(shè)備添加項(xiàng)目文件中。(2)確認(rèn)并記錄設(shè)備的機(jī)架號(hào)和插槽號(hào)。(3)設(shè)置PLC的IP地址與工控機(jī)為同一網(wǎng)段。(4)通過“設(shè)備組態(tài)”→“常規(guī)”→“防護(hù)與安全”→“連接機(jī)制”路徑,選中“允許來自遠(yuǎn)程對(duì)象的PUT/GET通信訪問”選項(xiàng),確保遠(yuǎn)程通信能正常工作。(5)編寫PLC程序,建立需要訪問的數(shù)據(jù)塊文件。在數(shù)據(jù)塊文件的屬性選項(xiàng)中,取消“優(yōu)化的塊訪問”選項(xiàng),使用絕對(duì)地址進(jìn)行數(shù)據(jù)操作。

2 程序?qū)崿F(xiàn)

獲取S7.net開源庫的動(dòng)態(tài)鏈接文件(S7.net.dll)后,將其添加Visual Studio 2017集成開發(fā)環(huán)境建立的工程文件中,在工程項(xiàng)目文件中引用庫文件就可以直接使用相應(yīng)功能接口函數(shù),例程如下:using S7.net;S7.net開源庫具備發(fā)起連接、斷開連接、連接檢查、錯(cuò)誤處理等基本接口功能。數(shù)據(jù)的讀寫操作上,S7.net開源庫封裝了按字節(jié)、單變量、結(jié)構(gòu)體、類等多種操作方式。S7.net開源庫通信流程,如圖1所示。

利用S7.net開源庫實(shí)現(xiàn)PC與S7-1200PLC遠(yuǎn)程通信的部分例程和說明如下:(1)創(chuàng)建PLC實(shí)例。PlcPLC_S71200=newPlc(CpuType.S71200,”127.0.0.1”,0,1);創(chuàng)建一個(gè)S7-1200PLC實(shí)例,IP地址為127.0.0.1,機(jī)架號(hào)為0,插槽號(hào)為1。后續(xù)操作都是基于該實(shí)例進(jìn)行。(2)與S7-1200建立連接,準(zhǔn)備開始讀寫操作。PLC_S71200.open();(3)在連接成功之后,可進(jìn)行遠(yuǎn)程讀寫操作。byte[]Data Bytes=ReadBytes(DataType.DataBlock,1,0,20)從數(shù)據(jù)區(qū)DB1地址偏移量為0的區(qū)域開始連續(xù)讀取20字節(jié)的數(shù)據(jù)到DataBytes數(shù)組。該函數(shù)最大可支持200字節(jié)的一次性讀取操作。byte[]DataBytes=“xxxxx”;Write(DataType.DataBlock,1,1,DataBytes);將DataBytes存放的信息寫入到PLC的數(shù)據(jù)區(qū)DB1,地址偏移量為1。采用字節(jié)形式進(jìn)行讀寫操作,形參的邏輯意義明顯,操作正確性較高。如果程序開發(fā)人員對(duì)PLC的理解較深,可以使用單變量形式進(jìn)行讀寫操作,可讓程序更為簡(jiǎn)潔。例如:?jiǎn)为?dú)讀取一個(gè)字節(jié)的信息,可以采用如下接口函數(shù):byteresult=PLC_S71200.Read(“DB1.DBB0”);具有采用何種形式讀寫操作接口,開發(fā)人員可根據(jù)當(dāng)前操作目的和習(xí)慣進(jìn)行選擇。(4)與S7-1200斷開連接。PLC_S71200.Close();對(duì)S7-1200PLC頻繁的進(jìn)行讀寫操作時(shí),需要保持連接狀態(tài)。為了保證通信的可靠性,讀寫操作之前,建議檢查當(dāng)前連接狀態(tài),確保連接可靠。PLC_S71200.Isconnected();該方法可重新發(fā)起連接,并判斷連接是否存活。

3 結(jié)語

基于PROFINET協(xié)議,采用S7.net開源庫實(shí)現(xiàn)工控機(jī)與PLC之間的遠(yuǎn)程通信,需要對(duì)PLC進(jìn)行正確的組態(tài)設(shè)置,再應(yīng)用C#語言開發(fā)工具進(jìn)行程序開發(fā)。整個(gè)過程簡(jiǎn)潔,易于理解,為工業(yè)現(xiàn)場(chǎng)遠(yuǎn)程通信的開發(fā)設(shè)計(jì)提供一種便捷的技術(shù)手段。

參考文獻(xiàn)

[1] 于仲安,嚴(yán)慕秋.工業(yè)以太網(wǎng)技術(shù)的應(yīng)用探討[J].電器與能效管理技術(shù),2006(1):43-47.

[2] 侯朝勇,莊童,胡娟,et al.PROFINET實(shí)時(shí)工業(yè)以太網(wǎng)通信技術(shù)分析[J].電子設(shè)計(jì)工程,2014(16):1-4.

[3] 謝素芬.工業(yè)以太網(wǎng)PROFINET性能優(yōu)化及認(rèn)證測(cè)試[J].制造業(yè)自動(dòng)化,2017(9):72-74.

[4] 陳欣,王浩宇,郎朗.基于OPC技術(shù)的上位機(jī)與西門子PLC的通信[J].自動(dòng)化與儀器儀表,2008(1):70-73.

[5] 黃希敏.基于C#語言的工業(yè)計(jì)算機(jī)與S7-300的OPC通訊[J].重型機(jī)械,2011(5):39-42.

Remote Communication Between IPC and S7-1200 Based on PROFINET Protocol

CHEN Liang, PENG Lin, Ren Yan-yang

(Electrical & Information Engineering Department, Sichuan Engineering Technical College, Deyang Sichuan? 618000)

Abstract:PROFINET protocol is a new generation of automation bus standard based on Industrial Ethernet technology, and is also one of the mainstream standards of Industrial Ethernet. The remote communication between industrial field devices can be easily realized through PROFINET protocol. This paper shows how to realize the remote communication between IPC and S7-1200 PLC by S7.net open source library, and the process is simple and practical.

Key words:PROFINET protocol; IPC; PLC; Telecommunication

猜你喜歡
工控機(jī)
定制工控機(jī)在老舊線路計(jì)算機(jī)聯(lián)鎖設(shè)備中的應(yīng)用
中壓電子束焊工控機(jī)Windows NT系統(tǒng)文件丟失故障的修復(fù)方法
廣州地鐵3號(hào)線CC工控機(jī)電源國(guó)產(chǎn)化改造
基于雙工控機(jī)模式的混合車道系統(tǒng)設(shè)計(jì)
中國(guó)工控機(jī)市場(chǎng)新Style
新漢 前插拔CoreTM-i系列無風(fēng)扇工控機(jī)
金湖县| 中卫市| 沾化县| 嫩江县| 丹巴县| 岗巴县| 呼图壁县| 千阳县| 田东县| 龙江县| 潞西市| 德州市| 亚东县| 西宁市| 顺义区| 定安县| 海淀区| 泊头市| 凌云县| 新和县| 寿阳县| 北辰区| 班玛县| 改则县| 永定县| 灌云县| 拉孜县| 阳春市| 东丽区| 鹰潭市| 资源县| 会昌县| 黄大仙区| 漳平市| 大渡口区| 嘉善县| 祥云县| 竹北市| 鄂伦春自治旗| 旬阳县| 丹棱县|