【发布时间】:2019-10-27 21:31:28
【问题描述】:
我是 CANopen 新手,我正在努力使用它来连接微处理器和电池管理系统。我有几个问题。
对象字典、电子数据表和电池管理系统等设备配置文件是否由制造商提供?
我必须自己生成这些文件吗?
任何帮助将不胜感激!
【问题讨论】:
我是 CANopen 新手,我正在努力使用它来连接微处理器和电池管理系统。我有几个问题。
对象字典、电子数据表和电池管理系统等设备配置文件是否由制造商提供?
我必须自己生成这些文件吗?
任何帮助将不胜感激!
【问题讨论】:
根据他们的文档,您需要提供电子数据表文件,查看 git repo (https://github.com/christiansandberg/canopen/tree/3d3d46beae7f6aad65d58b1247eab5ae758fb9e2),很明显您需要 eds 文件:
# Add some nodes with corresponding Object Dictionaries
node = canopen.BaseNode402(35, '/home/andre/Code/test/jupiter.eds')
network.add_node(node)
# network.add_node(34, '/home/andre/Code/test/jupiter.eds')
# node = network[34]
对象字典文件一般在创建节点时提供node = network.add_node(6, 'od.eds'),下面可以找到add_node函数定义:
def add_node(self, node, object_dictionary=None, upload_eds=False):
"""Add a remote node to the network.
:param node:
Can be either an integer representing the node ID, a
:class:`canopen.RemoteNode` or :class:`canopen.LocalNode` object.
:param object_dictionary:
Can be either a string for specifying the path to an
Object Dictionary file or a
:class:`canopen.ObjectDictionary` object.
:param bool upload_eds:
Set ``True`` if EDS file should be uploaded from 0x1021.
:return:
The Node object that was added.
:rtype: canopen.RemoteNode
"""
也许您可以在这里找到所需的数据表:https://compatibility.rockwellautomation.com/pages/search.aspx?crumb=117&q=EDS%20files
【讨论】:
- 电池管理系统等对象字典、电子数据表和设备配置文件是否由制造商提供?
对象字典是每个节点的 CANopen 实现的一部分。它不是什么物理文件,它只是一个抽象地址的大地址表,最严格的标准化。
他们不是要求提供电子数据表 (EDS),但如果他们不能提供,我会觉得很可疑。
设备配置文件 (DSF) 是指网络中节点的特定配置。而 EDS 是原始出厂默认设置。文件格式方面我认为它们是相同的。
通常不会提供 DSF,因为提供特定配置没有多大意义。当您希望将配置存储在磁盘上时,更有可能是您的特定 PLC 或其他东西吐出的东西。
- 我必须自己生成这些文件吗?
仅当您确实需要 DSF 时。如果您正在编写 Python 程序,我认为没有必要。
我还建议找出制造商是否已在 CAN in Automation 中注册了供应商 ID - “拥有” CANopen 标准的非营利组织。
https://www.can-cia.org/services/canopen-vendor-id/
同一站点也有一些关于 CAN 和 CANopen 的不错的阅读材料。
【讨论】:
大部分 CANopen 软件都需要 EDS 文件(包括 Python 的 canopen 库)。如果您没有 EDS 文件,您可以自己创建它,前提是您知道设备的完整 OD 结构。如果有问题的 CANopen 设备遵循 CiA 设备配置文件,您可以假设存在一些 OD 条目。但不能保证,因为设备配置文件中提到的一些 OD 条目是可选的,并且可能存在设备配置文件中未提及但由制造商提供的其他条目。因此,通常制造商提供 EDS 文件。如果制造商记录了 OD 条目,但将创建 EDS 文件留给用户,那将没有多大意义。
某些 CANopen 设备可能会嵌入其 EDS 文件。查找 OD 条目 0x1021 和 0x1022。 CiA 301 的最新版本应提及它们。
【讨论】: