<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 基于FINS協(xié)議的OMRON PLC與上位機(jī)以太網(wǎng)通信的實(shí)現(xiàn)

          基于FINS協(xié)議的OMRON PLC與上位機(jī)以太網(wǎng)通信的實(shí)現(xiàn)

          作者: 時間:2009-11-23 來源:網(wǎng)絡(luò) 收藏


          0 引言
          在現(xiàn)代工業(yè)自動化控制系統(tǒng)中,可編程邏輯控制器()作為常用的現(xiàn)場控制設(shè)備,機(jī)作為數(shù)據(jù)采集及人機(jī)界面的一種已經(jīng)得到廣泛使用。過去,在工程項(xiàng)目開發(fā)中,機(jī)間的常采用RS-232C或者RS-485串行方式,這種方法很難滿足數(shù)據(jù)量大、距離遠(yuǎn)、實(shí)時性要求高的控制系統(tǒng)。隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展、普及與推廣,技術(shù)得到了迅速的發(fā)展,其傳輸速率的提高和交換技術(shù)的應(yīng)用,解決了的非確定性問題,使得工業(yè)能夠廣泛應(yīng)用于工業(yè)信息控制領(lǐng)域,也是工業(yè)信息控制未來的發(fā)展趨勢。
          (factory interface network service)通信是歐姆龍公司開發(fā)的用于工業(yè)自動化控制網(wǎng)絡(luò)的指令/響應(yīng)系統(tǒng)。使用指令可各種網(wǎng)絡(luò)間的無縫通信,包括用于信息網(wǎng)絡(luò)的Etherne(以太網(wǎng)),用于控制網(wǎng)絡(luò)的Controller Link和SYSMAC LINK。通過編程發(fā)送指令,機(jī)或就能夠讀寫另一個PLC數(shù)據(jù)區(qū)的內(nèi)容,甚至控制其運(yùn)行狀態(tài),從而簡化了用戶程序。FINS支持工業(yè)以太網(wǎng),這就為 PLC與上位機(jī)以太網(wǎng)通信的提供了可能。

          本文引用地址:http://www.ex-cimer.com/article/157763.htm


          1 PLC與上位機(jī)通信方式
          目前,在歐姆龍PLC網(wǎng)絡(luò)組成中,上位機(jī)和PLC的通信可以采用RS232C/485串行通信、Controller Link通信和工業(yè)以太網(wǎng)通信三種方式。它們的主要性能參數(shù)如表1所示。

          文獻(xiàn)[3]介紹了采用RS232C/485串行通信的方案,其通信速率僅為9600b/s,速率較慢,很難適應(yīng)現(xiàn)代數(shù)據(jù)量大、通信距離較遠(yuǎn)、實(shí)時性要求較高的控制系統(tǒng)。
          文獻(xiàn)[2]中給出了FINS的Controller Link通信的設(shè)計(jì)方案,其最高速率可以達(dá)到2Mb/s,整個網(wǎng)絡(luò)的最大傳輸距離為500m,硬件上需要在上位機(jī)安裝CLK支持卡,其擴(kuò)展性及應(yīng)用的靈活性沒有工業(yè)以太網(wǎng)好。
          在三種通信方式中,工業(yè)以太網(wǎng)的優(yōu)勢是相當(dāng)明顯的。其傳輸速率可以達(dá)到10/100Mb/s(取決于實(shí)際網(wǎng)絡(luò)環(huán)境);兩個節(jié)點(diǎn)之間的傳輸距離可以達(dá)到100m,對于整個網(wǎng)絡(luò)的傳輸距離沒有限制;網(wǎng)絡(luò)內(nèi)最大節(jié)點(diǎn)數(shù)可以達(dá)到254個,可以1(PLC):N(PC)、N:N、N:1等多種網(wǎng)絡(luò)形式。這些都為構(gòu)架各種規(guī)模的工業(yè)網(wǎng)絡(luò)信息系統(tǒng)提供了有利的條件,具有良好的擴(kuò)展性、實(shí)用性、靈活性。目前使用的上位機(jī)都配有以太網(wǎng)卡,所以上位機(jī)側(cè)無需增加額外的硬件設(shè)備。因此,采用工業(yè)以太網(wǎng)方式對提高工廠的自動化信息控制水平具有很大的現(xiàn)實(shí)意義。


          2 以太網(wǎng)FINS通信
          在以太網(wǎng)FINS通信中,各種數(shù)據(jù)信息是以UDP/IP包或者TCP/IP包的方式在以太網(wǎng)上發(fā)送和接收的。其中,在Internet層遠(yuǎn)程設(shè)備使用的是IP地址,而在應(yīng)用層使用的則是FINS節(jié)點(diǎn)地址。傳輸層中定義了本地UDP或TCP端口號,它為應(yīng)用層(即FINS通信)提供通信端口,其默認(rèn)設(shè)置為9600。用戶可以根據(jù)實(shí)際情況自行修改,但是在同一網(wǎng)絡(luò)中,各設(shè)備的通信端口號必須保持一致。圖1 FINS以太網(wǎng)通信協(xié)議模型

          通常以太網(wǎng)通信使用的是IP地址,而在FINS通信中則是使用網(wǎng)絡(luò)號、節(jié)點(diǎn)號以及單元號來對不同設(shè)備(包括PLC、PC等現(xiàn)場設(shè)備)進(jìn)行地址定義的。這就為不同網(wǎng)絡(luò)之間各種設(shè)備的通信提供了統(tǒng)一的尋址方式。在以太網(wǎng)FINS通信中,歐姆龍的以太網(wǎng)單元一項(xiàng)重要的功能就是能在IP地址和Fins節(jié)點(diǎn)地址之間進(jìn)行轉(zhuǎn)換,其轉(zhuǎn)換方式有自動轉(zhuǎn)換、IP地址表和復(fù)合地址表三種方式,其地址轉(zhuǎn)換數(shù)量依據(jù)模塊型號和轉(zhuǎn)換方式的不同還有相應(yīng)的限制。以太網(wǎng)FINS通信服務(wù)是一種UDP/IP的通信方式,稱為FINS/UDP方式,歐姆龍相關(guān)的以太網(wǎng)產(chǎn)品都支持這種方式。此外,CS1W-ETN21和CJ1W-ETN21以太網(wǎng)通信模塊還支持TCP/IP協(xié)議,稱為FINS/TCP方式。
          2.1 FI NS/UDP方式
          FINS/UDP方式是一種使用UDP/IP協(xié)議的FINS通信方式。UDP/IP是一種無連接的通信協(xié)議。當(dāng)一條信息從一個節(jié)點(diǎn)發(fā)到另一個時,這兩個節(jié)點(diǎn)是沒有明確連接的對等關(guān)系的。UDP協(xié)議具有較快的傳輸速度,但是數(shù)據(jù)通信的可靠性沒有TCP協(xié)議高。

          如圖2所示,是一個在以太網(wǎng)中發(fā)送和接收所使用的UDP幀結(jié)構(gòu)。FINS/UDP方式使用的是一種嵌套格式數(shù)據(jù)包,即Ethernet報(bào)頭、IP報(bào)頭、UDP報(bào)頭和FINS幀。一個UDP數(shù)據(jù)段(FINS 幀)超過1472字節(jié)將被分成若干個數(shù)據(jù)包來傳送。分開的UDP數(shù)據(jù)將在UDP/IP協(xié)議層自動組合。通常不需要關(guān)注應(yīng)用層的數(shù)據(jù)分段,但是在一個多層IP網(wǎng)絡(luò)中1427字節(jié)的UDP包可能無法發(fā)送。在這種系統(tǒng)中就需要使用FINS/TCP方式。

          數(shù)字通信相關(guān)文章:數(shù)字通信原理


          通信相關(guān)文章:通信原理



          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();