CANopen培训资料.docx
《CANopen培训资料.docx》由会员分享,可在线阅读,更多相关《CANopen培训资料.docx(15页珍藏版)》请在冰豆网上搜索。
![CANopen培训资料.docx](https://file1.bdocx.com/fileroot1/2023-2/2/aad77531-af0f-48c8-b5bc-38b257e655a5/aad77531-af0f-48c8-b5bc-38b257e655a51.gif)
CANopen培训资料
1.介绍
CAN只定义物理层和数据链路层,没有规定应用层,本身并不完整,需要一个高层协议来定义CAN报文中的11/29位标识符、8字节数据的使用。
而且,基于CAN总线的工业
自动化应用中,越来越需要一个开放的、标准化的高层协议:
这个协议支持各种CAN厂商
设备的互用性、互换性,能够实现在CAN网络中提供标准的、统一的系统通讯模式,提供
设备功能描述方式,执行网络管理功能。
2.对象字典(0D)
对象字典是一个有序的对象组,每一个对象组采用一个16位的索引和一个8位的子索引来
寻址。
theObjectDictionarPservesasan_interfacebetweenthecommunicationandtheapplication.
Object
Dictionary
Application
Communication
Entry1
Entry2
Application
object
Applicationobject
Applicationobject
Applicationobject
对象字典中索引的分类
Indexrange索引范围
Description描述
0000h
Reserved保留
000lbto025F|,
Datatypes数据类型
0260(.toOFFFh,
Reserved保留
1000()toJFFFb
Communicationprofilearea通讯对象了协议区
2D(X)hTO$FFFh
Manufacnircr-spccificprofilearea制造商持定子协谊区
6000(.to^FFFh,
Standardizedprofilearea标准化设备子协议区
A000htoAFFFh
Networkvariables络变屋(符合IE61I3I小
BOOOi.toBFFPh
Systemvariables用于路由网关的系统变量
C(XXVToFFFFh
Reserved保留
Index索引
Object对象
Name名字
1000b
VAR变量
Devicetype设备类型
]001h
VAR变量
Em)rregister错促寄存器
1002h
VAR变量
Manufacturerstatusregister刚in商狀态itf存器
1隔
ARRAY数组
Pre*definederrorfield预走义钳误场
1005h
VAR变呈
COB-IDSynemessage1司步报立COB标识符
1呱
VAR变量
Communicationcycleperiod同步通信循环周期(单位ug)
1007h
VAR变皐
SynchronouswindowsLength同步窗口悅度(单位us)
100Sh
VAR变量
Manuiacturcrdevicename制造i讯谕备名称
加h
VAR变韋
Manuiacturerhardwareversion制适商硬件版本
100A|,
VAR变呈
Manufacturcrsoftwareversion制造jfij软件版本
IOOCh
VAR变竜
Guardtime守护时间(单位ms)
ioo[\
VAR变帛:
Lifetimefhetar命因子(单■位ms)
10l0h
VAR变量
Storeparameters保存参数
VAR变星
Restoredefauhpammeier;恢貝默认辱数
IO12b
VAR變鼠
COB-TDtimestamp时间报艾COB标识符t发送网堵时间)
IOBh
VAR变量
Higiiresolutionlimestamp高分辨率时间标识
101%
VAR变凰
COB-IDcrtwrgcflcy紧急报丈COH标讲符
IO15h
VAR变量
Inhibittimeemergency室急报.乂祭止时间(单位1OOus)
101%
ARRAY数组
Consumerht^nbeallimeiff的?
J心挑时血侧隔(单位ms)
lOHt,
VAR变量
Producerheartbeattime主产考'卍跳时间间隔【单位nis)
l018t
RECORD记诫
Identityobject厂商ID标1R对ft
IO19b
VAR变量
Sync.counteroverflowvalue同步计数溢止值
1020h
ARRAY数组
Verityc^nfiguralion验证配%
IO2ln
VAR变鼠
SloreEDS存储EDS
1022t
VAR变量
Storageformat存储榕式
IO23t
RECORD记录
OScommand檢作系统命令
IO24h
VAR变量
OScommandmode操作系统命令模式
lO25t
RECORD记*:
OSdebuggerinterhec掛耶系球调试接门
1026k
ARRAY数组
OS卩ronipt操作系统提示
1啊
ARRAYKftl
Moduletirt模块列农
102焉
ARRAY数组
Emergencyconsumer急报文消齋考
1呱
ARRAY数蛆
Errorbehavior错逞行为
3.NMT状态机
PoweronorHardwareReset
(1)
AtPowerontheinitialisationstateisenteredautonomously
1
(2)
Initialisationfinished-enterPRE-QPERATIONALautomatically
⑶佝
StartRemoteNodeindication
⑷,⑺
Enter^PRE^OPERATIONALStateindication
(5)X8)
StopRemoteNodeindication
(9),(10)-(11)
ResetNodeindication
(12),(13),(14)
IResetCommunicationindication
服务
预操作
(Pre-Operational)
操作
(Operational)
停止
(Stopped
过程数据对象
(PDO)
否
是
否
服务数据对象
(SDO)
是
是
否
同步报文(SPNC)
是
是
否
紧急报文(EMCP)
是
是
否
网络管理(NMT)
是
是
是
1.1.心跳报文(Heartbeat)
一个节点可以被配置为心跳报文的生产者,Heartbeat的消费者一般是主站
COBJD
Byte0
0x700+Node_lD
状态
状态
意义
0
Boot-up
4
Stopped
5
Operational
127
Pre-operational
1.2.NMTBoot-up
NMT-Slave发布Bootup报文通知NMT主节点它已经从initialising状态进入pre-operational状态
NMT-Master€NMT-Slave
COB-ID
Byte0
0x700+NodeJD
0
1.3.节点保护/寿命保护
NMT主节点发送远程帧
COBID
0x700+Node_ID
NMT从节点响应远程帧
COB-ID
ByteO
0x700+NodeJD
Bit7:
toggleBit6-0:
状态
数据部分包括一个触发位(bit7),触发位必须在每次节点保护应答中交替置“0”者“1。
触
发位在第一次节点保护请求时置为“0。
位0到位6(bitsO〜6)表示节点状态,可为下表中
的数值。
Value
状态
0
Initialising
1
Disconnected*
2
Connecting*
3
Preparing*
4
Stopped
5
Operational
127
Pre-operational
带G号的只有在支持Bootup的节点才提供,状态0不在节点保护应答中出现,因为节点在此状态下不应答节点保护报文。
4.周期性过程数据(PDO)
节点1对象字典*
L
总线屮
14E
00族
01h<-
02h*
D3h*JP
72DOh^
00»
Olh^1
02hP
05族
FFN
F3CCh^
RPDO通讯琴敌,
节点2衬象字典.
RPDO映射養数
lGOlh^
00*
01^
02h*
02破
72000110加
72000203^
232h*nF3CCh^D5h^卫
传输方式
1、事件驱动
当输入值发生变化时,数据立即被发送出去
2、远程请求
PDO由远程帧触发,大部分设备不支持远程帧,且CIA组织不推荐使用。
3、同步传输
RPDO:
先接收到数据,但不更新到设备,只有接收到同步帧出发后,才更新,通过这种方式实现同步。
TPDO:
可以设置接收到多少个同步帧后才发送TPDO。
5.非周期性服务数据(SDO)
建立在客户端与服务器这样一种模型之上。
操作可分为下载和上传。
1.1.加速传输
Client心Server/ServerClient
Byte0
Byte1-2
Byte3
Byre4-7
SDO
CommandSpecifier
对象索引
对象子我引
**
Client于Server/ServerClient
Ryte0
Byte1-70
SDO命令字
报大了子节数据(segmentedtransfer)
ExpeditedSDOprotocol
快速5DO协议
Severflgg器
Client客户端
InitiateSDOdownload启动SDOTSfit写对象字典)
1K「数据23?
^数据4门数据5七Lcs命令符索引卩为离位r子索引数据(高位在后r
InitiateSDOdownloadresponse下载响应数据1:
「—
CS命令符索引。
为离位)子索引
InitiateSDOupleci启动SDO上传(读对象字典}
数据1:
数据2T:
数据4:
CS命令捋索引G为高位)子索引
InitiateSDOuploadresponse上传响应
数据1:
数据2与:
数据4:
数JS5-8:
H
CS命令符索引G为高位)子索引数据(高位在后)—
Commandspecifier(C$)op令将:
2介二写一个字节
2Bh二写两个字节
27h二写三个字节2孙=写四个字节
60hh写成功应答
40h兰读取
4Fh二决响应一个字节4Bh二诙响应两个字节47h二读响应三个字节43h二读响应四个字节
8(^=异常响应
1.2.分段传输
主要用于传输超过32位的数据。
Severfl^S#
Client客户揣
数据1:
InitiateSDOdownloadresponse下我响应鵠>I覇币为离位):
引
癖5・8:
未用补0
nCS:
21h「索引G为«{&}子索引
Download5DO宓gmerit1下载第—分段(满7字节)
数据1:
T|CS:
00h
第一分段的7个字諾(M位在司L
DownloadSDOsegment1responseTtS第一分段响应
J®«1:
数摇5冷1
~CS:
20h
未用补0*
DownloadSDOsegment2ton1下轻中间分段{满7字节)•数据l:
CS:
10hjF数据2-8:
亠
*和00佼替i中间分段的7个字节位在后)
4■呻■甲■單审4*W*■•■*'■*■****4**>9>■■■■g••■■•••
DownloadSDOsegment?
ton1下找中间分段响应
:
強i:
CS:
30bI
如5、8:
*'*■**►
■l
:
和20h交替:
未用W)
■
■
n
数据L:
CS"(详见下列表)
数据N8:
中间分段的X个字节{高位在后)
DownloadSDOsegmentn下裁虽后分段响应
数据t:
CS:
3Oh或2CH与
:
_t―响应的&不同)I
3.紧急报文(EMCP)
Byte
°
2
3
4
5
6
7
Content
EmergencyErrorCode
(seeTable21)
Errorregister(Object1001H)
ManufacturerspecificErrorField
COB-ID:
0G080+Node_ID
1003h中存放了错误的记录。
Table21:
EmergencyErrorCodes
Err^r匸心&(脳紆
Meaning
QQxx
Ernof%百号tqiNoError
ICkx
GemrrcEra
2Cmx
Cument
21u(
Cumsnl,deviceinput吕id冒
22kx
Clutgriinsidethedevice
23xx
Currentdi^vioeairtpuls-ide
Mjcx
Voltag白
31>«
M^insVoltage
32xx
Vol^gdinsideHtbdevice
33xx
OutputVoltage
4<]xx
Tempmture
41ju
AmbienLTempefature
DeviceT»mp&raiiwB
SCkx
DwiceI4ardwara
Wkx
DeviceSo^aro
61kx
IlntanaJSoftware
62kx
UsefSoFl/cane
也KX
DataSet
70m
AddriionalFMwluie石
&0vx
MonilDring
fllu
Cammunicmtian
■110
CANDv^iTjn(Ot>)ed:
slost)
8120
CANinErrurP&BsiveMode
P8130
LifeGuardErrof(MH曲IremtError
lECDvenedfrombusoff
:
8150
TransmitCOB-IDcnilisKjn
PratocalError
8210
PDOmtpracHEseiddue:
口lengtherrur
B22D
PDObength
90xx
ExlernalError
FOwt
AdditionalFunrtiflns.
FFu
Devicespecific
4.设备描述文件(EDS)以电子表格的形式呈现