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伺服运行
博客介绍了一系列操作流程,包括遍历网卡、创建主站和从站等,提到状态机进入preop,强调使用KS_setEcatPdoAssign清空并设定激活的PDO,还涉及创建数据集、变量与内核指针链接、内核操作、创建定时器控制更新频率以及获取键盘输入进行参数设置等内容。
754

被折叠的 条评论
为什么被折叠?



