技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 應(yīng)用方案 > 藍(lán)海華騰變頻器與貝加萊人機(jī)界面的CANOPEN通訊

藍(lán)海華騰變頻器與貝加萊人機(jī)界面的CANOPEN通訊

時間:2019-08-12 15:53:52來源:藍(lán)海華騰

導(dǎo)語:?工業(yè)自動化設(shè)備資料下載,中國傳動網(wǎng)站提供各種變頻器、伺服驅(qū)動器,自動化設(shè)備,智能制造資料,技術(shù)文章,產(chǎn)品使用手冊免費(fèi)下載,應(yīng)用案例等資料,是廣大工業(yè)自動化工程師所喜愛工控資料網(wǎng)站。

一、介紹

從OSI網(wǎng)絡(luò)模型的角度來看同,現(xiàn)場總線網(wǎng)絡(luò)一般只實現(xiàn)了第1層(物理層)、第2層(數(shù)據(jù)鏈路層)、第7層(應(yīng)用層)。因為現(xiàn)場總線通常只包括一個網(wǎng)段,因此不需要第3層(傳輸層)和第4層(網(wǎng)絡(luò)層),也不需要第5層(會話層)第6層(描述層)的作用。

CAN(ControllerAreaNetwork)現(xiàn)場總線僅僅定義了第1層、第2層(見ISO11898標(biāo)準(zhǔn));實際設(shè)計中,這兩層完全由硬件實現(xiàn),設(shè)計人員無需再為此開發(fā)相關(guān)軟件(Software)或固件(Firmware)。同時,CAN只定義物理層和數(shù)據(jù)鏈路層,沒有規(guī)定應(yīng)用層,本身并不完整,需要一個高層協(xié)議來定義CAN報文中的11/29位標(biāo)識符、8字節(jié)數(shù)據(jù)的使用。而且,基于CAN總線的工業(yè)自動化應(yīng)用中,越來越需要一個開放的、標(biāo)準(zhǔn)化的高層協(xié)議:這個協(xié)議支持各種CAN廠商設(shè)備的互用性、互換性,能夠?qū)崿F(xiàn)在CAN網(wǎng)絡(luò)中提供標(biāo)準(zhǔn)的、統(tǒng)一的系統(tǒng)通訊模式,提供設(shè)備功能描述方式,執(zhí)行網(wǎng)絡(luò)管理功能。

應(yīng)用層(Applicationlayer):為網(wǎng)絡(luò)中每一個有效設(shè)備都能夠提供一組有用的服務(wù)與協(xié)議。

通訊描述(Communicationprofile):提供配置設(shè)備、通訊數(shù)據(jù)的含義,定義數(shù)據(jù)通訊方式。

設(shè)備描述(Deviceproflile):為設(shè)備(類)增加符合規(guī)范的行為。

下面將介紹基于CAN的高層協(xié)議:CAL協(xié)議和基于CAL協(xié)議擴(kuò)展的CANopen協(xié)議。CANopen協(xié)議是CAN-in-Automation(CiA)定義的標(biāo)準(zhǔn)之一,并且在發(fā)布后不久就獲得了廣泛的承認(rèn)。尤其是在歐洲,CANopen協(xié)議被認(rèn)為是在基于CAN的工業(yè)系統(tǒng)中占領(lǐng)導(dǎo)地位的標(biāo)準(zhǔn)。大多數(shù)重要的設(shè)備類型,例如數(shù)字和模擬的輸入輸出模塊、驅(qū)動設(shè)備、操作設(shè)備、控制器、可編程控制器或編碼器,都在稱為“設(shè)備描述”的協(xié)議中進(jìn)行描述;“設(shè)備描述”定義了不同類型的標(biāo)準(zhǔn)設(shè)備及其相應(yīng)的功能。依靠CANopen協(xié)議的支持,可以對不同廠商的設(shè)備通過總線進(jìn)行配置。在OSI模型中,CAN標(biāo)準(zhǔn)、CANopen協(xié)議之間的關(guān)系如下圖所示:

藍(lán)海華騰變頻器.jpg 

圖1CAN、CANopen標(biāo)準(zhǔn)在OSI網(wǎng)絡(luò)模型中的位置框圖

二、CAL協(xié)議

CAL(CANApplicationLayer)協(xié)議是目前基于CAN的高層通訊協(xié)議中的一種,最早由Philips醫(yī)療設(shè)備部門制定?,F(xiàn)在CAL由獨(dú)立的CAN用戶和制造商集團(tuán)CiA(CANinAutomation)協(xié)會負(fù)責(zé)管理、發(fā)展和推廣。

CAL提供了4種應(yīng)用層服務(wù)功能:

CMS(CAN-basedMessageSpecification)

CMS提供了一個開放的、面向?qū)ο蟮沫h(huán)境,用于實現(xiàn)用戶的應(yīng)用。CMS提供基于變量、事件、域類型的對象,以設(shè)計和規(guī)定一個設(shè)備(節(jié)點)的功能如何被訪問(例如,如何上載下載超過8字節(jié)的一組數(shù)據(jù)(域),并且有終止傳輸?shù)墓δ埽?。CMS從MMS(ManufacturingMessageSpecification)繼承而來。MMS是OSI為工業(yè)設(shè)備的遠(yuǎn)程控制和監(jiān)控而制定的應(yīng)用層規(guī)范。

NMT(NetworkManagemenT)

提供網(wǎng)絡(luò)管理(如初始化、啟動和停止節(jié)點,偵測失效節(jié)點)服務(wù)。這種服務(wù)是采用主從通訊模式(所以只有一個NMT主節(jié)點)來實現(xiàn)的。

DBT(DistriBuTor)

提供動態(tài)分配CANID(正式名稱為COB-ID,CommunicationObjectIdentifier)服務(wù)。這種服務(wù)是采用主從通訊模式(所以只有一個DBT主節(jié)點)來實現(xiàn)的。

LMT(LayerManagemenT)

LMT提供修改層參數(shù)的服務(wù):一個節(jié)點(LMTMaster)可以設(shè)置另外一個節(jié)點(LMTSlave)的某層參數(shù)(如改變一個節(jié)點的NMT地址,或改變CAN接口的位定時和波特率)。

CMS為它的消息定義了8個優(yōu)先級,每個優(yōu)先級擁有220個COB-ID,范圍從1到1760。剩余的標(biāo)志(0,1761-2031)保留給NMT,DBT和LMT,見下表。

 

映射到CAL服務(wù)和對象的COB-ID(11位CAN標(biāo)識符)服務(wù)或?qū)ο?/td>
0NMT 啟動/停止服務(wù)
1 - 220CMS對象 優(yōu)先級0
221 - 440CMS對象 優(yōu)先級1
441 - 660CMS對象 優(yōu)先級2
661 - 880CMS對象 優(yōu)先級3
881 - 1100CMS對象 優(yōu)先級4
1101 - 1320CMS對象 優(yōu)先級5
1321 - 1540CMS對象 優(yōu)先級6
1541 - 1760CMS對象 優(yōu)先級7
1761 - 2015NMT 節(jié)點保護(hù)
2016 - 2031NMT,LMT,DBT服務(wù)

三、變頻器與貝加萊人機(jī)界面連接如下

 藍(lán)海華騰變頻器應(yīng)用.jpg

圖2

四、CPS_ModbusRTUGateway(I-7232D)配置

在計算機(jī)上安裝I-7232DUTILITY配置軟件,并運(yùn)行如下圖所示

 藍(lán)海華騰變頻器的應(yīng)用.jpg

圖3

運(yùn)行配置軟件后顯示如下圖,I-7232D上電時將INT腳與GND短接,使I-7232D工作在配置模式

藍(lán)海華騰變頻器的原理.jpg 

圖4

選擇正確的通訊COM口,點擊“CONNETCT”連接I-7232D,連接成功后,點擊CAN-bus將出現(xiàn)如下窗口圖所示:

藍(lán)海華騰變頻器的工作原理.jpg 

圖5

I-7232D的CANopen端:

波特率:250KBPS

節(jié)點號為:1

然后點擊RS-485按鈕如下圖

 藍(lán)海華騰變頻器的型號.jpg

圖6

I-7232D的RS-485端:

波特率:19200BPS

數(shù)據(jù)長度:8

奇偶校驗:無

停止位:1

超時:50ms

在配置完通訊端口參數(shù)后擊點“NEXT”彈出如下窗口,如圖所示

藍(lán)海華騰變頻器的維修.jpg 

圖7

然后點擊“ADD”按鈕添加MODBUS地址映射,”ModbusDeviceNodeID”,這里輸入被映射的變頻器RS-485節(jié)點地址,”RelayAddress”,本欄里選擇MODBUSRTU功能碼,這里我們只用兩個功能碼:AnalogOutput(寫入)和AnalogInput(讀取),“Register/RelayAddress”此處填入要讀/寫的變頻器寄存器地址,“DataLength”這里設(shè)置讀/寫變頻器寄存器的數(shù)據(jù)長度。在這里我們的映射地址如下表所示。在完成映射后點擊“ModbusInformation”和“PDOInformation”可以察看映射參數(shù)列表如下圖所示

 

nstance NO.Modbus Device NodeIDRelay AddressRegister/Relay AddressData Length
11Analog Output327691
21Analog Output327701
31Analog Input330361
41Analog Input330791
51Analog Input330811
62Analog Output327691
72Analog Output327701
82Analog Input330361
92Analog Input330791
102Analog Input330811

藍(lán)海華騰變頻器的價格.jpg 

圖8

 藍(lán)海華騰變頻器作用.jpg

圖9

完成以上操作后點擊“NEXT”出現(xiàn)如下窗口

藍(lán)海華騰變頻器說明書.jpg 

圖10

然后點擊“Finish”保存配置的參數(shù)到I-7232D同時在應(yīng)用程序根目錄下生成EDS文件,保存成功后返回主窗口。完成配置后掉電重啟I-7232D。

PP45CANopen程序:

CAN通訊口初始化程序

(*initprogram*)

CANopen_0.enable=1

CANopen_0.baud_rate=25;250k

CANopen_0.cob_anz=20

CANopen_0.error_adr=adr(ERR)

CANopen_0.device="SS1.IF3";設(shè)備名稱

CANopen_0.info=0

CANopen_0FUBCANopen();初始化CAN

NMT_Data[0]=1;CANOPEN命令01-

NMT_Data[1]=0

;requstcobcofg

UserType.RTR_COB[1]=$281;COB-ID281讀取

UserType.RTR_COB[2]=$381;......

UserType.RTR_COB[3]=$481

;cmmdcobcofg

UserType.Send_COB[1]=$301;COB-ID301寫入

UserType.Send_COB[2]=$301;......

UserType.Send_COB[3]=$401;......

;nodeidcofg

UserType.Node[1]=$01;RS-485節(jié)點地址

UserType.Node[2]=$02;..

UserType.Node[3]=$03

PDO程序;

(*cyclicprogram*)

loopi=1to3do

m[i]=workstep[i]

selectworkstep[i]

stateSend_NMT

CANwrite_NMT[i].enable=1

CANwrite_NMT[i].us_ident=CANopen_0.us_ident

CANwrite_NMT[i].can_id=NMT_COB;0

CANwrite_NMT[i].data_adr=adr(NMT_Data[0])

CANwrite_NMT[i].data_lng=sizeof(NMT_Data)

CANwrite_NMT[i]FUBCANwrite()----?使I-78232D進(jìn)入運(yùn)行狀態(tài)

whenCANwrite_NMT[i].status<>MSG_BUSY;1

nextSend_Data1

stateSend_Data1

(*PDO1RX*)

CANwrite_data1[i].enable=1

CANwrite_data1[i].us_ident=CANopen_0.us_ident

CANwrite_data1[i].can_id=UserType.Send_COB[i]

CANwrite_data1[i].data_adr=adr(UserType.Txdata[i].Data[0])?將要寫入的數(shù)據(jù)

CANwrite_data1[i].data_lng=sizeof(UserType.Txdata[i])

CANwrite_data1[i]FUBCANwrite()

whenCANwrite_data1[i].status<>MSG_BUSY;1

nextSend_Data2

stateSend_Data2(*PDO1TX*)

(*讀取模式為異步RTR*)

CANrtr_01[i].request=notCANrtr_01[i].request

CANrtr_01[i].enable=1

(*enablethefunctionblockCANrtr*)

CANrtr_01[i].us_ident=CANopen_0.us_ident

(*setus_idwiththevaluefromCANopen*)

CANrtr_01[i].data_adr=ADR(UserType.Rxdata[i].Data[0]);存儲讀入的數(shù)據(jù)

(*setthedestinationadress*)

CANrtr_01[i].can_id=UserType.RTR_COB[i]

(*setcan_id*)

CANrtr_01[i]FUBCANrtr();發(fā)送請求讀取數(shù)據(jù)

(*callCANrtr*)

whenCANrtr_01[i].status<>MSG_BUSY;1

nextSend_Data1

endselect

endloop

數(shù)據(jù)轉(zhuǎn)換程序:

(*cyclicprogram*)

loopi=1to2do

ifi=1then

memcpy(adr(mActFreq[i]),adr(UserType.Rxdata[i].Data[2]),2)

MotorApp[i].rActFreq=real(mActFreq[i])/100.0;actfreqence

memcpy(adr(MotorApp[i].rStatus),adr(UserType.Rxdata[i].Data[0]),2);statusword

UserType.Txdata[i].Data[0]=byte(MotorApp[i].wCtrlWord);setcontrlword

UserType.Txdata[i].Data[1]=byte(lsr(MotorApp[i].wCtrlWord,8))

UserType.Txdata[i].Data[2]=byte(uint(MotorApp[i].wSetfreq*100));setFreqence

UserType.Txdata[i].Data[3]=byte(lsr(uint(MotorApp[i].wSetfreq*100),8))

UserType.Txdata[i].Data[4]=UserType.Txdata[i+1].Data[4]

UserType.Txdata[i].Data[5]=UserType.Txdata[i+1].Data[5]

UserType.Txdata[i].Data[6]=UserType.Txdata[i+1].Data[6]

UserType.Txdata[i].Data[7]=UserType.Txdata[i+1].Data[7]

else

memcpy(adr(mActFreq[i]),adr(UserType.Rxdata[i].Data[0]),2)

MotorApp[i].rActFreq=real(mActFreq[i])/100.0;actfreqence

memcpy(adr(MotorApp[i].rStatus),adr(UserType.Rxdata[i].Data[2]),2);statusword

UserType.Txdata[i].Data[4]=byte(MotorApp[i].wCtrlWord);setcontrlword

UserType.Txdata[i].Data[5]=byte(lsr(MotorApp[i].wCtrlWord,8))

UserType.Txdata[i].Data[6]=byte(uint(MotorApp[i].wSetfreq*100));setFreqence

UserType.Txdata[i].Data[7]=byte(lsr(uint(MotorApp[i].wSetfreq*100),8))

UserType.Txdata[i].Data[0]=UserType.Txdata[i-1].Data[0]

UserType.Txdata[i].Data[1]=UserType.Txdata[i-1].Data[1]

UserType.Txdata[i].Data[2]=UserType.Txdata[i-1].Data[2]

UserType.Txdata[i].Data[3]=UserType.Txdata[i-1].Data[3]

endif

status_1=UserType.Rxdata[1].Data[1]

status_2=UserType.Rxdata[1].Data[7]

endloop

注意:在MODBUS地址映射時沒有按COB-ID對齊(節(jié)省空間地址)如在寫入時COB-ID為0X301一次可寫入4個字,前兩個字為#1號變頻器的MODBUS地址,后兩個字為#2號變頻器MODBUS地址,讀取地址原理相同,具體查看I-7232D的PDO的參數(shù)列表

聲明:本文為轉(zhuǎn)載類文章,如涉及版權(quán)問題,請及時聯(lián)系我們刪除(QQ: 2737591964),不便之處,敬請諒解!

標(biāo)簽:

點贊

分享到:

上一篇:扶梯解決方案

下一篇:視覺+機(jī)器人,如何實現(xiàn)連接器...

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

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

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

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

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

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號