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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于CAN總線的計(jì)算機(jī)與PLC通信

          基于CAN總線的計(jì)算機(jī)與PLC通信

          作者: 時(shí)間:2014-10-23 來源:網(wǎng)絡(luò) 收藏

            

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

           

            以上給出了計(jì)算機(jī)與 通信的主要程序段。需要注意的是,如果傳送的數(shù)據(jù)大于132 個(gè)字符,可以將數(shù)據(jù)分成起始幀、若干中間幀、結(jié)束幀進(jìn)行傳送。起始幀必須包含設(shè)備號, 命令碼等, 否則通信的過程中將會有錯(cuò)誤發(fā)生。上位機(jī)每發(fā)送完一幀時(shí),在收到 返回的分界符(即“↙”)后再發(fā)送下一幀,只有當(dāng)結(jié)束幀數(shù)據(jù)發(fā)送完畢時(shí)才返回響應(yīng)代碼。

            6 結(jié)束語

            本文基于VB 利用MSComm 控件實(shí)現(xiàn)了上位機(jī)與歐姆龍 的串行通信,充分發(fā)揮了 總線實(shí)時(shí)、可靠、高速、遠(yuǎn)距離、易維護(hù)的特點(diǎn)。計(jì)算機(jī)能夠深入地配合PLC 廠商提供的各種軟件,從而實(shí)現(xiàn)更多強(qiáng)大的功能, 比如系統(tǒng)配置、人機(jī)界面、組態(tài)開發(fā)等。

            通常,計(jì)算機(jī)與PLC 通過串口連接,實(shí)現(xiàn)各種通信功能。但串口的通信距離、節(jié)點(diǎn)數(shù)量都受到了串口本身的性能限制。比如,RS-232 標(biāo)準(zhǔn)只可以實(shí)現(xiàn)1:1 通信,RS-422/485 標(biāo)準(zhǔn)能夠?qū)崿F(xiàn)32 個(gè)節(jié)點(diǎn)以內(nèi)的通信,通信距離、抗干擾能力都比較弱,并不能夠滿足實(shí)際工業(yè)現(xiàn)場多臺PLC 聯(lián)網(wǎng)應(yīng)用的需求。即使借助RS232/- 適配器也很難突破串行通信本身的功能限制[5]。

            針對這一情況,可以采用計(jì)算機(jī)內(nèi)置PC- 接口卡,可以建立起1 條或者多條CAN 總線網(wǎng)絡(luò),并通過連接在CAN 總線網(wǎng)絡(luò)中的RS232/-CAN 適配器,借助于CAN 總線網(wǎng)絡(luò)配套的虛擬串口軟件,建立多達(dá)2047 個(gè)標(biāo)準(zhǔn)的串行通信端口,從而連接多達(dá)2047 條串行網(wǎng)絡(luò)[6]。也就是說,可以在同1 條普通雙絞線上連接多達(dá)2047 臺PLC 設(shè)備,工控PC 訪問連接在這條CAN總線網(wǎng)絡(luò)上的PLC 設(shè)備,也與操作標(biāo)準(zhǔn)串口完全一致。

            這種方式可以充分發(fā)揮工控PC 的作用,通信效率比較高,應(yīng)用靈活,是一般PLC 網(wǎng)絡(luò)建設(shè)的主流方向。

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


          雙絞線傳輸器相關(guān)文章:雙絞線傳輸器原理

          上一頁 1 2 下一頁

          關(guān)鍵詞: CAN PLC RS485

          評論


          相關(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); })();