1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
using FLY.Thick.RemoteHistory;
using FObjBase;
using SQLite;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FLY.OBJComponents.Common
{
public class FlyData_WarningHistory : IFlyData,IDbBase
{
public Int64 ID { get; set; }
/// <summary>
/// 时间
/// </summary>
public DateTime Time { get; set; }
/// <summary>
/// 出错码
/// </summary>
public int ErrCode { get; set; }
/// <summary>
/// 出错状态
/// </summary>
public ERR_STATE State { get; set; }
/// <summary>
/// 描述
/// </summary>
public string Description { get; set; }
/// <summary>
/// 附加信息, json格式
/// </summary>
public string Accessory { get; set; }
public FlyData_WarningHistory Clone()
{
return new FlyData_WarningHistory()
{
Time = Time,
ErrCode = ErrCode,
State = State,
Description = Description
};
}
public string GetHeader()
{
return "时间,出错码,状态,描述";
}
public bool TryParse(string header, string str)
{
string[] items = str.Split(new char[] { ',' });
if (items.Length < 4)
return false;
DateTime dt;
if (DateTime.TryParse(items[0], out dt))
Time = dt;
else
return false;
int b;
if (int.TryParse(items[1], out b))
ErrCode = b;
else
return false;
ERR_STATE state;
if (Enum.TryParse<ERR_STATE>(items[2], out state))
State = state;
else
return false;
Description = items[3];
return true;
}
public override string ToString()
{
string str;
str = Time.ToString();
str += "," + ErrCode.ToString();
str += "," + State.ToString();
str += "," + Description;
return str;
}
}
/// <summary>
/// 报警状态
/// </summary>
public enum ERR_STATE
{
/// <summary>
/// 报警中
/// </summary>
ON,
/// <summary>
/// 关闭
/// </summary>
OFF
}
/// <summary>
/// 出错类型
/// </summary>
public struct ERRNO
{
public byte Code;
public string Descrption;
public bool OffIsError;
}
public static class PlcErrNos
{
/// <summary>
/// PLC连接断开
/// </summary>
public static ERRNO ERRNO_PLC_DISCONNECTED = new ERRNO() { Code = 255, Descrption = "PLC连接断开" };
}
}