当前位置: 首页 > news >正文

微信如何做微商城网站建设网站建设亇金手指专业

微信如何做微商城网站建设,网站建设亇金手指专业,wap社区游戏入口,简述网站开发技术CANopenNode学习笔记 文章目录CANopenNode学习笔记特性CANopen其他CANopenNode 流程图文件结构对象字典编辑器CANopenNode 是免费开源的CANopen协议栈。 CANopen是建立在CAN基础上的用于嵌入式控制系统的国际标准化(EN 50325-4) (CiA301)高层协议。有关CANopen的更多信息&#…

CANopenNode学习笔记

文章目录

  • CANopenNode学习笔记
    • 特性
      • CANopen
      • 其他
    • CANopenNode 流程图
    • 文件结构
    • 对象字典编辑器

CANopenNode 是免费开源的CANopen协议栈。
CANopen是建立在CAN基础上的用于嵌入式控制系统的国际标准化(EN 50325-4) (CiA301)高层协议。有关CANopen的更多信息,请参见http://www.can-cia.org/
CANopenNode是用ANSI C语言以面向对象的方式编写的。它运行在不同的微控制器上,作为裸机应用或带RTOS应用。
通信变量、设备变量、自定义变量收集在CANopen对象字典中,可以从C代码和CANopen网络访问。
CANopenNode的主页为https://github.com/CANopenNode/CANopenNode
这是CANopenNode的第4版,带有新的对象字典实现。对于旧版本,git签出分支v1.3-master或v2.0-master。

特性

CANopen

Object Dictionary提供清晰和灵活的组织任何变量。变量可以直接访问或通过读/写函数访问。
NMT从机启动、停止、复位设备。简单的NMT主机。
Heartbeat用于监控 CANopen 设备的心跳生产者/消费者错误控制。
PDO用于广播处理数据,具有高优先级,没有协议开销。对象字典中的变量可以动态映射到TPDO上,TPDO按照通信规则进行传输,并被另一台设备作为RPDO接收。
SDO服务器支持对CANopen设备内所有对象字典变量的快速、分段和块传输访问。
SDO客户机可以访问网络内任何CANopen设备上的任何对象字典变量。
Emergency消息生产者/使用者。
Sync生产者/消费者允许网络同步传输PDO对象,等等。
Time-stamp生产者/消费者支持以毫秒分辨率进行日期和时间同步。
LSS CANopen节点ID和比特率设置,主站和从站,LSS 快速扫描。
CANopen gateway,用于 NMT 主站、LSS 主站和 SDO 客户端的 CiA309-3 Ascii 命令接口。
CANopen Safety, EN 50325-5, CiA304,安全相关网络中的“类PDO”通信
CANopen Conformance Test Tool CANopen一致性测试工具通过。

其他

适用于16位及以上单片机
多线程,实时
对象字典编辑器
对象字典或其他变量的非易失性存储。 自动或由标准 CANopen 命令控制,可配置。
可省电
可能的引导加载程序(用于固件更新)

CANopenNode 流程图

典型 CANopenNode 实现的流程图:

                            -----------------------|     Program start     |-----------------------|-----------------------|     CANopen init      |-----------------------|-----------------------|     Start threads     |-----------------------|     |     |--------------------      |      --------------------|                          |                          |----------------------    ------------------------    -----------------------
| CAN receive thread   |  | Timer interval thread  |  | Mainline thread       |
|  (CAN接收线程)       |  |  (定时器触发线程)      |  |  (主线线程)           |
|                      |  |                        |  |                       |
| - Fast response.     |  | - Realtime thread with |  | - Processing of time  |
| - Detect CAN ID.     |  |   constant interval,   |  |   consuming tasks     |
| - Partially process  |  |   typically 1ms.       |  |   in CANopen objects: |
|   messages and copy  |  | - Network synchronized |  |    - SDO server,      |
|   data to target     |  | - Copy inputs (RPDOs,  |  |    - Emergency,       |
|   CANopen objects.   |  |   HW) to Object Dict.  |  |    - Network state,   |
|                      |  | - May call application |  |    - Heartbeat.       |
|                      |  |   for some processing. |  |    - LSS slave        |
|                      |  | - Copy variables from  |  | - Gateway (optional): |
|                      |  |   Object Dictionary to |  |    - NMT master       |
|                      |  |   outputs (TPDOs, HW). |  |    - SDO client       |
|                      |  |                        |  |    - LSS master       |
|                      |  |                        |  | - May cyclically call |
|                      |  |                        |  |   application code.   |----------------------    ------------------------    -----------------------

文件结构

  • 301/ - CANopen 应用层和通信配置文件。
    • CO_config.h - CANopenNode 的配置宏。
    • CO_driver.h - CAN 硬件和 CANopenNode 之间的接口。
    • CO_ODinterface.h/.c - CANopen 对象字典接口。
    • CO_Emergency.h/.c - CANopen 紧急协议。
    • CO_HBconsumer.h/.c - CANopen 心跳消费者协议。
    • CO_NMT_Heartbeat.h/.c - CANopen 网络管理和心跳生产者协议。
    • CO_PDO.h/.c - CANopen 过程数据对象协议。
    • CO_SDOclient.h/.c - CANopen 服务数据对象 - 客户端协议(主站功能)。
    • CO_SDOserver.h/.c - CANopen 服务数据对象 - 服务器协议。
    • CO_SYNC.h/.c - CANopen 同步协议(生产者和消费者)。
    • CO_TIME.h/.c - CANopen 时间戳协议。
    • CO_fifo.h/.c - 用于 SDO 和网关数据传输的 Fifo 缓冲区。
    • crc16-ccitt.h/.c - CRC 16 CCITT 多项式的计算。
    • 303/ - CANopen 推荐
      • CO_LEDs.h/.c - CANopen LED 指示灯
    • 304/ - CANopen 安全。
      • CO_SRDO.h/.c - CANopen 安全相关数据对象协议。
      • CO_GFC.h/.c - CANopen 全局故障安全命令(生产者和消费者)。
    • 305/ - CANopen 层设置服务 (LSS) 和协议。
      • CO_LSS.h - CANopen 层设置服务协议(通用)。
      • CO_LSSmaster.h/.c - CANopen 层设置服务 - 主协议。
      • CO_LSSslave.h/.c - CANopen 层设置服务 - 从站协议。
    • 309/ - 从其他网络访问 CANopen。
      • CO_gateway_ascii.h/.c - Ascii 映射:NMT 主站、LSS 主站、SDO 客户端。
    • 贮存/
      • CO_storage.h/.c - CANopen 数据存储基础对象。
      • CO_storageEeprom.h/.c - CANopen 数据存储对象,用于将数据存储到块设备 (eeprom) 中。
      • CO_eeprom.h - 与 CO_storageEeprom 一起使用的 Eeprom 接口,功能是特定于目标系统的。
    • 额外的/
      • CO_trace.h/.c - 用于随时间记录变量的 CANopen 跟踪对象。
    • example/ - 包含基本示例的目录,应在任何系统上编译。
      • CO_driver_target.h - CANopenNode 的示例硬件定义。
      • CO_driver_blank.c - CANopenNode 的示例空白接口。
      • main_blank.c - 主线和其他线程 - 示例模板。
      • CO_storageBlank.h/.c - 数据存储到非易失性存储器的示例空白演示。
      • Makefile - 例如 Makefile。
      • DS301_profile.xpd - DS301 的 CANopen 设备描述文件。 它还包括 CANopenNode 的特定属性。 该文件在对象字典编辑器的配置文件中也可用。
      • DS301_profile.edsDS301_profile.md - 标准 CANopen EDS 文件和降价文档文件,从 DS301_profile.xpd 自动生成。
      • OD.h/.c - CANopen 对象字典源文件,从 DS301_profile.xpd 自动生成。
    • doc/ - 文档目录
      • CHANGELOG.md - 更改日志文件。
      • deviceSupport.md - 有关受支持设备的信息。
      • objectDictionary.md - CANopen 对象字典接口的描述。
      • CANopenNode.png - 小图标。
      • html - 带有文档的目录 - 必须由 Doxygen 生成。
    • CANopen.h/.c - CANopen 对象的初始化和处理,适用于通用配置。
    • codingStyle - 编码风格的例子。
    • Doxyfile - 文档生成器 doxygen 的配置文件。
    • 许可证 - 许可证。
    • README.md - 这个文件。

对象字典编辑器

对象字典是CANopen 最重要的部分之一。

要自定义对象字典,必须使用外部应用程序:CANopenEditor。 还提供了最新的预编译二进制文件。 只需提取 zip 文件并运行 EDSEditor.exe。 在 Linux 中,它使用 mono 运行,这在 Ubuntu 上默认可用。 只需将文件权限设置为“可执行”,然后执行程序即可。

在程序中,在首选项中,将导出器设置为“CANopenNode_V4”。 然后开始新项目或打开现有的项目文件。

支持许多项目文件类型,EDS、XDD v1.0、XDD v1.1、旧的自定义 XML 格式。 然后可以将生成的项目文件保存为 XDD v1.1 文件格式 (xmlns=“http://www.canopen.org/xml/1.1”)。 项目文件也可以导出为其他格式,可用于生成对象字典的文档和CANopenNode源文件。

如果启动了新项目,则可能会插入 DS301_profile.xpd。 如果编辑现有(旧)项目,则可能会删除现有的通信特定参数,然后可能会插入新的 DS301_profile.xpd。 另一种方法是通过观察 objectDictionary.md 中 CANopenNode 的对象字典要求来编辑现有的通信参数。

要克隆、添加或删除,请选择对象并使用右键单击。 正确设置自定义对象字典需要一些 CANopen 知识。 也可以从另一个项目中插入单独的对象。

CANopenNode 在标准项目文件中包含一些自定义属性。 有关详细信息,请参阅 objectDictionary.md。

http://www.15wanjia.com/news/178948.html

相关文章:

  • 百度网站建设基本情况wordpress 数据备份
  • 美食网站要怎么做开发小程序的平台
  • 百度提交网站尚海整装
  • 织梦网站地图优化企业网站建设方案ppt
  • 投票网站做seo如何那有网页设计培训机构
  • 国外做健康的网站医药行业网站建设
  • 珠海网站关键词推广wordpress 京东导购
  • 郑州华久做网站做的一个网站多少钱
  • 平面设计的网站有哪些网站樱桃企业网站管理系统v1.1-cms
  • 百度开发者大会优化排名对网站不好
  • 怎样做电影下载网站深圳网站优化项目
  • 信诚网络公司网站网站建设的内部风险
  • 网站的中文域名是什么四川省建设厅网站电话
  • 怎么改网站域名竞价排名服务
  • 外贸论坛网站有哪些贷款织梦网站模板
  • 校园网站建设考核网站建设标书模板下载
  • o2o网站建设报价福田庆三案例照
  • asp课程设计企业网站设计招聘网站可以做两份简历吗
  • 郴州制作网站设计较好的公司中国建设银行快捷付授权网站
  • 网站建设方案与报价国内电商企业有哪些
  • 虚拟机wordpress广州seo优化排名推广
  • 肉部网站建设包括哪些网站建设找实体还是淘宝
  • 大良营销网站建设教程上海企业建站 免费
  • 网站常用字体大小官网首页
  • 做网站怎么购买主机杨浦网站建设 网站外包
  • 银川做网站哪家公司好如何用c语言做网站
  • 云主机如何上传网站贵德县公司网站建设
  • 汕头市专注网站建设深圳市九号公告
  • 中山做网站价格上海开本建设工程有限公司
  • 赣州本地网站织梦模板网站好吗