加载中,请稍候...
浏览历史

 


CANOPEN从站对象字典的配置

关键词: "


简介:怎么做canopen开发我现在要做DSP2812与驱动器的通信,使用canopen协议?应该怎么着手,没有基础。谢谢!

1. 先看看协议介绍,周立功网站上有些;对canopen有个大致了解,分析一下是否适合自己的方案应用。2.去cia下载301协...

品 牌
产 地
型 号 PXF0883
折 扣

 怎么做canopen开发

我现在要做DSP2812与驱动器的通信,使用canopen协议?应该怎么着手,没有基础。
谢谢!

1.      先看看协议介绍,周立功网站上有些;对canopen有个大致了解,分析一下是否适合自己的方案应用。
2.
cia下载301协议看看
3.
下载个简单的协议栈代码(论坛上有),结合协议文件仔细分析,并把它移植到你的DSP上。
4.
根据功能要求编写和完善自己的协议栈。

 

 

我可以提供canopen源代码
联系bluestar_nj@htomail.com

 

 

SDO访问对象字典的问题  

 

SDO的帧格式中,先是命令字,然后是IndexSub-index,那如果我要访问一个没有子索引的入口,例如当我要修改SYNCCOB-IDSDO的帧格式是怎样的?
刚在DS301里找到这句话:For single Object Dictionary entries such as an UNSIGNED8, BOOLEAN, INTEGER32 etc.the value for the sub-index is always zero.
那是不是子索引的值为0就可以了?由于分析仪还没买回来,没试过。

 

没有子索引的,子索引号就是0

 

请问远方,EDS文件是如何导入的?谢

是不是在记事本中写好EDS文件后,将后缀txt改为eds就可以导入了?

 

是的,按EDS文件規范編寫好文件,擴展名為EDS,然後就可以使用支持EDS文件的組態配置軟件來導入。

 

对象字典的值的问题

对象字典中的参数是不是要赋予一个实际的值啊,这个值是用户设定还是设备已经定好的? 比如第二个TPDO(索引0x1801,子索引3)的禁止时间如果在对象字典中的值是0x3FE,那在初始化第二个TPDO时也要为0x3FE?要是想改变这个禁止时间,是不是对象字典中的值也要变?

 

是啊

那请问对象字典的参数是不是由设备厂商已经定好了,用户根据相应的参数来初始化,但也可以更改参数? 谢谢

 

如果要更改应该是通过默认的SDO对对象字典的访问来更改的,如果不更改就使用制造商默认的参数或者上次保存的参数,在系统启动的时候加载的。

 

是不是用SDO进行更改之后还要再次进行参数的初始化?

 

改过之后就可以使用NMTStart Remote Node了。

还有些不明白,比如说 我要更改TPDO的禁止时间,对象字典中更改之后,设备就已经更改了相应的参数吗?不需要在TPDO的初始化中进行更改吗

 

SDO改完後,參數就已經被改了,立即生效。

 

 

canopen从站对象字典的配置 

canopen从站的配置是否要写一个配置软件,或者在开发时将端口(比如8通道)映射到对象字典(比如60000108),并将EDS文件交给PLC来进行二次开发??不知我是否说得准确,请高手指正。谢谢,请尽量详细点。

 

 

canopen本身的功能,是不需要其它配置軟件的,上電時主站都會通過SDO來對從站做相應的配置,不過如果你有其它功能需要配置,有些廠商也提供從站的配置軟件的

EDS提供給用戶,用戶在使用的時候導入到主站的配置軟件就可以使用了,不存在二次開發。

 

谢谢你的回答,我想问一下,是否不同的从站都有不同的对象字典,还是从站可以按一个对象字典来配置,然后在主站中加载不同的对象字典并通过SDO来对从站的对象字典进行配置。请问我的理解对否,请指正,谢谢。

 

 

对象字典 = 参数集

亚洲人说参数组,欧洲人说对象字典,只是文字游戏,所谓的对象字典就是从站所拥有的参数集。

从站有哪些参数,除了canopen协议要求必需的参数(Index 1000, 1001, 1018)外,其它的都是开发从站的厂商根据自己从站的功能来设置的,比如一台变频器,上面有100多个参数可供用户设定,这些参数放在一起就是对象字典。

EDS檔就是对从站所拥有的这些参数的描述,主要是供主站的配置软件能很方便的配置这些参数而已,所以EDS檔里的参数要与从站程序里实现的参数相一致。

主站都可以通过SDO对从站的参数进行读和写(允许写)

 

 

主站需要Node-ID吗?

DS301里关于预定义连接集部分有这句话,“This allows a peer-to-peer communication between a single master device and up to 127 slave devices.”
这是不是意味着主站可以不需要Node-ID,可以连接127个从站?按照默认的模式,COB-ID中使用的都是自己的Node-ID,主站只要能识别就可以了?

 

 

可以

 

如果主站要支持SDO Server就必須要NODE-ID

 

同步和RPDO的问题 

1 如果一个节点可以处理同步TPDO和同步RPDO,那这个节点收到同步报文后,要先进行TPDO的采样发送还是进行RPDO的处理接收?
2
看了DS301协议,RPDO也有传输类型,TPDO的传输类型规定什么时候发送,那RPDO传输类型作用是什么?说明什么时候处理接收吗?

补充上面的第二个问题:
如果RPDO的传输类型是规定了什么时候处理接收,那是怎么规定的?
谢谢

 

1.收到SYNC进行TPDO的处理发送就好了,RPDO不用关
2.
从我的理解上,RPDO的传输类型没多少用处,反正我的协议栈不去管它。

参数资料: CANOPEN从站对象字典的配置"
该文章系原厂商文章翻译,不通之处请参考原文
  价格列表: CANOPEN从站对象字典的配置"
葩星订货号 订货号 产品名称 报价 品牌  
  相关产品: CANOPEN从站对象字典的配置"
  咨询历史: