用kithara驱动控制IS620N伺服电机简单实例

简介: 用kithara驱动控制IS620N伺服电机简单实例

1、遍历网卡 创建主站  创建从站 创建内核回调函数  创建拓扑及error句柄


2、状态机  ->preop


3并不是所有的PDO都处于激活状态,应该使用KS_setEcatPdoAssign先清空PDO

ksError = KS_setEcatPdoAssign(


pAppPtr->hSlave,                       // Slave handle
  KS_ECAT_SYNC_INPUT,                       // Sync Manager index or constant
  -1,                                       // PDO index (-1 for reset)
  0);                                     
复制代码


再使用KS_setEcatPdoAssign  设定相应激活的PDO


4创建数据集 dataset


5 KS_getEcatDataObjAddress  将对应的变量与内核中的指针链接到一起

ksError = KS_getEcatDataObjAddress(


pAppPtr->hDataset,                        // Dataset handle
  pAppPtr->hSlave,                          // Slave handle
  0x1702,                                   // PDO index
  2,                                        // PDO subindex
  (void**)&pAppPtr->pVelocityApp,           // Address of App-pointer
  (void**)&pAppPtr->pVelocitySys,           // Address of Sys-pointer
  NULL,                                     // BitOffset
  NULL,                                     // BitLength
  0);                                       // Flags
复制代码



if (ksError != KS_OK) {
outputErr(ksError, "KS_getEcatDataObjAddress", "Could not get data object adddress");
  KS_closeDriver();
  return;
}



6 内核中的操作  _timerCallBack  _dataSetCallBack


7 创建定时器 用于控制更新频率


8 获得键盘输入 用于参数设置


Ctrl  控制字6040写入 顺序

接通主电源回路 开启伺服运行 F伺服运行



相关文章
|
3月前
|
传感器 Linux API
如何实现 MCU软件中多个模块初始化函数的优雅调用
如何实现 MCU软件中多个模块初始化函数的优雅调用
|
6天前
|
数据库连接 数据库
实现加载驱动、得到数据库对象、关闭资源的代码复用,将代码提取到相应的工具包里边。优化程序
该博客文章展示了如何通过创建工具类`Connectiontools`实现数据库连接、语句执行以及资源关闭的代码复用,以优化程序并提高数据库操作的效率和安全性。
|
8月前
|
网络协议 API C++
6.6 Windows驱动开发:内核枚举Minifilter微过滤驱动
Minifilter 是一种文件过滤驱动,该驱动简称为微过滤驱动,相对于传统的`sfilter`文件过滤驱动来说,微过滤驱动编写时更简单,其不需要考虑底层RIP如何派发且无需要考虑兼容性问题,微过滤驱动使用过滤管理器`FilterManager`提供接口,由于提供了管理结构以及一系列管理API函数,所以枚举过滤驱动将变得十分容易。
92 1
6.6 Windows驱动开发:内核枚举Minifilter微过滤驱动
|
8月前
|
Windows
5.1 Windows驱动开发:判断驱动加载状态
在驱动开发中我们有时需要得到驱动自身是否被加载成功的状态,这个功能看似没啥用实际上在某些特殊场景中还是需要的,如下代码实现了判断当前驱动是否加载成功,如果加载成功, 则输出该驱动的详细路径信息。该功能实现的核心函数是`NtQuerySystemInformation`这是一个微软未公开的函数,也没有文档化,不过我们仍然可以通过动态指针的方式调用到它,该函数可以查询到很多系统信息状态,首先需要定义一个指针。
70 0
5.1 Windows驱动开发:判断驱动加载状态
|
11月前
|
设计模式 传感器 API
在编写RTOS代码时,如何设计一个简单、优雅、可拓展的任务初始化结构?
在编写RTOS代码时,如何设计一个简单、优雅、可拓展的任务初始化结构?
116 0
|
芯片
LED驱动程序外部框架
LED驱动程序外部框架
64 0
|
网络协议 API C++
驱动开发:内核枚举Minifilter微过滤驱动
Minifilter 是一种文件过滤驱动,该驱动简称为微过滤驱动,相对于传统的`sfilter`文件过滤驱动来说,微过滤驱动编写时更简单,其不需要考虑底层RIP如何派发且无需要考虑兼容性问题,微过滤驱动使用过滤管理器`FilterManager`提供接口,由于提供了管理结构以及一系列管理API函数,所以枚举过滤驱动将变得十分容易。
332 0
驱动开发:内核枚举Minifilter微过滤驱动
|
Linux
扩展知识点--利用Linux应用代码如何控制LED
扩展知识点--利用Linux应用代码如何控制LED
121 0
|
传感器 芯片
硬件开发笔记(七): 硬件开发基本流程,制作一个USB转RS232的模块(六):创建0603封装并关联原理图元器件
有了原理图,可以设计硬件PCB,在设计PCB之间还有一个协同优先动作,就是映射封装,原理图库的元器件我们是自己设计的。为了更好的表述封装设计过程,本文描述了贴片电阻电容0603芯片封装,创建贴片焊盘,关将原理图的元器件关联引脚封装。
硬件开发笔记(七): 硬件开发基本流程,制作一个USB转RS232的模块(六):创建0603封装并关联原理图元器件
硬件开发笔记(五): 硬件开发基本流程,制作一个USB转RS232的模块(四):创建CON连接器件封装并关联原理图元器件
有了原理图,可以设计硬件PCB,在设计PCB之间还有一个协同优先动作,就是映射封装,原理图库的元器件我们是自己设计的。为了更好的表述封装设计过程,本文描述了一个创建CON标准连接件封装,创建DIP焊盘,将原理图的元器件关联引脚封装。
硬件开发笔记(五): 硬件开发基本流程,制作一个USB转RS232的模块(四):创建CON连接器件封装并关联原理图元器件