You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

284 lines
11 KiB
C

2 years ago
/*********************************************************************
*<EFBFBD>ļ<EFBFBD>˵<EFBFBD><EFBFBD>: <EFBFBD><EFBFBD><EFBFBD>ӿڣ<EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>˶<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƿ<EFBFBD><EFBFBD><EFBFBD>IO<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ad<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>п<EFBFBD><EFBFBD>ƿ<EFBFBD>/ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD><EFBFBD>˽ӿ<EFBFBD>Ҫ<EFBFBD><EFBFBD>
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD>: logos
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD>: 2016/04/12
*<EFBFBD>޸<EFBFBD><EFBFBD><EFBFBD>־: 2016/04/12 EW-0551 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
***ע<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>***
1. <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD>ֹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
2. <EFBFBD><EFBFBD><EFBFBD><EFBFBD>axis/io/ad<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڼ<EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ػ<EFBFBD>ʧ<EFBFBD><EFBFBD>
io<EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD>IO<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܹ<EFBFBD>3<EFBFBD><EFBFBD><EFBFBD>ӿڣ<EFBFBD>read_in/read_out/write_out,
<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IO<EFBFBD><EFBFBD>ܣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>3<EFBFBD><EFBFBD><EFBFBD>ӿڡ<EFBFBD>
3. ad<EFBFBD><EFBFBD><EFBFBD>read_ad<EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD>ָýӿ<EFBFBD>
4. <EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>ſ<EFBFBD>axis<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0<EFBFBD><EFBFBD><EFBFBD><EFBFBD>IO<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0.
5. <EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>get_dev_info<EFBFBD>ӿڷ<EFBFBD><EFBFBD>أ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Сƥ<EFBFBD><EFBFBD>
***********************************************************************/
#pragma once
#ifndef _INCLUDE_MOTOR_H
#define _INCLUDE_MOTOR_H
#include "dtype.h"
/***********************************************
*Function: <EFBFBD><EFBFBD>ȡӲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*Intput: pDev Ӳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD>
*Output: pDev Ӳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*Return: <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʧ<EFBFBD>ܷ<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><0
*********************************************/
EXPORT_C int WINAPI get_dev_info(TDevInfo* pDev);
/***********************************************
*Function: <EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>
*Intput: cindex <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
axisIndex <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*Output: NULL
*Return: <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʧ<EFBFBD>ܷ<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><0
*********************************************/
EXPORT_C int WINAPI axis_reset(ushort cindex, ushort axisIndex);
/***********************************************
*Function: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>
*Intput: cindex <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
axisIndex <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*Output: NULL
*Return: <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʧ<EFBFBD>ܷ<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><0
*********************************************/
EXPORT_C int WINAPI axis_zero_pos(ushort cindex, ushort axisIndex);
/***********************************************
*Function: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ
*Intput: cindex <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
axisIndex <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
homeType <EFBFBD><EFBFBD>ԭ<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> THomeTypeDesc <EFBFBD><EFBFBD><EFBFBD>Ŵ<EFBFBD><EFBFBD><EFBFBD>
pos <EFBFBD><EFBFBD>ԭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
pspeed <EFBFBD><EFBFBD>ԭ<EFBFBD>ٶ<EFBFBD>
*Output: NULL
*Return: <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʧ<EFBFBD>ܷ<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><0
*********************************************/
EXPORT_C int WINAPI axis_home(ushort cindex, ushort axisIndex, ushort homeType, double pos, double offset, double vel);
/***********************************************
*Function: <EFBFBD>жϵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD>
*Intput: cindex <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
axisIndex <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*Output: NULL
*Return: 1<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD> 0<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD><EFBFBD><EFBFBD>
*********************************************/
EXPORT_C int WINAPI axis_is_moving(ushort cindex, ushort axisIndex);
/***********************************************
*Function: <EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶȣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<EFBFBD>˶<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*Intput: cindex <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
axisIndex <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
vel <EFBFBD>˶<EFBFBD><EFBFBD>ٶ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>/ms
acc <EFBFBD>˶<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
dec <EFBFBD>˶<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
*Output: NULL
*Return: <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʧ<EFBFBD>ܷ<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><0
*********************************************/
EXPORT_C int WINAPI axis_set_speed(ushort cindex, ushort axisIndex, double vel, double acc, double dec);
/***********************************************
*Function: <EFBFBD>˶<EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ĵ<EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD><EFBFBD>п<EFBFBD><EFBFBD>ã<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*Intput: cindex <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
axisIndex <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
pos Ŀ<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*Output: NULL
*Return: <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʧ<EFBFBD>ܷ<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><0
*********************************************/
EXPORT_C int WINAPI axis_set_pos(ushort cindex, ushort axisIndex, double pos);
/***********************************************
*Function: ֹͣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD>
*Intput: cindex <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
axisIndex <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
type 0: ƽ<EFBFBD><EFBFBD>ֹͣ
1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹͣ
*Output: NULL
*Return: <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʧ<EFBFBD>ܷ<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><0
*********************************************/
EXPORT_C int WINAPI axis_stop(ushort cindex, ushort axisIndex, int type);
/***********************************************
*Function: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD>(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
*Intput: cindex <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
axisIndex <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
dir 0 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
vel <EFBFBD>˶<EFBFBD><EFBFBD>ٶ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>/ms
acc <EFBFBD>˶<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
dec <EFBFBD>˶<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
*Output: <EFBFBD><EFBFBD>
*Return: <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʧ<EFBFBD>ܷ<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><0
*********************************************/
EXPORT_C int WINAPI axis_move_jog(ushort cindex, ushort axisIndex, int dir, double vel, double acc, double dec);
/***********************************************
*Function: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
*Intput: cindex <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
axisIndex <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
pos <EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
vel <EFBFBD>˶<EFBFBD><EFBFBD>ٶ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>/ms
acc <EFBFBD>˶<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
dec <EFBFBD>˶<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
*Output: NULL
*Return: <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʧ<EFBFBD>ܷ<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><0
*********************************************/
EXPORT_C int WINAPI axis_move_pos(ushort cindex, ushort axisIndex, double pos, double vel, double acc, double dec);
/***********************************************
*Function: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD>ǰλ<EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD>(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
*Intput: cindex <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
axisIndex <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
offset ƫ<EFBFBD>ƾ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD>
vel <EFBFBD>˶<EFBFBD><EFBFBD>ٶ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>/ms
acc <EFBFBD>˶<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
dec <EFBFBD>˶<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
*Output: <EFBFBD><EFBFBD>
*Return: <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʧ<EFBFBD>ܷ<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><0
*********************************************/
EXPORT_C int WINAPI axis_move_offset(ushort cindex, ushort axisIndex, double offset, double vel, double acc, double dec);
/***********************************************
*Function: <EFBFBD><EFBFBD>ȡָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>IO<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
*Intput: cindex <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
axisIndex <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
dio_type IO<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*Output: NULL
*Return: <EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>Ϊ1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>Ϊ0
*********************************************/
EXPORT_C int WINAPI axis_read(ushort cindex, ushort axisIndex, EIOType dio_type);
/***********************************************
*Function: <EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>IO<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*Intput: cindex <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
axisIndex <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
do_type <EFBFBD><EFBFBD><EFBFBD><EFBFBD>IO<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
val д<EFBFBD><EFBFBD>ֵ 1 / 0
*Output: NULL
*Return: <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʧ<EFBFBD>ܷ<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><0
*********************************************/
EXPORT_C int WINAPI axis_write(ushort cindex, ushort axisIndex, ushort val, EIOType do_type);
/***********************************************
*Function: <EFBFBD><EFBFBD>ȡ<EFBFBD>ǰλ<EFBFBD><EFBFBD>(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
*Intput: ardIndex, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
axisIndex <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
postype 0 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD> 1 <EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>
*Output: pval <EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*Return: <EFBFBD>ο<EFBFBD>EM_ERR_CODE
*********************************************/
EXPORT_C int WINAPI axis_get_pos(ushort cindex, ushort axisIndex, EMPosType postype, double *pval);
/***********************************************
*Function: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ
*Intput: cindex, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
pAxisIndex <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
nsize <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*Output: NULL
*Return: <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵID>=0 ʧ<EFBFBD>ܷ<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><0
*********************************************/
EXPORT_C int WINAPI create_crd(ushort cindex, ushort *pAxisIndex, ushort nsize);
/***********************************************
*Function: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>λ<EFBFBD>õ<EFBFBD>ֱ<EFBFBD>߲<EFBFBD>˶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*Intput: crd <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵID
ppos λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
nsize <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>
vel <EFBFBD>˶<EFBFBD><EFBFBD>ٶ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>/ms
acc <EFBFBD>˶<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
endvel <EFBFBD>յ<EFBFBD><EFBFBD>ٶȣ<EFBFBD>Ĭ<EFBFBD><EFBFBD>Ϊ0
*Output: NULL
*Return: <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʧ<EFBFBD>ܷ<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><0
PS: <EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;<EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*********************************************/
EXPORT_C int WINAPI add_line_pos(int crd, double *ppos, ushort nsize, double vel, double acc, double endvel = 0);
/***********************************************
*Function: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>õ<EFBFBD>Բ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*Intput: crd <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵID
ppos1 λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ppos2 λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ppos3 λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
nsize <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>
vel <EFBFBD>˶<EFBFBD><EFBFBD>ٶ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>/ms
acc <EFBFBD>˶<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
endvel <EFBFBD>յ<EFBFBD><EFBFBD>ٶȣ<EFBFBD>Ĭ<EFBFBD><EFBFBD>Ϊ0
*Output: NULL
*Return: <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʧ<EFBFBD>ܷ<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><0
PS: Բ<EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD>ܻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>ͨ<EFBFBD><EFBFBD>ppos1<EFBFBD><EFBFBD>ppos2 ppos3 3<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD>ʧ<EFBFBD><EFBFBD>
*********************************************/
EXPORT_C int WINAPI add_arc_pos(int crd, double *ppos1, double *ppos2, double *ppos3, ushort nsize, double vel, double acc, double endvel = 0);
/***********************************************
*Function: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD>
*Intput: crd <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵID
*Output: NULL
*Return: <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʧ<EFBFBD>ܷ<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><0
*********************************************/
EXPORT_C int WINAPI crd_move(int crd);
/***********************************************
*Function: <EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD>˶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ״̬
*Intput: crd <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵID
*Output: progress <EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>ǰ<EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɵIJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*Return: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><EFBFBD>ʶ<EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD><EFBFBD>У<EFBFBD>0<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD>
*********************************************/
EXPORT_C int WINAPI crd_is_moving(int crd, int *progress);
/***********************************************
*Function: <EFBFBD>ر<EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ
*Intput: crd <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵID
*Output: NULL
*Return: <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʧ<EFBFBD>ܷ<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><0
*********************************************/
EXPORT_C int WINAPI close_crd(int crd);
/***********************************************
*Function: <EFBFBD><EFBFBD>ȡָ<EFBFBD><EFBFBD>λͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>io״̬
*Intput: cindex <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
in_index io<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*Output: NULL
*Return: <EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>Ϊ1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>Ϊ0
*********************************************/
EXPORT_C int WINAPI read_in(ushort cindex, ushort in_index);
/***********************************************
*Function: <EFBFBD><EFBFBD>ȡָ<EFBFBD><EFBFBD>λͨ<EFBFBD><EFBFBD>IO<EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
*Intput: cindex <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
out_index io<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*Output: NULL
*Return: <EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>Ϊ1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>Ϊ0<EFBFBD><EFBFBD>ʧ<EFBFBD>ܷ<EFBFBD><EFBFBD><EFBFBD>EM_ERR_CODE
*********************************************/
EXPORT_C int WINAPI read_out(ushort cindex, ushort out_index);
/***********************************************
*Function: <EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>λͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IOд<EFBFBD><EFBFBD>ֵ
*Intput: cindex <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
out_index io<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
val д<EFBFBD><EFBFBD>ֵ 1 / 0
*Output: NULL
*Return: <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʧ<EFBFBD>ܷ<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><0
*********************************************/
EXPORT_C int WINAPI write_out(ushort cindex, ushort out_index, ushort val);
/***********************************************
*Function: <EFBFBD><EFBFBD>ȡָ<EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
*Intput: cindex <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
index ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*Output: pVal <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*Return: <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʧ<EFBFBD>ܷ<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><0
*********************************************/
EXPORT_C int WINAPI read_ad(ushort cindex, ushort index, double* pVal);
/***********************************************
*Function: <EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD>д<EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*Intput: cindex <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
index ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
val ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*Output: NULL
*Return: <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʧ<EFBFBD>ܷ<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><0
*********************************************/
EXPORT_C int WINAPI write_ad(ushort cindex, ushort index, double val);
#endif //<2F><>ֹ<EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD>