熟女人妻水多爽中文字幕,国产精品鲁鲁鲁,隔壁的少妇2做爰韩国电影,亚洲最大中文字幕无码网站

技術頻道

娓娓工業(yè)
您現在的位置: 中國傳動網 > 技術頻道 > 應用方案 > 藍海華騰變頻器與貝加萊人機界面的CANOPEN通訊

藍海華騰變頻器與貝加萊人機界面的CANOPEN通訊

時間:2019-08-12 15:53:52來源:藍海華騰

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

一、介紹

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

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

應用層(Applicationlayer):為網絡中每一個有效設備都能夠提供一組有用的服務與協議。

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

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

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

藍海華騰變頻器.jpg 

圖1CAN、CANopen標準在OSI網絡模型中的位置框圖

二、CAL協議

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

CAL提供了4種應用層服務功能:

CMS(CAN-basedMessageSpecification)

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

NMT(NetworkManagemenT)

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

DBT(DistriBuTor)

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

LMT(LayerManagemenT)

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

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

 

映射到CAL服務和對象的COB-ID(11位CAN標識符)服務或對象
0NMT 啟動/停止服務
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é)點保護
2016 - 2031NMT,LMT,DBT服務

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

 è—æµ·è¯é¨°è®Šé »å™¨æ‡‰ç”¨.jpg

圖2

四、CPS_ModbusRTUGateway(I-7232D)配置

在計算機上安裝I-7232DUTILITY配置軟件,并運行如下圖所示

 è—æµ·è¯é¨°è®Šé »å™¨çš„æ‡‰ç”¨.jpg

圖3

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

藍海華騰變頻器的原理.jpg 

圖4

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

藍海華騰變頻器的工作原理.jpg 

圖5

I-7232D的CANopen端:

波特率:250KBPS

節(jié)點號為:1

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

 è—æµ·è¯é¨°è®Šé »å™¨çš„型號.jpg

圖6

I-7232D的RS-485端:

波特率:19200BPS

數據長度:8

奇偶校驗:無

停止位:1

超時:50ms

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

藍海華騰變頻器的維修.jpg 

圖7

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

 

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

藍海華騰變頻器的價格.jpg 

圖8

 è—æµ·è¯é¨°è®Šé »å™¨ä½œç”¨.jpg

圖9

完成以上操作后點擊“NEXT”出現如下窗口

藍海華騰變頻器說明書.jpg 

圖10

然后點擊“Finish”保存配置的參數到I-7232D同時在應用程序根目錄下生成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";設備名稱

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進入運行狀態(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])?將要寫入的數據

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]);存儲讀入的數據

(*setthedestinationadress*)

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

(*setcan_id*)

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

(*callCANrtr*)

whenCANrtr_01[i].status<>MSG_BUSY;1

nextSend_Data1

endselect

endloop

數據轉換程序:

(*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的參數列表

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

標簽:

點贊

分享到:

上一篇:扶梯解決方案

下一篇:視覺+機器人,如何實現連接器...

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

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

網站簡介|會員服務|聯系方式|幫助信息|版權信息|網站地圖|友情鏈接|法律支持|意見反饋|sitemap

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

網站客服服務咨詢采購咨詢媒體合作

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

主站蜘蛛池模板: 平顺县| 新余市| 陆川县| 隆子县| 汝南县| 洪泽县| 原阳县| 镇远县| 松桃| 宜良县| 郓城县| 海兴县| 高碑店市| 来安县| 平罗县| 宝清县| 仁怀市| 新巴尔虎左旗| 新沂市| 云安县| 湛江市| 彩票| 疏勒县| 肃北| 富平县| 潼南县| 诸暨市| 黔南| 宜阳县| 太白县| 金乡县| 神农架林区| 通化市| 友谊县| 诏安县| 金坛市| 吉水县| 莱阳市| 青海省| 长顺县| 汨罗市|