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
using FLY.Winder.Server.OBJProxy;
using FLY.OBJComponents.Server.OBJProxy;
using FObjBase;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using FLY.Winder.Server.Model;
using FLY.OBJComponents.Server;
using FLY.OBJComponents.IService;
using FLY.Thick.Blowing.RotaryMachine.IService;
namespace FLY.Winder.Server
{
public class TDGage
{
#region 初始化------------------------------------------------------------------
public string mParamDirectory;//参数目录 m_path;//数据文件的 根目录默认是 Gage1
public string mName;//名字 如:gage0
#endregion
public SysParam mSysParam;
public WinderSystem mData;
/// <summary>
/// 报警系统
/// </summary>
public WarningSystem2 mWarning;
public HistoryDb mHistoryDb;
public IRotarySystem rotarySystem;
DbModel mDbModel;
public TDGage(string nam)
{
mName = nam;
mParamDirectory = mName;// @"D:\" + m_name;
if (!System.IO.Directory.Exists(mParamDirectory))
{
System.IO.Directory.CreateDirectory(mParamDirectory);
}
System.Environment.CurrentDirectory = mParamDirectory;
mSysParam = new SysParam();
mData = new WinderSystem();
mDbModel = new DbModel();
mHistoryDb = new HistoryDb();
mWarning = new WarningSystem2();
}
#region Init登陆服务器初始化----------------------------------------------------
/// <summary>
/// 第1步, 加载本地数据
/// </summary>
public async Task Init()
{
//---------------------------------------------------------------------------------------------------------------
//数据库
await Task.Factory.StartNew(() =>
{
//初始数据库(加载 MaxId)
mDbModel.Init();
//删除不需要的备份数据
mDbModel.KeepBackupSize(12);
//备份上一个月之前的数据到 yyyy-MM 文件夹
mDbModel.BackupBbInSize(12);
//当前的数据库只保存上个月与这个月的数据
mDbModel.KeepDBSize(1);
});
mHistoryDb.Init(mDbModel);
mWarning.Init(mHistoryDb.ErrorBuffer);
mData.Init(mHistoryDb, mWarning);
if (mData.Version == "v0.5_新长盛03")
{
rotarySystem = new RotarySystemXCS();
}
else {
rotarySystem = new RotarySystem();
}
rotarySystem.Init(mData.Accessory);
Misc.BindingOperations.SetBinding(mData.PLCos, nameof(IPLCProxySystemService.IsConnectedWithPLC), () => {
if (mData.PLCos.IsConnectedWithPLC)
{
rotarySystem.StartMeasureRPos();
}
else
{
rotarySystem.StopMeasureRPos();
}
});
}
#endregion
}
}