C#自动化采集工具-1.采集布局设计与UI开发框架

这里UI我们用.NET中较为容易上手的winform来开发,如图,因为对于工具的界面并没有太多花哨的需求,满足使用即可。界面上方是导入导出等一系列全局操作功能,中间是配置信息,下方是日志控制台,中间配置信息又分为左右,左边是树形采集列表,右边是点击列表节点对应的配置信息,采集节点按通道=》设备=》采集组=》采集标记的结构划分,这里与kepware中的树节点类似,结构思路也来源于kepware ,因为json是可以直接导入到工具中的。

这里主要说下设备、与标记组的配置设置。

一、设备节点

 public class Device : CommonAttribute
    {
        /// <summary>
        /// IP
        /// </summary>
        public string DEVICE_ID_STRING { set; get; }
        /// <summary>
        /// port
        /// </summary>
        public int DEVICE_COMMUNICATIONS_PORT_NUMBER { set; get; }
        /// <summary>
        /// 附加Json
        /// </summary>
        public string AppendJson { set; get; }
        /// <summary>
        /// 状态监测Tag
        /// </summary>
        public Tag StatusTag { set; get; }

        public CommunicationTypeEnum DeviceCommunicationType { set; get; }

        /// <summary>
        /// 设备是否连接
        /// </summary>
        public bool IsOk { set; get; } = false;
        /// <summary>
        /// 标记集合
        /// </summary>
        public List<Tag> Tags { set; get; } = new List<Tag>();

        public List<Tag> AllTags { get; set; }

        public List<TagGroup> Tag_groups { set; get; } = new List<TagGroup>();

        public string Ip { set; get; }
        public int Port { set; get; }

        public int NameSpaceIndex { set; get; } = 2;
    }

设备节点,需要包含设备的通信协议类型,IP 端口等,用于管理设备下的变量读取基于该协议客户端进行读写。

二、采集标记组节点

采集标记组包含单工位的采集配置信息,包含采集的一些设定项目,采集周期,回调API等,以及采集组内的步骤信息,可以包含多个采集步骤,采集步骤对应不同的触发条件,等。

/// <summary>
    /// 标记组
    /// </summary>
    public class TagGroup : CommonAttribute
    {


        /// <summary>
        /// 是否是标记组
        /// </summary>
        public bool IsGroup { set; get; } = false;

       
        /// <summary>
        /// 是否回调数据
        /// </summary>
        public bool IsCallBack { set; get; }

        /// <summary>
        /// 回调数据Url
        /// </summary>
        public string CallBackApiUrl { set; get; }

        /// <summary>
        /// 是否回写到PLC
        /// </summary>
        public bool IsCallBackWrite { set; get; }


        /// <summary>
        /// 是否开启采集
        /// </summary>
        public bool IsCollection { set; get; }

        /// <summary>
        /// 检查写结果
        /// </summary>
        public bool IsConfirmRewrite { get; set; } = true;
        /// <summary>
        /// 采集间隔
        /// </summary>
        public int CollectInterval { set; get; }


    
        /// <summary>
        /// 附件Json 数据
        /// </summary>
        public string AppendJson { set; get; } = "{\"WorkStationCode\":\"\",\"StepCode\":\"\",\"DeviceNumber\":\"\"}";
        /// <summary>
        /// 回写  plc 标记列表
        /// </summary>
        public List<Tag> CallBackWriteTags { set; get; } = new List<Tag>();

        /// <summary>
        /// 标记集合
        /// </summary>
        public List<Tag> Tags { set; get; } = new List<Tag>();

        public List<TagGroup> Tag_groups { set; get; } = new List<TagGroup>();

        public List<DynamicParamModel> DynamicParams { get; set; }

        public List<Step> StepConfigs { get; set; }


        public bool IsHeartBeat { get; set; }
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

11eleven

你的鼓励是我创作的动力 !

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值