eyou_ethercat_sdk  1.0
canablelibrary
eu_ethercat.h
浏览该文件的文档.
1 #ifndef EU_ETHERCAT_H
2 #define EU_ETHERCAT_H
3 
4 #ifdef __cplusplus
5 extern "C"
6 {
7 #endif
8 
9 #ifndef EXTERNFUNC
10 #ifdef _WIN32
11 #define EXTERNFUNC __declspec(dllexport)
12 #else
13 #define EXTERNFUNC
14 #endif
15 #endif
16 
17 #define ETH_SUCCESS 0
18 #define ETH_FAILED_INIT 1
19 #define ETH_FAILED_NOSLAVE 2
20 #define ETH_FAILED_CHECKSTATE 3
21 #define ETH_FAILED_UNKNOWN 100
22 
23 #ifdef _WIN32
24  typedef char hint8;
25  typedef short hint16;
26  typedef long hint24;
27  typedef long hint32;
28  typedef long long hint40;
29  typedef long long hint48;
30  typedef long long hint56;
31  typedef long long hint64;
32  typedef unsigned char huint8;
33  typedef unsigned short huint16;
34  typedef unsigned long huint24;
35  typedef unsigned long huint32;
36  typedef unsigned long long huint40;
37  typedef unsigned long long huint48;
38  typedef unsigned long long huint56;
39  typedef unsigned long long huint64;
40  typedef float hreal32;
41  typedef double hreal64;
42 #else
43 typedef signed char hint8;
44 typedef signed short int hint16;
45 typedef signed int hint24;
46 typedef signed int hint32;
47 typedef signed long int hint40;
48 typedef signed long int hint48;
49 typedef signed long int hint56;
50 typedef signed long int hint64;
51 typedef unsigned int huint8 __attribute__((__mode__(__QI__)));
52 typedef unsigned int huint16 __attribute__((__mode__(__HI__)));
53 typedef unsigned int huint24 __attribute__((__mode__(__SI__)));
54 typedef unsigned int huint32 __attribute__((__mode__(__SI__)));
55 typedef unsigned int huint40 __attribute__((__mode__(__DI__)));
56 typedef unsigned int huint48 __attribute__((__mode__(__DI__)));
57 typedef unsigned int huint56 __attribute__((__mode__(__DI__)));
58 typedef unsigned int huint64 __attribute__((__mode__(__DI__)));
59 typedef float hreal32;
60 typedef double hreal64;
61 #endif
62 
64  {
65  // eth_DataType_boolean = 0x01, /**< 布尔类型 */
74  };
75 
76  enum eth_State
77  {
84  eth_State_ACK = 0x10,
86  };
87 
89  {
104  };
105 
114  EXTERNFUNC int eth_initDLL(const char *ifName, int ms, int *slaveCnt);
116 
122  EXTERNFUNC int eth_freeDLL();
123 
131  EXTERNFUNC int eth_getSlaveState(huint16 slave, eth_State *state);
132 
140  EXTERNFUNC int eth_getOperateMode(huint16 slave, eth_OperateMode *mode);
141 
149  EXTERNFUNC int eth_setOperateMode(huint16 slave, eth_OperateMode mode);
150 
158  EXTERNFUNC int eth_setControlWord(huint16 slave, huint16 word);
159 
167  EXTERNFUNC int eth_getStatusWord(huint16 slave, huint16 *word);
168 
175  EXTERNFUNC int eth_enable(huint16 slave);
176 
183  EXTERNFUNC int eth_disable(huint16 slave);
184 
191  EXTERNFUNC int eth_faultReset(huint16 slave);
192 
199  EXTERNFUNC int eth_quickStop(huint16 slave);
200 
208  EXTERNFUNC int eth_getActualPosition(huint16 slave, hint32 *pos);
209 
217  EXTERNFUNC int eth_getActualVelocity(huint16 slave, hint32 *vel);
218 
226  EXTERNFUNC int eth_getActualTorque(huint16 slave, hint16 *tor);
227 
235  EXTERNFUNC int eth_setTargetPosition(huint16 slave, hint32 targetPos);
236 
244  EXTERNFUNC int eth_setTargetVelocity(huint16 slave, hint32 targetVel);
245 
253  EXTERNFUNC int eth_setProfileVelocity(huint16 slave, huint32 profileVel);
254 
262  EXTERNFUNC int eth_setProfileAcceleration(huint16 slave, huint32 profileAcc);
263 
271  EXTERNFUNC int eth_setProfileDeceleration(huint16 slave, huint32 profileDec);
272 
280  EXTERNFUNC int eth_setTargetTorque(huint16 slave, hint32 targetTor);
281 
289  EXTERNFUNC int eth_setTorqueSlope(huint16 slave, huint32 torSlope);
290 
302  EXTERNFUNC int eth_readSDO(huint16 slave, huint16 index, huint8 subIndex, void *value, eth_DataType dataType, int timeout);
303 
315  EXTERNFUNC int eth_writeSDO(huint16 slave, huint16 index, huint8 subIndex, void *value, eth_DataType dataType, int timeout);
316 
317 #ifdef __cplusplus
318 }
319 #endif
320 
321 #endif
EXTERNFUNC int eth_getStatusWord(huint16 slave, huint16 *word)
获取电机当前状态字
signed long int hint40
Definition: eu_ethercat.h:47
EXTERNFUNC int eth_freeDLL()
关闭设备,释放资源
EXTERNFUNC int eth_setTorqueSlope(huint16 slave, huint32 torSlope)
设置力矩斜率,单位千分之/s²
Definition: eu_ethercat.h:67
EXTERNFUNC int eth_setProfileVelocity(huint16 slave, huint32 profileVel)
设置轮廓速度,单位脉冲
eth_OperateMode
Definition: eu_ethercat.h:88
Definition: eu_ethercat.h:73
Definition: eu_ethercat.h:98
Definition: eu_ethercat.h:84
Definition: eu_ethercat.h:94
signed long int hint56
Definition: eu_ethercat.h:49
eth_DataType
Definition: eu_ethercat.h:63
signed char hint8
Definition: eu_ethercat.h:43
Definition: eu_ethercat.h:92
Definition: eu_ethercat.h:97
EXTERNFUNC int eth_disable(huint16 slave)
失能电机
EXTERNFUNC int eth_writeSDO(huint16 slave, huint16 index, huint8 subIndex, void *value, eth_DataType dataType, int timeout)
写从站字典
Definition: eu_ethercat.h:90
EXTERNFUNC int eth_setProfileAcceleration(huint16 slave, huint32 profileAcc)
设置轮廓加速度,单位脉冲
EXTERNFUNC int eth_getActualTorque(huint16 slave, hint16 *tor)
获取电机当前力矩,单位千分之(额定力矩的千分之)
Definition: eu_ethercat.h:91
Definition: eu_ethercat.h:80
Definition: eu_ethercat.h:70
EXTERNFUNC int eth_setProfileDeceleration(huint16 slave, huint32 profileDec)
设置轮廓减速度,单位脉冲
float hreal32
Definition: eu_ethercat.h:59
EXTERNFUNC int eth_setTargetPosition(huint16 slave, hint32 targetPos)
设置目标位置,单位脉冲
Definition: eu_ethercat.h:101
#define EXTERNFUNC
Definition: eu_ethercat.h:13
Definition: eu_ethercat.h:78
Definition: eu_ethercat.h:82
EXTERNFUNC int eth_getSlaveState(huint16 slave, eth_State *state)
获取从站状态
EXTERNFUNC int eth_faultReset(huint16 slave)
错误重置
Definition: eu_ethercat.h:68
Definition: eu_ethercat.h:69
Definition: eu_ethercat.h:95
EXTERNFUNC int eth_quickStop(huint16 slave)
快速停机
double hreal64
Definition: eu_ethercat.h:60
EXTERNFUNC int eth_setTargetTorque(huint16 slave, hint32 targetTor)
设置目标力矩,单位千分之
EXTERNFUNC int eth_getOperateMode(huint16 slave, eth_OperateMode *mode)
获取电机当前的操作模式
Definition: eu_ethercat.h:96
signed long int hint64
Definition: eu_ethercat.h:50
EXTERNFUNC int eth_setTargetVelocity(huint16 slave, hint32 targetVel)
设置目标速度,单位脉冲
EXTERNFUNC int eth_getActualVelocity(huint16 slave, hint32 *vel)
获取电机当前速度,单位脉冲
EXTERNFUNC int eth_initDLL(const char *ifName, int ms, int *slaveCnt)
打开ethercat接口,初始化主站,返回扫描到的从站数量
signed long int hint48
Definition: eu_ethercat.h:48
Definition: eu_ethercat.h:66
Definition: eu_ethercat.h:79
Definition: eu_ethercat.h:93
Definition: eu_ethercat.h:102
Definition: eu_ethercat.h:71
EXTERNFUNC int eth_setOperateMode(huint16 slave, eth_OperateMode mode)
设置电机的操作模式
Definition: eu_ethercat.h:103
EXTERNFUNC int eth_setControlWord(huint16 slave, huint16 word)
设置电机的控制字
eth_State
Definition: eu_ethercat.h:76
Definition: eu_ethercat.h:85
Definition: eu_ethercat.h:81
EXTERNFUNC int eth_getActualPosition(huint16 slave, hint32 *pos)
获取电机当前位置,单位脉冲
EXTERNFUNC int eth_readSDO(huint16 slave, huint16 index, huint8 subIndex, void *value, eth_DataType dataType, int timeout)
读取从站字典
signed int hint32
Definition: eu_ethercat.h:46
signed int hint24
Definition: eu_ethercat.h:45
unsigned int huint8 __attribute__((__mode__(__QI__)))
Definition: eu_ethercat.h:51
Definition: eu_ethercat.h:83
Definition: eu_ethercat.h:99
EXTERNFUNC int eth_enable(huint16 slave)
使能电机
signed short int hint16
Definition: eu_ethercat.h:44
Definition: eu_ethercat.h:100
Definition: eu_ethercat.h:72