canopen使用


CAN 总线协议
1)、启动SDO 下载协议

ccs:客户端

指定命令
      1:开始下载请求
•scs:服务器命令符
3:开始下载响应
•n:只有当e =1和s=1,否则为0。如果有效则表示字节在d不这样做的数量有效包含的数据。字节[8-n中,7]不包含数据。
•e:传输类型
0:正常传输
1:加速传输
•s:尺寸指示
0:数据集大小不指示
1:数据集大小显示
•m:多路复用器。它代表了数据的索引/分项指数为转移的SDO。
•d:数据
e =0,s= 0:d被保留用于进一步使用。
e =0,s= 1:D包含的字节数来进行下载。字节4包含LSB和字节7包含MSB。
e =1,s= 1:D含有长度为4-n的数据被下载,编码取决于数据的引用的类型通过索引和子索引
e =1,s =0:D包含的字节数不确定要下载
•x:未使用,始终为0
•reserved:保留以备后用,始终为0

2、SDO 下载段协议


•ccs:客户机命令符
0:下载段请求
•scs:服务器命令符
1:下载段响应
•seg-data数据:要下载最多7个字节段的数据。编码取决于类型通过索引和子索引引用的数据
•n为表示不包含数据段中的seg-data的字节数。字节[8-n中,7]做不包含数据段。 n = 0时,如果被指示没有段大小。
•c:指示是否仍然有更多的段被下载。
0:还有段要下载
1 :没有段要下载
•t:触发位。该位必须交替在每个后续段下载。 第一段将触发位设置为0,触发位请求和相应是相等。
•X:未使用,始终为0
• reserved:保留以备后用,始终为0。


3、SDO启动上传协议

•ccs:客户机命令符
2:开始上传请求
•scs:服务器命令符
2:开始上传回复
•n:只有当e =1和s=1,否则为0。如果有效则表示字节在d数据中不包含字节[8-n中,7]段的数据。
•e:传输类型
  0:正常传输
  1:加速传输
•s:尺寸指示
  0:数据集大小不指示
  1:数据集大小显示
•m:多路复用器。它代表了数据的索引/分项指数为转移的SDO。
•d:数据
  e =0,s= 0:d被保留用于进一步使用。
  e =0,s= 1:d包含的字节数进行上载。字节4包含LSB和字节7包含MSB。
  e =1,s= 1:d含有长度为4-n的数据被上载,编码取决于数据的引用的类型通过索引和子索引
•X:未使用,始终为0
• reserved:保留以备后用,始终为0。


4、SDO上传段协议


•ccs:客户机命令符
3:上传段的请求
•scs:服务器命令符
0:上传段响应
•t:触发位。该位必须切换对于上载的每个后续段。 第一段将触发位设置为0。请求和响应消息的触发位是相等的。
•c:表示是否还有更多的片段被上传。
0:更多的段要上载
1:没有更多的段要上载
•seg-data:至多7个字节段的数据被上载。的编码依赖于类型通过索引和子索引所引用的数据
•n为表示不包含数据段中的seg-data的字节数,字节[8-n中,7]做不包含数据段,n = 0时,如果被指示没有段大小。
•X:未使用,始终为0
• reserved:保留以备后用,始终为0。

5、中止传输协议

•CS:命令符
4:中止传输请求
•X:未使用,始终为0
•M:多路复用器。它代表指数和SDO的分项指数。
•D:包含一个4字节终止码有关中止的原因。

中断代码    0503 0000H    切换位未交替
0504 0000H    SDO协议超时
0504 0001H    客户端/服务器命令说明符无效或未知
0504 0002H    无效的块大小(块模式)
0504 0003H    无效的序列号(块模式)
0504 0004H    位于0004h CRC错误(仅限块模式)
0504 0005H    内存不足
0601 0000H    不支持的访问对象
0601 0001H    尝试读取只写对象
0601 0002H    尝试写入只读对象
0602 0000H    对象不对象字典存在
0604 0041h    对象无法映射到PDO
0604 0042h    对象的数量和长度,被映射将超过PDO长度
0604 0043h    常规参数不兼容原因
0604 0047h    常规内部不兼容的设备
0606 0000H    访问失败,原因是一个硬件错误
0607 0010H    数据类型不匹配,服务参数的长度不匹配
0607 0012H    数据类型不匹配,服务参数的长度过大
0607 0013H    数据类型不匹配,服务参数的长度过低
0609 0011H    子索引不存在
06090030H    值超出范围(仅适用于写访问)
06090031h    值写入过高
06090032h    值写入太低
06090036H    最大值小于最小值
08000000H    一般错误
08000020H    数据无法传输或存储到应用程序
08000021H    总共数据无法传输或存储到的,因为本地的应用程序控制
08000022h    数据无法传输或存储到的,因为应用程序目前设备状态
08000023H    对象字典动态生成出现故障或没有对象字典说明(如对象字典从文件生成失败产生因为文件错误)


6、启动下载块协议

•ccs:客户机命令符
6:块下载
•scs:服务器命令符
5:块下载
•s:尺寸指示
0:数据集大小不指示
1:数据集大小显示
•cs:客户子
0:启动下载请求
•SS:服务器子
0:开始下载响应
•cc:客户端CRC支持
cc=0:客户端不支持对数据产生CRC
cc=1:客户端支持对数据产生CRC
•sc:服务器CRC支持
sc=0:服务器不支持对数据产生CRC
sc=1:服务器支持对数据产生CRC
•m:多路复用器。它代表了数据的(索引/子索引)为转移的SDO。
•size:下载大小(字节)
s =0:大小留作将来使用,始终为0
s = 1:大小包含要下载的字节数,字节4包含LSB和字节7的MSB
•blksize:每块段0 < blksize <128的数量。
•X:未使用,始终为0
• reserved:保留以备后用,始终为0

7、下载块段协议

•csc:服务器命令符
5:块下载。
•ss:服务器命令符
2:块下载
•c:指示是否仍然有更多的段被下载
0:下载更多的下载段
1:没有更多的下载段中,输入结束SDO块下载
•seqno:段0< seqno <128的序列号。
•seg-data:要下载最多7个字节段的数据。
•ackseq:最后的过程中已经获得成功的最后一段序列号下载。如果ackseq被设置为0服务器指示客户端,与顺序的区段数1未正确接收和所有段必须由客户端重传。
•blksize:每块的段数,有要使用的客户端为以下块下载0 < blksize <128。
•X:未使用,始终为0。
• reserved:保留以备后用,始终为0。

8、结束下载块段协议

•ccs:客户机命令符
6:块下载。
•scs:服务器命令符
5:块下载。
•cs:客户子
1:结束块下载请求。
•ss:服务器子
1:结束块下载响应。
•n:表示在不包含数据的最后一个块的最后一个分段的字节数,字节[8-n中,7]不包含段的数据。
•CRC:16位循环冗余校验(CRC),用于整个数据集。该算法生成CRC在9.2.2.2.16描述。如果在启动区块下载CC CRC才有效和SC被设置为1,否则的CRC已被设置为0。
•X:未使用,始终为0。
• reserved:保留以备后用,始终为0。

上传块 地址6404
3    发送        0x00000601    A0 04 64 00 7F 0E 00 00     
4    接收        0x00000581    C2 04 64 00 28 00 00 00     
5    发送        0x00000601    A3 00 00 00 00 00 00 00     
6    接收        0x00000581    01 30 31 32 33 34 35 36     
7    接收        0x00000581    02 37 38 39 30 31 32 33     
8    接收        0x00000581    03 34 35 36 37 38 39 30     
9    接收        0x00000581    04 31 32 33 34 35 36 37     
10    接收        0x00000581    05 38 39 30 00 00 00 00     
11    接收        0x00000581    86 00 00 00 00 00 00 00     
12    发送        0x00000601    A2 06 7F 00 00 00 00 00     
13    接收        0x00000581    C9 00 00 00 00 00 00 00     
14    发送        0x00000601    A1 00 00 00 00 00 00 00
下载块 地址6404
40    发送        0x00000601    21 04 64 00 28 00 00 00     
41    接收        0x0000058        60 04 64 00 00 00 00 00     
42    发送        0x00000601    00 48 41 4E 53 50 4D 00     
43    接收        0x00000581    20 00 00 00 00 00 00 00     
44    发送        0x00000601    10 50 00 00 00 00 00 00     

45 接收 0x00000581 30 00 00 00 00 00 00 00

46 发送 0x00000601 00 00 00 00 00 00 00 00

47 接收 0x00000581 20 00 00 00 00 00 00 00

48 发送 0x00000601 10 00 00 00 00 00 00 00

49 接收 0x00000581 30 00 00 00 00 00 00 00

50 发送 0x00000601 00 00 00 00 00 00 00 00

51 接收 0x00000581 20 00 00 00 00 00 00 00

52 发送 0x00000601 1D 00 00 00 00 00 00 00

53 接收 0x00000581 30 00 00 00 00 00 00 00

上传16 位数据

70 发送 0x00000601 A0 18 10 02 7F 0E 00 00

71 接收 0x00000581 43 18 10 02 0B 02 00 00

下载8位数据

80 发送 0x00000601 2F 60 60 00 03 00 00 00

81 接收 0x00000581 60 60 60 00 00 00 00 00

下载32位数据

90 发送 0x00000601 23 FF 60 00 00 00 14 00

91 接收 0x00000581 60 FF 60 00 00 00 00 00

下载16位数据

90 发送 0x00000601 2B 00 23 00 11 00 00 00

91 接收 0x00000581 60 00 23 00 03 00 00 00

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/282430.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Selenium(一)】

简介 Selenium是一个开源的自动化测试工具&#xff0c;主要用于Web应用程序的自动化测试。它支持多种浏览器&#xff0c;包括Chrome、Firefox、Internet Explorer等&#xff0c;以及多种编程语言&#xff0c;如Java、Python、C#、Ruby等&#xff0c;使得它成为Web自动化测试中…

AI PPT生成工具 V1.0.0

AI PPT是一款高效快速的PPT生成工具&#xff0c;能够一键生成符合相关主题的PPT文件&#xff0c;大大提高工作效率。生成的PPT内容专业、细致、实用。 软件特点 免费无广告&#xff0c;简单易用&#xff0c;快速高效&#xff0c;提高工作效率 一键生成相关主题的标题、大纲、…

Linux 系统是如何收发⽹络包的

Linux 系统是如何收发⽹络包的&#xff1f; ⽹络模型 为了使得多种设备能通过⽹络相互通信&#xff0c;和为了解决各种不同设备在⽹络互联中的兼容性问题&#xff0c;国际标准化组织制定了开放式系统互联通信参考模型&#xff08;Open System Interconnection Reference Mode…

吴恩达机器学习笔记 二十六 决策树学习过程 独热编码one-hot

决策树的学习过程 1. 所有样本都在根结点 2.计算所有可能的特征的信息增益&#xff0c;选择信息增益最大的那个 3.根据选择的特征分离数据集&#xff0c;创造左右两支子树 4.继续进行分裂直到达到停止标准。停止标准有&#xff1a;一个节点只有一类样本&#xff1b;分裂一…

比堆垛机方案省电65% 实施快50% 四向车系统柔性化建设进程异军突起

对物流企业来说&#xff0c;供应链的数智化升级并非“赶时髦”&#xff0c;它需要找到一个既懂物流行业&#xff0c;又有数字化技术作基础的仓储方案提供商。而河北沃克基于AI底层技术、软硬一体化产品体系和技术创新行业经验双轮驱动的业务团队等“技术产品人才”三位一体优势…

(附源码)基于Spring Boot + Vue 在线网课学习系统的设计与实现

前言 &#x1f497;博主介绍&#xff1a;✌专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f447;&#x1f3fb; 精彩专栏 推荐订阅&#x1f447;&#x1f3fb; 2024年Java精品实战案例《100套》 &#x1f345;文末获取源码联系&#x1f345; &#x1f31…

[HackMyVM]靶场 XMAS

kali:192.168.56.104 靶机:192.168.56.126 注意在/etc/hosts 添加 192.168.56.126 christmas.hmv # cat /etc/hosts 127.0.0.1 localhost 127.0.1.1 kali2 192.168.223.131 dc-2 192.168.223.134 wordy 192.168.56.105 midn…

Vue3中基本数据类型为什么需要.value,,,引用类型不需要.value

1、在v3中使用基本数据类型&#xff08;如数字、字符串、布尔值&#xff09;时&#xff0c;如果你希望响应式地更新数据并触发视图更新,需要使用ref包裹基本数据类型,然后将基本数据类型转化为响应式对象;- - - 因此当你使用ref包裹基本数据类型时,实际上得到的是一个包含.valu…

3D开发工具HOOPS如何助力3D项目实现扩展现实技术?

在当今数字化时代&#xff0c;扩展现实&#xff08;Augmented Reality&#xff0c;AR&#xff09;技术的应用已经逐渐深入到各行各业&#xff0c;为用户带来了前所未有的沉浸式体验。而在实现这种技术的开发过程中&#xff0c;HOOPS技术的运用无疑是一种强大的助力。HOOPS是一种…

git push出错: src refspec dev/xxx does not match any

使用如下命令gitp push出错: git push origin 远端分支名 git push origin dev/xxxx error: src refspec dev/xxxx does not match any error: failed to push some refs to https://git.woa.com/..... 解决方案 1: git push origin 本地分支名:远端分支名 解决方案2&#…

ROS机器人虚拟仿真挑战赛本地电脑环境配置测试

预备基础 此案例需要完成&#xff1a; ROS机器人虚拟仿真挑战赛本地电脑环境配置记录-CSDN博客 ROS机器人虚拟仿真挑战赛本地电脑环境配置个人问题汇总-CSDN博客 命令测试 在不同的终端窗口分别输入&#xff1a; 标签1&#xff1a; roslaunch tianracer_gazebo demo_tian…

【GIT】最好用的git可视化教程网站推荐

最好用可视化学习git 网站:https://learngitbranching.js.org/?demo&localezh_CN 玩遍所有关卡&#xff0c;花半天时间便能掌握git &#x1f603; 本地仓库 基础命令介绍 git commit 提交 git branch <分支名> 创建分支 git checkout <分支名> 切换分支 git…

堆叠与集群

8.1堆叠与集群概述 随着企业的发展&#xff0c;企业网络的规模越来越大&#xff0c;这对企业网络提出了更高的要求&#xff1a;更高的可靠性、更低的故障恢复时间、设备更加易于管理等。传统的园区网高可靠性技术出现故障时切换时间很难做到毫秒级别、实现可靠性的方案通常为一…

Windows11安装Msql8.0版本详细安装步骤!

文章目录 前言一、下载Mysql二、安装Mysql三、登录验证三、环境变量配置总结 前言 每次搭建新环境的时候&#xff0c;都需要网上搜寻安装的步骤教程&#xff01;为了以后方便查阅&#xff01;那么本次就记录一下Windows11安装Msql8.0的详细步骤&#xff01;也希望能帮助到有需…

手写简易操作系统(十三)--编写简单C库

前情提要 因为马上要涉及到一个非常重要的部分&#xff0c;内存管理&#xff0c;所以这里我们编写一个简单的C库&#xff0c;用于支持我们后续的C语言开发 一、Assert断言 assert其实如果大家对C语言比较熟悉的话并不陌生&#xff0c;这个函数被称为断言&#xff0c;也就是程…

HTTP 工作流程请求响应 - 面试常问

文章目录 HTTP 工作流程请求和响应格式HTTP请求格式请求行&#xff1a;请求头部字段&#xff1a;空行&#xff1a;消息正文&#xff08;请求正文&#xff09;&#xff1a; HTTP响应格式状态行&#xff1a;响应头部字段&#xff1a;空行&#xff1a; HTTP方法HTTP状态码常用HTTP…

消息队列—RabbitMQ如何保证消息可靠性?

1. 如何保证消息的可靠性&#xff1f; 先来看看我们的万年老图&#xff0c;从图上我们大概可以看出来一个消息会经历四个节点&#xff0c;只有保证这四个节点的可靠性才能保证整个系统的可靠性。 生产者发出后保证到达了MQ。MQ收到消息保证分发到了消息对应的Exchange。Exchan…

工厂投产、电池装车,广汽能上动力电池行业的“餐桌”吗?

文 | 智能相对论 作者 | 沈浪 “如果你不在餐桌上&#xff0c;你就会出现在菜单上。”在某种程度上&#xff0c;追逐效益的动力电池行业正在上演着布林肯的“餐桌菜单论”。 于是&#xff0c;我们可以看到&#xff0c;尽管整体的动力电池市场被宁德时代、比亚迪、LG新能源、…

AI基础知识(4)--贝叶斯分类器

1.什么是贝叶斯判定准则&#xff08;Bayes decision rule&#xff09;&#xff1f;什么是贝叶斯最优分类器&#xff08;Bayes optimal classifier&#xff09;&#xff1f; 贝叶斯判定准则&#xff1a;为最小化总体风险&#xff0c;只需在每个样本上选择那个能使条件风险最小的…

【Java常用API】正则表达式练习

&#x1f36c; 博主介绍&#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 hacker-routing &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【应急响应】 【Java】 【VulnHub靶场复现】【面试分析】 &#x1f389;点赞➕评论➕收藏 …