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; }
    }

Soukey采摘网站数据采集软件是一款基于.Net平台的开源软件,也是网站数据采集软件类型中唯一一款开源软件。尽管Soukey采摘开源,但并不会影响软件功能的提供,甚至要比一些商用软件的功能还要丰富。Soukey采摘当前提供的主要功能如下: 1. 多任务多线程数据采集,支持POST方式; 2.采集Ajax页面; 3. 支持Cookie,支持手工登录采集数据; 4. 支持采集事务; 5. 支持数据自动及手工导出,导出格式为:文本、Excel、Access、MSSql、Mysql等; 6. 支持在线发布数据; 7. 支持导航网址的采集,导航深度不限; 8. 支持自动翻页; 9. 支持文件下载,可以采集图片、Flash及其他文件; 10. 支持采集结果数据的加工,包括替换、附前缀后缀、截取等操作,支持正则; 11. 采集网址定义不仅支持基本参数定义,也可外接字典数据作为网址参数,进行数据采集12. 支持一个任务多实例运行; 13. 提供计划任务,计划任务支持Soukey采集任务、外部可执行文件任务、数据库存储过程任务; 14. 计划任务执行周期支持每天、每周及自定义运行间隔;最小单位为:半小时; 15. 支持任务触发器,即可在采集任务完成后,自动触发执行其他任务(包括可执行文件或存储过程)。 16. 完善的日志功能:系统日志、任务执行日志、出错日志等等; 17. 系统提供MINI浏览器可用于捕获Cookie或POST数据; Soukey采摘并不限制您是否商用此软件,源码完全开放,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

11eleven

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

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

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

打赏作者

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

抵扣说明:

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

余额充值