using Bro.Common.Base;
|
using Bro.Common.Helper;
|
using Bro.Common.Interface;
|
using Bro.Common.Model;
|
using System;
|
using System.Collections.Generic;
|
using System.ComponentModel;
|
using System.Drawing.Design;
|
using System.IO.Ports;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
|
namespace Bro.Device.DAMModule
|
{
|
[Device("DAMModule", "DAM模块", EnumHelper.DeviceAttributeType.InitialConfig)]
|
public class DAMInitialConfig : InitialConfigBase, IMonitorConfig
|
{
|
[Category("通信设置")]
|
[Description("IO模块单元号")]
|
public int UnitNum { get; set; } = 0;
|
|
[Category("通信设置")]
|
[Description("端口号")]
|
[TypeConverter(typeof(SerialPortConverter))]
|
public string PortName { get; set; }
|
|
[Category("通信设置")]
|
[Description("波特率")]
|
[TypeConverter(typeof(BaudRateConverter))]
|
public string BaudRate { get; set; } = "9600";
|
|
[Category("通信设置")]
|
[Description("奇偶校验位")]
|
public Parity Parity { get; set; } = Parity.None;
|
|
[Category("通信设置")]
|
[Description("数据位")]
|
public int DataBits { get; set; } = 8;
|
|
[Category("通信设置")]
|
[Description("停止位")]
|
public StopBits StopBits { get; set; } = StopBits.None;
|
|
[Category("通信设置")]
|
[Description("读写超时,单位为ms")]
|
public int Timeout { get; set; } = 0;
|
|
[Category("通信设置")]
|
[Description("读取时等待时间,单位为ms")]
|
public int ReadWaitTime { get; set; } = 10;
|
|
[Category("IO设置")]
|
[Description("输出点位数量")]
|
[DefaultValue(8)]
|
public int OutputNums { get; set; } = 8;
|
|
[Category("IO设置")]
|
[Description("输入点位数量")]
|
[DefaultValue(8)]
|
public int InputNums { get; set; } = 8;
|
|
[Category("IO设置")]
|
[Description("输出信号时默认持续时间,以毫秒为单位")]
|
public int SignalElasped { get; set; } = 100;
|
|
[Category("监听设置")]
|
[Description("监听操作配置集合")]
|
[DisplayName("监听配置")]
|
[TypeConverter(typeof(CollectionCountConvert))]
|
[Editor(typeof(ComplexCollectionEditor<MonitorSet>), typeof(UITypeEditor))]
|
public List<IMonitorSet> MonitorSetCollection { get; set; } = new List<IMonitorSet>();
|
|
[Category("监听设置")]
|
[Description("true:启动监听 false:关闭监听")]
|
[DisplayName("监听启用")]
|
public bool IsEnableMonitor { get; set; } = true;
|
|
[Category("监听设置")]
|
[Description("扫描间隔时间,单位:ms")]
|
[DisplayName("扫描间隔")]
|
public int MonitorInterval { get; set; } = 100;
|
|
[Category("监听设置")]
|
[Description("超时设置,单位:ms")]
|
[DisplayName("监听超时")]
|
public int MonitorTimeout { get; set; } = 500;
|
|
[Category("监听设置")]
|
[Description("true:监听输出信号 false:不监听输出信号")]
|
[DisplayName("是否监听输出")]
|
public bool IsMonitorOutput { get; set; } = false;
|
|
public List<IMonitorSet> GetAllMonitorSet()
|
{
|
return MonitorSetCollection;
|
}
|
}
|
|
[Device("DAMModule", "DAM模块", EnumHelper.DeviceAttributeType.OperationConfig)]
|
public class DAMOperationConfig : OperationConfigBase
|
{
|
}
|
}
|