eyou_ethercat_sdk  1.0
canablelibrary
宏定义 | 类型定义 | 枚举 | 函数
eu_ethercat.h 文件参考

浏览源代码.

宏定义

#define EXTERNFUNC
 
#define ETH_SUCCESS   0
 
#define ETH_FAILED_INIT   1
 
#define ETH_FAILED_NOSLAVE   2
 
#define ETH_FAILED_CHECKSTATE   3
 
#define ETH_FAILED_UNKNOWN   100
 

类型定义

typedef signed char hint8
 
typedef signed short int hint16
 
typedef signed int hint24
 
typedef signed int hint32
 
typedef signed long int hint40
 
typedef signed long int hint48
 
typedef signed long int hint56
 
typedef signed long int hint64
 
typedef unsigned int huint8 __attribute__((__mode__(__QI__)))
 
typedef float hreal32
 
typedef double hreal64
 

枚举

enum  eth_DataType {
  eth_DataType_int8 = 0x02, eth_DataType_int16 = 0x03, eth_DataType_int32 = 0x04, eth_DataType_uint8 = 0x05,
  eth_DataType_uint16 = 0x06, eth_DataType_uint32 = 0x07, eth_DataType_real32 = 0x08, eth_DataType_real64 = 0x09
}
 
enum  eth_State {
  eth_State_None = 0x00, eth_State_Init = 0x01, eth_State_Pre_OP = 0x02, eth_State_Boot = 0x03,
  eth_State_Safe_OP = 0x04, eth_State_Operational = 0x08, eth_State_ACK = 0x10, eth_State_ERROR = 0x10
}
 
enum  eth_OperateMode {
  eth_OperateMode_AutoTuning = -4, eth_OperateMode_INLCalibration = -3, eth_OperateMode_RotorAligning = -2, eth_OperateMode_Reserve = 0,
  eth_OperateMode_ProfilePosition = 1, eth_OperateMode_Velocity = 2, eth_OperateMode_ProfileVelocity = 3, eth_OperateMode_ProfileTorque = 4,
  eth_OperateMode_Homing = 6, eth_OperateMode_InterpolatedPosition = 7, eth_OperateMode_CyclicSyncPosition = 8, eth_OperateMode_CyclicSyncVelocity = 9,
  eth_OperateMode_CyclicSyncTorque = 10, eth_OperateMode_TorquePositionFixed = 11
}
 

函数

EXTERNFUNC int eth_initDLL (const char *ifName, int ms, int *slaveCnt)
 打开ethercat接口,初始化主站,返回扫描到的从站数量 更多...
 
EXTERNFUNC int eth_freeDLL ()
 关闭设备,释放资源 更多...
 
EXTERNFUNC int eth_getSlaveState (huint16 slave, eth_State *state)
 获取从站状态 更多...
 
EXTERNFUNC int eth_getOperateMode (huint16 slave, eth_OperateMode *mode)
 获取电机当前的操作模式 更多...
 
EXTERNFUNC int eth_setOperateMode (huint16 slave, eth_OperateMode mode)
 设置电机的操作模式 更多...
 
EXTERNFUNC int eth_setControlWord (huint16 slave, huint16 word)
 设置电机的控制字 更多...
 
EXTERNFUNC int eth_getStatusWord (huint16 slave, huint16 *word)
 获取电机当前状态字 更多...
 
EXTERNFUNC int eth_enable (huint16 slave)
 使能电机 更多...
 
EXTERNFUNC int eth_disable (huint16 slave)
 失能电机 更多...
 
EXTERNFUNC int eth_faultReset (huint16 slave)
 错误重置 更多...
 
EXTERNFUNC int eth_quickStop (huint16 slave)
 快速停机 更多...
 
EXTERNFUNC int eth_getActualPosition (huint16 slave, hint32 *pos)
 获取电机当前位置,单位脉冲 更多...
 
EXTERNFUNC int eth_getActualVelocity (huint16 slave, hint32 *vel)
 获取电机当前速度,单位脉冲 更多...
 
EXTERNFUNC int eth_getActualTorque (huint16 slave, hint16 *tor)
 获取电机当前力矩,单位千分之(额定力矩的千分之) 更多...
 
EXTERNFUNC int eth_setTargetPosition (huint16 slave, hint32 targetPos)
 设置目标位置,单位脉冲 更多...
 
EXTERNFUNC int eth_setTargetVelocity (huint16 slave, hint32 targetVel)
 设置目标速度,单位脉冲 更多...
 
EXTERNFUNC int eth_setProfileVelocity (huint16 slave, huint32 profileVel)
 设置轮廓速度,单位脉冲 更多...
 
EXTERNFUNC int eth_setProfileAcceleration (huint16 slave, huint32 profileAcc)
 设置轮廓加速度,单位脉冲 更多...
 
EXTERNFUNC int eth_setProfileDeceleration (huint16 slave, huint32 profileDec)
 设置轮廓减速度,单位脉冲 更多...
 
EXTERNFUNC int eth_setTargetTorque (huint16 slave, hint32 targetTor)
 设置目标力矩,单位千分之 更多...
 
EXTERNFUNC int eth_setTorqueSlope (huint16 slave, huint32 torSlope)
 设置力矩斜率,单位千分之/s² 更多...
 
EXTERNFUNC int eth_readSDO (huint16 slave, huint16 index, huint8 subIndex, void *value, eth_DataType dataType, int timeout)
 读取从站字典 更多...
 
EXTERNFUNC int eth_writeSDO (huint16 slave, huint16 index, huint8 subIndex, void *value, eth_DataType dataType, int timeout)
 写从站字典 更多...
 

宏定义说明

◆ ETH_FAILED_CHECKSTATE

#define ETH_FAILED_CHECKSTATE   3

◆ ETH_FAILED_INIT

#define ETH_FAILED_INIT   1

◆ ETH_FAILED_NOSLAVE

#define ETH_FAILED_NOSLAVE   2

◆ ETH_FAILED_UNKNOWN

#define ETH_FAILED_UNKNOWN   100

◆ ETH_SUCCESS

#define ETH_SUCCESS   0

◆ EXTERNFUNC

#define EXTERNFUNC

类型定义说明

◆ __attribute__

typedef unsigned int huint64 __attribute__((__mode__(__DI__)))

◆ hint16

typedef signed short int hint16

◆ hint24

typedef signed int hint24

◆ hint32

typedef signed int hint32

◆ hint40

typedef signed long int hint40

◆ hint48

typedef signed long int hint48

◆ hint56

typedef signed long int hint56

◆ hint64

typedef signed long int hint64

◆ hint8

typedef signed char hint8

◆ hreal32

typedef float hreal32

◆ hreal64

typedef double hreal64

枚举类型说明

◆ eth_DataType

枚举值
eth_DataType_int8 

1字节有符号整形

eth_DataType_int16 

2字节有符号整形

eth_DataType_int32 

4字节有符号整形

eth_DataType_uint8 

1字节无符号整形

eth_DataType_uint16 

2字节无符号整形

eth_DataType_uint32 

4字节无符号整形

eth_DataType_real32 

4字节浮点型

eth_DataType_real64 

8字节浮点型

◆ eth_OperateMode

枚举值
eth_OperateMode_AutoTuning 
eth_OperateMode_INLCalibration 
eth_OperateMode_RotorAligning 
eth_OperateMode_Reserve 

保留的

eth_OperateMode_ProfilePosition 

轮廓位置模式

eth_OperateMode_Velocity 

速度模式

eth_OperateMode_ProfileVelocity 

轮廓速度模式

eth_OperateMode_ProfileTorque 

轮廓力矩模式

eth_OperateMode_Homing 

归航模式

eth_OperateMode_InterpolatedPosition 

内插位置模式

eth_OperateMode_CyclicSyncPosition 

同步位置模式

eth_OperateMode_CyclicSyncVelocity 

同步速度模式

eth_OperateMode_CyclicSyncTorque 

同步力矩模式

eth_OperateMode_TorquePositionFixed 

力矩位置混合模式

◆ eth_State

enum eth_State
枚举值
eth_State_None 
eth_State_Init 
eth_State_Pre_OP 
eth_State_Boot 
eth_State_Safe_OP 
eth_State_Operational 
eth_State_ACK 
eth_State_ERROR 

函数说明

◆ eth_disable()

EXTERNFUNC int eth_disable ( huint16  slave)

失能电机

参数
slave从站id
返回
成功返回ETH_SUCCESS,失败返回其他

◆ eth_enable()

EXTERNFUNC int eth_enable ( huint16  slave)

使能电机

参数
slave从站id
返回
成功返回ETH_SUCCESS,失败返回其他

◆ eth_faultReset()

EXTERNFUNC int eth_faultReset ( huint16  slave)

错误重置

参数
slave从站id
返回
成功返回ETH_SUCCESS,失败返回其他

◆ eth_freeDLL()

EXTERNFUNC int eth_freeDLL ( )

关闭设备,释放资源

返回
成功返回ETH_SUCCESS,失败返回其他

◆ eth_getActualPosition()

EXTERNFUNC int eth_getActualPosition ( huint16  slave,
hint32 pos 
)

获取电机当前位置,单位脉冲

参数
slave从站id
pos存放获取到的位置
返回
成功返回ETH_SUCCESS,失败返回其他

◆ eth_getActualTorque()

EXTERNFUNC int eth_getActualTorque ( huint16  slave,
hint16 tor 
)

获取电机当前力矩,单位千分之(额定力矩的千分之)

参数
slave从站id
tor存放获取到的力矩
返回
成功返回ETH_SUCCESS,失败返回其他

◆ eth_getActualVelocity()

EXTERNFUNC int eth_getActualVelocity ( huint16  slave,
hint32 vel 
)

获取电机当前速度,单位脉冲

参数
slave从站id
vel存放获取到的速度
返回
成功返回ETH_SUCCESS,失败返回其他

◆ eth_getOperateMode()

EXTERNFUNC int eth_getOperateMode ( huint16  slave,
eth_OperateMode mode 
)

获取电机当前的操作模式

参数
slave从站id
mode存放读取的电机操作模式
返回
成功返回ETH_SUCCESS,失败返回其他

◆ eth_getSlaveState()

EXTERNFUNC int eth_getSlaveState ( huint16  slave,
eth_State state 
)

获取从站状态

参数
slave从站id
state存放获取的从站状态
返回
成功返回ETH_SUCCESS,失败返回其他

◆ eth_getStatusWord()

EXTERNFUNC int eth_getStatusWord ( huint16  slave,
huint16 *  word 
)

获取电机当前状态字

参数
slave从站id
word存放读取的电机状态字
返回
成功返回ETH_SUCCESS,失败返回其他

◆ eth_initDLL()

EXTERNFUNC int eth_initDLL ( const char *  ifName,
int  ms,
int *  slaveCnt 
)

打开ethercat接口,初始化主站,返回扫描到的从站数量

参数
ifNameethercat接口
ms
slaveCnt存放扫描到的从站数量
返回
成功返回ETH_SUCCESS,失败返回其他

◆ eth_quickStop()

EXTERNFUNC int eth_quickStop ( huint16  slave)

快速停机

参数
slave从站id
返回
成功返回ETH_SUCCESS,失败返回其他

◆ eth_readSDO()

EXTERNFUNC int eth_readSDO ( huint16  slave,
huint16  index,
huint8  subIndex,
void *  value,
eth_DataType  dataType,
int  timeout 
)

读取从站字典

参数
slave从站id
index字典主索引
subIndex字典子索引
value存放读取的值
dataType读取的数据类型
timeout等待timeout ms来接收结果
返回
成功返回ETH_SUCCESS,失败返回其他

◆ eth_setControlWord()

EXTERNFUNC int eth_setControlWord ( huint16  slave,
huint16  word 
)

设置电机的控制字

参数
slave从站id
word控制字
返回
成功返回ETH_SUCCESS,失败返回其他

◆ eth_setOperateMode()

EXTERNFUNC int eth_setOperateMode ( huint16  slave,
eth_OperateMode  mode 
)

设置电机的操作模式

参数
slave从站id
mode操作模式
返回
成功返回ETH_SUCCESS,失败返回其他

◆ eth_setProfileAcceleration()

EXTERNFUNC int eth_setProfileAcceleration ( huint16  slave,
huint32  profileAcc 
)

设置轮廓加速度,单位脉冲

参数
slave从站id
profileAcc轮廓加速度
返回
成功返回ETH_SUCCESS,失败返回其他

◆ eth_setProfileDeceleration()

EXTERNFUNC int eth_setProfileDeceleration ( huint16  slave,
huint32  profileDec 
)

设置轮廓减速度,单位脉冲

参数
slave从站id
profileDec轮廓减速度
返回
成功返回ETH_SUCCESS,失败返回其他

◆ eth_setProfileVelocity()

EXTERNFUNC int eth_setProfileVelocity ( huint16  slave,
huint32  profileVel 
)

设置轮廓速度,单位脉冲

参数
slave从站id
profileVel轮廓速度
返回
成功返回ETH_SUCCESS,失败返回其他

◆ eth_setTargetPosition()

EXTERNFUNC int eth_setTargetPosition ( huint16  slave,
hint32  targetPos 
)

设置目标位置,单位脉冲

参数
slave从站id
targetPos目标位置
返回
成功返回ETH_SUCCESS,失败返回其他

◆ eth_setTargetTorque()

EXTERNFUNC int eth_setTargetTorque ( huint16  slave,
hint32  targetTor 
)

设置目标力矩,单位千分之

参数
slave从站id
targetTor目标力矩
返回
成功返回ETH_SUCCESS,失败返回其他

◆ eth_setTargetVelocity()

EXTERNFUNC int eth_setTargetVelocity ( huint16  slave,
hint32  targetVel 
)

设置目标速度,单位脉冲

参数
slave从站id
targetVel目标速度
返回
成功返回ETH_SUCCESS,失败返回其他

◆ eth_setTorqueSlope()

EXTERNFUNC int eth_setTorqueSlope ( huint16  slave,
huint32  torSlope 
)

设置力矩斜率,单位千分之/s²

参数
slave从站id
torSlope增长斜率
返回
成功返回ETH_SUCCESS,失败返回其他

◆ eth_writeSDO()

EXTERNFUNC int eth_writeSDO ( huint16  slave,
huint16  index,
huint8  subIndex,
void *  value,
eth_DataType  dataType,
int  timeout 
)

写从站字典

参数
slave从站id
index字典主索引
subIndex字典子索引
value写入值
dataType写入的数据类型
timeout等待timeout ms来确认结果
返回
成功返回ETH_SUCCESS,失败返回其他