EtherCAT从站协议栈代码笔记之cia402appl.c

article/2025/10/28 23:38:48

原文:https://nobuta.blog.csdn.net/article/details/82425552?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-10.control&dist_request_id=&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-10.control

首先解释一下CiA,CiA是一个组织,CAN in Automation,主要工作是推广CANopen协议。CANopen大概是这样的:

CANopen四问 http://www.gongkong.com/article/201412/55783.html

1. CANopen的起源,CANopen从何而来?

  德国Bosch公司于1983年研发CAN协议,用于汽车传动系统的网络通讯。之后称为国际标准ISO11898,目前CANopen由非营利组织CiA(CAN in Automaion)进行标准的起草及审核工作,基本的 CANopen 设备及通讯子协定定义在 CAN in Automation (CiA) draft standard 301. 中。针对个别设备的子协定以 CiA 301 为基础再进行扩充,如针对 I/O 模组的 CiA401 及针对运动控制的 CiA402。

2. CANopen硬件的优势?

   CAN协议最大的突出特点是错误检测,限制和处理。当CAN设备检测到总线错误时,会拒绝之前接收到的位序列,然后发送“错误帧”,其完全由CAN芯片本身处理,不需要人为编程。

   支持多主站,类似Profibus DP,总线上每个设备都是主站,也是从站,免除了人为仲裁的过程,方便用户开发。

   报文短帧结构,CAN报文通常只有8个字节,数据帧非常短,在抗干扰能力上具有先天的优势。解释一下,为什末短帧结构抗干扰好?如果通讯报文长,发送一帧耗时也就长,加入遇到干扰,辛辛苦苦好不容发送了一条报文,结果因为干扰对方还没有收到,只能嚎啕大哭。

  成本低廉,CAN外设基本在现在主流芯片上都可以找到,20几块钱的MCU都支持CAN外设,有的还支持两个CAN。这里有CiA的积极推广作用。

3. CANopen软件优势?

   CANopen主要有CiA在推广,是非盈利组织,CANopen协议资料,网上一堆,任何人都可以下载到,我们常用的DS301(Draft Standand),DS402,CAN粉丝几乎人手一本,犹如葵花宝典,一定要珍藏一本。

   CANopen协议开发,开源项目非常多,CanFestival就是其中一个,我做过移植,在步科MT4414TE-CAN触摸屏,用在8位单片机上,此源码有点耗费资源,网上有很多基于MCU的精简源码。

   开发完整的CANopen协议栈,是很艰辛的工作,想要做好非常难。难点就在于你对CANopen协议的理解上,比如EMCY,复位节点,是否需要“NO Initialization”,heartbeat,Node guard是否需要?如何处理?这条不能算是其优点。

4. 为什么如此多公司在推广CANopen?

   CANopen对于运动控制来说是一款优秀的通讯协议,采用了面向对象的一些设计思路,比如对象字典,过程数据对象(PDO),服务数据对象(SDO)等等。

   CANopen在欧洲已成为最普通的协议,任何一家自动化公司都有CANopen的通讯接口,也成了低配。低配并不代表不好,只是说明其性价比更高。CANopen定义了完整的同步控制机制,使其成为主流的运动控制协议,除了在CAN总线上运行外,还被搬到了以太网上(CANopen over Ethernet),形成了著名的PowerLink,EtherCat工业以太网协议。

关于cia402appl.c

摘自 https://blog.csdn.net/huangxianxinalice/article/details/8706684

自version4.30以后的SSC都包含有一个简单的CiA402驱动架构的应用程序(如[1]描述)。这个应用提供了一个接口在电机控制程序和通信层之间。

下面的特性被支持

- CiA402 数据对象

- CiA402状态机

这种应用支持CSP模式和CSV运作模式。

CiA402特别的文件

cia402app.c:CiA402驱动架构的实施

cia492appl.h:驱动结构的数据结构,定义和轴的结构

所有有关电机控制器的值都被封装在TCiA402Axis这个数据结构里面(cia402appl.h里面)。配置参数和错误代码都直接被映射到相应的数据结构当中。过程数据被更新在输入/输出映射函数中(ecatappl.c)。目前,例子支持最多两个轴。这些轴在EtherCAT状态机从PREOP到SAFEOP转换时被更新。

在cia402appl.h当中定义的数据对象

数据对象从0x6000到0x67FF每提升一个0x800就对应一个轴

说了这么多,就是想说其实SSC代码中包含了对运动控制的支持,通过一个例程cia402appl.c实现。

既然这样,暂时不用的话,就可以先注释掉。而且从代码中也可以看到:

条件编译选项 CiA402_DEVICE从第41行到第1433行,在ecat_def.h中查看CiA402_DEVICE的定义,确实是0,所以整个cia402appl.c都可以从项目中移除。
————————————————
版权声明:本文为CSDN博主「野猪力量」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wofreeo/article/details/82425552


http://chatgpt.dhexx.cn/article/T0tbomck.shtml

相关文章

汇川AM402、H3U和上位机C#ModebusTcp通讯

目录 一、测试任务 二、测试环境 三、PLC工程 1、组态配置 2、ip地址、端口号 3、全局变量定义 四、C#端Winform程序创建 1创建主界面 2、创建子窗口 3、运行生成,界面效果 4、Modebus协议说明 5、Modebus操作说明 六、AM402测试 1、寄存器读测试 2、MW1…

新魔百和UNT402A免拆机破解(附教程)

九联UNT402A刷机教程指南 今天跟大家分享下关于九联UNT402A刷机教程, UNT402A与UNT之前型号有明显区别, 就是采用的处理器不在是海思处理器, 取而代之的是晶晨处理器,下面讲讲如何刷机 下载地址: 百度链接&#xff1…

重新激活“HTTP错误代码402”,释放Web 3.0的潜力(上)

发表时间:2022年2月28日 信息来源:coingeek.com 原文作者:Jerry Chan 是时候夺回互联网了。 在这个互联网充斥着广告和恶意软件的时代,个人数据和网络冲浪历史被收集并贩卖,用以偿付网络上大量免费提供的信息。我们身…

计算机考研402,考研初试402高分复试被淘汰,原来因为这几点被pass掉,以此为戒...

原标题:考研初试402高分复试被淘汰,原来因为这几点被pass掉,以此为戒 近几日,不少高校都已经举行了考研复试,并且已经在官网上公布了录取结果,大家都知道复试是考研的一个关键阶段!加上今年复试…

基于汇川AM402编写跑马灯程序

1、根据实际的设备及组装顺序进行组态。下图是我实际添加设备。 x 2、创建两个程序组织单元,PLC_PRG和POU。在程序组织单元PLC_PRG下添加两个动作“跑马灯”和“跑马灯2”,然后再将程序组织单元POU添加进任务当中。 在动作“跑马灯”下编写程序&#x…

汇川AM402和串口调试助手自由协议通信

1、硬件说明 PLC:汇川AM402-CPU1608TP PC:串口调试助手 连接:RS485转232、USB转232 如下图所示 PLC的DB9接头2路485接线说明 选择一路使用即可,本测试选择1、2、5引脚 2、PLC工程配置 工程组态 PLC串口接收寄存器&#xf…

FSR402传感器简介

大家好,今天小白给大家介绍一款使用很方便的测压传感器,型号FSR402,欢迎一起交流学习。 一:FSR402简介 FSR402是著名Interlink Electronics 公司生产的一款重量轻,体积小,感测精度高,超薄型电…

【无刷直流电机】【DS402协议】学习记录

DS402是建立在DS301(DS301就是一个通讯协议栈)基础之上的伺服类控制协议。 ds402.c #include <stm32g0xx_hal.h> //Sets up the correct chip specifc defines required by arm_math //#define ARM_MATH_CM4 //#include <arm_math.h>#include <mcpwm.h>#inc…

重新激活“HTTP错误代码402”,释放Web 3.0的潜力(下)

发表时间&#xff1a;2022年3月7日 信息来源&#xff1a;coingeek.com 原文作者&#xff1a;Jerry Chan 在上一篇文章中&#xff0c;我们概述了Web 3.0的潜力&#xff0c;也就是为互联网提供了一个变现层级。我们还略加提及了IPv6将为这种全新的互联网模式带来的可能性。那么&a…

CANOPEN使用心得1-cia301、cia402简单提要

canopen简单提要 can总线 can特点&#xff1a;多主控制、高达1M通讯速度、通讯校验、 错误检测处理及恢复等&#xff0c;can总线通讯接口规定了CAN协议的物理层和数据链路层功能。 canopen协议 canopen协议属于应用层协议&#xff0c;是由一系列子协议组成&#xff0c;分为通…

CiA402驱动架构

原文&#xff1a;https://blog.csdn.net/huangxianxinalice/article/details/8706684 自version4.30以后的SSC都包含有一个简单的CiA402驱动架构的应用程序&#xff08;如[1]描述&#xff09;。这个应用提供了一个接口在电机控制程序和通信层之间。 下面的特性被支持 - CiA4…

计算机考研402,考研402分经验谈

考研402分经验谈 作者 小坦克 次阅读 2008-05-13 考研是个痛苦却充实的过程。尤其对我而言。 我考的是哈尔滨工业大学企业管理专业。总分402&#xff0c;英语82&#xff0c;政治80&#xff0c;数学三111&#xff0c;专业课129. 我是07级毕业生。本来应该得到系里保送研究生得机…

语音数据采集-实时语音数据可视化

1、安装依赖 pip install pyaudiopip install pylab 2、语音数据展示 import pyaudioimport numpy as np CHUNK 4096 # 每次采集的数据点数RATE 44100 # 采样频率 ppyaudio.PyAudio() # 启动类streamp.open(formatpyaudio.paInt16,channels1,rateRATE,inputTrue, …

Speech | 提取语音(数据集)的语音特征合集

本文主要讲解了提取数据集的一些主要工具&#xff0c;以及如何使用这些工具&#xff0c;包含安装以及运行命令。 提取语音&#xff08;数据集&#xff09;的语音特征工具&#xff08;Extract audio features toolkits&#xff09; • openSMILE • COVAREP • ESPNet • YAAF…

简单的语音数据集制作方案

众所周知&#xff0c;深度学习现阶段还是以数据为驱动&#xff0c;然后我们需要simsiam等的自监督算法来自动标注数据集以及特征&#xff0c;但是初始阶段还是回到我们的音频数据本身。 我们提取音频特征有数种方式&#xff0c;首先是可以直接进行音频波形的提取&#xff1a; …

数据集 | 基于语音(Speech)/多模态(Multimodal)的情绪识别数据集,格式及下载

本文主要介绍了一些常用的语音&#x1f5e3;识别数据集&#xff0c;文件格式以及下载地址&#xff1a; 目录 1.IEMOCAP Emotion Speech Database(English) 2.Emo-DB Database(German) 文件命名 对象 3.Ryerson Audio-Visual Database of Emotional Speech and Song (Engli…

历史最全开放语音/音频数据集整理分享

本资源整理了40多个语音和音频处理相关的开源数据集&#xff0c;分享给有需要的朋友。 资源整理自网络&#xff0c;源地址&#xff1a;https://github.com/jim-schwoebel/voice_datasets 有两种主要类型的音频数据集&#xff1a;语音数据集和音频事件/音乐数据集。 语音数据集…

语音识别数据集-TIMIT数据集-中文超详细解析

TIMIT数据集 前言 该文章会详细介绍TIMIT数据集的文件组成、内部文件格式以及如何使用TIMIT数据集。同时还会介绍TIMIT是如何组织数据以及划分训练集与测试集的&#xff0c;可以为今后自己构建数据集提供一种思路。 关键词&#xff1a;TIMIT数据集、语音识别、音素、人工音频…

语音增强数据集总结【持续更新】

语音增强数据集总结 语音增强的第一步一般是准备数据&#xff0c;包含带噪语音和纯净语音。一般这些数据都是人工合成的&#xff0c;以纯净语音和噪声数据为基础即可合出带噪语音信号。以下介绍一些语音增强领域常用的数据集。 纯净语音 Common Voice(2019首次发布&#xff…

DuDuTalk语音工牌:语音数据分析在销售场景的应用价值

在现今这个数字时代&#xff0c;企业需要更高效、更有效地沟通和合作。语音数据的收集和分析能够增加销售团队和客户之间的联系&#xff0c;同时提高销售闭合率。因此&#xff0c;了解和利用销售沟通语音数据的价值&#xff0c;是现代企业所必须的。 销售沟通语音数据指的是在…