国产精品视频一区二区三区四,亚洲av美洲av综合av,99国内精品久久久久久久,欧美电影一区二区三区电影

產(chǎn)品推薦:氣相|液相|光譜|質(zhì)譜|電化學(xué)|元素分析|水分測定儀|樣品前處理|試驗(yàn)機(jī)|培養(yǎng)箱


化工儀器網(wǎng)>技術(shù)中心>技術(shù)參數(shù)>正文

歡迎聯(lián)系我

有什么可以幫您? 在線咨詢

西門子PLC通信技術(shù)知識

來源:上海邑斯自動(dòng)化科技有限公司   2023年02月22日 12:55  

西門子PLC支持串口通信,在S7-200和S7-200Smart中,都直接集成了串口,但是從S7-1200到S7-1500,慢慢都取消掉了,如果需要,可以通過擴(kuò)展模塊的方式來增加,出現(xiàn)這種現(xiàn)象的原因,其實(shí)也是工業(yè)發(fā)展的必然結(jié)果。串口通信的優(yōu)勢在于簡單、成本低,但是劣勢也非常明顯,就是傳輸效率低。西門子早期的串口通信主要是Profibus DP通信,但是上位機(jī)是無法直接與西門子PLC走Profibus DP通信的,因此,西門子PLC常用的串口通信方案如下所示:

  • PPI通信:PPI通信只針對S7-200和S7-200 Smart系列PLC,其他型號不支持。
  • ModbusRTU主站:西門子PLC對Modbus協(xié)議支持還是比較不錯(cuò)的,這里是指PLC做Slave(即從站),上位機(jī)做Master(即主站)。
  • ModbusRTU從站:這里是指PLC做Master(即主站),上位機(jī)做Slave(即從站)。

以太網(wǎng)通信

西門子PLC通信還是以太網(wǎng)通信為主,我們常說的西門子通信協(xié)議分別是S7協(xié)議和Profinet協(xié)議,但是Profinet是一種總線協(xié)議,目前,C#是無法直接與西門子PLC走Profinet通信的。因此,西門子PLC常用的以太網(wǎng)通信方案如下所示:

  • S7通信:基本上從S7-200到S7-1500均可以實(shí)現(xiàn),這里有很多可以選擇的開源或商業(yè)庫,也可以自己封裝通信庫。
  • ModbusTCP Server:這里是指PLC做Server(即服務(wù)器),上位機(jī)做Client(即客戶端)。
  • ModbusTCP Client:這里是指PLC做Client(即客戶端),上位機(jī)做Server(即服務(wù)器)。
  • OpenProtocol Server:這里是指開放式TCP通信,PLC做TCPServer(即服務(wù)器),上位機(jī)做TCPClient(即客戶端)。
  • OpenProtocol Client:這里是指PLC做TCPClient(即客戶端),上位機(jī)做TCPServer(即服務(wù)器)。

OPC通信

OPC通信是工業(yè)控制中常用的一種通信方式,主要在于OPC軟件的選擇以及OPCDA、OPCUA的選擇,因此,西門子PLC常用的OPC通信方案如下所示:

  • PC Access系列:西門子針對S7-200開發(fā)PC-Access軟件,針對S7-200 Smart又提供了PC-Access Smart軟件,可以直接通過這些軟件實(shí)現(xiàn)OPCDA通信。
  • Simatic Net 系列OPCDA:Simatic Net是西門子主推的OPC軟件,支持西門子全系列,這里主要是OPCDA通信方式。
  • Simatic Net 系列OPCUA:新版的Simatic Net也開始支持OPCUA,這里主要是OPCUA通信方式。
  • KepServer 系列OPCDA:KepServer同樣作為一款商業(yè)OPC軟件,在國內(nèi)使用率非常高,同樣也支持西門子全系列,這里主要是OPCDA通信方式。
  • Simatic Net 系列OPCUA:新版的KepServer也開始支持OPCUA,這里主要是OPCUA通信方式。

S7通信協(xié)議

在以上眾多的通信方式和通信協(xié)議中,就目前而言,使用S7通信是最便,也是應(yīng)該廣泛的,那么S7協(xié)議相對于其他協(xié)議來說,有哪些優(yōu)勢呢?

使用S7通信協(xié)議最大的優(yōu)勢在于不需要編寫PLC程序,而且S7協(xié)議在底層做了很強(qiáng)的封裝,在上位機(jī)通信應(yīng)用中相比其他通信協(xié)議來說,也有很大的優(yōu)勢。

雖然不需要編寫PLC程序,但仍然需要做一些簡單的配置:

  • 開啟Put/Get

PLC側(cè)需要設(shè)置勾選允許來自遠(yuǎn)程對象的Put/Get通信訪問 對于西門子1200/1500系列,必須要勾選允許Put/Get訪問,對于200Smart/300/400,則不需要。

  • DB塊去除優(yōu)化訪問

對于基于博圖開發(fā)S7-1200/1500的項(xiàng)目,如果要與DB塊數(shù)據(jù)通信,需要要去除DB的優(yōu)化的塊訪問,對于200Smart/300/400,則不需要。如果希望通過標(biāo)簽通信,可以采用OPCUA。

  • 務(wù)必保證通信地址是有效地址

因?yàn)镻LC大多數(shù)是基于存儲(chǔ)區(qū)的,每個(gè)地址肯定是隸屬于某個(gè)存儲(chǔ)區(qū),大家都知道西門子PLC自帶的存儲(chǔ)區(qū)有I區(qū)、Q區(qū)、M區(qū)、T區(qū)、C區(qū),但是對于常用的DB存儲(chǔ)區(qū)是沒有的,需要自己去創(chuàng)建,也就意味著,如果你要讀取DB地址,必須要提前創(chuàng)建好DB存儲(chǔ)區(qū),除此以外,DB存儲(chǔ)區(qū)創(chuàng)建之后,默認(rèn)是沒有字節(jié)的,需要自己一個(gè)個(gè)添加變量,才能形成有效存儲(chǔ)區(qū),因此一個(gè)DB存儲(chǔ)區(qū)的范圍是有限并且可見的(可以通過偏移量看出來)。

S7協(xié)議之布爾操作

對于布爾操作,很多協(xié)議都有,但是這里的布爾操作是指寄存器布爾,比如DB100.DBX0.0,很多時(shí)候,我們都是通過先讀取DB100.DBB0的值,再通過位運(yùn)算結(jié)果,寫入到DB100.DBB0中,實(shí)現(xiàn)DB100.DBX0.0的操作,但是這種方式有弊端,

第一:每次操作一個(gè)布爾值都需要與PLC進(jìn)行兩次數(shù)據(jù)交互。

第二:安全性和穩(wěn)定性無法保障,你不知道在你讀取和寫入之間,這個(gè)字節(jié)的值是否已經(jīng)發(fā)生了改變。

這樣的問題也存在于Modbus協(xié)議的寄存器位操作,如40001.05,三菱、歐姆龍的寄存器位操作,如D100.06、W12.04,給上位機(jī)開發(fā)者帶來很多苦惱。

但是S7協(xié)議支持直接位操作,有專門的報(bào)文指令實(shí)現(xiàn)這樣的功能。

S7協(xié)議之PDU讀取

大部分人都知道S7協(xié)議一次性讀取有限制,但是具體是多少?怎么計(jì)算出來的?

S7協(xié)議的一次性讀取長度是根據(jù)PDU計(jì)算出來的,這個(gè)PDU的值是來自于PLC本身,不同型號的CPU,它的PDU是不一樣的,可以參考下面兩張圖:


圖片
圖片


西門子PLC的PDU大小是和CPU息息相關(guān)的,一般會(huì)有240、480、960三個(gè)檔次,知道PDU之后,那么一次性讀取的字節(jié)長度,就是在PDU的基礎(chǔ)上減去18,這個(gè)18是指包頭包尾會(huì)有18個(gè)字節(jié),這樣我們就知道了一般的PLC,一次性能讀取222個(gè)字節(jié)(240-18=222),但是對于S7-1516這樣的PLC,我們一次性是可以讀取942個(gè)字節(jié)的***,這個(gè)一次性能讀取的字節(jié)越長,越能提高上位機(jī)的通信效率。

剛剛的方式是通過KepServer測試的,實(shí)際開發(fā)過程中,該怎么獲取CPU的PDU呢,實(shí)際上在建立連接的第二次握手時(shí),返回的報(bào)文中就包含PDU的值。


圖片


第二次握手返回的報(bào)文長度是27個(gè)字節(jié),最后兩個(gè)字節(jié)就是PDU的值,上圖展示的是S7-1200PLC返回的報(bào)文,0和240的組合即為240。

對于S7-1500,我這里也做了一下測試,結(jié)果如下,返回結(jié)果為3和***


圖片


雖然PDU是由硬件做了限制,但是我們可以通過軟件的方式,實(shí)現(xiàn)大量數(shù)據(jù)的讀取,只需要在底層做一些封裝即可。做了一下測試,針對S7-1200和S7-1500同時(shí)讀取M區(qū)的8000個(gè)字節(jié)的耗時(shí)比較,S7-1200耗時(shí)800多ms,S7-1500耗時(shí)僅需200ms,由此可見,硬件對通信的重要性。


圖片
圖片


S7協(xié)議之多組讀取

對于很多其他的通信協(xié)議,當(dāng)我們遇到數(shù)據(jù)變量比較零散,同時(shí)讀取多個(gè)存儲(chǔ)區(qū)或者一個(gè)存儲(chǔ)區(qū)多個(gè)不同部分的時(shí)候,我們只能針對每個(gè)存儲(chǔ)區(qū)或者每塊區(qū)域做一個(gè)數(shù)據(jù)請求,但是西門子S7協(xié)議可以解決這樣的問題。

西門子S7協(xié)議有一個(gè)非常強(qiáng)大的一個(gè)地方,可以同時(shí)讀取很多個(gè)不同的存儲(chǔ)區(qū),最大支持19種,總共讀取長度仍然受PDU的限制。

這里我們?nèi)匀灰詫?shí)驗(yàn)測試為例,體驗(yàn)多組讀取帶來的美妙體驗(yàn)。

假設(shè)我們的通信組配置如下:

通信組01:讀取I區(qū)從0開始的1個(gè)字節(jié)

通信組02:讀取Q區(qū)從0開始的1個(gè)字節(jié)

通信組03:讀取M區(qū)從0開始的200個(gè)字節(jié)

通信組04:讀取M區(qū)從500開始的50個(gè)字節(jié)

通信組05:讀取M區(qū)從1000開始的60個(gè)字節(jié)

通信組06:讀取DB100從0開始的20個(gè)字節(jié)

通信組07:讀取DB100從20開始的20個(gè)字節(jié)

通信組08:讀取DB100從40開始的20個(gè)字節(jié)

通信組09:讀取DB100從60開始的20個(gè)字節(jié)

我們采用常用S7-1200PLC,通過配置軟件實(shí)現(xiàn)配置以上9個(gè)通信組,開始通信測試,首先我們選擇的是單組讀取的方式,就是針對每個(gè)組,依次進(jìn)行讀取,結(jié)果如下,耗時(shí)大約200ms,這個(gè)時(shí)間應(yīng)該相對來說還是比較正常的。


圖片


接著,將讀取方式改成了多組讀取,再進(jìn)行測試發(fā)現(xiàn)結(jié)果如下:


圖片


通過結(jié)果發(fā)現(xiàn),多組讀取對于存儲(chǔ)區(qū)較為零散的項(xiàng)目來說,有著非常重要的作用,可以大大提高通信效率。

總結(jié)

通過上面一系列的分享,相信大家對西門子PLC通信有了更加深入的了解,希望大家可以多多實(shí)踐。

每種通信方式都有自己的優(yōu)缺點(diǎn),對各種通信方式和協(xié)議了解之后,你才能夠在不同的場合選擇適合的通信方式,給出最的解決方案。


免責(zé)聲明

  • 凡本網(wǎng)注明“來源:化工儀器網(wǎng)”的所有作品,均為浙江興旺寶明通網(wǎng)絡(luò)有限公司-化工儀器網(wǎng)合法擁有版權(quán)或有權(quán)使用的作品,未經(jīng)本網(wǎng)授權(quán)不得轉(zhuǎn)載、摘編或利用其它方式使用上述作品。已經(jīng)本網(wǎng)授權(quán)使用作品的,應(yīng)在授權(quán)范圍內(nèi)使用,并注明“來源:化工儀器網(wǎng)”。違反上述聲明者,本網(wǎng)將追究其相關(guān)法律責(zé)任。
  • 本網(wǎng)轉(zhuǎn)載并注明自其他來源(非化工儀器網(wǎng))的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對其真實(shí)性負(fù)責(zé),不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品第一來源,并自負(fù)版權(quán)等法律責(zé)任。
  • 如涉及作品內(nèi)容、版權(quán)等問題,請?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
企業(yè)未開通此功能
詳詢客服 : 0571-87858618
彰化县| 新建县| 上虞市| 吐鲁番市| 柘荣县| 克东县| 昌黎县| 金川县| 武汉市| 读书| 洞口县| 扎鲁特旗| 旺苍县| 吉安市| 阿坝县| 观塘区| 临漳县| 晋江市| 唐海县| 富裕县| 沾化县| 台北县| 北川| 崇明县| 新沂市| 诸暨市| 漳平市| 青岛市| 于都县| 隆尧县| 吉隆县| 安西县| 都江堰市| 洪雅县| 平阴县| 延长县| 宝清县| 平乐县| 中阳县| 石屏县| 常山县|