Commit 5587fca6 authored by 周磊's avatar 周磊

1.版本变更至1.9.0

2.选项添加"云盒子"控制开关,勾选后发送相关仪器信息到云平台
3.选项添加"nmhc测定方式","间接"等于以前的状态,"直测"会将thc改为nmhc+ch4;nmhc直接测定(包括用户界面,调试界面,上传上位机)
4.优化联机
5.辅助工具-温度趋势,扩展到六路,增加跟随分析启动,增加占空比趋势线等
parent 1961b0e8
...@@ -13,11 +13,19 @@ namespace GcDevicePc ...@@ -13,11 +13,19 @@ namespace GcDevicePc
{ {
public partial class CurveDisPlay : DockContent public partial class CurveDisPlay : DockContent
{ {
public class DrawingSubform
{
public CKVocAnalyzer.CtrlWaveCurrent curdisp;
}
public static CKVocAnalyzer.CtrlWaveCurrent curdisp = new CKVocAnalyzer.CtrlWaveCurrent(); public static CKVocAnalyzer.CtrlWaveCurrent curdisp = new CKVocAnalyzer.CtrlWaveCurrent();
/// <summary> /// <summary>
/// 强制清除绘图数据 /// 强制清除绘图数据
/// </summary> /// </summary>
public static bool forcePurge = false; public static bool forcePurge = false;
/// <summary>
/// NMHC测定方式
/// </summary>
public static CKVocAnalyzer.CtrlWaveCurrent.NMHCCal nMHCCal;
public CurveDisPlay() public CurveDisPlay()
{ {
InitializeComponent(); InitializeComponent();
......
...@@ -415,20 +415,37 @@ namespace GcDevicePc.CK_UI ...@@ -415,20 +415,37 @@ namespace GcDevicePc.CK_UI
//嵌套for循环,解决"CKVocAnalyzer.GlobalCKV.IngredientList"直接定值索引引起的越界问题 //嵌套for循环,解决"CKVocAnalyzer.GlobalCKV.IngredientList"直接定值索引引起的越界问题
for (int j = 0; j < CKVocAnalyzer.GlobalCKV.IngredientList.Count; j++) for (int j = 0; j < CKVocAnalyzer.GlobalCKV.IngredientList.Count; j++)
{ {
if (CKVocAnalyzer.GlobalCKV.vocparamlist[i].Name == CKVocAnalyzer.GlobalCKV.IngredientList[j].name&&listTHC.Count>=1&&listCH4.Count>=1) if (CKVocAnalyzer.GlobalCKV.vocparamlist[i].Name == CKVocAnalyzer.GlobalCKV.IngredientList[j].name && listTHC.Count >= 1 && listCH4.Count >= 1)
{ {
switch (j) switch (j)
{ {
case 0: case 0:
if (isppm) if (isppm)
{ {
//textBox1.Text = Math.Round(listNmoc[listNmoc.Count - 1].Y, 2).ToString(); if (CurveDisPlay.nMHCCal == CKVocAnalyzer.CtrlWaveCurrent.NMHCCal.NMHC_direct)
{
//直接测定
textBox1.Text = Math.Round(listNmoc[listNmoc.Count - 1].Y, 2).ToString();
}
else if (CurveDisPlay.nMHCCal == CKVocAnalyzer.CtrlWaveCurrent.NMHCCal.NMHC_indirect)
{
//间接测定
textBox1.Text = Math.Round(listTHC[listTHC.Count - 1].Y * fAutoDisO2Product - listCH4[listCH4.Count - 1].Y, 2).ToString(); textBox1.Text = Math.Round(listTHC[listTHC.Count - 1].Y * fAutoDisO2Product - listCH4[listCH4.Count - 1].Y, 2).ToString();
} }
//textBox1.Text = Math.Round(listNmoc[listNmoc.Count - 1].Y, 2).ToString();
}
else else
{//此处计算成mg/m3 nmhc {//此处计算成mg/m3 nmhc
//textBox1.Text = Math.Round(listNmoc[listNmoc.Count - 1].Y, 2).ToString(); //textBox1.Text = Math.Round(listNmoc[listNmoc.Count - 1].Y, 2).ToString();
if (CurveDisPlay.nMHCCal == CKVocAnalyzer.CtrlWaveCurrent.NMHCCal.NMHC_direct)
{
textBox1.Text = Math.Round(listNmoc[listNmoc.Count - 1].Y, 2).ToString();
}
else if (CurveDisPlay.nMHCCal == CKVocAnalyzer.CtrlWaveCurrent.NMHCCal.NMHC_indirect)
{
textBox1.Text = Math.Round(listTHC[listTHC.Count - 1].Y * fAutoDisO2Product - listCH4[listCH4.Count - 1].Y, 2).ToString(); textBox1.Text = Math.Round(listTHC[listTHC.Count - 1].Y * fAutoDisO2Product - listCH4[listCH4.Count - 1].Y, 2).ToString();
}
//textBox1.Text = Math.Round(listNmoc[listNmoc.Count - 1].Y / (CKVocAnalyzer.GlobalCKV.vocparamlist[i].MWeight / 12) * (CKVocAnalyzer.GlobalCKV.vocparamlist[i].MWeight / 22.4), 2).ToString() + "mg/m³"; //textBox1.Text = Math.Round(listNmoc[listNmoc.Count - 1].Y / (CKVocAnalyzer.GlobalCKV.vocparamlist[i].MWeight / 12) * (CKVocAnalyzer.GlobalCKV.vocparamlist[i].MWeight / 22.4), 2).ToString() + "mg/m³";
} }
...@@ -441,13 +458,27 @@ namespace GcDevicePc.CK_UI ...@@ -441,13 +458,27 @@ namespace GcDevicePc.CK_UI
break; break;
case 1: case 1:
if (isppm) if (isppm)
{
if (CurveDisPlay.nMHCCal == CKVocAnalyzer.CtrlWaveCurrent.NMHCCal.NMHC_direct)
{
//因为是直测,一根PQ,无需再考虑氧干扰
textBox2.Text = Math.Round(listNmoc[listNmoc.Count - 1].Y + listCH4[listCH4.Count - 1].Y, 2).ToString();
}
else if (CurveDisPlay.nMHCCal == CKVocAnalyzer.CtrlWaveCurrent.NMHCCal.NMHC_indirect)
{ {
textBox2.Text = Math.Round(listTHC[listTHC.Count - 1].Y * fAutoDisO2Product, 2).ToString(); textBox2.Text = Math.Round(listTHC[listTHC.Count - 1].Y * fAutoDisO2Product, 2).ToString();
} }
}
else else
{
if (CurveDisPlay.nMHCCal == CKVocAnalyzer.CtrlWaveCurrent.NMHCCal.NMHC_direct)
{
textBox2.Text = Math.Round(listNmoc[listNmoc.Count - 1].Y + listCH4[listCH4.Count - 1].Y, 2).ToString();
}
else if (CurveDisPlay.nMHCCal == CKVocAnalyzer.CtrlWaveCurrent.NMHCCal.NMHC_indirect)
{ {
textBox2.Text = Math.Round(listTHC[listTHC.Count - 1].Y * fAutoDisO2Product, 2).ToString(); textBox2.Text = Math.Round(listTHC[listTHC.Count - 1].Y * fAutoDisO2Product, 2).ToString();
}
//textBox2.Text = Math.Round(listTHC[listTHC.Count - 1].Y / (CKVocAnalyzer.GlobalCKV.vocparamlist[i].MWeight / 12) * (CKVocAnalyzer.GlobalCKV.vocparamlist[i].MWeight / 22.4), 2).ToString() + "mg/m³"; //textBox2.Text = Math.Round(listTHC[listTHC.Count - 1].Y / (CKVocAnalyzer.GlobalCKV.vocparamlist[i].MWeight / 12) * (CKVocAnalyzer.GlobalCKV.vocparamlist[i].MWeight / 22.4), 2).ToString() + "mg/m³";
} }
......
...@@ -22,21 +22,37 @@ namespace CloudBox ...@@ -22,21 +22,37 @@ namespace CloudBox
/// </summary> /// </summary>
public DataInstance() public DataInstance()
{ {
//HMI ip和端口,HMI-云盒子-色谱上位机
IP = "192.168.1.58";
Port = 911;
isService = false; isService = false;
Init(); Thread thread = new Thread(() => { Init(); });
thread.Start();
} }
///<summary> ///<summary>
///初始化 ///初始化,socket开机失败则不会进行循环发送
///</summary> ///</summary>
private void Init() private void Init()
{ {
ISResetID = Encoding.ASCII.GetBytes("0")[0]; ISResetID = Encoding.ASCII.GetBytes("0")[0];
timer_send.Interval = 1000; //配置信息
timer_send.AutoReset = true; hwconfig = new HWConfig(globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.StatusFolder, "DevStatus.ini");
timer_send.Elapsed += new System.Timers.ElapsedEventHandler(Timer_Send); //hmi数据接口
mymodbus = new GcDataTh(globaldata.connection_ip, globaldata.datamodbusport);
//从dll委托更新谱图数据
CKVocAnalyzer.CtrlWaveCurrent.del_Vocentity += new CKVocAnalyzer.Del_Vocentity(Data_Vocentity);
Consumer();
//HMI ip和端口,HMI-云盒子-色谱上位机
if (globaldata.DeviceList.Count > 0)
{
for (int i = 0; i < globaldata.CanSearchDeviceList.Count; i++)
{
if (globaldata.CanSearchDeviceList[i].MacAddr == hwconfig.hwconfiginfo.GCNum)
{
IP = globaldata.CanSearchDeviceList[i].IpAddr;
Port = 666;
}
}
}
if (IP != null)
{
if (isService) if (isService)
{ {
#region 作为服务端 #region 作为服务端
...@@ -47,13 +63,8 @@ namespace CloudBox ...@@ -47,13 +63,8 @@ namespace CloudBox
socketServer.Bind(new IPEndPoint(IPAddress.Parse(IP), Port)); socketServer.Bind(new IPEndPoint(IPAddress.Parse(IP), Port));
Thread threadListenAccept = new Thread(new ThreadStart(ListenAccept)); Thread threadListenAccept = new Thread(new ThreadStart(ListenAccept));
threadListenAccept.Start(); threadListenAccept.Start();
//配置信息 Thread thread = new Thread(() => { Timer_Send(); });
hwconfig = new HWConfig(globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.StatusFolder, "DevStatus.ini"); thread.Start();
//hmi数据接口
mymodbus = new GcDataTh(globaldata.connection_ip, globaldata.datamodbusport);
//从dll委托更新谱图数据
CKVocAnalyzer.CtrlWaveCurrent.del_Vocentity += new CKVocAnalyzer.Del_Vocentity(Data_Vocentity);
Consumer();
} }
catch (ArgumentNullException e) catch (ArgumentNullException e)
{ {
...@@ -70,32 +81,26 @@ namespace CloudBox ...@@ -70,32 +81,26 @@ namespace CloudBox
else else
{ {
#region 作为客户端 #region 作为客户端
socketServer = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
try try
{ {
//sockt
socketServer = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
socketServer.Connect(IPAddress.Parse(IP), Port); socketServer.Connect(IPAddress.Parse(IP), Port);
//配置信息 Thread thread = new Thread(() => { Timer_Send(); });
hwconfig = new HWConfig(globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.StatusFolder, "DevStatus.ini"); thread.Start();
//hmi数据接口
mymodbus = new GcDataTh(globaldata.connection_ip, globaldata.datamodbusport);
//从dll委托更新谱图数据
CKVocAnalyzer.CtrlWaveCurrent.del_Vocentity += new CKVocAnalyzer.Del_Vocentity(Data_Vocentity);
Consumer();
}
catch (ArgumentNullException e)
{
MessageBox.Show(e.ToString());
socketServer.Close();
} }
catch (SocketException e) catch (Exception)
{ {
MessageBox.Show(e.ToString()); //HMI没有启动,或者端口被占用
socketServer.Close(); socketServer.Close();
return;
} }
#endregion #endregion
} }
}
} }
#region 色谱数据模型和打包解析方法 #region 色谱数据模型和打包解析方法
/// <summary> /// <summary>
/// 发送实例,内含包装好的数据模型和解析和打包方法 /// 发送实例,内含包装好的数据模型和解析和打包方法
...@@ -132,14 +137,14 @@ namespace CloudBox ...@@ -132,14 +137,14 @@ namespace CloudBox
/// </summary> /// </summary>
private void Consumer() private void Consumer()
{ {
timer_send.Start();
Thread Consumer_Thread = new Thread(() => Thread Consumer_Thread = new Thread(() =>
{ {
while (!QueueCollection.IsCompleted) while (!QueueCollection.IsCompleted)
{ {
try try
{ {
Thread.Sleep(100); Thread.Sleep(2000);
//队列取出 //队列取出
send_Instruction = QueueCollection.Take(); send_Instruction = QueueCollection.Take();
//进行该命令下的数据更新 //进行该命令下的数据更新
...@@ -176,6 +181,9 @@ namespace CloudBox ...@@ -176,6 +181,9 @@ namespace CloudBox
/// 依据指令标识,分别更新云数据 /// 依据指令标识,分别更新云数据
/// </summary> /// </summary>
private void UpdateData(GCData.Instruction instruction) private void UpdateData(GCData.Instruction instruction)
{
if (mymodbus != null && hwconfig != null)
// if(false)
{ {
switch (instruction) switch (instruction)
{ {
...@@ -329,6 +337,8 @@ namespace CloudBox ...@@ -329,6 +337,8 @@ namespace CloudBox
break; break;
} }
} }
}
/// <summary> /// <summary>
/// 温控信息更新方法 /// 温控信息更新方法
/// </summary> /// </summary>
...@@ -1098,7 +1108,7 @@ namespace CloudBox ...@@ -1098,7 +1108,7 @@ namespace CloudBox
/// </summary> /// </summary>
private bool isService; private bool isService;
/// <summary> /// <summary>
/// 监听sockt /// 监听/连接sockt
/// </summary> /// </summary>
private Socket socketServer; private Socket socketServer;
/// <summary> /// <summary>
...@@ -1122,6 +1132,16 @@ namespace CloudBox ...@@ -1122,6 +1132,16 @@ namespace CloudBox
sTemp = socketServer.Accept(); sTemp = socketServer.Accept();
} }
/// <summary> /// <summary>
/// 关闭连接
/// </summary>
public void CloseSocket()
{
if (socketServer != null)
{
socketServer.Close();
}
}
/// <summary>
/// socket发送 /// socket发送
/// </summary> /// </summary>
private void Send() private void Send()
...@@ -1150,10 +1170,14 @@ namespace CloudBox ...@@ -1150,10 +1170,14 @@ namespace CloudBox
#endregion #endregion
#region 定时发送(暂时只有) #region 排队发送
private System.Timers.Timer timer_send = new System.Timers.Timer();
int acc = 0; int acc = 0;
private void Timer_Send(object sender, EventArgs e) /// <summary>
/// 循环加入生产(消费控制了间隔1S,上一个生产未消费,则下一个生产等待)
/// </summary>
private void Timer_Send()
{
while (true)
{ {
Producer(GCData.Instruction.TEMPINFO); Producer(GCData.Instruction.TEMPINFO);
Producer(GCData.Instruction.DETINFO); Producer(GCData.Instruction.DETINFO);
...@@ -1166,9 +1190,12 @@ namespace CloudBox ...@@ -1166,9 +1190,12 @@ namespace CloudBox
Producer(GCData.Instruction.SYSTEMSTATE); Producer(GCData.Instruction.SYSTEMSTATE);
} }
} }
}
#endregion #endregion
/// <summary> /// <summary>
/// 模测试 /// 模测试
/// </summary> /// </summary>
public void DeData() public void DeData()
{ {
......
...@@ -812,7 +812,6 @@ namespace GcDevicePc.Common ...@@ -812,7 +812,6 @@ namespace GcDevicePc.Common
if (address == 2 || address == 3) if (address == 2 || address == 3)
{ {
index = SharedSpace.Data.listValue.FindIndex(lv => lv.name == "THC"); index = SharedSpace.Data.listValue.FindIndex(lv => lv.name == "THC");
} }
if (address == 4 || address == 5) if (address == 4 || address == 5)
...@@ -826,6 +825,27 @@ namespace GcDevicePc.Common ...@@ -826,6 +825,27 @@ namespace GcDevicePc.Common
if (index > -1) if (index > -1)
{ {
f[0] = float.Parse(SharedSpace.Data.listValue[index].vale.ToString()); f[0] = float.Parse(SharedSpace.Data.listValue[index].vale.ToString());
if (CurveDisPlay.nMHCCal == CKVocAnalyzer.CtrlWaveCurrent.NMHCCal.NMHC_direct)
{
//直测不需要氧校准,THC需要加法计算,其他原值输出
if (index == SharedSpace.Data.listValue.FindIndex(lv => lv.name == "THC"))
{
float fTHCValue, fNMHCValue, fCH4Value;
int sTHCIndex, sNMHCIndex, sCH4Index;
sTHCIndex = SharedSpace.Data.listValue.FindIndex(lv => lv.name == "THC");
sNMHCIndex = SharedSpace.Data.listValue.FindIndex(lv => lv.name == "NMHC");
sCH4Index = SharedSpace.Data.listValue.FindIndex(lv => lv.name == "CH4");
fTHCValue = float.Parse(SharedSpace.Data.listValue[sTHCIndex].vale.ToString());
fNMHCValue = float.Parse(SharedSpace.Data.listValue[sNMHCIndex].vale.ToString());
fCH4Value = float.Parse(SharedSpace.Data.listValue[sCH4Index].vale.ToString());
f[0] = fNMHCValue + fCH4Value;
}
}
else if (CurveDisPlay.nMHCCal == CKVocAnalyzer.CtrlWaveCurrent.NMHCCal.NMHC_indirect)
{
if (index == SharedSpace.Data.listValue.FindIndex(lv => lv.name == "THC")) if (index == SharedSpace.Data.listValue.FindIndex(lv => lv.name == "THC"))
{ {
f[0] = vRead_AutoDisO2Input_Reault(f[0]); f[0] = vRead_AutoDisO2Input_Reault(f[0]);
...@@ -845,6 +865,7 @@ namespace GcDevicePc.Common ...@@ -845,6 +865,7 @@ namespace GcDevicePc.Common
f[0] = vRead_AutoDisO2Input_Reault(fTHCValue) - fCH4Value; f[0] = vRead_AutoDisO2Input_Reault(fTHCValue) - fCH4Value;
} }
} }
}
else else
{ {
f[0] = 0; f[0] = 0;
......
...@@ -45,6 +45,7 @@ namespace GcDevicePc.Common ...@@ -45,6 +45,7 @@ namespace GcDevicePc.Common
infile.WriteBoolean("TempTrend", "显示节点数据",false); infile.WriteBoolean("TempTrend", "显示节点数据",false);
infile.WriteString("TempTrend", "背景颜色","White"); infile.WriteString("TempTrend", "背景颜色","White");
infile.WriteString("TempTrend", "上次加载数据",""); infile.WriteString("TempTrend", "上次加载数据","");
infile.WriteString("TempTrend", "跟随分析启动","0");
} }
/// <summary> /// <summary>
/// 写入氧校准-斜率 /// 写入氧校准-斜率
...@@ -314,6 +315,26 @@ namespace GcDevicePc.Common ...@@ -314,6 +315,26 @@ namespace GcDevicePc.Common
} }
} }
/// <summary> /// <summary>
/// 写入绘图(温控趋势)信息-跟随启动
/// </summary>
/// <param name="node"></param>
public static void Set_Sys_TempTrend_FollowStart(string node)
{
if (File.Exists(file))
{
infile.WriteString("TempTrend", "跟随分析启动",node);
}
else
{
Directory.CreateDirectory(folder);
using (FileStream nfile=new FileStream(file,FileMode.Create))
{
}
infile.WriteString("TempTrend", "跟随分析启动",node);
}
}
/// <summary>
/// 读取氧校准-斜率 /// 读取氧校准-斜率
/// </summary> /// </summary>
public static double Get_Sys_CpdCount_OxygenSlope() public static double Get_Sys_CpdCount_OxygenSlope()
...@@ -575,6 +596,24 @@ namespace GcDevicePc.Common ...@@ -575,6 +596,24 @@ namespace GcDevicePc.Common
return node; return node;
} }
/// <summary> /// <summary>
/// /读取温控趋势信息-是否跟随分析启动
/// </summary>
/// <returns></returns>
public static string Get_Sys_TempTrend_FollowStart()
{
string node;
if (File.Exists(file))
{
node=infile.ReadString("TempTrend", "跟随分析启动");
}
else
{
node="";
Save_Setting_Init();
}
return node;
}
/// <summary>
/// 读取绘图(温控趋势)信息-上次加载数据 /// 读取绘图(温控趋势)信息-上次加载数据
/// </summary> /// </summary>
public static string Get_Sys_TempTrend_LastLoadedData() public static string Get_Sys_TempTrend_LastLoadedData()
......
...@@ -120,16 +120,10 @@ ...@@ -120,16 +120,10 @@
<metadata name="cms_Chart.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="cms_Chart.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>367, 22</value> <value>367, 22</value>
</metadata> </metadata>
<metadata name="tim_UpdateState.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="tim_ReadInterval.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="tim_ReadInterval.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>216, 22</value> <value>216, 22</value>
</metadata> </metadata>
<metadata name="cms_file.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="cms_file.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>480, 22</value> <value>480, 22</value>
</metadata> </metadata>
<metadata name="tip_.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>578, 22</value>
</metadata>
</root> </root>
\ No newline at end of file
...@@ -179,6 +179,7 @@ namespace GcDevicePc ...@@ -179,6 +179,7 @@ namespace GcDevicePc
Console.WriteLine("绘图show"); Console.WriteLine("绘图show");
this.dockPanel1.Contains(curdisplay); this.dockPanel1.Contains(curdisplay);
curdisplay.Show(this.dockPanel1); curdisplay.Show(this.dockPanel1);
CurveDisPlay.nMHCCal=CurveDisPlay.curdisp.nMHCCal;
curdisplay.CloseButtonVisible = false; curdisplay.CloseButtonVisible = false;
} }
else else
......
...@@ -202,14 +202,14 @@ namespace GcDevicePc.GCBuffer ...@@ -202,14 +202,14 @@ namespace GcDevicePc.GCBuffer
public struct PwmInfo public struct PwmInfo
{ {
public int fDPower; public int fDPower;//前检测
public int iDPower; public int iDPower;//中检测/辅助1
public int bDPower; public int bDPower;//后检测/辅助2
public int fSPower; public int fSPower;//后进样,确实是
public int bSPower; public int bSPower;//前进样
public int CbPower; public int CbPower;//柱箱
} }
......
...@@ -181,6 +181,10 @@ ...@@ -181,6 +181,10 @@
<Reference Include="WeifenLuo.WinFormsUI.Docking"> <Reference Include="WeifenLuo.WinFormsUI.Docking">
<HintPath>..\dll\WeifenLuo.WinFormsUI.Docking.dll</HintPath> <HintPath>..\dll\WeifenLuo.WinFormsUI.Docking.dll</HintPath>
</Reference> </Reference>
<Reference Include="WindowsFormsControlLibrary_PopUp, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\dll\WindowsFormsControlLibrary_PopUp\bin\Debug\WindowsFormsControlLibrary_PopUp.dll</HintPath>
</Reference>
<Reference Include="WitiumControl"> <Reference Include="WitiumControl">
<HintPath>..\dll\WitiumControl.dll</HintPath> <HintPath>..\dll\WitiumControl.dll</HintPath>
</Reference> </Reference>
...@@ -573,10 +577,10 @@ ...@@ -573,10 +577,10 @@
<Compile Include="DeviceConfigUI\Sampling.Designer.cs"> <Compile Include="DeviceConfigUI\Sampling.Designer.cs">
<DependentUpon>Sampling.cs</DependentUpon> <DependentUpon>Sampling.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="DrawUI\TempTrend.cs"> <Compile Include="ExpansionMethod\TempTrend.cs">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
<Compile Include="DrawUI\TempTrend.Designer.cs"> <Compile Include="ExpansionMethod\TempTrend.Designer.cs">
<DependentUpon>TempTrend.cs</DependentUpon> <DependentUpon>TempTrend.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="EPCTips.cs"> <Compile Include="EPCTips.cs">
...@@ -1054,7 +1058,7 @@ ...@@ -1054,7 +1058,7 @@
<EmbeddedResource Include="DeviceConfigUI\Sampling.resx"> <EmbeddedResource Include="DeviceConfigUI\Sampling.resx">
<DependentUpon>Sampling.cs</DependentUpon> <DependentUpon>Sampling.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="DrawUI\TempTrend.resx"> <EmbeddedResource Include="ExpansionMethod\TempTrend.resx">
<DependentUpon>TempTrend.cs</DependentUpon> <DependentUpon>TempTrend.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="EPCTips.resx"> <EmbeddedResource Include="EPCTips.resx">
...@@ -1179,6 +1183,9 @@ ...@@ -1179,6 +1183,9 @@
<DependentUpon>SysConfig.cs</DependentUpon> <DependentUpon>SysConfig.cs</DependentUpon>
<SubType>Designer</SubType> <SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="SysConfigSecondary.zh-Hans.resx">
<DependentUpon>SysConfigSecondary.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="SysConfigSecondary.zh.resx"> <EmbeddedResource Include="SysConfigSecondary.zh.resx">
<DependentUpon>SysConfigSecondary.cs</DependentUpon> <DependentUpon>SysConfigSecondary.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
...@@ -1243,7 +1250,7 @@ ...@@ -1243,7 +1250,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Folder Include="Components\" /> <Folder Include="Components\" />
<Folder Include="ExpansionMethod\" /> <Folder Include="DrawUI\" />
<Folder Include="UI\configmenu\" /> <Folder Include="UI\configmenu\" />
<Folder Include="UI\ico\" /> <Folder Include="UI\ico\" />
<Folder Include="UI\menu\" /> <Folder Include="UI\menu\" />
...@@ -1258,10 +1265,6 @@ ...@@ -1258,10 +1265,6 @@
<Content Include="UI\picture\色谱3.png" /> <Content Include="UI\picture\色谱3.png" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\WindowsFormsControlLibrary_PopUp\WindowsFormsControlLibrary_PopUp.csproj">
<Project>{AFC4DDC8-D40D-481E-AE7A-5AFB73C88E78}</Project>
<Name>WindowsFormsControlLibrary_PopUp</Name>
</ProjectReference>
<ProjectReference Include="..\SharedSpace\SharedSpace.csproj"> <ProjectReference Include="..\SharedSpace\SharedSpace.csproj">
<Project>{5498f944-5721-461b-b07f-3105ef0bf643}</Project> <Project>{5498f944-5721-461b-b07f-3105ef0bf643}</Project>
<Name>SharedSpace</Name> <Name>SharedSpace</Name>
......
...@@ -452,6 +452,7 @@ ...@@ -452,6 +452,7 @@
this.MainMenuStrip = this.menuStrip; this.MainMenuStrip = this.menuStrip;
this.Name = "MDIBase"; this.Name = "MDIBase";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MDIBase_FormClosing); this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MDIBase_FormClosing);
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.MDIBase_FormClosed);
this.Load += new System.EventHandler(this.MDIBase_Load); this.Load += new System.EventHandler(this.MDIBase_Load);
this.menuStrip.ResumeLayout(false); this.menuStrip.ResumeLayout(false);
this.menuStrip.PerformLayout(); this.menuStrip.PerformLayout();
......
...@@ -66,7 +66,7 @@ namespace GcDevicePc ...@@ -66,7 +66,7 @@ namespace GcDevicePc
/// <summary> /// <summary>
/// PC版本号,主界面显示,关于显示 /// PC版本号,主界面显示,关于显示
/// </summary> /// </summary>
public static string PCVersion = "1.8.8"; public static string PCVersion = "1.9.0";
/// <summary> /// <summary>
/// 云盒子接口 /// 云盒子接口
...@@ -376,7 +376,7 @@ namespace GcDevicePc ...@@ -376,7 +376,7 @@ namespace GcDevicePc
{ {
IniFile ini = new IniFile(file); IniFile ini = new IniFile(file);
globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.DataFolder = ini.ReadString("DataFolder", "历史数据"); globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.DataFolder = ini.ReadString("DataFolder", "历史数据");
globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.FileClassification=ini.ReadString("DataFolder", "分级文件夹"); globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.FileClassification = ini.ReadString("DataFolder", "分级文件夹");
} }
} }
/// <summary> /// <summary>
...@@ -386,7 +386,7 @@ namespace GcDevicePc ...@@ -386,7 +386,7 @@ namespace GcDevicePc
/// <param name="e"></param> /// <param name="e"></param>
private void MDIBase_Load(object sender, EventArgs e) private void MDIBase_Load(object sender, EventArgs e)
{ {
CKVocAnalyzer.CtrlWaveHistory.delChange+=new CKVocAnalyzer.DelChange(DllChange); CKVocAnalyzer.CtrlWaveHistory.delChange += new CKVocAnalyzer.DelChange(DllChange);
_userForm = new FormUser(); _userForm = new FormUser();
...@@ -518,8 +518,10 @@ namespace GcDevicePc ...@@ -518,8 +518,10 @@ namespace GcDevicePc
// X = this.Width; Y = this.Height; setTag(this); MDIBase_Resize(new object(), new EventArgs());//x,y可在实例化时赋值,最后这句是新加的,在MDI时有用 // X = this.Width; Y = this.Height; setTag(this); MDIBase_Resize(new object(), new EventArgs());//x,y可在实例化时赋值,最后这句是新加的,在MDI时有用
// b_load = true; // b_load = true;
if (ini.ReadString("StartUp", "启用云盒子")=="1")
// dataInstance=new DataInstance(); {
dataInstance = new DataInstance();
}
} }
private void MDIBase_SizeChanged(object sender, EventArgs e) private void MDIBase_SizeChanged(object sender, EventArgs e)
{ {
...@@ -932,9 +934,12 @@ namespace GcDevicePc ...@@ -932,9 +934,12 @@ namespace GcDevicePc
toolStripStatusLabelusertime.Text = bEnglishLanguage == false ? String.Format("运行时间:{0}", timespan.Days.ToString() + "天" + timespan.Hours.ToString() + "时" + timespan.Minutes.ToString() + "分" + timespan.Seconds.ToString() + "秒") : toolStripStatusLabelusertime.Text = bEnglishLanguage == false ? String.Format("运行时间:{0}", timespan.Days.ToString() + "天" + timespan.Hours.ToString() + "时" + timespan.Minutes.ToString() + "分" + timespan.Seconds.ToString() + "秒") :
String.Format("Running time:{0}", timespan.Days.ToString() + "Days" + timespan.Hours.ToString() + "Hours" + timespan.Minutes.ToString() + "Minutes" + timespan.Seconds.ToString() + "Seconds"); String.Format("Running time:{0}", timespan.Days.ToString() + "Days" + timespan.Hours.ToString() + "Hours" + timespan.Minutes.ToString() + "Minutes" + timespan.Seconds.ToString() + "Seconds");
if (statestr!=null)
{
//反控,发送状态 //反控,发送状态
Task.Run(() => { SendCounterControlState(); ReconnectionTimes = 0; }); Task.Run(() => { SendCounterControlState(); ReconnectionTimes = 0; });
}
switch (CKVocAnalyzer.GlobalCKV.adjustType) switch (CKVocAnalyzer.GlobalCKV.adjustType)
{ {
case CKVocAnalyzer.GlobalCKV.AdjustType.AT_Zero: case CKVocAnalyzer.GlobalCKV.AdjustType.AT_Zero:
...@@ -4107,6 +4112,21 @@ namespace GcDevicePc ...@@ -4107,6 +4112,21 @@ namespace GcDevicePc
} }
private void button1_Click_1(object sender, EventArgs e)
{
}
private void MDIBase_FormClosed(object sender, FormClosedEventArgs e)
{
//停止云盒子数据发送
if (dataInstance!=null)
{
dataInstance.CloseSocket();
}
}
// private bool b_load; // private bool b_load;
//private float X; //private float X;
......
This diff is collapsed.
...@@ -13,12 +13,56 @@ using System.Threading.Tasks; ...@@ -13,12 +13,56 @@ using System.Threading.Tasks;
namespace GcDevicePc.ProThread namespace GcDevicePc.ProThread
{ {
//委托告知开始和停止
public delegate void DelTriggerAntiControl(bool b); public delegate void DelTriggerAntiControl(bool b);
class CKvocUpdataSum class CKvocUpdataSum
{ {
public static event DelTriggerAntiControl delTriggerAntiControl; public static event DelTriggerAntiControl delTriggerAntiControl;
ManualResetEvent datamre = new ManualResetEvent(false); ManualResetEvent datamre = new ManualResetEvent(false);
// CurveDisPlaySum CurveDisPlay= new CurveDisPlaySum(null); // CurveDisPlaySum CurveDisPlay= new CurveDisPlaySum(null);
class Mapping
{
/// <summary>
/// 是否是开始
/// </summary>
int isstart = 0;
/// <summary>
/// 当前停止状态
/// </summary>
bool bNowStopFlag;
/// <summary>
/// 之前停止状态
/// </summary>
bool bBeforeStopFlag;
/// <summary>
/// 检测器位置
/// </summary>
string type;
/// <summary>
/// 是否清除绘图
/// </summary>
bool ClearData;
/// <summary>
/// 信号集合
/// </summary>
ArrayList Save_PortSumList;
/// <summary>
/// 绘图对象
/// </summary>
CKVocAnalyzer.CtrlWaveCurrent curdisp;
/// <summary>
/// 执行开始的窗口数量
/// </summary>
int DetStart = 0;
/// <summary>
/// 执行停止的窗口数量
/// </summary>
int DetStop = 0;
/// <summary>
/// 检测器数量
/// </summary>
ushort pagenum;
}
public static int isstart = 0; public static int isstart = 0;
/// <summary> /// <summary>
/// 执行开始的窗口数量 /// 执行开始的窗口数量
...@@ -340,6 +384,7 @@ namespace GcDevicePc.ProThread ...@@ -340,6 +384,7 @@ namespace GcDevicePc.ProThread
// t_DataSave = new Thread(Monitor_DataList); // t_DataSave = new Thread(Monitor_DataList);
// t_DataSave.IsBackground = true; // t_DataSave.IsBackground = true;
// t_DataSave.Start(); // t_DataSave.Start();
(new Task(() => Monitor_DataList(type, false, Save_PortSumList, curdisp))).Start(); (new Task(() => Monitor_DataList(type, false, Save_PortSumList, curdisp))).Start();
} }
......
...@@ -274,11 +274,8 @@ namespace GcDevicePc.ProThread ...@@ -274,11 +274,8 @@ namespace GcDevicePc.ProThread
bool IsOnline = false; bool IsOnline = false;
try try
{ {
if (b==false)
{ ushort countDown = (ushort)(usSearchTime / 10);//限定时间,用于倒计时判定
GetHmiIp();
}
ushort countDown = usSearchTime;//限定时间,用于倒计时判定
while (countDown > 0) while (countDown > 0)
{ {
for (int i = 0; i < _localip.Count; i++) for (int i = 0; i < _localip.Count; i++)
...@@ -318,11 +315,11 @@ namespace GcDevicePc.ProThread ...@@ -318,11 +315,11 @@ namespace GcDevicePc.ProThread
continue; continue;
// break; // break;
} // continue; } // continue;
if (countDown > 20) if (countDown > 2 || countDown == 2)
{ {
countDown -= 20;//既不能让搜索时长过长,也要保证HMI更新搜索IP时足够 countDown -= 2;
} }
break;
} }
else else
{ {
...@@ -344,17 +341,18 @@ namespace GcDevicePc.ProThread ...@@ -344,17 +341,18 @@ namespace GcDevicePc.ProThread
} }
} }
if (!IsOnline && countDown <= 0) if (!IsOnline)
{ {
//重新获取一次_localip,以解决先开启软件,后开启色谱无法联机的问题(当然总搜索时长至少坚持到色谱开机完成) //重新获取一次_localip,以解决先开启软件,后开启色谱无法联机的问题(当然总搜索时长至少坚持到色谱开机完成)
//也解决了HMI更新搜索不到的问题(需要重置网络信息)
GetHmiIp(); GetHmiIp();
} }
else if (IsOnline&&b) else if (IsOnline && b)
{ {
//已经搜索到HMI,并且不是hmi更新类型的搜索,则跳出 //已经搜索到HMI,并且不是hmi更新类型的搜索,则跳出
break; break;
} }
else if (!SysConfig.UpdateHMI_Stop&&!b) else if (!SysConfig.UpdateHMI_Stop && !b)
{ {
//hmi更新类型的搜索,点击了停止搜索 //hmi更新类型的搜索,点击了停止搜索
break; break;
......
...@@ -267,6 +267,7 @@ namespace GcDevicePc ...@@ -267,6 +267,7 @@ namespace GcDevicePc
} }
if (bNoSearchOK == true) if (bNoSearchOK == true)
{ {
//超时未连接到设备,处理
bNoSearchOK= false; bNoSearchOK= false;
DialogResult dr = new ConnTimeOut().ShowDialog(); DialogResult dr = new ConnTimeOut().ShowDialog();
if (dr == DialogResult.OK) if (dr == DialogResult.OK)
......
...@@ -25,10 +25,10 @@ namespace GcDevicePc ...@@ -25,10 +25,10 @@ namespace GcDevicePc
public partial class SysConfigSecondary : Form public partial class SysConfigSecondary : Form
{ {
private string HmiIP = null; // private string HmiIP = null;
private ushort HmiPort = 911; // private ushort HmiPort = 911;
private bool bEnglishLanguage = Thread.CurrentThread.CurrentUICulture == CultureInfo.GetCultureInfo("en") ? true : false; private bool bEnglishLanguage = Thread.CurrentThread.CurrentUICulture == CultureInfo.GetCultureInfo("en") ? true : false;
private ArrayList SearchRet = new ArrayList(); private ArrayList SearchRet = new ArrayList();
...@@ -135,6 +135,7 @@ namespace GcDevicePc ...@@ -135,6 +135,7 @@ namespace GcDevicePc
IniFile ini = new IniFile(file); IniFile ini = new IniFile(file);
string value = ini.ReadString("StartUp", "自启动"); string value = ini.ReadString("StartUp", "自启动");
string str_Cloud=ini.ReadString("StartUp", "启用云盒子");
string opensys = ini.ReadString("StartUp", "打开系统"); string opensys = ini.ReadString("StartUp", "打开系统");
string runtype = ini.ReadString("StartUp", "运行类型"); string runtype = ini.ReadString("StartUp", "运行类型");
string info_log = ini.ReadString("Logs", "InfoLog"); string info_log = ini.ReadString("Logs", "InfoLog");
...@@ -143,6 +144,7 @@ namespace GcDevicePc ...@@ -143,6 +144,7 @@ namespace GcDevicePc
string strAntiControlMode=ini.ReadString("反控", "反控模式"); string strAntiControlMode=ini.ReadString("反控", "反控模式");
string strAntiControlFormName=ini.ReadString("反控", "反控进程名称"); string strAntiControlFormName=ini.ReadString("反控", "反控进程名称");
string strStartStopTrigger=ini.ReadString("反控", "开始停止触发"); string strStartStopTrigger=ini.ReadString("反控", "开始停止触发");
string strNMHC=ini.ReadString("NMHC", "测定方式");
int Version = ini.ReadInteger("Version", "VersionType"); int Version = ini.ReadInteger("Version", "VersionType");
string appname = ini.ReadString("Version", "AppName"); string appname = ini.ReadString("Version", "AppName");
...@@ -191,6 +193,16 @@ namespace GcDevicePc ...@@ -191,6 +193,16 @@ namespace GcDevicePc
{ {
this.comboBox_FollowStop.Text=strStartStopTrigger; this.comboBox_FollowStop.Text=strStartStopTrigger;
} }
if (strNMHC=="")
{
//兼容
this.comboBox1.Text="间接";
ini.WriteString("NMHC", "测定方式","间接");
}
else
{
this.comboBox1.Text=strNMHC;
}
if (ushort.TryParse(strHMISearchTime, out usHMISearchTime) == true) if (ushort.TryParse(strHMISearchTime, out usHMISearchTime) == true)
{ {
this.SerachHMINumericUpDown1.Value = usHMISearchTime; this.SerachHMINumericUpDown1.Value = usHMISearchTime;
...@@ -204,7 +216,14 @@ namespace GcDevicePc ...@@ -204,7 +216,14 @@ namespace GcDevicePc
{ {
this.appstartup.Checked = false; this.appstartup.Checked = false;
} }
if (str_Cloud=="1")
{
this.checkBox_Cloud.Checked=true;
}
else
{
this.checkBox_Cloud.Checked=false;
}
if (Convert.ToInt32(opensys) == 1) if (Convert.ToInt32(opensys) == 1)
{ {
if (Convert.ToInt32(runtype) == 1) if (Convert.ToInt32(runtype) == 1)
...@@ -611,6 +630,14 @@ namespace GcDevicePc ...@@ -611,6 +630,14 @@ namespace GcDevicePc
rk2.DeleteValue("JcShutdown", false); rk2.DeleteValue("JcShutdown", false);
rk2.Close(); rk2.Close();
rk.Close(); rk.Close();
}
if (checkBox_Cloud.Checked)
{
ini.WriteString("StartUp", "启用云盒子", "1");
}
else
{
ini.WriteString("StartUp", "启用云盒子", "0");
} }
if (runbat.Checked) if (runbat.Checked)
{ {
...@@ -692,6 +719,15 @@ namespace GcDevicePc ...@@ -692,6 +719,15 @@ namespace GcDevicePc
{ {
ini.WriteString("SendData", "Foreign", "2");//无 ini.WriteString("SendData", "Foreign", "2");//无
} }
if (comboBox1.Text==""||comboBox1.Text=="间接")
{
ini.WriteString("NMHC", "测定方式", "间接");//NMHC测定方式
}
else
{
ini.WriteString("NMHC", "测定方式", "直测");
}
//发送信号类型 //发送信号类型
if (radioButton13.Checked) if (radioButton13.Checked)
{ {
......
...@@ -166,7 +166,7 @@ ...@@ -166,7 +166,7 @@
<value>22, 113</value> <value>22, 113</value>
</data> </data>
<data name="groupBox8.Size" type="System.Drawing.Size, System.Drawing"> <data name="groupBox8.Size" type="System.Drawing.Size, System.Drawing">
<value>436, 85</value> <value>533, 85</value>
</data> </data>
<data name="groupBox8.Text" xml:space="preserve"> <data name="groupBox8.Text" xml:space="preserve">
<value>Signal transmission type</value> <value>Signal transmission type</value>
...@@ -184,11 +184,26 @@ ...@@ -184,11 +184,26 @@
<value>Default</value> <value>Default</value>
</data> </data>
<data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing"> <data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
<value>436, 85</value> <value>530, 85</value>
</data> </data>
<data name="groupBox1.Text" xml:space="preserve"> <data name="groupBox1.Text" xml:space="preserve">
<value>Third party communication</value> <value>Third party communication</value>
</data> </data>
<data name="label12.Size" type="System.Drawing.Size, System.Drawing">
<value>29, 12</value>
</data>
<data name="label12.Text" xml:space="preserve">
<value>NMHC</value>
</data>
<data name="comboBox1.Items" xml:space="preserve">
<value>indirect</value>
</data>
<data name="comboBox1.Items1" xml:space="preserve">
<value>direct</value>
</data>
<data name="comboBox1.Location" type="System.Drawing.Point, System.Drawing">
<value>266, 19</value>
</data>
<data name="radioButton5.Size" type="System.Drawing.Size, System.Drawing"> <data name="radioButton5.Size" type="System.Drawing.Size, System.Drawing">
<value>179, 16</value> <value>179, 16</value>
</data> </data>
...@@ -211,7 +226,7 @@ ...@@ -211,7 +226,7 @@
<value>25, 208</value> <value>25, 208</value>
</data> </data>
<data name="groupBox2.Size" type="System.Drawing.Size, System.Drawing"> <data name="groupBox2.Size" type="System.Drawing.Size, System.Drawing">
<value>436, 131</value> <value>530, 131</value>
</data> </data>
<data name="groupBox2.Text" xml:space="preserve"> <data name="groupBox2.Text" xml:space="preserve">
<value>External communication protocol</value> <value>External communication protocol</value>
...@@ -244,7 +259,7 @@ ...@@ -244,7 +259,7 @@
<value>57, 20</value> <value>57, 20</value>
</data> </data>
<data name="groupBox9.Location" type="System.Drawing.Point, System.Drawing"> <data name="groupBox9.Location" type="System.Drawing.Point, System.Drawing">
<value>296, 36</value> <value>296, 37</value>
</data> </data>
<data name="groupBox9.Text" xml:space="preserve"> <data name="groupBox9.Text" xml:space="preserve">
<value>AntiControlSetting</value> <value>AntiControlSetting</value>
...@@ -256,10 +271,10 @@ ...@@ -256,10 +271,10 @@
<value>Record per minute</value> <value>Record per minute</value>
</data> </data>
<data name="groupBox7.Location" type="System.Drawing.Point, System.Drawing"> <data name="groupBox7.Location" type="System.Drawing.Point, System.Drawing">
<value>22, 160</value> <value>22, 161</value>
</data> </data>
<data name="groupBox7.Size" type="System.Drawing.Size, System.Drawing"> <data name="groupBox7.Size" type="System.Drawing.Size, System.Drawing">
<value>256, 47</value> <value>258, 47</value>
</data> </data>
<data name="groupBox7.Text" xml:space="preserve"> <data name="groupBox7.Text" xml:space="preserve">
<value>Status record</value> <value>Status record</value>
...@@ -319,10 +334,10 @@ ...@@ -319,10 +334,10 @@
<value>Automatic ignition</value> <value>Automatic ignition</value>
</data> </data>
<data name="groupBox6.Location" type="System.Drawing.Point, System.Drawing"> <data name="groupBox6.Location" type="System.Drawing.Point, System.Drawing">
<value>25, 264</value> <value>25, 265</value>
</data> </data>
<data name="groupBox6.Size" type="System.Drawing.Size, System.Drawing"> <data name="groupBox6.Size" type="System.Drawing.Size, System.Drawing">
<value>583, 98</value> <value>585, 98</value>
</data> </data>
<data name="groupBox6.Text" xml:space="preserve"> <data name="groupBox6.Text" xml:space="preserve">
<value>Detecto</value> <value>Detecto</value>
...@@ -370,10 +385,10 @@ ...@@ -370,10 +385,10 @@
<value>Save ZB Graph</value> <value>Save ZB Graph</value>
</data> </data>
<data name="groupBox5.Location" type="System.Drawing.Point, System.Drawing"> <data name="groupBox5.Location" type="System.Drawing.Point, System.Drawing">
<value>22, 213</value> <value>22, 214</value>
</data> </data>
<data name="groupBox5.Size" type="System.Drawing.Size, System.Drawing"> <data name="groupBox5.Size" type="System.Drawing.Size, System.Drawing">
<value>584, 45</value> <value>586, 45</value>
</data> </data>
<data name="groupBox5.Text" xml:space="preserve"> <data name="groupBox5.Text" xml:space="preserve">
<value>Miscellaneous</value> <value>Miscellaneous</value>
...@@ -400,22 +415,28 @@ ...@@ -400,22 +415,28 @@
<value>System On</value> <value>System On</value>
</data> </data>
<data name="groupBox3.Location" type="System.Drawing.Point, System.Drawing"> <data name="groupBox3.Location" type="System.Drawing.Point, System.Drawing">
<value>22, 105</value> <value>22, 106</value>
</data> </data>
<data name="groupBox3.Size" type="System.Drawing.Size, System.Drawing"> <data name="groupBox3.Size" type="System.Drawing.Size, System.Drawing">
<value>584, 49</value> <value>586, 49</value>
</data> </data>
<data name="groupBox3.Text" xml:space="preserve"> <data name="groupBox3.Text" xml:space="preserve">
<value>Sart up automatically</value> <value>Sart up automatically</value>
</data> </data>
<data name="checkBox_Cloud.Size" type="System.Drawing.Size, System.Drawing">
<value>54, 16</value>
</data>
<data name="checkBox_Cloud.Text" xml:space="preserve">
<value>Cloud</value>
</data>
<data name="appstartup.Text" xml:space="preserve"> <data name="appstartup.Text" xml:space="preserve">
<value>Autostarts</value> <value>Autostarts</value>
</data> </data>
<data name="groupBox4.Location" type="System.Drawing.Point, System.Drawing"> <data name="groupBox4.Location" type="System.Drawing.Point, System.Drawing">
<value>22, 36</value> <value>22, 37</value>
</data> </data>
<data name="groupBox4.Size" type="System.Drawing.Size, System.Drawing"> <data name="groupBox4.Size" type="System.Drawing.Size, System.Drawing">
<value>256, 60</value> <value>258, 60</value>
</data> </data>
<data name="groupBox4.Text" xml:space="preserve"> <data name="groupBox4.Text" xml:space="preserve">
<value>Boot configuration</value> <value>Boot configuration</value>
...@@ -454,10 +475,10 @@ ...@@ -454,10 +475,10 @@
<value>Reserved space</value> <value>Reserved space</value>
</data> </data>
<data name="groupBox11.Location" type="System.Drawing.Point, System.Drawing"> <data name="groupBox11.Location" type="System.Drawing.Point, System.Drawing">
<value>34, 157</value> <value>34, 158</value>
</data> </data>
<data name="groupBox11.Size" type="System.Drawing.Size, System.Drawing"> <data name="groupBox11.Size" type="System.Drawing.Size, System.Drawing">
<value>569, 67</value> <value>571, 67</value>
</data> </data>
<data name="groupBox11.Text" xml:space="preserve"> <data name="groupBox11.Text" xml:space="preserve">
<value>Historical data</value> <value>Historical data</value>
...@@ -493,22 +514,22 @@ ...@@ -493,22 +514,22 @@
<value>114, 26</value> <value>114, 26</value>
</data> </data>
<data name="label6.Location" type="System.Drawing.Point, System.Drawing"> <data name="label6.Location" type="System.Drawing.Point, System.Drawing">
<value>565, 118</value> <value>567, 118</value>
</data> </data>
<data name="label5.Location" type="System.Drawing.Point, System.Drawing"> <data name="label5.Location" type="System.Drawing.Point, System.Drawing">
<value>566, 78</value> <value>568, 78</value>
</data> </data>
<data name="label4.Location" type="System.Drawing.Point, System.Drawing"> <data name="label4.Location" type="System.Drawing.Point, System.Drawing">
<value>566, 41</value> <value>568, 41</value>
</data> </data>
<data name="textBox3.Location" type="System.Drawing.Point, System.Drawing"> <data name="textBox3.Location" type="System.Drawing.Point, System.Drawing">
<value>394, 109</value> <value>396, 109</value>
</data> </data>
<data name="textBox2.Location" type="System.Drawing.Point, System.Drawing"> <data name="textBox2.Location" type="System.Drawing.Point, System.Drawing">
<value>394, 70</value> <value>396, 70</value>
</data> </data>
<data name="textBox1.Location" type="System.Drawing.Point, System.Drawing"> <data name="textBox1.Location" type="System.Drawing.Point, System.Drawing">
<value>394, 33</value> <value>396, 33</value>
</data> </data>
<data name="label3.Size" type="System.Drawing.Size, System.Drawing"> <data name="label3.Size" type="System.Drawing.Size, System.Drawing">
<value>77, 12</value> <value>77, 12</value>
......
This diff is collapsed.
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="groupBox8.Size" type="System.Drawing.Size, System.Drawing">
<value>471, 110</value>
</data>
<data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
<value>474, 81</value>
</data>
<data name="groupBox2.Size" type="System.Drawing.Size, System.Drawing">
<value>471, 117</value>
</data>
</root>
\ No newline at end of file
This diff is collapsed.
...@@ -682,11 +682,21 @@ namespace GcDevicePc ...@@ -682,11 +682,21 @@ namespace GcDevicePc
else else
ToolTip1.Show("TCD reference setting:\nN2 70mA\nAr 100mA\nH2 100mA\nHe 100mA", lab_tcdHelp, 10000); ToolTip1.Show("TCD reference setting:\nN2 70mA\nAr 100mA\nH2 100mA\nHe 100mA", lab_tcdHelp, 10000);
} }
TempTrend temp ;
private void btn_TempTrend_Click(object sender, EventArgs e) private void btn_TempTrend_Click(object sender, EventArgs e)
{ {
TempTrend temp = new TempTrend();
if (temp==null||temp.IsDisposed)
{
temp = new TempTrend();
temp.Show(); temp.Show();
temp.Activate();
}
else
{
temp.Activate();
}
} }
#region 云盒子模拟测试,可删除 #region 云盒子模拟测试,可删除
DataInstance dataInstance; DataInstance dataInstance;
......
...@@ -822,6 +822,9 @@ ...@@ -822,6 +822,9 @@
<data name="button_CloudBox.Text" xml:space="preserve"> <data name="button_CloudBox.Text" xml:space="preserve">
<value>模拟初拟化</value> <value>模拟初拟化</value>
</data> </data>
<data name="button_CloudBox.Visible" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="&gt;&gt;button_CloudBox.Name" xml:space="preserve"> <data name="&gt;&gt;button_CloudBox.Name" xml:space="preserve">
<value>button_CloudBox</value> <value>button_CloudBox</value>
</data> </data>
...@@ -984,6 +987,9 @@ ...@@ -984,6 +987,9 @@
<data name="comboBox1.Text" xml:space="preserve"> <data name="comboBox1.Text" xml:space="preserve">
<value>仪器信息</value> <value>仪器信息</value>
</data> </data>
<data name="comboBox1.Visible" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="&gt;&gt;comboBox1.Name" xml:space="preserve"> <data name="&gt;&gt;comboBox1.Name" xml:space="preserve">
<value>comboBox1</value> <value>comboBox1</value>
</data> </data>
...@@ -1011,6 +1017,9 @@ ...@@ -1011,6 +1017,9 @@
<data name="button_Send.Text" xml:space="preserve"> <data name="button_Send.Text" xml:space="preserve">
<value>发送选择项</value> <value>发送选择项</value>
</data> </data>
<data name="button_Send.Visible" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="&gt;&gt;button_Send.Name" xml:space="preserve"> <data name="&gt;&gt;button_Send.Name" xml:space="preserve">
<value>button_Send</value> <value>button_Send</value>
</data> </data>
...@@ -1035,9 +1044,6 @@ ...@@ -1035,9 +1044,6 @@
<data name="groupBox2.Text" xml:space="preserve"> <data name="groupBox2.Text" xml:space="preserve">
<value>调试</value> <value>调试</value>
</data> </data>
<data name="groupBox2.Visible" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="&gt;&gt;groupBox2.Name" xml:space="preserve"> <data name="&gt;&gt;groupBox2.Name" xml:space="preserve">
<value>groupBox2</value> <value>groupBox2</value>
</data> </data>
......
[SYSINFO]
ECOUNT=3
[ENTITY0]
ECC=NMHC,0,2,0,0,0,-2147483648,0,0,0,1,mV,1000,uV,ppm,0,0,0,0,0
ECCD0=1,浓度1,1,,0,,1
ECCD0_Orig0=0,uV*sec,0529094515,D:\work\Vocs\VocsSetup\GC_User\原始数据\0529094515.raw
[ENTITY1]
ECC=THC,0,2,0,6.092811E-05,2.535293E-08,-2147483648,0,0,1,1,mV,1000,uV,ppm,0,0,0,0,0
ECCD0=1,浓度1,2,,32825.57,,1
ECCD0_Orig0=32825.57,uV*sec,0529094515,D:\work\Vocs\VocsSetup\GC_User\原始数据\0529094515.raw
[ENTITY2]
ECC=CH4,0,2,0,1.708479E-05,-1.103432E-08,-2147483648,0,0,1,1,mV,1000,uV,ppm,0,0,0,0,0
ECCD0=1,浓度1,1,,58531.58,,1
ECCD0_Orig0=58531.58,uV*sec,0529094515,D:\work\Vocs\VocsSetup\GC_User\原始数据\0529094515.raw
[SYSINFO] [SYSINFO]
ECOUNT=3 ECOUNT=3
[ENTITY0] [ENTITY0]
ECC=NMHC,1,0,0,1
[ENTITY1]
ECC=THC,1,0,0,1 ECC=THC,1,0,0,1
[ENTITY1]
ECC=NMHC,1,0,0,1
[ENTITY2] [ENTITY2]
ECC=CH4,1,0,0,1 ECC=CH4,1,0,0,1
[SYSINFO] [SYSINFO]
ECOUNT=3 ECOUNT=3
[ENTITY0] [ENTITY0]
ECC=NMHC,0,2,0,0,0,-2147483648,0,0,0,1,mV,1000,uV,ppm,0,0,0,0,0 ECC=THC,0,2,0,0,0,-2147483648,0,0,0,1,mV,1000,uV,ppm,0,0,0,0,0
ECCD0=1,浓度1,1,,0,,1 ECCD0=1,浓度1,30,,0,,1
ECCD0_Orig0=0,uV*sec,0529094515,D:\work\Vocs\VocsSetup\GC_User\原始数据\0529094515.raw ECCD0_Orig0=0,uV*sec,0321110304-A,D:\work\色谱\Vocs\VocsSetup\GC_User\原始数据\0321110304-A.raw
[ENTITY1] [ENTITY1]
ECC=THC,0,2,0,6.092811E-05,2.535293E-08,-2147483648,0,0,1,1,mV,1000,uV,ppm,0,0,0,0,0 ECC=NMHC,0,2,0,0.01228547,1.780032E-07,-2147483648,0,0,1,1,mV,1000,uV,ppm,0,0,0,0,0
ECCD0=1,浓度1,2,,32825.57,,1 ECCD0=1,浓度1,10,,813.97,,1
ECCD0_Orig0=32825.57,uV*sec,0529094515,D:\work\Vocs\VocsSetup\GC_User\原始数据\0529094515.raw ECCD0_Orig0=813.97,uV*sec,0321110304-A,D:\work\色谱\Vocs\VocsSetup\GC_User\原始数据\0321110304-A.raw
[ENTITY2] [ENTITY2]
ECC=CH4,0,2,0,1.708479E-05,-1.103432E-08,-2147483648,0,0,1,1,mV,1000,uV,ppm,0,0,0,0,0 ECC=CH4,0,2,0,0.009859211,-5.3182E-07,-2147483648,0,0,1,1,mV,1000,uV,ppm,0,0,0,0,0
ECCD0=1,浓度1,1,,58531.58,,1 ECCD0=1,浓度1,20,,2028.56,,1
ECCD0_Orig0=58531.58,uV*sec,0529094515,D:\work\Vocs\VocsSetup\GC_User\原始数据\0529094515.raw ECCD0_Orig0=2028.56,uV*sec,0321110304-A,D:\work\色谱\Vocs\VocsSetup\GC_User\原始数据\0321110304-A.raw
[SYSINFO]
ECOUNT=64
[ENTITY0]
ID=1
NAME=NMHC
[ENTITY1]
ID=2
NAME=THC
[ENTITY2]
ID=3
NAME=CH4
[ENTITY3]
ID=4
NAME=Benzene
[ENTITY4]
ID=5
NAME=Toluene
[ENTITY5]
ID=6
NAME=Xylene
[ENTITY6]
ID=7
NAME=Acrolein
[ENTITY7]
ID=8
NAME=bimethyl
[ENTITY8]
ID=9
NAME=Ethene
[ENTITY9]
ID=10
NAME=1-Propene
[ENTITY10]
ID=11
NAME=2-methyl-Propane
[ENTITY11]
ID=12
NAME=n-Butane
[ENTITY12]
ID=13
NAME=Acetylene
[ENTITY13]
ID=14
NAME=(E)-2-Butene
[ENTITY14]
ID=15
NAME=1-Butene
[ENTITY15]
ID=16
NAME=(Z)-2-Butene
[ENTITY16]
ID=17
NAME=Cyclopentane
[ENTITY17]
ID=18
NAME=2-Methylbutane
[ENTITY18]
ID=19
NAME=Pentane
[ENTITY19]
ID=20
NAME=TRANS-2-PENTENE
[ENTITY20]
ID=21
NAME=1-Pentene
[ENTITY21]
ID=22
NAME=2-PENTENENITRILE
[ENTITY22]
ID=23
NAME=2,2-Dimethylbutane
[ENTITY23]
ID=24
NAME=2,3-DIMETHYLBUTANE
[ENTITY24]
ID=25
NAME=2-methylpentane
[ENTITY25]
ID=26
NAME=3-METHYLPENTANE
[ENTITY26]
ID=27
NAME=Isoprene
[ENTITY27]
ID=28
NAME=Hexane
[ENTITY28]
ID=29
NAME=1-Hexene
[ENTITY29]
ID=30
NAME=Methylcyclopentane
[ENTITY30]
ID=31
NAME=2,4-DIMETHYLPENTANE
[ENTITY31]
ID=32
NAME=Cyclohexane
[ENTITY32]
ID=33
NAME=ISOHEPTANE
[ENTITY33]
ID=34
NAME=2,3-Dimethylpentane
[ENTITY34]
ID=35
NAME=3-METHYLHEXANE
[ENTITY35]
ID=36
NAME=2,2,4-Trimethylpentane
[ENTITY36]
ID=37
NAME=Heptane
[ENTITY37]
ID=38
NAME=Methylcyclohexane
[ENTITY38]
ID=39
NAME=2,3,4-TRIMETHYLPENTANE
[ENTITY39]
ID=40
NAME=2-METHYLHEPTANE
[ENTITY40]
ID=41
NAME=3-METHYLHEPTANE
[ENTITY41]
ID=42
NAME=N-OCTANE
[ENTITY42]
ID=43
NAME=Styrene
[ENTITY43]
ID=44
NAME=o-Xylene
[ENTITY44]
ID=45
NAME=N-NONANE
[ENTITY45]
ID=46
NAME=Cumene
[ENTITY46]
ID=47
NAME=N-PROPYLBENZENE
[ENTITY47]
ID=48
NAME=3-ETHYLTOLUENE
[ENTITY48]
ID=49
NAME=4-ETHYLTOLUENE
[ENTITY49]
ID=50
NAME=Mesitylene
[ENTITY50]
ID=51
NAME=1,2,4-Trimethylbenzene
[ENTITY51]
ID=52
NAME=1,2,3-Trimethylbenzene
[ENTITY52]
ID=53
NAME=2-ETHYLTOLUENE
[ENTITY53]
ID=54
NAME=Decane
[ENTITY54]
ID=55
NAME=1,3-Diethylbenzene
[ENTITY55]
ID=56
NAME=1,4-DIETHYLBENZENE
[ENTITY56]
ID=57
NAME=n-Hendecane
[ENTITY57]
ID=58
NAME=Dodecane
[ENTITY58]
ID=59
NAME=Default
[ENTITY59]
ID=60
NAME=Oxygen
[ENTITY60]
ID=61
NAME=Propane
[ENTITY61]
ID=62
NAME=m-Xylene
[ENTITY62]
ID=63
NAME=P-XYLENE
[ENTITY63]
ID=64
NAME=Methanol
[ENTITY64]
ID=65
NAME=Ethylbenzene
[ENTITY65]
ID=66
NAME=DIPENTENE
[ENTITY66]
ID=67
NAME=Acetaldehyde
\ No newline at end of file
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
ECOUNT=3 ECOUNT=3
COEF=1 COEF=1
[ENTITY0] [ENTITY0]
ETXT=0,NMHC,0,0,0,0,255,0,0,100000,1,0,0 ETXT=0,NMHC,0.04,0.25,0,0,255,0,0,100000,1,0,0
[ENTITY1] [ENTITY1]
ETXT=0,THC,0.01,0.1,0,0,255,0,0,100000,1,0,0 ETXT=0,THC,0,0,0,0,255,0,0,100000,1,0,0
[ENTITY2] [ENTITY2]
ETXT=0,CH4,0.1,0.15,0,0,255,0,0,100000,1,0,0 ETXT=0,CH4,0.27,0.4,0,0,255,0,0,100000,1,0,0
[NetWorkConfig] [NetWorkConfig]
MAC地址=F8:02:78:60:74:58 MAC地址=F8:02:78:60:70:76
网口=以太网 2 网口=WLAN
搜索时间=60 搜索时间=60
[StartUp] [StartUp]
自启动=0 自启动=0
...@@ -11,6 +11,7 @@ space=500 ...@@ -11,6 +11,7 @@ space=500
Datetime=1 Datetime=1
TdName=TVOC5.7 TdName=TVOC5.7
开机界面=1 开机界面=1
启用云盒子=1
[DataFolder] [DataFolder]
历史数据=D:\work\Vocs\VocsSetup\GC_Config\GC_Set\Historical Data 历史数据=D:\work\Vocs\VocsSetup\GC_Config\GC_Set\Historical Data
分级文件夹=0 分级文件夹=0
...@@ -26,7 +27,7 @@ Name=admin ...@@ -26,7 +27,7 @@ Name=admin
Password=123456 Password=123456
[SendData] [SendData]
Thirdparty=1 Thirdparty=1
Foreign=2 Foreign=1
SendType=Routine SendType=Routine
[SaveData] [SaveData]
ZBSaveData=1 ZBSaveData=1
...@@ -37,3 +38,5 @@ ZBSaveData=1 ...@@ -37,3 +38,5 @@ ZBSaveData=1
反控模式=被控 反控模式=被控
反控进程名称=SmartSampler 反控进程名称=SmartSampler
开始停止触发=触发开始和停止 开始停止触发=触发开始和停止
[NMHC]
测定方式=直测
...@@ -8,11 +8,12 @@ Count3=FALSE ...@@ -8,11 +8,12 @@ Count3=FALSE
[O2CpdCount] [O2CpdCount]
O2value=21 O2value=21
[免登录] [免登录]
锚点日期=2022/3/9 锚点日期=2022/3/22
勾选类型=2 勾选类型=2
[TempTrend] [TempTrend]
启用网格X=FALSE 启用网格X=FALSE
启用网格Y=FALSE 启用网格Y=FALSE
显示节点数据=FALSE 显示节点数据=TRUE
背景颜色=White 背景颜色=White
上次加载数据= 上次加载数据=
跟随分析启动=1
Binary files "a/VocsSetup/GC_Config/GC_Set/tmpfile/58/DevStatus.ini\341\257\230\312\276\347\272\220\302\271" and /dev/null differ Binary files "a/VocsSetup/GC_Config/GC_Set/tmpfile/58/DevStatus.ini\341\257\230\312\276\347\272\220\302\271" and /dev/null differ
No preview for this file type
No preview for this file type
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// 有关程序集的一般信息由以下
// 控制。更改这些特性值可修改
// 与程序集关联的信息。
[assembly: AssemblyTitle("WindowsFormsControlLibrary_PopUp")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("WindowsFormsControlLibrary_PopUp")]
[assembly: AssemblyCopyright("Copyright © 2022")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// 将 ComVisible 设置为 false 会使此程序集中的类型
//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
//请将此类型的 ComVisible 特性设置为 true。
[assembly: ComVisible(false)]
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
[assembly: Guid("afc4ddc8-d40d-481e-ae7a-5afb73c88e78")]
// 程序集的版本信息由下列四个值组成:
//
// 主版本
// 次版本
// 生成号
// 修订号
//
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
namespace WindowsFormsControlLibrary_PopUp
{
partial class UserControl_PopUp
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region 组件设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要修改
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.lab_Close = new System.Windows.Forms.Label();
this.label_Suggerimenti = new System.Windows.Forms.Label();
this.timer1 = new System.Windows.Forms.Timer();
this.SuspendLayout();
//
// lab_Close
//
this.lab_Close.AutoSize = true;
this.lab_Close.BackColor = System.Drawing.Color.Transparent;
this.lab_Close.Dock = System.Windows.Forms.DockStyle.Top;
this.lab_Close.Location = new System.Drawing.Point(0, 0);
this.lab_Close.Name = "lab_Close";
this.lab_Close.Size = new System.Drawing.Size(53, 12);
this.lab_Close.TabIndex = 2;
this.lab_Close.Text = "我知道了";
this.lab_Close.Click += new System.EventHandler(this.lab_Close_Click);
//
// label_Suggerimenti
//
this.label_Suggerimenti.AutoSize = true;
this.label_Suggerimenti.BackColor = System.Drawing.Color.Transparent;
this.label_Suggerimenti.Location = new System.Drawing.Point(19, 27);
this.label_Suggerimenti.Name = "label_Suggerimenti";
this.label_Suggerimenti.Size = new System.Drawing.Size(23, 12);
this.label_Suggerimenti.TabIndex = 3;
this.label_Suggerimenti.Text = "cs2";
//
// timer1
//
this.timer1.Interval = 5000;
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
//
// UserControl_PopUp
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.AutoSize = true;
this.Controls.Add(this.label_Suggerimenti);
this.Controls.Add(this.lab_Close);
this.Name = "UserControl_PopUp";
this.Size = new System.Drawing.Size(251, 70);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Label label_Suggerimenti;
public System.Windows.Forms.Label lab_Close;
private System.Windows.Forms.Timer timer1;
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsControlLibrary_PopUp
{
delegate void DelChangePopUpMsg(string txt);
delegate void DelPopUpAction();
public partial class UserControl_PopUp : UserControl
{
private event DelChangePopUpMsg delChangePopUpMsg;
private event DelPopUpAction delPopUpHide;
private event DelPopUpAction delPopUpShow;
public UserControl_PopUp()
{
InitializeComponent();
delChangePopUpMsg += new DelChangePopUpMsg(ChangePopUpMsg);
delPopUpHide += new DelPopUpAction(PopUpHide);
delPopUpShow += new DelPopUpAction(PopUpShow);
}
//private string s_PopUpMsg;
//[Description("弹窗true弹出,false收回")] // 显示在属性设计视图中的描述
private bool b_PopUpInOut;
//public bool PopUpInOut
//{
// get
// {
// return b_PopUpInOut;
// }
// set
// {
// b_PopUpInOut = value;
// if (b_PopUpInOut)
// {
// PopUpShow();
// }
// else
// {
// PopUpHide();
// }
// }
//}
[Description("弹窗展示消息")]
public string PopUpMsg
{
get
{
return label_Suggerimenti.Text;
}
set
{
ChangePopUpMsg(value);
if (b_PopUpInOut)
{
PopUpHide();
PopUpShow();
}
else
{
PopUpShow();
}
}
}
private void ChangePopUpMsg(string msg)
{
if (label_Suggerimenti.InvokeRequired)
{
label_Suggerimenti.Invoke(delChangePopUpMsg, msg);
}
else
{
label_Suggerimenti.Text = msg;
}
}
/// <summary>
/// 事件
/// </summary>
public event EventHandler BtnTestClick;
private void lab_Close_Click(object sender, EventArgs e)
{
PopUpHide();
}
/// <summary>
/// 隐藏弹窗
/// </summary>
public void PopUpHide()
{
if (this.InvokeRequired)
{
this.Invoke(delPopUpHide);
}
else
{
b_PopUpInOut = false;
SamplerCounterControl.CounterControl.FormOut(this.Handle);
timer1.Stop();
}
}
/// <summary>
/// 打开弹窗
/// </summary>
public void PopUpShow()
{
if (this.InvokeRequired)
{
this.Invoke(delPopUpShow);
}
else
{
b_PopUpInOut = true;
SamplerCounterControl.CounterControl.FormIn(this.Handle);
timer1.Start();
}
}
private void timer1_Tick(object sender, EventArgs e)
{
if (b_PopUpInOut)
{
PopUpHide();
}
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{AFC4DDC8-D40D-481E-AE7A-5AFB73C88E78}</ProjectGuid>
<OutputType>Library</OutputType>
<RootNamespace>WindowsFormsControlLibrary_PopUp</RootNamespace>
<AssemblyName>WindowsFormsControlLibrary_PopUp</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="SamplerCounterControl">
<HintPath>..\..\..\Program Files (x86)\SQLite.NET\bin\x64\SamplerCounterControl.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Drawing" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="UserControl_PopUp.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="UserControl_PopUp.Designer.cs">
<DependentUpon>UserControl_PopUp.cs</DependentUpon>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
<Service Include="{94E38DFF-614B-4cbd-B67C-F211BB35CE8B}" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="UserControl_PopUp.resx">
<DependentUpon>UserControl_PopUp.cs</DependentUpon>
</EmbeddedResource>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment