123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250 |
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace MV485.model
- {
- public class TSlave : INotifyPropertyChanged
- {
- public event PropertyChangedEventHandler PropertyChanged;
- protected virtual void OnPropertyChanged(string propertyName)
- {
- PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
- }
- //public const string RUN_STATUS_UNKNOW_0 = "";
- //public const string RUN_STATUS_IDEL_1 = "空闲";
- //public const string RUN_STATUS_READING_2 = "读取中";
- //public const string RUN_STATUS_OPEN_SERIAL_ERROR_ = "连接失败";
- public static Dictionary<int, string> RunStatusMap = new Dictionary<int, string>
- {
- {0,"" },
- {1,"空闲" },
- {2,"正在读取" },
- {3,"连接失败" }
- };
- public string SlaveId { get; set; }
- public string PortName { get; set; }
- public int BaudRate { get; set; }
- public int Address { get; set; }
- public string PortParamter
- {
- get
- {
- return $"{PortName} : {BaudRate}";
- }
- }
- //读取频率(分钟)
- private int _readInterval;
- public int ReadInterval
- {
- get => _readInterval;
- set
- {
- if(_readInterval != value)
- {
- _readInterval = value;
- OnPropertyChanged(nameof(ReadInterval));
- OnPropertyChanged(nameof(ReadIntervalName));
- }
- }
- }
- public string ReadIntervalName
- {
- get
- {
- return $"{ReadInterval}分钟";
- }
- }
- //读取照片的标志
- private int _readImageFlag;
- public int ReadImageFlag
- {
- get => _readImageFlag;
- set
- {
- if(_readImageFlag != value)
- {
- _readImageFlag = value;
- OnPropertyChanged(nameof(ReadImageFlag));
- OnPropertyChanged(nameof(ReadImageFlagName));
- OnPropertyChanged(nameof(ReadImageFlagColor));
- }
- }
- }
- public string ReadImageFlagName
- {
- get
- {
- return _readImageFlag == 0 ? "" : "√";
- }
- }
- public string ReadImageFlagColor
- {
- get
- {
- if(ReadImageFlag == 0)
- {
- return "Black";
- }
- else
- {
- return "Green";
- }
- }
- }
- private int _runFlag;
- public int RunFlag
- {
- get => _runFlag;
- set
- {
- if(_runFlag != value)
- {
- _runFlag = value;
- OnPropertyChanged(nameof(RunFlag));
- OnPropertyChanged(nameof(RunFlagName));
- OnPropertyChanged(nameof(RunFlagColor));
- }
- }
- }
- public string RunFlagName
- {
- get
- {
- return RunFlag == 1 ? "已启用" : "已停用";
- }
- }
- public string RunFlagColor
- {
- get
- {
- return RunFlag == 1 ? "Green" : "#FF4C4C";
- }
- }
- private string _lastReadTime;
- public string LastReadTime
- {
- get => _lastReadTime;
- set
- {
- if(_lastReadTime != value)
- {
- _lastReadTime = value;
- OnPropertyChanged(nameof(LastReadTime));
- }
- }
- }
- private int _detailCount;
- public int DetailCount
- {
- get => _detailCount;
- set
- {
- if(_detailCount != value)
- {
- _detailCount = value;
- OnPropertyChanged(nameof(DetailCount));
- }
- }
- }
- private int _index;
- public int Index
- {
- get => _index;
- set
- {
- if(_index != value)
- {
- _index = value;
- OnPropertyChanged(nameof(Index));
- }
- }
- }
- public DateTime NextReadTime
- {
- get
- {
- if (string.IsNullOrEmpty(LastReadTime) || !DateTime.TryParse(LastReadTime,out DateTime dtLastTime))
- {
- return DateTime.Now;
- }
- else
- {
- return dtLastTime.AddMinutes(ReadInterval);
- }
- }
- }
- public RunStatusType _runStatus;
- public RunStatusType RunStatus
- {
- get => _runStatus;
- set
- {
- if (_runStatus != value)
- {
- _runStatus = value;
- OnPropertyChanged(nameof(RunStatus));
- OnPropertyChanged(nameof(RunStatusName));
- }
- }
- }
- public string RunStatusName
- {
- get
- {
- if (RunStatusMap.TryGetValue((int)RunStatus, out string statusName))
- {
- return statusName;
- }
- else
- {
- return "";
- }
- }
- }
- /////////////////////////////////////////////////////
- }
- // {0,"" },
- //{1,"空闲" },
- //{2,"正在读取" },
- //{3,"连接失败" }
- public enum RunStatusType
- {
- STATUS_UNKNOW = 0,
- STATUS_IDLE = 1,
- STATUS_READING = 2,
- STATUS_UNCONNECTED = 3
- }
- }
|