歡迎來(lái)到《圣博凱斯》變頻供水設(shè)備官網(wǎng)
精銳于專(zhuān)業(yè) / 卓然于品質(zhì) -- 20年專(zhuān)注于供水行業(yè),締造至臻品質(zhì) -- 服務(wù)熱線(xiàn):0731-85783205 18932453205

西門(mén)子step7怎么連接plc_西門(mén)子step7與plc通訊

?如果你對(duì)西門(mén)子PLC通信或者上位機(jī)開(kāi)發(fā)稍微有一點(diǎn)研究的話(huà),應(yīng)該對(duì)Snap7有所耳聞。

Snap7是一個(gè)基于以太網(wǎng)與西門(mén)子S7系列PLC通信的開(kāi)源庫(kù),在世界領(lǐng)域應(yīng)用很廣。但也許是因?yàn)橘Y料比較少,而且很多都是純英文,在國(guó)內(nèi)反而沒(méi)有大規(guī)模的應(yīng)用。

作為一個(gè)技術(shù)開(kāi)發(fā)人員,所有未知領(lǐng)域的事物都是值得探索的。于是花了一些時(shí)間,對(duì)Snap7做了一些研究,借此機(jī)會(huì),給大家做一些分享,希望可以給對(duì)工作或?qū)W習(xí)中有這塊需要的人,提供一些借鑒。

1. Snap7基礎(chǔ)介紹

(1)Snap7作為一個(gè)世界級(jí)的開(kāi)源庫(kù),有自己的官網(wǎng):

http://snap7.sourceforge.net/

(2)大家如果需要Snap7的源碼,可以去這里下載:https://sourceforge.net/projects/snap7/files/1.4.2/snap7-full-1.4.2.7z/download

(3)大家如果源碼下載太慢或者下載不了,可以關(guān)注本公眾號(hào),發(fā)送關(guān)鍵詞:Snap7源碼

(4)Snap7主要用于將PC站點(diǎn)與PLC網(wǎng)路完全連接到一起,所以它具有三個(gè)對(duì)象組件,分別是客戶(hù)端、服務(wù)器和協(xié)作者,這三個(gè)對(duì)象可以同時(shí)應(yīng)用,下面這幅圖描述了這三個(gè)對(duì)象之間的聯(lián)系:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?圖表 1 Snap7整體框架

對(duì)于一般開(kāi)發(fā)人員來(lái)說(shuō),Server和Partner模式是用不到的,我們主要用的是Client模式,即PLC作為Server,上位機(jī)PC作為Client。

1. Snap7源碼分析

如果順利的話(huà),大家打開(kāi)源碼之后是可以運(yùn)行的,找一個(gè)自己身邊的西門(mén)子PLC進(jìn)行通信功能測(cè)試,如果手頭沒(méi)有PLC,可以關(guān)注本公眾號(hào)的一篇文章《手把手教你搭建西門(mén)子PLC仿真環(huán)境》。

如果大家看到源碼,可以發(fā)現(xiàn)提供的snap7.net其實(shí)是對(duì)snap7.dll的二次封裝,snap7.dll是一個(gè)C/C++寫(xiě)的類(lèi)庫(kù),我們可以找到一些我們需要的方法。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?圖表 2建立PLC連接

?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 圖表 3斷開(kāi)PLC連接

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 圖表 4存儲(chǔ)區(qū)讀取

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 圖表 5存儲(chǔ)區(qū)寫(xiě)入

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 圖表 6讀取多變量

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 圖表 7寫(xiě)入多變量

但是這個(gè)snap7.net類(lèi)封裝的風(fēng)格有些老外的風(fēng)格,會(huì)導(dǎo)致我們使用起來(lái)很麻煩,于是我便對(duì)這個(gè)snap7.net做了進(jìn)一步的封裝:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 圖表 8建立及斷開(kāi)連接

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 圖表 9讀取及寫(xiě)入多個(gè)字節(jié)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?圖表 10讀取及寫(xiě)入多個(gè)通信組

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 圖表 11讀取及寫(xiě)入多個(gè)通信變量

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?圖表 12讀取及寫(xiě)入單個(gè)變量

通過(guò)這些封裝,會(huì)將snap7.net里晦澀難懂的方法變成我們自己熟悉的方式,這樣,我們自己做開(kāi)發(fā)的時(shí)候,會(huì)更加方便和高效,這里值得注意的是西門(mén)子S7協(xié)議通信會(huì)有PDU及通信組數(shù)量的限制,一般來(lái)說(shuō)PDU限制是220個(gè)字節(jié),通信組數(shù)量限制是20個(gè),也就意味著一次性只能讀取220個(gè)字節(jié),并且最多只能同時(shí)讀取20個(gè)通信組。

3. 通信測(cè)試

通信庫(kù)編寫(xiě)完成之后,通過(guò)TIA V15 + PLCSIM + NETTOPLCISM搭建了一個(gè)S7-1500PLC的仿真環(huán)境,用于通信測(cè)試。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 圖表 13西門(mén)子仿真環(huán)境

基于封裝的通信庫(kù)開(kāi)發(fā)了一個(gè)簡(jiǎn)單的測(cè)試平臺(tái),分別于S7-200 Smart PLC及S7-1500進(jìn)行了通信測(cè)試,測(cè)試結(jié)果如下:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?圖表 14 S7-200 Smart PLC通信測(cè)試

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 圖表 15 S7-1500 PLC通信測(cè)試

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 抖音號(hào)↓

?

猜你喜歡

  • 哪種信號(hào)燈不可以右轉(zhuǎn)_哪種交通信號(hào)燈可以右轉(zhuǎn)

    【紅綠燈控制模式】可分為定時(shí)控制、感應(yīng)控制和自適應(yīng)控制:1.定時(shí)控制:十字路口的交通信號(hào)控制器都按照預(yù)設(shè)的定時(shí)方案運(yùn)行,也稱(chēng)為周期控制。每天只有一個(gè)定時(shí)方案稱(chēng)為單級(jí)定時(shí)控制;當(dāng)根據(jù)一天中不同時(shí)間段的交通量采用幾種計(jì)時(shí)方案時(shí),采用多級(jí)計(jì)時(shí)控制。最基本的控制方法是單個(gè)路口的定時(shí)控制。線(xiàn)路控制和平面控制也可以用定時(shí)控制,也

  • PLC和電腦連接_plc與pc機(jī)的通訊連接

    由于項(xiàng)目需要連接PLC和PC,所以傳送幾種狀態(tài)和控制信息。為了實(shí)現(xiàn)最快的響應(yīng)速度,采用了I/O直接連接。但是,這需要添加I/O卡,與PLC的I/O功能有些重復(fù)。那么,網(wǎng)絡(luò)通信可能嗎?本文進(jìn)行一些實(shí)驗(yàn)。西門(mén)子S7-1200概述使用的PLC是目前主流的西門(mén)子S7-1200。支持PROFINET、PROFIBUS

  • 西門(mén)子plc300編程入門(mén)基礎(chǔ)_西門(mén)子plc300編程入門(mén)

    點(diǎn)擊,PLC進(jìn)步后進(jìn)入“技術(shù)PLC教室”!3358www.Sina.com/http://www.Sina.com/串行鏈路上的MODBUS協(xié)議有兩種:MODBUSASCAII(字符串)和MODBUSRTU。200SMART提供的MODBUS協(xié)議庫(kù)支持MODBUSRTU通信。一、MODBU

  • 西門(mén)子PLC怎么編程_西門(mén)子plc編程的流程

    如果你對(duì)西門(mén)子PLC通信或者上位機(jī)開(kāi)發(fā)稍微有一點(diǎn)研究的話(huà),應(yīng)該對(duì)Snap7有所耳聞。Snap7是一個(gè)基于以太網(wǎng)與西門(mén)子S7系列PLC通信的開(kāi)源庫(kù),在世界領(lǐng)域應(yīng)用很廣。但也許是因?yàn)橘Y料比較少,而且很多都是純英文,在國(guó)內(nèi)反而沒(méi)有大規(guī)模的應(yīng)用。作為一個(gè)技術(shù)開(kāi)發(fā)人員,所有未知領(lǐng)域的事物都是值得探索的。于是花了一些時(shí)間,對(duì)S

  • 西門(mén)子plc300編程入門(mén)視頻教程免費(fèi)_西門(mén)子plc300編程入門(mén)

    點(diǎn)擊,PLC進(jìn)步后進(jìn)入“技術(shù)PLC教室”!3358www.Sina.com/http://www.Sina.com/串行鏈路上的MODBUS協(xié)議有兩種:MODBUSASCAII(字符串)和MODBUSRTU。200SMART提供的MODBUS協(xié)議庫(kù)支持MODBUSRTU通信。一、MODBU

  • 西門(mén)子PLC怎么編程_西門(mén)子plc編程的流程

    如果你對(duì)西門(mén)子PLC通信或者上位機(jī)開(kāi)發(fā)稍微有一點(diǎn)研究的話(huà),應(yīng)該對(duì)Snap7有所耳聞。Snap7是一個(gè)基于以太網(wǎng)與西門(mén)子S7系列PLC通信的開(kāi)源庫(kù),在世界領(lǐng)域應(yīng)用很廣。但也許是因?yàn)橘Y料比較少,而且很多都是純英文,在國(guó)內(nèi)反而沒(méi)有大規(guī)模的應(yīng)用。作為一個(gè)技術(shù)開(kāi)發(fā)人員,所有未知領(lǐng)域的事物都是值得探索的。于是花了一些時(shí)間,對(duì)S