Commit d269da47 authored by wangjunqiang's avatar wangjunqiang

清理部分代码

parent a4d691be
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<configuration> <configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup> <configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
</startup>
<runtime> <runtime>
<legacyUnhandledExceptionPolicy enabled="true"/> <legacyUnhandledExceptionPolicy enabled="true"/>
</runtime> </runtime>
<log4net>
<logger name="Log">
<level value="INFO" />
<appender-ref ref="RollingLog" />
</logger>
<logger name="Err">
<level value="ERROR" />
<appender-ref ref="RollingErr" />
</logger>
<appender name="RollingLog" type="log4net.Appender.RollingFileAppender">
<file value="Logs\InfoLog_" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<datePattern value="yyyyMMdd'.txt'" />
<staticLogFileName value="false" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="Record Time:%d Thread ID:[%thread]- Info:%m%n" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="INFO" />
<param name="LevelMax" value="INFO" />
</filter>
</appender>
<appender name="RollingErr" type="log4net.Appender.RollingFileAppender">
<file value="Logs\ErrLog_" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<datePattern value="yyyyMMdd'.txt'" />
<staticLogFileName value="false" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="Record Time:%d Thread ID:[%thread]- Error:%m%n" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="ERROR" />
<param name="LevelMax" value="ERROR" />
</filter>
</appender>
</log4net>
</configuration> </configuration>
using System;
using System.IO;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using GcDevicePc.Common;
namespace GcDevicePc
{
class AppInit
{
/// <summary>
/// 检测文件和目录是否存在
/// </summary>
/// <param name="flag">检测标志 0-表示检测目录</param>
/// <param name="sPath"></param>
/// <returns></returns>
private bool CheckFolderandFile(int flag, string sPath)
{
switch (flag)
{
case 0: //检测并创建目录
{
if (!Directory.Exists(sPath))
{
Directory.CreateDirectory(sPath);
}
}
break;
case 1:
break;
}
return true;
}
//private void GetGCCode()
//{
// int devicecount = 0;
// devicecount = globaldata.DeviceList.Count;
// int i = 0;
// int count = 0;
// string tmpfile = "";
// string tmpip = "";
// string tmpname = "";
// int ret = 0;
// if (devicecount > 0)
// {
// globaldata.DeviceName.Clear();
// FileServerClient mainclient = new FileServerClient();
// for (i = 0; i < devicecount; i++)
// {
// tmpip = (((globaldata.DeviceInfo)(globaldata.DeviceList[i])).IpAddr);
// mainclient.WtClientInit(tmpip, globaldata.fileserverport);
// //获取设备配置
// tmpfile = globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.tmpFolder + "\\" + i.ToString() + "\\DevStatus.ini";
// if (System.IO.File.Exists(tmpfile))
// {
// Thread.Sleep(100);
// System.IO.File.Delete(tmpfile);
// }
// ret = mainclient.WtClientCopyfromServer("DevStatus.ini", tmpfile, globaldata.remoteFolder + "仪器状态\\");
// Thread.Sleep(400);
// {
// FileHelper tmpfh = new FileHelper(tmpfile);
// tmpname = tmpfh.GetProfileString("仪器编号", "仪器编码", "无编码设备");
// if (tmpname == "无编码设备")
// {
// tmpname = tmpname + count.ToString();
// count++;
// }
// globaldata.DeviceName.Add(tmpname);
// }
// }
// }
//}
//private void MoveDevFile()
//{
// int devicecount = 0;
// devicecount = globaldata.DeviceList.Count;
// int i = 0;
// string tmpfile = "";
// string tmpfile2 = "";
// string folderToBeDeleted = "";
// if (devicecount > 0)
// {
// for (i = 0; i < devicecount; i++)
// {
// tmpfile = globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.tmpFolder + "\\" + i.ToString() + "\\DevStatus.ini";
// tmpfile2 = globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.StatusFolder + "\\" + globaldata.DeviceName[i].ToString() + "\\DevStatus.ini";
// if (System.IO.File.Exists(tmpfile2))
// {
// System.IO.File.Delete(tmpfile2);
// }
// if (System.IO.File.Exists(tmpfile))
// {
// System.IO.File.Move(tmpfile, tmpfile2);
// Thread.Sleep(100);
// }
// {
// folderToBeDeleted = globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.tmpFolder + "\\" + i.ToString();
// DirectoryInfo folder = new DirectoryInfo(folderToBeDeleted);
// if (folder.Exists)
// {
// folder.Delete(true);
// }
// }
// }
// }
//}
public void InitAppFolder()
{
string tmpFolder;
globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.RunFolder = System.Windows.Forms.Application.StartupPath;
tmpFolder = globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.RunFolder;
globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.MethodFolder = System.IO.Path.Combine(tmpFolder, "仪器方法");
CheckFolderandFile(0, globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.MethodFolder);
globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.StatusFolder = System.IO.Path.Combine(tmpFolder, "仪器状态");
CheckFolderandFile(0, globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.StatusFolder);
globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.RunTabFolder = System.IO.Path.Combine(tmpFolder, "运行表");
CheckFolderandFile(0, globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.RunTabFolder);
globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.DataFolder = System.IO.Path.Combine(tmpFolder, "历史数据");
CheckFolderandFile(0, globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.DataFolder);
globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.FwFolder = System.IO.Path.Combine(tmpFolder, "固件更新");
CheckFolderandFile(0, globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.FwFolder);
globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.TmpFolder = System.IO.Path.Combine(tmpFolder, "tmpfile");
CheckFolderandFile(0, globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.TmpFolder);
globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.LogFolder = System.IO.Path.Combine(tmpFolder, "Logs");
CheckFolderandFile(0, globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.LogFolder);
tmpFolder = globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.StatusFolder;
globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.SubStatusFolder = System.IO.Path.Combine(tmpFolder, "子状态");
CheckFolderandFile(0, globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.SubStatusFolder);
tmpFolder = null;
}
public void InitAppDefaultConfig()
{
globaldata.m_pcbuffer.gcpcinfo.pcfileinfo.cur_MethodName = System.IO.Path.Combine(
globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.MethodFolder,
"SingleAnal.ini(单次运行默认方法)");
globaldata.m_pcbuffer.gcpcinfo.pcfileinfo.cur_StatusName = System.IO.Path.Combine(
globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.StatusFolder,
"DevStatus.ini");
if(!String.IsNullOrEmpty(globaldata.connection_ip) && File.Exists(globaldata.m_pcbuffer.gcpcinfo.pcfileinfo.cur_StatusName) == false)
{
File.Create(globaldata.m_pcbuffer.gcpcinfo.pcfileinfo.cur_StatusName).Dispose();
}
globaldata.m_pcbuffer.gcpcinfo.pcfileinfo.cur_RunTab = System.IO.Path.Combine(
globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.RunTabFolder,
"RunMethod.ini");
if (!File.Exists(globaldata.m_pcbuffer.gcpcinfo.pcfileinfo.cur_RunTab))
{
RunTableHelper default_runtable =
new RunTableHelper(globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.RunTabFolder, "RunMethod.ini");
default_runtable.SaveRunTable();
}
}
public void InitDB()
{
//SQLiteHelper mydb = new SQLiteHelper();
//mydb.fillmachineinfo("GC1001", "a.ini", "DevStatus.ini", "192.168.1.87", 1, 2);
}
/// <summary>
/// 获取所有GC的配置和方法
/// </summary>
//public void InitAllGC()
//{
// int devicecount = 0;
// devicecount = globaldata.DeviceList.Count;
// int i = 0;
// int j = 0;
// string tmpfile = "";
// string tmpip = "";
// string tmpname = "";
// int ret = 0;
// if (devicecount > 0)
// {
// //globaldata.DeviceName.Clear();
// globaldata.GCMethodName.Clear();
// globaldata.GCBatMethodName.Clear();
// FileServerClient mainclient = new FileServerClient();
// try
// {
// for (i = 0; i < devicecount; i++)
// {
// tmpip = (((globaldata.DeviceInfo)(globaldata.DeviceList[i])).IpAddr);
// mainclient.WtClientInit(tmpip, globaldata.fileserverport);
// ////获取设备配置
// //tmpfile = globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.StatusFolder + "\\" + globaldata.DeviceName[i].ToString() + "\\DevStatus.ini";
// //if (System.IO.File.Exists(tmpfile))
// //{
// // Thread.Sleep(100);
// // System.IO.File.Delete(tmpfile);
// //}
// //ret = mainclient.WtClientCopyfromServer("DevStatus.ini", tmpfile, globaldata.remoteFolder + "仪器状态\\");
// //Thread.Sleep(400);
// //{
// // FileHelper tmpfh = new FileHelper(tmpfile);
// // tmpname = tmpfh.GetProfileString("仪器编号", "仪器编码", "无编码设备");
// // globaldata.DeviceName.Add(tmpname);
// //}
// //获取单次运行方法
// tmpfile = globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.MethodFolder + "\\" + globaldata.DeviceName[i].ToString() + "\\SingleAnal.ini";
// if (System.IO.File.Exists(tmpfile))
// {
// Thread.Sleep(100);
// System.IO.File.Delete(tmpfile);
// }
// ret = mainclient.WtClientCopyfromServer("SingleAnal.ini", tmpfile, globaldata.remoteFolder + "仪器方法\\");
// Thread.Sleep(500);
// if (System.IO.File.Exists(tmpfile))
// {
// FileHelper tmpfh = new FileHelper(tmpfile);
// tmpname = tmpfh.GetProfileString("方法名称", "名称", "SingleAnal.ini");
// if (tmpname != "SingleAnal.ini")
// {
// tmpfile = globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.MethodFolder + "\\" + globaldata.DeviceName[i].ToString() + "\\" + tmpname;
// ret = mainclient.WtClientCopyfromServer(tmpname, tmpfile, globaldata.remoteFolder + "仪器方法\\");
// Thread.Sleep(500);
// }
// globaldata.GCMethodName.Add(tmpname);
// }
// //获取批处理及其方法
// tmpfile = globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.RunTabFolder + "\\" + globaldata.DeviceName[i].ToString() + "\\RunMethod.ini";
// if (System.IO.File.Exists(tmpfile))
// {
// Thread.Sleep(100);
// System.IO.File.Delete(tmpfile);
// }
// ret = mainclient.WtClientCopyfromServer("RunMethod.ini", tmpfile, globaldata.remoteFolder + "运行表\\");
// Thread.Sleep(500);
// if (System.IO.File.Exists(tmpfile))
// {
// string[] runtabnames = new string[256];
// FileHelper tmpfh = new FileHelper(tmpfile);
// runtabnames = tmpfh.GetAllItemKeys("运行表");
// Console.WriteLine("IP:" + tmpip);
// for (j = 0; j < runtabnames.Length; j++)
// {
// if (j != 0)
// {
// tmpname = tmpfh.GetProfileString("运行表", runtabnames[j], "SingleAnal.ini");
// tmpfile = globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.MethodFolder + "\\" + globaldata.DeviceName[i].ToString() + "\\" + tmpname;
// if (System.IO.File.Exists(tmpfile))
// {
// Console.WriteLine(tmpfile.ToString() + " 方法已经存在!");
// }
// else
// {
// mainclient.WtClientCopyfromServer(tmpname, tmpfile, globaldata.remoteFolder + "仪器方法\\");
// Thread.Sleep(500);
// }
// if (j == 0)
// {
// globaldata.GCBatMethodName.Add(tmpname);
// }
// }
// }
// }
// }
// }
// catch
// {
// Console.WriteLine(tmpip + " is error!");
// }
// mainclient.WtClientClose();
// Console.WriteLine("InitAllGC is OK!");
// }
//}
//public void InitAllGCConfig()
//{
// int devicecount = 0;
// devicecount = globaldata.DeviceList.Count;
// int i = 0;
// string tmpfile = "";
// if (devicecount > 0)
// {
// globaldata.GCHWConfigs.Clear();
// for (i = 0; i < devicecount; i++)
// {
// tmpfile = globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.StatusFolder + "\\" + globaldata.DeviceName[i].ToString() + "\\DevStatus.ini";
// HWConfig m_hwconfig = new HWConfig(tmpfile);
// m_hwconfig.GetHWConfig();
// globaldata.GCHWConfigs.Add(m_hwconfig);
// }
// }
//}
/// <summary>
/// 初始化基础线程
/// </summary>
//public void InitGCThread()
//{
// int devicecount = 0;
// devicecount = globaldata.DeviceList.Count;
// int i = 0;
// string tmpip = "";
// HWConfig m_hwconfig;
// HMIState mystate;
// ChannelData mychanneldata;
// GCDisplay mydisplay;
// Console.WriteLine("开始启动线程!");
// if (devicecount > 0)
// {
// globaldata.t_hmistate.Clear(); //清理状态采集线程
// globaldata.t_channeldata.Clear(); //清理通道采集线程
// globaldata.t_displaydata.Clear();
// for (i = 0; i < devicecount; i++)
// {
// tmpip = (((globaldata.DeviceInfo)(globaldata.DeviceList[i])).IpAddr);
// m_hwconfig = (HWConfig)globaldata.GCHWConfigs[i];
// mystate = new HMIState(tmpip, 502);
// mystate.SetHMIMAcState((((globaldata.DeviceInfo)(globaldata.DeviceList[i])).MacAddr));
// mystate.HmiStatueStart();
// mystate.SetHWConfig(m_hwconfig);
// globaldata.t_hmistate.Add(mystate);
// mychanneldata = new ChannelData(tmpip, 502);
// mychanneldata.ChannelDataStart();
// mychanneldata.SetHWConfig(m_hwconfig);
// globaldata.t_channeldata.Add(mychanneldata);
// mydisplay = new GCDisplay(tmpip, 502);
// mydisplay.DisplayDataStart();
// globaldata.t_displaydata.Add(mydisplay);
// }
// }
// Console.WriteLine("线程均启动!");
//}
//public void InitGCControl()
//{
// int devicecount = 0;
// devicecount = globaldata.DeviceList.Count;
// int i = 0;
// string tmpip = "";
// HMIControl mycontrol;
// if (devicecount > 0)
// {
// globaldata.t_hmicontrol.Clear();
// for (i = 0; i < devicecount; i++)
// {
// tmpip = (((globaldata.DeviceInfo)(globaldata.DeviceList[i])).IpAddr);
// mycontrol = new HMIControl(tmpip, globaldata.datamodbusport);
// globaldata.t_hmicontrol.Add(mycontrol);
// }
// }
//}
}
}
...@@ -12,27 +12,27 @@ namespace GcDevicePc.Common ...@@ -12,27 +12,27 @@ namespace GcDevicePc.Common
[DllImport(@"LibModbus.dll", EntryPoint = "fnLibModbus", CharSet = CharSet.Unicode)] [DllImport(@"LibModbus.dll", EntryPoint = "fnLibModbus", CharSet = CharSet.Unicode)]
public static extern uint fnLibModbus(); public static extern uint fnLibModbus();
[DllImport(@"LibModbus.dll", EntryPoint = "fnReadCoilStatus")] [DllImport(@"LibModbus.dll", EntryPoint = "fnReadCoilStatus")]
public static extern int fnReadCoilStatus(uint handle, ushort address, ushort num, [MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 1)] System.Byte[] dest, byte[] Ip, ushort wTcpPort); public static extern int fnReadCoilStatus(uint handle, byte slaveaddress, ushort address, ushort num, [MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 1)] System.Byte[] dest, byte[] Ip, ushort wTcpPort);
[DllImport(@"LibModbus.dll", EntryPoint = "fnReadInputStatus")] [DllImport(@"LibModbus.dll", EntryPoint = "fnReadInputStatus")]
public static extern int fnReadInputStatus(uint handle, ushort address, ushort num, [MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 1)] System.Char[] dest, byte[] Ip, ushort wTcpPort); public static extern int fnReadInputStatus(uint handle, byte slaveaddress, ushort address, ushort num, [MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 1)] System.Char[] dest, byte[] Ip, ushort wTcpPort);
[DllImport(@"LibModbus.dll", EntryPoint = "fnReadHoldingReg")] [DllImport(@"LibModbus.dll", EntryPoint = "fnReadHoldingReg")]
public static extern int fnReadHoldingReg(uint handle, ushort address, ushort num, [MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 1)] System.UInt16[] dest, byte[] Ip, ushort wTcpPort); public static extern int fnReadHoldingReg(uint handle, byte slaveaddress, ushort address, ushort num, [MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 1)] System.UInt16[] dest, byte[] Ip, ushort wTcpPort);
[DllImport(@"LibModbus.dll", EntryPoint = "fnReadInputReg")] [DllImport(@"LibModbus.dll", EntryPoint = "fnReadInputReg")]
public static extern int fnReadInputReg(uint handle, ushort address, ushort num, [MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 1)] System.UInt16[] dest, byte[] Ip, ushort wTcpPort); public static extern int fnReadInputReg(uint handle, byte slaveaddress, ushort address, ushort num, [MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 1)] System.UInt16[] dest, byte[] Ip, ushort wTcpPort);
[DllImport(@"LibModbus.dll", EntryPoint = "fnWriteSingleCoil")] [DllImport(@"LibModbus.dll", EntryPoint = "fnWriteSingleCoil")]
public static extern int fnWriteSingleCoil(uint handle, ushort address, ushort state, byte[] Ip, ushort wTcpPort); public static extern int fnWriteSingleCoil(uint handle, byte slaveaddress, ushort address, ushort state, byte[] Ip, ushort wTcpPort);
[DllImport(@"LibModbus.dll", EntryPoint = "fnWriteHoldingReg")] [DllImport(@"LibModbus.dll", EntryPoint = "fnWriteHoldingReg")]
public static extern int fnWriteHoldingReg(uint handle, ushort address, ushort state, byte[] Ip, ushort wTcpPort); public static extern int fnWriteHoldingReg(uint handle, byte slaveaddress, ushort address, ushort state, byte[] Ip, ushort wTcpPort);
[DllImport(@"LibModbus.dll", EntryPoint = "fnWriteMultipleCoils")] [DllImport(@"LibModbus.dll", EntryPoint = "fnWriteMultipleCoils")]
public static extern int fnWriteMultipleCoils(uint handle, ushort address, ushort num, [MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 1)] System.Char[] src, byte[] Ip, ushort wTcpPort); public static extern int fnWriteMultipleCoils(uint handle, byte slaveaddress, ushort address, ushort num, [MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 1)] System.Char[] src, byte[] Ip, ushort wTcpPort);
[DllImport(@"LibModbus.dll", EntryPoint = "fnWriteMultipleRegs")] [DllImport(@"LibModbus.dll", EntryPoint = "fnWriteMultipleRegs")]
public static extern int fnWriteMultipleRegs(uint handle, ushort address, ushort num, [MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 1)] System.UInt16[] src, byte[] Ip, ushort wTcpPort); public static extern int fnWriteMultipleRegs(uint handle, byte slaveaddress, ushort address, ushort num, [MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 1)] System.UInt16[] src, byte[] Ip, ushort wTcpPort);
[DllImport(@"LibModbus.dll", EntryPoint = "fnReportSlaveID")] [DllImport(@"LibModbus.dll", EntryPoint = "fnReportSlaveID")]
public static extern int fnReportSlaveID(uint handle, [MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 1)] System.Char[] src, byte[] Ip, ushort wTcpPort); public static extern int fnReportSlaveID(uint handle, [MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 1)] System.Char[] src, byte[] Ip, ushort wTcpPort);
[DllImport(@"LibModbus.dll", EntryPoint = "fnMaskWriteReg")] [DllImport(@"LibModbus.dll", EntryPoint = "fnMaskWriteReg")]
public static extern int fnMaskWriteReg(uint handle, ushort address, ushort amask, ushort omask, byte[] Ip, ushort wTcpPort); public static extern int fnMaskWriteReg(uint handle, byte slaveaddress, ushort address, ushort amask, ushort omask, byte[] Ip, ushort wTcpPort);
[DllImport(@"LibModbus.dll", EntryPoint = "fnReadWriteMultipleRegs")] [DllImport(@"LibModbus.dll", EntryPoint = "fnReadWriteMultipleRegs")]
public static extern int fnReadWriteMultipleRegs(uint handle, ushort waddress, ushort wnum, ushort raddress, ushort rnum, [MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 1)] System.UInt16[] dest, byte[] Ip, ushort wTcpPort); public static extern int fnReadWriteMultipleRegs(uint handle, byte slaveaddress, ushort waddress, ushort wnum, ushort raddress, ushort rnum, [MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 1)] System.UInt16[] dest, byte[] Ip, ushort wTcpPort);
[DllImport(@"LibModbus.dll", EntryPoint = "fnLibModbusClose")] [DllImport(@"LibModbus.dll", EntryPoint = "fnLibModbusClose")]
public static extern void fnLibModbusClose(uint handle); public static extern void fnLibModbusClose(uint handle);
...@@ -53,7 +53,7 @@ namespace GcDevicePc.Common ...@@ -53,7 +53,7 @@ namespace GcDevicePc.Common
{ {
int ret; int ret;
byte[] bIp = Encoding.Unicode.GetBytes(ip); byte[] bIp = Encoding.Unicode.GetBytes(ip);
ret = fnReadCoilStatus(hModbusHandle, (ushort)(addr - 1), num, buf, bIp, wport); ret = fnReadCoilStatus(hModbusHandle,1, (ushort)(addr - 1), num, buf, bIp, wport);
return ret; return ret;
} }
...@@ -61,7 +61,7 @@ namespace GcDevicePc.Common ...@@ -61,7 +61,7 @@ namespace GcDevicePc.Common
{ {
int ret; int ret;
byte[] bIp = Encoding.Unicode.GetBytes(ip); byte[] bIp = Encoding.Unicode.GetBytes(ip);
ret = fnReadInputStatus(hModbusHandle, addr, 1, buf, bIp, 502); ret = fnReadInputStatus(hModbusHandle,1, addr, 1, buf, bIp, 502);
return ret; return ret;
} }
...@@ -69,7 +69,7 @@ namespace GcDevicePc.Common ...@@ -69,7 +69,7 @@ namespace GcDevicePc.Common
{ {
int ret; int ret;
byte[] bIp = Encoding.Unicode.GetBytes(ip); byte[] bIp = Encoding.Unicode.GetBytes(ip);
ret = fnReadHoldingReg(hModbusHandle, (ushort)(addr - 1), num, buf, bIp, wport); ret = fnReadHoldingReg(hModbusHandle,1, (ushort)(addr - 1), num, buf, bIp, wport);
return ret; return ret;
} }
...@@ -77,7 +77,7 @@ namespace GcDevicePc.Common ...@@ -77,7 +77,7 @@ namespace GcDevicePc.Common
{ {
int ret; int ret;
byte[] bIp = Encoding.Unicode.GetBytes(ip); byte[] bIp = Encoding.Unicode.GetBytes(ip);
ret = fnReadInputReg(hModbusHandle, addr, 1, dest, bIp, 502); ret = fnReadInputReg(hModbusHandle, 1,addr, 1, dest, bIp, 502);
buf[0] = dest[0]; buf[0] = dest[0];
return ret; return ret;
} }
...@@ -86,7 +86,7 @@ namespace GcDevicePc.Common ...@@ -86,7 +86,7 @@ namespace GcDevicePc.Common
{ {
int ret = 0; int ret = 0;
byte[] bIp = Encoding.Unicode.GetBytes(ip); byte[] bIp = Encoding.Unicode.GetBytes(ip);
ret = fnWriteSingleCoil(hModbusHandle, (ushort)(addr - 1), state, bIp, wport); ret = fnWriteSingleCoil(hModbusHandle, 1, (ushort)(addr - 1), state, bIp, wport);
return ret; return ret;
} }
...@@ -94,7 +94,7 @@ namespace GcDevicePc.Common ...@@ -94,7 +94,7 @@ namespace GcDevicePc.Common
{ {
int ret = 0; int ret = 0;
byte[] bIp = Encoding.Unicode.GetBytes(ip); byte[] bIp = Encoding.Unicode.GetBytes(ip);
ret = fnWriteHoldingReg(hModbusHandle, (ushort)(addr - 1), state, bIp, wport); ret = fnWriteHoldingReg(hModbusHandle,1, (ushort)(addr - 1), state, bIp, wport);
return ret; return ret;
} }
...@@ -102,7 +102,7 @@ namespace GcDevicePc.Common ...@@ -102,7 +102,7 @@ namespace GcDevicePc.Common
{ {
int ret; int ret;
byte[] bIp = Encoding.Unicode.GetBytes(ip); byte[] bIp = Encoding.Unicode.GetBytes(ip);
ret = fnWriteMultipleRegs(hModbusHandle, (ushort)(addr - 1), num, buf, bIp, wport); ret = fnWriteMultipleRegs(hModbusHandle,1, (ushort)(addr - 1), num, buf, bIp, wport);
return ret; return ret;
} }
...@@ -118,7 +118,7 @@ namespace GcDevicePc.Common ...@@ -118,7 +118,7 @@ namespace GcDevicePc.Common
{ {
int ret = 0; int ret = 0;
byte[] bIp = Encoding.Unicode.GetBytes(ip); byte[] bIp = Encoding.Unicode.GetBytes(ip);
ret = fnMaskWriteReg(hModbusHandle, addr, amask, omask, bIp, 502); ret = fnMaskWriteReg(hModbusHandle, 1, addr, amask, omask, bIp, 502);
return ret; return ret;
} }
...@@ -126,7 +126,7 @@ namespace GcDevicePc.Common ...@@ -126,7 +126,7 @@ namespace GcDevicePc.Common
{ {
int ret = 0; int ret = 0;
byte[] bIp = Encoding.Unicode.GetBytes(ip); byte[] bIp = Encoding.Unicode.GetBytes(ip);
ret = fnReadWriteMultipleRegs(hModbusHandle, waddr, wnum, raddr, rnum, buf, bIp, 502); ret = fnReadWriteMultipleRegs(hModbusHandle, 1, waddr, wnum, raddr, rnum, buf, bIp, 502);
return ret; return ret;
} }
......
...@@ -105,8 +105,6 @@ namespace GcDevicePc.Common ...@@ -105,8 +105,6 @@ namespace GcDevicePc.Common
value = s[(address - baseaddress)%2]; value = s[(address - baseaddress)%2];
}catch{ }catch{
}finally{
} }
//} //}
} }
...@@ -137,7 +135,7 @@ namespace GcDevicePc.Common ...@@ -137,7 +135,7 @@ namespace GcDevicePc.Common
break; break;
case 8: //HMI状态 case 8: //HMI状态
{ {
value = (ushort)(globaldata.m_hmibuffer.gcinfo.methodstatus); value = globaldata.m_hmibuffer.gcinfo.methodstatus;
} }
break; break;
case 9: //前进样口 case 9: //前进样口
......
using System;
using System.Runtime.InteropServices;
namespace GcDevicePc.Common
{
class GCModbusSlave485
{
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public unsafe delegate ushort SlaveReadHoldingRegister(ushort address);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public unsafe delegate void SlaveWriteHoldingRegister(ushort address, ushort value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public unsafe delegate ushort SlaveReadCoilsRegister(ushort address);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public unsafe delegate void SlaveWriteCoilsRegister(ushort address, ushort value);
[DllImport(@"LibModbus.dll", EntryPoint = "fnLibModbusSlave485Init", CharSet = CharSet.Unicode)]
public static extern uint fnLibModbusSlave485Init(System.Byte port, System.Int32 BaudRate);
[DllImport(@"LibModbus.dll", EntryPoint = "fnLibModbusSlaveHoldingRegister", CallingConvention = CallingConvention.Cdecl)]
public static extern void fnLibModbusSlaveHoldingRegister(System.UInt32 handle, SlaveReadHoldingRegister callslavereadholdingreg, SlaveWriteHoldingRegister callslavewirteholdingreg, ushort startAddr, ushort NReg);
[DllImport(@"LibModbus.dll", EntryPoint = "fnLibModbusSlaveCoilsRegister", CallingConvention = CallingConvention.Cdecl)]
public static extern void fnLibModbusSlaveCoilsRegister(System.UInt32 handle, SlaveReadCoilsRegister callslavereadcoilsreg, SlaveWriteCoilsRegister callslavewirtecoilsreg, ushort startAddr, ushort NReg);
[DllImport(@"LibModbus.dll", EntryPoint = "fnLibModbusSlaveClose")]
public static extern uint fnLibModbusSlaveClose(uint handle);
private uint hModbusHandle;
public GCModbusSlave485(Byte port, int baudrate )
{
this.hModbusHandle = fnLibModbusSlave485Init(port, baudrate);
}
~GCModbusSlave485()
{
try
{
fnLibModbusSlaveClose(hModbusHandle);
}
catch
{
}
}
public uint CModbusSlave485Close()
{
uint ret = 0;
try
{
ret = fnLibModbusSlaveClose(hModbusHandle);
}
catch
{
Console.WriteLine("Slave 退出出现Bug");
}
return ret;
}
public void CModbusSlave485Init(ushort hstartaddr, ushort hnreg, ushort cstartaddr, ushort cnreg)
{
setHoldingRegisterFunc(hstartaddr, hnreg);
setCoilsRegisterFunc(cstartaddr, cnreg);
}
SlaveReadHoldingRegister MySlaveReadHoldingRegister;
SlaveWriteHoldingRegister MySlaveWriteHoldingRegister;
public void setHoldingRegisterFunc(ushort startaddr, ushort nreg)
{
MySlaveReadHoldingRegister = new SlaveReadHoldingRegister(slavereadhreg);
MySlaveWriteHoldingRegister = new SlaveWriteHoldingRegister(slavewirtehreg);
fnLibModbusSlaveHoldingRegister(hModbusHandle, MySlaveReadHoldingRegister, MySlaveWriteHoldingRegister, startaddr, nreg);
}
static ushort slavereadhreg(ushort address)
{
ushort value = 0;
ushort baseaddress = 20;
address = (ushort)(address - 1);
int listnum = CKVocAnalyzer.GlobalCKV.valueparamlist.Count;
int readnum = (address - baseaddress) / 2;
if (readnum <= listnum - 1 && listnum > 0 && address >= 20)
{
try
{
ushort[] s = new ushort[2];
float[] f = new float[2];
{
f[0] = float.Parse(CKVocAnalyzer.GlobalCKV.valueparamlist[(ushort)readnum].ToString());
Buffer.BlockCopy(f, 2, s, 0, 2);
Buffer.BlockCopy(f, 0, s, 2, 2);
}
value = s[(address - baseaddress) % 2];
}
catch
{
}
}
return value;
}
static void slavewirtehreg(ushort address, ushort value)
{
Console.WriteLine("MoudbusSlave Wirte adder:" + address.ToString() + " value:" + value.ToString());
}
SlaveReadCoilsRegister MySlaveReadCoilsRegister;
SlaveWriteCoilsRegister MySlaveWriteCoilsRegister;
public void setCoilsRegisterFunc(ushort startaddr, ushort nreg)
{
MySlaveReadCoilsRegister = new SlaveReadCoilsRegister(slavereadcreg);
MySlaveWriteCoilsRegister = new SlaveWriteCoilsRegister(slavewirtecreg);
fnLibModbusSlaveCoilsRegister(hModbusHandle, MySlaveReadCoilsRegister, MySlaveWriteCoilsRegister, startaddr, nreg);
}
public static ushort slavereadcreg(ushort address)
{
ushort value = 0;
// Console.WriteLine("MoudbusSlave Read Holding adder is " + CKVocAnalyzer.GlobalCKV.valueparamlist.ToString());
return value;
}
public static void slavewirtecreg(ushort address, ushort value)
{
//Console.WriteLine("MoudbusSlave Wirte adder:" + address.ToString() + " value:" + value.ToString());
}
}
}
using System.Diagnostics;
using log4net;
using System.Reflection;
namespace GcDevicePc.Common
{
public static class Log
{
private static readonly ILog logInfo = LogManager.GetLogger("Log");
private static readonly ILog logErr = LogManager.GetLogger("Err");
/// <summary>
/// 记录正常的消息
/// </summary>
/// <param name="msg">消息内容</param>
public static void Info(string msg)
{
logInfo.Info(msg);
}
/// <summary>
/// 记录异常信息
/// </summary>
/// <param name="msg">异常信息内容</param>
public static void Error(string msg)
{
StackTrace stackTrace = new StackTrace();
StackFrame stackFrame = stackTrace.GetFrame(1);
MethodBase methodBase = stackFrame.GetMethod();
logErr.Error("ClassName:" + methodBase.ReflectedType.Name + " Func Name:" + methodBase.Name + " Info:" + msg);
}
}
}
using System;
using System.IO;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Ini.Net;
namespace GcDevicePc.Common
{
class RunTableHelper
{
private string _filename;
private string _asfilename;
public bool fileflag =false;
private IniFile RunTableFile;
private IniFile AsRunTableFile;
public List<String> _methodname = new List<String>();
public List<Int32> _runcount = new List<Int32>();
public List<Int32> _runtime = new List<Int32>();
private void RunTableInit()
{
_methodname.Add("开机");
_runcount.Add(1);
_runtime.Add(1);
}
public RunTableHelper(String folder, String filename)
{
_filename = folder+"\\"+filename;
try
{
if (!File.Exists(_filename))
{
StreamWriter sw = new StreamWriter(_filename, false, Encoding.Unicode);
sw.WriteLine("[Total]");
sw.WriteLine("[运行表]");
sw.WriteLine("[循环]");
sw.WriteLine("[运行时间]");
sw.Close();
fileflag = true;
RunTableInit();
}
else
{
fileflag = true;
}
}
catch (Exception e)
{
Log.Error(e.Message);
}
if (fileflag)
LoadRunTable();
}
public void LoadRunTable()
{
RunTableFile = new IniFile(_filename);
int num = 0;
int i = 0;
if (RunTableFile.KeyExists("Total", "count"))
{
num = RunTableFile.ReadInteger("Total", "count");
for (i = 0; i < num ; i++)
{
_methodname.Add(RunTableFile.ReadString("运行表",i.ToString()));
_runcount.Add(RunTableFile.ReadInteger("循环", i.ToString()));
_runtime.Add(RunTableFile.ReadInteger("运行时间", i.ToString()));
}
}
else
{
for (i = 0; i < 100; i++)
{
if ( RunTableFile.KeyExists("运行表", i.ToString()) && RunTableFile.KeyExists("循环", i.ToString()) && RunTableFile.KeyExists("运行时间", i.ToString()))
{
_methodname.Add(RunTableFile.ReadString("运行表", i.ToString()));
_runcount.Add(RunTableFile.ReadInteger("循环", i.ToString()));
_runtime.Add(RunTableFile.ReadInteger("运行时间", i.ToString()));
}
else
{
RunTableFile.WriteInteger("Total", "count", i);
break;
}
}
}
}
public void DelRunTable()
{
if(File.Exists(_filename))
File.Delete(_filename);
}
public void AddItem(String name, Int32 count, Int32 time)
{
_methodname.Add(name);
_runcount.Add(count);
_runtime.Add(time);
}
public void ModifyItem(Int32 index, String name, Int32 count, Int32 time)
{
_methodname[index] = name;
_runcount[index] = count;
_runtime[index] = time;
}
public bool RemoveItem(String name, Int32 count, Int32 time)
{
int indexno = 0;
if (_methodname.Contains(name))
{
indexno &= _methodname.IndexOf(name);
indexno &= _runcount.IndexOf(count);
indexno &= _runtime.IndexOf(time);
if (indexno == 0)
{
_methodname.RemoveAt(indexno);
_runcount.RemoveAt(indexno);
_runtime.RemoveAt(indexno);
return true;
}
}
return false;
}
private bool saveini(IniFile saveini)
{
int i;
int count = _methodname.Count & _runcount.Count & _runtime.Count;
for (i = 0; i < _methodname.Count; i++)
{
saveini.WriteString("运行表", i.ToString(), _methodname[i]);
}
for (i = 0; i < _runcount.Count; i++)
{
saveini.WriteInteger("循环", i.ToString(), _runcount[i]);
}
for (i = 0; i < _runtime.Count; i++)
{
saveini.WriteInteger("运行时间", i.ToString(), _runtime[i]);
}
saveini.WriteInteger("Total", "count", count);
return true;
}
public bool SaveRunTable()
{
return saveini(RunTableFile);
}
public bool SaveAsRunTable(String folder, String filename)
{
_asfilename = folder + "\\" + filename;
try
{
if (!File.Exists(_asfilename))
{
StreamWriter sw = new StreamWriter(_asfilename, false, Encoding.Unicode);
sw.WriteLine("[Total]");
sw.WriteLine("[运行表]");
sw.WriteLine("[循环]");
sw.WriteLine("[运行时间]");
sw.Close();
}
}
catch (Exception e)
{
Log.Error(e.Message);
}
AsRunTableFile = new IniFile(_asfilename);
return saveini(AsRunTableFile);
}
}
}
...@@ -89,6 +89,7 @@ ...@@ -89,6 +89,7 @@
this.Activated += new System.EventHandler(this.FormUser_Activated); this.Activated += new System.EventHandler(this.FormUser_Activated);
this.Deactivate += new System.EventHandler(this.FormUser_Deactivate); this.Deactivate += new System.EventHandler(this.FormUser_Deactivate);
this.Load += new System.EventHandler(this.FormUser_Load); this.Load += new System.EventHandler(this.FormUser_Load);
this.Resize += new System.EventHandler(this.FormUser_Resize);
this.ResumeLayout(false); this.ResumeLayout(false);
} }
......
...@@ -34,6 +34,7 @@ namespace GcDevicePc ...@@ -34,6 +34,7 @@ namespace GcDevicePc
// MessageBox.Show("停用"); // MessageBox.Show("停用");
// Console.WriteLine("停用"); // Console.WriteLine("停用");
} }
public event Fireport autofire; public event Fireport autofire;
private void buttonFID_Click(object sender, EventArgs e) private void buttonFID_Click(object sender, EventArgs e)
{ {
...@@ -41,5 +42,11 @@ namespace GcDevicePc ...@@ -41,5 +42,11 @@ namespace GcDevicePc
} }
private void FormUser_Resize(object sender, EventArgs e)
{
this.buttonFID.Location = new Point(this.infoBarUser1.Width + 50, this.infoBarUser1.Location.Y + 10);
this.buttonauto.Location = new Point(this.infoBarUser1.Width + 50, this.infoBarUser1.Location.Y + 80);
}
} }
} }
...@@ -12,9 +12,12 @@ namespace GcDevicePc.GCBuffer ...@@ -12,9 +12,12 @@ namespace GcDevicePc.GCBuffer
public string DataFolder; //数据保存目录 public string DataFolder; //数据保存目录
public string RunFolder; //当前程序运行目录 public string RunFolder; //当前程序运行目录
public string MethodFolder; //当前方法目录 public string MethodFolder; //当前方法目录
public string StatusFolder; //当前状态目录 public string StatusFolder; //当前配置目录
public string subStatusFolder; //当前状态目录 public string SubStatusFolder; //当前配置子目录
public string RunTabFolder; //当前运行表目录 public string RunTabFolder; //当前运行表目录
public string FwFolder; //固件更新目录
public string TmpFolder; //TMPFile目录
public string LogFolder; //Log目录
} }
public struct GCFileInfo public struct GCFileInfo
...@@ -58,8 +61,11 @@ namespace GcDevicePc.GCBuffer ...@@ -58,8 +61,11 @@ namespace GcDevicePc.GCBuffer
gcpcinfo.pcfolderinfo.RunFolder = null; gcpcinfo.pcfolderinfo.RunFolder = null;
gcpcinfo.pcfolderinfo.MethodFolder = null; gcpcinfo.pcfolderinfo.MethodFolder = null;
gcpcinfo.pcfolderinfo.StatusFolder = null; gcpcinfo.pcfolderinfo.StatusFolder = null;
gcpcinfo.pcfolderinfo.subStatusFolder = null; gcpcinfo.pcfolderinfo.SubStatusFolder = null;
gcpcinfo.pcfolderinfo.RunTabFolder = null; gcpcinfo.pcfolderinfo.RunTabFolder = null;
gcpcinfo.pcfolderinfo.FwFolder = null;
gcpcinfo.pcfolderinfo.TmpFolder = null;
gcpcinfo.pcfolderinfo.LogFolder = null;
gcpcinfo.pcfileinfo.cur_MethodName = null; gcpcinfo.pcfileinfo.cur_MethodName = null;
gcpcinfo.pcfileinfo.cur_OpenMethodName = null; gcpcinfo.pcfileinfo.cur_OpenMethodName = null;
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder> <AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>GcDevicePc</RootNamespace> <RootNamespace>GcDevicePc</RootNamespace>
<AssemblyName>GcDevicePc</AssemblyName> <AssemblyName>GcDevicePc</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion> <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment> <FileAlignment>512</FileAlignment>
<IsWebBootstrapper>false</IsWebBootstrapper> <IsWebBootstrapper>false</IsWebBootstrapper>
<TargetFrameworkProfile> <TargetFrameworkProfile>
...@@ -67,7 +67,7 @@ ...@@ -67,7 +67,7 @@
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<DebugSymbols>true</DebugSymbols> <DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\Debug\</OutputPath> <OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants> <DefineConstants>DEBUG;TRACE</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks> <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DebugType>full</DebugType> <DebugType>full</DebugType>
...@@ -99,6 +99,12 @@ ...@@ -99,6 +99,12 @@
<Reference Include="CKVocAnalyzer"> <Reference Include="CKVocAnalyzer">
<HintPath>..\dll\CKVocAnalyzer.dll</HintPath> <HintPath>..\dll\CKVocAnalyzer.dll</HintPath>
</Reference> </Reference>
<Reference Include="Ini.Net, Version=1.0.5531.18665, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\ini.net.1.1.0\lib\net20\Ini.Net.dll</HintPath>
</Reference>
<Reference Include="log4net, Version=2.0.8.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
<HintPath>..\packages\log4net.2.0.8\lib\net45-full\log4net.dll</HintPath>
</Reference>
<Reference Include="LogOperate"> <Reference Include="LogOperate">
<HintPath>..\dll\LogOperate.dll</HintPath> <HintPath>..\dll\LogOperate.dll</HintPath>
</Reference> </Reference>
...@@ -138,6 +144,7 @@ ...@@ -138,6 +144,7 @@
</Reference> </Reference>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="AppInit.cs" />
<Compile Include="auxtool.cs"> <Compile Include="auxtool.cs">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
...@@ -183,7 +190,9 @@ ...@@ -183,7 +190,9 @@
<Compile Include="Common\GCModbus.cs" /> <Compile Include="Common\GCModbus.cs" />
<Compile Include="Common\GCModbusSlave.cs" /> <Compile Include="Common\GCModbusSlave.cs" />
<Compile Include="Common\FileHelper.cs" /> <Compile Include="Common\FileHelper.cs" />
<Compile Include="Common\LogHelper.cs" /> <Compile Include="Common\GCModbusSlave485.cs" />
<Compile Include="Common\Log.cs" />
<Compile Include="Common\RunTableHelper.cs" />
<Compile Include="Common\SendDataToHW.cs" /> <Compile Include="Common\SendDataToHW.cs" />
<Compile Include="ConfigDlg\ChromeDlg.cs"> <Compile Include="ConfigDlg\ChromeDlg.cs">
<SubType>Form</SubType> <SubType>Form</SubType>
......
...@@ -31,22 +31,22 @@ ...@@ -31,22 +31,22 @@
this.components = new System.ComponentModel.Container(); this.components = new System.ComponentModel.Container();
this.menuStrip = new System.Windows.Forms.MenuStrip(); this.menuStrip = new System.Windows.Forms.MenuStrip();
this.用户管理ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.用户管理ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.用户登录ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.UserLoginMenu = new System.Windows.Forms.ToolStripMenuItem();
this.用户注销ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.UserLogoutMenu = new System.Windows.Forms.ToolStripMenuItem();
this.系统ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.系统ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.系统开启ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.SystemStartMenu = new System.Windows.Forms.ToolStripMenuItem();
this.系统关闭ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.SystemStopMenu = new System.Windows.Forms.ToolStripMenuItem();
this.辅助工具ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.AuxToolMenu = new System.Windows.Forms.ToolStripMenuItem();
this.运行ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.运行ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.网络配置ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.NetWorkMenu = new System.Windows.Forms.ToolStripMenuItem();
this.方法批处理ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.MethodBatMenu = new System.Windows.Forms.ToolStripMenuItem();
this.新建方法ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.NewMethodMenu = new System.Windows.Forms.ToolStripMenuItem();
this.打开方法文件ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.OpenMethodMenu = new System.Windows.Forms.ToolStripMenuItem();
this.方法查阅ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.MethodBrowseMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.窗口ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.窗口ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.调试窗口ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.HistoryDataMenu = new System.Windows.Forms.ToolStripMenuItem();
this.校准查看ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.CalibrationMenu = new System.Windows.Forms.ToolStripMenuItem();
this.历史谱图ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.HistoryPicMenu = new System.Windows.Forms.ToolStripMenuItem();
this.statusStrip = new System.Windows.Forms.StatusStrip(); this.statusStrip = new System.Windows.Forms.StatusStrip();
this.toolStripStatusLabelusertime = new System.Windows.Forms.ToolStripStatusLabel(); this.toolStripStatusLabelusertime = new System.Windows.Forms.ToolStripStatusLabel();
this.toolStripStatusLabeSystme = new System.Windows.Forms.ToolStripStatusLabel(); this.toolStripStatusLabeSystme = new System.Windows.Forms.ToolStripStatusLabel();
...@@ -75,134 +75,134 @@ ...@@ -75,134 +75,134 @@
// 用户管理ToolStripMenuItem // 用户管理ToolStripMenuItem
// //
this.用户管理ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.用户管理ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.用户登录ToolStripMenuItem, this.UserLoginMenu,
this.用户注销ToolStripMenuItem}); this.UserLogoutMenu});
this.用户管理ToolStripMenuItem.Name = "用户管理ToolStripMenuItem"; this.用户管理ToolStripMenuItem.Name = "用户管理ToolStripMenuItem";
this.用户管理ToolStripMenuItem.Size = new System.Drawing.Size(68, 21); this.用户管理ToolStripMenuItem.Size = new System.Drawing.Size(68, 21);
this.用户管理ToolStripMenuItem.Text = "用户管理"; this.用户管理ToolStripMenuItem.Text = "用户管理";
// //
// 用户登录ToolStripMenuItem // UserLoginMenu
// //
this.用户登录ToolStripMenuItem.Name = "用户登录ToolStripMenuItem"; this.UserLoginMenu.Name = "UserLoginMenu";
this.用户登录ToolStripMenuItem.Size = new System.Drawing.Size(124, 22); this.UserLoginMenu.Size = new System.Drawing.Size(180, 22);
this.用户登录ToolStripMenuItem.Text = "用户登录"; this.UserLoginMenu.Text = "用户登录";
this.用户登录ToolStripMenuItem.Click += new System.EventHandler(this.用户登录ToolStripMenuItem_Click); this.UserLoginMenu.Click += new System.EventHandler(this.UserLoginMenu_Click);
// //
// 用户注销ToolStripMenuItem // UserLogoutMenu
// //
this.用户注销ToolStripMenuItem.Name = "用户注销ToolStripMenuItem"; this.UserLogoutMenu.Name = "UserLogoutMenu";
this.用户注销ToolStripMenuItem.Size = new System.Drawing.Size(124, 22); this.UserLogoutMenu.Size = new System.Drawing.Size(180, 22);
this.用户注销ToolStripMenuItem.Text = "用户注销"; this.UserLogoutMenu.Text = "用户注销";
this.用户注销ToolStripMenuItem.Click += new System.EventHandler(this.用户注销ToolStripMenuItem_Click); this.UserLogoutMenu.Click += new System.EventHandler(this.UserLogoutMenu_Click);
// //
// 系统ToolStripMenuItem // 系统ToolStripMenuItem
// //
this.系统ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.系统ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.系统开启ToolStripMenuItem, this.SystemStartMenu,
this.系统关闭ToolStripMenuItem, this.SystemStopMenu,
this.辅助工具ToolStripMenuItem}); this.AuxToolMenu});
this.系统ToolStripMenuItem.Name = "系统ToolStripMenuItem"; this.系统ToolStripMenuItem.Name = "系统ToolStripMenuItem";
this.系统ToolStripMenuItem.Size = new System.Drawing.Size(44, 21); this.系统ToolStripMenuItem.Size = new System.Drawing.Size(44, 21);
this.系统ToolStripMenuItem.Text = "系统"; this.系统ToolStripMenuItem.Text = "系统";
// //
// 系统开启ToolStripMenuItem // SystemStartMenu
// //
this.系统开启ToolStripMenuItem.Name = "系统开启ToolStripMenuItem"; this.SystemStartMenu.Name = "SystemStartMenu";
this.系统开启ToolStripMenuItem.Size = new System.Drawing.Size(124, 22); this.SystemStartMenu.Size = new System.Drawing.Size(180, 22);
this.系统开启ToolStripMenuItem.Text = "系统开启"; this.SystemStartMenu.Text = "系统开启";
this.系统开启ToolStripMenuItem.Click += new System.EventHandler(this.系统开启ToolStripMenuItem_Click); this.SystemStartMenu.Click += new System.EventHandler(this.SystemStartMenu_Click);
// //
// 系统关闭ToolStripMenuItem // SystemStopMenu
// //
this.系统关闭ToolStripMenuItem.Name = "系统关闭ToolStripMenuItem"; this.SystemStopMenu.Name = "SystemStopMenu";
this.系统关闭ToolStripMenuItem.Size = new System.Drawing.Size(124, 22); this.SystemStopMenu.Size = new System.Drawing.Size(180, 22);
this.系统关闭ToolStripMenuItem.Text = "系统关闭"; this.SystemStopMenu.Text = "系统关闭";
this.系统关闭ToolStripMenuItem.Click += new System.EventHandler(this.系统关闭ToolStripMenuItem_Click); this.SystemStopMenu.Click += new System.EventHandler(this.SystemStopMenu_Click);
// //
// 辅助工具ToolStripMenuItem // AuxToolMenu
// //
this.辅助工具ToolStripMenuItem.Name = "辅助工具ToolStripMenuItem"; this.AuxToolMenu.Name = "AuxToolMenu";
this.辅助工具ToolStripMenuItem.Size = new System.Drawing.Size(124, 22); this.AuxToolMenu.Size = new System.Drawing.Size(180, 22);
this.辅助工具ToolStripMenuItem.Text = "辅助工具"; this.AuxToolMenu.Text = "辅助工具";
this.辅助工具ToolStripMenuItem.Click += new System.EventHandler(this.辅助工具ToolStripMenuItem_Click); this.AuxToolMenu.Click += new System.EventHandler(this.AuxToolMenu_Click);
// //
// 运行ToolStripMenuItem // 运行ToolStripMenuItem
// //
this.运行ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.运行ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.网络配置ToolStripMenuItem, this.NetWorkMenu,
this.方法批处理ToolStripMenuItem, this.MethodBatMenu,
this.新建方法ToolStripMenuItem, this.NewMethodMenu,
this.打开方法文件ToolStripMenuItem, this.OpenMethodMenu,
this.方法查阅ToolStripMenuItem}); this.MethodBrowseMenuItem});
this.运行ToolStripMenuItem.Name = "运行ToolStripMenuItem"; this.运行ToolStripMenuItem.Name = "运行ToolStripMenuItem";
this.运行ToolStripMenuItem.Size = new System.Drawing.Size(44, 21); this.运行ToolStripMenuItem.Size = new System.Drawing.Size(44, 21);
this.运行ToolStripMenuItem.Text = "设置"; this.运行ToolStripMenuItem.Text = "设置";
// //
// 网络配置ToolStripMenuItem // NetWorkMenu
// //
this.网络配置ToolStripMenuItem.Name = "网络配置ToolStripMenuItem"; this.NetWorkMenu.Name = "NetWorkMenu";
this.网络配置ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); this.NetWorkMenu.Size = new System.Drawing.Size(180, 22);
this.网络配置ToolStripMenuItem.Text = "网络配置"; this.NetWorkMenu.Text = "网络配置";
this.网络配置ToolStripMenuItem.Click += new System.EventHandler(this.网络配置ToolStripMenuItem_Click); this.NetWorkMenu.Click += new System.EventHandler(this.NetWorkMenu_Click);
// //
// 方法批处理ToolStripMenuItem // MethodBatMenu
// //
this.方法批处理ToolStripMenuItem.Name = "方法批处理ToolStripMenuItem"; this.MethodBatMenu.Name = "MethodBatMenu";
this.方法批处理ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); this.MethodBatMenu.Size = new System.Drawing.Size(180, 22);
this.方法批处理ToolStripMenuItem.Text = "方法批处理"; this.MethodBatMenu.Text = "方法批处理";
this.方法批处理ToolStripMenuItem.Click += new System.EventHandler(this.方法批处理ToolStripMenuItem_Click); this.MethodBatMenu.Click += new System.EventHandler(this.MethodBatMenu_Click);
// //
// 新建方法ToolStripMenuItem // NewMethodMenu
// //
this.新建方法ToolStripMenuItem.Name = "新建方法ToolStripMenuItem"; this.NewMethodMenu.Name = "NewMethodMenu";
this.新建方法ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); this.NewMethodMenu.Size = new System.Drawing.Size(180, 22);
this.新建方法ToolStripMenuItem.Text = "新建方法"; this.NewMethodMenu.Text = "新建方法";
this.新建方法ToolStripMenuItem.Click += new System.EventHandler(this.新建方法ToolStripMenuItem_Click); this.NewMethodMenu.Click += new System.EventHandler(this.NewMethodMenu_Click);
// //
// 打开方法文件ToolStripMenuItem // OpenMethodMenu
// //
this.打开方法文件ToolStripMenuItem.Name = "打开方法文件ToolStripMenuItem"; this.OpenMethodMenu.Name = "OpenMethodMenu";
this.打开方法文件ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); this.OpenMethodMenu.Size = new System.Drawing.Size(180, 22);
this.打开方法文件ToolStripMenuItem.Text = "打开方法文件"; this.OpenMethodMenu.Text = "打开方法文件";
this.打开方法文件ToolStripMenuItem.Click += new System.EventHandler(this.打开方法文件ToolStripMenuItem_Click); this.OpenMethodMenu.Click += new System.EventHandler(this.OpenMethodMenu_Click);
// //
// 方法查阅ToolStripMenuItem // MethodBrowseMenuItem
// //
this.方法查阅ToolStripMenuItem.Name = "方法查阅ToolStripMenuItem"; this.MethodBrowseMenuItem.Name = "MethodBrowseMenuItem";
this.方法查阅ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); this.MethodBrowseMenuItem.Size = new System.Drawing.Size(180, 22);
this.方法查阅ToolStripMenuItem.Text = "方法查阅"; this.MethodBrowseMenuItem.Text = "方法查阅";
this.方法查阅ToolStripMenuItem.Click += new System.EventHandler(this.方法查阅ToolStripMenuItem_Click); this.MethodBrowseMenuItem.Click += new System.EventHandler(this.MethodBrowseMenuItem_Click);
// //
// 窗口ToolStripMenuItem // 窗口ToolStripMenuItem
// //
this.窗口ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.窗口ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.调试窗口ToolStripMenuItem, this.HistoryDataMenu,
this.校准查看ToolStripMenuItem, this.CalibrationMenu,
this.历史谱图ToolStripMenuItem}); this.HistoryPicMenu});
this.窗口ToolStripMenuItem.Name = "窗口ToolStripMenuItem"; this.窗口ToolStripMenuItem.Name = "窗口ToolStripMenuItem";
this.窗口ToolStripMenuItem.Size = new System.Drawing.Size(68, 21); this.窗口ToolStripMenuItem.Size = new System.Drawing.Size(68, 21);
this.窗口ToolStripMenuItem.Text = "数据查看"; this.窗口ToolStripMenuItem.Text = "数据查看";
// //
// 调试窗口ToolStripMenuItem // HistoryDataMenu
// //
this.调试窗口ToolStripMenuItem.Name = "调试窗口ToolStripMenuItem"; this.HistoryDataMenu.Name = "HistoryDataMenu";
this.调试窗口ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); this.HistoryDataMenu.Size = new System.Drawing.Size(180, 22);
this.调试窗口ToolStripMenuItem.Text = "历史数据查询"; this.HistoryDataMenu.Text = "历史数据查询";
this.调试窗口ToolStripMenuItem.Click += new System.EventHandler(this.调试窗口ToolStripMenuItem_Click); this.HistoryDataMenu.Click += new System.EventHandler(this.HistoryDataMenu_Click);
// //
// 校准查看ToolStripMenuItem // CalibrationMenu
// //
this.校准查看ToolStripMenuItem.Name = "校准查看ToolStripMenuItem"; this.CalibrationMenu.Name = "CalibrationMenu";
this.校准查看ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); this.CalibrationMenu.Size = new System.Drawing.Size(180, 22);
this.校准查看ToolStripMenuItem.Text = "校准查看"; this.CalibrationMenu.Text = "校准查看";
this.校准查看ToolStripMenuItem.Click += new System.EventHandler(this.校准查看ToolStripMenuItem_Click); this.CalibrationMenu.Click += new System.EventHandler(this.CalibrationMenu_Click);
// //
// 历史谱图ToolStripMenuItem // HistoryPicMenu
// //
this.历史谱图ToolStripMenuItem.Name = "历史谱图ToolStripMenuItem"; this.HistoryPicMenu.Name = "HistoryPicMenu";
this.历史谱图ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); this.HistoryPicMenu.Size = new System.Drawing.Size(180, 22);
this.历史谱图ToolStripMenuItem.Text = "历史谱图"; this.HistoryPicMenu.Text = "历史谱图";
this.历史谱图ToolStripMenuItem.Click += new System.EventHandler(this.历史谱图ToolStripMenuItem_Click); this.HistoryPicMenu.Click += new System.EventHandler(this.HistoryPicMenu_Click);
// //
// statusStrip // statusStrip
// //
...@@ -289,27 +289,27 @@ ...@@ -289,27 +289,27 @@
private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabeSystme; private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabeSystme;
private System.Windows.Forms.ToolTip toolTip; private System.Windows.Forms.ToolTip toolTip;
private System.Windows.Forms.ToolStripMenuItem 用户管理ToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem 用户管理ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 用户登录ToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem UserLoginMenu;
private System.Windows.Forms.ToolStripMenuItem 用户注销ToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem UserLogoutMenu;
private System.Windows.Forms.ToolStripMenuItem 运行ToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem 运行ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 窗口ToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem 窗口ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 调试窗口ToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem HistoryDataMenu;
private System.Windows.Forms.Timer timer1; private System.Windows.Forms.Timer timer1;
private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabelusertime; private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabelusertime;
private System.Windows.Forms.ToolStripMenuItem 网络配置ToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem NetWorkMenu;
private System.Windows.Forms.ToolStripMenuItem 方法批处理ToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem MethodBatMenu;
private System.Windows.Forms.ToolStripMenuItem 打开方法文件ToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem OpenMethodMenu;
private System.Windows.Forms.ToolStripMenuItem 方法查阅ToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem MethodBrowseMenuItem;
private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabelText; private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabelText;
private System.ComponentModel.BackgroundWorker backgroundWorker1; private System.ComponentModel.BackgroundWorker backgroundWorker1;
private System.ComponentModel.BackgroundWorker backgroundWorker2; private System.ComponentModel.BackgroundWorker backgroundWorker2;
private System.Windows.Forms.ToolStripMenuItem 校准查看ToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem CalibrationMenu;
private System.Windows.Forms.ToolStripMenuItem 历史谱图ToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem HistoryPicMenu;
private System.Windows.Forms.ToolStripMenuItem 新建方法ToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem NewMethodMenu;
private System.Windows.Forms.ToolStripMenuItem 系统ToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem 系统ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 系统开启ToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem SystemStartMenu;
private System.Windows.Forms.ToolStripMenuItem 系统关闭ToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem SystemStopMenu;
private System.Windows.Forms.ToolStripMenuItem 辅助工具ToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem AuxToolMenu;
} }
} }
......
...@@ -13,14 +13,15 @@ using GcDevicePc.IniParam; ...@@ -13,14 +13,15 @@ using GcDevicePc.IniParam;
using System.Threading; using System.Threading;
using System.IO; using System.IO;
using GcDevicePc.CK_UI; using GcDevicePc.CK_UI;
using GcDevicePc.Common;
namespace GcDevicePc namespace GcDevicePc
{ {
public partial class MDIBase : Form public partial class MDIBase : Form
{ {
private int childFormNumber = 0; private int childFormNumber = 0;
private static FormUser userForm; //用户界面 private static FormUser _userForm; //用户界面
private static Formdebug debugForm; //调试界面 private static Formdebug _debugForm; //调试界面
// private static MainBase basefrom; // private static MainBase basefrom;
private string Formstr;//窗口名称 private string Formstr;//窗口名称
private string statestr;//状态信息 private string statestr;//状态信息
...@@ -28,32 +29,47 @@ namespace GcDevicePc ...@@ -28,32 +29,47 @@ namespace GcDevicePc
private bool IsStateColor = false; private bool IsStateColor = false;
System.DateTime startTime; //系统启动时间 System.DateTime startTime; //系统启动时间
TimeSpan timespan; TimeSpan timespan;
bool inifilec = false; //方法文件是否加载 bool inifilec = false; //方法文件是否加载
/// <summary> /// <summary>
/// HMI控制接口 /// HMI控制接口
/// </summary> /// </summary>
HMIControl hmiopt; HMIControl hmiopt;
/// <summary> /// <summary>
/// HMI数据获取接口 /// HMI数据获取接口
/// </summary> /// </summary>
GcDataTh mymodbus; GcDataTh mymodbus;
/// <summary> /// <summary>
/// Modbus Slave 接口 /// Modbus Slave 变量
/// </summary> /// </summary>
GCModbusSlave Slavetest; GCModbusSlave Slavetest;
/// <summary>
/// Modbus Slave 485 变量
/// </summary>
GCModbusSlave485 Slave485test;
/// <summary> /// <summary>
/// 数据接收 /// 数据接收
/// </summary> /// </summary>
DataRcv mytcptest = new DataRcv(); DataRcv mytcptest = new DataRcv();
/// <summary> /// <summary>
/// 处理数据接口 /// 处理数据接口
/// </summary> /// </summary>
CKvocUpdata dataVOC = new CKvocUpdata(); CKvocUpdata dataVOC = new CKvocUpdata();
/// <summary>
/// 构造函数
/// </summary>
public MDIBase() public MDIBase()
{ {
InitializeComponent(); InitializeComponent();
// this.WindowState = FormWindowState.Maximized; this.WindowState = FormWindowState.Maximized;
} }
private void ShowNewForm(object sender, EventArgs e) private void ShowNewForm(object sender, EventArgs e)
...@@ -141,19 +157,28 @@ namespace GcDevicePc ...@@ -141,19 +157,28 @@ namespace GcDevicePc
} }
} }
/// <summary>
/// 主窗口载入
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void MDIBase_Load(object sender, EventArgs e) private void MDIBase_Load(object sender, EventArgs e)
{ {
dllInit(); DllInit();
InitConfig(); InitConfig();
debugForm = new Formdebug();
debugForm.MdiParent = this; _debugForm = new Formdebug();
debugForm.Dock = DockStyle.Fill; _debugForm.MdiParent = this;
debugForm.Show(); _debugForm.Dock = DockStyle.Fill;
_debugForm.Show();
// debugForm.Hide(); // debugForm.Hide();
userForm = new FormUser(); _userForm = new FormUser();
userForm.MdiParent = this; _userForm.MdiParent = this;
userForm.Dock = DockStyle.Fill; _userForm.Dock = DockStyle.Fill;
userForm.Show(); _userForm.Show();
// debugForm.Show(); // debugForm.Show();
Formstr = "用户窗口"; Formstr = "用户窗口";
startTime = DateTime.Now; startTime = DateTime.Now;
...@@ -161,6 +186,7 @@ namespace GcDevicePc ...@@ -161,6 +186,7 @@ namespace GcDevicePc
timespan = System.DateTime.Now - startTime; timespan = System.DateTime.Now - startTime;
toolStripStatusLabelusertime.Text = string.Format("运行时间:{0}", timespan.Days.ToString() + "天" + timespan.Hours.ToString() + "时" + timespan.Minutes.ToString() + "分" + timespan.Seconds.ToString() + "秒"); toolStripStatusLabelusertime.Text = string.Format("运行时间:{0}", timespan.Days.ToString() + "天" + timespan.Hours.ToString() + "时" + timespan.Minutes.ToString() + "分" + timespan.Seconds.ToString() + "秒");
//显示方法名称 //显示方法名称
if (globaldata.m_pcbuffer.gcpcinfo.pcfileinfo.cur_MethodName==null) if (globaldata.m_pcbuffer.gcpcinfo.pcfileinfo.cur_MethodName==null)
{ {
...@@ -175,7 +201,7 @@ namespace GcDevicePc ...@@ -175,7 +201,7 @@ namespace GcDevicePc
autopensys(); autopensys();
//点火接口 //点火接口
userForm.autofire += new Fireport(fireupopt); _userForm.autofire += new Fireport(fireupopt);
} }
...@@ -213,172 +239,80 @@ namespace GcDevicePc ...@@ -213,172 +239,80 @@ namespace GcDevicePc
/// <summary> /// <summary>
/// 组件初始化 /// 组件初始化
/// </summary> /// </summary>
private void dllInit() private void DllInit()
{ {
try try
{ {
MainBase_InitAppConfig();
//初始化路径
if (CKVocAnalyzer.Config.Instance.ReadPath()) if (CKVocAnalyzer.Config.Instance.ReadPath())
{ {
//初始化
CKVocAnalyzer.VOCEntityConfig.Instance.vocinit(); CKVocAnalyzer.VOCEntityConfig.Instance.vocinit();
CKVocAnalyzer.Config.Instance.ReadAxisRange(); CKVocAnalyzer.Config.Instance.ReadAxisRange();
LogOperate.LogInit.Instance.path = CKVocAnalyzer.GlobalCKV.FolderLog; LogOperate.LogInit.Instance.path = CKVocAnalyzer.GlobalCKV.FolderLog;
LogOperate.LogInit.Instance.Init(); LogOperate.LogInit.Instance.Init();
CKVocAnalyzer.GlobalCKV.tcpservice.tcpStart(CKVocAnalyzer.GlobalCKV.hostadd, CKVocAnalyzer.GlobalCKV.tcpport); CKVocAnalyzer.GlobalCKV.tcpservice.tcpStart(CKVocAnalyzer.GlobalCKV.hostadd, CKVocAnalyzer.GlobalCKV.tcpport);
Trace.WriteLine("系统初始化成功", "sys"); Log.Info("System Init Success");
} }
else else
{ {
//MessageBox.Show("系统初始化失败,请检查配置文件是否存在"); Log.Error("System Init Failed, Plesae Check Config File");
} }
} }
catch (Exception ex) catch (Exception ex)
{ {
Trace.WriteLine(ex); Log.Error(ex.Message);
MessageBox.Show(ex.Message);
} }
} }
private void 调试窗口ToolStripMenuItem_Click(object sender, EventArgs e) //历史数据查询
{
try
{
WaveTotalForm total = new WaveTotalForm();
total.Show();
}
catch(Exception ex)
{
Trace.Write(ex);
}
}
private void SetMenu(bool isbool) private void SetMenu(bool isbool)
{ {
try try
{ {
if (isbool) if (isbool)
{ {
网络配置ToolStripMenuItem.Enabled = true; NetWorkMenu.Enabled = true;
方法查阅ToolStripMenuItem.Enabled = true; MethodBrowseMenuItem.Enabled = true;
新建方法ToolStripMenuItem.Enabled = true; NewMethodMenu.Enabled = true;
打开方法文件ToolStripMenuItem.Enabled = true; OpenMethodMenu.Enabled = true;
方法查阅ToolStripMenuItem.Enabled = true; MethodBrowseMenuItem.Enabled = true;
校准查看ToolStripMenuItem.Enabled = true; CalibrationMenu.Enabled = true;
//方法批处理ToolStripMenuItem.Enabled = true;
}else }else
{ {
网络配置ToolStripMenuItem.Enabled = false; NetWorkMenu.Enabled = false;
方法查阅ToolStripMenuItem.Enabled = false; MethodBrowseMenuItem.Enabled = false;
新建方法ToolStripMenuItem.Enabled = false; NewMethodMenu.Enabled = false;
打开方法文件ToolStripMenuItem.Enabled = false; OpenMethodMenu.Enabled = false;
方法查阅ToolStripMenuItem.Enabled = false; MethodBrowseMenuItem.Enabled = false;
校准查看ToolStripMenuItem.Enabled = false; CalibrationMenu.Enabled = false;
//方法批处理ToolStripMenuItem.Enabled = false;
} }
} }
catch(Exception ex) catch(Exception ex)
{ {
Trace.Write(ex); Log.Error(ex.Message);
}
}
private void 用户登录ToolStripMenuItem_Click(object sender, EventArgs e)
{
DialogResult dr = new LandIn().ShowDialog();
if (dr == DialogResult.OK) //停止系统并退出
{
if(LandIn.Island)
{
if (debugForm != null)
{
Formstr = "调试窗口";
debugForm.Activate();
}
SetMenu(LandIn.Island);
}
}
if (dr == DialogResult.No)
{
}
}
private void 用户注销ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (debugForm != null)
{
// debugForm.Hide();
}
if (userForm != null)
{
Formstr = "用户窗口";
userForm.Activate();
//userForm.Show();
} }
LandIn.Island = false;
SetMenu(LandIn.Island);
} }
private void timer1_Tick(object sender, EventArgs e) //显示状态栏信息
{
this.Text = string.Format("VOCs在线监测-1.0.0.0 {0}",Formstr);
toolStripStatusLabeSystme.Text = string.Format("状态:{0}", statestr);
//if (IsStateColor)
// toolStripStatusLabeSystme.BackColor = Color.LightBlue;// System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(149)))), ((int)(((byte)(237)))));
//else
// toolStripStatusLabeSystme.BackColor = Color.Coral;//System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(128)))), ((int)(((byte)(0)))));
timespan = System.DateTime.Now - startTime;
toolStripStatusLabelusertime.Text = string.Format("运行时间:{0}", timespan.Days.ToString() + "天" + timespan.Hours.ToString() + "时" + timespan.Minutes.ToString() + "分" + timespan.Seconds.ToString() + "秒");
//if(globaldata.MethodRun_Statue==4||globaldata.MethodRun_Statue==5)
//{
// toolStripProgressBar1.Maximum = globaldata.m_dpbuffer.ShowList.showtime.alltime;
// if (globaldata.m_dpbuffer.ShowList.showtime.runtimenow < globaldata.m_dpbuffer.ShowList.showtime.alltime)
// {
// toolStripProgressBar1.Value = globaldata.m_dpbuffer.ShowList.showtime.runtimenow;
// }else
// {
// toolStripProgressBar1.Value = globaldata.m_dpbuffer.ShowList.showtime.alltime;
// }
//}
//else
//{
// toolStripProgressBar1.Value=0;
//}
}
/// <summary> /// <summary>
/// 网络配置 /// 更新显示栏信息
/// </summary> /// </summary>
/// <param name="sender"></param> /// <param name="sender"></param>
/// <param name="e"></param> /// <param name="e"></param>
private void 网络配置ToolStripMenuItem_Click(object sender, EventArgs e) private void timer1_Tick(object sender, EventArgs e)
{ {
UserConfig confu = new UserConfig(); this.Text = string.Format("VOCs在线监测-1.0.0.0 {0}",Formstr);
confu.Show(); toolStripStatusLabeSystme.Text = string.Format("状态:{0}", statestr);
timespan = System.DateTime.Now - startTime;
toolStripStatusLabelusertime.Text = string.Format("运行时间:{0}",
timespan.Days.ToString() + "天" + timespan.Hours.ToString() + "时" + timespan.Minutes.ToString() + "分" + timespan.Seconds.ToString() + "秒");
} }
public void SendPCCMD(bool flag) public void SendPCCMD(bool flag)
{ {
if (flag) //打开运行 if (flag) //打开运行
{ {
hmiopt.WriteStopVal(); hmiopt.WriteStopVal();
//singlemodbus.WriteStopVal();
WaitHMIFree(); WaitHMIFree();
if (globaldata.m_pcbuffer.gcpcinfo.pcworkinfo.system_Statue) if (globaldata.m_pcbuffer.gcpcinfo.pcworkinfo.system_Statue)
...@@ -387,17 +321,14 @@ namespace GcDevicePc ...@@ -387,17 +321,14 @@ namespace GcDevicePc
{ {
hmiopt.WriteStopVal(); hmiopt.WriteStopVal();
} }
if (globaldata.m_pcbuffer.gcpcinfo.pcworkinfo.RunType == 1) if (globaldata.m_pcbuffer.gcpcinfo.pcworkinfo.RunType == 1)
hmiopt.WriteSingleVal(); hmiopt.WriteSingleVal();
WaitHMIWork(); WaitHMIWork();
} }
} }
else //批处理 else //批处理
{ {
hmiopt.WriteStopVal(); hmiopt.WriteStopVal();
// singlemodbus.WriteStopVal();
WaitHMIFree(); WaitHMIFree();
if (globaldata.m_pcbuffer.gcpcinfo.pcworkinfo.system_Statue) if (globaldata.m_pcbuffer.gcpcinfo.pcworkinfo.system_Statue)
...@@ -414,122 +345,10 @@ namespace GcDevicePc ...@@ -414,122 +345,10 @@ namespace GcDevicePc
} }
} }
} }
public void SetMainFormMethodName(string text)
{
// this.now_method.Text = "当前运行方法:" + text;
this.toolStripStatusLabelText.Text = "当前运行方法:" + text;
}
private void 打开方法文件ToolStripMenuItem_Click(object sender, EventArgs e)
{
OpenFileDialog fileDlg = new OpenFileDialog();
fileDlg.Multiselect = false;
fileDlg.InitialDirectory = Application.StartupPath + "\\仪器方法";
fileDlg.Title = "请选择方法文件";
fileDlg.Filter = "配置文件(*.ini)|*.ini";
if (fileDlg.ShowDialog() == DialogResult.OK)
{
string file = fileDlg.FileName;
// globaldata.cur_MethodName = file;
// globaldata.cur_OpenMethodName = file;
globaldata.m_pcbuffer.gcpcinfo.pcfileinfo.cur_OpenMethodName = file;
this.inifilec = true;
globaldata.m_profileMethod.SetMethodFullName(file);
globaldata.m_profileMethod.GetDevState();
if (globaldata.m_configDlg.IsDisposed)
globaldata.m_configDlg = new MethodConfig();
globaldata.m_configDlg.m_InjPortDlg.reflashContent();
globaldata.m_configDlg.m_InjSampleDlg.reflashContent();
globaldata.m_configDlg.m_InjValveDlg.reflashContent();
globaldata.m_configDlg.m_chromeDlg.reflashContent();
globaldata.m_configDlg.m_RealColDlg.reflashContent();
globaldata.m_configDlg.m_det.reflashContent();
globaldata.m_configDlg.m_AuxDlg.reflashContent();
// globaldata.m_configDlg.m_SignalDlg.reflashContent();
globaldata.m_configDlg.changenameforup -= new ConfigDlg.ChangeMNameForUp(SetMainFormMethodName);
globaldata.m_configDlg.changenameforup += new ConfigDlg.ChangeMNameForUp(SetMainFormMethodName);
globaldata.m_configDlg.sendupdatecmd -= new ConfigDlg.SendUpdateCMD(SendPCCMD);
globaldata.m_configDlg.sendupdatecmd += new ConfigDlg.SendUpdateCMD(SendPCCMD);
globaldata.m_configDlg.Show();
globaldata.m_pcbuffer.gcpcinfo.pcworkinfo.RunType = 0;
//globaldata.RunType = 0;
// globaldata.m_configDlg.m_RunTableDlg.reflashContent();
}
}
private void 方法查阅ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (globaldata.m_configDlg.Visible == true)
return;
if (inifilec)
{
globaldata.m_profileMethod.SetMethodFullName(globaldata.m_pcbuffer.gcpcinfo.pcfileinfo.cur_MethodName);
globaldata.m_profileMethod.GetDevState();
if (globaldata.m_configDlg.IsDisposed)
globaldata.m_configDlg = new MethodConfig();
globaldata.m_configDlg.m_InjPortDlg.reflashContent();
globaldata.m_configDlg.m_InjSampleDlg.reflashContent();
globaldata.m_configDlg.m_InjValveDlg.reflashContent();
globaldata.m_configDlg.m_chromeDlg.reflashContent();
globaldata.m_configDlg.m_RealColDlg.reflashContent();
globaldata.m_configDlg.m_det.reflashContent();
globaldata.m_configDlg.m_AuxDlg.reflashContent();
// globaldata.m_configDlg.m_SignalDlg.reflashContent();
globaldata.m_configDlg.changenameforup -= new ConfigDlg.ChangeMNameForUp(SetMainFormMethodName);
globaldata.m_configDlg.changenameforup += new ConfigDlg.ChangeMNameForUp(SetMainFormMethodName);
globaldata.m_configDlg.sendupdatecmd -= new ConfigDlg.SendUpdateCMD(SendPCCMD);
globaldata.m_configDlg.sendupdatecmd += new ConfigDlg.SendUpdateCMD(SendPCCMD);
globaldata.m_configDlg.Show(); private void SetMainFormMethodName(string text)
}
else
{
OpenFileDialog fileDlg = new OpenFileDialog();
fileDlg.Multiselect = false;
fileDlg.InitialDirectory = Application.StartupPath + "\\仪器方法";
fileDlg.Title = "请选择方法文件";
fileDlg.Filter = "配置文件(*.ini)|*.ini";
if (fileDlg.ShowDialog() == DialogResult.OK)
{ {
string file = fileDlg.FileName; this.toolStripStatusLabelText.Text = "当前运行方法:" + text;
// globaldata.cur_MethodName = file;
//globaldata.cur_OpenMethodName = file;
globaldata.m_pcbuffer.gcpcinfo.pcfileinfo.cur_OpenMethodName = file;
globaldata.m_profileMethod.SetMethodFullName(file);
globaldata.m_profileMethod.GetDevState();
if (globaldata.m_configDlg.IsDisposed)
globaldata.m_configDlg = new MethodConfig();
globaldata.m_configDlg.m_InjPortDlg.reflashContent();
globaldata.m_configDlg.m_InjSampleDlg.reflashContent();
globaldata.m_configDlg.m_InjValveDlg.reflashContent();
globaldata.m_configDlg.m_chromeDlg.reflashContent();
globaldata.m_configDlg.m_RealColDlg.reflashContent();
globaldata.m_configDlg.m_det.reflashContent();
globaldata.m_configDlg.m_AuxDlg.reflashContent();
// globaldata.m_configDlg.m_SignalDlg.reflashContent();
globaldata.m_configDlg.changenameforup -= new ConfigDlg.ChangeMNameForUp(SetMainFormMethodName);
globaldata.m_configDlg.changenameforup += new ConfigDlg.ChangeMNameForUp(SetMainFormMethodName);
globaldata.m_configDlg.sendupdatecmd -= new ConfigDlg.SendUpdateCMD(SendPCCMD);
globaldata.m_configDlg.sendupdatecmd += new ConfigDlg.SendUpdateCMD(SendPCCMD);
globaldata.m_configDlg.Show();
// globaldata.m_configDlg.m_RunTableDlg.reflashContent();
}
}
} }
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
...@@ -554,12 +373,10 @@ namespace GcDevicePc ...@@ -554,12 +373,10 @@ namespace GcDevicePc
if (globaldata.OS_STOP) if (globaldata.OS_STOP)
{ {
hmiopt.WriteEndVal(); hmiopt.WriteEndVal();
// LogHelper.I("backgroundWorker1_DoWork", "WriteEndVal");
} }
else else
{ {
hmiopt.WriteStopVal(); hmiopt.WriteStopVal();
// LogHelper.I("backgroundWorker1_DoWork", "WriteStopVal");
} }
} }
...@@ -590,6 +407,7 @@ namespace GcDevicePc ...@@ -590,6 +407,7 @@ namespace GcDevicePc
{ {
} }
} }
public void WaitHMIFree() public void WaitHMIFree()
{ {
this.backgroundWorker1.RunWorkerAsync(); this.backgroundWorker1.RunWorkerAsync();
...@@ -659,193 +477,63 @@ namespace GcDevicePc ...@@ -659,193 +477,63 @@ namespace GcDevicePc
form.ShowDialog(this); form.ShowDialog(this);
form.Close(); form.Close();
} }
/// <summary>
/// 检测本地默认目录 public void SendStopCMD()
/// </summary>
private void MainBase_InitAppConfig()
{ {
try try
{ {
string tmpFolder; hmiopt.WriteStopVal();
//检查创建仪器方法目录 WaitHMIFree();
globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.RunFolder = System.Windows.Forms.Application.StartupPath;
tmpFolder = globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.RunFolder;
globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.MethodFolder = System.IO.Path.Combine(tmpFolder, "仪器方法");
tmpFolder = globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.MethodFolder;
globaldata.m_pcbuffer.gcpcinfo.pcfileinfo.cur_MethodName = System.IO.Path.Combine(tmpFolder, "SingleAnal.ini(单次运行默认方法)");
tmpFolder = globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.MethodFolder;
if (System.IO.Directory.Exists(tmpFolder) == false)
{
System.IO.Directory.CreateDirectory(tmpFolder);
} }
catch
//检查创建仪器状态目录
tmpFolder = globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.RunFolder;
globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.StatusFolder = System.IO.Path.Combine(tmpFolder, "仪器状态");
tmpFolder = globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.StatusFolder;
if (System.IO.Directory.Exists(tmpFolder) == false)
{ {
System.IO.Directory.CreateDirectory(tmpFolder);
} }
globaldata.m_pcbuffer.gcpcinfo.pcfileinfo.cur_StatusName = System.IO.Path.Combine(tmpFolder, "DevStatus.ini");
if ((globaldata.connection_ip == null || globaldata.connection_ip == "") && System.IO.File.Exists(globaldata.m_pcbuffer.gcpcinfo.pcfileinfo.cur_StatusName) == false)
{
System.IO.File.Create(globaldata.m_pcbuffer.gcpcinfo.pcfileinfo.cur_StatusName).Dispose();
} }
globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.subStatusFolder = System.IO.Path.Combine(tmpFolder, "子状态"); private void InitConfig()
if (System.IO.Directory.Exists(globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.subStatusFolder) == false)
{ {
System.IO.Directory.CreateDirectory(globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.subStatusFolder); try
} {
string singlefilename = System.IO.Path.Combine(globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.MethodFolder, "SingleAnal.ini");
globaldata.m_profileMethod.SetStatusFullName(globaldata.m_pcbuffer.gcpcinfo.pcfileinfo.cur_StatusName); string tmpname;
string runtabfilename = "";
//获取硬件配置 int ret;
//globaldata.m_hwconfig = new GCBuffer.HWConfig(globaldata.m_pcbuffer.gcpcinfo.pcfileinfo.cur_StatusName);
// globaldata.m_hwconfig.GetHWConfig();
//检查创建运行表目录 if (!String.IsNullOrEmpty(globaldata.connection_ip))
globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.RunTabFolder = System.IO.Path.Combine(globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.RunFolder, "运行表"); {
globaldata.m_pcbuffer.gcpcinfo.pcfileinfo.cur_RunTab = System.IO.Path.Combine(globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.RunTabFolder, "RunMethod.ini"); Start_ConnectStatusThread();
if (System.IO.Directory.Exists(globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.RunTabFolder) == false) //获取配置文件
try
{
FileServerClient mainclient = new FileServerClient();
mainclient.WtClientInit(globaldata.connection_ip, globaldata.fileserverport);
if (System.IO.File.Exists(globaldata.m_pcbuffer.gcpcinfo.pcfileinfo.cur_StatusName))
{ {
System.IO.Directory.CreateDirectory(globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.RunTabFolder); Thread.Sleep(100);
System.IO.File.Delete(globaldata.m_pcbuffer.gcpcinfo.pcfileinfo.cur_StatusName);
} }
if (System.IO.File.Exists(globaldata.m_pcbuffer.gcpcinfo.pcfileinfo.cur_RunTab) == false) ret = mainclient.WtClientCopyfromServer("DevStatus.ini", globaldata.m_pcbuffer.gcpcinfo.pcfileinfo.cur_StatusName, globaldata.remoteFolder + "仪器状态\\");
Thread.Sleep(400);
if (System.IO.File.Exists(singlefilename))
{ {
StreamWriter sw = new StreamWriter(globaldata.m_pcbuffer.gcpcinfo.pcfileinfo.cur_RunTab, false, System.Text.Encoding.Unicode); System.IO.File.Delete(singlefilename);
sw.WriteLine("[运行表]");
sw.Close();
} }
ret = mainclient.WtClientCopyfromServer("SingleAnal.ini", singlefilename, globaldata.remoteFolder + "仪器方法\\");
Thread.Sleep(400);
globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.DataFolder = System.IO.Path.Combine(globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.RunFolder, "历史数据");
globaldata.m_pcbuffer.gcpcinfo.pcfileinfo.cur_DataName = null;
if (System.IO.Directory.Exists(globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.DataFolder) == false) if (System.IO.File.Exists(globaldata.m_pcbuffer.gcpcinfo.pcfileinfo.cur_RunTab))
{ {
System.IO.Directory.CreateDirectory(globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.DataFolder); Thread.Sleep(100);
} System.IO.File.Delete(globaldata.m_pcbuffer.gcpcinfo.pcfileinfo.cur_RunTab);
tmpFolder = null;
} }
catch(Exception ex)
{
Trace.Write(ex); try
}
}
public void SendStopCMD()
{
try
{
hmiopt.WriteStopVal();
WaitHMIFree();
}
catch
{
}
}
private void 方法批处理ToolStripMenuItem_Click(object sender, EventArgs e)
{
try
{
RunTables f_runtable = new RunTables();
f_runtable.sendupdatecmd -= new SendUpdateCMD(SendPCCMD);
f_runtable.sendupdatecmd += new SendUpdateCMD(SendPCCMD);
f_runtable.sendstopcmd -= new SendStopCMD(SendStopCMD);
f_runtable.sendstopcmd += new SendStopCMD(SendStopCMD);
f_runtable.Show();
}
catch (Exception ex)
{
Trace.Write(ex);
}
}
private void 校准查看ToolStripMenuItem_Click(object sender, EventArgs e)
{
try
{
AdjustFrom just = new AdjustFrom();
just.Show();
}
catch(Exception ex)
{
Trace.Write(ex);
}
}
private void 历史谱图ToolStripMenuItem_Click(object sender, EventArgs e)
{
try
{
HistChartForm hist = new HistChartForm();
hist.Show();
}
catch(Exception ex)
{
Trace.Write(ex);
}
}
private void 新建方法ToolStripMenuItem_Click(object sender, EventArgs e)
{
MethodNameInputForm m_methodNameInputForm = new MethodNameInputForm();
m_methodNameInputForm.Show();
}
private void InitConfig()
{
try
{
string singlefilename = System.IO.Path.Combine(globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.MethodFolder, "SingleAnal.ini");
string tmpname;
string runtabfilename = "";
int ret;
if (globaldata.connection_ip != null && globaldata.connection_ip != "")
{
Start_ConnectStatusThread();
//获取配置文件
try
{
FileServerClient mainclient = new FileServerClient();
mainclient.WtClientInit(globaldata.connection_ip, globaldata.fileserverport);
if (System.IO.File.Exists(globaldata.m_pcbuffer.gcpcinfo.pcfileinfo.cur_StatusName))
{
Thread.Sleep(100);
System.IO.File.Delete(globaldata.m_pcbuffer.gcpcinfo.pcfileinfo.cur_StatusName);
}
ret = mainclient.WtClientCopyfromServer("DevStatus.ini", globaldata.m_pcbuffer.gcpcinfo.pcfileinfo.cur_StatusName, globaldata.remoteFolder + "仪器状态\\");
Thread.Sleep(400);
if (System.IO.File.Exists(singlefilename))
{
System.IO.File.Delete(singlefilename);
}
ret = mainclient.WtClientCopyfromServer("SingleAnal.ini", singlefilename, globaldata.remoteFolder + "仪器方法\\");
Thread.Sleep(400);
if (System.IO.File.Exists(globaldata.m_pcbuffer.gcpcinfo.pcfileinfo.cur_RunTab))
{
Thread.Sleep(100);
System.IO.File.Delete(globaldata.m_pcbuffer.gcpcinfo.pcfileinfo.cur_RunTab);
}
try
{ {
tmpname = System.IO.Path.Combine(globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.RunTabFolder, "RunMethod.ini"); tmpname = System.IO.Path.Combine(globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.RunTabFolder, "RunMethod.ini");
ret = mainclient.WtClientCopyfromServer("RunMethod.ini", tmpname, globaldata.remoteFolder + "运行表\\"); ret = mainclient.WtClientCopyfromServer("RunMethod.ini", tmpname, globaldata.remoteFolder + "运行表\\");
...@@ -978,6 +666,9 @@ namespace GcDevicePc ...@@ -978,6 +666,9 @@ namespace GcDevicePc
Slavetest = new GCModbusSlave(); Slavetest = new GCModbusSlave();
Slavetest.CModbusSlaveInit(1, 2, 3, 5); Slavetest.CModbusSlaveInit(1, 2, 3, 5);
Slave485test = new GCModbusSlave485(1,9600);
Slave485test.CModbusSlave485Init(1, 2, 3, 5);
} }
catch catch
{ {
...@@ -1025,6 +716,8 @@ namespace GcDevicePc ...@@ -1025,6 +716,8 @@ namespace GcDevicePc
ManualResetEvent conmre = new ManualResetEvent(false); ManualResetEvent conmre = new ManualResetEvent(false);
ushort GCstatus = 9; ushort GCstatus = 9;
Thread Connect_Status; Thread Connect_Status;
/// <summary> /// <summary>
/// HMI状态监控线程 /// HMI状态监控线程
/// </summary> /// </summary>
...@@ -1432,8 +1125,8 @@ namespace GcDevicePc ...@@ -1432,8 +1125,8 @@ namespace GcDevicePc
globaldata.stopflag = true; globaldata.stopflag = true;
globaldata.cancelflag = false; globaldata.cancelflag = false;
// globaldata.starttimer = 0x7FFFFFFF; // globaldata.starttimer = 0x7FFFFFFF;
Console.WriteLine("stopbtn startimer");
if (globaldata.connection_ip != null && globaldata.connection_ip != "") if (!String.IsNullOrEmpty(globaldata.connection_ip))
{ {
// globaldata.work_Statue = 2; // globaldata.work_Statue = 2;
globaldata.m_pcbuffer.gcpcinfo.pcworkinfo.work_Statue = 2; globaldata.m_pcbuffer.gcpcinfo.pcworkinfo.work_Statue = 2;
...@@ -1485,7 +1178,7 @@ namespace GcDevicePc ...@@ -1485,7 +1178,7 @@ namespace GcDevicePc
if (dr == DialogResult.OK) //停止系统并退出 if (dr == DialogResult.OK) //停止系统并退出
{ {
count = 0; count = 0;
if (globaldata.connection_ip != null && globaldata.connection_ip != "") if (!String.IsNullOrEmpty(globaldata.connection_ip))
{ {
globaldata.OS_STOP = true; globaldata.OS_STOP = true;
hmiopt.WriteEndVal(); hmiopt.WriteEndVal();
...@@ -1511,13 +1204,25 @@ namespace GcDevicePc ...@@ -1511,13 +1204,25 @@ namespace GcDevicePc
} }
} }
System.Environment.Exit(0); count = 0;
ret = Slave485test.CModbusSlave485Close();
while (ret != 0)
{
count++;
ret = Slave485test.CModbusSlave485Close();
Thread.Sleep(100);
if (count > 3)
{
break;
}
}
Environment.Exit(0);
} }
if (dr == DialogResult.Yes) //仅退出 if (dr == DialogResult.Yes) //仅退出
{ {
count = 0; count = 0;
if (globaldata.connection_ip != null && globaldata.connection_ip != "") if (!String.IsNullOrEmpty(globaldata.connection_ip))
{ {
if (globaldata.m_pcbuffer.gcpcinfo.pcworkinfo.RunType == 2) if (globaldata.m_pcbuffer.gcpcinfo.pcworkinfo.RunType == 2)
{ {
...@@ -1550,15 +1255,25 @@ namespace GcDevicePc ...@@ -1550,15 +1255,25 @@ namespace GcDevicePc
break; break;
} }
} }
System.Environment.Exit(0);
count = 0;
ret = Slave485test.CModbusSlave485Close();
while (ret != 0)
{
count++;
ret = Slave485test.CModbusSlave485Close();
Thread.Sleep(100);
if (count > 3)
{
break;
}
} }
Environment.Exit(0);
} }
private void 系统开启ToolStripMenuItem_Click(object sender, EventArgs e)
{
open();
} }
// private bool isopen = false; // private bool isopen = false;
private void open() private void open()
{ {
...@@ -1569,11 +1284,10 @@ namespace GcDevicePc ...@@ -1569,11 +1284,10 @@ namespace GcDevicePc
MessageBox.Show("系统开启中......"); MessageBox.Show("系统开启中......");
return ; return ;
} }
if (globaldata.connection_ip != null && globaldata.connection_ip != "") if (!String.IsNullOrEmpty(globaldata.connection_ip))
{ {
hmiopt.WriteStopVal(); hmiopt.WriteStopVal();
statestr = "系统准备中..."; statestr = "系统准备中...";
WaitHMIFree(); WaitHMIFree();
...@@ -1620,29 +1334,6 @@ namespace GcDevicePc ...@@ -1620,29 +1334,6 @@ namespace GcDevicePc
} }
} }
private void 系统关闭ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (globaldata.connection_ip != null && globaldata.connection_ip != "")
{
statestr = "系统停止中...";
globaldata.OS_STOP = true;
hmiopt.WriteEndVal();
WaitHMIFree();
globaldata.m_pcbuffer.gcpcinfo.pcworkinfo.system_Statue = false;
globaldata.m_pcbuffer.gcpcinfo.pcworkinfo.work_Statue = 0;
}
else
{
globaldata.m_pcbuffer.gcpcinfo.pcworkinfo.system_Statue = false;
globaldata.m_pcbuffer.gcpcinfo.pcworkinfo.work_Statue = 0;
}
}
public void fireupopt(int flag, ushort time1, ushort time2) public void fireupopt(int flag, ushort time1, ushort time2)
{ {
hmiopt.FireUPWork(flag, time1, time2); hmiopt.FireUPWork(flag, time1, time2);
...@@ -1653,35 +1344,20 @@ namespace GcDevicePc ...@@ -1653,35 +1344,20 @@ namespace GcDevicePc
/// </summary> /// </summary>
public void stopforupdatefirm() public void stopforupdatefirm()
{ {
if (globaldata.connection_ip != null && globaldata.connection_ip != "") if (!String.IsNullOrEmpty(globaldata.connection_ip))
{ {
//、、 OSflag = !OSflag;
//globaldata.m_pcbuffer.gcpcinfo.pcworkinfo.work_Statue = 0;
//SetTitleStatueName("系统停止中...", false);
statestr = "系统停止中..."; statestr = "系统停止中...";
globaldata.OS_STOP = true; globaldata.OS_STOP = true;
hmiopt.WriteEndVal(); hmiopt.WriteEndVal();
WaitHMIFree(); WaitHMIFree();
// SetTitleStatueName("系统停止...", false);
statestr = "系统停止中..."; statestr = "系统停止中...";
//int tagnum = Convert.ToInt32(((PictureBox)panelMenu.Controls[14]).Tag);
//((PictureBox)panelMenu.Controls[14]).Image = menuList.Images[tagnum];
//((PictureBox)panelMenu.Controls[0]).Enabled = false;
//((PictureBox)panelMenu.Controls[0]).Image = menuList.Images[14];
//((PictureBox)panelMenu.Controls[1]).Enabled = false;
//((PictureBox)panelMenu.Controls[1]).Image = menuList.Images[15];
//((PictureBox)panelMenu.Controls[2]).Enabled = false;
//((PictureBox)panelMenu.Controls[2]).Image = menuList.Images[16];
globaldata.m_pcbuffer.gcpcinfo.pcworkinfo.system_Statue = false; globaldata.m_pcbuffer.gcpcinfo.pcworkinfo.system_Statue = false;
globaldata.m_pcbuffer.gcpcinfo.pcworkinfo.work_Statue = 0; globaldata.m_pcbuffer.gcpcinfo.pcworkinfo.work_Statue = 0;
} }
else else
{ {
//string message = "系统处于离线状态...";
//MessageBox.Show(message, "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
globaldata.m_pcbuffer.gcpcinfo.pcworkinfo.system_Statue = false; globaldata.m_pcbuffer.gcpcinfo.pcworkinfo.system_Statue = false;
globaldata.m_pcbuffer.gcpcinfo.pcworkinfo.work_Statue = 0; globaldata.m_pcbuffer.gcpcinfo.pcworkinfo.work_Statue = 0;
} }
...@@ -1698,61 +1374,292 @@ namespace GcDevicePc ...@@ -1698,61 +1374,292 @@ namespace GcDevicePc
{ {
hmiopt.HAirSwitch(val); hmiopt.HAirSwitch(val);
} }
private void 辅助工具ToolStripMenuItem_Click(object sender, EventArgs e)
private void UserLoginMenu_Click(object sender, EventArgs e)
{ {
auxtool f_auxtool = new auxtool(); DialogResult dr = new LandIn().ShowDialog();
int ret = 0;
ushort[] firetime = new ushort[2];
ret = mymodbus.GetFireUpTime(ref firetime);
if (f_auxtool == null) if (dr == DialogResult.OK)
{
if (LandIn.Island)
{
if (_debugForm != null)
{
Formstr = "调试窗口";
_debugForm.Activate();
}
SetMenu(LandIn.Island);
}
}
if (dr == DialogResult.No)
{ {
f_auxtool = new auxtool(firetime[0], firetime[1]);
}
}
f_auxtool.auxtoolforfireup += new AUXTool(fireupopt); private void UserLogoutMenu_Click(object sender, EventArgs e)
f_auxtool.sfupdatefirm += new StopForUpdateFirm(stopforupdatefirm); {
f_auxtool.updatefirm += new UpdateFirmCMD(startupdatefirm); if (_debugForm != null)
f_auxtool.hairsw += new HAir_SW(hair_sw); {
// debugForm.Hide();
}
if (_userForm != null)
{
Formstr = "用户窗口";
_userForm.Activate();
//userForm.Show();
}
LandIn.Island = false;
SetMenu(LandIn.Island);
}
private void SystemStartMenu_Click(object sender, EventArgs e)
{
open();
}
private void SystemStopMenu_Click(object sender, EventArgs e)
{
if (!String.IsNullOrEmpty(globaldata.connection_ip))
{
statestr = "系统停止中...";
globaldata.OS_STOP = true;
hmiopt.WriteEndVal();
WaitHMIFree();
globaldata.m_pcbuffer.gcpcinfo.pcworkinfo.system_Statue = false;
globaldata.m_pcbuffer.gcpcinfo.pcworkinfo.work_Statue = 0;
f_auxtool.Show();
} }
else else
{ {
globaldata.m_pcbuffer.gcpcinfo.pcworkinfo.system_Statue = false;
globaldata.m_pcbuffer.gcpcinfo.pcworkinfo.work_Statue = 0;
}
}
private void AuxToolMenu_Click(object sender, EventArgs e)
{
auxtool f_auxtool = new auxtool();
int ret = 0;
ushort[] firetime = new ushort[2];
ret = mymodbus.GetFireUpTime(ref firetime);
if (f_auxtool.IsDisposed) if (f_auxtool.IsDisposed)
{ {
f_auxtool = new auxtool(firetime[0], firetime[1]); f_auxtool = new auxtool(firetime[0], firetime[1]);
f_auxtool.auxtoolforfireup += new AUXTool(fireupopt); f_auxtool.auxtoolforfireup += new AUXTool(fireupopt);
f_auxtool.sfupdatefirm += new StopForUpdateFirm(stopforupdatefirm); f_auxtool.sfupdatefirm += new StopForUpdateFirm(stopforupdatefirm);
f_auxtool.updatefirm += new UpdateFirmCMD(startupdatefirm); f_auxtool.updatefirm += new UpdateFirmCMD(startupdatefirm);
f_auxtool.hairsw += new HAir_SW(hair_sw); f_auxtool.hairsw += new HAir_SW(hair_sw);
f_auxtool.Show(); f_auxtool.Show();
}
else
{
f_auxtool.setfireuptime(firetime[0], firetime[1]);
}else{
f_auxtool.setfireuptime(firetime[0], firetime[1]);
f_auxtool.auxtoolforfireup -= new AUXTool(fireupopt); f_auxtool.auxtoolforfireup -= new AUXTool(fireupopt);
f_auxtool.auxtoolforfireup += new AUXTool(fireupopt); f_auxtool.auxtoolforfireup += new AUXTool(fireupopt);
f_auxtool.sfupdatefirm -= new StopForUpdateFirm(stopforupdatefirm); f_auxtool.sfupdatefirm -= new StopForUpdateFirm(stopforupdatefirm);
f_auxtool.sfupdatefirm += new StopForUpdateFirm(stopforupdatefirm); f_auxtool.sfupdatefirm += new StopForUpdateFirm(stopforupdatefirm);
f_auxtool.updatefirm -= new UpdateFirmCMD(startupdatefirm); f_auxtool.updatefirm -= new UpdateFirmCMD(startupdatefirm);
f_auxtool.updatefirm += new UpdateFirmCMD(startupdatefirm); f_auxtool.updatefirm += new UpdateFirmCMD(startupdatefirm);
f_auxtool.hairsw -= new HAir_SW(hair_sw); f_auxtool.hairsw -= new HAir_SW(hair_sw);
f_auxtool.hairsw += new HAir_SW(hair_sw); f_auxtool.hairsw += new HAir_SW(hair_sw);
f_auxtool.Show(); f_auxtool.Show();
} }
} }
private void NetWorkMenu_Click(object sender, EventArgs e)
{
UserConfig confu = new UserConfig();
confu.Show();
} }
private void MethodBatMenu_Click(object sender, EventArgs e)
{
try
{
RunTables f_runtable = new RunTables();
f_runtable.sendupdatecmd -= new SendUpdateCMD(SendPCCMD);
f_runtable.sendupdatecmd += new SendUpdateCMD(SendPCCMD);
f_runtable.sendstopcmd -= new SendStopCMD(SendStopCMD);
f_runtable.sendstopcmd += new SendStopCMD(SendStopCMD);
f_runtable.Show();
}
catch (Exception ex)
{
Log.Error(ex.Message);
}
}
private void NewMethodMenu_Click(object sender, EventArgs e)
{
MethodNameInputForm m_methodNameInputForm = new MethodNameInputForm();
m_methodNameInputForm.Show();
}
private void OpenMethodMenu_Click(object sender, EventArgs e)
{
OpenFileDialog fileDlg = new OpenFileDialog();
fileDlg.Multiselect = false;
fileDlg.InitialDirectory = Application.StartupPath + "\\仪器方法";
fileDlg.Title = "请选择方法文件";
fileDlg.Filter = "配置文件(*.ini)|*.ini";
if (fileDlg.ShowDialog() == DialogResult.OK)
{
string file = fileDlg.FileName;
// globaldata.cur_MethodName = file;
// globaldata.cur_OpenMethodName = file;
globaldata.m_pcbuffer.gcpcinfo.pcfileinfo.cur_OpenMethodName = file;
this.inifilec = true;
globaldata.m_profileMethod.SetMethodFullName(file);
globaldata.m_profileMethod.GetDevState();
if (globaldata.m_configDlg.IsDisposed)
globaldata.m_configDlg = new MethodConfig();
globaldata.m_configDlg.m_InjPortDlg.reflashContent();
globaldata.m_configDlg.m_InjSampleDlg.reflashContent();
globaldata.m_configDlg.m_InjValveDlg.reflashContent();
globaldata.m_configDlg.m_chromeDlg.reflashContent();
globaldata.m_configDlg.m_RealColDlg.reflashContent();
globaldata.m_configDlg.m_det.reflashContent();
globaldata.m_configDlg.m_AuxDlg.reflashContent();
// globaldata.m_configDlg.m_SignalDlg.reflashContent();
globaldata.m_configDlg.changenameforup -= new ConfigDlg.ChangeMNameForUp(SetMainFormMethodName);
globaldata.m_configDlg.changenameforup += new ConfigDlg.ChangeMNameForUp(SetMainFormMethodName);
globaldata.m_configDlg.sendupdatecmd -= new ConfigDlg.SendUpdateCMD(SendPCCMD);
globaldata.m_configDlg.sendupdatecmd += new ConfigDlg.SendUpdateCMD(SendPCCMD);
globaldata.m_configDlg.Show();
globaldata.m_pcbuffer.gcpcinfo.pcworkinfo.RunType = 0;
//globaldata.RunType = 0;
// globaldata.m_configDlg.m_RunTableDlg.reflashContent();
}
}
private void MethodBrowseMenuItem_Click(object sender, EventArgs e)
{
if (globaldata.m_configDlg.Visible == true)
return;
if (inifilec)
{
globaldata.m_profileMethod.SetMethodFullName(globaldata.m_pcbuffer.gcpcinfo.pcfileinfo.cur_MethodName);
globaldata.m_profileMethod.GetDevState();
if (globaldata.m_configDlg.IsDisposed)
globaldata.m_configDlg = new MethodConfig();
globaldata.m_configDlg.m_InjPortDlg.reflashContent();
globaldata.m_configDlg.m_InjSampleDlg.reflashContent();
globaldata.m_configDlg.m_InjValveDlg.reflashContent();
globaldata.m_configDlg.m_chromeDlg.reflashContent();
globaldata.m_configDlg.m_RealColDlg.reflashContent();
globaldata.m_configDlg.m_det.reflashContent();
globaldata.m_configDlg.m_AuxDlg.reflashContent();
// globaldata.m_configDlg.m_SignalDlg.reflashContent();
globaldata.m_configDlg.changenameforup -= new ConfigDlg.ChangeMNameForUp(SetMainFormMethodName);
globaldata.m_configDlg.changenameforup += new ConfigDlg.ChangeMNameForUp(SetMainFormMethodName);
globaldata.m_configDlg.sendupdatecmd -= new ConfigDlg.SendUpdateCMD(SendPCCMD);
globaldata.m_configDlg.sendupdatecmd += new ConfigDlg.SendUpdateCMD(SendPCCMD);
globaldata.m_configDlg.Show();
}
else
{
OpenFileDialog fileDlg = new OpenFileDialog();
fileDlg.Multiselect = false;
fileDlg.InitialDirectory = Application.StartupPath + "\\仪器方法";
fileDlg.Title = "请选择方法文件";
fileDlg.Filter = "配置文件(*.ini)|*.ini";
if (fileDlg.ShowDialog() == DialogResult.OK)
{
string file = fileDlg.FileName;
// globaldata.cur_MethodName = file;
//globaldata.cur_OpenMethodName = file;
globaldata.m_pcbuffer.gcpcinfo.pcfileinfo.cur_OpenMethodName = file;
globaldata.m_profileMethod.SetMethodFullName(file);
globaldata.m_profileMethod.GetDevState();
if (globaldata.m_configDlg.IsDisposed)
globaldata.m_configDlg = new MethodConfig();
globaldata.m_configDlg.m_InjPortDlg.reflashContent();
globaldata.m_configDlg.m_InjSampleDlg.reflashContent();
globaldata.m_configDlg.m_InjValveDlg.reflashContent();
globaldata.m_configDlg.m_chromeDlg.reflashContent();
globaldata.m_configDlg.m_RealColDlg.reflashContent();
globaldata.m_configDlg.m_det.reflashContent();
globaldata.m_configDlg.m_AuxDlg.reflashContent();
// globaldata.m_configDlg.m_SignalDlg.reflashContent();
globaldata.m_configDlg.changenameforup -= new ConfigDlg.ChangeMNameForUp(SetMainFormMethodName);
globaldata.m_configDlg.changenameforup += new ConfigDlg.ChangeMNameForUp(SetMainFormMethodName);
globaldata.m_configDlg.sendupdatecmd -= new ConfigDlg.SendUpdateCMD(SendPCCMD);
globaldata.m_configDlg.sendupdatecmd += new ConfigDlg.SendUpdateCMD(SendPCCMD);
globaldata.m_configDlg.Show();
// globaldata.m_configDlg.m_RunTableDlg.reflashContent();
}
}
}
private void HistoryDataMenu_Click(object sender, EventArgs e)
{
try
{
WaveTotalForm total = new WaveTotalForm();
total.Show();
}
catch (Exception ex)
{
Log.Error(ex.Message);
}
}
private void CalibrationMenu_Click(object sender, EventArgs e)
{
try
{
AdjustFrom just = new AdjustFrom();
just.Show();
}
catch (Exception ex)
{
Log.Error(ex.Message);
}
}
private void HistoryPicMenu_Click(object sender, EventArgs e)
{
try
{
HistChartForm hist = new HistChartForm();
hist.Show();
}
catch (Exception ex)
{
Log.Error(ex.Message);
}
}
} }
} }
...@@ -136,6 +136,6 @@ ...@@ -136,6 +136,6 @@
<value>601, 17</value> <value>601, 17</value>
</metadata> </metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>175</value> <value>86</value>
</metadata> </metadata>
</root> </root>
\ No newline at end of file
...@@ -149,7 +149,7 @@ namespace GcDevicePc ...@@ -149,7 +149,7 @@ namespace GcDevicePc
//MainBase初始化 //MainBase初始化
InitializeComponent(); InitializeComponent();
//运行环境初始化 //运行环境初始化
MainBase_InitAppConfig(); // MainBase_InitAppConfig();
//标题初始化 //标题初始化
ManinBase_InitFormTitle(); ManinBase_InitFormTitle();
//菜单初始化 //菜单初始化
...@@ -735,11 +735,6 @@ namespace GcDevicePc ...@@ -735,11 +735,6 @@ namespace GcDevicePc
System.IO.File.Create(globaldata.m_pcbuffer.gcpcinfo.pcfileinfo.cur_StatusName).Dispose(); System.IO.File.Create(globaldata.m_pcbuffer.gcpcinfo.pcfileinfo.cur_StatusName).Dispose();
} }
globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.subStatusFolder = System.IO.Path.Combine(tmpFolder, "子状态");
if (System.IO.Directory.Exists(globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.subStatusFolder) == false)
{
System.IO.Directory.CreateDirectory(globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.subStatusFolder);
}
globaldata.m_profileMethod.SetStatusFullName(globaldata.m_pcbuffer.gcpcinfo.pcfileinfo.cur_StatusName); globaldata.m_profileMethod.SetStatusFullName(globaldata.m_pcbuffer.gcpcinfo.pcfileinfo.cur_StatusName);
...@@ -755,6 +750,7 @@ namespace GcDevicePc ...@@ -755,6 +750,7 @@ namespace GcDevicePc
{ {
System.IO.Directory.CreateDirectory(globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.RunTabFolder); System.IO.Directory.CreateDirectory(globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.RunTabFolder);
} }
if (System.IO.File.Exists(globaldata.m_pcbuffer.gcpcinfo.pcfileinfo.cur_RunTab) == false) if (System.IO.File.Exists(globaldata.m_pcbuffer.gcpcinfo.pcfileinfo.cur_RunTab) == false)
{ {
StreamWriter sw = new StreamWriter(globaldata.m_pcbuffer.gcpcinfo.pcfileinfo.cur_RunTab, false, System.Text.Encoding.Unicode); StreamWriter sw = new StreamWriter(globaldata.m_pcbuffer.gcpcinfo.pcfileinfo.cur_RunTab, false, System.Text.Encoding.Unicode);
......
...@@ -38,7 +38,7 @@ namespace GcDevicePc.ProThread ...@@ -38,7 +38,7 @@ namespace GcDevicePc.ProThread
{ {
try try
{ {
if (globaldata.connection_ip != null && globaldata.connection_ip != "") if (!String.IsNullOrEmpty(globaldata.connection_ip))
socket.Connect(globaldata.connection_ip, 8005); //配置服务器IP与端口 socket.Connect(globaldata.connection_ip, 8005); //配置服务器IP与端口
Console.WriteLine("连接服务器成功"); Console.WriteLine("连接服务器成功");
break; break;
......
...@@ -9,91 +9,109 @@ using System.Text.RegularExpressions; ...@@ -9,91 +9,109 @@ using System.Text.RegularExpressions;
using System.Collections; using System.Collections;
using System.Management; using System.Management;
using System.Net.NetworkInformation; using System.Net.NetworkInformation;
using GcDevicePc.Common;
namespace GcDevicePc.ProThread namespace GcDevicePc.ProThread
{ {
class HMISearch class HMISearch
{ {
public UdpClient client; private UdpClient client;
public IPEndPoint endpoint; private IPEndPoint endpoint;
Thread searchth; Thread searchth;
ManualResetEvent mre = new ManualResetEvent(false); ManualResetEvent mre = new ManualResetEvent(false);
public globaldata.DeviceInfo m_DeviceInfo; public globaldata.DeviceInfo m_DeviceInfo;
public ArrayList myHMIList = new ArrayList(); public ArrayList myHMIList = new ArrayList();
string FMAC =null; private string FMAC = null;
string file = System.Windows.Forms.Application.StartupPath + "\\startup.ini";
string localip = null; private string _localip = null;
/// <summary> /// <summary>
/// 构造函数 /// 构造函数
/// </summary> /// </summary>
public HMISearch() public HMISearch(String hmimac)
{ {
// globaldata.hHMIList.Clear(); this.FMAC = hmimac;
myHMIList.Clear(); myHMIList.Clear();
globaldata.DeviceList.Clear(); globaldata.DeviceList.Clear();
GetHmiIp();
}
INIOperation test = new INIOperation(file); public void ReGetHmiIp()
this.FMAC = test.INIGetStringValue("NetWorkConfig", "MAC地址", null); {
GetHmiIp();
}
private void GetHmiIp()
{
Log.Info("Start Get PC Local IP...");
try
{
NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces(); NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
foreach (NetworkInterface adapter in nics) foreach (NetworkInterface adapter in nics)
{ {
if (adapter.Name == "本地连接") if (adapter.Name == "本地连接")
{ {
bool Pd1 = (adapter.NetworkInterfaceType == NetworkInterfaceType.Ethernet); //判断是否是以太网连接 bool pd1 = (adapter.NetworkInterfaceType == NetworkInterfaceType.Ethernet); //判断是否是以太网连接
if (Pd1) if (pd1)
{
{ {
IPInterfaceProperties ip = adapter.GetIPProperties(); //IP配置信息 IPInterfaceProperties ip = adapter.GetIPProperties(); //IP配置信息
UnicastIPAddressInformationCollection ipCollection = ip.UnicastAddresses; UnicastIPAddressInformationCollection ipCollection = ip.UnicastAddresses;
foreach (UnicastIPAddressInformation ipadd in ipCollection) foreach (UnicastIPAddressInformation ipadd in ipCollection)
{ {
if (ipadd.Address.AddressFamily == AddressFamily.InterNetwork) if (ipadd.Address.AddressFamily == AddressFamily.InterNetwork)
this.localip = ipadd.Address.ToString();//获取ip this._localip = ipadd.Address.ToString();//获取ip
} }
} }
} }
} }
}
catch (Exception e)
{
Log.Error(e.Message);
} }
} }
public void ThStart() public Boolean ThStart()
{
if (String.IsNullOrEmpty(this._localip))
{
return false;
}
else
{ {
if (mre != null) if (mre != null)
mre.Reset(); mre.Reset();
Console.WriteLine("搜索线程开始...."); Log.Info("Start Search HMI...");
searchth = new Thread(ThreadMethod); searchth = new Thread(ThreadMethod);
searchth.IsBackground = true; searchth.IsBackground = true;
searchth.Start(); searchth.Start();
return true;
}
} }
public void ThStop() public void ThStop()
{ {
Console.WriteLine("搜索线程结束...."); Log.Info("Stop Search HMI...");
mre.Set(); mre.Set();
// FMAC = null;
} }
public int HMICount() public int HMICount()
{ {
//return globaldata.hHMIList.Count;
return myHMIList.Count; return myHMIList.Count;
} }
private void ThreadMethod() private void ThreadMethod()
{ {
//byte[] sendBytes = new byte[] { 0x57, 0x54, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x55, 0xAA }; //byte[] sendBytes = new byte[] { 0x57, 0x54, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x55, 0xAA };
byte[] sendBytes = new byte[] { 0x57, 0x54, 0x04, 0x00, 0x00, 0x00, 0x03, 0x02, 0x00, 0x00, 0x55, 0xAA }; //脱机 byte[] sendBytes = new byte[] { 0x57, 0x54, 0x04, 0x00, 0x00, 0x00, 0x03, 0x02, 0x00, 0x00, 0x55, 0xAA };
int iReadBytes = 0; int iReadBytes = 0;
try try
{ {
// client = new UdpClient(new IPEndPoint(IPAddress.Any, 0)); client = new UdpClient(new IPEndPoint(IPAddress.Any, 0));
client = new UdpClient(new IPEndPoint(IPAddress.Parse(this.localip), 0)); // client = new UdpClient(new IPEndPoint(IPAddress.Parse(this._localip), 0));
endpoint = new IPEndPoint(IPAddress.Parse("255.255.255.255"), 233); endpoint = new IPEndPoint(IPAddress.Parse("255.255.255.255"), 233);
client.Send(sendBytes, sendBytes.Length, endpoint); client.Send(sendBytes, sendBytes.Length, endpoint);
Thread.Sleep(500); Thread.Sleep(500);
...@@ -112,14 +130,13 @@ namespace GcDevicePc.ProThread ...@@ -112,14 +130,13 @@ namespace GcDevicePc.ProThread
DoRecvDataCallBack(recvBytes, iReadBytes); DoRecvDataCallBack(recvBytes, iReadBytes);
} }
} }
}catch }catch (Exception e)
{ {
Console.WriteLine(e.Message);
} }
} }
public Boolean DoRecvDataCallBack(byte[] pcData, int iRecvLength) private Boolean DoRecvDataCallBack(byte[] pcData, int iRecvLength)
{ {
int i; int i;
int count = 0; int count = 0;
...@@ -138,7 +155,7 @@ namespace GcDevicePc.ProThread ...@@ -138,7 +155,7 @@ namespace GcDevicePc.ProThread
if ((iDataLength >= 4) && (iRecvLength == 8 + iDataLength)) if ((iDataLength >= 4) && (iRecvLength == 8 + iDataLength))
{ {
System.Text.ASCIIEncoding asciiEncoding = new System.Text.ASCIIEncoding(); ASCIIEncoding asciiEncoding = new ASCIIEncoding();
m_DeviceInfo.bActive = false; m_DeviceInfo.bActive = false;
for (i = 0; i < 100; i++ ) for (i = 0; i < 100; i++ )
......
using System; using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading; using System.Threading;
using System.Windows.Forms; using System.Windows.Forms;
using System.Net.NetworkInformation; using System.Net.NetworkInformation;
using System.Net.Sockets; using System.Net.Sockets;
using GcDevicePc.Common;
using GcDevicePc.ProThread;
namespace GcDevicePc namespace GcDevicePc
{ {
static class Program static class Program
{ {
/// <summary> private static void Isnetworkok()
/// The main entry point for the application. {
/// </summary> String localip = "";
///
//static public string GetGW()
//{
// string strGateway = "192.168.10.1";
// try
// {
// NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
// //遍历数组
// foreach (NetworkInterface adapter in nics)
// {
// if (adapter.Name == "本地连接")
// {
// bool Pd1 = (adapter.NetworkInterfaceType == NetworkInterfaceType.Ethernet); //判断是否是以太网连接
// if (Pd1)
// {
// IPInterfaceProperties ip = adapter.GetIPProperties();
// GatewayIPAddressInformationCollection gateways = ip.GatewayAddresses;
// foreach (var gateWay in gateways)
// {
// strGateway = gateWay.Address.ToString();
// if (strGateway.Length > 0)
// {
// break;
// }
// }
// }
// }
// }
// return strGateway;
// }
// finally
// {
// }
// return strGateway;
//}
static public void isnetworkok()
{
string localip = "";
while(true) while(true)
{ {
try try
...@@ -67,8 +23,8 @@ namespace GcDevicePc ...@@ -67,8 +23,8 @@ namespace GcDevicePc
{ {
if (adapter.Name == "本地连接") if (adapter.Name == "本地连接")
{ {
bool Pd1 = (adapter.NetworkInterfaceType == NetworkInterfaceType.Ethernet); //判断是否是以太网连接 bool pd1 = (adapter.NetworkInterfaceType == NetworkInterfaceType.Ethernet);
if (Pd1) if (pd1)
{ {
IPInterfaceProperties ip = adapter.GetIPProperties(); IPInterfaceProperties ip = adapter.GetIPProperties();
UnicastIPAddressInformationCollection ipCollection = ip.UnicastAddresses; UnicastIPAddressInformationCollection ipCollection = ip.UnicastAddresses;
...@@ -85,11 +41,10 @@ namespace GcDevicePc ...@@ -85,11 +41,10 @@ namespace GcDevicePc
} }
} }
} }
} }
finally catch (Exception e)
{ {
Log.Error(e.Message);
} }
if (globaldata.OffLinkMode || globaldata.StartNetwork) if (globaldata.OffLinkMode || globaldata.StartNetwork)
...@@ -103,23 +58,23 @@ namespace GcDevicePc ...@@ -103,23 +58,23 @@ namespace GcDevicePc
static public bool Ping(string ip) static public bool Ping(string ip)
{ {
System.Net.NetworkInformation.Ping p; Ping p;
System.Net.NetworkInformation.PingOptions options; PingOptions options;
System.Net.NetworkInformation.PingReply reply; PingReply reply;
string data; string data;
int timeout; int timeout;
try try
{ {
p = new System.Net.NetworkInformation.Ping(); p = new Ping();
options = new System.Net.NetworkInformation.PingOptions(); options = new PingOptions();
options.DontFragment = true; options.DontFragment = true;
data = "Test Data!"; data = "Test Data!";
byte[] buffer = System.Text.Encoding.ASCII.GetBytes(data); byte[] buffer = System.Text.Encoding.ASCII.GetBytes(data);
timeout = 1000; // Timeout 时间,单位:毫秒 timeout = 1000; // Timeout 时间,单位:毫秒
reply = p.Send(ip, timeout, buffer, options); reply = p.Send(ip, timeout, buffer, options);
if (reply.Status == System.Net.NetworkInformation.IPStatus.Success) if (reply.Status == IPStatus.Success)
{ {
globaldata.StartNetwork = true; globaldata.StartNetwork = true;
return true; return true;
...@@ -136,17 +91,20 @@ namespace GcDevicePc ...@@ -136,17 +91,20 @@ namespace GcDevicePc
} }
static string ip; static string ip;
static private void CheckHmi() private static void CheckHmi()
{ {
ProThread.HMISearch mysearch = new ProThread.HMISearch(); HMISearch mysearch = new HMISearch(null);
int hmicount = 0; int hmicount = 0;
bool ret = false;
while (true) while (true)
{ {
mysearch.ThStart(); ret = mysearch.ThStart();
if (ret)
{
Thread.Sleep(3000); Thread.Sleep(3000);
hmicount = mysearch.HMICount(); hmicount = mysearch.HMICount();
if (hmicount >= 1) if (hmicount >= 1)
{ {
ip = (((globaldata.DeviceInfo)(mysearch.myHMIList[0])).IpAddr); ip = (((globaldata.DeviceInfo)(mysearch.myHMIList[0])).IpAddr);
...@@ -154,6 +112,13 @@ namespace GcDevicePc ...@@ -154,6 +112,13 @@ namespace GcDevicePc
break; break;
} }
mysearch.ThStop(); mysearch.ThStop();
ret = false;
}
else
{
mysearch.ReGetHmiIp();
Thread.Sleep(2000);
}
if (globaldata.OffLinkMode) if (globaldata.OffLinkMode)
{ {
...@@ -163,15 +128,9 @@ namespace GcDevicePc ...@@ -163,15 +128,9 @@ namespace GcDevicePc
} }
} }
static private System.Windows.Forms.DialogResult ShowStart() private static void RunStartWin()
{ {
return new StartWin().ShowDialog(); DialogResult dr = new StartWin().ShowDialog();
}
static private void runStartWin()
{
DialogResult dr;
dr = ShowStart();
} }
[STAThread] [STAThread]
...@@ -180,36 +139,16 @@ namespace GcDevicePc ...@@ -180,36 +139,16 @@ namespace GcDevicePc
Application.EnableVisualStyles(); Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false); Application.SetCompatibleTextRenderingDefault(false);
//bool pingok = false;
bool createNew; bool createNew;
//string ipgw = "";
Thread t_StartWin;
t_StartWin = new Thread(runStartWin);
t_StartWin.IsBackground = true;
t_StartWin.Start();
//while (true)
//{
// ipgw = GetGW();
// pingok = Ping(ipgw);
// if (pingok)
// {
// break;
// }
Thread tStartWin = new Thread(RunStartWin)
{
IsBackground = true
};
tStartWin.Start();
// if(globaldata.OffLinkMode) Isnetworkok();
// {
// break;
// }
// Thread.Sleep(1000);
//}
isnetworkok();
CheckHmi(); CheckHmi();
{ {
using (System.Threading.Mutex mutex = new System.Threading.Mutex(true, Application.ProductName, out createNew)) using (System.Threading.Mutex mutex = new System.Threading.Mutex(true, Application.ProductName, out createNew))
{ {
...@@ -220,7 +159,6 @@ namespace GcDevicePc ...@@ -220,7 +159,6 @@ namespace GcDevicePc
else else
{ {
MessageBox.Show("应用程序已经在运行中..."); MessageBox.Show("应用程序已经在运行中...");
System.Threading.Thread.Sleep(1000); System.Threading.Thread.Sleep(1000);
System.Environment.Exit(1); System.Environment.Exit(1);
} }
......
...@@ -34,3 +34,4 @@ using System.Runtime.InteropServices; ...@@ -34,3 +34,4 @@ using System.Runtime.InteropServices;
// [assembly: AssemblyVersion("1.0.*")] // [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.1")] [assembly: AssemblyVersion("1.0.0.1")]
[assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
\ No newline at end of file
...@@ -19,7 +19,7 @@ namespace GcDevicePc.Properties { ...@@ -19,7 +19,7 @@ namespace GcDevicePc.Properties {
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
// 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
// (以 /str 作为命令选项),或重新生成 VS 项目。 // (以 /str 作为命令选项),或重新生成 VS 项目。
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources { internal class Resources {
......
...@@ -12,7 +12,7 @@ namespace GcDevicePc.Properties { ...@@ -12,7 +12,7 @@ namespace GcDevicePc.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0")] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.6.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
......
...@@ -28,7 +28,7 @@ namespace GcDevicePc ...@@ -28,7 +28,7 @@ namespace GcDevicePc
bool VerifyName() bool VerifyName()
{ {
string strtmp; string strtmp;
DirectoryInfo MethodDir = new DirectoryInfo(globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.subStatusFolder); DirectoryInfo MethodDir = new DirectoryInfo(globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.SubStatusFolder);
foreach (FileInfo file in MethodDir.GetFiles("*.ini")) foreach (FileInfo file in MethodDir.GetFiles("*.ini"))
{ {
strtmp = this.newcfgname.Text + ".ini"; strtmp = this.newcfgname.Text + ".ini";
...@@ -64,7 +64,7 @@ namespace GcDevicePc ...@@ -64,7 +64,7 @@ namespace GcDevicePc
private void okbutton_Click(object sender, EventArgs e) private void okbutton_Click(object sender, EventArgs e)
{ {
string filename = this.newcfgname.Text +".ini"; string filename = this.newcfgname.Text +".ini";
filename = System.IO.Path.Combine(globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.subStatusFolder, filename); filename = System.IO.Path.Combine(globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.SubStatusFolder, filename);
SaveInI(filename); SaveInI(filename);
this.Close(); this.Close();
} }
......
...@@ -25,7 +25,7 @@ namespace GcDevicePc ...@@ -25,7 +25,7 @@ namespace GcDevicePc
private void SendConfig_Load(object sender, EventArgs e) private void SendConfig_Load(object sender, EventArgs e)
{ {
DirectoryInfo subStatusDir = new DirectoryInfo(globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.subStatusFolder); DirectoryInfo subStatusDir = new DirectoryInfo(globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.SubStatusFolder);
localStatusList.Items.Clear(); localStatusList.Items.Clear();
foreach (FileInfo file in subStatusDir.GetFiles("*.ini")) foreach (FileInfo file in subStatusDir.GetFiles("*.ini"))
...@@ -102,7 +102,7 @@ namespace GcDevicePc ...@@ -102,7 +102,7 @@ namespace GcDevicePc
if (localStatusList.GetItemChecked(i)) if (localStatusList.GetItemChecked(i))
{ {
checkfilename = localStatusList.GetItemText(localStatusList.Items[i]); checkfilename = localStatusList.GetItemText(localStatusList.Items[i]);
sendfilename = System.IO.Path.Combine(globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.subStatusFolder, checkfilename); sendfilename = System.IO.Path.Combine(globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.SubStatusFolder, checkfilename);
} }
} }
......
...@@ -17,14 +17,9 @@ namespace GcDevicePc ...@@ -17,14 +17,9 @@ namespace GcDevicePc
private const double OpacityInterval = 0.02; //0.02 private const double OpacityInterval = 0.02; //0.02
private const double StayTime = 2000; //5s private const double StayTime = 2000; //5s
//int count = 0;
System.Timers.Timer OpacityTimer; System.Timers.Timer OpacityTimer;
Thread t_preload; static Thread t_preload;
//Thread addhmi;
//ManualResetEvent mre = new ManualResetEvent(false);
MainForm m_mainform; MainForm m_mainform;
private void OpacityTimerProcOpen(object sender, System.Timers.ElapsedEventArgs e) private void OpacityTimerProcOpen(object sender, System.Timers.ElapsedEventArgs e)
...@@ -32,9 +27,7 @@ namespace GcDevicePc ...@@ -32,9 +27,7 @@ namespace GcDevicePc
if (this.m_CurrentOpacity < 1) if (this.m_CurrentOpacity < 1)
{ {
////如果当前的透明度小于1,则继续增加透明度 ////如果当前的透明度小于1,则继续增加透明度
this.m_CurrentOpacity += OpacityInterval; this.m_CurrentOpacity += OpacityInterval;
MethodInvoker mi = new MethodInvoker(UpdateFrmOpacity); MethodInvoker mi = new MethodInvoker(UpdateFrmOpacity);
this.BeginInvoke(mi); this.BeginInvoke(mi);
} }
...@@ -42,12 +35,9 @@ namespace GcDevicePc ...@@ -42,12 +35,9 @@ namespace GcDevicePc
{ {
//如果当前已经完全不透明,则停止timer //如果当前已经完全不透明,则停止timer
this.OpacityTimer.Stop(); this.OpacityTimer.Stop();
System.Timers.Timer t = new System.Timers.Timer(StayTime); //设置时间间隔为5秒 System.Timers.Timer t = new System.Timers.Timer(StayTime); //设置时间间隔为5秒
t.Elapsed += new System.Timers.ElapsedEventHandler(Timer_TimesUp); t.Elapsed += new System.Timers.ElapsedEventHandler(Timer_TimesUp);
t.AutoReset = false; //每到指定时间Elapsed事件是触发一次(false),还是一直触发(true) t.AutoReset = false; //每到指定时间Elapsed事件是触发一次(false),还是一直触发(true)
t.Start(); t.Start();
} }
} }
...@@ -56,9 +46,10 @@ namespace GcDevicePc ...@@ -56,9 +46,10 @@ namespace GcDevicePc
{ {
if (this.m_CurrentOpacity > 0) if (this.m_CurrentOpacity > 0)
{ {
t_preload.Join(); //拦截透明度下降请求
//如果当前的透明度>0,则降低透明度 //如果当前的透明度>0,则降低透明度
this.m_CurrentOpacity -= OpacityInterval; this.m_CurrentOpacity -= OpacityInterval;
MethodInvoker mi = new MethodInvoker(UpdateFrmOpacity); MethodInvoker mi = new MethodInvoker(UpdateFrmOpacity);
this.BeginInvoke(mi); this.BeginInvoke(mi);
} }
...@@ -87,17 +78,6 @@ namespace GcDevicePc ...@@ -87,17 +78,6 @@ namespace GcDevicePc
OpacityTimer.Interval = 30; OpacityTimer.Interval = 30;
OpacityTimer.Elapsed += new System.Timers.ElapsedEventHandler(OpacityTimerProcOpen); OpacityTimer.Elapsed += new System.Timers.ElapsedEventHandler(OpacityTimerProcOpen);
OpacityTimer.Start(); OpacityTimer.Start();
t_preload = new Thread(PreLoadingProc);
t_preload.IsBackground = true;
t_preload.Start();
}
private void PreLoadingProc()
{
//diagToolDevProxy.Instance.OpenDevice();
//AppCfg.Instance.Init();
//Frm_manager.Instance.Init();
} }
private void Timer_TimesUp(object sender, System.Timers.ElapsedEventArgs e) private void Timer_TimesUp(object sender, System.Timers.ElapsedEventArgs e)
...@@ -119,53 +99,32 @@ namespace GcDevicePc ...@@ -119,53 +99,32 @@ namespace GcDevicePc
} }
} }
/// <summary>
/// 窗口载入函数
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void StartForm_Load(object sender, EventArgs e) private void StartForm_Load(object sender, EventArgs e)
{ {
//if (mre != null) //载入时开启预载线程
// mre.Reset(); t_preload = new Thread(PreLoadingProc);
//addhmi = new Thread(searchhmi); t_preload.IsBackground = true;
//addhmi.IsBackground = true; t_preload.Start();
//addhmi.Start();
} }
//string ip; /// <summary>
//private void searchhmi() /// 预载操作
//{ /// </summary>
// ProThread.HMISearch mysearch = new ProThread.HMISearch(); private void PreLoadingProc()
// int hmicount = 0; {
globaldata.m_appinit.InitAppFolder();
// while (!mre.WaitOne(100)) globaldata.m_appinit.InitAppDefaultConfig();
// {
// mysearch.ThStart(); // globaldata.m_appinit.InitDB();
// Thread.Sleep(3000); // globaldata.m_appinit.InitAllGC();
// hmicount = mysearch.HMICount(); //globaldata.m_appinit.InitAllGCConfig();
//globaldata.m_appinit.InitGCThread();
// if (hmicount == 1) //globaldata.m_appinit.InitGCControl();
// { }
// mre.Set();
// break;
// }
// mysearch.ThStop();
// count++;
// if (count >= 10)
// {
// mre.Set();
// break;
// }
// }
// if (count < 10)
// {
// ip = (((globaldata.DeviceInfo)(mysearch.myHMIList[0])).IpAddr);
// globaldata.connection_ip = ip;
// mysearch.ThStop();
// }
// count = 0;
//}
} }
} }
...@@ -14,6 +14,8 @@ namespace GcDevicePc ...@@ -14,6 +14,8 @@ namespace GcDevicePc
{ {
private int searchsec = 0; private int searchsec = 0;
private int i = 0; private int i = 0;
public StartWin() public StartWin()
{ {
InitializeComponent(); InitializeComponent();
...@@ -22,9 +24,10 @@ namespace GcDevicePc ...@@ -22,9 +24,10 @@ namespace GcDevicePc
private void checkhmitimer_Tick(object sender, EventArgs e) private void checkhmitimer_Tick(object sender, EventArgs e)
{ {
searchsec++; searchsec++;
if(globaldata.StartNetwork) if(globaldata.StartNetwork)
{ {
if (globaldata.connection_ip != "" && globaldata.connection_ip != null ) if (!String.IsNullOrEmpty(globaldata.connection_ip))
{ {
this.Close(); this.Close();
} }
......
...@@ -286,7 +286,7 @@ namespace GcDevicePc ...@@ -286,7 +286,7 @@ namespace GcDevicePc
private void searchhmi() private void searchhmi()
{ {
ProThread.HMISearch mysearch = new ProThread.HMISearch(); ProThread.HMISearch mysearch = new ProThread.HMISearch(null);
int hmicount = 0 ; int hmicount = 0 ;
int i; int i;
mysearch.ThStart(); mysearch.ThStart();
......
...@@ -34,6 +34,8 @@ namespace GcDevicePc ...@@ -34,6 +34,8 @@ namespace GcDevicePc
public static int device_index =0; //总共探测出的设备数目 public static int device_index =0; //总共探测出的设备数目
public static int current_device; //当前使用的设备号 public static int current_device; //当前使用的设备号
public static AppInit m_appinit = new AppInit();
public const string remoteFolder = "\\Hard Disk2\\"; public const string remoteFolder = "\\Hard Disk2\\";
// public const string remoteFolder = "\\Storage Card\\"; // public const string remoteFolder = "\\Storage Card\\";
public const string exeremoteFolder = "\\Hard Disk\\"; public const string exeremoteFolder = "\\Hard Disk\\";
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<packages> <packages>
<package id="CircularProgressBar" version="2.5.6403.13419" targetFramework="net40" /> <package id="CircularProgressBar" version="2.5.6403.13419" targetFramework="net40" />
<package id="M2Mqtt" version="4.3.0.0" targetFramework="net45" requireReinstallation="True" /> <package id="ini.net" version="1.1.0" targetFramework="net45" />
<package id="log4net" version="2.0.8" targetFramework="net45" />
<package id="M2Mqtt" version="4.3.0.0" targetFramework="net45" />
<package id="WinFormAnimation" version="1.5.6298.3372" targetFramework="net40" /> <package id="WinFormAnimation" version="1.5.6298.3372" targetFramework="net40" />
</packages> </packages>
\ 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