技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動(dòng)網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 基于CAN總線的計(jì)算機(jī)與PLC通信

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

時(shí)間:2018-03-23 10:20:29來源:網(wǎng)絡(luò)轉(zhuǎn)載

導(dǎo)語:? 系統(tǒng)使用HOST-LINK 通信協(xié)議進(jìn)行通信,上位機(jī)具有傳送優(yōu)先權(quán), 總是首先發(fā)出命令并啟動(dòng)通信,HOST-LINK 單元收到命令交由PLC 執(zhí)行,然后將執(zhí)行結(jié)果返回上位機(jī), 二者以通信幀為單位, 輪流交換數(shù)據(jù)

1引言

在現(xiàn)代工業(yè)中,PLC之間或PLC與計(jì)算機(jī)之間的通信聯(lián)網(wǎng)應(yīng)用日益廣泛。PLC的聯(lián)網(wǎng)功能越來越強(qiáng)。以歐姆龍CP1、CJ1和CS1系列PLC為例,配合使用各種模塊,可以支持工業(yè)以太網(wǎng)、ControllerLink等現(xiàn)場(chǎng)總線通信聯(lián)網(wǎng)功能。但是,應(yīng)用廣泛的CPM1A、CPM2A等中小型PLC的通信聯(lián)網(wǎng)一般只能采用工業(yè)總線的物理層形式(如RS232或RS485),通信的穩(wěn)定性與抗干擾能力并不是很強(qiáng)。

2CAN總線簡介

CAN總線由德國BOSCH公司首先提出來的,CAN總線是目前工業(yè)界廣泛應(yīng)用的總線。

CAN控制器工作于多主站方式,網(wǎng)絡(luò)中的各節(jié)點(diǎn)都可根據(jù)總線訪問優(yōu)先權(quán)采用無損結(jié)構(gòu)的逐位仲裁的方式競(jìng)爭向總線發(fā)送數(shù)據(jù)。CAN協(xié)議廢除了傳統(tǒng)的站地址編碼,可使網(wǎng)絡(luò)內(nèi)的節(jié)點(diǎn)個(gè)數(shù)在理論上不受限制,通信實(shí)時(shí)性強(qiáng),提高系統(tǒng)的可靠性和系統(tǒng)的靈活性。

報(bào)文采用短幀格式,傳輸時(shí)間短,受干擾概率低,保證了數(shù)據(jù)出錯(cuò)率極低。CAN的每幀信息都有CRC校驗(yàn)及其他檢錯(cuò)措施,具有極好的檢錯(cuò)效果。CAN的通訊介質(zhì)可以為雙絞線、同軸電纜或光纖,選擇靈活。CAN節(jié)點(diǎn)在錯(cuò)誤幀的情況下具有自動(dòng)關(guān)閉輸出功能,而總線上其它節(jié)點(diǎn)的操作不受影響。CAN總線通過兩個(gè)輸出端CANH和CANL與物理總線相連,不會(huì)出現(xiàn)損壞某些節(jié)點(diǎn)的現(xiàn)象。CAN節(jié)點(diǎn)在錯(cuò)誤嚴(yán)重的情況下具有自動(dòng)關(guān)閉輸出功能,以使總線上其他節(jié)點(diǎn)的操作不受影響,不會(huì)出現(xiàn)象“死鎖”狀態(tài)。

3通信結(jié)構(gòu)

通信系統(tǒng)組成如圖1所示,上位計(jì)算機(jī)運(yùn)行監(jiān)控軟件與OMRON專用的PLC編程及配置軟件,并將計(jì)算機(jī)串口連接到RS232-CAN適配器,配置為CAN總線。下位PLC采用多臺(tái)OMRON的CPM2A型PLC,將CPM2A的串口連接RS232-CAN適配器,實(shí)現(xiàn)CAN總線通信。

圖1通信系統(tǒng)結(jié)構(gòu)

通過適配器,計(jì)算機(jī)與PLC成為CAN總線的節(jié)點(diǎn)。

節(jié)點(diǎn)之間通過雙絞屏蔽線進(jìn)行總線式連接,首尾節(jié)點(diǎn)需要接120R的匹配電阻。上位計(jì)算機(jī)可以通過CAN總線實(shí)時(shí)監(jiān)控PLC系統(tǒng)的運(yùn)行。

此方案是現(xiàn)場(chǎng)總線技術(shù)與集中控制技術(shù)的有機(jī)結(jié)合,聯(lián)網(wǎng)后的PLC網(wǎng)絡(luò)可以構(gòu)成一個(gè)DCS系統(tǒng)。用戶在計(jì)算機(jī)上可以遠(yuǎn)程監(jiān)控、配置任何一臺(tái)PLC的程序或狀態(tài)。并能夠在投入較低硬件成本的基礎(chǔ)上,實(shí)現(xiàn)良好的系統(tǒng)運(yùn)行性能。這個(gè)方案充分發(fā)揮了CAN總線的通信特點(diǎn):實(shí)時(shí)、可靠、高速、遠(yuǎn)距離、易維護(hù)等。

使用RS232-CAN適配器后,通信距離擴(kuò)大到5公里(9600bps時(shí)),組網(wǎng)的PLC可增至110臺(tái)(實(shí)際上受PLC內(nèi)部系統(tǒng)軟件的限制,最多只能支持32臺(tái)PLC聯(lián)網(wǎng))。

RS232-CAN適配器采用光電隔離,大大提高了系統(tǒng)的抗干擾能力和安全性能。

另外,使用RS232-CAN適配器,并不需改變PLC系統(tǒng)原有的PLC通訊協(xié)議和上位機(jī)監(jiān)控軟件,開發(fā)人員無須更改現(xiàn)在使用的串口通信程序,最大限度的節(jié)省成本。

4HOST-LINK通信協(xié)議

采用RS232-CAN適配器,計(jì)算機(jī)與PLC的串口都被配置成CAN總線。通信方式與上位機(jī)監(jiān)控軟件的編程方式與串行通信完全相同。通信協(xié)議一般采用OMRON公司的HOST-LINK通信協(xié)議。

OMRON公司的HOST-LINK通信系統(tǒng)是由上位計(jì)算機(jī)(IBMPC或兼容機(jī))通過安裝在各臺(tái)PLC上的HOST-LINK單元或串行通信接口連接多臺(tái)PLC構(gòu)成的網(wǎng)絡(luò)。上位機(jī)對(duì)系統(tǒng)中的PLC進(jìn)行集中管理與監(jiān)控,通過與HOST-LINK單元的通信,可以編輯或修改各臺(tái)PLC的程序,實(shí)時(shí)監(jiān)控其運(yùn)行過程,實(shí)現(xiàn)自動(dòng)化系統(tǒng)的集散控制。對(duì)于小型PLC(如CPM2A),可以通過其RS232通信端口進(jìn)行鏈接。

系統(tǒng)使用HOST-LINK通信協(xié)議進(jìn)行通信,上位機(jī)具有傳送優(yōu)先權(quán),總是首先發(fā)出命令并啟動(dòng)通信,HOST-LINK單元收到命令交由PLC執(zhí)行,然后將執(zhí)行結(jié)果返回上位機(jī),二者以通信幀為單位,輪流交換數(shù)據(jù)。

通信時(shí),一組傳送的數(shù)據(jù)稱為“塊”,它是命令或響應(yīng)的單位,從上位機(jī)發(fā)送到HOST-LINK單元的數(shù)據(jù)塊稱為命令塊,反過來,從HOST-LINK單元發(fā)送到上位機(jī)的數(shù)據(jù)塊稱為響應(yīng)塊。多點(diǎn)通信時(shí),可作為單幀發(fā)送的最大數(shù)據(jù)塊為131個(gè)字符,因此當(dāng)一個(gè)數(shù)據(jù)塊含有132個(gè)或更多字符時(shí),要分成兩幀或多幀發(fā)送。

每個(gè)數(shù)據(jù)塊都以設(shè)備號(hào)及標(biāo)題開始,以校驗(yàn)碼(FCS)及結(jié)束符結(jié)束。響應(yīng)塊中還包括反應(yīng)執(zhí)行結(jié)果的響應(yīng)碼。通信格式如圖2所示。

圖2HOST-LINK通信幀格式

5通信實(shí)現(xiàn)

用戶可以采用通用的組態(tài)軟件(如組態(tài)王)實(shí)現(xiàn)計(jì)算機(jī)與PLC的通信,也可以編寫計(jì)算機(jī)程序。

要編寫計(jì)算機(jī)通信程序,可以采用VB、VC等高級(jí)語言進(jìn)行編程,編程可以有多種方式[4]。使用MSComm控件通過串行端口傳送和接收數(shù)據(jù),實(shí)現(xiàn)計(jì)算機(jī)與PLC之間的數(shù)據(jù)通信,編程較簡單。

MSComm控件提供了一種有效的處理串*互作用的方法:事件驅(qū)動(dòng)法。該方法利用OnComm事件捕獲并處理通信及其錯(cuò)誤,當(dāng)CommEvent屬性發(fā)生變化時(shí),就產(chǎn)生事件并等待相應(yīng)處理。每個(gè)MSComm控件都有一個(gè)串口相對(duì)應(yīng)。

VisualBasic6.0(以下簡稱VB)是一種功能強(qiáng)大、簡單易學(xué)的程序設(shè)計(jì)語言,利用ActiveX控件MSComm能十分方便地開發(fā)出使用計(jì)算機(jī)串口的計(jì)算機(jī)通信程序。本文在VB中使用MSComm控件實(shí)現(xiàn)上位機(jī)與PLC的串行通信。

VB程序由串口初始化、數(shù)據(jù)發(fā)送、數(shù)據(jù)接收等幾大部分組成。主要的程序段如下所示。

Rem程序加載時(shí)進(jìn)行串口初始化

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

6結(jié)束語

本文基于VB利用MSComm控件實(shí)現(xiàn)了上位機(jī)與歐姆龍PLC的串行通信,充分發(fā)揮了CAN總線實(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)場(chǎng)多臺(tái)PLC聯(lián)網(wǎng)應(yīng)用的需求。即使借助RS232/RS485-CAN適配器也很難突破串行通信本身的功能限制[5]。

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

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

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:【應(yīng)用干貨】四大加速度傳感...

下一篇:基于PLC的水電站空壓機(jī)控制系統(tǒng)

中國傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動(dòng)網(wǎng)(www.treenowplaneincome.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“中國傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡介|會(huì)員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

中國傳動(dòng)網(wǎng)-工業(yè)自動(dòng)化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺(tái)

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號(hào) | 營業(yè)執(zhí)照證書 | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)