用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伺服运行



相关文章
|
2月前
|
传感器 Linux API
如何实现 MCU软件中多个模块初始化函数的优雅调用
如何实现 MCU软件中多个模块初始化函数的优雅调用
|
传感器
STM32:红外传感器代码部分(内含实物图+外部信号流程,编写代码思路+代码+解析代码和扩展应用)
STM32:红外传感器代码部分(内含实物图+外部信号流程,编写代码思路+代码+解析代码和扩展应用)
3236 0
STM32:红外传感器代码部分(内含实物图+外部信号流程,编写代码思路+代码+解析代码和扩展应用)
|
12月前
|
传感器 机器人
舵机内部结及工作原理浅析
舵机内部结及工作原理浅析
147 2
|
2月前
|
数据库 C++
2023驱动保护学习 -- 通过代码实现驱动加载
2023驱动保护学习 -- 通过代码实现驱动加载
17 0
|
2月前
|
Go 开发工具 C++
2023驱动保护学习 -- 创建第一个驱动程序
2023驱动保护学习 -- 创建第一个驱动程序
48 0
|
7月前
|
Windows
5.1 Windows驱动开发:判断驱动加载状态
在驱动开发中我们有时需要得到驱动自身是否被加载成功的状态,这个功能看似没啥用实际上在某些特殊场景中还是需要的,如下代码实现了判断当前驱动是否加载成功,如果加载成功, 则输出该驱动的详细路径信息。该功能实现的核心函数是`NtQuerySystemInformation`这是一个微软未公开的函数,也没有文档化,不过我们仍然可以通过动态指针的方式调用到它,该函数可以查询到很多系统信息状态,首先需要定义一个指针。
55 0
5.1 Windows驱动开发:判断驱动加载状态
|
10月前
|
设计模式 传感器 API
在编写RTOS代码时,如何设计一个简单、优雅、可拓展的任务初始化结构?
在编写RTOS代码时,如何设计一个简单、优雅、可拓展的任务初始化结构?
105 0
|
芯片
LED驱动程序外部框架
LED驱动程序外部框架
61 0
|
传感器 存储 编解码
STM32入门开发: 编写DS18B20温度传感器驱动(读取环境温度、支持级联)
STM32入门开发: 编写DS18B20温度传感器驱动(读取环境温度、支持级联)
1243 0
STM32入门开发: 编写DS18B20温度传感器驱动(读取环境温度、支持级联)
|
网络协议 API C++
驱动开发:内核枚举Minifilter微过滤驱动
Minifilter 是一种文件过滤驱动,该驱动简称为微过滤驱动,相对于传统的`sfilter`文件过滤驱动来说,微过滤驱动编写时更简单,其不需要考虑底层RIP如何派发且无需要考虑兼容性问题,微过滤驱动使用过滤管理器`FilterManager`提供接口,由于提供了管理结构以及一系列管理API函数,所以枚举过滤驱动将变得十分容易。
318 0
驱动开发:内核枚举Minifilter微过滤驱动