用kithara驱动控制IS620N伺服电机简单实例
【摘要】 IS620N 系列伺服驱动器产品是汇川技术研告的高性能中小功率的交流伺服驱动器。该系列产品功率范围为100W~7.5kW,采用以太网通讯接口,支持EtherCAT 通讯协议,配合上位机可实现多台伺服驱动器联网运行。而kithara是用于Windows操作系统的实时拓展。可以支持工业以太网ethercat协议,应用于伺服的通讯中。下面是kithara驱动IS620N的过程1、遍历网卡 创建主站...
IS620N 系列伺服驱动器产品是汇川技术研告的高性能中小功率的交流伺服驱动器。该系列产品功率范围为100W~7.5kW,采用以太网通讯接口,支持EtherCAT 通讯协议,配合上位机可实现多台伺服驱动器联网运行。
而kithara是用于Windows操作系统的实时拓展。可以支持工业以太网ethercat协议,应用于伺服的通讯中。
下面是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写入 顺序控制字,伺服就进入运行状态
附录
6040控制字的写入顺序说明
使用IS620N 驱动器必须按照标准402 协议规定的流程引导伺服驱动器,伺服驱动器才可运行于指定的状态。下表是控制字说明
也就是说向6040PDO中依次写入6-7-15(要根据6041状态字反馈信号依次写入)伺服就可以进入运行模式;
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)