2025-03-12 17:18:39 +08:00

1985 lines
119 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System.Reflection;
using System.Runtime.InteropServices;
/********************************************************************************************************************************************************************
1 每个相机可以单独设置触发参数,适应给更多不同相机
2 物件状态实时可以存储10组数据,防止计算机不实时
3 根据物件编号下达动作,方便用户使用
4 吹气口各种工作防止OK与NG占用同一个通道
********************************************************************************************************************************************************************/
namespace MCDLL_NET
{
///// <summary>
/////
///// </summary>
//public static class SolidMotionCardRetCode
//{
// public const int RetOK = 0;
//}
/// <summary>
/// 轴停止模式
/// </summary>
public static class AxisStopMode
{
/// <summary>
/// 紧急停止
/// </summary>
public const int AxisStopIMD = 0;
/// <summary>
/// 减速停止
/// </summary>
public const int AxisStopDEC = 1;
}
public class CMCDLL_NET
{
/********************************************************************************************************************************************************************
0.1 控制卡打开函数
********************************************************************************************************************************************************************/
/// <summary>
/// 打开运动控制卡
/// </summary>
/// <param name="Connection_Number">设置站点个数,取值:[1,100]</param>
/// <param name="Station_Number">依次设置站号,[0,99]</param>
/// <param name="Station_Type">表示设置站点类型,取值:
/// 0: NIO0808R/NIO1616R/NIO2416
/// 1: NIO4832/NIO3232/NIO4000
/// 2: NMC1200R/NMC1400/NMC3400/NMC3401
/// 3: NMC5800/NMC5600R/NMC1800/NMC1600R
/// 4: NMC5120R/NMC5160
/// 5: LMC3400/LMC3100
/// 6: EIO0840
/// 7: NAD0804
/// 8: </param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Open_Net")]
public static extern short MCF_Open_Net(ushort Connection_Number, ref ushort Station_Number, ref ushort Station_Type);
/// <summary>
/// 关闭运动控制卡
/// </summary>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Close_Net")]
public static extern short MCF_Close_Net();
/// <summary>
/// 1.2 链接超时紧急停止所有轴DO 输出 TimeOut_Output
/// </summary>
/// <param name="Time_1MS">设置超时时间; 范围:[0,60000]</param>
/// <param name="TimeOut_Output">设置超时输出</param>
/// <param name="StationNumber">站号</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Set_Link_TimeOut_Net")]
public static extern short MCF_Set_Link_TimeOut_Net(uint Time_1MS, uint TimeOut_Output, ushort StationNumber = 0);
/// <summary>
/// 1.3 链接监测函数
/// </summary>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Link_State_Net")]
public static extern short MCF_Get_Link_State_Net();
/// <summary>
/// 1.4 网络并联模式设置函数
/// </summary>
/// <param name="Mode">Mode级联模式 0串联 1并联</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Set_Switch_State_Net")]
public static extern short MCF_Set_Switch_State_Net(ushort Mode = 0);
/// <summary>
/// 1.5 网络并联模式链接状态查询函数
/// </summary>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Switch_State_Net")]
public static extern short MCF_Get_Switch_State_Net(ushort StationNumber = 0);
/********************************************************************************************************************************************************************
1 初始化函数
********************************************************************************************************************************************************************/
/// <summary>
/// 1.1 初始化函数 必须在MCF_Open_Net前面调用
/// </summary>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Init_Net")]
public static extern short MCF_Sorting_Init_Net(ushort StationNumber = 0);
/********************************************************************************************************************************************************************
2 筛选启动关闭函数
********************************************************************************************************************************************************************/
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Start_Net")]
public static extern short MCF_Sorting_Start_Net(ushort Mode = 0, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Close_Net")]
public static extern short MCF_Sorting_Close_Net(ushort StationNumber = 0);
/********************************************************************************************************************************************************************
3 安全保护机制参数函数
********************************************************************************************************************************************************************/
/// <summary>
/// 3.1 物件最大最小尺寸
/// </summary>
/// <param name="Max_Size"></param>
/// <param name="Min_Size"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Set_Piece_Size_Net")]
public static extern short MCF_Sorting_Set_Piece_Size_Net(uint Max_Size, uint Min_Size, ushort StationNumber = 0);
/// <summary>
/// 3.2 物件安全距离,安全时间
/// </summary>
/// <param name="Min_Distance"></param>
/// <param name="Min_Time_Intervel"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Set_Piece_Place_Net")]
public static extern short MCF_Sorting_Set_Piece_Place_Net(uint Min_Distance, uint Min_Time_Intervel, ushort StationNumber = 0);
/// <summary>
/// 3.3 物件检测有效电平设置(默认低电平)
/// </summary>
/// <param name="Bit_Input_Logic"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Set_Input_0_Logic_Net")]
public static extern short MCF_Sorting_Set_Input_0_Logic_Net(ushort Bit_Input_Logic, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Set_Input_1_Logic_Net")]
public static extern short MCF_Sorting_Set_Input_1_Logic_Net(ushort Bit_Input_Logic, ushort StationNumber = 0);
/// <summary>
/// 3.4 物件检测无料超时停止轴运动(默认时间0,表示不启动) [0,60000]
/// </summary>
/// <param name="Time_1MS"></param>
/// <param name="TimeOut_Output"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Set_Input_0_TimeOut_Net")]
public static extern short MCF_Sorting_Set_Input_0_TimeOut_Net(uint Time_1MS, uint TimeOut_Output, ushort StationNumber = 0);
/// <summary>
/// 3.5 物件吹气OK超时停止轴运动(默认时间0,表示不启动) [0,60000]
/// </summary>
/// <param name="Time_1MS"></param>
/// <param name="TimeOut_Output"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Set_Trig_Blow_OK_TimeOut_Net")]
public static extern short MCF_Sorting_Set_Trig_Blow_OK_TimeOut_Net(uint Time_1MS, uint TimeOut_Output, ushort StationNumber = 0);
/// <summary>
/// 3.6 物件吹气连续NG停止轴运动(默认时间0,表示不启动) [0,60000]
/// </summary>
/// <param name="NG_Number"></param>
/// <param name="NumberOut_Output"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Set_Trig_Blow_NG_NumberOut_Net")]
public static extern short MCF_Sorting_Set_Trig_Blow_NG_NumberOut_Net(uint NG_Number, uint NumberOut_Output, ushort StationNumber = 0);
//HMC3412S 专用
/// <summary>
/// 3.7 物件判定OK吹气后,检查剩余物料数目是否正确以此判定是否误吹其他料进OK
/// </summary>
/// <param name="Bit_Input_Number"></param>
/// <param name="Bit_Input_Logic"></param>
/// <param name="Input_Position"></param>
/// <param name="Piece_Size"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Set_Blow_OK_Error_Net")]
public static extern short MCF_Sorting_Set_Blow_OK_Error_Net(ushort Bit_Input_Number, ushort Bit_Input_Logic, int Input_Position, uint Piece_Size, ushort StationNumber = 0);
/// <summary>
///
/// </summary>
/// <param name="Error_Number"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Get_Blow_OK_Error_Number_Net")]
public static extern short MCF_Sorting_Get_Blow_OK_Error_Number_Net(ref uint Error_Number, ushort StationNumber = 0);
/********************************************************************************************************************************************************************
0.4 筛选卡设置相机吹气阀相对检测口位置函数
********************************************************************************************************************************************************************/
/// <summary>
/// 设置相机的对应参数(注意:相机与检测装置的相对距离由小到大排列)
/// </summary>
/// <param name="Camera_Number">设置相机号取值范围1-8</param>
/// <param name="Camera_Position">设置相机到来料检测口的相对位置,单位:脉冲;</param>
/// <param name="Motion_Dir">转盘运转方向0方向1方向</param>
/// <param name="Action_Mode">设置输出点触发模式</param>
/// <param name="Action_IO">设置输出点位号</param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Set_Camera_Net")]
public static extern short MCF_Sorting_Set_Camera_Net(ushort Camera_Number, int Camera_Position, ushort Motion_Dir, ushort Action_Mode, ushort Action_IO, ushort StationNumber = 0);
/// <summary>
///
/// </summary>
/// <param name="Blow_OK_Position"></param>
/// <param name="Motion_Dir"></param>
/// <param name="Action_Mode"></param>
/// <param name="Action_IO"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Set_Blow_OK_Net")]
public static extern short MCF_Sorting_Set_Blow_OK_Net(int Blow_OK_Position, ushort Motion_Dir, ushort Action_Mode, ushort Action_IO, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Set_Blow_NG_Net")]
public static extern short MCF_Sorting_Set_Blow_NG_Net(int Blow_NG_Position, ushort Motion_Dir, ushort Action_Mode, ushort Action_IO, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Set_Blow_1_Net")]
public static extern short MCF_Sorting_Set_Blow_1_Net(int Blow_1_Position, ushort Motion_Dir, ushort Action_Mode, ushort Action_IO, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Set_Blow_2_Net")]
public static extern short MCF_Sorting_Set_Blow_2_Net(int Blow_2_Position, ushort Motion_Dir, ushort Action_Mode, ushort Action_IO, ushort StationNumber = 0);
//HMC3412S 专用
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Set_Blow_3_Net")]
public static extern short MCF_Sorting_Set_Blow_3_Net(int Blow_3_Position, ushort Motion_Dir, ushort Action_Mode, ushort Action_IO, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Set_Blow_4_Net")]
public static extern short MCF_Sorting_Set_Blow_4_Net(int Blow_4_Position, ushort Motion_Dir, ushort Action_Mode, ushort Action_IO, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Set_Blow_5_Net")]
public static extern short MCF_Sorting_Set_Blow_5_Net(int Blow_5_Position, ushort Motion_Dir, ushort Action_Mode, ushort Action_IO, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Set_Blow_6_Net")]
public static extern short MCF_Sorting_Set_Blow_6_Net(int Blow_6_Position, ushort Motion_Dir, ushort Action_Mode, ushort Action_IO, ushort StationNumber = 0);
/********************************************************************************************************************************************************************
0.5 筛选卡物件,相机,吹气状态函数
********************************************************************************************************************************************************************/
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Get_Piece_Pass_Net")]
public static extern short MCF_Sorting_Get_Piece_Pass_Net(ushort Piece_Input_Number, ref uint Piece_Pass, ushort StationNumber = 0);
/// <summary>
/// 检测口 DIO0 筛选状态监测
/// </summary>
/// <param name="Piece_Input_Number">物件计数的输入端口号目前只能一路取值0</param>
/// <param name="Piece_Find">物件匹配统计数量</param>
/// <param name="Piece_Size">物件大小,返回 10 组数据,需要用数组接收</param>
/// <param name="Piece_Distance_To_next">物件间距,返回 10 组数据,需要用数组接收</param>
/// <param name="Piece_Cross_Camera">物件经过所有相机个数</param>
/// <param name="StationNumber">站点号</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Get_Piece_State_Net")]
public static extern short MCF_Sorting_Get_Piece_State_Net(ushort Piece_Input_Number, ref uint Piece_Find, ref uint Piece_Size, ref uint Piece_Distance_To_next, ref uint Piece_Cross_Camera, ushort StationNumber = 0);
/// <summary>
/// 设置运动控制卡触发相机拍照后,延时多少毫秒计数增加1,一般设置为 大于 控制卡从触发相机拍照到软件出图像结果需要的时间,
/// </summary>
/// <param name="Camera_Number">相机号</param>
/// <param name="Delay_Camera_Count_MS">相机对应的延时显示时间单位ms</param>
/// <param name="StationNumber">站点号</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Set_Trig_Camera_Delay_Count_Net")]
public static extern short MCF_Sorting_Set_Trig_Camera_Delay_Count_Net(ushort Camera_Number, double Delay_Camera_Count_MS, ushort StationNumber = 0);
/// <summary>
/// 获取判断控制卡触发相机拍照计数,图像结果输出结果一定要先于延时后的控制卡相机拍照计数,而且要一一对应,否则做为图像异常或者漏拍处理
/// </summary>
/// <param name="Camera_Number">相机号</param>
/// <param name="Trig_Camera_Count">反馈相机触发的个数</param>
/// <param name="StationNumber">站点号</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Get_Trig_Camera_Count_Net")]
public static extern short MCF_Sorting_Get_Trig_Camera_Count_Net(ushort Camera_Number, ref uint Trig_Camera_Count, ushort StationNumber = 0);
/// <summary>
/// 获取 NG 气阀触发次数
/// </summary>
/// <param name="Trig_Blow_NG_Count">NG 气阀触发次数</param>
/// <param name="StationNumber">站点号</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Get_Trig_Blow_NG_Count_Net")]
public static extern short MCF_Sorting_Get_Trig_Blow_NG_Count_Net(ref uint Trig_Blow_NG_Count, ushort StationNumber = 0);
/// <summary>
/// 获取 OK 气阀触发次数
/// </summary>
/// <param name="Trig_Blow_NG_Count">OK 气阀触发次数</param>
/// <param name="StationNumber">站点号</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Get_Trig_Blow_OK_Count_Net")]
public static extern short MCF_Sorting_Get_Trig_Blow_OK_Count_Net(ref uint Trig_Blow_OK_Count, ushort StationNumber = 0);
/// <summary>
/// 获取气阀 1 触发次数
/// </summary>
/// <param name="Trig_Blow_NG_Count">气阀 1 触发次数</param>
/// <param name="StationNumber">站点号</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Get_Trig_Blow_1_Count_Net")]
public static extern short MCF_Sorting_Get_Trig_Blow_1_Count_Net(ref uint Trig_Blow_1_Count, ushort StationNumber = 0);
/// <summary>
/// 获取气阀 2 触发次数
/// </summary>
/// <param name="Trig_Blow_NG_Count">气阀 2 触发次数</param>
/// <param name="StationNumber">站点号</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Get_Trig_Blow_2_Count_Net")]
public static extern short MCF_Sorting_Get_Trig_Blow_2_Count_Net(ref uint Trig_Blow_2_Count, ushort StationNumber = 0);
/// <summary>
/// 获取气阀 3 触发次数
/// </summary>
/// <param name="Trig_Blow_NG_Count">气阀 3 触发次数</param>
/// <param name="StationNumber">站点号</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Get_Trig_Blow_3_Count_Net")]
public static extern short MCF_Sorting_Get_Trig_Blow_3_Count_Net(ref uint Trig_Blow_3_Count, ushort StationNumber = 0);
/// <summary>
/// 获取气阀 4 触发次数
/// </summary>
/// <param name="Trig_Blow_NG_Count">气阀 4 触发次数</param>
/// <param name="StationNumber">站点号</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Get_Trig_Blow_4_Count_Net")]
public static extern short MCF_Sorting_Get_Trig_Blow_4_Count_Net(ref uint Trig_Blow_4_Count, ushort StationNumber = 0);
/// <summary>
/// 获取气阀 5 触发次数
/// </summary>
/// <param name="Trig_Blow_NG_Count">气阀 5 触发次数</param>
/// <param name="StationNumber">站点号</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Get_Trig_Blow_5_Count_Net")]
public static extern short MCF_Sorting_Get_Trig_Blow_5_Count_Net(ref uint Trig_Blow_5_Count, ushort StationNumber = 0);
/// <summary>
/// 获取气阀 6 触发次数
/// </summary>
/// <param name="Trig_Blow_NG_Count">气阀 6 触发次数</param>
/// <param name="StationNumber">站点号</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Get_Trig_Blow_6_Count_Net")]
public static extern short MCF_Sorting_Get_Trig_Blow_6_Count_Net(ref uint Trig_Blow_6_Count, ushort StationNumber = 0);
/********************************************************************************************************************************************************************
相机结果下发时,当前物料已经超出吹气触发位置的物料,会被判定为不成立, 不进行吹气,记录数据。
********************************************************************************************************************************************************************/
/// <summary>
///
/// </summary>
/// <param name="Lose_Blow_NG_Count"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Get_Lose_Blow_NG_Count_Net")]
public static extern short MCF_Sorting_Get_Lose_Blow_NG_Count_Net(ref uint Lose_Blow_NG_Count, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Get_Lose_Blow_OK_Count_Net")]
public static extern short MCF_Sorting_Get_Lose_Blow_OK_Count_Net(ref uint Lose_Blow_OK_Count, ushort StationNumber = 0);
/********************************************************************************************************************************************************************
0.6 吹气模式0用户综合所有相机结果后发送吹气指令
********************************************************************************************************************************************************************/
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Set_Trig_Blow_OK_Net")]
public static extern short MCF_Sorting_Set_Trig_Blow_OK_Net(uint Piece_Number, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Set_Trig_Blow_NG_Net")]
public static extern short MCF_Sorting_Set_Trig_Blow_NG_Net(uint Piece_Number, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Set_Trig_Blow_1_Net")]
public static extern short MCF_Sorting_Set_Trig_Blow_1_Net(uint Piece_Number, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Set_Trig_Blow_2_Net")]
public static extern short MCF_Sorting_Set_Trig_Blow_2_Net(uint Piece_Number, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Set_Trig_Blow_3_Net")]
public static extern short MCF_Sorting_Set_Trig_Blow_3_Net(uint Piece_Number, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Set_Trig_Blow_4_Net")]
public static extern short MCF_Sorting_Set_Trig_Blow_4_Net(uint Piece_Number, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Set_Trig_Blow_5_Net")]
public static extern short MCF_Sorting_Set_Trig_Blow_5_Net(uint Piece_Number, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Set_Trig_Blow_6_Net")]
public static extern short MCF_Sorting_Set_Trig_Blow_6_Net(uint Piece_Number, ushort StationNumber = 0);
/********************************************************************************************************************************************************************
0.7 吹气模式1用户直接发送每个相机结果控制卡自动综合结果后吹气
********************************************************************************************************************************************************************/
/// <summary>
/// 图像结果输出,打开此模式前,必须调用 MCF_Sorting_Set_Trig_Camera_Delay_Count_Net 设置触发相机拍照计数延时,
/// </summary>
/// <param name="Camera_Number"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
//
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Set_Camera_Result_OK_Net")]
public static extern short MCF_Sorting_Set_Camera_Result_OK_Net(ushort Camera_Number, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Set_Camera_Result_NG_Net")]
public static extern short MCF_Sorting_Set_Camera_Result_NG_Net(ushort Camera_Number, ushort StationNumber = 0);
/********************************************************************************************************************************************************************
0.8 吹气模式2用户不需要发送相机结果控制卡通过IO综合结果后吹气,全程通过硬件实现,可以直接替代PLC
********************************************************************************************************************************************************************/
/// <summary>
/// (0,500]
/// </summary>
/// <param name="Camera_Number"></param>
/// <param name="Wait_Time_MS"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Set_Camera_Result_Wait_Time_Net")]
public static extern short MCF_Sorting_Set_Camera_Result_Wait_Time_Net(ushort Camera_Number, double Wait_Time_MS, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Set_Camera_Result_Input_OK_Net")]
public static extern short MCF_Sorting_Set_Camera_Result_Input_OK_Net(ushort Camera_Number, ushort Input_Number, ushort Logic, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Sorting_Set_Camera_Result_Input_NG_Net")]
public static extern short MCF_Sorting_Set_Camera_Result_Input_NG_Net(ushort Camera_Number, ushort Input_Number, ushort Logic, ushort StationNumber = 0);
/********************************************************************************************************************************************************************
2 通用输入输出函数
********************************************************************************************************************************************************************/
/// <summary>
/// 2.1 通用IO全部输出函数 [OUT31,OUT0] [0,99]
/// </summary>
/// <param name="All_Output_Logic"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Set_Output_Net")]
public static extern short MCF_Set_Output_Net(uint All_Output_Logic, ushort StationNumber = 0);
/// <summary>
/// 读取通用数字 I/O 的输出信号
/// </summary>
/// <param name="All_Output_Logic">读取输出 DO00-DO31 电平状态</param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Output_Net")]
public static extern short MCF_Get_Output_Net(ref uint All_Output_Logic, ushort StationNumber = 0);
/// <summary>
/// 2.2 按位设置通用数字 I/O 的输出信号
/// </summary>
/// <param name="Bit_Output_Number">选择输出 IO 口位号 范围DO00-DO39</param>
/// <param name="Bit_Output_Logic">设置输出 IO 口电平</param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Set_Output_Bit_Net")]
public static extern short MCF_Set_Output_Bit_Net(ushort Bit_Output_Number, ushort Bit_Output_Logic, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Output_Bit_Net")]
public static extern short MCF_Get_Output_Bit_Net(ushort Bit_Output_Number, ref ushort Bit_Output_Logic, ushort StationNumber = 0);
/// <summary>
/// 2.3 通用IO输出复用按位输出保持时间函数 宏定义2.3.1 宏定义2.3.2 [0,65535] [0,99]
/// </summary>
/// <param name="Bit_Output_Number"></param>
/// <param name="Bit_Output_Logic"></param>
/// <param name="Output_Time_1MS"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Set_Output_Time_Bit_Net")]
public static extern short MCF_Set_Output_Time_Bit_Net(ushort Bit_Output_Number, ushort Bit_Output_Logic, ushort Output_Time_1MS, ushort StationNumber = 0);
/// <summary>
/// 通用IO输出复用按位置输出保持时间函数 宏定义2.3.1 [0,1000] [-2^31,(2^31-1)] [0,65535]
/// </summary>
/// <param name="Compare_Output_Number"></param>
/// <param name="Compare_Output_1MS"></param>
/// <param name="Compare_dDist"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Set_Compare_Output_Bit_Net")]
public static extern short MCF_Set_Compare_Output_Bit_Net(ushort Compare_Output_Number, ushort Compare_Output_1MS, ushort Compare_dDist, ushort StationNumber = 0);
/// <summary>
/// 2.4 读取通用数字 I/O 的输入信号
/// </summary>
/// <param name="All_Input_Logic1">返回输出 IO 口 DI00 - DI31 的电平状态</param>
/// <param name="All_Input_Logic2">返回输出 IO 口 DI32 - DI47 的电平状态</param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Input_Net")]
public static extern short MCF_Get_Input_Net(ref uint All_Input_Logic1, ref uint All_Input_Logic2, ushort StationNumber = 0);
/// <summary>
/// 2.5 通用IO按位输入函数 宏定义2.4.1 宏定义2.4.2 [0,99]
/// </summary>
/// <param name="Bit_Input_Number"></param>
/// <param name="Bit_Input_Logic"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Input_Bit_Net")]
public static extern short MCF_Get_Input_Bit_Net(ushort Bit_Input_Number, ref ushort Bit_Input_Logic, ushort StationNumber = 0);
/// <summary>
/// 2.6 通用IO按位输入下升沿高速捕获清除函数 [Bit_Input_0,Bit_Input_3] [0,99]
/// </summary>
/// <param name="Bit_Input_Number"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Clear_Input_Fall_Bit_Net")]
public static extern short MCF_Clear_Input_Fall_Bit_Net(ushort Bit_Input_Number, ushort StationNumber = 0);
/// <summary>
/// 2.7 通用IO按位输入下升沿高速捕获读取函数 [Bit_Input_0,Bit_Input_3] 宏定义2.7 [0,99]
/// </summary>
/// <param name="Bit_Input_Number"></param>
/// <param name="Bit_Input_Fall"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Input_Fall_Bit_Net")]
public static extern short MCF_Get_Input_Fall_Bit_Net(ushort Bit_Input_Number, ref ushort Bit_Input_Fall, ushort StationNumber = 0);
/// <summary>
/// 2.9 通用IO按位输入下升沿高速计数读取函数 [Bit_Input_0,Bit_Input_1] [0,(2^32-1)] 10个最新编码器锁存数据
/// </summary>
/// <param name="Bit_Input_Number"></param>
/// <param name="Input_Count_Fall"></param>
/// <param name="Lock_Data_Buffer"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>&Array[10] [0,99]
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Input_Fall_Count_Bit_Net")]
public static extern short MCF_Get_Input_Fall_Count_Bit_Net(ushort Bit_Input_Number, ref uint Input_Count_Fall, ref uint Lock_Data_Buffer, ushort StationNumber = 0);
/// <summary>
/// 2.10 通用IO按位输入数据锁存保持(最近10个下升沿数据)打开函数(必须在MCF_Open_Net前面提前调用)
/// </summary>
/// <param name="Lock_Mode"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Open_Input_Lock_Bit_Net")]
public static extern short MCF_Open_Input_Lock_Bit_Net(ushort Lock_Mode = 0, ushort StationNumber = 0);
//2.11 通用IO按位输入滤波函数 [Bit_Input_0,Bit_Input_1] [1,100]MS [0,99]
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Set_Input_Filter_Time_Bit_Net")]
public static extern short MCF_Set_Input_Filter_Time_Bit_Net(ushort Bit_Input_Number, uint Filter_Time_1MS, ushort StationNumber = 0);
/********************************************************************************************************************************************************************
3 轴专用输入输出函数
********************************************************************************************************************************************************************/
/// <summary>
/// 3.1 伺服使能设置函数
/// </summary>
/// <param name="Axis">指定轴号取值0-Axis_MAX</param>
/// <param name="Servo_Logic">伺服使能设置,取值范围:<see cref="XKRS.Common.Model.SolidMotionCard.ServoLogic"/></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Set_Servo_Enable_Net")]
public static extern short MCF_Set_Servo_Enable_Net(ushort Axis, ushort Servo_Logic, ushort StationNumber = 0);
/// <summary>
///
/// </summary>
/// <param name="Axis"></param>
/// <param name="Servo_Logic"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Servo_Enable_Net")]
public static extern short MCF_Get_Servo_Enable_Net(ushort Axis, ref ushort Servo_Logic, ushort StationNumber = 0);
/// <summary>
/// 3.2 设置伺服报警复位
/// </summary>
/// <param name="Axis">指定轴号取值0-Axis_MAX</param>
/// <param name="Alarm_Logic">设置复位电平,<see cref="XKRS.Common.Model.SolidMotionCard.AlarmLogic"/></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Set_Servo_Alarm_Reset_Net")]
public static extern short MCF_Set_Servo_Alarm_Reset_Net(ushort Axis, ushort Alarm_Logic, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Servo_Alarm_Reset_Net")]
public static extern short MCF_Get_Servo_Alarm_Reset_Net(ushort Axis, ref ushort Alarm_Logic, ushort StationNumber = 0);
/// <summary>
/// 3.3 伺服报警输入获取函数
/// </summary>
/// <param name="Axis"></param>
/// <param name="Servo_Alarm_State"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Servo_Alarm_Net")]
public static extern short MCF_Get_Servo_Alarm_Net(ushort Axis, ref ushort Servo_Alarm_State, ushort StationNumber = 0);
/// <summary>
/// 3.4 伺服定位完成输入获取函数 宏定义0.0 宏定义3.4 [0,99]
/// </summary>
/// <param name="Axis"></param>
/// <param name="Servo_INP_State"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Servo_INP_Net")]
public static extern short MCF_Get_Servo_INP_Net(ushort Axis, ref ushort Servo_INP_State, ushort StationNumber = 0);
/// <summary>
/// 3.5 编码器Z相输入获取函数 宏定义0.0 宏定义3.5 [0,99]
/// </summary>
/// <param name="Axis"></param>
/// <param name="Z_State"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Z_Net")]
public static extern short MCF_Get_Z_Net(ushort Axis, ref ushort Z_State, ushort StationNumber = 0);
/// <summary>
/// 3.6 原点输入获取函数 宏定义0.0 宏定义3.6 [0,99]
/// </summary>
/// <param name="Axis"></param>
/// <param name="Home_State"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Home_Net")]
public static extern short MCF_Get_Home_Net(ushort Axis, ref ushort Home_State, ushort StationNumber = 0);
/// <summary>
/// 3.7 正限位输入获取函数 宏定义0.0 宏定义3.7 [0,99]
/// </summary>
/// <param name="Axis"></param>
/// <param name="Positive_Limit_State"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Positive_Limit_Net")]
public static extern short MCF_Get_Positive_Limit_Net(ushort Axis, ref ushort Positive_Limit_State, ushort StationNumber = 0);
/// <summary>
/// 3.8 负限位输入获取函数 宏定义0.0 宏定义3.8 [0,99]
/// </summary>
/// <param name="Axis"></param>
/// <param name="Negative_Limit_State"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Negative_Limit_Net")]
public static extern short MCF_Get_Negative_Limit_Net(ushort Axis, ref ushort Negative_Limit_State, ushort StationNumber = 0);
/********************************************************************************************************************************************************************
4 轴设置函数
********************************************************************************************************************************************************************/
/// <summary>
/// 4.1 脉冲通道输出设置函数
/// </summary>
/// <param name="Axis">指定轴号取值0-Axis_MAX</param>
/// <param name="Pulse_Mode">设置脉冲输出模式,取值:<see cref="XKRS.Common.Model.SolidMotionCard.PulseMode"/></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Set_Pulse_Mode_Net")]
public static extern short MCF_Set_Pulse_Mode_Net(ushort Axis, uint Pulse_Mode, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Pulse_Mode_Net")]
public static extern short MCF_Get_Pulse_Mode_Net(ushort Axis, ref uint Pulse_Mode, ushort StationNumber = 0);
/// <summary>
/// 4.2 位置设置函数 宏定义0.0 [-2^31,(2^31-1)] [0,99]
/// </summary>
/// <param name="Axis"></param>
/// <param name="Position"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Set_Position_Net")]
public static extern short MCF_Set_Position_Net(ushort Axis, int Position, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Position_Net")]
public static extern short MCF_Get_Position_Net(ushort Axis, ref int Position, ushort StationNumber = 0);
/// <summary>
/// 4.3 编码器设置函数 宏定义0.0 [-2^31,(2^31-1)] [0,99]
/// </summary>
/// <param name="Axis"></param>
/// <param name="Encoder"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Set_Encoder_Net")]
public static extern short MCF_Set_Encoder_Net(ushort Axis, int Encoder, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Encoder_Net")]
public static extern short MCF_Get_Encoder_Net(ushort Axis, ref int Encoder, ushort StationNumber = 0);
/// <summary>
/// 4.4 读取实时命令速度和实际编码器速度
/// </summary>
/// <param name="Axis">指定轴号取值0-Axis_MAX</param>
/// <param name="Command_Vel">读取实时命令速度,单位:脉冲/s</param>
/// <param name="Encode_Vel">读取实时编码器速度,单位:脉冲/s</param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Vel_Net")]
public static extern short MCF_Get_Vel_Net(ushort Axis, ref double Command_Vel, ref double Encode_Vel, ushort StationNumber = 0);
/********************************************************************************************************************************************************************
5 轴硬件触发停止运动函数
********************************************************************************************************************************************************************/
/// <summary>
/// 5.1 5.1 通用IO输入复用做为紧急停止函数 宏定义2.4.1 宏定义5.1 [0,99]
/// </summary>
/// <param name="EMG_Input_Number"></param>
/// <param name="EMG_Mode"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Set_EMG_Bit_Net")]
public static extern short MCF_Set_EMG_Bit_Net(ushort EMG_Input_Number, ushort EMG_Mode, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Set_EMG_Output_Net")]
public static extern short MCF_Set_EMG_Output_Net(ushort EMG_Input_Number, ushort EMG_Mode, uint EMG_Output, ushort StationNumber = 0);
/// <summary>
/// 通用IO输入复用做为触发停止 [0,3] 宏定义0.0 [Bit_Input_0,Bit_Input_15] 宏定义5.4 [0,99]
/// </summary>
/// <param name="Channel"></param>
/// <param name="Axis"></param>
/// <param name="Bit_Input_Number"></param>
/// <param name="Trigger_Mode"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Set_Input_Trigger_Net")]
public static extern short MCF_Set_Input_Trigger_Net(ushort Channel, ushort Axis, ushort Bit_Input_Number, uint Trigger_Mode, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Input_Trigger_Net")]
public static extern short MCF_Get_Input_Trigger_Net(ushort Channel, ref ushort Axis, ref ushort Bit_Input_Number, ref uint Trigger_Mode, ushort StationNumber = 0);
/// <summary>
/// 5.2 软件限位触发运动停止函数 宏定义0.0 [-2^31,2^31]P > [-2^31,2^31]P [0,99]
/// </summary>
/// <param name="Axis"></param>
/// <param name="Positive_Position"></param>
/// <param name="Negative_Position"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Set_Soft_Limit_Net")]
public static extern short MCF_Set_Soft_Limit_Net(ushort Axis, int Positive_Position, int Negative_Position, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Soft_Limit_Net")]
public static extern short MCF_Get_Soft_Limit_Net(ushort Axis, ref int Positive_Position, ref int Negative_Position, ushort StationNumber = 0);
/// <summary>
/// 5.3 软件限位触发运动停止开关函数 宏定义0.0 宏定义5.3 [0,99]
/// </summary>
/// <param name="Axis"></param>
/// <param name="Soft_Limit_Enable"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Set_Soft_Limit_Enable_Net")]
public static extern short MCF_Set_Soft_Limit_Enable_Net(ushort Axis, uint Soft_Limit_Enable, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Soft_Limit_Enable_Net")]
public static extern short MCF_Get_Soft_Limit_Enable_Net(ushort Axis, ref uint Soft_Limit_Enable, ushort StationNumber = 0);
/// <summary>
/// 5.4 伺服报警触发运动停止函数 宏定义0.0 宏定义5.4 [0,99]
/// </summary>
/// <param name="Axis"></param>
/// <param name="Trigger_Mode"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Set_Alarm_Trigger_Net")]
public static extern short MCF_Set_Alarm_Trigger_Net(ushort Axis, uint Trigger_Mode, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Alarm_Trigger_Net")]
public static extern short MCF_Get_Alarm_Trigger_Net(ushort Axis, ref uint Trigger_Mode, ushort StationNumber = 0);
/// <summary>
/// 5.5 Index触发运动停止函数 宏定义0.0 宏定义5.4 [0,99]
/// </summary>
/// <param name="Axis"></param>
/// <param name="Trigger_Mode"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Set_Index_Trigger_Net")]
public static extern short MCF_Set_Index_Trigger_Net(ushort Axis, uint Trigger_Mode, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Index_Trigger_Net")]
public static extern short MCF_Get_Index_Trigger_Net(ushort Axis, ref uint Trigger_Mode, ushort StationNumber = 0);
/// <summary>
/// 5.6 原点触发运动停止函数 宏定义0.0 宏定义5.4 [0,99]
/// </summary>
/// <param name="Axis"></param>
/// <param name="Trigger_Mode"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Set_Home_Trigger_Net")]
public static extern short MCF_Set_Home_Trigger_Net(ushort Axis, uint Trigger_Mode, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Home_Trigger_Net")]
public static extern short MCF_Get_Home_Trigger_Net(ushort Axis, ref uint Trigger_Mode, ushort StationNumber = 0);
/// <summary>
/// 5.7 正限位触发运动停止函数 宏定义0.0 宏定义5.4 [0,99]
/// </summary>
/// <param name="Axis"></param>
/// <param name="Trigger_Mode"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Set_ELP_Trigger_Net")]
public static extern short MCF_Set_ELP_Trigger_Net(ushort Axis, uint Trigger_Mode, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_ELP_Trigger_Net")]
public static extern short MCF_Get_ELP_Trigger_Net(ushort Axis, ref uint Trigger_Mode, ushort StationNumber = 0);
/// <summary>
/// 5.8 负限位触发运动停止函数 宏定义0.0 宏定义5.4 [0,99]
/// </summary>
/// <param name="Axis"></param>
/// <param name="Trigger_Mode"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Set_ELN_Trigger_Net")]
public static extern short MCF_Set_ELN_Trigger_Net(ushort Axis, uint Trigger_Mode, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_ELN_Trigger_Net")]
public static extern short MCF_Get_ELN_Trigger_Net(ushort Axis, ref uint Trigger_Mode, ushort StationNumber = 0);
/// <summary>
/// 5.9 原点触发位置记录函数 宏定义0.0 [-2^31,(2^31-1)] [0,99]
/// </summary>
/// <param name="Axis"></param>
/// <param name="Position"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Home_Rise_Position_Net")]
public static extern short MCF_Get_Home_Rise_Position_Net(ushort Axis, ref int Position, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Home_Fall_Position_Net")]
public static extern short MCF_Get_Home_Fall_Position_Net(ushort Axis, ref int Position, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Home_Rise_Encoder_Net")]
public static extern short MCF_Get_Home_Rise_Encoder_Net(ushort Axis, ref int Encoder, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Home_Fall_Encoder_Net")]
public static extern short MCF_Get_Home_Fall_Encoder_Net(ushort Axis, ref int Encoder, ushort StationNumber = 0);
/// <summary>
/// 5.10 轴状态清除函数
/// </summary>
/// <param name="Axis">指定轴号取值0-Axis_MAX</param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Clear_Axis_State_Net")]
public static extern short MCF_Clear_Axis_State_Net(ushort Axis, ushort StationNumber = 0);
/// <summary>
/// 5.11 轴状态触发停止运动查询函数
/// </summary>
/// <param name="Axis">指定轴号取值0-Axis_MAX</param>
/// <param name="Reason">
/// <para>0 正常命令执行成功</para>
/// <para>1 正在执行 </para>
/// <para>2 EMG 立即紧急停止 </para>
/// <para>3 EMG 减速紧急停止 </para>
/// <para>4 ALM 立即停止 </para>
/// <para>5 ALM 减速停止 </para>
/// <para>6 伺服使能立即停止 </para>
/// <para>7 伺服使能减速停止 </para>
/// <para>8 指令编码器误差立即停止 </para>
/// <para>9 指令编码器误差减速停止 </para>
/// <para>10 Index 立即停止 </para>
/// <para>11 Index 减速停止 </para>
/// <para>12 原点立即停止 </para>
/// <para>13 原点减速停止 </para>
/// <para>14 正硬限位立即停止 </para>
/// <para>15 正硬限位减速停止 </para>
/// <para>16 负硬限位立即停止 </para>
/// <para>17 负硬限位减速停止 </para>
/// <para>18 正软限位立即停止 </para>
/// <para>19 正软限位减速停止 </para>
/// <para>20 负软限位立即停止 </para>
/// <para>21 负软限位减速停止 </para>
/// <para>22 命令立即停止 </para>
/// <para>23 命令减速停止 </para>
/// <para>24 其它原因立即停止 </para>
/// <para>25 其它原因减速停止 </para>
/// <para>26 未知原因立即停止 </para>
/// <para>27 未知原因减速停止 </para>
/// <para>28 外部 IO 减速停止</param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Axis_State_Net")]
public static extern short MCF_Get_Axis_State_Net(ushort Axis, ref short Reason, ushort StationNumber = 0);
/********************************************************************************************************************************************************************
6 轴回原点函数
********************************************************************************************************************************************************************/
/// <summary>
/// 6.1 设置回零参数 宏定义0.0 [1,35] 宏定义6.1.1 宏定义6.1.2 宏定义6.1.3 (0,10M]P/S (0,10M]P/S [-2^31,(2^31-1)] [0,99]
/// </summary>
/// <param name="Axis">设置轴号</param>
/// <param name="Search_Home_Mode">回零方式(参考回零方式<see cref="XKRS.Common.Model.GoHomeMode"/>取值1 ~ 35</param>
/// <param name="Limit_Logic">正负限位触发电平,参照<see cref="XKRS.Common.Model.SolidMotionCard.LimitLogic"/></param>
/// <param name="Home_Logic">原点限位触发电平,参照<see cref="XKRS.Common.Model.SolidMotionCard.HomeLogic"</param>
/// <param name="Index_Logic">Index 触发电平,参照<see cref="XKRS.Common.Model.SolidMotionCard.IndexLogic"</param>
/// <param name="H_dMaxV">高速段速度</param>
/// <param name="L_dMaxV">低速段速度</param>
/// <param name="Offset_Position">偏移位置:按回零模式图示箭头指示方向偏移</param>
/// <param name="Trigger_Source">捕捉位置模式0指令位置1编码器位置</param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Search_Home_Set_Net")]
public static extern short MCF_Search_Home_Set_Net(ushort Axis, ushort Search_Home_Mode, ushort Limit_Logic, ushort Home_Logic, ushort Index_Logic, double H_dMaxV, double L_dMaxV, int Offset_Position, ushort Trigger_Source, ushort StationNumber = 0);
/// <summary>
/// 6.2 设置回零启动 宏定义0.0 [0,99]
/// </summary>
/// <param name="Axis"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Search_Home_Start_Net")]
public static extern short MCF_Search_Home_Start_Net(ushort Axis, ushort StationNumber = 0);
/// <summary>
/// 6.3 设置回零停止 宏定义0.0 [0,99]
/// </summary>
/// <param name="Axis"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Search_Home_Stop_Net")]
public static extern short MCF_Search_Home_Stop_Net(ushort Axis, ushort StationNumber = 0);
/// <summary>
/// 6.4 获取回零状态
/// </summary>
/// <param name="Axis">设置轴号</param>
/// <param name="Home_State">回零状态,参照<see cref="XKRS.Common.Model.SolidMotionCard.SearchHomeState"/></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Search_Home_Get_State_Net")]
public static extern short MCF_Search_Home_Get_State_Net(ushort Axis, ref ushort Home_State, ushort StationNumber = 0);
/// <summary>
/// 6.5 设置回零缓停时间
/// </summary>
/// <param name="Axis">设置轴号</param>
/// <param name="Stop_Time">触发缓停时间; 范围 0 -1000ms默认急停
/// 注意:设置碰撞原点缓停时间,需要配合回零设置的高速段速度,和低速度速度的搭配。
/// 设置大了会出现过冲的现象,设置小了停止的时候会有抖动,需要调节时间,尽量设置找到原点时候在开关中间。</param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Search_Home_Stop_Time_Net")]
public static extern short MCF_Search_Home_Stop_Time_Net(ushort Axis, ushort Stop_Time, ushort StationNumber = 0);
/// <summary>
/// 6.6 设置回零完成后保持位置值 宏定义0.0 [0,99]
/// </summary>
/// <param name="Axis"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Search_Home_Keep_Position_Net")]
public static extern short MCF_Search_Home_Keep_Position_Net(ushort Axis, ushort StationNumber = 0);
/// <summary>
/// 6.7 设置回零完成后保持编码器值 宏定义0.0 [0,99]
/// </summary>
/// <param name="Axis"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Search_Home_Keep_Encoder_Net")]
public static extern short MCF_Search_Home_Keep_Encoder_Net(ushort Axis, ushort StationNumber = 0);
/// <summary>
/// 6.8 设置回零在零点位置离开速度 宏定义0.0 [0,99]
/// </summary>
/// <param name="Axis"></param>
/// <param name="M_dMaxV"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Search_Home_Leave_Vel_Net")]
public static extern short MCF_Search_Home_Leave_Vel_Net(ushort Axis, double M_dMaxV, ushort StationNumber = 0);
/********************************************************************************************************************************************************************
7 点位运动控制函数
********************************************************************************************************************************************************************/
/// <summary>
/// 7.1 速度控制函数 宏定义0.0 (0,10M]P/S (0,1T]P^2/S [0,99]
/// </summary>
/// <param name="Axis"></param>
/// <param name="dMaxV"></param>
/// <param name="dMaxA"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_JOG_Net")]
public static extern short MCF_JOG_Net(ushort Axis, double dMaxV, double dMaxA, ushort StationNumber = 0);
/// <summary>
/// 7.2 单轴运动位置改变函数 宏定义0.0 [-2^31,(2^31-1)] 宏定义0.3 [0,99]
/// </summary>
/// <param name="Axis"></param>
/// <param name="dDist"></param>
/// <param name="Position_Mode"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Uniaxial_dDist_Change_Net")]
public static extern short MCF_Uniaxial_dDist_Change_Net(ushort Axis, int dDist, ushort Position_Mode, ushort StationNumber = 0);
/// <summary>
/// 7.3 单轴运动速度改变函数 宏定义0.0 (0,10M]P/S [0,99]
/// </summary>
/// <param name="Axis"></param>
/// <param name="dMaxV"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Uniaxial_dMaxV_Change_Net")]
public static extern short MCF_Uniaxial_dMaxV_Change_Net(ushort Axis, double dMaxV, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Uniaxial_dMaxA_Change_Net")]
public static extern short MCF_Uniaxial_dMaxA_Change_Net(ushort Axis, double dMaxA, ushort StationNumber = 0);
/// <summary>
/// 7.4 单轴曲线函数
/// </summary>
/// <param name="Axis">指定轴号取值0-Axis_MAX</param>
/// <param name="dV_ini">设置单轴点动启动速度单位pulse/s取值dMaxV > dV_ini >= 0</param>
/// <param name="dMaxV">设置单轴点动目标速度, 单位pulse/s取值dMaxV > 0</param>
/// <param name="dMaxA">设置单轴点动加速度单位pulse/s*s取值dMaxA > 0</param>
/// <param name="dJerk">设置单轴点动加加速度单位pulse/s*s*s取值dJerk > 0</param>
/// <param name="dV_end">设置单轴点动终止速度单位pulse/s取值dMaxV > dV_end >= 0</param>
/// <param name="Profile">设置单轴点动曲线类型,取值:<see cref="XKRS.Common.Model.SolidMotionCard.Profile"/></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Set_Axis_Profile_Net")]
public static extern short MCF_Set_Axis_Profile_Net(ushort Axis, double dV_ini, double dMaxV, double dMaxA, double dJerk, double dV_end, ushort Profile, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Axis_Profile_Net")]
public static extern short MCF_Get_Axis_Profile_Net(ushort Axis, ref double dV_ini, ref double dMaxV, ref double dMaxA, ref double dJerk, ref double dV_end, ref ushort Profile, ushort StationNumber = 0);
/// <summary>
/// 单轴运动函数
/// </summary>
/// <param name="Axis">指定轴号取值0-Axis_MAX</param>
/// <param name="dDist">设置点动目标位置,单位:脉冲</param>
/// <param name="Position_Mode">设置坐标模式,取值:<see cref="XKRS.Common.Model.SolidMotionCard.PositionMode"/></param>
/// <param name="StationNumber">站号设置默认不填为0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Uniaxial_Net")]
public static extern short MCF_Uniaxial_Net(ushort Axis, int dDist, ushort Position_Mode, ushort StationNumber = 0);
/// <summary>
/// 7.6 单轴停止曲线函数 宏定义0.0 (0,1T]P^2/S (0,100T]P^3/S 宏定义0.4 [0,99]
/// </summary>
/// <param name="Axis"></param>
/// <param name="dMaxA"></param>
/// <param name="dJerk"></param>
/// <param name="Profile"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Set_Axis_Stop_Profile_Net")]
public static extern short MCF_Set_Axis_Stop_Profile_Net(ushort Axis, double dMaxA, double dJerk, ushort Profile, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Axis_Stop_Profile_Net")]
public static extern short MCF_Get_Axis_Stop_Profile_Net(ushort Axis, ref double dMaxA, ref double dJerk, ref ushort Profile, ushort StationNumber = 0);
/// <summary>
/// 7.7 轴停止函数 宏定义0.0 宏定义7.7 [0,99]
/// </summary>
/// <param name="Axis"></param>
/// <param name="Axis_Stop_Mode"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Axis_Stop_Net")]
public static extern short MCF_Axis_Stop_Net(ushort Axis, ushort Axis_Stop_Mode, ushort StationNumber = 0);
/// <summary>
/// 7.8 单轴运动改变周期函数 宏定义0.0 [1,1000]MS [0,99]
/// </summary>
/// <param name="Axis"></param>
/// <param name="Cycle"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Uniaxial_Cycle_Change_Net")]
public static extern short MCF_Uniaxial_Cycle_Change_Net(ushort Axis, ushort Cycle, ushort StationNumber = 0);
/********************************************************************************************************************************************************************
8 插补运动控制函数
********************************************************************************************************************************************************************/
/// <summary>
/// 8.1 坐标系曲线函数 宏定义0.1 [0,dMaxV] (0,10M]P/S (0,1T]P^2/S (0,100T]P^3/S [0,dMaxV] 宏定义0.4 [0,99]
/// </summary>
/// <param name="Coordinate"></param>
/// <param name="dV_ini"></param>
/// <param name="dMaxV"></param>
/// <param name="dMaxA"></param>
/// <param name="dJerk"></param>
/// <param name="dV_end"></param>
/// <param name="Profile"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Set_Coordinate_Profile_Net")]
public static extern short MCF_Set_Coordinate_Profile_Net(ushort Coordinate, double dV_ini, double dMaxV, double dMaxA, double dJerk, double dV_end, ushort Profile, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Coordinate_Profile_Net")]
public static extern short MCF_Get_Coordinate_Profile_Net(ushort Coordinate, ref double dV_ini, ref double dMaxV, ref double dMaxA, ref double dJerk, ref double dV_end, ref ushort Profile, ushort StationNumber = 0);
/// <summary>
/// 8.2 圆半径插补运动函数 宏定义0.1 宏定义0.0 [-2^31,(2^31-1)] [-2^31,(2^31-1)] 宏定义0.5 宏定义0.3 [0,99]
/// </summary>
/// <param name="Coordinate"></param>
/// <param name="Axis_List"></param>
/// <param name="dDist_List"></param>
/// <param name="Arc_Radius"></param>
/// <param name="Direction"></param>
/// <param name="Position_Mode"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Arc2_Radius_Net")]
public static extern short MCF_Arc2_Radius_Net(ushort Coordinate, ref ushort Axis_List, ref int dDist_List, int Arc_Radius, ushort Direction, ushort Position_Mode, ushort StationNumber = 0);
/// <summary>
/// 8.3 圆圆心插补运动函数 宏定义0.1 宏定义0.0 [-2^31,(2^31-1)] [-2^31,(2^31-1)] 宏定义0.5 宏定义0.3 [0,99]
/// </summary>
/// <param name="Coordinate"></param>
/// <param name="Axis_List"></param>
/// <param name="dDist_List"></param>
/// <param name="Center_List"></param>
/// <param name="Direction"></param>
/// <param name="Position_Mode"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Arc2_Centre_Net")]
public static extern short MCF_Arc2_Centre_Net(ushort Coordinate, ref ushort Axis_List, ref int dDist_List, ref int Center_List, ushort Direction, ushort Position_Mode, ushort StationNumber = 0);
/// <summary>
/// 8.4 直线插补运动函数 宏定义0.1 宏定义0.0 [-2^31,(2^31-1)] 宏定义0.3 [0,99]
/// </summary>
/// <param name="Coordinate"></param>
/// <param name="Axis_List"></param>
/// <param name="dDist_List"></param>
/// <param name="Position_Mode"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Line2_Net")]
public static extern short MCF_Line2_Net(ushort Coordinate, ref ushort Axis_List, ref int dDist_List, ushort Position_Mode, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Line3_Net")]
public static extern short MCF_Line3_Net(ushort Coordinate, ref ushort Axis_List, ref int dDist_List, ushort Position_Mode, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Line4_Net")]
public static extern short MCF_Line4_Net(ushort Coordinate, ref ushort Axis_List, ref int dDist_List, ushort Position_Mode, ushort StationNumber = 0);
/// <summary>
/// 8.5 坐标系停止曲线函数 宏定义0.1 (0,1T]P^2/S (0,100T]P^3/S 宏定义0.4
/// </summary>
/// <param name="Coordinate"></param>
/// <param name="dMaxA"></param>
/// <param name="dJerk"></param>
/// <param name="Profile"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Set_Coordinate_Stop_Profile_Net")]
public static extern short MCF_Set_Coordinate_Stop_Profile_Net(ushort Coordinate, double dMaxA, double dJerk, ushort Profile, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Coordinate_Stop_Profile_Net")]
public static extern short MCF_Get_Coordinate_Stop_Profile_Net(ushort Coordinate, ref double dMaxA, ref double dJerk, ref ushort Profile, ushort StationNumber = 0);
/// <summary>
/// 8.6 螺旋线圆半径插补运动函数 宏定义0.1 宏定义0.0 [-2^31,(2^31-1)] [-2^31,(2^31-1)] 宏定义0.5 宏定义0.3 [0,99]
/// </summary>
/// <param name="Coordinate"></param>
/// <param name="Axis_List"></param>
/// <param name="dDist_List"></param>
/// <param name="Arc_Radius"></param>
/// <param name="Direction"></param>
/// <param name="Position_Mode"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Screw3_Radius_Net")]
public static extern short MCF_Screw3_Radius_Net(ushort Coordinate, ref ushort Axis_List, ref int dDist_List, int Arc_Radius, ushort Direction, ushort Position_Mode, ushort StationNumber = 0);
/// <summary>
/// 8.7 螺旋线圆圆心插补运动函数 宏定义0.1 宏定义0.0 [-2^31,(2^31-1)] [-2^31,(2^31-1)] 宏定义0.5 宏定义0.3 [0,99]
/// </summary>
/// <param name="Coordinate"></param>
/// <param name="Axis_List"></param>
/// <param name="dDist_List"></param>
/// <param name="Center_List"></param>
/// <param name="Direction"></param>
/// <param name="Position_Mode"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Screw3_Centre_Net")]
public static extern short MCF_Screw3_Centre_Net(ushort Coordinate, ref ushort Axis_List, ref int dDist_List, ref int Center_List, ushort Direction, ushort Position_Mode, ushort StationNumber = 0);
/// <summary>
/// 8.8 坐标系停止函数 宏定义0.1 宏定义5.6 [0,99]
/// </summary>
/// <param name="Coordinate"></param>
/// <param name="Coordinate_Stop_Mode"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Coordinate_Stop_Net")]
public static extern short MCF_Coordinate_Stop_Net(ushort Coordinate, ushort Coordinate_Stop_Mode, ushort StationNumber = 0);
/********************************************************************************************************************************************************************
9 缓冲区函数
********************************************************************************************************************************************************************/
/// <summary>
/// 9.1 缓冲区停止曲线函数 宏定义0.2 (0,1T]P^2/S (0,100T]P^3/S 宏定义0.4 [0,99]
/// </summary>
/// <param name="Buffer_Number"></param>
/// <param name="dMaxA"></param>
/// <param name="dJerk"></param>
/// <param name="Profile"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Buffer_Set_Stop_Profile_Net")]
public static extern short MCF_Buffer_Set_Stop_Profile_Net(ushort Buffer_Number, double dMaxA, double dJerk, ushort Profile, ushort StationNumber = 0);
/// <summary>
/// 9.2 缓冲区停止函数 宏定义0.2 宏定义9.2 [0,99]
/// </summary>
/// <param name="Buffer_Number"></param>
/// <param name="Buffer_Stop_Mode"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Buffer_Stop_Net")]
public static extern short MCF_Buffer_Stop_Net(ushort Buffer_Number, ushort Buffer_Stop_Mode, ushort StationNumber = 0);
/// <summary>
/// 9.3 缓冲区在线改变速度倍率 宏定义0.2 (0,10] [0,99]
/// </summary>
/// <param name="Buffer_Number"></param>
/// <param name="Velocity_Ratio"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Buffer_Change_Velocity_Ratio_Net")]
public static extern short MCF_Buffer_Change_Velocity_Ratio_Net(ushort Buffer_Number, double Velocity_Ratio, ushort StationNumber = 0);
/// <summary>
/// 9.4 缓冲区建立开始函数 宏定义0.2 [0,99]
/// </summary>
/// <param name="Buffer_Number"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Buffer_Start_Net")]
public static extern short MCF_Buffer_Start_Net(ushort Buffer_Number, ushort StationNumber = 0);
/// <summary>
/// 9.5 缓冲区速度倍率 宏定义0.2 宏定义9.5 [0,99]
/// </summary>
/// <param name="Buffer_Number"></param>
/// <param name="Velocity_Ratio_Enable"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Buffer_Set_Velocity_Ratio_Enable_Net")]
public static extern short MCF_Buffer_Set_Velocity_Ratio_Enable_Net(ushort Buffer_Number, ushort Velocity_Ratio_Enable = 0, ushort StationNumber = 0);
/// <summary>
/// 9.6 缓冲区前瞻处理降速比 宏定义0.2 (0,1] [0,99]
/// </summary>
/// <param name="Buffer_Number"></param>
/// <param name="Reduce_Ratio"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Buffer_Set_Reduce_Ratio_Net")]
public static extern short MCF_Buffer_Set_Reduce_Ratio_Net(ushort Buffer_Number, double Reduce_Ratio = 1.0, ushort StationNumber = 0);
/// <summary>
/// 9.7 缓冲区曲线函数 宏定义0.2 [0,dMaxV] (0,10M]P/S (0,1T]P^2/S (0,100T]P^3/S [0,dMaxV] 宏定义0.4 [0,99]
/// </summary>
/// <param name="Buffer_Number"></param>
/// <param name="dV_ini"></param>
/// <param name="dMaxV"></param>
/// <param name="dMaxA"></param>
/// <param name="dJerk"></param>
/// <param name="dV_end"></param>
/// <param name="Profile"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Buffer_Set_Profile_Net")]
public static extern short MCF_Buffer_Set_Profile_Net(ushort Buffer_Number, double dV_ini, double dMaxV, double dMaxA, double dJerk, double dV_end, ushort Profile, ushort StationNumber = 0);
/// <summary>
/// 9.8 缓冲区单轴运动 宏定义0.2 宏定义0.0 [-2^31,(2^31-1)] 宏定义0.3 [0,99]
/// </summary>
/// <param name="Buffer_Number"></param>
/// <param name="Axis"></param>
/// <param name="dDist"></param>
/// <param name="Position_Mode"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Buffer_Uniaxial_Net")]
public static extern short MCF_Buffer_Uniaxial_Net(ushort Buffer_Number, ushort Axis, int dDist, ushort Position_Mode, ushort StationNumber = 0);
/// <summary>
/// 缓冲区单轴运动距离同步跟随函数
/// </summary>
/// <param name="Buffer_Number"></param>
/// <param name="Axis"></param>
/// <param name="dDist"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Buffer_Sync_Follow_Net")]
public static extern short MCF_Buffer_Sync_Follow_Net(ushort Buffer_Number, ushort Axis, int dDist, ushort StationNumber = 0);
/// <summary>
/// 9.9 缓冲区直线插补运动 宏定义0.2 宏定义0.0 [-2^31,(2^31-1)] 宏定义0.3 [0,99]
/// </summary>
/// <param name="Buffer_Number"></param>
/// <param name="Axis_List"></param>
/// <param name="dDist_List"></param>
/// <param name="Position_Mode"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Buffer_Line2_Net")]
public static extern short MCF_Buffer_Line2_Net(ushort Buffer_Number, ref ushort Axis_List, ref int dDist_List, ushort Position_Mode, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Buffer_Line3_Net")]
public static extern short MCF_Buffer_Line3_Net(ushort Buffer_Number, ref ushort Axis_List, ref int dDist_List, ushort Position_Mode, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Buffer_Line4_Net")]
public static extern short MCF_Buffer_Line4_Net(ushort Buffer_Number, ref ushort Axis_List, ref int dDist_List, ushort Position_Mode, ushort StationNumber = 0);
/// <summary>
/// 9.10 缓冲区平面圆半径插补运动函数 宏定义0.2 宏定义0.0 [-2^31,(2^31-1)] [-2^31,(2^31-1)] 宏定义0.5 宏定义0.3 [0,99]
/// </summary>
/// <param name="Buffer_Number"></param>
/// <param name="Axis_List"></param>
/// <param name="dDist_List"></param>
/// <param name="Arc_Radius"></param>
/// <param name="Direction"></param>
/// <param name="Position_Mode"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Buffer_Arc_Radius_Net")]
public static extern short MCF_Buffer_Arc_Radius_Net(ushort Buffer_Number, ref ushort Axis_List, ref int dDist_List, int Arc_Radius, ushort Direction, ushort Position_Mode, ushort StationNumber = 0);
/// <summary>
/// 9.11 缓冲区平面圆圆心插补运动函数 宏定义0.2 宏定义0.0 [-2^31,(2^31-1)] [-2^31,(2^31-1)] 宏定义0.5 宏定义0.3 [0,99]
/// </summary>
/// <param name="Buffer_Number"></param>
/// <param name="Axis_List"></param>
/// <param name="dDist_List"></param>
/// <param name="Center_List"></param>
/// <param name="Direction"></param>
/// <param name="Position_Mode"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Buffer_Arc_Centre_Net")]
public static extern short MCF_Buffer_Arc_Centre_Net(ushort Buffer_Number, ref ushort Axis_List, ref int dDist_List, ref int Center_List, ushort Direction, ushort Position_Mode, ushort StationNumber = 0);
/// <summary>
/// 9.12 缓冲区延时函数 宏定义0.2 [0,2^31-1] [0,99]
/// </summary>
/// <param name="Buffer_Number"></param>
/// <param name="number"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Buffer_Delay_Net")]
public static extern short MCF_Buffer_Delay_Net(ushort Buffer_Number, uint number, ushort StationNumber = 0);
/// <summary>
/// 9.13 缓冲区IO输出函数 宏定义0.2 宏定义2.3.1 宏定义2.3.2 [0,99]
/// </summary>
/// <param name="Buffer_Number"></param>
/// <param name="Bit_Number"></param>
/// <param name="output"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Buffer_Set_Output_Bit_Net")]
public static extern short MCF_Buffer_Set_Output_Bit_Net(ushort Buffer_Number, ushort Bit_Number, ushort output, ushort StationNumber = 0);
/// <summary>
/// 9.14 缓冲区IO等待函数 宏定义0.2 宏定义2.4.1 宏定义2.4.2 (0,2^15-1] [0,99]
/// </summary>
/// <param name="Buffer_Number"></param>
/// <param name="Bit_Number"></param>
/// <param name="Logic"></param>
/// <param name="Time_Out"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Buffer_Wait_Input_Bit_Net")]
public static extern short MCF_Buffer_Wait_Input_Bit_Net(ushort Buffer_Number, ushort Bit_Number, ushort Logic, ushort Time_Out, ushort StationNumber = 0);
/// <summary>
/// 9.15 缓冲区建立结束 宏定义0.2 [0,99]
/// </summary>
/// <param name="Buffer_Number"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Buffer_End_Net")]
public static extern short MCF_Buffer_End_Net(ushort Buffer_Number, ushort StationNumber = 0);
/// <summary>
/// 9.16 缓冲区执行函数 宏定义0.2 宏定义9.16 [0,99]
/// </summary>
/// <param name="Buffer_Number"></param>
/// <param name="Execute_Mode"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Buffer_Execute_Net")]
public static extern short MCF_Buffer_Execute_Net(ushort Buffer_Number, ushort Execute_Mode, ushort StationNumber = 0);
/// <summary>
/// 9.17 缓冲区断点启动函数 宏定义0.2 [0,99]
/// </summary>
/// <param name="Buffer_Number"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Buffer_Execute_BreakPoint_Net")]
public static extern short MCF_Buffer_Execute_BreakPoint_Net(ushort Buffer_Number, ushort StationNumber = 0);
/// <summary>
/// 9.18 缓冲区状态查询函数 宏定义0.2 MC_Retrun.h{0,29,30} [0,2^15-1]
/// </summary>
/// <param name="Buffer_Number"></param>
/// <param name="Execute_State"></param>
/// <param name="Execute_Number"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Buffer_Get_State_Net")]
public static extern short MCF_Buffer_Get_State_Net(ushort Buffer_Number, ref ushort Execute_State, ref ushort Execute_Number, ushort StationNumber = 0);
/// <summary>
/// 9.19 缓冲区剩余可插入指令空间百分比查询 宏定义0.2 [0,100]
/// </summary>
/// <param name="Buffer_Number"></param>
/// <param name="Remainder_Space_Ratio"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Buffer_Get_Remainder_Space_Net")]
public static extern short MCF_Buffer_Get_Remainder_Space_Net(ushort Buffer_Number, ref ushort Remainder_Space_Ratio, ushort StationNumber = 0);
/// <summary>
/// 9.20 缓冲区开始插入(建议查询到剩余有一半以上空间) 宏定义0.2 [0,99]
/// </summary>
/// <param name="Buffer_Number"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Buffer_Insert_Start_Net")]
public static extern short MCF_Buffer_Insert_Start_Net(ushort Buffer_Number, ushort StationNumber = 0);
/// <summary>
/// 9.22 缓冲区结束插入 宏定义0.2 [0,99]
/// </summary>
/// <param name="Buffer_Number"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Buffer_Insert_End_Net")]
public static extern short MCF_Buffer_Insert_End_Net(ushort Buffer_Number, ushort StationNumber = 0);
/// <summary>
/// 9.23 计算加入指令所占用的空间百分比 宏定义0.2 [0,100] [0,99]
/// </summary>
/// <param name="Buffer_Number"></param>
/// <param name="Occupy_Space_Ratio"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
// 在MCF_Buffer_Start_Net或者MCF_Buffer_Insert_Start_Net后开始从0计算
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Buffer_Count_Occupy_Space_Net")]
public static extern short MCF_Buffer_Count_Occupy_Space_Net(ushort Buffer_Number, ref ushort Occupy_Space_Ratio, ushort StationNumber = 0);
/********************************************************************************************************************************************************************
10 示波器10K采样频率数据捕捉函数
********************************************************************************************************************************************************************/
/// <summary>
/// 10.1 数据捕捉打开/关闭函数(必须在MCF_Open_Net前面提前调用,而且只支持一个运动控制卡)
/// </summary>
/// <param name="Capture_Mode"></param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Capture_Open_Net")]
public static extern short MCF_Capture_Open_Net(ushort Capture_Mode = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Capture_Close_Net")]
public static extern short MCF_Capture_Close_Net();
/// <summary>
/// 10.2 数据捕捉检查数据更新函数 宏定义10.2
/// </summary>
/// <param name="Capture_State"></param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Capture_State_Net")]
public static extern short MCF_Capture_State_Net(ref ushort Capture_State);
/// <summary>
/// 10.3 读取采样连续的1000个位置命令数据 宏定义0.0
/// </summary>
/// <param name="Axis"></param>
/// <param name="Command"></param>
/// <returns></returns>&Array[1000]
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Capture_Read_Command_Net")]
public static extern short MCF_Capture_Read_Command_Net(ushort Axis, ref int Command);
/// <summary>
/// [100,250,500,1000]
/// </summary>
/// <param name="Axis"></param>
/// <param name="Number"></param>
/// <param name="Command"></param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Capture_Read_Command_Custom_Net")]
public static extern short MCF_Capture_Read_Command_Custom_Net(ushort Axis, int Number, ref int Command);
/// <summary>
/// 10.4 读取采样连续的1000个编码器数据 宏定义0.0
/// </summary>
/// <param name="Axis"></param>
/// <param name="Encoder"></param>
/// <returns></returns>&Array[1000]
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Capture_Read_Encoder_Net")]
public static extern short MCF_Capture_Read_Encoder_Net(ushort Axis, ref int Encoder);
/// <summary>
/// [100,250,500,1000]
/// </summary>
/// <param name="Axis"></param>
/// <param name="Number"></param>
/// <param name="Encoder"></param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Capture_Read_Encoder_Custom_Net")]
public static extern short MCF_Capture_Read_Encoder_Custom_Net(ushort Axis, int Number, ref int Encoder);
/// <summary>
/// 10.5 读取采样连续的1000个模拟量数据 宏定义0.0
/// </summary>
/// <param name="Axis"></param>
/// <param name="AD"></param>
/// <returns></returns>&Array[1000]
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Capture_Read_AD_Net")]
public static extern short MCF_Capture_Read_AD_Net(ushort Axis, ref int AD);
/// <summary>
/// [100,250,500,1000]
/// </summary>
/// <param name="Axis"></param>
/// <param name="Number"></param>
/// <param name="AD"></param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Capture_Read_AD_Custom_Net")]
public static extern short MCF_Capture_Read_AD_Custom_Net(ushort Axis, int Number, ref int AD);
/// <summary>
/// 10.6 ADC采样滤波 宏定义0.0 [0,1]
/// </summary>
/// <param name="Axis"></param>
/// <param name="Filter_Coefficient"></param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Capture_Filter_AD_Net")]
public static extern short MCF_Capture_Filter_AD_Net(ushort Axis, double Filter_Coefficient = 1);
/// <summary>
/// 10.7 数据捕捉频率设置 宏定义10.7
/// </summary>
/// <param name="Capture_Frequency"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Capture_Frequency_Net")]
public static extern short MCF_Capture_Frequency_Net(ushort Capture_Frequency = 1, ushort StationNumber = 0);
/********************************************************************************************************************************************************************
11 电子齿轮控制函数
********************************************************************************************************************************************************************/
/// <summary>
/// 11.1 电子齿轮设置函数 宏定义0.0 宏定义0.0 (0,(2^31-1)] (0,(2^31-1)] 宏定义11.1.1 宏定义11.1.2 [0,99]
/// </summary>
/// <param name="Axis"></param>
/// <param name="Follow_Axis"></param>
/// <param name="Denominator"></param>
/// <param name="Molecule"></param>
/// <param name="Follow_Source"></param>
/// <param name="Dir"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Set_Gear_Net")]
public static extern short MCF_Set_Gear_Net(ushort Axis, ushort Follow_Axis, uint Denominator, uint Molecule, ushort Follow_Source, ushort Dir, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Gear_Net")]
public static extern short MCF_Get_Gear_Net(ushort Axis, ref ushort Follow_Axis, ref uint Denominator, ref uint Molecule, ref ushort Follow_Source, ref ushort Dir, ushort StationNumber = 0);
/// <summary>
/// 11.2 电子齿轮开关函数 宏定义0.0 宏定义11.2 [0,99]
/// </summary>
/// <param name="Axis"></param>
/// <param name="Gear_Enable"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Set_Gear_Enable_Net")]
public static extern short MCF_Set_Gear_Enable_Net(ushort Axis, ushort Gear_Enable, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Gear_Enable_Net")]
public static extern short MCF_Get_Gear_Enable_Net(ushort Axis, ref ushort Gear_Enable, ushort StationNumber = 0);
/// <summary>
/// 11.3 电子齿轮运动距离后自动关闭 宏定义0.0 [-2^31,(2^31-1)] [0,99]
/// </summary>
/// <param name="Axis"></param>
/// <param name="dDist"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Set_Gear_Auto_Disable_Net")]
public static extern short MCF_Set_Gear_Auto_Disable_Net(ushort Axis, int dDist, ushort StationNumber = 0);
/********************************************************************************************************************************************************************
12 位置比较输出函数
********************************************************************************************************************************************************************/
/// <summary>
/// 12.1 设置一维位置比较器 宏定义0.0
/// </summary>
/// <param name="Axis"></param>
/// <param name="Enable"></param>
/// <param name="Compare_Source"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Set_Compare_Config_Net")]
public static extern short MCF_Set_Compare_Config_Net(ushort Axis, ushort Enable, ushort Compare_Source, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Compare_Config_Net")]
public static extern short MCF_Get_Compare_Config_Net(ushort Axis, ref ushort Enable, ref ushort Compare_Source, ushort StationNumber = 0);
/// <summary>
/// 12.2 清除一维位置所有/当前比较点/关闭任意点 宏定义0.0
/// </summary>
/// <param name="Axis"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Clear_Compare_Points_Net")]
public static extern short MCF_Clear_Compare_Points_Net(ushort Axis, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Clear_Compare_Current_Points_Net")]
public static extern short MCF_Clear_Compare_Current_Points_Net(ushort Axis, ushort StationNumber = 0);
/// <summary>
/// 按照 MCF_Add_Compare_Point_Net 数据累加计算 宏定义0.0 [1,(2^31-1)}
/// </summary>
/// <param name="Axis"></param>
/// <param name="Point_Number"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Disable_Compare_Any_Points_Net")]
public static extern short MCF_Disable_Compare_Any_Points_Net(ushort Axis, uint Point_Number, ushort StationNumber = 0);
/// <summary>
/// 12.3 添加一维位置比较点 宏定义0.0
/// </summary>
/// <param name="Axis"></param>
/// <param name="Position"></param>
/// <param name="Dir"></param>
/// <param name="Action"></param>
/// <param name="Actpara"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Add_Compare_Point_Net")]
public static extern short MCF_Add_Compare_Point_Net(ushort Axis, int Position, ushort Dir, ushort Action, ushort Actpara, ushort StationNumber = 0);
/// <summary>
/// 12.4 读取当前一维比较点位置 宏定义0.0
/// </summary>
/// <param name="Axis"></param>
/// <param name="Position"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Compare_Current_Point_Net")]
public static extern short MCF_Get_Compare_Current_Point_Net(ushort Axis, ref int Position, ushort StationNumber = 0);
/// <summary>
/// 12.5 查询已经比较过的一维比较点个数(注意数据溢出) 宏定义0.0 [0,256]
/// </summary>
/// <param name="Axis"></param>
/// <param name="Point_Number"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Compare_Points_Runned_Net")]
public static extern short MCF_Get_Compare_Points_Runned_Net(ushort Axis, ref ushort Point_Number, ushort StationNumber = 0);
/// <summary>
/// 12.6 查询可以加入的一维比较点个数 宏定义0.0 [0,256]
/// </summary>
/// <param name="Axis"></param>
/// <param name="Point_Number"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Compare_Points_Remained_Net")]
public static extern short MCF_Get_Compare_Points_Remained_Net(ushort Axis, ref ushort Point_Number, ushort StationNumber = 0);
/// <summary>
/// 12.7 查询所有未完成一维比较点个数和位置 宏定义0.0
/// </summary>
/// <param name="Axis"></param>
/// <param name="Incomplete_Number"></param>
/// <param name="Incomplete_Position"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Compare_Points_Incomplete_Net")]
public static extern short MCF_Get_Compare_Points_Incomplete_Net(ushort Axis, ref ushort Incomplete_Number, ref int Incomplete_Position, ushort StationNumber = 0);
/********************************************************************************************************************************************************************
13 PWM输出函数
********************************************************************************************************************************************************************/
/// <summary>
/// 13.1 设置PWM输出参数 宏定义13.1.1 宏定义13.1.2 宏定义13.1.3
/// </summary>
/// <param name="Channel"></param>
/// <param name="Enable"></param>
/// <param name="Output_Port_Config"></param>
/// <param name="Output_Start_Logic"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Set_Pwm_Config_Net")]
public static extern short MCF_Set_Pwm_Config_Net(ushort Channel, ushort Enable, ushort Output_Port_Config, ushort Output_Start_Logic, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Pwm_Config_Net")]
public static extern short MCF_Get_Pwm_Config_Net(ushort Channel, ref ushort Enable, ref ushort Output_Port_Config, ref ushort Output_Start_Logic, ushort StationNumber = 0);
/// <summary>
/// 13.2 输出PWM信号 宏定义13.1.1 [0,1000000] [0,100] (0,(2^31-1)]
/// </summary>
/// <param name="Channel"></param>
/// <param name="Frequency"></param>
/// <param name="DutyCycle"></param>
/// <param name="Pwm_Number"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Set_Pwm_Output_Net")]
public static extern short MCF_Set_Pwm_Output_Net(ushort Channel, uint Frequency, uint DutyCycle, uint Pwm_Number, ushort StationNumber = 0);
/// <summary>
/// 13.3 PWM完成信号 宏定义13.1.1 宏定义13.3.1
/// </summary>
/// <param name="Channel"></param>
/// <param name="Finish"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Pwm_State_Net")]
public static extern short MCF_Get_Pwm_State_Net(ushort Channel, ref ushort Finish, ushort StationNumber = 0);
/********************************************************************************************************************************************************************
14 手轮函数
********************************************************************************************************************************************************************/
/// <summary>
/// 14.1 开启手轮功能 宏定义11.1.2
/// </summary>
/// <param name="Dir"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Hand_Wheel_Open_Net")]
public static extern short MCF_Hand_Wheel_Open_Net(ushort Dir, ushort StationNumber = 0);
/// <summary>
/// 14.2 关闭手轮功能
/// </summary>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Hand_Wheel_Close_Net")]
public static extern short MCF_Hand_Wheel_Close_Net(ushort StationNumber = 0);
/// <summary>
/// 14.3 设置硬件手轮编码器通道 宏定义0.0
/// </summary>
/// <param name="Axis"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Hand_Wheel_Config_Encoder_Net")]
public static extern short MCF_Hand_Wheel_Config_Encoder_Net(ushort Axis, ushort StationNumber = 0);
/// <summary>
/// 14.4 设置硬件手轮速率配置输入点 宏定义2.4.1
/// </summary>
/// <param name="Bit_Input_Number"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Hand_Wheel_Config_X1_Net")]
public static extern short MCF_Hand_Wheel_Config_X1_Net(ushort Bit_Input_Number, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Hand_Wheel_Config_X10_Net")]
public static extern short MCF_Hand_Wheel_Config_X10_Net(ushort Bit_Input_Number, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Hand_Wheel_Config_X100_Net")]
public static extern short MCF_Hand_Wheel_Config_X100_Net(ushort Bit_Input_Number, ushort StationNumber = 0);
/// <summary>
/// 设置硬件手轮速率大小 [1,100]
/// </summary>
/// <param name="Speed_X"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Hand_Wheel_Speed_X1_Net")]
public static extern short MCF_Hand_Wheel_Speed_X1_Net(ushort Speed_X = 1, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Hand_Wheel_Speed_X10_Net")]
public static extern short MCF_Hand_Wheel_Speed_X10_Net(ushort Speed_X = 10, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Hand_Wheel_Speed_X100_Net")]
public static extern short MCF_Hand_Wheel_Speed_X100_Net(ushort Speed_X = 100, ushort StationNumber = 0);
/// <summary>
/// 14.4 设置硬件手轮轴号配置输入点 宏定义0.0 宏定义2.4.1
/// </summary>
/// <param name="Axis"></param>
/// <param name="Bit_Input_Number"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Hand_Wheel_Config_Axis_Net")]
public static extern short MCF_Hand_Wheel_Config_Axis_Net(ushort Axis, ushort Bit_Input_Number, ushort StationNumber = 0);
/// <summary>
/// 14.5 设置手轮运动平滑滤波时间 宏定义0.0 [1,1000]MS
/// </summary>
/// <param name="Axis"></param>
/// <param name="Filter_Time_1MS"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Hand_Wheel_Config_Filter_Time_Net")]
public static extern short MCF_Hand_Wheel_Config_Filter_Time_Net(ushort Axis, uint Filter_Time_1MS, ushort StationNumber = 0);
/********************************************************************************************************************************************************************
15 模拟量输入输出函数
********************************************************************************************************************************************************************/
/// <summary>
/// 15.1 读取单次ADC采样 宏定义0.0 [-2^15,(2^15-1)]
/// </summary>
/// <param name="Channel"></param>
/// <param name="AD"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Single_Read_AD_Net")]
public static extern short MCF_Single_Read_AD_Net(ushort Channel, ref short AD, ushort StationNumber = 0);
/// <summary>
/// 15.2 读取单次DAC输出 宏定义0.0 [-2^15,(2^15-1)]
/// </summary>
/// <param name="Channel"></param>
/// <param name="DA"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Single_Write_DA_Net")]
public static extern short MCF_Single_Write_DA_Net(ushort Channel, short DA, ushort StationNumber = 0);
/// <summary>
/// 15.3 设置AD双向比较器停止对应轴
/// </summary>
/// <param name="Channel"></param>
/// <param name="AD_Compare"></param>
/// <param name="Stop_Axis"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Set_AD_Compare_Net")]
public static extern short MCF_Set_AD_Compare_Net(ushort Channel, short AD_Compare, ushort Stop_Axis, ushort StationNumber = 0);
/// <summary>
/// 15.4 设置AD触发数值 [0,7]
/// </summary>
/// <param name="Channel"></param>
/// <param name="AD_Capture"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Set_AD_Capture_Net")]
public static extern short MCF_Set_AD_Capture_Net(ushort Channel, short AD_Capture, ushort StationNumber = 0);
/// <summary>
/// 0保持不变 1清除复位
/// </summary>
/// <param name="C_1"></param>
/// <param name="C_2"></param>
/// <param name="C_3"></param>
/// <param name="C_4"></param>
/// <param name="C_5"></param>
/// <param name="C_6"></param>
/// <param name="C_7"></param>
/// <param name="C_8"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Clear_AD_Capture_Net")]
public static extern short MCF_Clear_AD_Capture_Net(ushort C_1, ushort C_2, ushort C_3, ushort C_4, ushort C_5, ushort C_6, ushort C_7, ushort C_8, ushort StationNumber = 0);
/// <summary>
/// 读取到达设置AD值捕获到的对应通道的AD值和轴X位置
/// </summary>
/// <param name="AD_5"></param>
/// <param name="Position_1"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Capture_AD_1_Net")]
public static extern short MCF_Get_Capture_AD_1_Net(ref short AD_5, ref int Position_1, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Capture_AD_2_Net")]
public static extern short MCF_Get_Capture_AD_2_Net(ref short AD_6, ref int Position_1, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Capture_AD_3_Net")]
public static extern short MCF_Get_Capture_AD_3_Net(ref short AD_7, ref int Position_1, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Capture_AD_4_Net")]
public static extern short MCF_Get_Capture_AD_4_Net(ref short AD_8, ref int Position_1, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Capture_AD_5_Net")]
public static extern short MCF_Get_Capture_AD_5_Net(ref short AD_1, ref int Position_1, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Capture_AD_6_Net")]
public static extern short MCF_Get_Capture_AD_6_Net(ref short AD_2, ref int Position_1, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Capture_AD_7_Net")]
public static extern short MCF_Get_Capture_AD_7_Net(ref short AD_3, ref int Position_1, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Capture_AD_8_Net")]
public static extern short MCF_Get_Capture_AD_8_Net(ref short AD_4, ref int Position_1, ushort StationNumber = 0);
/// <summary>
/// 15.5 设置触发位置数值 [0,7]
/// </summary>
/// <param name="Channel"></param>
/// <param name="Position_1"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Set_Position_Capture_AD_Net")]
public static extern short MCF_Set_Position_Capture_AD_Net(ushort Channel, int Position_1, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Position_Capture_AD_Net")]
public static extern short MCF_Get_Position_Capture_AD_Net(ushort Channel, ref short AD, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Clear_Position_Capture_AD_Net")]
public static extern short MCF_Clear_Position_Capture_AD_Net(ushort C_1, ushort C_2, ushort C_3, ushort C_4, ushort C_5, ushort C_6, ushort C_7, ushort C_8, ushort StationNumber = 0);
/// <summary>
/// 15.6 获取AD最大值 [0,7]
/// </summary>
/// <param name="Channel"></param>
/// <param name="MAX_AD"></param>
/// <param name="MIN_AD"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Limit_AD_Net")]
public static extern short MCF_Get_Limit_AD_Net(ushort Channel, ref short MAX_AD, ref short MIN_AD, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Clear_Limit_AD_Net")]
public static extern short MCF_Clear_Limit_AD_Net(ushort C_1, ushort C_2, ushort C_3, ushort C_4, ushort C_5, ushort C_6, ushort C_7, ushort C_8, ushort StationNumber = 0);
/********************************************************************************************************************************************************************
16 系统函数
********************************************************************************************************************************************************************/
/// <summary>
/// 16.1 模块版本号 [0x00000000,0xFFFFFFFF] [0,99]
/// </summary>
/// <param name="Version"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Version_Net")]
public static extern short MCF_Get_Version_Net(ref uint Version, ushort StationNumber = 0);
/// <summary>
/// 16.2 序列号 [0x00000000,0xFFFFFFFF] [0,99]
/// </summary>
/// <param name="Serial_Number"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Serial_Number_Net")]
public static extern short MCF_Get_Serial_Number_Net(ref long Serial_Number, ushort StationNumber = 0);
/// <summary>
/// 16.3 模块运行时间 [0x00000000,0xFFFFFFFF] [0,99] 单位:秒
/// </summary>
/// <param name="Run_Time"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Run_Time_Net")]
public static extern short MCF_Get_Run_Time_Net(ref uint Run_Time, ushort StationNumber = 0);
/// <summary>
/// 16.4 Flash 读写功能目前暂时大小2Kbytes,也即定义一个 unsigned int Array[256] 存放数据
/// </summary>
/// <param name="Pass_Word_Setup"></param>
/// <param name="Flash_Write_Data"></param>
/// <param name="StationNumber">站号设置,默认不填为 0</param>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Flash_Write_Net")]
public static extern short MCF_Flash_Write_Net(uint Pass_Word_Setup, ref uint Flash_Write_Data, ushort StationNumber = 0);
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Flash_Read_Net")]
public static extern short MCF_Flash_Read_Net(uint Pass_Word_Check, ref uint Flash_Read_Data, ushort StationNumber = 0);
/// <summary>
/// 16.5 开启网络回路,一发一收,正常控制使用(默认)
/// </summary>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_LookBack_Enable_Net")]
public static extern short MCF_LookBack_Enable_Net();
/// <summary>
/// 16.6 关闭网络回路,只发不收,测试老化模式下使用,或者检测各个级联模块是否工作
/// </summary>
/// <returns></returns>
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_LookBack_Disable_Net")]
public static extern short MCF_LookBack_Disable_Net();
/// <summary>
/// 16.7 通讯时间监测
/// </summary>
/// <param name="Connect_Count"></param>
/// <returns></returns>&Array[12]
[DllImport("MCDLL_NET.DLL", EntryPoint = "MCF_Get_Connect_Time_Count_Net")]
public static extern short MCF_Get_Connect_Time_Count_Net(ref uint Connect_Count);
}
}