非标框架(5)-轴参数类
/// <summary>
/// 轴参数
/// </summary>
public class AxisPrm : EntityBase<AxisKey>, ICloneable
{
public AxisPrm() : base()
{
}
private AxisPrm(string name, AxisKey key) : base(key)
{
Name = name;
}
/// <summary>
/// 普通轴构造函数
/// </summary>
/// <param name="name">轴名称</param>
/// <param name="cardNum">轴对应的控制卡编号</param>
/// <param name="code">轴在这台几台上的编号,由自己定义</param>
/// <param name="key">轴在控制卡上的编号值,16轴卡就是1到16,这里用枚举值</param>
public AxisPrm(string name, short cardNum, short code, AxisKey key) : this(name, key)
{
CardNum = cardNum;
Code = code;
}
/// <summary>
/// 龙门(Master)轴的构造函数
/// </summary>
public AxisPrm(string name, short cardNum, short code, short followCode, AxisKey key) : this(name, cardNum, code, key)
{
FollowAxisCode = followCode;
Type = AxisType.Master;
}
/// <summary>
/// 反转(Reverse)轴的构造函数
/// </summary>
public AxisPrm(string name, AxisKey key, AxisKey reverseKey) : this(name, key)
{
ReverseAxisKey = reverseKey;
Type = AxisType.Reverse;
}
/// <summary>
/// TwoPos气缸轴的构造函数
public AxisPrm(string name, AxisKey key, IOName[] mov, IOName[] arrive) : this(name, key)
{
OutDo = mov;
InDi = arrive;
Type = AxisType.Cylinder_TwoPos;
}
private const string CategoryConstant = "固有参数";
private const string CategoryLM = "龙门参数";
private const string CategoryOther = "其他轴";
private const string CategoryJogMotion = "Jog运动参数";
private const string CategoryDotMotion = "点动运动参数";
private const string CategoryLimit = "限位参数";
#region 固有属性
/// <summary>
/// 轴名字
/// </summary>
[JsonProperty]
[ReadOnly(true)]
[Category(CategoryConstant)]
[Description("轴名字")]
[DisplayName("轴名")]
public string Name { get; set; }
/// <summary>
/// 轴类型
/// </summary>
[JsonProperty]
[ReadOnly(true)]
[Category(CategoryConstant)]
[Description("轴类型")]
[DisplayName("轴类型")]
public AxisType Type { get; set; } = AxisType.Common;
/// <summary>
/// 编号
/// </summary>
[JsonProperty]
[ReadOnly(true)]
[Category(CategoryConstant)]
[Description("轴编号")]
[DisplayName("轴编号")]
public short Code { get; set; }
/// <summary>
/// 所属控制卡编号
/// </summary>
[JsonProperty]
[ReadOnly(true)]
[Category(CategoryConstant)]
[Description("所属控制卡编号")]
[DisplayName("所属控制卡编号")]
public short CardNum { get; set; } = 0;
/// <summary>
/// 脉冲当量
/// </summary>
[JsonProperty]
[Category(CategoryConstant)]
[Description("脉冲当量")]
[DisplayName("脉冲当量")]
public double PulseEquiv { get; set; } = 1000;
[JsonProperty]
[Category(CategoryConstant)]
[DisplayName("Encoder")]
[Description("编码器转一圈脉冲数")]
public int Encoder { get; set; } = 16777216;
[JsonProperty]
[Category(CategoryConstant)]
[DisplayName("Gear")]
[Description("编码器转一圈需发脉冲数")]
public int Gear { get; set; } = 10000;
/// <summary>
/// 驱动器品牌
/// </summary>
[JsonProperty]
[Category(CategoryConstant)]
[Description("驱动器品牌")]
[DisplayName("驱动器品牌")]
public DriveType DriveType { get; set; } = DriveType.众为兴;
#endregion
#region 龙门相关
[JsonProperty]
[Category(CategoryLM)]
[Description("龙门学习长度/mm")]
[DisplayName("学习长度")]
[Browsable(false)]
[JsonIgnore]
public int LMLength { get; set; } = 100;
[JsonProperty]
[Category(CategoryLM)]
[Description("龙门学习方向是否为负")]
[DisplayName("学习方向")]
[Browsable(false)]
[JsonIgnore]
public bool DicIsNeg { get; set; } = false;
[Category(CategoryLM)]
[Description("龙门从轴轴号")]
[DisplayName("从轴号")]
[JsonIgnore]
[Browsable(false)]
public short FollowAxisCode { get; set; }
#endregion
#region 其他
/// <summary>
/// TwoPos气缸轴独有,输出的运动指令
/// </summary>
[JsonProperty]
[Browsable(false)]
public IOName[] OutDo { get; set; }
/// <summary>
/// TwoPos气缸轴独有,到位信号
/// </summary>
[JsonProperty]
[Browsable(false)]
public IOName[] InDi { get; set; }
/// <summary>
/// Reverse轴特有,表示跟随它反转的轴号
/// </summary>
[JsonProperty]
[Browsable(false)]
public AxisKey ReverseAxisKey { get; set; }
#endregion
#region 回零相关
[JsonProperty]
[Category("回零相关")]
[Description("回零模式")]
[DisplayName("回零模式")]
public AxisHomeType HomeMode { get; set; } = AxisHomeType.NegLimitIndex_1;
[JsonProperty]
[Category("回零相关")]
[Description("高速回零速度")]
[DisplayName("高速回零速度")]
public double HomeVel { get; set; } = 20;
[JsonProperty]
[Category("回零相关")]
[Description("最大高速回零速度")]
[DisplayName("最大高速回零速度")]
public double MaxHomeVel { get; set; } = 20;
[JsonProperty]
[Category("回零相关")]
[Description("低速回零速度")]
[DisplayName("低速回零速度")]
public double HomeLowVel { get; set; } = 10;
[JsonProperty]
[Category("回零相关")]
[Description("回零加速度")]
[DisplayName("回零加速度")]
public double HomeAcc { get; set; } = 100;
[JsonProperty]
[Category("回零相关")]
[Description("原点偏移 / mm")]
[DisplayName("原点偏移")]
public double HomeOffset { get; set; } = 0;
#endregion
#region Dot运动参数
[JsonProperty]
[Category(CategoryDotMotion)]
[Description("默认速度 mm/s,即定点移动")]
[DisplayName("速度")]
public double DefVel { get; set; } = 50;
[JsonProperty]
[Category(CategoryDotMotion)]
[Description("默认起步速度 mm/s,即定点移动")]
[DisplayName("起步速度")]
public double DefStartVel { get; set; } = 0;
[JsonProperty]
[Category(CategoryDotMotion)]
[Description("默认加速度 mm/s,即定点移动")]
[DisplayName("加速度")]
public double DefAcc { get; set; } = 4000;
[JsonProperty]
[Category(CategoryDotMotion)]
[Description("默认减速度 mm/s^2,即定点移动")]
[DisplayName("减速度")]
public double DefDec { get; set; } = 4000;
[JsonProperty]
[Category(CategoryDotMotion)]
[Description("默认最大速度 mm/s,即定点移动")]
[DisplayName("最大速度")]
public double MaxDefVel { get; set; } = 200;
[JsonProperty]
[Category(CategoryDotMotion)]
[Description("默认最大加速度 mm/s,即定点移动")]
[DisplayName("最大加速度")]
public double MaxDefAcc { get; set; } = 4000;
[JsonProperty]
[Category(CategoryDotMotion)]
[Description("默认最大减速度 mm/s^2,即定点移动")]
[DisplayName("最大减速度")]
public double MaxDefDec { get; set; } = 4000;
#endregion
#region Jog运动参数
[JsonProperty]
[Category(CategoryJogMotion)]
[Description("默认Jog运动速度 mm/s")]
[DisplayName("Jog速度")]
public double DefJogVel { get; set; } = 100;
[JsonProperty]
[Category(CategoryJogMotion)]
[Description("默认Jog起步速度 mm/s")]
[DisplayName("Jog起步速度")]
public double DefJogStartVel { get; set; } = 0;
[JsonProperty]
[Category(CategoryJogMotion)]
[Description("默认Jog运动加速度 mm/s^2")]
[DisplayName("Jog加速度")]
public double DefJogAcc { get; set; } = 4000;
[JsonProperty]
[Category(CategoryJogMotion)]
[Description("默认Jog运动减速度 mm/s^2")]
[DisplayName("Jog减速度")]
public double DefJogDec { get; set; } = 4000;
[JsonProperty]
[Category(CategoryJogMotion)]
[Description("默认插补坐标系[0,1]")]
[DisplayName("插补坐标系")]
public short DefCrd { get; set; } = 0;
[JsonProperty]
[Category(CategoryJogMotion)]
[Description("匀速时间 ms")]
[DisplayName("匀速时间")]
public double SmoothTime { get; set; } = 10;
[JsonProperty]
[Category(CategoryJogMotion)]
[Description("默认最大Jog运动速度 mm/s")]
[DisplayName("最大Jog速度")]
public double MaxDefJogVel { get; set; } = 100;
[JsonProperty]
[Category(CategoryJogMotion)]
[Description("默认最大Jog运动加速度 mm/s^2")]
[DisplayName("最大Jog加速度")]
public double MaxDefJogAcc { get; set; } = 4000;
[JsonProperty]
[Category(CategoryJogMotion)]
[Description("默认最大Jog运动减速度 mm/s^2")]
[DisplayName("最大Jog减速度")]
public double MaxDefJogDec { get; set; } = 4000;
#endregion
#region 限位相关
[JsonProperty]
[Category(CategoryLimit)]
[DisplayName("硬件正限位端口号")]
[Description("查询硬件正限位时的端口号")]
public int PosLimitNum { get; set; } = 0;
[JsonProperty]
[Category(CategoryLimit)]
[DisplayName("硬件负限位端口号")]
[Description("查询硬件负限位时的端口号")]
public int NegLimitNum { get; set; } = 1;
[JsonProperty]
[Category(CategoryLimit)]
[DisplayName("启用软限位")]
[Description("启用软限位,0:禁用 1:启用")]
public bool IsSoftLimit { get; set; } = true;
[JsonProperty]
[Category(CategoryLimit)]
[DisplayName("负软限位")]
[Description("负方向软限位 mm")]
public int SoftNegLimit { get; set; } = -1500;
[JsonProperty]
[Category(CategoryLimit)]
[DisplayName("正软限位")]
[Description("正方向软限位 mm")]
public int SoftPosLimit { get; set; } = 1500;
#endregion
public object Clone()
{
return MemberwiseClone();
}
}
/// <summary>
/// 驱动器品牌枚举
/// </summary>
public enum DriveType
{
[Browsable(false)]
NULL = 0,
汇川,
Elmo,
高创,
众为兴,
}
非标框架(5)-轴参数类相关推荐
- 一文讲透非标品的商品类目设计
www.pmcaff.com 本文为作者 百转 于社区发布 只要做电商,商品类目设计就是绕不开的一环.好的类目设计能让供需双方更快.更好定义或找到所关心的商品,是整个电商体系的地基,是构建并链接各个模 ...
- 标品与非标品的定义 标品与非标品的区别,以及标品与非标品直通车运营方案
今天我们还是来重复老话题,标品与非标品,但是我们今天要写的是标品与非标品怎样开直通车,好了我们开始我们今天的话题了. 一.标品与非标品 1.标品,市场上具有统一标准的产品,例如统一规格.型号.功能.产 ...
- 非标自动化及电子测试夹具(FCT)类常用Ubuntu指令总结
非标自动化与电子测试夹具(FCT)类常用Ubuntu指令总结 ssh root@ip :进入arm板卡指令(ip是arm板卡使用网线连接所产生的ip,如169.254.1.32,使用usb线的可用特定 ...
- 非标行业的类标准产品经验
文章目录 前言 一.描述问题 二.处理方案 1.超级BOM 2.计算逻辑 3.效果展示 总结 前言 本篇文章介绍我之前在一家淋浴房工厂上班的工作经验,学习了一下非标自动拆单软件的设计思想,在此也非常感 ...
- C#运动控制加视觉非标自动化软件框架,运动控制设计部分采用流程图式设计
C#运动控制加视觉非标自动化软件框架,运动控制设计部分采用流程图式设计,可以根据框架自定义C#+halcon或者C#?VP全新 ,源码 YID:3985646038049009用户_20317043
- 欧姆龙njnx程序全部ST语言,非标设备的写法框架xyz气缸和报警,移位指令,处理检测ng写法
欧姆龙njnx程序全部ST语言,非标设备的写法框架xyz气缸和报警,移位指令,处理检测ng写法,数据类型联合体,统计月产量,日产量,ok产量,ng产量,运行时间,报警时间,oee,合格率,功能块,省去 ...
- 5大典型模型测试单机训练速度超对标框架,飞桨如何做到?
导读:飞桨(PaddlePaddle)致力于让深度学习技术的创新与应用更简单.在单机训练速度方面,通过高并行.低开销的异步执行策略和高效率的核心算子,优化静态图训练性能,在Paddle Fluid v ...
- 机械设计电子版_非标机械设计有哪些设计过程??
精彩文章回顾 [1]至少200G的机械类学习资料,有链接直接下载! [2]推荐几个机械类的论坛及公众号! [3]牛逼的德国, 又一次的震撼了世界人的眼睛! [4]小猪佩奇CAD图纸! [5]来自越南和 ...
- 基于双目视觉的非标机械臂的空间定位流程(未完待续)
文章目录 系统 坐标系变换原理 双目标定 原理 准备 步骤 图像极线校正.对应点匹配.空间定位 图像校正 计算视差 计算深度 目标点空间定位 三维重建 手眼标定(eye-in-hand ) 问题故障解 ...
最新文章
- springboot项目层次结构_Spring Boot 默认的指标数据从哪来的?
- 基于动态提前退出的预训练模型推理加速简介
- 阿里云加速构建技术平台,推动5G消息产业发展
- 用Apache构建WEB服务器
- 在猜年龄的基础上编写登录、注册方法,并且把猜年龄游戏分函数处理
- g++ linux intel 汇编,g++ linux
- 音视频之使用sonic.cpp实现音频倍速播放功能
- 实战申请Let's Encrypt永久免费SSL证书过程教程及常见问题
- 摩托罗拉MT788刷机
- 函数式编程与命令式编程的学习难度比较
- apue.h头文件内容
- readline,readlines,read函数
- 我的天!你竟然没有在SpringBoot中使用过异步请求和异步调用...
- 友盟分享长图片,如何截取长图片去分享
- Android 解决华为手机图片底色变绿问题
- [转载]千古真人张三丰
- Pic3D裸眼3D贴膜诞生
- Widows系统截屏工具
- 处理txt文件下载下来以后,排版格式不对的问题
- 怎么解决联想笔记本电脑待机后黑屏无法唤醒
热门文章
- “终于我从字节离职了....”一个年薪40W的测试工程师的自白....
- rocksdb性能mysql_mysql rocksdb使用报告
- 解决printe spooler服务自动关闭、无法添加打印机等(工作中经常碰到)
- Blender 建模 - 制作一个茶几
- raiseerror的用法
- 网易惠惠购物助手:大数据实时更新框架概述
- Lrc2021 Lightroom Classic
- 金昌气象APP隐私政策
- 计算机管理扫不出我的独显,win10正式版系统下检测不到独立显卡的解决方法
- 百家号写的文章为什么不被推荐?推荐量低阅读量低是什么原因?