C#运动控制卡_Day1_轴模型

一、引言

本文主要介绍的是正运动ZMotion系列的运动控制卡,运动控制卡核心在于框架的搭建,具体实现方法其实基本一致。雷赛:DMC2410。正运动:ZMC304。

首先创建轴基类,具体如下所示:

二、轴参数基类

1.轴参数

//控制卡卡号
public ushort Axis_CardNo { get; set; }
//轴号
public ushort Axis_Num { get; set; }
//轴名
public string Axis_Name { get; set; }
//脉冲当量:每走一个物理单位需要发送的脉冲数量(pluse/mm  或者  pluse/°)
public double Axis_PulseEquivalent { get; set; }

2.Jog点动参数

//初始速度,单位为 mm/s 或者°/s

public double Speed_Jog_Start{get;set;}

//停止速度

public double Speed_Jog_Stop{get;set;}

//Jog高速

public double Speed_Jog_High{get;set;}

//Jog低速

public double Speed_Jog_Low{get;set;}

//Jog加速时间(s)

public double Time_Jog_Acc{get;set;}

//Jog减速时间(s)

public double Time_Jog_Dec{get;set;}

3.Axis自动模式参数

//自动开始速度

public double Speed_Auto_Start{get;set;}

//自动停止速度

public double Speed_Auto_Stop{get;set;}

//自动最小速度

public double Speed_Auto_Min{get;set;}

//自动最大速度

public double Speed_Auto_Max{get;set;}

//自动加速时间

public double Time_Auto_Acc{get;set;}

//自动减速时间

public double Time_Auto_Dec{get;set;}

4.Axis回原参数

//回原开始速度

public double Speed_Home_Start{get;set;}

//回原停止速度

public double Speed_Home_Stop{get;set;}

//回原最小速度

public double Speed_Home_Min{get;set;}

//回原最大速度

public double Speed_Home_Max{get;set;}

//回原加速时间

public double Time_Home_Acc{get;set;}

//回原减速时间

public double Time_Home_Dec{get;set;}

//回原方向  雷赛:1:正方向回原 2:负方向回原

public ushort Home_Dir {get;set;}

//回原模式 雷赛:0:只计home  一般设为2

public ushort Home_Mode{get;set;}

//回原完成标志 true:回到原点  false:未回到原点

public bool Home_FinishMark{get;set;}

5.Axis标志位

//异常停止

public bool Flag_ExceptionStop{get;set;}

//轴运行状态 AxiStates为枚举,见三

 public AxiStates AxiState { get; set; }

//伺服报警标志

public Flag_ServoAlarm{get;set;}

//正限位触发标志

public bool Flag_PositiveLimit{get;set;}

//负限位触发标志

public bool  Flag_NegativeLimit{get;set;}

//原点标志

public bool Flag_Origion{get;set;}

//急停标志

public bool Flag_Emo{get;set;}

//伺服使能标志

public bool Flag_ServoOn{get;set;}

//运动中标志

public bool Flag_Run{get;set;}

//轴当前位置

public double Position_Current{get;set;}

6.剩余参数(如软限位和设定速度、位置等等)

//正向软限位 单位: mm

public double Position_PosSoftLimit{get;set;}

//负向软限位 单位: mm

public double Position_NegSoftLimit{get;set;}

//轴安全位置

public double Position_Safe{get;set;}

//多段的设定速度、位置etc........

三:轴状态

轴状态为枚举类型:

public enum AxiStates
{
    急停,
    报警,
    停止,
    回原点中,
    自动运行中,
    未回原点,
    准备就绪
}

四:整体的AxisModel

接下来就可以建立轴模型类了,需要注意的是:实际的位置或者是速度需要乘以脉冲当量。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值