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.

317 lines
12 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>: logos
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD>: 2017/05/12
*<EFBFBD>޸<EFBFBD><EFBFBD><EFBFBD>־: 2017/05/12 CW4945 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ģ<EFBFBD><EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
***********************************************************************/
#pragma once
#ifndef _INCLUDE_MOTOR_SIMULATOR_H
#define _INCLUDE_MOTOR_SIMULATOR_H
#include "dtype.h"
/***********************************************
*Function: ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>һ<EFBFBD>ſ<EFBFBD>
*Intput: card <EFBFBD><EFBFBD>ID
axiscnt <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
iocnt IO<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
adcnt ad<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
param <EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><EFBFBD>8<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*Output: NULL
*Return: <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0,ʧ<EFBFBD>ܷ<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><0
*********************************************/
EXPORT_C int WINAPI sim_init_card(int card, ushort axiscnt, ushort iocnt, ushort adcnt);
/***********************************************
*Function: ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>Ӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*Intput: vid <EFBFBD>Ӿ<EFBFBD>ID
*Output: NULL
*Return: <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0,ʧ<EFBFBD>ܷ<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><0
*********************************************/
EXPORT_C int WINAPI sim_init_vision(int vid);
/***********************************************
*Function: <EFBFBD>ͷ<EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>/<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<EFBFBD>Ӿ<EFBFBD>
*Intput: pid <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID
*Output: NULL
*Return: <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0,ʧ<EFBFBD>ܷ<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><0
*********************************************/
EXPORT_C int WINAPI sim_deinit(int pid);
/***********************************************
*Function: <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
*Intput: pid <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID
*Output: NULL
*Return: <EFBFBD><EFBFBD><EFBFBD>ض<EFBFBD><EFBFBD><EFBFBD>״̬ >=0
*********************************************/
EXPORT_C int WINAPI sim_get_status(int pid);
/*********************************************
*Function: <EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܽӿڣ<EFBFBD>
*Intput: pid <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID
msg Ҫ<EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD><EFBFBD><EFBFBD>Ϣ
res <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ,<EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD><EFBFBD><EFBFBD>
*Output: res <EFBFBD><EFBFBD><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><0
*********************************************/
EXPORT_C int WINAPI sim_send(int pid, const char* msg, char* res = 0);
/*********************************************
*Function: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܽӿڣ<EFBFBD>
*Intput: pid <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID
msg <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶμ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>
res <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
timeout <EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>λms
*Output: res <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
*Return: <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0,ʧ<EFBFBD>ܷ<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><0
*PS: <EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ERR_TIMEOUT
*PS: <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 sim_recv(int pid, const char* msg, char* res, int timeout = 0);
/*********************************************
*Function: <EFBFBD><EFBFBD>λָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*Intput: axis <EFBFBD><EFBFBD>ID
*Output: NULL
*Return: <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0,ʧ<EFBFBD>ܷ<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><0
*********************************************/
EXPORT_C int WINAPI sim_axis_reset(int axis);
/***********************************************
*Function: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>
*Intput: axis <EFBFBD><EFBFBD>ID
*Output: NULL
*Return: <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0,ʧ<EFBFBD>ܷ<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><0
*********************************************/
EXPORT_C int WINAPI sim_axis_zero_pos(int axis);
/***********************************************
*Function: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ
*Intput: axis <EFBFBD><EFBFBD>ID
pos <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
offset <EFBFBD><EFBFBD>ԭ<EFBFBD><EFBFBD>ƫ<EFBFBD><EFBFBD>
vel <EFBFBD><EFBFBD>ԭ<EFBFBD>ٶ<EFBFBD>
*Output: NULL
*Return: <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0,ʧ<EFBFBD>ܷ<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><0
*********************************************/
EXPORT_C int WINAPI sim_axis_home(int axis, double pos, double offset, double vel);
/***********************************************
*Function: <EFBFBD>жϵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD>
*Intput: axis <EFBFBD><EFBFBD>ID
*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 sim_axis_is_moving(int axis);
/***********************************************
*Function: <EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶȣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<EFBFBD>˶<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*Intput: axis <EFBFBD><EFBFBD>ID
vel <EFBFBD>˶<EFBFBD><EFBFBD>ٶ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
acc <EFBFBD>˶<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
dec <EFBFBD>˶<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
*Output: NULL
*Return: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*********************************************/
EXPORT_C int WINAPI sim_axis_set_speed(int axis, 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: axis <EFBFBD><EFBFBD>ID
pos Ŀ<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*Output: NULL
*Return: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*********************************************/
EXPORT_C int WINAPI sim_axis_set_pos(int axis, double pos);
/***********************************************
*Function: ֹͣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD>
*Intput: axis <EFBFBD><EFBFBD>ID
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><0
*********************************************/
EXPORT_C int WINAPI sim_axis_stop(int axis, int type);
/***********************************************
*Function: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
*Intput: axis <EFBFBD><EFBFBD>ID
pos <EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
vel <EFBFBD>˶<EFBFBD><EFBFBD>ٶ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
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><0
*********************************************/
EXPORT_C int WINAPI sim_axis_move_pos(int axis, double pos, double vel, double acc, double dec);
/***********************************************
*Function: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD>(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
*Intput: axis <EFBFBD><EFBFBD>ID
dir 0 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
vel <EFBFBD>˶<EFBFBD><EFBFBD>ٶ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
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><0
*********************************************/
EXPORT_C int WINAPI sim_axis_move_jog(int axis, int dir, double vel, double acc, double dec);
/***********************************************
*Function: <EFBFBD><EFBFBD>ȡ<EFBFBD>ǰλ<EFBFBD><EFBFBD>(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
*Intput: axis <EFBFBD><EFBFBD>ID
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><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0,ʧ<EFBFBD>ܷ<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><0
*********************************************/
EXPORT_C int WINAPI sim_axis_get_pos(int axis, int postype, double *pval);
/***********************************************
*Function: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ
*Intput: pAxis <EFBFBD><EFBFBD>ID<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><EFBFBD><EFBFBD>
*Output: NULL
*Return: ʧ<EFBFBD>ܷ<EFBFBD><EFBFBD><EFBFBD> INVALID_HANDLE_INT<EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵID
*********************************************/
EXPORT_C int WINAPI sim_create_crd(int *pAxis, ushort nsize);
/***********************************************
*Function: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD>߲<EFBFBD>˶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*Intput: crdID <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><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 sim_add_line_pos(int crdID, 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>
*Intput: crdID <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><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 sim_add_arc_pos(int crdID, double *ppos1, double *ppos2, double *ppos3, ushort nsize, double vel, double acc, double endvel = 0);
/***********************************************
*Function: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD>
*Intput: crdID <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵID
*Output: NULL
*Return: <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0,ʧ<EFBFBD>ܷ<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><0
*********************************************/
EXPORT_C int WINAPI sim_crd_move(int crdID);
/***********************************************
*Function: <EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD>˶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ״̬
*Intput: crdID <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>
*PS: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>½<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD><EFBFBD><EFBFBD> clear_crd_data
ָ<EFBFBD><EFBFBD><EFBFBD>󣬸<EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*********************************************/
EXPORT_C int WINAPI sim_crd_is_moving(int crdID, int *progress);
/***********************************************
*Function: <EFBFBD>ر<EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ
*Intput: crdID <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵID
*Output: NULL
*Return: <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0,ʧ<EFBFBD>ܷ<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><0
*********************************************/
EXPORT_C int WINAPI sim_close_crd(int crdID);
/***********************************************
*Function: <EFBFBD><EFBFBD>ȡָ<EFBFBD><EFBFBD>λͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>io״̬
*Intput: iid IO
*Output: NULL
*Return: <EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>Ϊ1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>Ϊ0
*********************************************/
EXPORT_C int WINAPI sim_read_in(int iid);
/***********************************************
*Function: <EFBFBD><EFBFBD>ȡָ<EFBFBD><EFBFBD>λͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>io״̬
*Intput: iid IO
*Output: NULL
*Return: <EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>Ϊ1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>Ϊ0
*********************************************/
EXPORT_C int WINAPI sim_read_out(int iid);
/***********************************************
*Function: <EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>λͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IOд<EFBFBD><EFBFBD>ֵ
*Intput: iid IO
val д<EFBFBD><EFBFBD>ֵ 1 / 0
*Output: NULL
*Return: <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0,ʧ<EFBFBD>ܷ<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><0
*********************************************/
EXPORT_C int WINAPI sim_write_out(int iid, ushort val);
/***********************************************
*Function: <EFBFBD><EFBFBD>ȡָ<EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
*Intput: card <EFBFBD><EFBFBD>ID
*Output: pVal <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
*Return: <EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>Ϊ1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>Ϊ0
*********************************************/
EXPORT_C int WINAPI sim_read_ad(int aid, double* pVal);
/***********************************************
*Function: д<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
*Intput: aid AD
*Output: NULL
*Return: <EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>Ϊ1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>Ϊ0
*********************************************/
EXPORT_C int WINAPI sim_write_ad(int aid, double val);
/****************************************************
*Function: <EFBFBD>Ӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɷ<EFBFBD><EFBFBD><EFBFBD>
*Intput: vid <EFBFBD>Ӿ<EFBFBD>ID
secne <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӿ<EFBFBD>ͨѶЭ<EFBFBD><EFBFBD><EFBFBD>
timeout <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 sim_vision_process(int vid, int secne);
/****************************************************
*Function: <EFBFBD><EFBFBD>ȡ<EFBFBD>Ӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*Intput: vid <EFBFBD>Ӿ<EFBFBD>ID
secne <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӿ<EFBFBD>ͨѶЭ<EFBFBD><EFBFBD><EFBFBD>
timeout <EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> -1<EFBFBD><EFBFBD><EFBFBD>ߵȴ<EFBFBD>
*Output: pres <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 <EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ERR_TIMEOUT
******************************************************/
EXPORT_C int WINAPI sim_recv_process_result(int vid, int secne, TVisionResult* pres, int timeout);
/****************************************************
*Function: <EFBFBD><EFBFBD>ȡ<EFBFBD>Ӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*Intput: vid <EFBFBD>Ӿ<EFBFBD>ID
secne <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӿ<EFBFBD>ͨѶЭ<EFBFBD><EFBFBD><EFBFBD>
*Output: pimg ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*Return: <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD>ʧ<EFBFBD>ܷ<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> < 0
******************************************************/
EXPORT_C int WINAPI sim_get_process_image(int vid, int secne, TVisionImage* pimg);
/****************************************************
*Function: <EFBFBD><EFBFBD>ȡ<EFBFBD>Ӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD>·<EFBFBD><EFBFBD>
*Intput: vid <EFBFBD>Ӿ<EFBFBD>ID
secne <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӿ<EFBFBD>ͨѶЭ<EFBFBD><EFBFBD><EFBFBD>
*Output: path ͼ<EFBFBD><EFBFBD>·<EFBFBD><EFBFBD> 256<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 sim_get_process_image_path(int vid, int secne, char* path);
#endif //<2F><>ֹ<EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD>