A very important concept when discussing CANopen is the concept of a profile. In network protocol terminology. a profile is a protocol specification that is based on other existing protocol specifications. Usually, a profile defines a subset of the services provided by the existing protocols that can be used for communication, and restricts the way in which these services can be applied.
通迅接口和协议软件提供在总线上发送和接收通迅对象的服务。 对象字典描述在该设备中使用的所有数据类型、通迅对象和应用对象。它是应用软件的接口。 应用程序提供内部控制功能,也提供到各过程硬件接口的接口[The application program provides the internal control functionality as well as the interface to the process hardware interfaces]。 对象字典的规划
对象代码必须在CANopen规范定义代码之一。 对于简单变量,属性描述只出现一次,无须子索引域和入口类项[For simple variables the attribute description appears once without the sub-index field and entry category.]。 对于复杂数据类型,必须为每个成员(子索引)定义属性描述[For complex data types the attribute description must be defined for each element(sub-index).]。
例如,在一个单通道RS-232接口模块上,可能在定义该模块通迅参数的索引6092h处有一个数据结构。该结构包含了针对波特率、数据位、停止位和奇偶校验位的域。子索引概念能够象上图所示那般被用来访问这些独立的域。为了能够通过网络来访问这些数据结构的各个成员,这里定义了子索引。子索引的值总为零[The value for the sub-index is always zero.]。
CANopen通迅profile区分三种报文触发方式: 1、由设备profile中指定的对象特定事件的发生来触发报文传输。另外,周期性传输节点就算没有事件发生也会随着时间推移触发传输。 2、异步PDO的传输可以在接收到其它设备发出的远程请求后发动。 3、同步PDO由通过接收到SYNC对象所终止的特定传输周期同步来触发[Synchronous PDOs are triggered by the expiration of a specified transmission period synchronized by the reception of the SYNC object.]。
同步PDO
CANopen区分以下传输方式: 1、同步传输。 2、异步传输。
同步PDO在Sync对象后的同步窗中传输[Synchronous PDOs are transmitted within the synchronous window after the Sync Object.]。同步PDO的优先级比异步PDO的优先级要高。
异步PDO和SDO可以每当关系到它们的优先级时传输。因此它们也可以在同步窗中传输[Asynchronous PDOs and SDOs can be transmitted at every time with respect to their priority. So they could also be transmitted within the synchronous window.]。
SDO允许传输任意大小的数据。它们以一连串的片断来传输。 长度小于5字节的数据的传输可以依靠“Initiate Domain Down/Upload”协议来实现“无阻”传输。With these protocols the data transmission is performed within the initiate protocol.
使用该服务的动机是指出保存在Error Class、Error Code和Additional Code域中一组错误代码[The reason for the invocation of this service is indicated as a set of error codes, stored in the fields Error Class, Error Code and Additional Code.]。