canopen

ubuntu ros melodic 安装 canopen

久未见 提交于 2020-03-09 10:02:51
canopen 官方的介绍http://wiki.ros.org/ros_canopen#Overview $ mkdir -p /home/zz/catkin_ws/src$ cd /home/zz/catkin_ws $ git clone git https://github.com/ros-industrial/ros_canopen.git 出现问题的话则执行下一步: $ sudo apt-get install libmuparser-dev $ sudo apt-get install libmuparser libmuparser2v5 libmuparser-doc libmuparserx-dev libmuparser-dev libmuparserx4.0.7 执行编译 $ catkin_make sudo vim /home/zz/.bashrc 结尾处添加 source /home/zz/catkin_ws/devel/setup.bash 输入: rospack flist 显示: ros canopen安装成功 后续文档查看 来源: https://www.cnblogs.com/xyyhcn/p/12446890.html

How to write a CanOpen stack?

久未见 提交于 2020-01-02 20:03:28
问题 I have a similar problem with this. How to program a simple CANopen layer . I read the answers but I have to program a CANopen layer on my own I cannot get a commercial one. So are there any basics of writing a CANopen stack (or layer I'm not certain about the difference)? I don't know even where to start.. If it's required here's some information : My master device is a beagle bone black with QNX. QNX has a generic CAN library I think but not specific to CANopen. And my slave is a

How to write a CanOpen stack?

限于喜欢 提交于 2019-12-06 06:15:24
I have a similar problem with this. How to program a simple CANopen layer . I read the answers but I have to program a CANopen layer on my own I cannot get a commercial one. So are there any basics of writing a CANopen stack (or layer I'm not certain about the difference)? I don't know even where to start.. If it's required here's some information : My master device is a beagle bone black with QNX. QNX has a generic CAN library I think but not specific to CANopen. And my slave is a militarized brushless motor controller. I'm writing in C++. I have a documentation about the general requirements

Java and CANopen

荒凉一梦 提交于 2019-12-03 12:04:07
问题 Background I am required to create a Java program on a laptop to receive/send CANopen messages. RJ45 is chosen to be the network's physical medium. I am new to CANopen and Java communications programming. Pardon me if I appear to be uninitiated. The truth is, I have been reading up a lot, but I still do not know how to get started. Questions Other than connecting a PC to the CANbus network, what else does the CAN-PC adapter do? Is it possible to connect the laptop to the CANbus network

How to write a CanOpen stack?

匿名 (未验证) 提交于 2019-12-03 10:24:21
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I have a similar problem with this. How to program a simple CANopen layer . I read the answers but I have to program a CANopen layer on my own I cannot get a commercial one. So are there any basics of writing a CANopen stack (or layer I'm not certain about the difference)? I don't know even where to start.. If it's required here's some information : My master device is a beagle bone black with QNX. QNX has a generic CAN library I think but not specific to CANopen. And my slave is a militarized brushless motor controller. I'm writing in C++.

CAN总线与CANOPEN协议

匿名 (未验证) 提交于 2019-12-03 00:22:01
CAN总线协议最早是为了统一汽车车载设备间通信的标准而开发的协议,后来由于其高速、稳定、可靠的特点,已经被ISO标准化并广泛应用于工控、医疗等领域,目前依然是欧洲汽车网络的标准协议。 CAN总线协议规定了ISO七层通信协议模型的物理层和数据链路层。其具体实现都已经被固化到CAN总线控制芯片中,无需软件实现。 理论上,CAN总线在速率小于5K时,距离可达10000m;速率接近1M时,距离小于0.4m。现实中常用的高速CAN总线速率有500k或250k,低速CAN总线有125k和62.5k,传输距离在几米到几十米间。速率和传输距离的选择还有考虑硬件的要求。 理论上,一条CAN总线上可以连接无数个CAN设备,但实际上受到其他条件限制,数量总是有限的。例如,使用了更上层的CANOPEN协议,则一条总线上只能有128个设备。 CAN总线网络属于广播网络,同一条总线的设备都可以放送和接受数据。同一时刻只能有一个设备作为发送设备,其他设备为接收设备。 同一条总线上的设备必须工作在同一速率下。 当两个设备同时发送数据时,根据其CAN通信帧(CAN通信的最小信息单元详情见下文)的ID号进行仲裁,ID号小的优先级高,将获得发送权,优先级低的则需要放弃发送,转为接收状态。 CAN设备可以检测总线上的错误类型是暂时性的还是持续性的,如果是持续性的,出错的设备会不停的向总线发送错误帧

CANopen协议

烂漫一生 提交于 2019-12-02 03:10:59
截取地址: https://www.e-learn.cn/content/qita/715699 什么是CANOPEN协议 CANOPEN协议是基于CAN总线协议建立的应用层协议。 CANOPEN协议属于“主-从站协议”,一个CANOPEN网络中有一个主站和若干个从站。 每一个从站点都有一个ID号,一个数据字典和四种工作状态。 CANOPEN协议将CAN总线协议的通信帧进行了进一步的封装和分类,以满足更高层次通信的需要。 CANOPEN数据字典 CANOPEN网络中的每一个从站设备都要有一个数据字典,其实数据字典这个翻译不太准确,应该叫做“命令ID与功能对照表”。 比如网络中有一个信号灯设备,则这个设备就可能有这样一个数据字典。 index subIndex data 功能 0x400 0 0 开灯 0 1 关灯 其中index我们可以理解为“命令ID”,subIndex可以理解为“子ID”。 这个“字典”表示,只要有其他设备向信号灯发送一条包含命令ID为0x400和子ID为0的命令,如果data为0,则信号灯就亮;如果data为1,则信号灯就灭。所以说“数据字典”更像是“命令ID与功能对照表”。 实际上,CANOPEN协议规定了设备数据字典的格式,并对命令ID号进行了规定和划分(具体的规定很复杂,需要请参阅规范)。 有一些命令ID的功能是固定的,有一些则可以由设备生产厂家自己决定

How to program a simple CANopen layer

梦想与她 提交于 2019-11-30 01:52:22
We have a robot project where the motor controllers use CANopen for communication. I need to communicate with these motor controllers using a master microcontroller. The problem is that I need to develop a CANopen layer in this microcontroller, but I only know how to send and receive at the low level (CAN). I don't know much about the CANopen (PDO, SDO, Heartbeat, object dictionary, etc.). I tried to read the CiA specifications, but it was very complicated. I would appreciate it if someone could point me in the right direction or give me a good tutorial to program a simple CANopen layer. Since

How to program a simple CANopen layer

可紊 提交于 2019-11-28 23:26:01
问题 We have a robot project where the motor controllers use CANopen for communication. I need to communicate with these motor controllers using a master microcontroller. The problem is that I need to develop a CANopen layer in this microcontroller, but I only know how to send and receive at the low level (CAN). I don't know much about the CANopen (PDO, SDO, Heartbeat, object dictionary, etc.). I tried to read the CiA specifications, but it was very complicated. I would appreciate it if someone