下面的状态值定义为:
0x00 - 启动; 0x04 - 停止; 0x05 - 运作; 0x7F的 - 预操作。 最高值位被分配一个特殊的作用 - 以守护着它必须切换,与心跳它必须是常量0。
节点状态消息有一个特殊的应用程序作为一个所谓的“启动事件”。 此消息( “启动消息” )会自动发送一个网络节点尽快更改“初始化”状态为“预操作”状态,这已经通知所有节点存在于一个CANopen网络中存在的一个新的节点。 此外,配置节点(NMT - Master节点)被告知可能会开始时,与配置的一个节点。 数据字节的启动消息的价值为0x00。
使用预定义的消息标识符
(预定义的连接设置)简单的系统结构
为了减少所需的数量和配置简单的网络结构(1:n的通讯控制装置之间的关系和一些低阶设备),预先分配的CANopen支持的消息标识符(预定义的连接集)。 这一套预定义的标识符支持一个紧急通知每个节点,同步和时间戳消息,一个 SDO -连接每台设备,的NMT -消息的节点和节点的监测和控制多达 4个发送和接收PDO的每台设备 4。
在CANopen网络是可能的区分最大127个节点。 这些节点共享的11位标识符的空间。
首先是由一个分化之间的网络和设备相关的功能。 一个 CAN标识符是保留给每个网络相关的功能(如NMT的节点控制),每一个识别装置需要为每个设备相关的功能(例如,紧急信息,PDO的),因为它必须能够区分相同职能不同的设备。 更重要的职能是分配一个更高的优先级粒粒的ID。 对于未来的扩展和历史原因,一些消息标识符不分配。 因此,这是可以操作的系统具有更高的顺序控制多达 127个节点,从节点无需重新配置。
下图显示了结果划分的CAN标识符空间:
NMT的 000h处
同步
紧急
时间戳
080h
100小时
原产地保护
180小时
200小时
280h 300h
380h
400H的
480h
500小时
性别歧视
580h
600h
680h
护卫
700h
780h
六标准偏差
7FFh
下表显示了标识符分配的预定义的连接设置:
通讯 对象
NMT的节点控制 同步 紧急 时间戳
科夫的ID(s)十六进制 000 080
080 + NodeID 100
180 + NodeID 200 + NodeID 280 + NodeID
原产地保护
300 + NodeID 380 + NodeID 400 + NodeID 480 + NodeID
只接收 只接收 发送 只接收
1。 发送的PDO 1。 接收的PDO 2。 发送的PDO 2。 接收的PDO 3。 发送的PDO 3。 接收的PDO 4。 发送的PDO 从节点
500 + NodeID 580 + NodeID 600 + NodeID
NMT的监测节点(节点护卫 /心跳)
4。 接收的PDO 发送 接收
性别歧视
700 + NodeID 发送
六标准偏差
7E4 7E5
发送 接收
SDO和PDO的总是成对使用(即发送和接收),那里的规则是,在较低的节点(因此更高的优先级)棒的ID传送和较高(即低优先级)棒的ID接收。
随着预定义的连接设置是有可能的运作系统高顺序控制多达 127个节点,从节点无需重新配置。 这里的高阶控制节点,例如用于传输过程数据的节点与节点的ID 5可以使用的PDO与棒- ID的0x205,0x305,0x405和0x505,它接收的过程数据从这个节点通过的PDO与科夫- ID的0x185,0x285,0x385和0x485。 一个控制节点,因此可以兑换多达 32个字节的过程输入和输出 32字节的数据处理节点的默认的奴隶。 在我们的例子中,控制节点可以访问节点的对象字典没有。 5一SDO的要求与芯的ID 0x605,并接收相应的性别歧视条例下的反应芯的ID 0x585。
对于更复杂的网络结构,如:A结构与 N:米的沟通关系,或者如果预定人数每PDO的设备是不够的,预定义的标识符分配必须重新配置而改变的标识符分配(PDO的参数)。 为此,使用一个配置工具,建议。
层设置服务(LSS)
如前所述,正好有两个条件必须得到满足的CANopen设备互连到网络:所有设备必须使用相同的波特率,和CANopen节点 ID必须是唯一的。 但问题是,如果设备没有开关设置这些属性? CANopen的规范 DS - 306:层设置服务(LSS)描述如何将这些设置通过总线与援助的一个简单的协议。 该条件为使用LSS是,除了设备本身支持,建立了1:1的配线节点。 然后,波特率和节点 ID对话框中设置模式。 棒的ID 0x7E5用于 CAN讯息的设备,该设备响应芯的ID 0x7E4。 LSS消息总是一个完整的8个字节长。 未使用的字节被保留,并应被初始化为 0。
进行接触与设备进行配置,“切换模式global”命令是传送:
0x04
0x01 保留
此命令将设备设置为 LSS配置模式。 不幸的是,这个服务是唯一未确认的LSS的服务,因此该设备没有响应,即使它带着它了。 该系统集成商,因此只能找出以下命令该设备是否有反应。
接下来的节点 ID是要求通过“供应节点 ID”的服务:
0x5E
保留
如果成功,该设备响应:
节点
0x5E
ID
保留
如果没有响应,那么无论是设备不支持LSS服务或波特率是不正确的。 如果,即波特率时提供的是不知道,上面提到的通信序列必须经过所有允许的CANopen传输率,直到设备被发现。
“配置节点 ID”服务用于配置新的节点 ID:
节点
0x11
ID
保留
错误代码是包含在设备的响应:
错误代
0x11
错误的扩展
保留
码
错误代码 0表示成功;错误代码 1表示不予受理节点 ID,其他的错误代码是保留的。 错误扩展包含特定于供货商的数据,但仅适用于错误代码 0xFF的。
波特率配置了“配置位定时参数”服务:
位时序
0x13
表
表条目 保留
标准化的CANopen bautrates列于下表:
波特率表0x00 表索引 波特率 0 一 2 三 4 5 6 7 8
1000 kbit / s的 800千比特/秒 500千比特/秒 250千比特/秒 125千比特/秒 保留
50千比特/秒 20千比特/秒 10千比特/秒
再次设备的响应是:
错误代
0x13
错误的扩展
保留
码
错误代码 0表示成功;错误代码 1波特率手段不予受理,其他的错误代码是保留的。 错误扩展包含供货商特定的信息,但只适用于错误代码 0xFF的。
现在的节点 ID和波特率配置,这些设置应保存在“存储配置”服务:
0x17
保留
因此,那些设备承认:
0x17
错误代
错误的
保留