这里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; }文章来源:https://www.toymoban.com/news/detail-414142.html
public bool IsHeartBeat { get; set; }
}文章来源地址https://www.toymoban.com/news/detail-414142.html
到了这里,关于C#自动化采集工具-1.采集布局设计与UI开发框架的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!