using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
/********************************** ZMC系列控制器 ************************************************
**--------------文件信息--------------------------------------------------------------------------------
**文件名: zmcaux.h
**创建人: 郑孝洋
**时间: 20130621
**描述: ZMCDLL 辅助函数
**------------修订历史记录----------------------------------------------------------------------------
** 修改人: zxy
** 版 本: 1.1
** 日 期: 2014.5.11
** 描 述: ZMC_ExecuteNoAck 替换为 ZMC_Execute
** 修改人: zxy
** 版 本: 1.3
** 日 期: 2014.7.21
** 描 述: ZMC_Execute ZMC_DirectCommand 替换为ZAux_Execute ZAux_DirectCommand
增加 ZAux_SetParam ZAux_GetParam ZAux_Direct_SetParam ZAux_Direct_GetParam
增加 ZAux_WriteUFile ZAux_ReadUFile
** 修改人: wy
** 版 本: 1.5
** 日 期: 2016.6.6
** 描 述: 对所有BASIC指令进行封装,整合ZMC库到AUX库
** 修改人: wy
** 版 本: 2.1
** 日 期: 2018.8.24
** 描 述:添加PCI链接函数
** 对所有BASIC指令运动指令进行封装,封装轴列表到函数
** 增加部分总线指令
** 增加部分MOVE_PARA指令
增加位置比较输出指令
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
namespace cszmcaux
{
public class zmcaux
{
///
/// Execute在线命令
///
/// 连接句柄
/// 字符串命令
/// 返回的字符串
/// 返回的字符长度
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Execute", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Execute(IntPtr handle, string pszCommand, StringBuilder psResponse, UInt32 uiResponseLength);
///
/// DirectCommand在线命令
///
/// 连接句柄
/// 命令字符串
/// 返回的字符串
/// 返回的字符长度
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_DirectCommand", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_DirectCommand(IntPtr handle, string pszCommand, StringBuilder psResponse, UInt32 uiResponseLength);
///
/// 命令跟踪设置
///
/// 命令获取类型 0 关闭 1-只输出错误命令 2-只输出运动与设置命令 3输出全部命令
/// 文件路径
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_SetTraceFile", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_SetTraceFile(int bifTofile, string pFilePathName);
///
/// 控制器串口链接
///
/// 串口号
/// 句柄指针
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_OpenCom", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_OpenCom(UInt32 comid, out IntPtr phandle);
///
/// 搜索串口连接控制器
///
/// 最小串口号
/// 最大串口号
/// 有效COM口列表
/// 连接时间
/// 句柄指针
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_SearchAndOpenCom", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_SearchAndOpenCom(UInt32 uimincomidfind, UInt32 uimaxcomidfind, ref uint pcomid, UInt32 uims, out IntPtr phandle);
///
/// 设置COM口连接参数
///
/// 波特率
/// 数据位
/// 校验位
/// 停止位
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_SetComDefaultBaud", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_SetComDefaultBaud(UInt32 dwbaudRate, UInt32 dwByteSize, UInt32 dwParity, UInt32 dwStopBits);
///
/// 设置控制器IP地址
///
/// 连接句柄
/// IP地址
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_SetIp", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_SetIp(IntPtr handle, string ipaddress);
///
/// 以太网方式连接控制器
///
/// IP地址
/// 句柄指针
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_OpenEth", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_OpenEth(string ipaddr, out IntPtr phandle);
///
/// 快速搜索IP地址
///
/// Ip地址列表指针
/// 搜索IP地址最大长度
/// 搜索最大时间
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_SearchEthlist", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_SearchEthlist(StringBuilder ipaddrlist, UInt32 addrbufflength, UInt32 uims);
///
/// 搜索控制器
///
/// IP地址
/// 最大搜索时间
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_SearchEth", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_SearchEth(string ipaddress, UInt32 uims);
///
/// 关闭控制器链接
///
/// 连接句柄
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Close", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Close(IntPtr handle);
///
/// 暂停继续运行BAS项目
///
/// 连接句柄
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Resume", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Resume(IntPtr handle);
///
/// 暂停控制器中BAS程序
///
/// 连接句柄
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Pause", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Pause(IntPtr handle);
///
/// 单个BAS文件生成ZAR并且下载到控制器运行
///
/// 连接句柄
/// BAS文件路径
/// RAM-ROM 0-RAM 1-ROM
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_BasDown", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_BasDown(IntPtr handle, string Filename, UInt32 run_mode);
///
/// ZPJ文件下载
///
/// 连接句柄
/// ZpjName ZPJ文件路径
/// ZarName Zar文件路径
/// pPass 软件密码, 绑定APP_PASS 没有密码时pPass = NULL 或 ""
/// uid 绑定控制器唯一ID, 0-不绑定
/// 下载到RAM-ROM 0-RAM 1-ROM
///
[DllImport("zauxdll.dll", EntryPoint = "ZAux_ZpjDown", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_ZpjDown(IntPtr handle, string ZpjName, string ZarName, string pPass, UInt32 uid, UInt32 run_mode);
///
/// 读取输入信号
///
/// 连接句柄
/// 输入口编号
/// 输入口状态
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetIn", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetIn(IntPtr handle, int ionum, ref UInt32 piValue);
///
/// 打开输出口
///
/// 连接句柄
/// 输出口编号
/// 输出口状态值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetOp", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetOp(IntPtr handle, int ionum, UInt32 iValue);
///
/// 读取输出口状态
///
/// 连接句柄
/// 输出口编号
/// 输出口状态值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetOp", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetOp(IntPtr handle, int ionum, ref UInt32 piValue);
///
/// 读取模拟量输入值
///
/// 连接句柄
/// 模拟量输入编号
/// 返回的模拟量值 4系列以下0-4095
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetAD", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetAD(IntPtr handle, int ionum, ref float pfValue);
///
/// 设置模拟量输出
///
/// 连接句柄
/// 模拟量输出编号
/// 设定的模拟量值4系列以下0-4095
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetDA", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetDA(IntPtr handle, int ionum, float fValue);
///
/// 读取模拟输出口值
///
/// 连接句柄
/// 模拟量输出编号
/// 反馈模拟量值4系列以下0-4095
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetDA", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetDA(IntPtr handle, int ionum, ref float pfValue);
///
/// 设置输入口反转
///
/// 连接句柄
/// 输入口编号
/// 反转状态设置值 0/1
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetInvertIn", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetInvertIn(IntPtr handle, int ionum, int bifInvert);
///
/// 读取输入口反转状态
///
/// 连接句柄
/// 输入口编号
/// 反转状态返回值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetInvertIn", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetInvertIn(IntPtr handle, int ionum, ref int piValue);
///
/// 设置pwm频率
///
/// 连接句柄
/// PWM编号口
/// 频率值设定值 硬件PWM1M 软PWM 2K
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetPwmFreq", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetPwmFreq(IntPtr handle, int ionum, float fValue);
///
/// 读取pwm频率
///
/// 连接句柄
/// PWM编号口
/// 频率返回值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetPwmFreq", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetPwmFreq(IntPtr handle, int ionum, ref float pfValue);
///
/// 设置pwm占空比
///
/// 连接句柄
/// PWM编号口
/// 占空比设置值 0-1 0表示关闭PWM口
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetPwmDuty", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetPwmDuty(IntPtr handle, int ionum, float fValue);
///
/// 读取pwm占空比
///
/// 连接句柄
/// PWM编号口
/// 占空比反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetPwmDuty", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetPwmDuty(IntPtr handle, int ionum, ref float pfValue);
///
/// 快速读取多个输入状态
///
/// 连接句柄
/// 输入口起始编号
/// 输入口结束编号
/// 输入口状态返回值 按位存储
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_GetModbusIn", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_GetModbusIn(IntPtr handle, int ionumfirst, int ionumend, byte[] pValueList);
///
/// 快速读取多个输出口状态
///
/// 连接句柄
/// 输出口起始编号
/// 输出口结束编号
/// 输出口状态返回值 按位存储
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_GetModbusOut", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_GetModbusOut(IntPtr handle, int ionumfirst, int ionumend, byte[] pValueList);
///
/// 快速读取多个轴的命令位置
///
/// 连接句柄
/// 轴数量
/// 命令位置反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_GetModbusDpos", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_GetModbusDpos(IntPtr handle, int imaxaxises, float[] pValueList);
///
/// 快速读取多个轴的反馈位置
///
/// 连接句柄
/// 轴数量
/// 反馈位置反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_GetModbusMpos", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_GetModbusMpos(IntPtr handle, int imaxaxises, float[] pValueList);
///
/// 快速读取多个轴的规划运行速度
///
/// 连接句柄
/// 轴数量
/// 规划速度反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_GetModbusCurSpeed", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_GetModbusCurSpeed(IntPtr handle, int imaxaxises, float[] pValueList);
///
/// 通用的轴参数修改命令
///
/// 连接句柄
/// 轴参数名称字符串 "DPOS"...
/// 轴号
/// 设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetParam", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetParam(IntPtr handle, string sParam, int iaxis, float fset);
///
/// 通用的参数读取命令
///
/// 连接句柄
/// 轴参数名称字符串 "DPOS"...
/// 轴号
/// 反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetParam", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetParam(IntPtr handle, string sParam, int iaxis, ref float pfValue);
///
/// 设置轴加速度
///
/// 连接句柄
/// 轴号
/// 加速度设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetAccel", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetAccel(IntPtr handle, int iaxis, float fValue);
///
/// 读取轴加速度
///
/// 连接句柄
/// 轴号
/// 加速度反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetAccel", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetAccel(IntPtr handle, int iaxis, ref float pfValue);
///
/// 读取叠加轴轴号
///
/// 连接句柄
/// 被叠加轴号
/// 叠加轴号反馈值 -1表示未被叠加
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetAddax", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetAddax(IntPtr handle, int iaxis, ref int piValue);
///
/// 设置轴报警信号输入口
///
/// 连接句柄
/// 轴号
/// 输入口编号设定值 -1表示无效
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetAlmIn", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetAlmIn(IntPtr handle, int iaxis, int iValue);
///
/// 读取轴报警信号输入口
///
/// 连接句柄
/// 轴号
/// 输入口编号返回值 -1表示无效
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetAlmIn", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetAlmIn(IntPtr handle, int iaxis, ref int piValue);
///
/// 设置轴类型
///
/// 连接句柄
/// 轴号
/// 轴类型设置值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetAtype", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetAtype(IntPtr handle, int iaxis, int iValue);
///
/// 读取轴类型
///
/// 连接句柄
/// 轴号
/// 轴类型反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetAtype", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetAtype(IntPtr handle, int iaxis, ref int piValue);
///
/// 读取轴状态
///
/// 连接句柄
/// 轴号
/// 轴状态反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetAxisStatus", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetAxisStatus(IntPtr handle, int iaxis, ref int piValue);
///
/// 设置轴地址
///
/// 连接句柄
/// 轴号
/// 轴地址设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetAxisAddress", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetAxisAddress(IntPtr handle, int iaxis, int iValue);
///
/// 读取轴地址
///
/// 连接句柄
/// 轴号
/// 轴地址反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetAxisAddress", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetAxisAddress(IntPtr handle, int iaxis, ref int piValue);
///
/// 设置总线轴使能
///
/// 连接句柄
/// 轴号
/// 使能状态设定值 0-关闭 1- 打开
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetAxisEnable", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetAxisEnable(IntPtr handle, int iaxis, int iValue);
///
/// 读取轴使能状态
///
/// 连接句柄
/// 轴号
/// 轴使能状态反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetAxisEnable", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetAxisEnable(IntPtr handle, int iaxis, ref int piValue);
///
/// 设置同步运动链接速率
///
/// 连接句柄
/// 轴号
/// 同步连接速率设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetClutchRate", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetClutchRate(IntPtr handle, int iaxis, float fValue);
///
/// 读取同步运动链接速率
///
/// 连接句柄
/// 轴号
/// 同步连接速率反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetClutchRate", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetClutchRate(IntPtr handle, int iaxis, ref float pfValue);
///
/// 设置锁存触发的结束坐标范围点
///
/// 连接句柄
/// 轴号
/// 范围设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetCloseWin", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetCloseWin(IntPtr handle, int iaxis, float fValue);
///
/// 读取锁存触发的结束坐标范围点
///
/// 连接句柄
/// 轴号
/// 范围反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetCloseWin", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetCloseWin(IntPtr handle, int iaxis, ref float pfValue);
///
/// 设置拐角减速模式
///
/// 连接句柄
/// 轴号
/// 拐角减速模式设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetCornerMode", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetCornerMode(IntPtr handle, int iaxis, int pfValue);
///
/// 读取拐角减速模式
///
/// 连接句柄
/// 轴号
/// 拐角模式反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetCornerMode", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetCornerMode(IntPtr handle, int iaxis, ref int piValue);
///
/// 设置回零爬行速度
///
/// 连接句柄
/// 轴号
/// 回零慢速设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetCreep", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetCreep(IntPtr handle, int iaxis, float fValue);
///
/// 读取回零爬行速度
///
/// 连接句柄
/// 轴号
/// 爬行速度反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetCreep", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetCreep(IntPtr handle, int iaxis, ref float pfValue);
///
/// 设置轴原点信号输入口
///
/// 连接句柄
/// 轴号
/// 原点信号输入口编号设定值 -1为无效
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetDatumIn", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetDatumIn(IntPtr handle, int iaxis, int iValue);
///
/// 读取轴原点信号输入口编号
///
/// 连接句柄
/// 轴号
/// 输入口编号返回值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetDatumIn", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetDatumIn(IntPtr handle, int iaxis, ref int piValue);
///
/// 设置轴减速度
///
/// 连接句柄
/// 轴号
/// 减速度设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetDecel", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetDecel(IntPtr handle, int iaxis, float fValue);
///
/// 读取轴减速度
///
/// 连接句柄
/// 轴号
/// 减速度反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetDecel", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetDecel(IntPtr handle, int iaxis, ref float pfValue);
///
/// 设置拐角减速 起始减速角度
///
/// 连接句柄
/// 轴号
/// 起始减速角度设定值 弧度制
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetDecelAngle", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetDecelAngle(IntPtr handle, int iaxis, float fValue);
///
/// 读取拐角减速 起始减速角度
///
/// 连接句柄
/// 轴号
/// 起始减速角度反馈值 弧度制
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetDecelAngle", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetDecelAngle(IntPtr handle, int iaxis, ref float pfValue);
///
/// 设置轴命令位置坐标
///
/// 连接句柄
/// 轴号
/// 命令位置设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetDpos", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetDpos(IntPtr handle, int iaxis, float fValue);
///
/// 读取轴命令位置坐标
///
/// 连接句柄
/// 轴号
/// 命令位置反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetDpos", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetDpos(IntPtr handle, int iaxis, ref float pfValue);
///
/// 读取轴内部编码器值 (总线绝对值伺服时为绝对值位置)
///
/// 连接句柄
/// 轴号
/// 编码器位置返回值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetEncoder", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetEncoder(IntPtr handle, int iaxis, ref float pfValue);
///
/// 读取轴当前运动的最终位置
///
/// 连接句柄
/// 轴号
/// 返回的最终位置坐标
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetEndMove", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetEndMove(IntPtr handle, int iaxis, ref float pfValue);
///
/// 读取当前和缓冲中运动的最终位置,可以用于相对绝对转换
///
/// 连接句柄
/// 轴号
/// 最终位置坐标反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetEndMoveBuffer", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetEndMoveBuffer(IntPtr handle, int iaxis, ref float pfValue);
///
/// 设置SP运动的结束速度
///
/// 连接句柄
/// 轴号
/// 结束速度设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetEndMoveSpeed", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetEndMoveSpeed(IntPtr handle, int iaxis, float fValue);
///
/// 读取SP运动的结束速度
///
/// 连接句柄
/// 轴号
/// 结束速度反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetEndMoveSpeed", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetEndMoveSpeed(IntPtr handle, int iaxis, ref float pfValue);
///
/// 设置错误标记,和AXISSTATUS做与运算来决定哪些错误需要关闭WDOG。
///
/// 连接句柄
/// 轴号
/// 标志设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetErrormask", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetErrormask(IntPtr handle, int iaxis, int iValue);
///
/// 读取错误标记,和AXISSTATUS做与运算来决定哪些错误需要关闭WDOG。
///
/// 连接句柄
/// 轴号
/// 错误标志返回值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetErrormask", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetErrormask(IntPtr handle, int iaxis, ref int piValue);
///
/// 设置快速JOG输入口编号
///
/// 连接句柄
/// 轴号
/// 快速JOG输入点编号设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetFastJog", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetFastJog(IntPtr handle, int iaxis, int iValue);
///
/// 读取快速JOG输入口编号
///
/// 连接句柄
/// 轴号
/// JOG输入口编号反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetFastJog", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetFastJog(IntPtr handle, int iaxis, ref int piValue);
///
/// 设置轴异常快速减速度
///
/// 连接句柄
/// 轴号
/// 异常减速度设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetFastDec", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetFastDec(IntPtr handle, int iaxis, float iValue);
///
/// 读取轴异常快速减速度
///
/// 连接句柄
/// 轴号
/// 异常减速度反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetFastDec", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetFastDec(IntPtr handle, int iaxis, ref float pfValue);
///
/// 读取轴随动误差
///
/// 连接句柄
/// 轴号
/// 轴随动误差反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetFe", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetFe(IntPtr handle, int iaxis, ref float pfValue);
///
/// 设置轴最大允许的随动误差值
///
/// 连接句柄
/// 轴号
/// 随动误差设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetFeLimit", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetFeLimit(IntPtr handle, int iaxis, float fValue);
///
/// 读取轴最大允许的随动误差值
///
/// 连接句柄
/// 轴号
/// 允许随动误差反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetFeLimit", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetFeLimit(IntPtr handle, int iaxis, ref float pfValue);
///
/// 设置轴报警时随动误差值
///
/// 连接句柄
/// 轴号
/// 随动误差设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetFRange", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetFRange(IntPtr handle, int iaxis, float fValue);
///
/// 读取轴报警时的随动误差值
///
/// 连接句柄
/// 轴号
/// 报警随动误差反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetFeRange", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetFeRange(IntPtr handle, int iaxis, ref float fValue);
///
/// 设置轴保持输入口
///
/// 连接句柄
/// 轴号
/// 保持输入口编号设定值 -1表示无效
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetFholdIn", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetFholdIn(IntPtr handle, int iaxis, int iValue);
///
/// 读取轴保持输入口编号
///
/// 连接句柄
/// 轴号
/// 输入口编号反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetFholdIn", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetFholdIn(IntPtr handle, int iaxis, ref int piValue);
///
/// 设置轴保持速度
///
/// 连接句柄
/// 轴号
/// 保持速度设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetFhspeed", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetFhspeed(IntPtr handle, int iaxis, float fValue);
///
/// 读取轴保持速度
///
/// 连接句柄
/// 轴号
/// 保持速度反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetFhspeed", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetFhspeed(IntPtr handle, int iaxis, ref float pfValue);
///
/// 设置轴SP运动的运行速度
///
/// 连接句柄
/// 轴号
/// 运行速度设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetForceSpeed", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetForceSpeed(IntPtr handle, int iaxis, float fValue);
///
/// 读取轴SP运动的运行速度
///
/// 连接句柄
/// 轴号
/// 运行速度反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetForceSpeed", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetForceSpeed(IntPtr handle, int iaxis, ref float pfValue);
///
/// 设置轴正向软限位
///
/// 连接句柄
/// 轴号
/// 限位设定值 取消时设置一个较大值即可
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetFsLimit", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetFsLimit(IntPtr handle, int iaxis, float fValue);
///
/// 读取轴正向软限位
///
/// 连接句柄
/// 轴号
/// 限位反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetFsLimit", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetFsLimit(IntPtr handle, int iaxis, ref float pfValue);
///
/// 设置轴小圆限速最小半径
///
/// 连接句柄
/// 轴号
/// 最小半径设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetFullSpRadius", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetFullSpRadius(IntPtr handle, int iaxis, float fValue);
///
/// 读取轴小圆限速最小半径
///
/// 连接句柄
/// 轴号
/// 最小半径反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetFullSpRadius", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetFullSpRadius(IntPtr handle, int iaxis, ref float pfValue);
///
/// 设置轴正向硬限位输入口
///
/// 连接句柄
/// 轴号
/// 硬限位输入口编号设定值 -1表示无效
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetFwdIn", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetFwdIn(IntPtr handle, int iaxis, int iValue);
///
/// 读取轴正向硬限位输入口编号
///
/// 连接句柄
/// 轴号
/// 硬限位输入口编号反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetFwdIn", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetFwdIn(IntPtr handle, int iaxis, ref int piValue);
///
/// 设置轴正向JOG输入口
///
/// 连接句柄
/// 轴号
/// JOG输入口编号 -1表示无效
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetFwdJog", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetFwdJog(IntPtr handle, int iaxis, int iValue);
///
/// 读取轴正向JOG输入口编号
///
/// 连接句柄
/// 轴号
/// JOG输入口反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetFwdJog", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetFwdJog(IntPtr handle, int iaxis, ref int piValue);
///
/// 读取轴运动完成状态
///
/// 连接句柄
/// 轴号
/// 运动状态反馈值 0-运动中 -1 停止
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetIfIdle", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetIfIdle(IntPtr handle, int iaxis, ref int piValue);
///
/// 设置轴脉冲输出模式
///
/// 连接句柄
/// 轴号
/// 脉冲模式设定值 0-3脉冲+方向 4-7双脉冲
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetInvertStep", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetInvertStep(IntPtr handle, int iaxis, int iValue);
///
/// 读取轴脉冲输出模式
///
/// 连接句柄
/// 轴号
/// 脉冲模式反馈值 0-3脉冲+方向 4-7双脉冲
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetInvertStep", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetInvertStep(IntPtr handle, int iaxis, ref int piValue);
///
/// 设置轴插补运动时是否参与速度计算 缺省参与(1)。此参数只对直线和螺旋的第三个轴起作用
///
/// 连接句柄
/// 轴号
/// 模式设定值 0-不参数 1-参与
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetInterpFactor", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetInterpFactor(IntPtr handle, int iaxis, int iValue);
///
/// 读取轴插补运动时是否参与速度计算 缺省参与(1)。此参数只对直线和螺旋的第三个轴起作用
///
/// 连接句柄
/// 轴号
/// 模式反馈值 0-不参数 1-参与
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetInterpFactor", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetInterpFactor(IntPtr handle, int iaxis, ref int piValue);
///
/// 设置轴JOG运动时速度
///
/// 连接句柄
/// 轴号
/// 速度设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetJogSpeed", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetJogSpeed(IntPtr handle, int iaxis, float fValue);
///
/// 读取轴JOG运动时速度
///
/// 连接句柄
/// 轴号
/// 速度反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetJogSpeed", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetJogSpeed(IntPtr handle, int iaxis, ref float pfValue);
///
/// 读取轴链接运动的参考轴号
///
/// 连接句柄
/// 轴号
/// 参考主轴轴号反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetLinkax", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetLinkax(IntPtr handle, int iaxis, ref int piValue);
///
/// 读取轴当前除了当前运动是否还有缓冲运动
///
/// 连接句柄
/// 轴号
/// 状态反馈值 -1 没有剩余函数 0-还有剩余运动
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetLoaded", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetLoaded(IntPtr handle, int iaxis, ref int piValue);
///
/// 设置轴起始速度
///
/// 连接句柄
/// 轴号
/// 起始速度设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetLspeed", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetLspeed(IntPtr handle, int iaxis, float fValue);
///
/// 读取轴起始速度
///
/// 连接句柄
/// 轴号
/// 起始速度反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetLspeed", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetLspeed(IntPtr handle, int iaxis, ref float pfValue);
///
/// 设置轴回零反找等待时间
///
/// 连接句柄
/// 轴号
/// 反转等待时间设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetHomeWait", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetHomeWait(IntPtr handle, int iaxis, int fValue);
///
/// 读取轴回零反找等待时间
///
/// 连接句柄
/// 轴号
/// 反找等待时间反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetHomeWait", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetHomeWait(IntPtr handle, int iaxis, ref int pfValue);
///
/// 读取编码轴锁存触发MAKR状态
///
/// 连接句柄
/// 轴号
/// 锁存触发状态反馈值 -1-锁存触发 0-未触发
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetMark", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetMark(IntPtr handle, int iaxis, ref int piValue);
///
/// 读取编码轴锁存触发MAKRb状态
///
/// 连接句柄
/// 轴号
/// 锁存触发状态反馈值 -1-锁存触发 0-未触发
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetMarkB", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetMarkB(IntPtr handle, int iaxis, ref int piValue);
///
/// 设置轴脉冲输出最高频率
///
/// 连接句柄
/// 轴号
/// 最高脉冲频率设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetMaxSpeed", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetMaxSpeed(IntPtr handle, int iaxis, int iValue);
///
/// 读取轴脉冲输出最高频率
///
/// 连接句柄
/// 轴号
/// 最高脉冲频率反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetMaxSpeed", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetMaxSpeed(IntPtr handle, int iaxis, ref int piValue);
///
/// 设置轴连续插补模式
///
/// 连接句柄
/// 轴号
/// 连续插补开关设定值 0-关闭连续插补 1-打开连续插补
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetMerge", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetMerge(IntPtr handle, int iaxis, int iValue);
///
/// 读取轴连续插补模式
///
/// 连接句柄
/// 轴号
/// 连续插补开关反馈值 0-关闭连续插补 1-打开连续插补
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetMerge", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetMerge(IntPtr handle, int iaxis, ref int piValue);
///
/// 读取轴当前被缓冲起来的运动个数
///
/// 连接句柄
/// 轴号
/// 运动缓冲数量反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetMovesBuffered", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetMovesBuffered(IntPtr handle, int iaxis, ref int piValue);
///
/// 读取轴当前正在运动指令的MOVE_MARK标号
///
/// 连接句柄
/// 轴号
/// 当前MARK标号反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetMoveCurmark", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetMoveCurmark(IntPtr handle, int iaxis, ref int piValue);
///
/// 设置轴运动MOVE_MARK标号 每当有运动进入轴运动缓冲时MARK自动+1
///
/// 连接句柄
/// 轴号
/// MARK设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetMovemark", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetMovemark(IntPtr handle, int iaxis, int iValue);
///
/// 设置编码轴反馈位置坐标
///
/// 连接句柄
/// 轴号
/// 反馈位置设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetMpos", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetMpos(IntPtr handle, int iaxis, float fValue);
///
/// 读取编码轴反馈位置坐标
///
/// 连接句柄
/// 轴号
/// 反馈位置坐标反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetMpos", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetMpos(IntPtr handle, int iaxis, ref float pfValue);
///
/// 读取编码轴反馈速度
///
/// 连接句柄
/// 轴号
/// 轴反馈速度反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetMspeed", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetMspeed(IntPtr handle, int iaxis, ref float pfValue);
///
/// 读取轴当前运动指令类型
///
/// 连接句柄
/// 轴号
/// 运动类型反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetMtype", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetMtype(IntPtr handle, int iaxis, ref int piValue);
///
/// 读取轴正在运动指令后面的第一条指令类型
///
/// 连接句柄
/// 轴号
/// 运动类型反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetNtype", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetNtype(IntPtr handle, int iaxis, ref int piValue);
///
/// 设置轴坐标偏移
///
/// 连接句柄
/// 轴号
/// 偏移设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetOffpos", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetOffpos(IntPtr handle, int iaxis, float fValue);
///
/// 读取轴坐标偏移
///
/// 连接句柄
/// 轴号
/// 坐标偏移反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetOffpos", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetOffpos(IntPtr handle, int iaxis, ref float pfValue);
///
/// 设置编码轴锁存触发的结束坐标范围点
///
/// 连接句柄
/// 轴号
/// 结束坐标范围设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetOpenWin", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetOpenWin(IntPtr handle, int iaxis, float fValue);
///
/// 读取编码轴锁存触发的结束坐标范围点
///
/// 连接句柄
/// 轴号
/// 结束坐标反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetOpenWin", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetOpenWin(IntPtr handle, int iaxis, ref float pfValue);
///
/// 读取编码轴锁存MAKR触发的反馈位置坐标
///
/// 连接句柄
/// 轴号
/// 锁存位置坐标反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetRegPos", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetRegPos(IntPtr handle, int iaxis, ref float pfValue);
///
/// 读取编码轴锁存MAKRB触发的反馈位置坐标
///
/// 连接句柄
/// 轴号
/// 锁存位置坐标反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetRegPosB", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetRegPosB(IntPtr handle, int iaxis, ref float pfValue);
///
/// 读取轴当前运动还未完成的距离
///
/// 连接句柄
/// 轴号
/// 未完成距离反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetRemain", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetRemain(IntPtr handle, int iaxis, ref float pfValue);
///
/// 读取轴剩余的直线缓冲
///
/// 连接句柄
/// 轴号
/// 剩余执行缓冲反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetRemain_LineBuffer", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetRemain_LineBuffer(IntPtr handle, int iaxis, ref int piValue);
///
/// 读取轴剩余运动缓冲 按最复杂的空间圆弧来计算
///
/// 连接句柄
/// 轴号
/// 剩余缓冲反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetRemain_Buffer", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetRemain_Buffer(IntPtr handle, int iaxis, ref int piValue);
///
/// 设置轴坐标循环范围值 根据REP_OPTION设置来自动循环轴DPOS和MPOS坐标
///
/// 连接句柄
/// 轴号
/// 坐标循环范围设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetRepDist", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetRepDist(IntPtr handle, int iaxis, float fValue);
///
/// 读取轴坐标循环范围值 根据REP_OPTION设置来自动循环轴DPOS和MPOS坐标
///
/// 连接句柄
/// 轴号
/// 坐标循环范围反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetRepDist", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetRepDist(IntPtr handle, int iaxis, ref float pfValue);
///
/// 设置轴坐标循环模式
///
/// 连接句柄
/// 轴号
/// 循环模式设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetRepOption", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetRepOption(IntPtr handle, int iaxis, int iValue);
///
/// 读取轴坐标循环模式
///
/// 连接句柄
/// 轴号
/// 循环模式反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetRepOption", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetRepOption(IntPtr handle, int iaxis, ref int piValue);
///
/// 设置轴负向硬件限位开关对应的输入点编号
///
/// 连接句柄
/// 轴号
/// 负限位输入口编号设定值 -1表示无效
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetRevIn", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetRevIn(IntPtr handle, int iaxis, int iValue);
///
/// 读取轴负向硬件限位开关对应的输入点编号
///
/// 连接句柄
/// 轴号
/// 负限位输入口编号反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetRevIn", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetRevIn(IntPtr handle, int iaxis, ref int piValue);
///
/// 设置轴负向JOG输入对应的输入点编号
///
/// 连接句柄
/// 轴号
/// 负向JOG输入口编号设定值 -1表示无效
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetRevJog", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetRevJog(IntPtr handle, int iaxis, int iValue);
///
/// 读取轴负向JOG输入对应的输入点编号
///
/// 连接句柄
/// 轴号
/// 负向JOG输入口编号反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetRevJog", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetRevJog(IntPtr handle, int iaxis, ref int piValue);
///
/// 设置轴负向软限位坐标
///
/// 连接句柄
/// 轴号
/// 负向软限位设定值 设置一个较大的值时认为取消限位
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetRsLimit", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetRsLimit(IntPtr handle, int iaxis, float fValue);
///
/// 读取轴负向软限位坐标
///
/// 连接句柄
/// 轴号
/// 负向软限位反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetRsLimit", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetRsLimit(IntPtr handle, int iaxis, ref float pfValue);
///
/// 设置轴速度,单位为units/s,当多轴运动时,作为插补运动的速度
///
/// 连接句柄
/// 轴号
/// 速度设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetSpeed", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetSpeed(IntPtr handle, int iaxis, float fValue);
///
/// 读取轴速度
///
/// 连接句柄
/// 轴号
/// 速度反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetSpeed", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetSpeed(IntPtr handle, int iaxis, ref float pfValue);
///
/// 设置轴S曲线加减速。 0-梯形加减速
///
/// 连接句柄
/// 轴号
/// S曲线平滑时间设定值 MS
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetSramp", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetSramp(IntPtr handle, int iaxis, float fValue);
///
/// 读取轴S曲线加减速
///
/// 连接句柄
/// 轴号
/// S曲线平滑时间反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetSramp", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetSramp(IntPtr handle, int iaxis, ref float pfValue);
///
/// 设置轴SP运动的起始速度
///
/// 连接句柄
/// 轴号
/// SP运动起始速度设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetStartMoveSpeed", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetStartMoveSpeed(IntPtr handle, int iaxis, float fValue);
///
/// 读取轴SP运动的起始速度
///
/// 连接句柄
/// 轴号
/// SP运动起始速度反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetStartMoveSpeed", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetStartMoveSpeed(IntPtr handle, int iaxis, ref float pfValue);
///
/// 设置轴拐角减速 停止减速角度
///
/// 连接句柄
/// 轴号
/// 停止角度设定值 弧度制
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetStopAngle", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetStopAngle(IntPtr handle, int iaxis, float fValue);
///
/// 读取轴拐角减速 停止减速角度
///
/// 连接句柄
/// 轴号
/// 停止角度反馈值 弧度制
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetStopAngle", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetStopAngle(IntPtr handle, int iaxis, ref float pfValue);
///
/// 设置轴拐角减速 倒角半径
///
/// 连接句柄
/// 轴号
/// 倒角半径设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetZsmooth", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetZsmooth(IntPtr handle, int iaxis, float fValue);
///
/// 读取轴拐角减速 倒角半径
///
/// 连接句柄
/// 轴号
/// 倒角半径反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetZsmooth", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetZsmooth(IntPtr handle, int iaxis, ref float pfValue);
///
/// 设置轴脉冲当量
///
/// 连接句柄
/// 轴号
/// 脉冲当量设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetUnits", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetUnits(IntPtr handle, int iaxis, float fValue);
///
/// 读取轴脉冲当量
///
/// 连接句柄
/// 轴号
/// 脉冲当量反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetUnits", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetUnits(IntPtr handle, int iaxis, ref float pfValue);
///
/// 读取轴当前运动和缓冲运动还未完成的距离
///
/// 连接句柄
/// 轴号
/// 剩余距离反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetVectorBuffered", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetVectorBuffered(IntPtr handle, int iaxis, ref float pfValue);
///
/// 读取轴当前运行的规划速度
///
/// 连接句柄
/// 轴号
/// 运行速度反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetVpSpeed", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetVpSpeed(IntPtr handle, int iaxis, ref float pfValue);
///
/// 全局变量/参数浮点类型读取命令
///
/// 连接句柄
/// 全局变量字符串名称/或者指定轴号的轴参数名称DPOS(0)
/// 参数反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetVariablef", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetVariablef(IntPtr handle, string pname, ref float pfValue);
///
/// 全局变量/参数整数类型读取命令
///
/// 连接句柄
/// 全局变量字符串名称/或者指定轴号的轴参数名称DPOS(0)
/// 参数反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetVariableInt", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetVariableInt(IntPtr handle, string pname, ref int piValue);
///
/// 选定运动轴列表 BASE的一个轴作为插补主轴
///
/// 连接句柄
/// 参与运动轴数
/// 轴列表
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_Base", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_Base(IntPtr handle, int imaxaxises, int[] piAxislist);
///
/// 设置轴当前坐标,不建议使用,可以直接调用SETDPOS达到同样效果
///
/// 连接句柄
/// 轴号
/// 坐标位置设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_Defpos", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_Defpos(IntPtr handle, int iaxis, float pfDpos);
///
/// 多轴相对直线插补运动
///
/// 连接句柄
/// 参与运动总轴数
/// 轴列表
/// 运动距离列表
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_Move", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_Move(IntPtr handle, int imaxaxises, int[] piAxislist, float[] pfDposlist);
///
/// 多轴相对直线插补SP运动
///
/// 连接句柄
/// 参与运动总轴数
/// 轴列表
/// 运动距离列表
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MoveSp", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MoveSp(IntPtr handle, int imaxaxises, int[] piAxislist, float[] pfDposlist);
///
/// 多轴绝对直线插补运动
///
/// 连接句柄
/// 参与运动总轴数
/// 轴列表
/// 运动位置列表
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MoveAbs", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MoveAbs(IntPtr handle, int imaxaxises, int[] piAxislist, float[] pfDposlist);
///
/// 多轴绝对直线插补SP运动
///
/// 连接句柄
/// 参与运动总轴数
/// 轴列表
/// 运动位置列表
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MoveAbsSp", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MoveAbsSp(IntPtr handle, int imaxaxises, int[] piAxislist, float[] pfDposlist);
///
/// 运动中修改结束位置,单轴指令
///
/// 连接句柄
/// 轴号
/// 运动位置
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MoveModify", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MoveModify(IntPtr handle, int iaxis, float pfDisance);
///
/// 运动中修改结束位置,单轴指令
///
/// 连接句柄
/// 轴号
/// 运动位置
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MoveModify2", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MoveModify2(IntPtr handle, int imaxaxises, int[] iaxis, float[] pfDisance);
///
/// 相对圆心定圆弧插补运动
///
/// 连接句柄
/// 参与运动总轴数
/// 轴号列表
/// 第一个轴结束点坐标 相对与起始点
/// 第二个轴结束点坐标 相对与起始点
/// 第一个轴圆心坐标,相对与起始点
/// 第二个轴圆心坐标,相对与起始点
/// 圆弧方向 0-逆时针,1-顺时针
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MoveCirc", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MoveCirc(IntPtr handle, int imaxaxises, int[] piAxislist, float fend1, float fend2, float fcenter1, float fcenter2, int idirection);
///
/// 相对圆心定圆弧插补SP运动
///
/// 连接句柄
/// 参与运动总轴数
/// 轴号列表
/// 第一个轴结束点坐标 相对与起始点
/// 第二个轴结束点坐标 相对与起始点
/// 第一个轴圆心坐标,相对与起始点
/// 第二个轴圆心坐标,相对与起始点
/// 圆弧方向 0-逆时针,1-顺时针
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MoveCircSp", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MoveCircSp(IntPtr handle, int imaxaxises, int[] piAxislist, float fend1, float fend2, float fcenter1, float fcenter2, int idirection);
///
/// 绝对圆心圆弧插补运动
///
/// 连接句柄
/// 参与运动总轴数
/// 轴号列表
/// 第一个轴结束点绝对坐标
/// 第二个轴结束点绝对坐标
/// 第一个轴圆心绝对坐标
/// 第二个轴圆心绝对坐标
/// 圆弧方向 0-逆时针,1-顺时针
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MoveCircAbs", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MoveCircAbs(IntPtr handle, int imaxaxises, int[] piAxislist, float fend1, float fend2, float fcenter1, float fcenter2, int idirection);
///
/// 绝对圆心圆弧插补SP运动
///
/// 连接句柄
/// 参与运动总轴数
/// 轴号列表
/// 第一个轴结束点绝对坐标
/// 第二个轴结束点绝对坐标
/// 第一个轴圆心绝对坐标
/// 第二个轴圆心绝对坐标
/// 圆弧方向 0-逆时针,1-顺时针
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MoveCircAbsSp", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MoveCircAbsSp(IntPtr handle, int imaxaxises, int[] piAxislist, float fend1, float fend2, float fcenter1, float fcenter2, int idirection);
///
/// 相对3点定圆弧插补运动
///
/// 连接句柄
/// 参与运动总轴数
/// 轴号列表
/// 第一个轴中间点坐标 相对于圆弧起点
/// 第二个轴中间点坐标 相对于圆弧起点
/// 第一个轴结束点坐标 相对于圆弧起点
/// 第二个轴结束点坐标 相对于圆弧起点
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MoveCirc2", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MoveCirc2(IntPtr handle, int imaxaxises, int[] piAxislist, float fmid1, float fmid2, float fend1, float fend2);
///
/// 绝对3点定圆弧插补运动
///
/// 连接句柄
/// 参与运动总轴数
/// 轴号列表
/// 第一个轴中间点绝对坐标
/// 第二个轴中间点绝对坐标
/// 第一个轴结束点绝对坐标
/// 第二个轴结束点绝对坐标
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MoveCirc2Abs", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MoveCirc2Abs(IntPtr handle, int imaxaxises, int[] piAxislist, float fmid1, float fmid2, float fend1, float fend2);
///
/// 相对3点定圆弧插补SP运动
///
/// 连接句柄
/// 参与运动总轴数
/// 轴号列表
/// 第一个轴中间点坐标 相对于圆弧起点
/// 第二个轴中间点坐标 相对于圆弧起点
/// 第一个轴结束点坐标 相对于圆弧起点
/// 第二个轴结束点坐标 相对于圆弧起点
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MoveCirc2Sp", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MoveCirc2Sp(IntPtr handle, int imaxaxises, int[] piAxislist, float fmid1, float fmid2, float fend1, float fend2);
///
/// 绝对3点定圆弧插补SP运动
///
/// 连接句柄
/// 参与运动总轴数
/// 轴号列表
/// 第一个轴中间点绝对坐标
/// 第二个轴中间点绝对坐标
/// 第一个轴结束点绝对坐标
/// 第二个轴结束点绝对坐标
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MoveCirc2AbsSp", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MoveCirc2AbsSp(IntPtr handle, int imaxaxises, int[] piAxislist, float fmid1, float fmid2, float fend1, float fend2);
///
/// 相对3轴圆心螺旋插补运动
///
/// 连接句柄
/// 参与运动总轴数
/// 轴号列表
/// 第一个轴结束点坐标 相对于圆弧起点
/// 第二个轴结束点坐标 相对于圆弧起点
/// 第一个轴圆心坐标 相对于圆弧起点
/// 第二个轴圆心坐标 相对于圆弧起点
/// 运动方向 0-逆时针,1-顺时针
/// 第三螺旋轴运动距离
/// 第三轴的速度计算:0(缺省)第三轴参与速度计算。1第三轴不参与速度计算
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MHelical", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MHelical(IntPtr handle, int imaxaxises, int[] piAxislist, float fend1, float fend2, float fcenter1, float fcenter2, int idirection, float fDistance3, int imode);
///
/// 绝对3轴圆心螺旋插补运动
///
/// 连接句柄
/// 参与运动总轴数
/// 轴号列表
/// 第一个轴结束点绝对坐标
/// 第二个轴结束点绝对坐标
/// 第一个轴圆心绝对坐标
/// 第二个轴圆心绝对坐标
/// 运动方向 0-逆时针,1-顺时针
/// 第三螺旋轴结束点绝对坐标
/// 第三轴的速度计算:0(缺省)第三轴参与速度计算。1第三轴不参与速度计算
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MHelicalAbs", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MHelicalAbs(IntPtr handle, int imaxaxises, int[] piAxislist, float fend1, float fend2, float fcenter1, float fcenter2, int idirection, float fDistance3, int imode);
///
/// 相对3轴圆心螺旋插补SP运动
///
/// 连接句柄
/// 参与运动总轴数
/// 轴号列表
/// 第一个轴结束点坐标 相对于圆弧起点
/// 第二个轴结束点坐标 相对于圆弧起点
/// 第一个轴圆心坐标 相对于圆弧起点
/// 第二个轴圆心坐标 相对于圆弧起点
/// 运动方向 0-逆时针,1-顺时针
/// 第三螺旋轴运动距离
/// 第三轴的速度计算:0(缺省)第三轴参与速度计算。1第三轴不参与速度计算
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MHelicalSp", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MHelicalSp(IntPtr handle, int imaxaxises, int[] piAxislist, float fend1, float fend2, float fcenter1, float fcenter2, int idirection, float fDistance3, int imode);
///
/// 绝对3轴圆心螺旋插补SP运动
///
/// 连接句柄
/// 参与运动总轴数
/// 轴号列表
/// 第一个轴结束点绝对坐标
/// 第二个轴结束点绝对坐标
/// 第一个轴圆心绝对坐标
/// 第二个轴圆心绝对坐标
/// 运动方向 0-逆时针,1-顺时针
/// 第三螺旋轴结束点绝对坐标
/// 第三轴的速度计算:0(缺省)第三轴参与速度计算。1第三轴不参与速度计算
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MHelicalAbsSp", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MHelicalAbsSp(IntPtr handle, int imaxaxises, int[] piAxislist, float fend1, float fend2, float fcenter1, float fcenter2, int idirection, float fDistance3, int imode);
///
/// 相对3轴 3点定螺旋插补运动
///
/// 连接句柄
/// 参与运动总轴数
/// 轴号列表
/// 第一个轴中间点坐标 相对于圆弧起点
/// 第二个轴中间点坐标 相对于圆弧起点
/// 第一个轴结束点坐标 相对于圆弧起点
/// 第二个轴结束点坐标 相对于圆弧起点
/// 第三个轴运动相对距离
/// 第三轴的速度计算:0(缺省)第三轴参与速度计算。1第三轴不参与速度计算
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MHelical2", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MHelical2(IntPtr handle, int imaxaxises, int[] piAxislist, float fmid1, float fmid2, float fend1, float fend2, float fDistance3, int imode);
///
/// 绝对3轴 3点定螺旋插补运动
///
/// 连接句柄
/// 参与运动总轴数
/// 轴号列表
/// 第一个轴中间点绝对坐标
/// 第二个轴中间点绝对坐标
/// 第一个轴结束点绝对坐标
/// 第二个轴结束点绝对坐标
/// 第三个轴运动结束点绝对坐标
/// 第三轴的速度计算:0(缺省)第三轴参与速度计算。1第三轴不参与速度计算
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MHelical2Abs", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MHelical2Abs(IntPtr handle, int imaxaxises, int[] piAxislist, float fmid1, float fmid2, float fend1, float fend2, float fDistance3, int imode);
///
/// 相对3轴 3点定螺旋插补SP运动
///
/// 连接句柄
/// 参与运动总轴数
/// 轴号列表
/// 第一个轴中间点坐标 相对于圆弧起点
/// 第二个轴中间点坐标 相对于圆弧起点
/// 第一个轴结束点坐标 相对于圆弧起点
/// 第二个轴结束点坐标 相对于圆弧起点
/// 第三个轴运动相对距离
/// 第三轴的速度计算:0(缺省)第三轴参与速度计算。1第三轴不参与速度计算
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MHelical2Sp", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MHelical2Sp(IntPtr handle, int imaxaxises, int[] piAxislist, float fmid1, float fmid2, float fend1, float fend2, float fDistance3, int imode);
///
/// 绝对3轴 3点定螺旋插补SP运动
///
/// 连接句柄
/// 参与运动总轴数
/// 轴号列表
/// 第一个轴中间点绝对坐标
/// 第二个轴中间点绝对坐标
/// 第一个轴结束点绝对坐标
/// 第二个轴结束点绝对坐标
/// 第三个轴运动结束点绝对坐标
/// 第三轴的速度计算:0(缺省)第三轴参与速度计算。1第三轴不参与速度计算
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MHelical2AbsSp", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MHelical2AbsSp(IntPtr handle, int imaxaxises, int[] piAxislist, float fmid1, float fmid2, float fend1, float fend2, float fDistance3, int imode);
///
/// 相对椭圆插补运动
///
/// 连接句柄
/// 参与运动总轴数
/// 轴号列表
/// 终点第一个轴运动坐标,相对于起始点
/// 终点第二个轴运动坐标,相对于起始点
/// 中心第一个轴运动坐标,相对于起始点
/// 中心第二个轴运动坐标,相对于起始点
/// 运动方向 0-逆时针,1-顺时针
/// 第一轴的椭圆半径,半长轴或者半短轴都可
/// 第二轴的椭圆半径,半长轴或者半短轴都可,AB相等时自动为圆弧或螺旋
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MEclipse", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MEclipse(IntPtr handle, int imaxaxises, int[] piAxislist, float fend1, float fend2, float fcenter1, float fcenter2, int idirection, float fADis, float fBDis);
///
/// 绝对椭圆插补运动
///
/// 连接句柄
/// 参与运动总轴数
/// 轴号列表
/// 终点第一个轴绝对坐标
/// 终点第二个轴绝对坐标
/// 中心第一个轴绝对坐标
/// 中心第二个轴绝对坐标
/// 运动方向 0-逆时针,1-顺时针
/// 第一轴的椭圆半径,半长轴或者半短轴都可
/// 第二轴的椭圆半径,半长轴或者半短轴都可,AB相等时自动为圆弧或螺旋
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MEclipseAbs", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MEclipseAbs(IntPtr handle, int imaxaxises, int[] piAxislist, float fend1, float fend2, float fcenter1, float fcenter2, int idirection, float fADis, float fBDis);
///
/// 相对椭圆插补SP运动
///
/// 连接句柄
/// 参与运动总轴数
/// 轴号列表
/// 终点第一个轴运动坐标,相对于起始点
/// 终点第二个轴运动坐标,相对于起始点
/// 中心第一个轴运动坐标,相对于起始点
/// 中心第二个轴运动坐标,相对于起始点
/// 运动方向 0-逆时针,1-顺时针
/// 第一轴的椭圆半径,半长轴或者半短轴都可
/// 第二轴的椭圆半径,半长轴或者半短轴都可,AB相等时自动为圆弧或螺旋
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MEclipseSp", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MEclipseSp(IntPtr handle, int imaxaxises, int[] piAxislist, float fend1, float fend2, float fcenter1, float fcenter2, int idirection, float fADis, float fBDis);
///
/// 绝对椭圆插补SP运动
///
/// 连接句柄
/// 参与运动总轴数
/// 轴号列表
/// 终点第一个轴绝对坐标
/// 终点第二个轴绝对坐标
/// 中心第一个轴绝对坐标
/// 中心第二个轴绝对坐标
/// 运动方向 0-逆时针,1-顺时针
/// 第一轴的椭圆半径,半长轴或者半短轴都可
/// 第二轴的椭圆半径,半长轴或者半短轴都可,AB相等时自动为圆弧或螺旋
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MEclipseAbsSp", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MEclipseAbsSp(IntPtr handle, int imaxaxises, int[] piAxislist, float fend1, float fend2, float fcenter1, float fcenter2, int idirection, float fADis, float fBDis);
///
/// 相对 椭圆 + 螺旋插补运动
///
/// 连接句柄
/// 参与运动总轴数
/// 轴号列表
/// 终点第一个轴运动坐标,相对于起始点
/// 终点第二个轴运动坐标,相对于起始点
/// 中心第一个轴运动坐标,相对于起始点
/// 中心第二个轴运动坐标,相对于起始点
/// 运动方向 0-逆时针,1-顺时针
/// 第一轴的椭圆半径,半长轴或者半短轴都可
/// 第二轴的椭圆半径,半长轴或者半短轴都可,AB相等时自动为圆弧或螺旋
/// 第三个轴的运动相对距离
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MEclipseHelical", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MEclipseHelical(IntPtr handle, int imaxaxises, int[] piAxislist, float fend1, float fend2, float fcenter1, float fcenter2, int idirection, float fADis, float fBDis, float fDistance3);
///
/// 绝对椭圆 + 螺旋插补运动
///
/// 连接句柄
/// 参与运动总轴数
/// 轴号列表
/// 终点第一个轴绝对坐标
/// 终点第二个轴绝对坐标
/// 中心第一个轴绝对坐标
/// 中心第二个轴绝对坐标
/// 运动方向 0-逆时针,1-顺时针
/// 第一轴的椭圆半径,半长轴或者半短轴都可
/// 第二轴的椭圆半径,半长轴或者半短轴都可,AB相等时自动为圆弧或螺旋
/// 第三个轴的终点绝对坐标
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MEclipseHelicalAbs", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MEclipseHelicalAbs(IntPtr handle, int imaxaxises, int[] piAxislist, float fend1, float fend2, float fcenter1, float fcenter2, int idirection, float fADis, float fBDis, float fDistance3);
///
/// 相对 椭圆 + 螺旋插补SP运动
///
/// 连接句柄
/// 参与运动总轴数
/// 轴号列表
/// 终点第一个轴运动坐标,相对于起始点
/// 终点第二个轴运动坐标,相对于起始点
/// 中心第一个轴运动坐标,相对于起始点
/// 中心第二个轴运动坐标,相对于起始点
/// 运动方向 0-逆时针,1-顺时针
/// 第一轴的椭圆半径,半长轴或者半短轴都可
/// 第二轴的椭圆半径,半长轴或者半短轴都可,AB相等时自动为圆弧或螺旋
/// 第三个轴的运动相对距离
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MEclipseHelicalSp", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MEclipseHelicalSp(IntPtr handle, int imaxaxises, int[] piAxislist, float fend1, float fend2, float fcenter1, float fcenter2, int idirection, float fADis, float fBDis, float fDistance3);
///
/// 绝对椭圆 + 螺旋插补SP运动
///
/// 连接句柄
/// 参与运动总轴数
/// 轴号列表
/// 终点第一个轴绝对坐标
/// 终点第二个轴绝对坐标
/// 中心第一个轴绝对坐标
/// 中心第二个轴绝对坐标
/// 运动方向 0-逆时针,1-顺时针
/// 第一轴的椭圆半径,半长轴或者半短轴都可
/// 第二轴的椭圆半径,半长轴或者半短轴都可,AB相等时自动为圆弧或螺旋
/// 第三个轴的终点绝对坐标
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MEclipseHelicalAbsSp", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MEclipseHelicalAbsSp(IntPtr handle, int imaxaxises, int[] piAxislist, float fend1, float fend2, float fcenter1, float fcenter2, int idirection, float fADis, float fBDis, float fDistance3);
///
/// 空间圆弧 + 螺旋插补运动
///
/// 连接句柄
/// 参与运动总轴数
/// 轴号列表
/// 第1个轴运动终点距离 相对与起点
/// 第2个轴运动终点距离 相对与起点
/// 第3个轴运动终点距离 相对与起点
/// 第1个轴中间点/圆心 运动距离参数 相对与起点
/// 第2个轴中间点/圆心 运动距离参数 相对与起点
/// 第3个轴中间点/圆心 运动距离参数 相对与起点
/// 运动模式 0-三点定圆弧 1-圆心定最小的圆弧 2-3点整圆运动 3-圆心画整圆运动
/// 第4个轴螺旋运动相对距离
/// 第5个轴螺旋运动相对距离
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MSpherical", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MSpherical(IntPtr handle, int imaxaxises, int[] piAxislist, float fend1, float fend2, float fend3, float fcenter1, float fcenter2, float fcenter3, int imode, float fcenter4, float fcenter5);
///
/// 空间圆弧 + 螺旋插补SP运动
///
/// 连接句柄
/// 参与运动总轴数
/// 轴号列表
/// 第1个轴运动终点距离 相对与起点
/// 第2个轴运动终点距离 相对与起点
/// 第3个轴运动终点距离 相对与起点
/// 第1个轴中间点/圆心 运动距离参数 相对与起点
/// 第2个轴中间点/圆心 运动距离参数 相对与起点
/// 第3个轴中间点/圆心 运动距离参数 相对与起点
/// 运动模式 0-三点定圆弧 1-圆心定最小的圆弧 2-3点整圆运动 3-圆心画整圆运动
/// 第4个轴螺旋运动相对距离
/// 第5个轴螺旋运动相对距离
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MSphericalSp", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MSphericalSp(IntPtr handle, int imaxaxises, int[] piAxislist, float fend1, float fend2, float fend3, float fcenter1, float fcenter2, float fcenter3, int imode, float fcenter4, float fcenter5);
///
/// 相对渐开线圆弧插补运动,当起始半径0直接扩散时从0角度开始
///
/// 连接句柄
/// 参与运动总轴数
/// 轴号列表
/// 第1轴圆心的相对距离
/// 第2轴圆心的相对距离
/// 要旋转的圈数,可以为小数圈,负数表示顺时针.
/// 每圈的扩散距离,可以为负。
/// 第3轴螺旋的功能,指定第3轴的相对距离,此轴不参与速度计算
/// 第4轴螺旋的功能,指定第4轴的相对距离,此轴不参与速度计算
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MoveSpiral", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MoveSpiral(IntPtr handle, int imaxaxises, int[] piAxislist, float centre1, float centre2, float circles, float pitch, float distance3, float distance4);
///
/// 相对渐开线圆弧插补SP运动,当起始半径0直接扩散时从0角度开始
///
/// 连接句柄
/// 参与运动总轴数
/// 轴号列表
/// 第1轴圆心的相对距离
/// 第2轴圆心的相对距离
/// 要旋转的圈数,可以为小数圈,负数表示顺时针.
/// 每圈的扩散距离,可以为负。
/// 第3轴螺旋的功能,指定第3轴的相对距离,此轴不参与速度计算
/// 第4轴螺旋的功能,指定第4轴的相对距离,此轴不参与速度计算
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MoveSpiralSp", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MoveSpiralSp(IntPtr handle, int imaxaxises, int[] piAxislist, float centre1, float centre2, float circles, float pitch, float distance3, float distance4);
///
/// 空间直线运动,根据下一个直线运动的绝对坐标在拐角自动插入圆弧,加入圆弧后会使得运动的终点与直线的终点不一致,拐角过大时不会插入圆弧,当距离不够时会自动减小半径
///
/// 连接句柄
/// 参与运动总轴数
/// 轴号列表
/// 第1个轴运动绝对坐标
/// 第2个轴运动绝对坐标
/// 第3个轴运动绝对坐标
/// 第1个轴下一个直线运动绝对坐标
/// 第2个轴下一个直线运动绝对坐标
/// 第3个轴下一个直线运动绝对坐标
/// 插入圆弧的半径,当过大的时候自动缩小。
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MoveSmooth", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MoveSmooth(IntPtr handle, int imaxaxises, int[] piAxislist, float end1, float end2, float end3, float next1, float next2, float next3, float radius);
///
/// 空间直线SP运动
///
/// 连接句柄
/// 参与运动总轴数
/// 轴号列表
/// 第1个轴运动绝对坐标
/// 第2个轴运动绝对坐标
/// 第3个轴运动绝对坐标
/// 第1个轴下一个直线运动绝对坐标
/// 第2个轴下一个直线运动绝对坐标
/// 第3个轴下一个直线运动绝对坐标
/// 插入圆弧的半径,当过大的时候自动缩小。
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MoveSmoothSp", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MoveSmoothSp(IntPtr handle, int imaxaxises, int[] piAxislist, float end1, float end2, float end3, float next1, float next2, float next3, float radius);
///
/// 运动暂停
///
/// 连接句柄
/// 轴号
/// 模式 0(缺省) 暂停当前运动 1 在当前运动完成后正准备执行下一条运动指令时暂停 2 在当前运动完成后正准备执行下一条运动指令时,并且两条指令的MARK标识不一样时暂停
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MovePause", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MovePause(IntPtr handle, int iaxis, int imode);
///
/// 恢复暂停运动
///
/// 连接句柄
/// 轴号
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MoveResume", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MoveResume(IntPtr handle, int iaxis);
///
/// 运动末尾位置增加速度限制,用于强制拐角减速
///
/// 连接句柄
/// 轴号
/// 限制速度值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MoveLimit", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MoveLimit(IntPtr handle, int iaxis, float limitspeed);
///
/// 运动缓冲中插入输出指令
///
/// 连接句柄
/// 轴号
/// 输出口编号
/// 输出口状态 0/1
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MoveOp", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MoveOp(IntPtr handle, int iaxis, int ioutnum, int ivalue);
///
/// 运动缓冲中插入连续输出口指令
///
/// 连接句柄
/// 轴号
/// 输出口起始编号
/// 输出口结束编号
/// 输出状态值 按位存储
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MoveOpMulti", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MoveOpMulti(IntPtr handle, int iaxis, int ioutnumfirst, int ioutnumend, int ivalue);
///
/// 运动缓冲中插入输出脉冲波指令
///
/// 连接句柄
/// 轴号
/// 输出口编号
/// 输出口状态 0/1
/// 状态反转时间
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MoveOp2", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MoveOp2(IntPtr handle, int iaxis, int ioutnum, int ivalue, int iofftimems);
///
/// 运动缓冲中插入模拟量输出指令
///
/// 连接句柄
/// 轴号
/// 模拟量输出口编号
/// 模拟量值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MoveAout", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MoveAout(IntPtr handle, int iaxis, int ioutnum, float fvalue);
///
/// 运动缓冲中插入延时指令
///
/// 连接句柄
/// 轴号
/// 延时时间MS
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MoveDelay", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MoveDelay(IntPtr handle, int iaxis, int itimems);
///
/// 旋转台直线插补运动
///
/// 连接句柄
/// 存储旋转台参数的table编号
/// 参与运动总轴数
/// 轴号列表
/// 距离列表
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MoveTurnabs", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MoveTurnabs(IntPtr handle, int tablenum, int imaxaxises, int[] piAxislist, float[] pfDisancelist);
///
/// 旋转台圆弧+螺插补运动
///
/// 连接句柄
/// 存储旋转参数的table编号
/// 第一个轴参考点,绝对位置
/// 第二个轴参考点,绝对位置
/// 1-参考点是当前点前面,2-参考点是结束点后面,3-参考点在中间,采用三点定圆的方式
/// 第一个轴结束点,绝对位置
/// 第二个轴结束点,绝对位置
/// 参与运动轴数量
/// 轴列表
/// 螺旋轴距离列表
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_McircTurnabs", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_McircTurnabs(IntPtr handle, int tablenum, float refpos1, float refpos2, int mode, float end1, float end2, int imaxaxises, int[] piAxislist, float[] pfDisancelist);
///
/// 电子凸轮 同步运动
///
/// 连接句柄
/// 轴号
/// 起始点TABLE编号
/// 结束点TABLE编号
/// 位置比例,一般设为脉冲当量值
/// 参考运动的距离,用来计算总运动时间
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_Cam", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_Cam(IntPtr handle, int iaxis, int istartpoint, int iendpoint, float ftablemulti, float fDistance);
///
/// 电子凸轮 同步运动
///
/// 连接句柄
/// 轴号
/// 起始点TABLE编号
/// 结束点TABLE编号
/// 位置比例,一般设为脉冲当量值
/// 参考运动的距离
/// 参考主轴轴号
/// 参考轴的连接方式
/// ioption条件中距离参数
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_Cambox", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_Cambox(IntPtr handle, int iaxis, int istartpoint, int iendpoint, float ftablemulti, float fDistance, int ilinkaxis, int ioption, float flinkstartpos);
///
/// 飞剪追剪MOVELINK 同步运动
///
/// 连接句柄
/// 参与运动的轴号(跟随轴)
/// 同步过程跟随轴运动距离
/// 同步过程参考轴(主轴)运动绝对距离
/// 跟随轴加速阶段,参考轴移动的绝对距离
/// 跟随轴减速阶段,参考轴移动的绝对距离
/// 参考轴的轴号
/// 连接模式选项
/// 连接模式选项中运动距离
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_Movelink", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_Movelink(IntPtr handle, int iaxis, float fDistance, float fLinkDis, float fLinkAcc, float fLinkDec, int iLinkaxis, int ioption, float flinkstartpos);
///
/// 飞剪追剪MOVESLINK 同步运动
///
/// 连接句柄
/// 参与运动的轴号(跟随轴)
/// 同步过程跟随轴运动距离
/// 同步过程参考轴(主轴)运动绝对距离
/// 启动时跟随轴和参考轴的速度比例,units/units单位,负数表示跟随轴负向运动
/// 结束时跟随轴和参考轴的速度比例,units/units单位, 负数表示跟随轴负向运动
/// 参考轴的轴号
/// 连接模式选项
/// 连接模式选项中运动距离
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_Moveslink", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_Moveslink(IntPtr handle, int iaxis, float fDistance, float fLinkDis, float startsp, float endsp, int iLinkaxis, int ioption, float flinkstartpos);
///
/// 电子齿轮 同步运动
///
/// 连接句柄
/// 比率,可正可负,注意是脉冲个数的比例
/// 连接轴的轴号,手轮时为编码器轴
/// 随动轴号
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_Connect", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_Connect(IntPtr handle, float ratio, int link_axis, int move_axis);
///
/// 电子齿轮矢量同步 同步运动
///
/// 连接句柄
/// 比例,注意是脉冲个数的比例
/// 连接轴的轴号,手轮时为编码器轴
/// 随动轴号
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_Connpath", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_Connpath(IntPtr handle, float ratio, int link_axis, int move_axis);
///
/// 位置锁存指令
///
/// 连接句柄
/// 轴号
/// 锁存模式
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_Regist", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_Regist(IntPtr handle, int iaxis, int imode);
///
/// 设置编码轴输出齿轮比 缺省(1,1)
///
/// 连接句柄
/// 轴号
/// 分子,不要超过65535
/// 分母,不要超过65535
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_EncoderRatio", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_EncoderRatio(IntPtr handle, int iaxis, int mpos_count, int input_count);
///
/// 设置脉冲输出齿轮比 ,缺省(1,1)
///
/// 连接句柄
/// 轴号
/// 分子,1-65535
/// 分母,1-65535
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_StepRatio", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_StepRatio(IntPtr handle, int iaxis, int mpos_count, int input_count);
///
/// 停止所有轴运动
///
/// 连接句柄
/// 停止模式 0(缺省)取消当前运动 1-取消缓冲的运动 2-取消当前运动和缓冲运动 3-立即中断脉冲发送
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_Rapidstop", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_Rapidstop(IntPtr handle, int imode);
///
/// 多轴运动停止
///
/// 连接句柄
/// 轴数量
/// 轴列表
/// 停止模式 0(缺省)取消当前运动 1-取消缓冲的运动 2-取消当前运动和缓冲运动 3-立即中断脉冲发送
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_CancelAxisList", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_CancelAxisList(IntPtr handle, int imaxaxises, int[] piAxislist, int imode);
///
/// 机械手逆解映射指令
///
/// 连接句柄
/// 关节轴数量
/// 关节轴列表
/// 机械手类型
/// 机械手参数TABLE起始编号
/// 关联虚拟轴个数
/// 虚拟轴列表
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_Connframe", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_Connframe(IntPtr handle, int Jogmaxaxises, int[] JogAxislist, int frame, int tablenum, int Virmaxaxises, int[] VirAxislist);
///
/// 机械手正解映射指令
///
/// 连接句柄
/// 关联虚拟轴个数
/// 虚拟轴列表
/// 机械手类型
/// 机械手参数TABLE起始编号
/// 关节轴数量
/// 关节轴列表
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_Connreframe", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_Connreframe(IntPtr handle, int Virmaxaxises, int[] VirAxislist, int frame, int tablenum, int Jogmaxaxises, int[] JogAxislist);
///
/// 轴叠加运动指令
///
/// 连接句柄
/// 被叠加轴
/// 叠加轴
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_Single_Addax", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_Single_Addax(IntPtr handle, int iaxis, int iaddaxis);
///
/// 单轴运动停止
///
/// 连接句柄
/// 轴号
/// 停止模式 0(缺省)取消当前运动 1-取消缓冲的运动 2-取消当前运动和缓冲运动 3-立即中断脉冲发送
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_Single_Cancel", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_Single_Cancel(IntPtr handle, int iaxis, int imode);
///
/// 单轴连续运动
///
/// 连接句柄
/// 轴号
/// 运动方向 1正向 -1负向
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_Single_Vmove", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_Single_Vmove(IntPtr handle, int iaxis, int idir);
///
/// 控制器方式回零
///
/// 连接句柄
/// 轴号
/// 回零模式
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_Single_Datum", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_Single_Datum(IntPtr handle, int iaxis, int imode);
///
/// 控制器方式回零
///
/// 连接句柄
/// 轴号
/// 回零模式
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetHomeStatus", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetHomeStatus(IntPtr handle, int iaxis, ref UInt32 homestatus);
///
/// 单轴相对运动
///
/// 连接句柄
/// 轴号
/// 相对运动距离
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_Single_Move", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_Single_Move(IntPtr handle, int iaxis, float fdistance);
///
/// 单轴绝对运动
///
/// 连接句柄
/// 轴号
/// 运动绝对位置坐标
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_Single_MoveAbs", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_Single_MoveAbs(IntPtr handle, int iaxis, float fdistance);
///
/// 设置VR寄存器
///
/// 连接句柄
/// VR起始编号
/// 写入的数量
/// 写入的数据列表
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetVrf", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetVrf(IntPtr handle, int vrstartnum, int numes, float[] pfValue);
///
/// 读取VR寄存器
///
/// 连接句柄
/// 读取的VR起始地址
/// 读取的数量
/// VR反馈值数据
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetVrf", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetVrf(IntPtr handle, int vrstartnum, int numes, float[] pfValue);
///
/// 读取VR_INT寄存器
///
/// 连接句柄
/// 读取的VR起始地址
/// 读取的数量
/// VRINT反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetVrInt", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetVrInt(IntPtr handle, int vrstartnum, int numes, int[] piValue);
///
/// 设置TABLE寄存器
///
/// 连接句柄
/// 写入的TABLE起始编号
/// 写入的数量
/// 设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetTable", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetTable(IntPtr handle, int vrstartnum, int numes, float[] pfValue);
///
/// 读取TABLE寄存器
///
/// 连接句柄
/// 读取TABLE起始地址
/// 读取的数量
/// 读取的反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetTable", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetTable(IntPtr handle, int tabstart, int numes, float[] pfValue);
///
/// 字符串转为float数据
///
/// 数据的字符串
/// 转换数据个数
/// 转换的数据反馈
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_TransStringtoFloat", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_TransStringtoFloat(string pstringin, int inumes, float[] pfValue);
///
/// 字符串转为INT数据
///
/// 数据的字符串
/// 转换数据个数
/// 转换的数据反馈
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_TransStringtoInt", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_TransStringtoInt(string pstringin, int inumes, int[] pfValue);
///
/// 把float格式的变量列表存储到文件, 与控制器的U盘文件格式一致
///
/// 文件绝对路径
/// 写入的数据列表
/// 数据的长度
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_WriteUFile", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_WriteUFile(string sFilename, float[] pVarlist, int inum);
///
/// 读取float格式的变量列表, 与控制器的U盘文件格式一致.
///
/// 文件绝对路径
/// 读取的数据列表
/// 读取数据的长度
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_ReadUFile", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_ReadUFile(string sFilename, float[] pVarlist, ref int inum);
///
/// 设置MODBUS_BIT位寄存器
///
/// 连接句柄
/// 起始编号
/// 数量
/// 设置的位状态 按位存储
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Modbus_Set0x", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Modbus_Set0x(IntPtr handle, UInt16 start, UInt16 inum, byte[] pdata);
///
/// 读取MOBUS_BIT位寄存器
///
/// 连接句柄
/// 起始编号
/// 数量
/// pdata 返回的位状态 按位存储
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Modbus_Get0x", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Modbus_Get0x(IntPtr handle, UInt16 start, UInt16 inum, byte[] pdata);
///
/// 设置MODBUS_REG字寄存器
///
/// 连接句柄
/// 起始编号
/// 数量
/// REG寄存器值设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Modbus_Set4x", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Modbus_Set4x(IntPtr handle, UInt16 start, UInt16 inum, UInt16[] pfdata);
///
/// 读取MODBUS_REG字寄存器
///
/// 连接句柄
/// 起始编号
/// 数量
/// 反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Modbus_Get4x", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Modbus_Get4x(IntPtr handle, UInt16 start, UInt16 inum, UInt16[] pfdata);
///
/// 读取MODBUS_IEEE寄存器
///
/// 连接句柄
/// 起始编号
/// 数量
/// 反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Modbus_Get4x_Float", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Modbus_Get4x_Float(IntPtr handle, UInt16 start, UInt16 inum, float[] pfdata);
///
/// 设置MODBUS_IEEE寄存器
///
/// 连接句柄
/// 起始编号
/// 数量
/// 设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Modbus_Set4x_Float", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Modbus_Set4x_Float(IntPtr handle, UInt16 start, UInt16 inum, float[] pfdata);
///
/// 读取MODBUS_LONG寄存器
///
/// 连接句柄
/// 起始编号
/// 数量
/// 反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Modbus_Get4x_Long", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Modbus_Get4x_Long(IntPtr handle, UInt16 start, UInt16 inum, Int32[] pfdata);
///
/// 设置MODBUS_LONG寄存器
///
/// 连接句柄
/// 起始编号
/// 数量
/// 设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Modbus_Set4x_Long", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Modbus_Set4x_Long(IntPtr handle, UInt16 start, UInt16 inum, Int32[] pfdata);
///
/// 读取MODBUS_STRING寄存器
///
/// 连接句柄
/// 起始编号
/// 字节数量
/// 反馈字符串
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Modbus_Get4x_String", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Modbus_Get4x_String(IntPtr handle, UInt16 start, UInt16 inum, StringBuilder pfdata);
///
/// 设置MODBUS_STRING寄存器
///
/// 连接句柄
/// 起始编号
/// 字节数量
/// 设定字符串
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Modbus_Set4x_String", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Modbus_Set4x_String(IntPtr handle, UInt16 start, UInt16 inum, string pfdata);
///
/// 写控制器flash块, float格式
///
/// 连接句柄
/// flash块号
/// 变量数量
/// 设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_FlashWritef", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_FlashWritef(IntPtr handle, UInt16 uiflashid, UInt32 uinumes, float[] pfvlue);
///
/// 读取控制器flash块, float格式
///
/// 连接句柄
/// flash块号
/// 读取变量数量
/// 反馈值
/// 读取变量数量反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_FlashReadf", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_FlashReadf(IntPtr handle, UInt16 uiflashid, UInt32 uibuffnum, float[] pfvlue, ref UInt32 puinumesread);
/*****************************************************************************************************2018-08-24 V2.1函数添加***************************************************************************************/
///
/// 示波器触发函数 150723以后固件版本支持
///
/// 连接句柄
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Trigger", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Trigger(IntPtr handle);
///
/// 运动缓冲中插入参数修改
///
/// 连接句柄
/// 主轴轴号
/// 参数名称字符串
/// 修改轴号
/// 参数设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MovePara", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MovePara(IntPtr handle, UInt32 base_axis, string paraname, UInt32 iaxis, float fvalue);
///
/// 运动缓冲中插入PWM指令
///
/// 连接句柄
/// 主轴轴号
/// PWM口编号
/// 占空比设定值
/// 频率设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MovePwm", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MovePwm(IntPtr handle, UInt32 base_axis, UInt32 pwm_num, float pwm_duty, float pwm_freq);
///
/// 运动缓冲中插入同步其他轴的运动
///
/// 连接句柄
/// 主轴轴号
/// 同步轴号
/// 相对运动距离
/// 是否使用SP运动0/1, 缺省不使用
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MoveSynmove", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MoveSynmove(IntPtr handle, UInt32 base_axis, UInt32 iaxis, float fdist, UInt32 ifsp);
///
/// 运动缓冲中插入触发其他轴的运动
///
/// 连接句柄
/// 主轴轴号
/// 触发轴轴号
/// 相对运动距离
/// 是否使用SP运动0/1, 缺省不使用
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MoveASynmove", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MoveASynmove(IntPtr handle, UInt32 base_axis, UInt32 iaxis, float fdist, UInt32 ifsp);
///
/// 运动缓冲中插入修改TABLE寄存器指令
///
/// 连接句柄
/// 主轴轴号
/// TABLE编号
/// 设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MoveTable", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MoveTable(IntPtr handle, UInt32 base_axis, UInt32 table_num, float fvalue);
///
/// 运动缓冲中插入等待调节指令
///
/// 连接句柄
/// 主轴轴号
/// 参数名字符串 DPOS MPOS IN AIN VPSPEED MSPEED MODBUS_REG MODBUS_IEEE MODBUS_BIT NVRAM VECT_BUFFED REMAIN
/// 参数编号或轴号
/// 比较条件 1-大于等于 0-等于 -1小于等于 对IN等BIT类型参数无效
/// 比较值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MoveWait", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MoveWait(IntPtr handle, UInt32 base_axis, string paraname, int inum, int Cmp_mode, float fvalue);
///
/// 运动缓冲中插入TASK任务
///
/// 连接句柄
/// 主轴轴号
/// 任务编号
/// BAS程序中全局函数名或者标号名称
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MoveTask", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MoveTask(IntPtr handle, UInt32 base_axis, UInt32 tasknum, string labelname);
///
/// 软件位置比较输出
///
/// 连接句柄
/// 比较器编号
/// 比较器使能
/// 比较的轴号
/// 输出口编号
/// 输出状态
/// 比较起始位置
/// 输出复位位置
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_Pswitch", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_Pswitch(IntPtr handle, int num, int enable, int axisnum, int outnum, int outstate, float setpos, float resetpos);
///
/// 硬件位置比较输出 4系列产品脉冲轴与编码器轴支持硬件比较输出
///
/// 连接句柄
/// 轴号
/// 模式 mode 1-启动比较器, 2- 停止并删除没完成的比较点
/// 方向 0-坐标负向, 1- 坐标正向
/// 预留
/// 第一个比较点坐标所在TABLE编号
/// 最后一个比较点坐标所在TABLE编号
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_HwPswitch", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_HwPswitch(IntPtr handle, int Axisnum, int Mode, int Direction, int Reserve, int Tablestart, int Tableend);
///
/// 硬件位置比较输出剩余缓冲获取 4系列产品脉冲轴与编码器轴支持硬件比较输出
///
/// 连接句柄
/// 轴号
/// 剩余缓冲反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetHwPswitchBuff", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetHwPswitchBuff(IntPtr handle, int axisnum, ref int buff);
///
/// 硬件定时器用于硬件比较输出后一段时间后还原电平 4系列产品支持
///
/// 连接句柄
/// 模式 0停止,2-启动
/// 周期时间 us单位
/// 有效时间 us单位
/// 重复次数
/// 输出缺省状态
/// 输出口编号
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_HwTimer", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_HwTimer(IntPtr handle, int mode, int cyclonetime, int optime, int reptimes, int opstate, int opnum);
///
/// 读取轴停止运动原因
///
/// 连接句柄
/// 轴号
/// 停止原因反馈值 参考AXISSTATUS
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetAxisStopReason", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetAxisStopReason(IntPtr handle, int iaxis, ref int piValue);
///
/// 读取多轴轴参数
///
/// 连接句柄
/// 参数名称字符串
/// 读取总轴数
/// 参数值反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetAllAxisPara", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetAllAxisPara(IntPtr handle, string sParam, int imaxaxis, float[] pfValue);
///
/// 读取多轴基本参数状态
///
/// 连接句柄
/// 读取总轴数
/// 轴停止状态反馈值 0-运动中 -1停止中
/// 轴命令位置反馈值
/// 轴反馈位置反馈值
/// 轴状态
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetAllAxisInfo", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetAllAxisInfo(IntPtr handle, int imaxaxis, int[] IdleStatus, float[] DposStatus, float[] MposStatus, int[] AxisStatus);
///
/// 设置BASIC自定义全局数组
///
/// 连接句柄
/// 全局数组名称
/// 数组起始元素
/// 设置数量
/// 设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetUserArray", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetUserArray(IntPtr handle, string arrayname, int arraystart, int numes, float[] pfValue);
///
/// 读取BASIC自定义全局数组
///
/// 连接句柄
/// 全局数组名称
/// 数组起始元素
/// 读取数量
/// 反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetUserArray", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetUserArray(IntPtr handle, string arrayname, int arraystart, int numes, float[] pfValue);
///
/// 设置BASIC自定义变量
///
/// 连接句柄
/// 变量名称字符串
/// 设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetUserVar", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetUserVar(IntPtr handle, string varname, float pfValue);
///
/// 读取BASIC自定义变量
///
/// 连接句柄
/// 变量名称字符串
/// 反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetUserVar", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetUserVar(IntPtr handle, string varname, ref float pfValue);
///
/// 读取PCI控制卡个数
///
/// 卡数量
[DllImport("zauxdll.dll", EntryPoint = "ZAux_GetMaxPciCards", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_GetMaxPciCards();
///
/// PCI卡建立链接
///
/// PCI卡号
/// 句柄指针
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_OpenPci", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_OpenPci(UInt32 cardnum, out IntPtr phandle);
///
/// 获取控制器卡信息
///
/// 连接句柄
/// 控制器型号类型反馈值
/// 控制器软件版本(固件版本)反馈值
/// 控制器唯一ID反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_GetControllerInfo", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_GetControllerInfo(IntPtr handle, StringBuilder SoftType, StringBuilder SoftVersion, StringBuilder ControllerId);
///
/// 读取总线控制器卡连接节点数量
///
/// 连接句柄
/// 槽位号缺省
/// 扫描成功节点数量反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_BusCmd_GetNodeNum", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_BusCmd_GetNodeNum(IntPtr handle, int slot, ref int piValue);
///
/// 读取节点上的信息
///
/// 连接句柄
/// 槽位号缺省0
/// 节点编号
/// 信息编号 0-厂商编号1-设备编号 2-设备版本 3-别名 10-IN个数 11-OUT个数
/// 信息反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_BusCmd_GetNodeInfo", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_BusCmd_GetNodeInfo(IntPtr handle, UInt32 slot, UInt32 node, UInt32 sel, ref int piValue);
///
/// 读取总线节点通讯状态
///
/// 连接句柄
/// 槽位号缺省0
/// 节点编号
/// 节点状态反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_BusCmd_GetNodeStatus", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_BusCmd_GetNodeStatus(IntPtr handle, UInt32 slot, UInt32 node, ref UInt32 nodestatus);
///
/// 读取节点SDO参数信息
///
/// 连接句柄
/// 槽位号缺省0
/// 节点编号
/// 对象字典编号(注意函数为10进制数据)
/// 子编号 (注意函数为10进制数据)
/// 数据类型 1-bool 2-int8 3-int16 4-int32 5-uint8 6-uint16 7-uint32
/// 参数反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_BusCmd_SDORead", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_BusCmd_SDORead(IntPtr handle, UInt32 slot, UInt32 node, UInt32 index, UInt32 subindex, UInt32 type, ref Int32 value);
///
/// 写节点SDO参数信息
///
/// 连接句柄
/// 槽位号缺省0
/// 节点编号
/// 对象字典编号(注意函数为10进制数据)
/// 子编号 (注意函数为10进制数据)
/// 数据类型 1-bool 2-int8 3-int16 4-int32 5-uint8 6-uint16 7-uint32
/// 设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_BusCmd_SDOWrite", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_BusCmd_SDOWrite(IntPtr handle, UInt32 slot, UInt32 node, UInt32 index, UInt32 subindex, UInt32 type, Int32 value);
///
/// 读取Rtex驱动器参数
///
/// 连接句柄
/// 轴号
/// 参数分类*256 + 参数编号 Pr7.11-ipara = 7*256+11
/// 参数反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_BusCmd_RtexRead", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_BusCmd_RtexRead(IntPtr handle, UInt32 iaxis, UInt32 ipara, ref float value);
///
/// 设置Rtex驱动器参数信息
///
/// 连接句柄
/// 轴号
/// 参数分类*256 + 参数编号 Pr7.11-ipara = 7*256+11
/// 参数设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_BusCmd_RtexWrite", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_BusCmd_RtexWrite(IntPtr handle, UInt32 iaxis, UInt32 ipara, float value);
///
/// 设置回零偏移距离
///
/// 连接句柄
/// 轴号
/// 偏移距离设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_BusCmd_SetDatumOffpos", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_BusCmd_SetDatumOffpos(IntPtr handle, UInt32 iaxis, float fValue);
///
/// 读取回零偏移距离
///
/// 连接句柄
/// 轴号
/// 偏移距离反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_BusCmd_GetDatumOffpos", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_BusCmd_GetDatumOffpos(IntPtr handle, UInt32 iaxis, ref float fValue);
///
/// 总线驱动器自身回零运动
///
/// 连接句柄
/// 轴号
/// 回零模式,查看驱动器手册
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_BusCmd_Datum", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_BusCmd_Datum(IntPtr handle, UInt32 iaxis, UInt32 homemode);
///
/// 总线驱动器回零完成状态
///
/// 连接句柄
/// 轴号
/// 回零完成标志 0-回零异常 1回零成功
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_BusCmd_GetHomeStatus", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_BusCmd_GetHomeStatus(IntPtr handle, UInt32 iaxis, ref UInt32 homestatus);
///
/// 清除总线伺服轴报警
///
/// 连接句柄
/// 轴号
/// 模式 0-清除当前告警 1-清除历史告警 2-清除外部输入告警
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_BusCmd_DriveClear", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_BusCmd_DriveClear(IntPtr handle, UInt32 iaxis, UInt32 mode);
///
/// 读取总线轴当前力矩 需要设置对应的DRIVE_PROFILE类型
///
/// 连接句柄
/// 轴号
/// 反馈转矩值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_BusCmd_GetDriveTorque", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_BusCmd_GetDriveTorque(IntPtr handle, UInt32 iaxis, ref int piValue);
///
/// 设置总线轴最大转矩 需要设置对应的DRIVE_PROFILE类型
///
/// 连接句柄
/// 轴号
/// 最大转矩限制设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_BusCmd_SetMaxDriveTorque", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_BusCmd_SetMaxDriveTorque(IntPtr handle, UInt32 iaxis, int piValue);
///
/// 读取总线轴最大转矩 需要设置对应的DRIVE_PROFILE类型
///
/// 连接句柄
/// 轴号
/// 最大转矩限制反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_BusCmd_GetMaxDriveTorque", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_BusCmd_GetMaxDriveTorque(IntPtr handle, UInt32 iaxis, ref int piValue);
///
/// 设置总线轴模拟量输出 力矩、速度模式下可以 总线驱动需要设置对应DRIVE_PROFILE类型 与ATYPE
///
/// 连接句柄
/// 轴号
/// 转矩输出值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetDAC", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetDAC(IntPtr handle, UInt32 iaxis, float fValue);
///
/// 读取总线轴模拟量输出 总线驱动需要设置对应DRIVE_PROFILE类型 与ATYPE
///
/// 连接句柄
/// 轴号
/// 转矩反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetDAC", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetDAC(IntPtr handle, UInt32 iaxis, ref float fValue);
///
/// 总线初始化指令 (针对Zmotion tools 工具软件配置过总线参数控制器使用有效)
///
/// 连接句柄
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_BusCmd_InitBus", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_BusCmd_InitBus(IntPtr handle);
///
/// 读取总线初始化状态 (针对Zmotion tools 工具软件配置过总线参数控制器使用有效)
///
/// 连接句柄
/// 状态反馈值 0-失败 1-成功
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_BusCmd_GetInitStatus", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_BusCmd_GetInitStatus(IntPtr handle, ref int piValue);
///
/// 读取多个输入信号
///
/// 连接句柄
/// 起始输入口编号
/// 结束输入口编号
/// 输入口状态反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetInMulti", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetInMulti(IntPtr handle, int startio, int endio, Int32[] piValue);
///
/// 设置在线命令的超时时间
///
/// 连接句柄
/// 超时时间 MS
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_SetTimeOut", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_SetTimeOut(IntPtr handle, UInt32 timems);
#region "硬件位置比较输出2 ZAux_Direct_HwPswitch2"
/*************************************************************2017-12-14添加
Description: //硬件位置比较输出2 4系列产品, 20170513以上版本支持. ZMC306E/306N支持
Input: //卡链接 handle
//模式 mode
//输出口编号 Opnum 4系列 out 0-3为硬件位置比较输出
//第一个比较点的输出状态 Opstate 0-关闭 1打开
//多功能参数 ModePara1
//多功能参数 ModePara2
//多功能参数 ModePara3
//多功能参数 ModePara4
mode 1-启动比较器,
ModePara1 = 第一个比较点坐标所在TABLE编号
ModePara2 = 最后一个比较点坐标所在TABLE编号
ModePara3 = 第一个点判断方向, 0-坐标负向, 1- 坐标正向, -1-不使用方向
ModePara4 = 预留
mode 2- 停止并删除没完成的比较点.
ModePara1 = 预留
ModePara2 = 预留
ModePara3 = 预留
ModePara4 = 预留
mode 3- 矢量比较方式
ModePara1 = 第一个比较点坐标所在TABLE编号
ModePara2 = 最后一个比较点坐标所在TABLE编号
ModePara3 = 预留
ModePara4 = 预留
Mode=4 :矢量比较方式, 单个比较点
ModePara1 = 比较点坐标
ModePara2 = 预留
ModePara3 = 预留
ModePara4 = 预留
Mode=5 :矢量比较方式, 周期脉冲模式
ModePara1 = 比较点坐标
ModePara2 = 重复周期, 一个周期内比较两次, 先输出有效状态,再输出无效状态.
ModePara3 = 周期距离, 每隔这个距离输出Opstate, 输出有效状态的距离(ModePara4)后还原为无效状态.
ModePara4 = 输出有效状态的距离, (ModePara3- ModePara4) 为无效状态距离
Mode=6 :矢量比较方式, 周期模式, 这种模式一般与HW_TIMER一起使用.
ModePara1 = 比较点坐标
ModePara2 = 重复周期, 一个周期只比较一次
ModePara3 = 周期距离, 每隔这个距离输出一次
ModePara4 = 预留
Return: //错误码
int32 __stdcall ZAux_Direct_HwPswitch2(ZMC_HANDLE handle,int Axisnum,int Mode, int Opnum , int Opstate, float ModePara1, float ModePara2,float ModePara3,float ModePara4);
*************************************************************/
#endregion
///
/// 硬件位置比较输出2 4系列产品, 20170513以上版本支持. ZMC306E/306N支持
///
/// 连接句柄
/// 轴号
/// 模式
/// 输出口编号
/// 第一个比较点的输出状态
/// 功能参数1
/// 功能参数2
/// 功能参数3
/// 功能参数4
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_HwPswitch2", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_HwPswitch2(IntPtr handle, int Axisnum, int Mode, int Opnum, int Opstate, float ModePara1, float ModePara2, float ModePara3, float ModePara4);
///
/// 获取控制器最大规格数
///
/// 连接句柄
/// 最大虚拟轴数
/// 最大电机数量
/// 最大IN,OUT,AD,DA数量
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_GetSysSpecification", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_GetSysSpecification(IntPtr handle, ref UInt16 Max_VirtuAxises, byte[] Max_motor, byte[] Max_io);
///
/// 控制器主动上报回调函数
///
/// 连接句柄
/// 上传类型码
/// 数据长度
/// 上报数据指针 [MarshalAs(UnmanagedType.LPArray, SizeConst = 2048)]byte[] pdata
public delegate void ZAuxCallBack(IntPtr handle, Int32 itypecode, Int32 idatalength, StringBuilder pdata);
[DllImport("zauxdll.dll", EntryPoint = "ZAux_SetAutoUpCallBack", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_SetAutoUpCallBack(IntPtr handle, ZAuxCallBack pcallback);
///
/// 设置多路输出
///
/// 连接句柄
/// IO口起始编号
/// IO口结束编号
/// 输出口状态
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_SetOutMulti", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_SetOutMulti(IntPtr handle, UInt16 iofirst, UInt16 ioend, UInt32[] istate);
///
/// 读取多路输出
///
/// 连接句柄
/// IO口起始编号
/// IO口结束编号
/// 输出口状态
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetOutMulti", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetOutMulti(IntPtr handle, UInt16 iofirst, UInt16 ioend, UInt32[] istate);
///
/// 多轴相对直线插补运动
///
/// 连接句柄
/// 发送运行指令数量
/// 参与运动总轴数
/// 轴列表
/// 运动位置列表
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MultiMove", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MultiMove(IntPtr handle,int iMoveLen, int imaxaxises, int[] piAxislist, float[] pfDposlist);
///
/// 多轴绝对直线插补运动
///
/// 连接句柄
/// 发送运行指令数量
/// 参与运动总轴数
/// 轴列表
/// 运动位置列表
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MultiMoveAbs", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MultiMoveAbs(IntPtr handle,int iMoveLen, int imaxaxises, int[] piAxislist, float[] pfDposlist);
///
/// 机械手坐标系旋转
///
/// 连接句柄
/// 轴号 关节轴/虚拟轴
/// 平移旋转参数
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_FrameRotate", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_FrameRotate(IntPtr handle, int iaxis, float[] pfRotatePara);
///
/// 获取CAN扩展资源规格
///
/// 连接句柄
/// 当前连接的CAN从站数量
/// 当前连接的CAN从站ID列表
/// 节点输入点数量
/// 节点输出点数量
/// 节点AD数量
/// 节点DA数量
/// 节点轴数量
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_GetCanInfo", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_GetCanInfo(IntPtr handle, ref byte CanNum, UInt16[] CanId_List, byte[] CanIn_List, byte[] CanOut_List, byte[] CanAin_List, byte[] CanAOut_List, byte[] CanAxis_List);
///
/// 多条相对PT运动
///
/// 连接句柄
/// 填写的运动数量
/// 参与运动总轴数
/// 轴号列表
/// 周期列表
/// 距离列表
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MultiMovePt", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MultiMovePt(IntPtr handle, int iMoveLen, int imaxaxises, int[] piAxislist, UInt32[] pTickslist, float[] pfDisancelist);
///
/// 多条绝对PT运动
///
/// 连接句柄
/// 填写的运动数量
/// 参与运动总轴数
/// 轴号列表
/// 周期列表
/// 距离列表
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MultiMovePtAbs", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MultiMovePtAbs(IntPtr handle, int iMoveLen, int imaxaxises, int[] piAxislist, UInt32[] pTickslist, float[] pfDisancelist);
///
/// 下载ZAR文件到控制
///
/// 连接句柄
/// Filename 文件路径
/// 下载到RAM-ROM 0-RAM 1-ROM
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_ZarDown", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_ZarDown(IntPtr handle, String Filename,UInt32 run_mode);
///
/// 读取RTC时间
///
/// 连接句柄
/// 系统日期 格式YYMMDD
/// 系统时间 格式HHMMSS
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_GetRtcTime", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_GetRtcTime(IntPtr handle, StringBuilder RtcDate, StringBuilder RtcTime);
///
/// 设置RTC时间
///
/// 连接句柄
/// 系统日期 格式YYMMDD
/// 系统时间 格式HHMMSS
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_SetRtcTime", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_SetRtcTime(IntPtr handle, String RtcDate, String RtcTime);
///
/// 与控制器建立链接, 可以指定连接的等待时间
///
/// 连接类型 1-COM 2-ETH 4-PCI
/// 连接字符串 COM口号/IP地址
/// 连接超时时间
/// 卡链接handle
///
[DllImport("zauxdll.dll", EntryPoint = "ZAux_FastOpen", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_FastOpen(Int32 type, string pconnectstring, UInt32 uims, out IntPtr phandle);
///
/// 自定义二次回零
///
/// 连接句柄
/// 轴号
/// 回零模式
/// 回零高速
/// 回零低速
/// 二次回零偏移距离
///
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_UserDatum", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_UserDatum(IntPtr handle, Int32 iaxis, Int32 imode,float HighSpeed,float LowSpeed,float DatumOffset);
///
/// 设置轴的螺距补偿,扩展轴无效。
///
/// 句柄连接
/// 轴号
/// 是否启用补偿
/// 起始补偿MPOS位置
/// 补偿区间总点数
/// 每个补偿点间距
/// 补偿坐标值填入TABLE系统数组起始引导地址
/// 区间补偿值列表
///
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_Pitchset", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_Pitchset(IntPtr handle,Int32 iaxis,Int32 iEnable,float StartPos,UInt32 maxpoint,float DisOne ,UInt32 TablNum,float [] pfDisancelist);
///
/// 设置轴的螺距双向补偿,扩展轴无效。
///
/// 句柄连接
/// 轴号
/// 是否启用补偿
/// 起始补偿MPOS位置
/// 补偿区间总点数
/// 每个补偿点间距
/// 正向补偿坐标值填入TABLE系统数组起始引导地址
/// 正向区间补偿值列表
/// 反向补偿坐标值填入TABLE系统数组起始引导地址
/// 反向区间补偿值列表 补偿数据方向于正向方向一致
///
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_Pitchset2", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_Pitchset2(IntPtr handle,Int32 iaxis,Int32 iEnable,float StartPos,UInt32 maxpoint,float DisOne ,UInt32 TablNum,float [] pfDisancelist,UInt32 RevTablNum,float [] RevpfDisancelist);
///
/// 轴的螺距补偿状态读取,扩展轴无效。
///
/// 句柄连接
/// 轴号
/// 是否启用补偿 0关闭 -1开启
/// 补偿距离
///
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_GetPitchStatus", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_GetPitchStatus(IntPtr handle,Int32 iaxis,ref Int32 IfEnable,ref float PitchDist);
///
/// 多轴多段线直线连续插补
///
/// 句柄连接
/// imode bit0- bifabs bit1- bifsp 是否SP bit2- bifresume bit3- bifmovescan 调用
/// 填写的运动长度
/// 参与运动总轴数
/// 轴号列表
/// 距离列表 iMoveLen * imaxaxises
///
///
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MultiLineN", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MultiLineN(IntPtr handle,Int32 imode,Int32 iMoveLen, Int32 imaxaxises, Int32 []piAxislist, float []pfDisancelist,ref Int32 iReBuffLen);
///
/// 皮带同步跟随运动
///
/// 连接句柄
/// 同步模式 -1结束模式 -2强制结束 0-第一个轴跟随 10-第二个轴跟随 20-第二个轴跟随 小数位-angle:皮带旋转角度
/// 同步时间,ms单位,本运动在指定时间内完成,完成时BASE轴跟上皮带且保持速度一致。0表示根据运动轴的速度加速度来估计同步时间
/// 皮带轴物体被感应到时皮带轴的位置
/// 皮带轴轴号
/// 参与同步从轴总数
/// 从站轴号列表
/// 皮带轴物体被感应到时从轴的绝对坐标位置
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MoveSync", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MoveSync(IntPtr handle, float imode, int synctime, float syncposition, int syncaxis, int imaxaxises, int[] piAxislist, float[] pfDposlist);
///
/// 连续位置锁存指令
///
/// 连接句柄
/// 轴号
/// 锁存模式
/// 连续锁存的内容存储的table位置,第一个table元素存储锁存的个数,后面存储锁存的坐标,最多保存个数= numes-1,溢出时循环写入
/// 占用的table个数
///
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_CycleRegist", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_CycleRegist(IntPtr handle, int iaxis, int imode, int iTabStart, int iTabNum);
///
/// 运动中取消其他轴运动
///
/// 连接句柄
/// 插补主轴编号
/// 取消运动轴号
/// 停止模式
///
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Direct_MoveCancel", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Direct_MoveCancel(IntPtr handle, int base_axis, int Cancel_Axis, int iMode);
///
/// Pdo写操作
///
/// 连接句柄
/// 节点号
/// 对象字典
/// 子对象
/// 数据类型
/// 写入值
///
[DllImport("zauxdll.dll", EntryPoint = "ZAux_BusCmd_NodePdoWrite", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_BusCmd_NodePdoWrite(IntPtr handle, UInt32 inode, UInt32 index, UInt32 subindex, UInt32 type, Int32 value);
///
/// Pdo读操作
///
/// 连接句柄
/// 节点号
/// 对象字典
/// 子对象
/// 数据类型
/// 返回的数据值
///
[DllImport("zauxdll.dll", EntryPoint = "ZAux_BusCmd_NodePdoRead", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_BusCmd_NodePdoRead(IntPtr handle, UInt32 inode, UInt32 index, UInt32 subindex, UInt32 type, ref Int32 ivalue);
///
/// 使能周期上报
///
/// 连接句柄
/// 上报通道号
/// 上报间隔时间
/// 上报参数选择,
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_CycleUpEnable", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_CycleUpEnable(IntPtr handle, UInt32 cycleindex, float fintervalms, string psetesname);
///
/// 关闭使能周期上报
///
/// 连接句柄
/// 上报通道号
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_CycleUpDisable", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_CycleUpDisable(IntPtr handle, UInt32 cycleindex);
///
/// 周期上报收到的包次数, 超过溢出. 调试使用.
///
/// 连接句柄
/// 上报通道号
/// 上报次数
[DllImport("zauxdll.dll", EntryPoint = "ZAux_CycleUpGetRecvTimes", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_CycleUpGetRecvTimes(IntPtr handle, UInt32 cycleindex);
///
/// 强制上报一次, 在运动指令后idle可能不准确的情况下调用.
///
/// 连接句柄
/// 上报通道号
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_CycleUpForceOnce", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_CycleUpForceOnce(IntPtr handle, UInt32 cycleindex);
///
/// 从周期上报里面读取内容double格式
///
/// 连接句柄
/// 上报通道号
/// 参数名称
/// 参数编号
/// 返回值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_CycleUpReadBuff", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_CycleUpReadBuff(IntPtr handle, UInt32 cycleindex, string psetesname, UInt32 isetindex,ref double pvalue);
///
/// 从周期上报里面读取内容Int32格式
///
/// 连接句柄
/// 上报通道号
/// 参数名称
/// 参数编号
/// 返回值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_CycleUpReadBuffInt", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_CycleUpReadBuffInt(IntPtr handle, UInt32 cycleindex, string psetesname, UInt32 isetindex, ref Int32 pvalue);
///
/// 通过轴号进行 SDO 读取
///
/// 连接句柄
/// 轴号
/// 对象字典编号(注意函数为10进制数据)
/// 子编号 (注意函数为10进制数据)
/// 数据类型 1-bool 2-int8 3-int16 4-int32 5-uint8 6-uint16 7-uint32
/// 参数反馈值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_BusCmd_SDOReadAxis", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_BusCmd_SDOReadAxis(IntPtr handle, UInt32 iaxis, UInt32 index, UInt32 subindex, UInt32 type, ref Int32 value);
///
/// 通过轴号进行 SDO 写节
///
/// 连接句柄
/// 轴号
/// 对象字典编号(注意函数为10进制数据)
/// 子编号 (注意函数为10进制数据)
/// 数据类型 1-bool 2-int8 3-int16 4-int32 5-uint8 6-uint16 7-uint32
/// 设定值
/// 错误码
[DllImport("zauxdll.dll", EntryPoint = "ZAux_BusCmd_SDOWriteAxis", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_BusCmd_SDOWriteAxis(IntPtr handle, UInt32 iaxis, UInt32 index, UInt32 subindex, UInt32 type, Int32 value);
[DllImport("zmotion.dll", EntryPoint = "ZMC_GetState", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZMC_GetState(IntPtr handle, byte[] pstate);
///
/// 读取脚本输出的信息
///
/// 连接句柄
/// 脚本空间
/// 最大等待时间
/// 返回的字符长度
/// 错误码
[DllImport("zmotion.dll", EntryPoint = "ZMC_ReadMessage", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZMC_ReadMessage(IntPtr handle, byte[] pbuff, UInt32 uimax, ref UInt32 puiread);
///
/// 读取在线命令的应答, 对没有接收应答的命令有用
///
/// 连接句柄
/// 脚本空间
/// 最大等待时间
/// 返回的字符长度
/// 是否已经执行结束
/// 错误码
[DllImport("zmotion.dll", EntryPoint = "ZMC_ExecuteGetReceive", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZMC_ExecuteGetReceive(IntPtr handle, byte[] pbuff, UInt32 uimax, ref UInt32 puiread, ref byte pbifExcuteDown);
///
/// 动态下载3次文件, 一次下载的内容必须是完整的单行或多行,没有下载完成时, 后面用\n结尾, 全部下载完成时, 加\0结尾,\0会导致任务结束, 需要再启动可以再次调用ZAux_Run3FileRam
///
/// 连接句柄
/// 3次文件编号
/// 剩余空间字节数
/// 设置3次文件名.3次文件不会自动运行, 需调用ZAux_Run3FileRam启动
///
[DllImport("zauxdll.dll", EntryPoint = "ZAux_3FileRamDownBegin", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_3FileRamDownBegin(IntPtr handle, int ifile3num, ref UInt32 premainbyte, string File3Name);
///
/// 读取3次文件可写的空间.
///
/// 连接句柄
/// 3次文件编号
/// 剩余空间字节数
///
[DllImport("zauxdll.dll", EntryPoint = "ZAux_3FileRamGetRemainSpace", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_3FileRamGetRemainSpace(IntPtr handle, int ifile3num, ref UInt32 premainbyte);
///
/// 动态下载3次文件, 一次下载的内容必须是完整的单行或多行,没有下载完成时, 后面用\n结尾, 全部下载完成时, 加\0结尾
///
/// 连接句柄
/// 3次文件编号
/// 下载的字符串
/// 字符串长度
/// 剩余空间字节数
///
[DllImport("zauxdll.dll", EntryPoint = "ZAux_3FileRamDownPart", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_3FileRamDownPart(IntPtr handle, int ifile3num, StringBuilder pbuffer, UInt32 buffsize, ref UInt32 premainbyte);
///
/// 运行控制器内3次文件
///
/// 连接句柄
/// 3次文件编号
/// 运动任务号
///
[DllImport("zauxdll.dll", EntryPoint = "ZAux_Run3FileRam", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_Run3FileRam(IntPtr handle, int ifile3num, int itasknum);
///
/// 动态下载3次文件, 下载结束, 自动加\0, 并且调用后再次调用 ZMC_3FileRamDownPart 会返回错误
///
/// 连接句柄
/// 3次文件编号
///
[DllImport("zauxdll.dll", EntryPoint = "ZAux_3FileRamDownEnd", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ZAux_3FileRamDownEnd(IntPtr handle, int ifile3num);
}
}