技術(shù)頻道

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

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

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

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

一、介紹

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

CAN(ControllerAreaNetwork)現(xiàn)場(chǎng)總線(xiàn)僅僅定義了第1層、第2層(見(jiàn)ISO11898標(biāo)準(zhǔn));實(shí)際設(shè)計(jì)中,這兩層完全由硬件實(shí)現(xiàn),設(shè)計(jì)人員無(wú)需再為此開(kāi)發(fā)相關(guān)軟件(Software)或固件(Firmware)。同時(shí),CAN只定義物理層和數(shù)據(jù)鏈路層,沒(méi)有規(guī)定應(yīng)用層,本身并不完整,需要一個(gè)高層協(xié)議來(lái)定義CAN報(bào)文中的11/29位標(biāo)識(shí)符、8字節(jié)數(shù)據(jù)的使用。而且,基于CAN總線(xiàn)的工業(yè)自動(dòng)化應(yīng)用中,越來(lái)越需要一個(gè)開(kāi)放的、標(biāo)準(zhǔn)化的高層協(xié)議:這個(gè)協(xié)議支持各種CAN廠(chǎng)商設(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ò)中每一個(gè)有效設(shè)備都能夠提供一組有用的服務(wù)與協(xié)議。

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

設(shè)備描述(Deviceproflile):為設(shè)備(類(lèi))增加符合規(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è)備類(lèi)型,例如數(shù)字和模擬的輸入輸出模塊、驅(qū)動(dòng)設(shè)備、操作設(shè)備、控制器、可編程控制器或編碼器,都在稱(chēng)為“設(shè)備描述”的協(xié)議中進(jìn)行描述;“設(shè)備描述”定義了不同類(lèi)型的標(biāo)準(zhǔn)設(shè)備及其相應(yīng)的功能。依靠CANopen協(xié)議的支持,可以對(duì)不同廠(chǎng)商的設(shè)備通過(guò)總線(xiàn)進(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è)備部門(mén)制定?,F(xiàn)在CAL由獨(dú)立的CAN用戶(hù)和制造商集團(tuán)CiA(CANinAutomation)協(xié)會(huì)負(fù)責(zé)管理、發(fā)展和推廣。

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

CMS(CAN-basedMessageSpecification)

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

NMT(NetworkManagemenT)

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

DBT(DistriBuTor)

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

LMT(LayerManagemenT)

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

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

 

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

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

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

圖2

四、CPS_ModbusRTUGateway(I-7232D)配置

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

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

圖3

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

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

圖4

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

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

圖5

I-7232D的CANopen端:

波特率:250KBPS

節(jié)點(diǎn)號(hào)為:1

然后點(diǎn)擊RS-485按鈕如下圖

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

圖6

I-7232D的RS-485端:

波特率:19200BPS

數(shù)據(jù)長(zhǎng)度:8

奇偶校驗(yàn):無(wú)

停止位:1

超時(shí):50ms

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

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

圖7

然后點(diǎn)擊“ADD”按鈕添加MODBUS地址映射,”ModbusDeviceNodeID”,這里輸入被映射的變頻器RS-485節(jié)點(diǎn)地址,”RelayAddress”,本欄里選擇MODBUSRTU功能碼,這里我們只用兩個(gè)功能碼:AnalogOutput(寫(xiě)入)和AnalogInput(讀取),“Register/RelayAddress”此處填入要讀/寫(xiě)的變頻器寄存器地址,“DataLength”這里設(shè)置讀/寫(xiě)變頻器寄存器的數(shù)據(jù)長(zhǎng)度。在這里我們的映射地址如下表所示。在完成映射后點(diǎn)擊“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)海華騰變頻器的價(jià)格.jpg 

圖8

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

圖9

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

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

圖10

然后點(diǎn)擊“Finish”保存配置的參數(shù)到I-7232D同時(shí)在應(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è)備名稱(chēng)

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寫(xiě)入

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

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

;nodeidcofg

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

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])?將要寫(xiě)入的數(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]);存儲(chǔ)讀入的數(shù)據(jù)

(*setthedestinationadress*)

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

(*setcan_id*)

CANrtr_01[i]FUBCANrtr();發(fā)送請(qǐng)求讀取數(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地址映射時(shí)沒(méi)有按COB-ID對(duì)齊(節(jié)省空間地址)如在寫(xiě)入時(shí)COB-ID為0X301一次可寫(xiě)入4個(gè)字,前兩個(gè)字為#1號(hào)變頻器的MODBUS地址,后兩個(gè)字為#2號(hào)變頻器MODBUS地址,讀取地址原理相同,具體查看I-7232D的PDO的參數(shù)列表

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

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:扶梯解決方案

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

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

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

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

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

網(wǎng)站客服服務(wù)咨詢(xún)采購(gòu)咨詢(xún)媒體合作

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