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.

241 lines
12 KiB
C#

2 years ago
using System;
using System.Text;
using System.Collections.Generic;
using System.Runtime.InteropServices;
namespace ocean
{
//错误代码
public enum EM_ERR_CODE
{
ERR_INPUT_PARAM = -1000, //入参为空或者不合法
ERR_PARAM_FORMAT, //参数格式错误
ERR_VERSION, //版本错误
ERR_TIMEOUT, //等待超时
ERR_NO_INIT, //未初始化
ERR_NOINIT_POOL, //未初始化线程池
ERR_REPEAT_INIT, //重复初始化
ERR_NO_CONNECT, //未连接
ERR_NO_REG, //未注册
ERR_REPEAT_REG, //重复注册
ERR_DATA_OVERLIMIT, //数据溢出
ERR_ID_EXIST, //ID已经存在
ERR_INVALID_ID, //此ID无效
ERR_INVALID_HANDLE, //无效句柄
ERR_INVALID_NAME, //无效名称
ERR_NAME_EXIST, //该名称已经存在
ERR_NOREADY, //不在就绪状态,不能接受该指令
ERR_NOINIT_CONTROL, //未初始化运动控制引擎
ERR_NOINIT_OPS, //未初始化流程控制引擎
//File error
ERR_CREATE_FILE, //创建文件失败
ERR_OPEN_FILE, //打开文件失败
ERR_WRITE_FILE, //写入文件失败
ERR_READ_FILE, //读取文件失败
ERR_DEL_FILE, //删除文件失败
ERR_GET_ATTRIBUTES, //获取文件属性失败
ERR_FILE_FORMAT, //文件格式错误
//commport error
ERR_OPEN_COM, //打开串口失败
ERR_COM_WRITE, //写入串口错误
ERR_COM_READ, //读取串口错误
ERR_GET_COMSTATE, //获取串口参数错误
ERR_SET_COMSTATE, //设置串口参数错误
ERR_CLEAR_COMSTACK, //清除缓冲区失败
//sysapi
ERR_NOINIT_NET, //未初始化网络协议栈
ERR_INIT_NET, //加载网络协议栈失败
ERR_NET_VERSION, //网络协议栈版本错误
ERR_CLIENT_NORESPONSE, //客户端无响应
ERR_CREATE_SOCKET, //创建socket失败
ERR_LISTEN_SOCKET, //监听socket失败
ERR_BIND_SOCKET, //绑定端口错误
ERR_ACCEPT_SOCKET, //接受连接失败
ERR_CONNECT_SOCKET, //连接服务端失败
ERR_GET_SOCKET, //获取socket信息失败(ip,port)
ERR_OPERATOR_EVENT, //操作事件失败
ERR_ABANDONED_EVENT, //事件被锁定, 无法操作
ERR_LOAD_DLL, //加载dll失败
ERR_LOAD_DLLFUN, //加载dll某个接口失败
ERR_INVALID_IP, //无效IP
ERR_INVALID_PORT, //无效端口
ERR_RECV_MSG, //接收消息出错
ERR_SEND_MSG, //发送消息出错
ERR_NETCALL, //网络调用出错
ERR_FORMAT_MSG, //消息格式错误
ERR_NO_LOGIN, //未登录
ERR_NO_LIMIT, //无权限
ERR_USER_EXIST, //用户已存在
ERR_USER_TOO_LONG, //用户名过长
ERR_PWD_TOO_LONG, //密码过长
ERR_INVALID_USER, //用户名无效
ERR_INVALID_PWD, //密码无效
ERR_INVALID_LIMIT, //无效的权限项
ERR_REPEAT_LIMIT, //重复的权限项
ERR_LIMIT_OVER, //权限设置超限
//motor err
ERR_NOINIT_CARD, //未初始化卡
ERR_MOTOR_API, //卡接口命令返回错误
ERR_NO_CARD, //卡不存在,或者无卡
ERR_LOAD_CFG, //加载卡配置文件失败
ERR_INIT_CARD, //初始化控制卡失败
ERR_INVALID_AXIS, //无效轴
ERR_OCCUPY_AXIS, //轴被占用
ERR_IO_TYPE, //IO类型错误
ERR_READ_IO, //读取IO失败
ERR_WRITE_IO, //写入IO失败
ERR_OCCUPY_IO, //IO被占用
ERR_READ_AD, //读取ad失败
ERR_WRITE_AD, //写入ad失败
ERR_AXIS_HOME, //轴回原失败
ERR_AXIS_MOVING, //轴正在运动中
ERR_GET_CURPOS, //获取当前位置失败
ERR_SET_SPEED, //设置速度失败
ERR_NO_SERVO, //轴未使能
ERR_AXIS_TRAP, //点位运动失败
ERR_SET_MOVETYPE, //设置运动模式失败
ERR_SET_CRD, //建立坐标系失败
ERR_GET_CRD, //获取坐标系失败
ERR_MOVE_LINE, //直线插补运动失败
ERR_MOVE_ARC, //圆弧插补失败
ERR_MOVE_CRD, //启动连续插补失败
ERR_START_SAFEMONITOR, //启动安全检测失败
ERR_SAFE_CHK, //安全空间限制
ERR_NO_HOMEP, //无原点信号
ERR_NO_LIMITN, //无负限位信号
ERR_NO_LIMITP, //无正限位信号
ERR_VISION_RES, //视觉处理错误
ERR_EM_MAX, //最大值,不是错误码
RETURN_OK = 0, //正常返回
};
//若需要获取拷贝进度,请实现本接口
//progress 当前进度 -- 百分比
//pszname 当前正在拷贝的文件路径
//其中一个参数发生变化时就会回调
//返回FALSE会中断拷贝返回TRUE继续拷贝
//*PS: 拷贝单个文件回调时pszname会传NULL
public delegate int COPYPROC(int progress, string pszname);
public class dir
{//目录接口
/****************************************************
*Function: --
*Intput: path
key key
*Output: NULL
*Return: 0,
*PS:
******************************************************/
[DllImport(@"sysapi.dll", EntryPoint = "set_work_path", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern int set_work_path(string path, string key = null);
/****************************************************
*Function: --
*Intput: key key
*Output: NULL
*Return: ,
******************************************************/
[DllImport(@"sysapi.dll", EntryPoint = "get_work_path", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
private static extern int get_path(StringBuilder strpath, string key = null);
public static string get_work_path()
{
StringBuilder strpath = new StringBuilder(256);
get_path(strpath);
return strpath.ToString();
}
/****************************************************
*Function: exe/dll
*Intput: NULL
dwAccess lpPath
*Output:
*Return: 0
******************************************************/
[DllImport(@"sysapi.dll", EntryPoint = "sys_GetCurrentPath", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
private static extern int sys_GetCurrentPath(StringBuilder strpath);
public static string get_now()
{
StringBuilder strpath = new StringBuilder(256);
sys_GetCurrentPath(strpath);
return strpath.ToString();
}
/****************************************************
*Function:
*Intput: path
*Output: NULL
*Return: 0,
******************************************************/
[DllImport(@"sysapi.dll", EntryPoint = "create_path", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern int create(string path);
/*****************************************************
*Function:
*Intput: filepath
*Output: NULL
*Return: true
******************************************************/
[DllImport(@"sysapi.dll", EntryPoint = "delete_path", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern int del(string path);
/****************************************************
*Function: /
*Intput: filepath
*Output: NULL
*Return: 1, 0
******************************************************/
[DllImport(@"sysapi.dll", EntryPoint = "is_file_exist", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern int exist(string path);
/****************************************************
*Function:
*Intput: filepath
*Output: NULL
*Return: 1, 0
******************************************************/
[DllImport(@"sysapi.dll", EntryPoint = "is_file_read_only", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern int read_only(string path);
/****************************************************
*Function:
*Intput: filepath
*Output: NULL
*Return: >=0
******************************************************/
[DllImport(@"sysapi.dll", EntryPoint = "get_file_size", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern int get_size(string path);
/****************************************************
*Function:
*Intput: file
newfile
pcall
*Output: NULL
*Return: 0,
******************************************************/
[DllImport(@"sysapi.dll", EntryPoint = "copy_file", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern int copyf(string file, string newfile, COPYPROC pcall = null);
/****************************************************
*Function:
*Intput: src
des
pext "txt or dat" --
pcall
*Output: NULL
*Return: 0,
*PS:
******************************************************/
[DllImport(@"sysapi.dll", EntryPoint = "copy_path", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern int copy(string src, string des, string pext, COPYPROC pcall = null);
}
}