CRVM Redis version HM

This commit is contained in:
Huamonarch 2025-11-07 02:02:31 +08:00
commit f9c1569342
332 changed files with 76055 additions and 0 deletions

63
.gitattributes vendored Normal file
View File

@ -0,0 +1,63 @@
###############################################################################
# Set default behavior to automatically normalize line endings.
###############################################################################
* text=auto
###############################################################################
# Set default behavior for command prompt diff.
#
# This is need for earlier builds of msysgit that does not have it on by
# default for csharp files.
# Note: This is only used by command line
###############################################################################
#*.cs diff=csharp
###############################################################################
# Set the merge driver for project and solution files
#
# Merging from the command prompt will add diff markers to the files if there
# are conflicts (Merging from VS is not affected by the settings below, in VS
# the diff markers are never inserted). Diff markers may cause the following
# file extensions to fail to load in VS. An alternative would be to treat
# these files as binary and thus will always conflict and require user
# intervention with every merge. To do so, just uncomment the entries below
###############################################################################
#*.sln merge=binary
#*.csproj merge=binary
#*.vbproj merge=binary
#*.vcxproj merge=binary
#*.vcproj merge=binary
#*.dbproj merge=binary
#*.fsproj merge=binary
#*.lsproj merge=binary
#*.wixproj merge=binary
#*.modelproj merge=binary
#*.sqlproj merge=binary
#*.wwaproj merge=binary
###############################################################################
# behavior for image files
#
# image files are treated as binary by default.
###############################################################################
#*.jpg binary
#*.png binary
#*.gif binary
###############################################################################
# diff behavior for common document formats
#
# Convert binary document formats to text before diffing them. This feature
# is only available from the command line. Turn it on by uncommenting the
# entries below.
###############################################################################
#*.doc diff=astextplain
#*.DOC diff=astextplain
#*.docx diff=astextplain
#*.DOCX diff=astextplain
#*.dot diff=astextplain
#*.DOT diff=astextplain
#*.pdf diff=astextplain
#*.PDF diff=astextplain
#*.rtf diff=astextplain
#*.RTF diff=astextplain

212
.gitignore vendored Normal file
View File

@ -0,0 +1,212 @@
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
# User-specific files
*.suo
*.user
*.userosscache
*.sln.docstates
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
build/
bld/
[Bb]in/
[Oo]bj/
# Visual Studio 2015 cache/options directory
.vs/
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
# NUNIT
*.VisualState.xml
TestResult.xml
# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c
# DNX
project.lock.json
artifacts/
*_i.c
*_p.c
*_i.h
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc
# Chutzpah Test files
_Chutzpah*
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opensdf
*.sdf
*.cachefile
# Visual Studio profiler
*.psess
*.vsp
*.vspx
# TFS 2012 Local Workspace
$tf/
# Guidance Automation Toolkit
*.gpState
# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user
# JustCode is a .NET coding add-in
.JustCode
# TeamCity is a build add-in
_TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover
# NCrunch
_NCrunch_*
.*crunch*.local.xml
# MightyMoose
*.mm.*
AutoTest.Net/
# Web workbench (sass)
.sass-cache/
# Installshield output folder
[Ee]xpress/
# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html
# Click-Once directory
publish/
# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
## TODO: Comment the next line if you want to checkin your
## web deploy settings but do note that will include unencrypted
## passwords
#*.pubxml
*.publishproj
# NuGet Packages
*.nupkg
# The packages folder can be ignored because of Package Restore
**/packages/*
# except build/, which is used as an MSBuild target.
!**/packages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/packages/repositories.config
# Windows Azure Build Output
csx/
*.build.csdef
# Windows Store app package directory
AppPackages/
# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!*.[Cc]ache/
# Others
ClientBin/
[Ss]tyle[Cc]op.*
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.pfx
*.publishsettings
node_modules/
orleans.codegen.cs
# RIA/Silverlight projects
Generated_Code/
# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
# SQL Server files
*.mdf
*.ldf
# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
# Microsoft Fakes
FakesAssemblies/
# Node.js Tools for Visual Studio
.ntvs_analysis.dat
# Visual Studio 6 build log
*.plg
# Visual Studio 6 workspace options file
*.opt
# LightSwitch generated files
GeneratedArtifacts/
_Pvt_Extensions/
ModelManifest.xml

View File

@ -0,0 +1,11 @@
update t_coilinfo set origPath=replace(origPath, '\\', '\');
update t_coilinfo set energyPath=replace(energyPath, '\\', '\');
alter table t_alarm_info add standno int;
alter table t_alarm_info add energy float;
update t_coilinfo_client set origPath=replace(origPath, '\\', '\');
update t_coilinfo_client set energyPath=replace(energyPath, '\\', '\');
alter table t_alarm_info_client add standno int;
alter table t_alarm_info_client add energy float;

136
CIDExcuter/AlarmRing.cs Normal file
View File

@ -0,0 +1,136 @@
using System;
using System.Threading;
using CRVM.Entity;
namespace CRVM.CIDExcuter
{
public class AlarmRing
{
/// <summary>
/// 播放波形文件
/// </summary>
/// <param name="Filename">文件路径</param>
/// <param name="Mod">一般情况下为0</param>
/// <param name="Flags"></param>
/// <returns></returns>
[System.Runtime.InteropServices.DllImport("winmm.dll")]
public static extern bool PlaySound(String Filename, int Mod, int Flags);
protected const int SND_SYNC = 0x0; //同步播放,线程阻塞
protected const int SND_ASYNC = 0x1;//异步播放
protected const int SND_NODEFAULT = 0x2;
protected const int SND_MEMORY = 0x4;
protected const int SND_LOOP = 0x8;
protected const int SND_NOSTOP = 0x10;
protected const int SND_NOWAIT = 0x2000;
protected const int SND_ALIAS = 0x10000;
protected const int SND_ALIAS_ID = 0x110000;
protected const int SND_FILENAME = 0x20000;
protected const int SND_RESOURCE = 0x40004;
protected const int SND_PURGE = 0x40;
protected const int SND_APPLICATION = 0x80;
private Thread vp;
/// <summary>
/// 开启报警铃声
/// </summary>
public void Ring(bool low, bool mid, bool high)
{
if (vp != null && vp.IsAlive)
{
vp.Abort();
}
if (mid)
{
PlaySound("mid.wav", 0, SND_FILENAME | SND_ASYNC);
//PlaySound("low.wav", 0, SND_FILENAME | SND_ASYNC);
}
else if (high)
{
PlaySound("high.wav", 0, SND_FILENAME | SND_ASYNC);
//PlaySound("low.wav", 0, SND_FILENAME | SND_ASYNC);
}
else if (low)
{
PlaySound("low.wav", 0, SND_FILENAME | SND_ASYNC);
}
}
public void Ring()
{
if (SysParam.Instance.ringType == 1)
{
PlaySound("mid.wav", 0, SND_FILENAME | SND_ASYNC);
//PlaySound("low.wav", 0, SND_FILENAME | SND_ASYNC);
}
else if (SysParam.Instance.ringType == 2)
{
PlaySound("high.wav", 0, SND_FILENAME | SND_ASYNC);
//PlaySound("low.wav", 0, SND_FILENAME | SND_ASYNC);
}
else if (SysParam.Instance.ringType == 0)
{
PlaySound("low.wav", 0, SND_FILENAME | SND_ASYNC);
}
}
/// <summary>
/// 根据报警标记播放报警信息
/// </summary>
/// <param name="alarmFlag">报警标记[机架号,类型]</param>
public void AlarmVoice(bool[,] alarmFlag)
{
if (vp != null && vp.IsAlive)
{
vp.Abort();
}
vp = new Thread(() => AlarmVoicePlay(alarmFlag));
vp.Start();
}
internal void DefectVoice(bool[,] tempDefectFlag, bool[,] alarmFlag)
{
if (vp != null && vp.IsAlive)
{
vp.Abort();
}
vp = new Thread(() => DefectVoicePlay(tempDefectFlag, alarmFlag));
vp.Start();
//Console.WriteLine(DateTime.Now.ToString("HH:mm:ss.fff") + " 线程号:" + Thread.CurrentThread.ManagedThreadId + " 线程池:" + Thread.CurrentThread.IsThreadPoolThread);
}
private void AlarmVoicePlay(bool[,] alarmFlag)
{
for (int i = 5; i >= 1; i--)
{
for (int j = 3; j >= 1; j--)
{
if (alarmFlag[i - 1, j - 1])
{
PlaySound(SysParam.Instance.appPath + @"\ring\alarm" + i + "-" + j + ".wav", 0, SND_FILENAME | SND_ASYNC);
Thread.Sleep(2000);
}
}
}
}
private void DefectVoicePlay(bool[,] defectFlag, bool[,] alarmFlag)
{
//for (int i = 5; i >= 1; i--)
//{
// for (int j = 3; j >= 1; j--)
// {
// if (defectFlag[i - 1, j - 1])
// {
// PlaySound(SysParam.Instance.appPath+@"\ring\defect" + i + "-" + j + ".wav", 0, SND_FILENAME | SND_ASYNC);
// Thread.Sleep(2000);
// }
// }
//}
AlarmVoicePlay(alarmFlag);
}
}
}

View File

@ -0,0 +1,105 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{B8CE572A-4981-4E0C-9E85-8AF0503360E3}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>CRVM.CIDExcuter</RootNamespace>
<AssemblyName>CIDExcuter</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.Threading.Tasks, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Threading.Tasks.Extensions, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Threading.Tasks.Extensions.Desktop, Version=1.0.168.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.Desktop.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.IO, Version=2.6.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.1.1.10\lib\net40\System.IO.dll</HintPath>
</Reference>
<Reference Include="System.Net" />
<Reference Include="System.Runtime, Version=2.6.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.1.1.10\lib\net40\System.Runtime.dll</HintPath>
</Reference>
<Reference Include="System.Threading.Tasks, Version=2.6.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.1.1.10\lib\net40\System.Threading.Tasks.dll</HintPath>
</Reference>
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="AlarmRing.cs" />
<None Include="app.config" />
<None Include="DataProcessCenter.cs.bak" />
<Compile Include="DataProcessCenter.cs" />
<Compile Include="DbHelper.cs" />
<Compile Include="IDataHelper.cs" />
<Compile Include="IViewHelper.cs" />
<Compile Include="LogicConnect.cs" />
<Compile Include="Machine.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Stand.cs" />
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Entity\Entity.csproj">
<Project>{6ea706f6-065d-469e-ab39-7395d780548b}</Project>
<Name>Entity</Name>
</ProjectReference>
<ProjectReference Include="..\HBase\HBase.csproj">
<Project>{27d3ba32-12d4-484e-83d0-573d30fc2a60}</Project>
<Name>HBase</Name>
</ProjectReference>
<ProjectReference Include="..\ICService\ICService.csproj">
<Project>{98dc5466-7295-439a-bbca-a5d4dc219776}</Project>
<Name>ICService</Name>
</ProjectReference>
<ProjectReference Include="..\Utility\Utility.csproj">
<Project>{883a056a-e138-47c0-b8e5-f23fd82f0631}</Project>
<Name>Utility</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets" Condition="Exists('..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" />
<Target Name="EnsureBclBuildImported" BeforeTargets="BeforeBuild" Condition="'$(BclBuildImported)' == ''">
<Error Condition="!Exists('..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" Text="This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=317567." HelpKeyword="BCLBUILD2001" />
<Error Condition="Exists('..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" Text="The build restored NuGet packages. Build the project again to include these packages in the build. For more information, see http://go.microsoft.com/fwlink/?LinkID=317568." HelpKeyword="BCLBUILD2002" />
</Target>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,782 @@
using System;
using CRVM.Entity;
using System.Threading;
using System.Threading.Tasks;
using System.Runtime.InteropServices;
using ICService;
using System.Collections.Generic;
using CRVM.Utility;
using CRVM.Driver;
namespace CRVM.CIDExcuter
{
public class OrginalCollectDataEventArgs : EventArgs { }
public delegate void ComeNewDataHandle(OrginalCollectDataEventArgs e);
public class DataProcessCenter
{
public event ComeNewDataHandle DataChanged;
private Machine mac;
private IDataHelper dataHelper;
private bool isAlarmingNow;
private bool isAlarmingLast;
private bool lowRing, midRing, highRing;
private bool isDefect;
private bool[,] ringflag = new bool[SysParam.Instance.SpeedChannelCount, 3];//报警范围内使用,记录报警范围内哪个机架哪个频段发生报警
private bool[,] defectflag = new bool[SysParam.Instance.SpeedChannelCount, 3];//报警范围内使用,记录报警范围内哪个机架哪个频段发生报警
private double[] alarm_MaxEnergy = new double[SysParam.Instance.SpeedChannelCount];//报警范围内使用,记录五个机架报警范围内产生的最大能量值
private int[] alarm_Position = new int[SysParam.Instance.SpeedChannelCount];
private AlarmRing alarmRing;
public List<string> alarmInfoNow = new List<string>();
public List<string> alarmInfoNowMG = new List<string>();
public string[] alarmInfoLast;
private double[] lineSpdFactor = { 1.0, 1.0, 1.0, 1.0, 1.0 };
int isCoilHasDefect = 0;
private Dictionary<int, int> defectData = new Dictionary<int, int>();//记录当次的缺陷报警记录
private Dictionary<int, int> allDefectData = new Dictionary<int, int>();//记录所有的缺陷报警信息
private Dictionary<int, double> maxDefectEnergy = new Dictionary<int, double>();//发生缺陷时的最大能量值
private double maxDefectEnergyValue = 0.0d;//记录最大能量值
private bool isDefectNow = false;//记录此次采集是否超越缺陷报警线
private bool isDefectLast = false;//记录上次采集是否超越缺陷报警线
private bool isDefectFirstPiont = false;//是否第一个点超越报警线
private int defectStartPos = -1;
private Dictionary<int, int> defectPos = new Dictionary<int, int>();//记录所有的缺陷报警信息
private Dictionary<int, double> defectMaxEnergy = new Dictionary<int, double>();//发生缺陷时的最大能量值
bool before = false;
bool now = false;
//private ZDSate zdState;
private bool[] zdStateData;
int i = 0;
double coilenMax = 0.0d;
int nextCoilCounter = 0;
public DataProcessCenter(Machine mac)
{
this.mac = mac;
dataHelper = new IDataHelper(mac);
alarmRing = new AlarmRing();
mac.startTime = DateTime.Now;
//zdState = new ZDSate();
//zdStateData = new bool[zdState.linesCount];
}
public void DataProcess() //数据处理
{
//for (int i = 0; i < zdStateData.Length; i++)
//{
// zdStateData[i] = false;
//}
isAlarmingNow = false;//初始化报警状态
isDefectNow = false;
lowRing = false;
midRing = false;
highRing = false;
for (int i = 0; i < SysParam.Instance.channelCount; i++)//全部通道
{
//消除直流偏置
DCBias(mac.Stand[i].vib);
//根据当前速度设定各机架报警系数
GetAlarmParam(mac.Stand[i].speed, mac.Stand[i]);
//分频滤波
mac.Stand[i].vibLow = SysParam.Instance.filterAlgor(mac.Stand[i].vib, mac.Stand[i].band_Fre_L1, mac.Stand[i].band_Fre_L2, SysParam.Instance.samplePoint, 100, SysParam.Instance.sampleFre);
mac.Stand[i].vibMid = SysParam.Instance.filterAlgor(mac.Stand[i].vib, mac.Stand[i].band_Fre_M1, mac.Stand[i].band_Fre_M2, SysParam.Instance.samplePoint, 100, SysParam.Instance.sampleFre);
mac.Stand[i].vibHig = SysParam.Instance.filterAlgor(mac.Stand[i].vib, mac.Stand[i].band_Fre_H1, mac.Stand[i].band_Fre_H2, SysParam.Instance.samplePoint, 100, SysParam.Instance.sampleFre);
//各通道、各频段能量值计算
mac.Stand[i].energy_All = GetRMS(mac.Stand[i].vib);
mac.Stand[i].energy_L = GetRMS(mac.Stand[i].vibLow);
mac.Stand[i].energy_M = GetRMS(mac.Stand[i].vibMid);
mac.Stand[i].energy_H = GetRMS(mac.Stand[i].vibHig);
}
for (int i = 0; i < SysParam.Instance.SpeedChannelCount; i++)//仅针对有速度的通道进行报警判断
{
//轧机振动报警判断
AlarmJudge(mac.Stand[i], i);
}
alarmingProcess();//20240312
DevelopLog.DeBug.WriteLogFile("alarming", SysParam.Instance.alarming1.ToString() + "|" + SysParam.Instance.alarming2.ToString() + "|"
+ SysParam.Instance.alarming3.ToString() + "|" + SysParam.Instance.alarming4.ToString() + "|" + SysParam.Instance.alarming5.ToString() + "|"
+ SysParam.Instance.alarmingType.ToString());
//向L1 tdc发送轧机振动状态信息
//zdState.WriteData(zdStateData);
//播放报警铃声
//alarmRing.Ring(lowRing, midRing, highRing);
//如报警结束,播放语音报告报警机架
if (isAlarmingLast && !isAlarmingNow)
{
bool[,] tempAlarmFlag = (bool[,])ringflag.Clone();
SysParam.Instance.ringflag = (bool[,])ringflag.Clone();
//ringflag.Initialize();
ringflag = new bool[SysParam.Instance.SpeedChannelCount, 3];
if (isDefect)
{
isDefect = false;
bool[,] tempDefectFlag = (bool[,])defectflag.Clone();
defectflag.Initialize();
alarmRing.DefectVoice(tempDefectFlag, tempAlarmFlag);
}
else
{
alarmRing.AlarmVoice(tempAlarmFlag);
}
}
nextCoilCounter++;
if (coilenMax <= mac.stripLength && nextCoilCounter > 20)
{
coilenMax = mac.stripLength;
}
//存储数据
if (!SysParam.Instance.fileCreated)
{
dataHelper.CreateFileHead();
}
dataHelper.writeNew(SysParam.Instance.samplePoint);
//更新报警信息
if (isAlarmingNow)
{
for (int k = 0; k < SysParam.Instance.SpeedChannelCount; k++)
{
UpdateAlarmInfo(mac.Stand[k], k); ;//更新报警信息
}
}
//来了剪切信号
if (mac.cutted)
{
Dictionary<int, int> tempDefectPos = new Dictionary<int, int>();
foreach (KeyValuePair<int, int> item in defectPos)
{
tempDefectPos.Add(item.Key, item.Value);
}
Dictionary<int, double> tempDefectMaxEnergy = new Dictionary<int, double>();
foreach (KeyValuePair<int, double> item in defectMaxEnergy)
{
tempDefectMaxEnergy.Add(item.Key, item.Value);
}
int dislen = Convert.ToInt32(coilenMax);
//dataHelper.CloseFile(1, alarmInfoNow, Convert.ToInt32(mac.stripLength), isCoilHasDefect, tempDefectPos, tempDefectMaxEnergy);
dataHelper.CloseFile(1, alarmInfoNow, Convert.ToInt32(dislen), isCoilHasDefect, tempDefectPos, tempDefectMaxEnergy);
//dataHelper.CloseFile(1, alarmInfoNow, Convert.ToInt32(mac.stripLength), isCoilHasDefect, allDefectData, maxDefectEnergy);
stateRefresh();
//剪切信号时清除当前缺陷记录和上一卷所有的缺陷记录start
isCoilHasDefect = 0;
defectData.Clear();
allDefectData.Clear();
maxDefectEnergy.Clear();
//剪切信号时清除当前缺陷记录和上一卷所有的缺陷记录end
isDefectNow = false;//记录此次采集是否超越缺陷报警线
isDefectLast = false;//记录上次采集是否超越缺陷报警线
isDefectFirstPiont = false;//是否第一个点超越报警线
defectStartPos = -1;
defectPos.Clear();//记录所有的缺陷报警信息
defectMaxEnergy.Clear();//发生缺陷时的最大能量值
maxDefectEnergyValue = 0.0d;
coilenMax = 0.0d;
nextCoilCounter = 0;
mac.stripLength = 0;
}
//累计采集时间超过半小时,文件强制关闭
if ((DateTime.Now - mac.startTime).TotalMinutes > 30)
{
mac.cutted = true;
Dictionary<int, int> tempDefectPos = new Dictionary<int, int>();
foreach (KeyValuePair<int, int> item in defectPos)
{
tempDefectPos.Add(item.Key, item.Value);
}
Dictionary<int, double> tempDefectMaxEnergy = new Dictionary<int, double>();
foreach (KeyValuePair<int, double> item in defectMaxEnergy)
{
tempDefectMaxEnergy.Add(item.Key, item.Value);
}
dataHelper.CloseFile(0, alarmInfoNow, Convert.ToInt32(mac.stripLength), isCoilHasDefect, tempDefectPos, tempDefectMaxEnergy);
stateRefresh();
//剪切信号时清除当前缺陷记录和上一卷所有的缺陷记录start
isCoilHasDefect = 0;
defectData.Clear();
allDefectData.Clear();
maxDefectEnergy.Clear();
//剪切信号时清除当前缺陷记录和上一卷所有的缺陷记录end
isDefectNow = false;//记录此次采集是否超越缺陷报警线
isDefectLast = false;//记录上次采集是否超越缺陷报警线
isDefectFirstPiont = false;//是否第一个点超越报警线
defectStartPos = -1;
defectPos.Clear();//记录所有的缺陷报警信息
defectMaxEnergy.Clear();//发生缺陷时的最大能量值
maxDefectEnergyValue = 0.0d;
}
//Console.WriteLine(DateTime.Now.ToString("HH:mm:ss fff") + " 8 FileStore");
double temptime = DateTime.Now.ToOADate();
//更新绘图所需数据
for (int i = 0; i < SysParam.Instance.channelCount; i++)
{
ArrayMove(mac.Stand[i].tVib, mac.Stand[i].vib);
mac.Stand[i].list_Energy_All.Add(mac.Stand[i].energy_All);
mac.Stand[i].list_Energy_L.Add(mac.Stand[i].energy_L);
mac.Stand[i].list_Energy_M.Add(mac.Stand[i].energy_M);
mac.Stand[i].list_Energy_H.Add(mac.Stand[i].energy_H);
mac.Stand[i].list_Alarm_L.Add(mac.Stand[i].alarm_L_Value_ck);
mac.Stand[i].list_Alarm_M.Add(mac.Stand[i].alarm_M_Value_ck);
mac.Stand[i].list_Alarm_H.Add(mac.Stand[i].alarm_H_Value_ck);
mac.Stand[i].list_Defect_L.Add(mac.Stand[i].defect_L_Value_ck);
mac.Stand[i].list_Defect_M.Add(mac.Stand[i].defect_M_Value_ck);
mac.Stand[i].list_Defect_H.Add(mac.Stand[i].defect_H_Value_ck);
mac.Stand[i].list_Energy_Speed.Add(mac.Stand[i].speed);
}
mac.xAxisEnergy.Add(temptime);
mac.distance_Running.Add(mac.stripLength);
if (mac.cutted)
{
mac.list_CutTime.Add(temptime);
}
if (mac.list_CutTime.Count > 0 && mac.list_CutTime[0] < mac.xAxisEnergy.Head)
{
mac.list_CutTime.RemoveAt(0);
}
//剪切信号复位
mac.cutted = false;
//帧数据结束
isAlarmingLast = isAlarmingNow;
SysParam.Instance.isDatahandlered = true;//此次采集的数据全部处理结束标记
isDefectLast = isDefectNow;
}
private void alarmingProcess()
{
if (SysParam.Instance.alarming1 || SysParam.Instance.alarming2 || SysParam.Instance.alarming3 || SysParam.Instance.alarming4 || SysParam.Instance.alarming5)
{
if (SysParam.Instance.alarming5 && SysParam.Instance.alarming4)
{
SysParam.Instance.alarmingType = 2;
}
else
{
SysParam.Instance.alarmingType = 1;
}
}
else
{
SysParam.Instance.alarmingType = 0;
}
}
private void DCBias(double[] temp)////数组先求平均然后数组中的每个值减去这个平均值
{
double tempValue = 0;
int length = temp.Length;
for (int i = 0; i < length; i++)
{
tempValue += temp[i];
}
tempValue = tempValue / length;
for (int i = 0; i < length; i++)
{
temp[i] -= tempValue;
}
}
//查表,该机架在当前速度下的报警参数
private void GetAlarmParam(double speed, Stand std)
{
int ias = std.alarm_spd.Length;
int i_fre = std.fre_l_S1.Length - 1;
int iIndex = std.alarm_spd[0].alarmSpeed;
if (speed <= std.alarm_spd[0].alarmSpeed)
{
std.band_Fre_L1 = std.fre_l_S1[0];
std.band_Fre_L2 = std.fre_l_S2[0];
std.band_Fre_M1 = std.fre_m_S1[0];
std.band_Fre_M2 = std.fre_m_S2[0];
std.band_Fre_H1 = std.fre_h_S1[0];
std.band_Fre_H2 = std.fre_h_S2[0];
std.alarm_L_Value_ck = std.fre_l_V[0];
std.alarm_M_Value_ck = std.fre_m_V[0];
std.alarm_H_Value_ck = std.fre_h_V[0];
std.defect_L_Value_ck = std.fre_l_D[0];
std.defect_M_Value_ck = std.fre_m_D[0];
std.defect_H_Value_ck = std.fre_h_D[0];
}
else if (speed >= std.alarm_spd[ias - 1].alarmSpeed)
{
std.band_Fre_L1 = std.fre_l_S1[i_fre];
std.band_Fre_L2 = std.fre_l_S2[i_fre];
std.band_Fre_M1 = std.fre_m_S1[i_fre];
std.band_Fre_M2 = std.fre_m_S2[i_fre];
std.band_Fre_H1 = std.fre_h_S1[i_fre];
std.band_Fre_H2 = std.fre_h_S2[i_fre];
std.alarm_L_Value_ck = std.fre_l_V[i_fre];
std.alarm_M_Value_ck = std.fre_m_V[i_fre];
std.alarm_H_Value_ck = std.fre_h_V[i_fre];
std.defect_L_Value_ck = std.fre_l_D[i_fre];
std.defect_M_Value_ck = std.fre_m_D[i_fre];
std.defect_H_Value_ck = std.fre_h_D[i_fre];
}
else
{
std.band_Fre_L1 = std.fre_l_S1[Convert.ToInt32(speed - iIndex)];
std.band_Fre_L2 = std.fre_l_S2[Convert.ToInt32(speed - iIndex)];
std.band_Fre_M1 = std.fre_m_S1[Convert.ToInt32(speed - iIndex)];
std.band_Fre_M2 = std.fre_m_S2[Convert.ToInt32(speed - iIndex)];
std.band_Fre_H1 = std.fre_h_S1[Convert.ToInt32(speed - iIndex)];
std.band_Fre_H2 = std.fre_h_S2[Convert.ToInt32(speed - iIndex)];
std.alarm_L_Value_ck = std.fre_l_V[Convert.ToInt32(speed - iIndex)];
std.alarm_M_Value_ck = std.fre_m_V[Convert.ToInt32(speed - iIndex)];
std.alarm_H_Value_ck = std.fre_h_V[Convert.ToInt32(speed - iIndex)];
std.defect_L_Value_ck = std.fre_l_D[Convert.ToInt32(speed - iIndex)];
std.defect_M_Value_ck = std.fre_m_D[Convert.ToInt32(speed - iIndex)];
std.defect_H_Value_ck = std.fre_h_D[Convert.ToInt32(speed - iIndex)];
}
}
private double GetRMS(double[] temp)
{
double rms = 0;
int length = temp.Length;
for (int i = 0; i < length; i++)
{
rms += temp[i] * temp[i];
}
rms = Math.Sqrt(rms / length);
return rms;
}
//数据递归画图用
private void ArrayMove(double[] longArray, double[] shortArray)
{
int longlength = longArray.Length;
int shortlength = shortArray.Length;
if (longlength > shortlength)
{
for (int i = 0; i < longlength - shortlength; i++)
{
longArray[i] = longArray[i + shortlength];
}
for (int i = 0; i < shortlength; i++)
{
longArray[i + longlength - shortlength] = shortArray[i];
}
}
}
private void ListAdd(List<double> tempList, double value)
{
tempList.Add(value);
if (tempList.Count > SysParam.Instance.energyPoints + 1)
{
tempList.RemoveAt(0);
}
}
/// <summary>
/// 振动报警判断
/// </summary>
private void AlarmJudge(Stand std, int standNo)
{
bool alarmingFlag = false;
bool flag = false;
//低频报警信息
if (std.energy_L >= std.alarm_L_Value_ck)
{
alarmingFlag = true;
std.alarm_L_Times++;
if (std.alarm_L_Times == 1)
{
std.tempAlarmLowInfostart = Convert.ToInt32(mac.stripLength);
}
if (std.alarm_L_Times == std.alarm_L_Times_ck)
{
ringflag[standNo, 0] = true;
std.alarmLowInfo.Add(new Stand.AlarmInfo());
std.indexLow++;
std.alarmLowInfo[std.indexLow - 1].startPos = std.tempAlarmLowInfostart;
std.alarmLowInfo[std.indexLow - 1].time = DateTime.Now;
}
if (std.alarm_L_Times >= std.alarm_L_Times_ck)
{
if (std.alarmLowInfo[std.indexLow - 1].value < std.energy_L)
{
std.alarmLowInfo[std.indexLow - 1].value = std.energy_L;
}
std.alarmLowInfo[std.indexLow - 1].endPos = Convert.ToInt32(mac.stripLength);
isAlarmingNow = true;
lowRing = true;
flag = true;
}
if (std.energy_L >= std.defect_L_Value_ck && std.speed > 300)
{
defectflag[standNo, 0] = true;
isDefect = true;
isCoilHasDefect = 1;
isDefectNow = true;
flag = true;
}
}
else
{
std.alarm_L_Times = 0;
}
//中频报警位置
if (std.energy_M >= std.alarm_M_Value_ck)
{
alarmingFlag = true;
std.alarm_M_Times++;
if (std.alarm_M_Times == 1)
{
std.tempAlarmMidInfostart = Convert.ToInt32(mac.stripLength);
}
if (std.alarm_M_Times == std.alarm_M_Times_ck)
{
ringflag[standNo, 1] = true;
std.alarmMidInfo.Add(new Stand.AlarmInfo());
std.indexMid++;
std.alarmMidInfo[std.indexMid - 1].startPos = std.tempAlarmMidInfostart;
std.alarmMidInfo[std.indexMid - 1].time = DateTime.Now;
}
if (std.alarm_M_Times >= std.alarm_M_Times_ck)
{
if (std.alarmMidInfo[std.indexMid - 1].value < std.energy_M)
{
std.alarmMidInfo[std.indexMid - 1].value = std.energy_M;
}
std.alarmMidInfo[std.indexMid - 1].endPos = Convert.ToInt32(mac.stripLength);
isAlarmingNow = true;
midRing = true;
flag = true;
}
if (std.energy_M >= std.defect_M_Value_ck && std.speed > 300)
{
defectflag[standNo, 1] = true;
isDefect = true;
isCoilHasDefect = 1;
isDefectNow = true;
flag = true;
}
}
else
{
std.alarm_M_Times = 0;
}
//高频报警信息
if (std.energy_H >= std.alarm_H_Value_ck)
{
alarmingFlag = true;
std.alarm_H_Times++;
if (std.alarm_H_Times == 1)
{
std.tempAlarmHighInfostart = Convert.ToInt32(mac.stripLength);
}
if (std.alarm_H_Times == std.alarm_H_Times_ck)
{
ringflag[standNo, 2] = true;
std.alarmHighInfo.Add(new Stand.AlarmInfo());
std.indexHigh++;
std.alarmHighInfo[std.indexHigh - 1].startPos = std.tempAlarmHighInfostart;
std.alarmHighInfo[std.indexHigh - 1].time = DateTime.Now;
}
if (std.alarm_H_Times >= std.alarm_H_Times_ck)
{
if (std.alarmHighInfo[std.indexHigh - 1].value < std.energy_H)
{
std.alarmHighInfo[std.indexHigh - 1].value = std.energy_H;
}
std.alarmHighInfo[std.indexHigh - 1].endPos = Convert.ToInt32(mac.stripLength);
isAlarmingNow = true;
highRing = true;
flag = true;
}
if (std.energy_H >= std.defect_H_Value_ck && std.speed > 300)
{
defectflag[standNo, 2] = true;
isDefect = true;
isCoilHasDefect = 1;
isDefectNow = true;
flag = true;
}
}
else
{
std.alarm_H_Times = 0;
}
if (isDefectNow)
{
if (std.energy_H > maxDefectEnergyValue)
{
maxDefectEnergyValue = std.energy_H;
}
if (std.energy_M > maxDefectEnergyValue)
{
maxDefectEnergyValue = std.energy_M;
}
if (std.energy_L > maxDefectEnergyValue)
{
maxDefectEnergyValue = std.energy_L;
}
}
if (isDefectFirstPiont == false && isDefectNow == true)
{
isDefectFirstPiont = true;
}
if (isDefectNow && isDefectFirstPiont == true && defectStartPos == -1)
{
defectStartPos = Convert.ToInt32(mac.stripLength);
if (!defectPos.ContainsKey(defectStartPos))
{
defectPos.Add(defectStartPos, defectStartPos);
}
else
{
defectPos[defectStartPos] = defectStartPos;
}
isDefectFirstPiont = false;
}
if (isDefectLast == true && isDefectNow == false && defectStartPos != -1)
{
defectPos[defectStartPos] = Convert.ToInt32(mac.stripLength);
defectMaxEnergy[defectStartPos] = maxDefectEnergyValue;
maxDefectEnergyValue = 0.0d;
defectStartPos = -1;
}
if (standNo == 0)
{
SysParam.Instance.alarming1 = alarmingFlag ? true : false;
}
if (standNo == 1)
{
SysParam.Instance.alarming2 = alarmingFlag ? true : false;
}
if (standNo == 2)
{
SysParam.Instance.alarming3 = alarmingFlag ? true : false;
}
if (standNo == 3)
{
SysParam.Instance.alarming4 = alarmingFlag ? true : false;
}
if (standNo == 4)
{
SysParam.Instance.alarming5 = alarmingFlag ? true : false;
}
/*if (flag)
{
now = true;
zdStateData[standNo * 8 + 1] = true;
zdStateData[standNo * 8 + 0] = false;
before = true;
}
else
{
now = false;
if (before == true)
{
zdStateData[standNo * 8 + 1] = false;
zdStateData[standNo * 8 + 0] = true;
if (i < 11)
{
before = true;
i++;
}
else
{
before = false;
i = 0;
}
}
else
{
zdStateData[standNo * 8 + 1] = false;
zdStateData[standNo * 8 + 0] = false;
before = false;
}
}*/
}
private void UpdateAlarmInfo(Stand std, int stdNo)
{
if (std.indexLow > 0)
{
AlarmInfo2String(std.alarmLowInfo[std.indexLow - 1], stdNo, "低频");
}
if (std.indexMid > 0)
{
AlarmInfo2String(std.alarmMidInfo[std.indexMid - 1], stdNo, "中频");
}
if (std.indexHigh > 0)
{
AlarmInfo2String(std.alarmHighInfo[std.indexHigh - 1], stdNo, "高频");
}
}
private void AlarmInfo2String(Stand.AlarmInfo alarminfo, int standNo, string alarmType)
{
string temp = alarminfo.time.ToString("MM/dd HH:mm:ss") + " " + (standNo + 1) + "号机架" + alarmType + " 位置:" + alarminfo.startPos.ToString("00000") + "-" + alarminfo.endPos.ToString("00000") + "m 能量:" + alarminfo.value.ToString("0.000") + "g";
int index = temp.IndexOf("-") - 15;//查重,从报警时间后至位置起始点
if (alarmInfoNow.Count > 15)
{
for (int i = alarmInfoNow.Count - 15; i < alarmInfoNow.Count; i++)
{
if (alarmInfoNow[i].Substring(15, index) == temp.Substring(15, index))
{
alarmInfoNow.RemoveAt(i);
}
}
}
else
{
for (int i = 0; i < alarmInfoNow.Count; i++)
{
if (alarmInfoNow[i].Substring(15, index) == temp.Substring(15, index))
{
alarmInfoNow.RemoveAt(i);
}
}
}
alarmInfoNow.Add(temp);
string tempMG = alarminfo.time.ToString("MM/dd HH:mm:ss") + "\r\n" + (standNo + 1) + "号机架" + alarmType + "\r\n位置" + alarminfo.startPos.ToString("00000") + "-" + alarminfo.endPos.ToString("00000") + "m\r\n能量" + alarminfo.value.ToString("0.000") + "g";
int indexMG = temp.IndexOf("-") - 15;//查重,从报警时间后至位置起始点
if (alarmInfoNowMG.Count > 15)
{
for (int i = alarmInfoNowMG.Count - 15; i < alarmInfoNowMG.Count; i++)
{
if (alarmInfoNowMG[i].Substring(15, index) == temp.Substring(15, index))
{
alarmInfoNowMG.RemoveAt(i);
}
}
}
else
{
for (int i = 0; i < alarmInfoNowMG.Count; i++)
{
if (alarmInfoNowMG[i].Substring(15, index) == temp.Substring(15, index))
{
alarmInfoNowMG.RemoveAt(i);
}
}
}
alarmInfoNowMG.Add(temp);
alarmInfoNowChanged = true;
}
public bool alarmInfoNowChanged { set; get; }
public bool alarmInfoLastChanged { set; get; }
private void stateRefresh()
{
if (alarmInfoNow.Count > 0)
{
alarmInfoLastChanged = true;
alarmInfoLast = alarmInfoNow.ToArray();
alarmInfoNowChanged = true;
alarmInfoNow.Clear();
}
if (alarmInfoNowMG.Count > 0)
{
alarmInfoNowMG.Clear();
}
mac.startTime = DateTime.Now;
mac.lenCountStart = mac.lenCountNow;
//报警参数复位
for (int i = 0; i < SysParam.Instance.channelCount; i++)
{
//报警次数清零
mac.Stand[i].alarm_L_Times = 0;
mac.Stand[i].alarm_M_Times = 0;
mac.Stand[i].alarm_H_Times = 0;
}
}
public void Stop()
{
Thread.Sleep(500);//等待0.5秒,以免数据未存储完毕
if (dataHelper != null)
{
Dictionary<int, int> tempDefectPos = new Dictionary<int, int>();
foreach (KeyValuePair<int, int> item in defectPos)
{
tempDefectPos.Add(item.Key, item.Value);
}
Dictionary<int, double> tempDefectMaxEnergy = new Dictionary<int, double>();
foreach (KeyValuePair<int, double> item in defectMaxEnergy)
{
tempDefectMaxEnergy.Add(item.Key, item.Value);
}
//dataHelper.CloseFile(0, alarmInfoNow, Convert.ToInt32(mac.stripLength), isCoilHasDefect, tempDefectPos, tempDefectMaxEnergy);
dataHelper.CloseFile(2, alarmInfoNow, Convert.ToInt32(mac.stripLength), isCoilHasDefect, tempDefectPos, tempDefectMaxEnergy);//0为超时1为正常剪切2为主动关闭
//剪切信号时清除当前缺陷记录和上一卷所有的缺陷记录start
isCoilHasDefect = 0;
defectData.Clear();
allDefectData.Clear();
maxDefectEnergy.Clear();
//剪切信号时清除当前缺陷记录和上一卷所有的缺陷记录end
}
stateRefresh();
//zdState.Stop();
}
}
}

1338
CIDExcuter/DbHelper.cs Normal file

File diff suppressed because it is too large Load Diff

257
CIDExcuter/IDataHelper.cs Normal file
View File

@ -0,0 +1,257 @@
using System;
using System.Collections.Generic;
using System.IO;
using CRVM.Entity;
using System.Threading;
using System.Threading.Tasks;
using System.Data;
namespace CRVM.CIDExcuter
{
public class IDataHelper
{
protected Machine mac;
protected StreamWriter fileTxtOriginalWriter, fileTxtEnergyWriter;
protected BinaryWriter fileBitOriginalWriter;
private string saveFileName;
private string savePathOrigin;
private string savePathEnergy;
private string savePathAlarm;
Dictionary<int, int> allDefectData = new Dictionary<int, int>();
Dictionary<int, double> defectMaxEnergyValue = new Dictionary<int, double>();
public IDataHelper(Machine mac)
{
this.mac = mac;
}
//创建文件
public void CreateFileHead()
{
string temppath = SysParam.Instance.savePath + "\\" + DateTime.Now.ToString("yyyyMMdd") + "\\";
savePathAlarm = temppath + "AlarmInfo" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
saveFileName = DateTime.Now.ToString("yyyyMMddHHmmss");
if (!Directory.Exists(temppath))
{
Directory.CreateDirectory(temppath + "original data\\");
Directory.CreateDirectory(temppath + "energy data\\");
}
Console.WriteLine(DateTime.Now.ToString("HH:mm:ss fff") + " CreateFileHead 0");
if (SysParam.Instance.checkTXT)
{
savePathOrigin = temppath + "original data\\" + saveFileName + ".txt";
fileTxtOriginalWriter = new StreamWriter(new FileStream(savePathOrigin, FileMode.OpenOrCreate));
fileTxtOriginalWriter.WriteLine("原始数据");
for (int i = 0; i < SysParam.Instance.channelCount; i++)
{
fileTxtOriginalWriter.Write((i + 1) + "#机架振动" + "\t");
}
fileTxtOriginalWriter.WriteLine();
fileTxtOriginalWriter.WriteLine(SysParam.Instance.sampleFre);
fileTxtOriginalWriter.WriteLine(SysParam.Instance.samplePoint);
}
else if (SysParam.Instance.checkBIT)
{
savePathOrigin = temppath + "original data\\" + saveFileName + ".dat";
fileBitOriginalWriter = new BinaryWriter(new FileStream(savePathOrigin, FileMode.OpenOrCreate));
Console.WriteLine(DateTime.Now.ToString("HH:mm:ss fff") + " CreateFileHead 1");
fileBitOriginalWriter.Write("原始数据");
for (int i = 0; i < SysParam.Instance.channelCount; i++)
{
fileBitOriginalWriter.Write((i + 1) + "#机架振动");
}
fileBitOriginalWriter.Write("/r/n");
fileBitOriginalWriter.Write(Convert.ToSingle(SysParam.Instance.sampleFre));
fileBitOriginalWriter.Write(Convert.ToSingle(SysParam.Instance.samplePoint));
}
Console.WriteLine(DateTime.Now.ToString("HH:mm:ss fff") + " CreateFileHead 2");
savePathEnergy = temppath + "energy data\\" + saveFileName + ".txt";
fileTxtEnergyWriter = new StreamWriter(new FileStream(savePathEnergy, FileMode.OpenOrCreate));
//能量数据
string tempStr = "";
for (int i = 0; i < SysParam.Instance.channelCount; i++)
{
tempStr = tempStr + (i + 1) + "#机架,";
}
tempStr = tempStr.Substring(0, tempStr.Length - 1) + "能量数据\r\n";
tempStr = tempStr + "采样点数:" + SysParam.Instance.samplePoint + "采样频率Hz)" + SysParam.Instance.sampleFre + "\r\n";
int istandno = 0;
for (int i = 0; i < SysParam.Instance.channelCount; i++)
{
istandno++;
tempStr = tempStr + istandno + "#机架轧制速度" + "\t" + istandno + "#机架全局" + "\t" + istandno + "#机架低频" + "\t" + istandno + "#机架中频" + "\t" +
istandno + "#机架高频" + "\t" + istandno + "#机架低频报警值" + "\t" + istandno + "#机架中频报警值" + "\t" + istandno + "#机架高频报警值" + "\t";
}
fileTxtEnergyWriter.WriteLine(tempStr);
Console.WriteLine(DateTime.Now.ToString("HH:mm:ss fff") + " CreateFileHead 3");
SysParam.Instance.fileCreated = true;
}
//采集数据写入文件
public virtual void writeNew(int dataCount)
{
//Console.WriteLine(DateTime.Now.ToString("HH:mm:ss fff") + " " + Thread.CurrentThread.ManagedThreadId + " " + Thread.CurrentThread.IsThreadPoolThread);
//原始数据
//int dataCount = data.GetLength(1);
if (SysParam.Instance.checkBIT)
{
fileBitOriginalWriter.Write(Convert.ToSingle(1111));
for (int i = 0; i < dataCount; i++)
{
for (int k = 0; k < SysParam.Instance.channelCount; k++)
{
fileBitOriginalWriter.Write(Convert.ToSingle(mac.Stand[k].vib[i]));
}
}
for (int k = 0; k < SysParam.Instance.SpeedChannelCount; k++)
{
fileBitOriginalWriter.Write(Convert.ToSingle(mac.Stand[k].speed));
}
fileBitOriginalWriter.Write(Convert.ToSingle(mac.stripLength));
}
else if (SysParam.Instance.checkTXT)
{
for (int i = 0; i < dataCount; i++)
{
for (int k = 0; k < SysParam.Instance.channelCount; k++)
{
fileTxtOriginalWriter.Write((mac.Stand[k].vib[i]).ToString("e6") + "\t");
}
fileTxtOriginalWriter.WriteLine(); //new line of data (start next scan);
}
for (int k = 0; k < 5; k++)
{
fileTxtOriginalWriter.Write(mac.Stand[k].speed.ToString("e6") + "\t");
}
fileTxtOriginalWriter.WriteLine(mac.stripLength.ToString("e6"));
}
for (int k = 0; k < SysParam.Instance.channelCount; k++)
{
fileTxtEnergyWriter.Write(mac.Stand[k].speed.ToString("e6") + "\t" + mac.Stand[k].energy_All.ToString("e6") + "\t" + mac.Stand[k].energy_L.ToString("e6") + "\t" +
mac.Stand[k].energy_M.ToString("e6") + "\t" + mac.Stand[k].energy_H.ToString("e6") + "\t" + mac.Stand[k].alarm_L_Value_ck.ToString("e6") + "\t" +
mac.Stand[k].alarm_M_Value_ck.ToString("e6") + "\t" + mac.Stand[k].alarm_H_Value_ck.ToString("e6") + "\t");
}
fileTxtEnergyWriter.WriteLine();
}
/// <summary>
/// 文件写入关闭,写报警日志并更新数据库
/// </summary>
/// <param name="endFlag">文件结束标志0=超时1=剪切2=手动关闭</param>
/// <param name="alarmInfo">写报警日志所需报警信息</param>
/// <param name="cutLength">钢卷剪切长度</param>
public virtual void CloseFile(int endFlag, List<string> alarmInfo, int cutLength, int defectflag, Dictionary<int, int> allDefectData, Dictionary<int, double> defectMaxEnergyValue)
{
//关闭文件流
if (SysParam.Instance.fileCreated)////连续执行两次closefile函数会造成不能向已关闭的文件中写
{
if (SysParam.Instance.checkTXT)
{
fileTxtOriginalWriter.Close();
}
else if (SysParam.Instance.checkBIT)
{
fileBitOriginalWriter.Write(Convert.ToSingle(111111111));
fileBitOriginalWriter.Close();
}
fileTxtEnergyWriter.Close();
}
SysParam.Instance.fileCreated = false;
string[] tempAlarmInfo = alarmInfo.ToArray();
string savePathOriginTemp = this.savePathOrigin;
string savePathEnergyTemp = this.savePathEnergy;
new Task(() => WriteAlarmInfo(endFlag, tempAlarmInfo, cutLength, savePathOriginTemp, savePathEnergyTemp, defectflag)).Start();
if (allDefectData.Keys.Count > 0)
{
DbHelper.GetInstance("").recordLocalDefectData(allDefectData, defectMaxEnergyValue);
}
}
private void WriteAlarmInfo(int endFlag, string[] alarmInfo, int cutLength, string savePathOrigin, string savePathEnergy, int defectflag)
{
int alarmstate = 0;//无报警
//写报警日志
if (alarmInfo.Length > 0)
{
alarmstate = 1;//有报警
string alarmlog = "";
for (int i = 0; i < alarmInfo.Length; i++)
{
alarmlog = alarmlog + alarmInfo[i] + Environment.NewLine;
}
//结束时再空两行以区分不同钢卷
alarmlog = alarmlog + Environment.NewLine + Environment.NewLine;
File.AppendAllText(savePathAlarm, alarmlog);
}
//数据库写入钢卷文件信息
DbHelper.GetInstance("").AddNewCoilInfo(alarmstate, endFlag, savePathOrigin, savePathEnergy, cutLength.ToString(), defectflag);
//数据库写入报警信息
if (alarmstate == 1)
{
AlarmInfoInsertDb();
}
}
private void AlarmInfoInsertDb()
{
//报警信息合并
List<int> start = new List<int>();
List<int> end = new List<int>();
List<double> value = new List<double>();
List<int> standNo = new List<int>();
List<int> alarmType = new List<int>();
for (int k = 0; k < SysParam.Instance.SpeedChannelCount; k++)
{
for (int i = 0; i < mac.Stand[k].indexLow; i++)
{
start.Add(mac.Stand[k].alarmLowInfo[i].startPos);
end.Add(mac.Stand[k].alarmLowInfo[i].endPos);
value.Add(mac.Stand[k].alarmLowInfo[i].value);
standNo.Add(k);
alarmType.Add(0);
}
mac.Stand[k].indexLow = 0;
mac.Stand[k].alarmLowInfo.Clear();
for (int i = 0; i < mac.Stand[k].indexMid; i++)
{
start.Add(mac.Stand[k].alarmMidInfo[i].startPos);
end.Add(mac.Stand[k].alarmMidInfo[i].endPos);
value.Add(mac.Stand[k].alarmMidInfo[i].value);
standNo.Add(k);
alarmType.Add(1);
}
mac.Stand[k].indexMid = 0;
mac.Stand[k].alarmMidInfo.Clear();
for (int i = 0; i < mac.Stand[k].indexHigh; i++)
{
start.Add(mac.Stand[k].alarmHighInfo[i].startPos);
end.Add(mac.Stand[k].alarmHighInfo[i].endPos);
value.Add(mac.Stand[k].alarmHighInfo[i].value);
standNo.Add(k);
alarmType.Add(2);
}
mac.Stand[k].indexHigh = 0;
mac.Stand[k].alarmHighInfo.Clear();
}
DbHelper.GetInstance("").InsertAlarmInfo(start.ToArray(), end.ToArray(), standNo.ToArray(), alarmType.ToArray(), value.ToArray());
}
}
}

380
CIDExcuter/IViewHelper.cs Normal file
View File

@ -0,0 +1,380 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using CRVM.Entity;
namespace CRVM.CIDExcuter
{
public class IViewHelper
{
private List<List<float>> _originDataList;
public List<List<float>> originDataList
{
get { return _originDataList; }
}
private List<List<double>> _originSpeedList;
public List<List<double>> originSpeedList
{
get { return _originSpeedList; }
}
private List<double> _originDistanceList;
public List<double> originDistanceList
{
get { return _originDistanceList; }
}
private double[,] _energyData;
public double[,] energyData
{
get { return _energyData; }
}
private Dictionary<string, int> indColmun;
private int _signalLengthOrigin;
public int signalLengthOrigin
{
get { return _signalLengthOrigin; }
}
private int _signalLengthEnergy;
public int signalLengthEnergy
{
get { return _signalLengthEnergy; }
}
public IViewHelper(string path)
{
ReadFile(path);
}
public void ReadFile(string path)
{
if (path.Contains(".txt"))
{
if (path.Contains("original"))
{
readOk = readTxtOrigData(path);
}
else
{
readOk = readEnergyData(path);
}
}
else if (path.Contains(".dat"))
{
readOk = readOrigData(path);
}
else
{
readOk = false;
}
}
public int IndexChannel(string keys)
{
if (indColmun.ContainsKey(keys))
return indColmun[keys];
else
return -1;
}
private bool readOk = true;
private string[] _channel;
public bool FileOk
{
get { return readOk; }
}
private bool readEnergyData(string path)
{
//Stream myStream = new FileStream(_path, FileMode.Open);
FileStream file = File.OpenRead(path);
StreamReader myread = new StreamReader(file);
int colum = 0;
string tempstr = myread.ReadLine();
if (tempstr.Substring(tempstr.Length - 4, 4) == "能量数据")
{
string content1 = tempstr.Substring(0, tempstr.Length - 4);
string[] split1;
split1 = content1.Split('');
_channel = new string[split1.GetLength(0)];
Array.Copy(split1, 0, _channel, 0, split1.GetLength(0));
for (int i = 0; i < _channel.Length; i++)
{
string str = (i + 1) + "#机架";
if (_channel[i] == str)
{
colum += 8;
}
}
string XXX = myread.ReadLine();
string[] x1 = new string[1];
string[] xx1 = new string[1];
string[] xx2 = new string[1];
x1 = XXX.Split('');
xx1 = x1[0].Split('');
xx2 = x1[1].Split('');
myread.ReadLine();
if (SysParam.Instance.reSampleFre == 0 || SysParam.Instance.reSamplePoint == 0)
{
SysParam.Instance.reSamplePoint = Convert.ToInt32(xx1[1]);
SysParam.Instance.reSampleFre = Convert.ToInt32(xx2[1]);
}
//SysParam.Instance.time_1 = Convert.ToSingle(xx1[1]) / Convert.ToSingle(xx2[1]);
string line = myread.ReadToEnd();
string[] line1 = line.Replace("\r\n", "@").Split('@');
_signalLengthEnergy = line1.Length - 1;
_energyData = new double[colum, _signalLengthEnergy];
string[] line2;
for (int i = 0; i < _signalLengthEnergy; i++)
{
line2 = line1[i].Replace("\t", "@").Split('@');
for (int j = 0; j < colum; j++)
{
_energyData[j, i] = Convert.ToDouble(line2[j]);
}
}
}
else
{
myread.Close();
file.Close();
return false;
}
myread.Close();
file.Close();
return true;
}
private bool readTxtOrigData(string path)
{
FileStream file = File.OpenRead(path);
StreamReader myread = new StreamReader(file);
string tempStr = myread.ReadLine();
try
{
if (tempStr == "原始数据")
{
tempStr = myread.ReadLine();
string[] split1;
split1 = tempStr.Split('\t');
string[] channel = new string[split1.Length - 1];
Array.Copy(split1, 0, channel, 0, split1.GetLength(0) - 1);
indColmun = new Dictionary<string, int>();
for (int i = 0; i < channel.Length; i++)
{
indColmun.Add(channel[i], i);
}
SysParam.Instance.reSampleFre = Convert.ToInt32(myread.ReadLine());
SysParam.Instance.reSamplePoint = Convert.ToInt32(myread.ReadLine());
_originDataList = new List<List<float>>();////存放通道数据
for (int i = 0; i < channel.Length; i++)
{
List<float> listm = new List<float>();
_originDataList.Add(listm);
}
_originSpeedList = new List<List<double>>();//存放速度和轧制距离
for (int i = 0; i < SysParam.Instance.SpeedChannelCount; i++)
{
List<double> listm = new List<double>();
_originSpeedList.Add(listm);
}
_originDistanceList = new List<double>();
while (!myread.EndOfStream)
{
for (int i = 0; i < SysParam.Instance.samplePoint; i++)
{
string line = myread.ReadLine();
string[] line1 = line.Split('\t');
for (int j = 0; j < channel.Length; j++)
{
_originDataList[j].Add(Convert.ToSingle(line1[j]));
}
}
string disSpeed = myread.ReadLine();
string[] disspeed = disSpeed.Split('\t');
for (int i = 0; i < SysParam.Instance.SpeedChannelCount; i++)//速度信息
{
_originSpeedList[i].Add(Convert.ToDouble(disspeed[i]));
}
_originDistanceList.Add(Convert.ToDouble(disspeed[5]));
}
_signalLengthOrigin = _originDataList[0].Count;
myread.Close();
file.Close();
return true;
}
else
{
myread.Close();
file.Close();
return false;
}
}
catch (Exception)
{
myread.Close();
file.Close();
return false;
}
}
private bool readOrigData(string path)
{
//DevelopLog.DeBug.WriteLogFile("开始读文件","开始");
try
{
Stream myStream = new FileStream(path, FileMode.Open);
_signalLengthOrigin = 0;
BinaryReader MyReader = new BinaryReader(myStream, Encoding.UTF8);
string tempStr = MyReader.ReadString();
if (tempStr == "原始数据")
{
//读取头
tempStr = MyReader.ReadString();
indColmun = new Dictionary<string, int>();
int channelCount = 0;
while (tempStr != "/r/n")
{
indColmun.Add(tempStr, channelCount);
tempStr = MyReader.ReadString();
channelCount += 1;
}
SysParam.Instance.reSampleFre = Convert.ToInt32(MyReader.ReadSingle());
SysParam.Instance.reSamplePoint = Convert.ToInt32(MyReader.ReadSingle());
//建立数据结构
_originDataList = new List<List<float>>();
for (int i = 0; i < channelCount; i++)
{
//定义数据长度,避免自动扩充时溢出
List<float> listm = new List<float>();// 30 * 60 * SysParam.Instance.reSampleFre);
_originDataList.Add(listm);
}
_originSpeedList = new List<List<double>>();//存放速度和轧制距离
for (int i = 0; i < SysParam.Instance.SpeedChannelCount; i++)
{
List<double> listm = new List<double>();
_originSpeedList.Add(listm);
}
_originDistanceList = new List<double>();
//开始读取数据
float signaldata = 0;
signaldata = MyReader.ReadSingle();
SysParam.Instance.OrigDataNum = 0;
try
{
while (signaldata == Convert.ToSingle("1111"))
{
for (int i = 0; i < SysParam.Instance.reSamplePoint; i++)
{
for (int k = 0; k < channelCount; k++)
{
_originDataList[k].Add(MyReader.ReadSingle());
}
}
for (int i = 0; i < SysParam.Instance.SpeedChannelCount; i++)
{
_originSpeedList[i].Add(MyReader.ReadSingle());
}
_originDistanceList.Add(MyReader.ReadSingle());
signaldata = MyReader.ReadSingle();
SysParam.Instance.OrigDataNum++;
_signalLengthOrigin = SysParam.Instance.OrigDataNum * SysParam.Instance.reSamplePoint;
}
}
catch (Exception)
{
for (int k = 0; k < channelCount; k++)////去掉读取不正确的那帧不完整的数据,将前面正确读取的部分保留
{
for (int i = SysParam.Instance.OrigDataNum * SysParam.Instance.reSamplePoint; i < _originDataList[k].Count; i++)
{
_originDataList[k].RemoveAt(i);
}
}
for (int i = 0; i < SysParam.Instance.SpeedChannelCount; i++)
{
for (int j = SysParam.Instance.OrigDataNum; j < _originSpeedList[i].Count; j++)
{
_originSpeedList[i].RemoveAt(j);
}
}
for (int i = SysParam.Instance.OrigDataNum; i < _originDistanceList.Count; i++)
{
_originDistanceList.RemoveAt(i);
}
}
_signalLengthOrigin = _originDataList[0].Count;
MyReader.Close();
myStream.Close();
return true;
}
MyReader.Close();
myStream.Close();
return false;
}
catch (Exception)
{
return false;
}
}
public string selectAlarmFile(string filePath)
{
//根据文件的时间选择对应时间段的报警配置文件
if (!System.IO.Directory.Exists(SysParam.Instance.appPath + "//AlarmConfig//"))
{
//使用当前报警配置文件
return SysParam.Instance.appPath + @"\AppSetting.config";
}
FileInfo[] fileinfos = new DirectoryInfo(SysParam.Instance.appPath + @"\AlarmConfig\").GetFiles();
FileInfo selectFile = null;
DateTime myfileTime = new FileInfo(filePath).LastWriteTime;
DateTime selectFileTime = DateTime.Now;
foreach (FileInfo thisfileinfo in fileinfos)
{
DateTime eachfiletime = thisfileinfo.LastWriteTime;
if (eachfiletime > myfileTime)
{
if (eachfiletime < selectFileTime)
{
selectFileTime = eachfiletime;
selectFile = thisfileinfo;
}
}
}
if (selectFile != null)
{
return selectFile.FullName;
}
else
{
//使用当前报警配置文件
return SysParam.Instance.appPath + @"\AppSetting.config";
}
}
}
}

View File

@ -0,0 +1,76 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CRVM.Utility;
using System.Data;
using System.Collections;
using System.Data.OleDb;
namespace CRVM.CIDExcuter
{
public class LogicConnect
{
private IDBAccess projDB = null;
private StringConnectItem connstrItem = null;
public EDBItem dbItem;
private string connstr = "";
private string tablestr;
public LogicConnect(EDBItem dbItem, string tablestr)
{
this.dbItem = dbItem;
this.tablestr = tablestr;
ConnectStrs(dbItem);
}
public void ConnectStrs(EDBItem dbItem)
{
// dbItem = connstrItem.dbItem;
if (dbItem != null)
{
connstrItem = new StringConnectItem();
connstr = StringConnectItem.InitialStrConn(dbItem);
projDB = DBFactory.CreateAccess(dbItem.DataType);
}
else
{
throw new Exception("请配置数据库数据!");
}
}
public DataTable SelTableData(string tablename)
{
DataTable dt = new DataTable();
dt = projDB.SelTableData(tablename, connstr);
return dt;
}
public DataTable SelTableData(string tablename,string sql)
{
DataTable dt = new DataTable();
dt = projDB.SelTableData(tablename,connstr,sql );
return dt;
}
public DataTable DataBase(string sql)
{
DataTable dt = new DataTable();
dt = projDB.DataBase(connstr, sql);
return dt;
}
/// <summary>
/// 获取事件信息
/// </summary>
/// <returns></returns>
public DataTable GetEventInfo(ShowStyle style)
{
string sql = "select seq, eventname, field,datavalue,status,tom from T_BPC_TRIGGER order by seq asc";
DataTable dt = new DataTable();
dt = projDB.GetData(connstr, sql, style);
return dt;
}
}
}

81
CIDExcuter/Machine.cs Normal file
View File

@ -0,0 +1,81 @@
using System;
using System.Collections.Generic;
using CRVM.Entity;
namespace CRVM.CIDExcuter
{
public class Machine
{
private Stand[] stands;
public Stand[] Stand
{
get { return stands; }
set { stands = value; }
}
//当前卷开始时间
public DateTime startTime { set; get; }
//起始位置
public UInt32 lenCountStart { get; set; }
//当前剪切计数器计数值
public UInt32 lenCountNow { get; set; }
//剪切状态
public bool cutted { get; set; }
//轧制总长度
public int cutLength { get; set; }
//当前轧制长度
public double stripLength { get; set; }
//出口线速度
public double lengthSpeed { get; set; }
public RollingArray<double> distance_Running { get; set; }//持续更新的各点轧制距离信息
public double[] distance_Pause { get; set; }//暂存各点轧制距离信息
//能量曲线时间轴上的数据点
public RollingArray<double> xAxisEnergy { get; set; }
public double[] xAxisTime { set; get; }
public List<double> list_CutTime { set; get; }
//public int index { get; set; }
public Machine(int stdCount, int vibLength, int tvibLength, int energyLength)
{
xAxisEnergy = new RollingArray<double>(energyLength + 1);
distance_Running = new RollingArray<double>(energyLength + 1);
xAxisTime = new double[tvibLength];
list_CutTime = new List<double>();
for (int i = energyLength; i >= 0; i--)
{
xAxisEnergy.Add(DateTime.Now.AddSeconds(-i * Convert.ToDouble(SysParam.Instance.samplePoint) / SysParam.Instance.sampleFre).ToOADate());
distance_Running.Add(0.0);
}
for (int i = 0; i < tvibLength; i++)
{
xAxisTime[i] = Convert.ToDouble(i) / SysParam.Instance.sampleFre;
}
stands = new Stand[stdCount];
lengthSpeed = 0;
for (int i = 0; i < stdCount; i++)
{
Stand std = new Stand();
std.Initial(vibLength, tvibLength, energyLength);
stands[i] = std;
}
}
//数据回放用
public string review_coldcoilno { get; set; }
public string review_entThick { get; set; }
public string review_extThick { get; set; }
public string review_width { get; set; }
public string review_steelGrade { get; set; }
public string review_alloyCode { get; set; }
}
}

View File

@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// 有关程序集的常规信息通过以下
// 特性集控制。更改这些特性值可修改
// 与程序集关联的信息。
[assembly: AssemblyTitle("CIDExcuter")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("CIDExcuter")]
[assembly: AssemblyCopyright("Copyright © 2019")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// 将 ComVisible 设置为 false 使此程序集中的类型
// 对 COM 组件不可见。 如果需要从 COM 访问此程序集中的类型,
// 则将该类型上的 ComVisible 特性设置为 true。
[assembly: ComVisible(false)]
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
[assembly: Guid("31396fdf-18b7-43c2-89d6-ef19bdb9575a")]
// 程序集的版本信息由下面四个值组成:
//
// 主版本
// 次版本
// 生成号
// 修订号
//
// 可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值,
// 方法是按如下所示使用“*”:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

342
CIDExcuter/Stand.cs Normal file
View File

@ -0,0 +1,342 @@
using System;
using System.Collections.Generic;
using CRVM.Entity;
namespace CRVM.CIDExcuter
{
//[DataContract]
public class Stand
{
public double[] vib { get; set; }
public double[] vibLow { get; set; }
public double[] vibMid { get; set; }
public double[] vibHig { get; set; }
//分频段能量、速度
public double energy_All { get; set; }
public double energy_L { get; set; }
public double energy_M { get; set; }
public double energy_H { get; set; }
public double speed { get; set; }
//用于绘制时域曲线
public double[] tVib { get; set; }
//用于绘制能量曲线
public RollingArray<double> list_Energy_All { get; set; }
public RollingArray<double> list_Energy_L { get; set; }
public RollingArray<double> list_Energy_M { get; set; }
public RollingArray<double> list_Energy_H { get; set; }
public RollingArray<double> list_Energy_Speed { get; set; }
//用于绘制报警线
public RollingArray<double> list_Alarm_L { set; get; }
public RollingArray<double> list_Alarm_M { set; get; }
public RollingArray<double> list_Alarm_H { set; get; }
//用于绘制缺陷线
public RollingArray<double> list_Defect_L { set; get; }
public RollingArray<double> list_Defect_M { set; get; }
public RollingArray<double> list_Defect_H { set; get; }
#region
private EntityAlarmSpeed[] _alarm_spd = new EntityAlarmSpeed[10];
public EntityAlarmSpeed[] alarm_spd
{
get { return _alarm_spd; }
set { _alarm_spd = value; }
}
public int[] fre_l_S1 { get; set; }
public int[] fre_l_S2 { get; set; }
public double[] fre_l_V { get; set; }
public double[] fre_l_D { get; set; }
public int[] fre_m_S1 { get; set; }
public int[] fre_m_S2 { get; set; }
public double[] fre_m_V { get; set; }
public double[] fre_m_D { get; set; }
public int[] fre_h_S1 { get; set; }
public int[] fre_h_S2 { get; set; }
public double[] fre_h_V { get; set; }
public double[] fre_h_D { get; set; }
public void SetAlarmFred(EntityAlarmSpeed[] alarmspd)
{
_alarm_spd = alarmspd;
if (_alarm_spd != null)
{
if (_alarm_spd.Length <= 1)
{
fre_l_S1 = new int[1];
fre_l_S2 = new int[1];
fre_l_V = new double[1];
fre_l_D = new double[1];
fre_m_S1 = new int[1];
fre_m_S2 = new int[1];
fre_m_V = new double[1];
fre_m_D = new double[1];
fre_h_S1 = new int[1];
fre_h_S2 = new int[1];
fre_h_V = new double[1];
fre_h_D = new double[1];
fre_l_S1[0] = _alarm_spd[0].lowPassL;
fre_l_S2[0] = _alarm_spd[0].lowPassU;
fre_l_V[0] = _alarm_spd[0].lowAlarmValue;
fre_l_D[0] = _alarm_spd[0].lowDefectValue;
fre_m_S1[0] = _alarm_spd[0].midPassL;
fre_m_S2[0] = _alarm_spd[0].midPassU;
fre_m_V[0] = _alarm_spd[0].midAlarmValue;
fre_m_D[0] = _alarm_spd[0].midDefectValue;
fre_h_S1[0] = _alarm_spd[0].highPassL;
fre_h_S2[0] = _alarm_spd[0].highPassU;
fre_h_V[0] = _alarm_spd[0].highAlarmValue;
fre_h_D[0] = _alarm_spd[0].highDefectValue;
}
else
{
int iIndCount = _alarm_spd[_alarm_spd.Length - 1].alarmSpeed - _alarm_spd[0].alarmSpeed + 1;
fre_l_S1 = new int[iIndCount];
fre_l_S2 = new int[iIndCount];
fre_l_V = new double[iIndCount];
fre_l_D = new double[iIndCount];
fre_m_S1 = new int[iIndCount];
fre_m_S2 = new int[iIndCount];
fre_m_V = new double[iIndCount];
fre_m_D = new double[iIndCount];
fre_h_S1 = new int[iIndCount];
fre_h_S2 = new int[iIndCount];
fre_h_V = new double[iIndCount];
fre_h_D = new double[iIndCount];
fre_l_S1[0] = _alarm_spd[0].lowPassL;
fre_l_S2[0] = _alarm_spd[0].lowPassU;
fre_l_V[0] = _alarm_spd[0].lowAlarmValue;
fre_l_D[0] = _alarm_spd[0].lowDefectValue;
fre_m_S1[0] = _alarm_spd[0].midPassL;
fre_m_S2[0] = _alarm_spd[0].midPassU;
fre_m_V[0] = _alarm_spd[0].midAlarmValue;
fre_m_D[0] = _alarm_spd[0].midDefectValue;
fre_h_S1[0] = _alarm_spd[0].highPassL;
fre_h_S2[0] = _alarm_spd[0].highPassU;
fre_h_V[0] = _alarm_spd[0].highAlarmValue;
fre_h_D[0] = _alarm_spd[0].highDefectValue;
int i_start_l_s1 = _alarm_spd[0].lowPassL;
int i_start_l_s2 = _alarm_spd[0].lowPassU;
double i_start_l_v = _alarm_spd[0].lowAlarmValue;
double i_start_l_d = _alarm_spd[0].lowDefectValue;
int i_start_m_s1 = _alarm_spd[0].midPassL;
int i_start_m_s2 = _alarm_spd[0].midPassU;
double i_start_m_v = _alarm_spd[0].midAlarmValue;
double i_start_m_d = _alarm_spd[0].midDefectValue;
int i_start_h_s1 = _alarm_spd[0].highPassL;
int i_start_h_s2 = _alarm_spd[0].highPassU;
double i_start_h_v = _alarm_spd[0].highAlarmValue;
double i_start_h_d = _alarm_spd[0].highDefectValue;
int i_start_spd = _alarm_spd[0].alarmSpeed;
int i_end_l_s1, i_end_l_s2, i_end_m_s1, i_end_m_s2, i_end_h_s1, i_end_h_s2, i_end_spd;
double i_end_l_v, i_end_m_v, i_end_h_v, i_end_l_d, i_end_m_d, i_end_h_d;
double i_step_l_s1, i_step_l_s2, i_step_l_v, i_step_l_d, i_step_m_s1, i_step_m_s2, i_step_m_v, i_step_m_d, i_step_h_s1, i_step_h_s2, i_step_h_v, i_step_h_d;
int i_sub_tmp = 0;
int i_index = 0;
for (int i = 1; i < _alarm_spd.Length; i++)
{
i_end_l_s1 = _alarm_spd[i].lowPassL;
i_end_l_s2 = _alarm_spd[i].lowPassU;
i_end_l_v = _alarm_spd[i].lowAlarmValue;
i_end_l_d = _alarm_spd[i].lowDefectValue;
i_end_m_s1 = _alarm_spd[i].midPassL;
i_end_m_s2 = _alarm_spd[i].midPassU;
i_end_m_v = _alarm_spd[i].midAlarmValue;
i_end_m_d = _alarm_spd[i].midDefectValue;
i_end_h_s1 = _alarm_spd[i].highPassL;
i_end_h_s2 = _alarm_spd[i].highPassU;
i_end_h_v = _alarm_spd[i].highAlarmValue;
i_end_h_d = _alarm_spd[i].highDefectValue;
i_end_spd = _alarm_spd[i].alarmSpeed;
i_sub_tmp = i_end_spd - i_start_spd;
i_step_l_s1 = ((i_end_l_s1 - i_start_l_s1) / (i_sub_tmp * 1.0f));
i_step_l_s2 = ((i_end_l_s2 - i_start_l_s2) / (i_sub_tmp * 1.0f));
i_step_l_v = ((i_end_l_v - i_start_l_v) / (i_sub_tmp * 1.0f));
i_step_l_d = ((i_end_l_d - i_start_l_d) / (i_sub_tmp * 1.0f));
i_step_m_s1 = ((i_end_m_s1 - i_start_m_s1) / (i_sub_tmp * 1.0f));
i_step_m_s2 = ((i_end_m_s2 - i_start_m_s2) / (i_sub_tmp * 1.0f));
i_step_m_v = ((i_end_m_v - i_start_m_v) / (i_sub_tmp * 1.0f));
i_step_m_d = ((i_end_m_d - i_start_m_d) / (i_sub_tmp * 1.0f));
i_step_h_s1 = ((i_end_h_s1 - i_start_h_s1) / (i_sub_tmp * 1.0f));
i_step_h_s2 = ((i_end_h_s2 - i_start_h_s2) / (i_sub_tmp * 1.0f));
i_step_h_v = ((i_end_h_v - i_start_h_v) / (i_sub_tmp * 1.0f));
i_step_h_d = ((i_end_h_d - i_start_h_d) / (i_sub_tmp * 1.0f));
for (int k = 1; k <= i_sub_tmp; k++)
{
fre_l_S1[k + i_index] = Convert.ToInt32(i_start_l_s1 + i_step_l_s1 * (k - 1));
fre_l_S2[k + i_index] = Convert.ToInt32(i_start_l_s2 + i_step_l_s2 * (k - 1));
fre_l_V[k + i_index] = (i_start_l_v + i_step_l_v * (k - 1));
fre_l_D[k + i_index] = (i_start_l_d + i_step_l_d * (k - 1));
fre_m_S1[k + i_index] = Convert.ToInt32(i_start_m_s1 + i_step_m_s1 * (k - 1));
fre_m_S2[k + i_index] = Convert.ToInt32(i_start_m_s2 + i_step_m_s2 * (k - 1));
fre_m_V[k + i_index] = (i_start_m_v + i_step_m_v * (k - 1));
fre_m_D[k + i_index] = (i_start_m_d + i_step_m_d * (k - 1));
fre_h_S1[k + i_index] = Convert.ToInt32(i_start_h_s1 + i_step_h_s1 * (k - 1));
fre_h_S2[k + i_index] = Convert.ToInt32(i_start_h_s2 + i_step_h_s2 * (k - 1));
fre_h_V[k + i_index] = (i_start_h_v + i_step_h_v * (k - 1));
fre_h_D[k + i_index] = (i_start_h_d + i_step_h_d * (k - 1));
}
i_start_l_s1 = i_end_l_s1;
i_start_l_s2 = i_end_l_s2;
i_start_l_v = i_end_l_v;
i_start_l_d = i_end_l_d;
i_start_m_s1 = i_end_m_s1;
i_start_m_s2 = i_end_m_s2;
i_start_m_v = i_end_m_v;
i_start_m_d = i_end_m_d;
i_start_h_s1 = i_end_h_s1;
i_start_h_s2 = i_end_h_s2;
i_start_h_v = i_end_h_v;
i_start_h_d = i_end_h_d;
i_start_spd = i_end_spd;
i_index += i_sub_tmp;
fre_l_S1[i_index] = _alarm_spd[i].lowPassL;
fre_l_S2[i_index] = _alarm_spd[i].lowPassU;
fre_l_V[i_index] = _alarm_spd[i].lowAlarmValue;
fre_l_D[i_index] = _alarm_spd[i].lowDefectValue;
fre_m_S1[i_index] = _alarm_spd[i].midPassL;
fre_m_S2[i_index] = _alarm_spd[i].midPassU;
fre_m_V[i_index] = _alarm_spd[i].midAlarmValue;
fre_m_D[i_index] = _alarm_spd[i].midDefectValue;
fre_h_S1[i_index] = _alarm_spd[i].highPassL;
fre_h_S2[i_index] = _alarm_spd[i].highPassU;
fre_h_V[i_index] = _alarm_spd[i].highAlarmValue;
fre_h_D[i_index] = _alarm_spd[i].highDefectValue;
}
fre_l_S1[iIndCount - 1] = _alarm_spd[_alarm_spd.Length - 1].lowPassL;
fre_l_S2[iIndCount - 1] = _alarm_spd[_alarm_spd.Length - 1].lowPassU;
fre_l_V[iIndCount - 1] = _alarm_spd[_alarm_spd.Length - 1].lowAlarmValue;
fre_l_D[iIndCount - 1] = _alarm_spd[_alarm_spd.Length - 1].lowDefectValue;
fre_m_S1[iIndCount - 1] = _alarm_spd[_alarm_spd.Length - 1].midPassL;
fre_m_S2[iIndCount - 1] = _alarm_spd[_alarm_spd.Length - 1].midPassU;
fre_m_V[iIndCount - 1] = _alarm_spd[_alarm_spd.Length - 1].midAlarmValue;
fre_m_D[iIndCount - 1] = _alarm_spd[_alarm_spd.Length - 1].midDefectValue;
fre_h_S1[iIndCount - 1] = _alarm_spd[_alarm_spd.Length - 1].highPassL;
fre_h_S2[iIndCount - 1] = _alarm_spd[_alarm_spd.Length - 1].highPassU;
fre_h_V[iIndCount - 1] = _alarm_spd[_alarm_spd.Length - 1].highAlarmValue;
fre_h_D[iIndCount - 1] = _alarm_spd[_alarm_spd.Length - 1].highDefectValue;
}
}
}
#endregion
#region
//分频频率范围
public int band_Fre_L1 { get; set; }
public int band_Fre_L2 { get; set; }
public int band_Fre_M1 { get; set; }
public int band_Fre_M2 { get; set; }
public int band_Fre_H1 { get; set; }
public int band_Fre_H2 { get; set; }
//报警参考值
public double alarm_L_Value_ck { get; set; }
public double alarm_M_Value_ck { get; set; }
public double alarm_H_Value_ck { get; set; }
public double defect_L_Value_ck { get; set; }
public double defect_M_Value_ck { get; set; }
public double defect_H_Value_ck { get; set; }
//报警参考次数
public int alarm_L_Times_ck { get; set; }
public int alarm_M_Times_ck { get; set; }
public int alarm_H_Times_ck { get; set; }
//记录能量值超过报警线次数
public int alarm_L_Times { get; set; }
public int alarm_M_Times { get; set; }
public int alarm_H_Times { get; set; }
public class AlarmInfo
{
public DateTime time { set; get; }
public int startPos { set; get; }
public int endPos { set; get; }
public double value { set; get; }
}
public int tempAlarmLowInfostart { set; get; }
public int tempAlarmMidInfostart { set; get; }
public int tempAlarmHighInfostart { set; get; }
public List<AlarmInfo> alarmLowInfo = new List<AlarmInfo>();
public List<AlarmInfo> alarmMidInfo = new List<AlarmInfo>();
public List<AlarmInfo> alarmHighInfo = new List<AlarmInfo>();
//统计报警次数
public int indexLow { get; set; }
public int indexMid { get; set; }
public int indexHigh { get; set; }
#endregion
public double rollDiameterBU { set; get; }
public double rollDiameterBL { set; get; }
public double rollDiameterMU { set; get; }
public double rollDiameterML { set; get; }
public double rollDiameterWU { set; get; }
public double rollDiameterWL { set; get; }
public void Initial(int vibLength, int tvibLength, int energyLength)
{
vib = new double[vibLength];
vibLow = new double[vibLength];
vibMid = new double[vibLength];
vibHig = new double[vibLength];
tVib = new double[tvibLength];
list_Energy_Speed = new RollingArray<double>(energyLength + 1);
list_Energy_All = new RollingArray<double>(energyLength + 1);
list_Energy_L = new RollingArray<double>(energyLength + 1);
list_Energy_M = new RollingArray<double>(energyLength + 1);
list_Energy_H = new RollingArray<double>(energyLength + 1);
list_Alarm_L = new RollingArray<double>(energyLength + 1);
list_Alarm_M = new RollingArray<double>(energyLength + 1);
list_Alarm_H = new RollingArray<double>(energyLength + 1);
list_Defect_L = new RollingArray<double>(energyLength + 1);
list_Defect_M = new RollingArray<double>(energyLength + 1);
list_Defect_H = new RollingArray<double>(energyLength + 1);
for (int i = 0; i < energyLength + 1; i++)
{
list_Energy_Speed.Add(0.0);
list_Energy_All.Add(0.0);
list_Energy_L.Add(0.0);
list_Energy_M.Add(0.0);
list_Energy_H.Add(0.0);
list_Alarm_L.Add(0.0);
list_Alarm_M.Add(0.0);
list_Alarm_H.Add(0.0);
list_Defect_L.Add(0.0);
list_Defect_M.Add(0.0);
list_Defect_H.Add(0.0);
}
}
}
}

15
CIDExcuter/app.config Normal file
View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.6.10.0" newVersion="2.6.10.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.6.10.0" newVersion="2.6.10.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.Bcl" version="1.1.10" targetFramework="net40" />
<package id="Microsoft.Bcl.Async" version="1.0.168" targetFramework="net40" />
<package id="Microsoft.Bcl.Build" version="1.0.14" targetFramework="net40" />
</packages>

168
CRVM.sln Normal file
View File

@ -0,0 +1,168 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.33214.272
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Host", "Host\Host.csproj", "{D4E0A41A-BB1C-4CE1-A7F5-BE7A5B875EE8}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "client", "client\client.csproj", "{5FBBA2DF-49A3-4C0E-B667-4E552317E03B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IDriver", "Driver\IDriver.csproj", "{CA99539C-836B-4670-A392-59892C40CB79}"
ProjectSection(ProjectDependencies) = postProject
{883A056A-E138-47C0-B8E5-F23FD82F0631} = {883A056A-E138-47C0-B8E5-F23FD82F0631}
{6EA706F6-065D-469E-AB39-7395D780548B} = {6EA706F6-065D-469E-AB39-7395D780548B}
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Entity", "Entity\Entity.csproj", "{6EA706F6-065D-469E-AB39-7395D780548B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Utility", "Utility\Utility.csproj", "{883A056A-E138-47C0-B8E5-F23FD82F0631}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICService", "ICService\ICService.csproj", "{98DC5466-7295-439A-BBCA-A5D4DC219776}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIDExcuter", "IDExcuter\SIDExcuter.csproj", "{A6D7F927-E946-40C5-B5E7-0EE05706E0F7}"
ProjectSection(ProjectDependencies) = postProject
{6EA706F6-065D-469E-AB39-7395D780548B} = {6EA706F6-065D-469E-AB39-7395D780548B}
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HBase", "HBase\HBase.csproj", "{27D3BA32-12D4-484E-83D0-573D30FC2A60}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CIDExcuter", "CIDExcuter\CIDExcuter.csproj", "{B8CE572A-4981-4E0C-9E85-8AF0503360E3}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RestApi", "RestApi\RestApi.csproj", "{BAF20FD6-881E-470C-97F3-38769D49BA66}"
EndProject
Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "ClientSetup", "ClientSetup\ClientSetup.vdproj", "{EE026F3B-4A51-4DAB-A75D-65074FC2E787}"
EndProject
Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "HostSetup", "HostSetup\HostSetup.vdproj", "{37881901-C81A-41A2-B958-0F87B760F218}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|Mixed Platforms = Debug|Mixed Platforms
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|Mixed Platforms = Release|Mixed Platforms
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{D4E0A41A-BB1C-4CE1-A7F5-BE7A5B875EE8}.Debug|Any CPU.ActiveCfg = Debug|x86
{D4E0A41A-BB1C-4CE1-A7F5-BE7A5B875EE8}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
{D4E0A41A-BB1C-4CE1-A7F5-BE7A5B875EE8}.Debug|Mixed Platforms.Build.0 = Debug|x86
{D4E0A41A-BB1C-4CE1-A7F5-BE7A5B875EE8}.Debug|x86.ActiveCfg = Debug|x86
{D4E0A41A-BB1C-4CE1-A7F5-BE7A5B875EE8}.Debug|x86.Build.0 = Debug|x86
{D4E0A41A-BB1C-4CE1-A7F5-BE7A5B875EE8}.Release|Any CPU.ActiveCfg = Release|x86
{D4E0A41A-BB1C-4CE1-A7F5-BE7A5B875EE8}.Release|Mixed Platforms.ActiveCfg = Release|x86
{D4E0A41A-BB1C-4CE1-A7F5-BE7A5B875EE8}.Release|Mixed Platforms.Build.0 = Release|x86
{D4E0A41A-BB1C-4CE1-A7F5-BE7A5B875EE8}.Release|x86.ActiveCfg = Release|x86
{D4E0A41A-BB1C-4CE1-A7F5-BE7A5B875EE8}.Release|x86.Build.0 = Release|x86
{5FBBA2DF-49A3-4C0E-B667-4E552317E03B}.Debug|Any CPU.ActiveCfg = Debug|x86
{5FBBA2DF-49A3-4C0E-B667-4E552317E03B}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
{5FBBA2DF-49A3-4C0E-B667-4E552317E03B}.Debug|Mixed Platforms.Build.0 = Debug|x86
{5FBBA2DF-49A3-4C0E-B667-4E552317E03B}.Debug|x86.ActiveCfg = Debug|x86
{5FBBA2DF-49A3-4C0E-B667-4E552317E03B}.Debug|x86.Build.0 = Debug|x86
{5FBBA2DF-49A3-4C0E-B667-4E552317E03B}.Release|Any CPU.ActiveCfg = Release|x86
{5FBBA2DF-49A3-4C0E-B667-4E552317E03B}.Release|Mixed Platforms.ActiveCfg = Release|x86
{5FBBA2DF-49A3-4C0E-B667-4E552317E03B}.Release|Mixed Platforms.Build.0 = Release|x86
{5FBBA2DF-49A3-4C0E-B667-4E552317E03B}.Release|x86.ActiveCfg = Release|x86
{5FBBA2DF-49A3-4C0E-B667-4E552317E03B}.Release|x86.Build.0 = Release|x86
{CA99539C-836B-4670-A392-59892C40CB79}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CA99539C-836B-4670-A392-59892C40CB79}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CA99539C-836B-4670-A392-59892C40CB79}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{CA99539C-836B-4670-A392-59892C40CB79}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{CA99539C-836B-4670-A392-59892C40CB79}.Debug|x86.ActiveCfg = Debug|Any CPU
{CA99539C-836B-4670-A392-59892C40CB79}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CA99539C-836B-4670-A392-59892C40CB79}.Release|Any CPU.Build.0 = Release|Any CPU
{CA99539C-836B-4670-A392-59892C40CB79}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{CA99539C-836B-4670-A392-59892C40CB79}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{CA99539C-836B-4670-A392-59892C40CB79}.Release|x86.ActiveCfg = Release|Any CPU
{6EA706F6-065D-469E-AB39-7395D780548B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6EA706F6-065D-469E-AB39-7395D780548B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6EA706F6-065D-469E-AB39-7395D780548B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{6EA706F6-065D-469E-AB39-7395D780548B}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{6EA706F6-065D-469E-AB39-7395D780548B}.Debug|x86.ActiveCfg = Debug|Any CPU
{6EA706F6-065D-469E-AB39-7395D780548B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6EA706F6-065D-469E-AB39-7395D780548B}.Release|Any CPU.Build.0 = Release|Any CPU
{6EA706F6-065D-469E-AB39-7395D780548B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{6EA706F6-065D-469E-AB39-7395D780548B}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{6EA706F6-065D-469E-AB39-7395D780548B}.Release|x86.ActiveCfg = Release|Any CPU
{883A056A-E138-47C0-B8E5-F23FD82F0631}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{883A056A-E138-47C0-B8E5-F23FD82F0631}.Debug|Any CPU.Build.0 = Debug|Any CPU
{883A056A-E138-47C0-B8E5-F23FD82F0631}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{883A056A-E138-47C0-B8E5-F23FD82F0631}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{883A056A-E138-47C0-B8E5-F23FD82F0631}.Debug|x86.ActiveCfg = Debug|Any CPU
{883A056A-E138-47C0-B8E5-F23FD82F0631}.Release|Any CPU.ActiveCfg = Release|Any CPU
{883A056A-E138-47C0-B8E5-F23FD82F0631}.Release|Any CPU.Build.0 = Release|Any CPU
{883A056A-E138-47C0-B8E5-F23FD82F0631}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{883A056A-E138-47C0-B8E5-F23FD82F0631}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{883A056A-E138-47C0-B8E5-F23FD82F0631}.Release|x86.ActiveCfg = Release|Any CPU
{98DC5466-7295-439A-BBCA-A5D4DC219776}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{98DC5466-7295-439A-BBCA-A5D4DC219776}.Debug|Any CPU.Build.0 = Debug|Any CPU
{98DC5466-7295-439A-BBCA-A5D4DC219776}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{98DC5466-7295-439A-BBCA-A5D4DC219776}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{98DC5466-7295-439A-BBCA-A5D4DC219776}.Debug|x86.ActiveCfg = Debug|Any CPU
{98DC5466-7295-439A-BBCA-A5D4DC219776}.Release|Any CPU.ActiveCfg = Release|Any CPU
{98DC5466-7295-439A-BBCA-A5D4DC219776}.Release|Any CPU.Build.0 = Release|Any CPU
{98DC5466-7295-439A-BBCA-A5D4DC219776}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{98DC5466-7295-439A-BBCA-A5D4DC219776}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{98DC5466-7295-439A-BBCA-A5D4DC219776}.Release|x86.ActiveCfg = Release|Any CPU
{A6D7F927-E946-40C5-B5E7-0EE05706E0F7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A6D7F927-E946-40C5-B5E7-0EE05706E0F7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A6D7F927-E946-40C5-B5E7-0EE05706E0F7}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{A6D7F927-E946-40C5-B5E7-0EE05706E0F7}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{A6D7F927-E946-40C5-B5E7-0EE05706E0F7}.Debug|x86.ActiveCfg = Debug|Any CPU
{A6D7F927-E946-40C5-B5E7-0EE05706E0F7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A6D7F927-E946-40C5-B5E7-0EE05706E0F7}.Release|Any CPU.Build.0 = Release|Any CPU
{A6D7F927-E946-40C5-B5E7-0EE05706E0F7}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{A6D7F927-E946-40C5-B5E7-0EE05706E0F7}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{A6D7F927-E946-40C5-B5E7-0EE05706E0F7}.Release|x86.ActiveCfg = Release|Any CPU
{27D3BA32-12D4-484E-83D0-573D30FC2A60}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{27D3BA32-12D4-484E-83D0-573D30FC2A60}.Debug|Any CPU.Build.0 = Debug|Any CPU
{27D3BA32-12D4-484E-83D0-573D30FC2A60}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{27D3BA32-12D4-484E-83D0-573D30FC2A60}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{27D3BA32-12D4-484E-83D0-573D30FC2A60}.Debug|x86.ActiveCfg = Debug|Any CPU
{27D3BA32-12D4-484E-83D0-573D30FC2A60}.Release|Any CPU.ActiveCfg = Release|Any CPU
{27D3BA32-12D4-484E-83D0-573D30FC2A60}.Release|Any CPU.Build.0 = Release|Any CPU
{27D3BA32-12D4-484E-83D0-573D30FC2A60}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{27D3BA32-12D4-484E-83D0-573D30FC2A60}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{27D3BA32-12D4-484E-83D0-573D30FC2A60}.Release|x86.ActiveCfg = Release|Any CPU
{B8CE572A-4981-4E0C-9E85-8AF0503360E3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B8CE572A-4981-4E0C-9E85-8AF0503360E3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B8CE572A-4981-4E0C-9E85-8AF0503360E3}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{B8CE572A-4981-4E0C-9E85-8AF0503360E3}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{B8CE572A-4981-4E0C-9E85-8AF0503360E3}.Debug|x86.ActiveCfg = Debug|Any CPU
{B8CE572A-4981-4E0C-9E85-8AF0503360E3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B8CE572A-4981-4E0C-9E85-8AF0503360E3}.Release|Any CPU.Build.0 = Release|Any CPU
{B8CE572A-4981-4E0C-9E85-8AF0503360E3}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{B8CE572A-4981-4E0C-9E85-8AF0503360E3}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{B8CE572A-4981-4E0C-9E85-8AF0503360E3}.Release|x86.ActiveCfg = Release|Any CPU
{BAF20FD6-881E-470C-97F3-38769D49BA66}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BAF20FD6-881E-470C-97F3-38769D49BA66}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BAF20FD6-881E-470C-97F3-38769D49BA66}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{BAF20FD6-881E-470C-97F3-38769D49BA66}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{BAF20FD6-881E-470C-97F3-38769D49BA66}.Debug|x86.ActiveCfg = Debug|Any CPU
{BAF20FD6-881E-470C-97F3-38769D49BA66}.Debug|x86.Build.0 = Debug|Any CPU
{BAF20FD6-881E-470C-97F3-38769D49BA66}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BAF20FD6-881E-470C-97F3-38769D49BA66}.Release|Any CPU.Build.0 = Release|Any CPU
{BAF20FD6-881E-470C-97F3-38769D49BA66}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{BAF20FD6-881E-470C-97F3-38769D49BA66}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{BAF20FD6-881E-470C-97F3-38769D49BA66}.Release|x86.ActiveCfg = Release|Any CPU
{BAF20FD6-881E-470C-97F3-38769D49BA66}.Release|x86.Build.0 = Release|Any CPU
{EE026F3B-4A51-4DAB-A75D-65074FC2E787}.Debug|Any CPU.ActiveCfg = Debug
{EE026F3B-4A51-4DAB-A75D-65074FC2E787}.Debug|Mixed Platforms.ActiveCfg = Debug
{EE026F3B-4A51-4DAB-A75D-65074FC2E787}.Debug|x86.ActiveCfg = Debug
{EE026F3B-4A51-4DAB-A75D-65074FC2E787}.Release|Any CPU.ActiveCfg = Release
{EE026F3B-4A51-4DAB-A75D-65074FC2E787}.Release|Mixed Platforms.ActiveCfg = Release
{EE026F3B-4A51-4DAB-A75D-65074FC2E787}.Release|x86.ActiveCfg = Release
{37881901-C81A-41A2-B958-0F87B760F218}.Debug|Any CPU.ActiveCfg = Debug
{37881901-C81A-41A2-B958-0F87B760F218}.Debug|Mixed Platforms.ActiveCfg = Debug
{37881901-C81A-41A2-B958-0F87B760F218}.Debug|x86.ActiveCfg = Debug
{37881901-C81A-41A2-B958-0F87B760F218}.Release|Any CPU.ActiveCfg = Release
{37881901-C81A-41A2-B958-0F87B760F218}.Release|Mixed Platforms.ActiveCfg = Release
{37881901-C81A-41A2-B958-0F87B760F218}.Release|x86.ActiveCfg = Release
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {35863DD0-104E-45F3-9420-82E30025A77B}
EndGlobalSection
EndGlobal

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,149 @@
using System;
using NationalInstruments.DAQmx;
using CRVM.Entity;
using CRVM.Utility;
namespace CRVM.Driver
{
public class DaqDriver
{
private double[,] vibdata;
private double[,] speeddata;
private double[] cutdata;
private double[] lendata;
private Task myTask_Analog, myTask_Speed, myTask_Cut, myTask_Len;
private AnalogMultiChannelReader analogInReader, analogSpeedReader;
private AnalogSingleChannelReader analogCutReader, analogLenReader;
private Task runningTask;
private AsyncCallback analogCallback;
public DaqDriver()
{
//修改为线程池任务
new System.Threading.Tasks.Task(() => DaqStart()).Start();
}
public void DaqStart()
{
try
{
myTask_Analog = new Task();
myTask_Cut = new Task();
myTask_Len = new Task();
myTask_Speed = new Task();
//振动信号 加速度信号 1~8通道 1~5通道对应1~5机架的振动信号 6~8通道预留
for (int i = 0; i < 4; i++)
{
myTask_Analog.AIChannels.CreateAccelerometerChannel("Vib1/ai" + i.ToString(), "", AITerminalConfiguration.Pseudodifferential, -5.0, 5.0,
SysParam.Instance.channel[i].vibSens, AIAccelerometerSensitivityUnits.MillivoltsPerG, AIExcitationSource.Internal, Convert.ToSingle(0.004), AIAccelerationUnits.G);
}
for (int i = 0; i < 4; i++)
{
myTask_Analog.AIChannels.CreateAccelerometerChannel("Vib2/ai" + i.ToString(), "", AITerminalConfiguration.Pseudodifferential, -5.0, 5.0,
SysParam.Instance.channel[4 + i].vibSens, AIAccelerometerSensitivityUnits.MillivoltsPerG, AIExcitationSource.Internal, Convert.ToSingle(0.004), AIAccelerationUnits.G);
}
//轧制速度 模拟电流信号4-20mA 1~2机架0-1000mpm 3~5机架0-1600mpm 单位(m/min)
for (int i = 0; i < 5; i++)
{
myTask_Speed.AIChannels.CreateCurrentChannel("L1signal/ai" + i.ToString(), "", (AITerminalConfiguration)(-1), -0.02, 0.02, AICurrentUnits.Amps);
}
//轧制距离 模拟电流信号4-20mA 0-200m锯齿波 单位m
myTask_Len.AIChannels.CreateCurrentChannel("L1signal/ai5", "", (AITerminalConfiguration)(-1), -0.02, 0.02, AICurrentUnits.Amps);
//剪切信号 模拟电流信号4-20mA <12 无剪切 >12剪切
myTask_Cut.AIChannels.CreateCurrentChannel("L1signal/ai6", "", (AITerminalConfiguration)(-1), -0.02, 0.02, AICurrentUnits.Amps);
//采样速率
myTask_Analog.Timing.ConfigureSampleClock("", Convert.ToDouble(SysParam.Instance.sampleFre), SampleClockActiveEdge.Rising, SampleQuantityMode.ContinuousSamples, 1000);
////声明采集任务
myTask_Analog.Control(TaskAction.Verify);
//数据采集
runningTask = myTask_Analog;
analogInReader = new AnalogMultiChannelReader(myTask_Analog.Stream);
analogCutReader = new AnalogSingleChannelReader(myTask_Cut.Stream);
analogLenReader = new AnalogSingleChannelReader(myTask_Len.Stream);
analogSpeedReader = new AnalogMultiChannelReader(myTask_Speed.Stream);
analogCallback = new AsyncCallback(AnalogInCallback);
//启动采集
//模拟通道采集同步
analogInReader.SynchronizeCallbacks = true;
analogInReader.BeginReadMultiSample(SysParam.Instance.samplePoint, analogCallback, myTask_Analog);
SysParam.Instance.isDatahandlered = true;
}
catch (DaqException ex)
{
throw new Exception("没连接上仪器,请重新连接仪器并重新启动重新" + ex.Message);
}
}
public void DaqStop()
{
runningTask = null;
if (myTask_Analog != null)
{
myTask_Analog.Stop();
}
if (myTask_Cut != null)
{
myTask_Cut.Stop();
}
if (myTask_Len != null)
{
myTask_Len.Stop();
}
if (myTask_Speed != null)
{
myTask_Speed.Stop();
}
}
private void AnalogInCallback(IAsyncResult ar)
{
if (runningTask == ar.AsyncState)
{
analogInReader.BeginReadMultiSample(SysParam.Instance.samplePoint, analogCallback, myTask_Analog);
vibdata = analogInReader.EndReadMultiSample(ar);
speeddata = analogSpeedReader.ReadMultiSample(SysParam.Instance.samplePoint);
cutdata = analogCutReader.ReadMultiSample(SysParam.Instance.samplePoint);
lendata = analogLenReader.ReadMultiSample(SysParam.Instance.samplePoint);
if (SysParam.Instance.isDatahandlered)//数据处理未能及时完成时,该帧数据不触发回调
{
SysParam.Instance.isDatahandlered = false;
if (DaqDataChangEvent != null)
{
DaqDataChangEvent.Invoke(new Daqdata(vibdata, speeddata, lendata, cutdata));
}
}
}
}
public delegate void DriverCollectDataHandle(Daqdata data);
public event DriverCollectDataHandle DaqDataChangEvent;
}
public class Daqdata : EventArgs
{
public double[,] vibData;
public double[,] speedData;
public double[] lenData;
public double[] cutData;
public Daqdata(double[,] indata, double[,] speeddata, double[] lendata, double[] cutdata)
{
this.vibData = indata;
this.cutData = cutdata;
this.lenData = lendata;
this.speedData = speeddata;
}
}
}

View File

@ -0,0 +1,338 @@
using System;
using NationalInstruments.DAQmx;
using CRVM.Entity;
using CRVM.Utility;
namespace CRVM.Driver
{
public class DaqDriver
{
private double[,] vibdata1 = new double[4, SysParam.Instance.samplePoint];
private double[,] vibdata2 = new double[4, SysParam.Instance.samplePoint];
private double[,] speeddata = new double[8, SysParam.Instance.samplePoint];
private double[] cutdata;
private double[] lendata;
private Task myTask_Analog1, myTask_Analog2, myTask_Speed, myTask_Cut, myTask_Len;
private AnalogMultiChannelReader analogInReader1, analogInReader2, analogSpeedReader;
//private AnalogSingleChannelReader analogCutReader, analogLenReader;
private Task runningTask1, runningTask2, runningTask3;
private AsyncCallback analogCallback1, analogCallback2, analogCallback3;
int count = 0;
public DaqDriver()
{
//修改为线程池任务
new System.Threading.Tasks.Task(() => DaqStart()).Start();
}
public void DaqStart()
{
DevelopLog.DeBug.WriteLogFile("DaqStart", "DaqStart");
try
{
myTask_Analog1 = new Task();
myTask_Analog2 = new Task();
myTask_Speed = new Task();
//振动信号 加速度信号 1~3通道对应1~3机架的振动信号 4通道预留
for (int i = 0; i < 4; i++)
{
myTask_Analog1.AIChannels.CreateAccelerometerChannel("Vib1/ai" + i.ToString(), "", AITerminalConfiguration.Pseudodifferential, -5.0, 5.0,
SysParam.Instance.channel[i].vibSens, AIAccelerometerSensitivityUnits.MillivoltsPerG, AIExcitationSource.Internal, Convert.ToSingle(0.004), AIAccelerationUnits.G);
}
//振动信号 加速度信号 1~2通道对应4~5机架的振动信号 3,4通道预留
for (int i = 0; i < 4; i++)
{
myTask_Analog2.AIChannels.CreateAccelerometerChannel("Vib2/ai" + i.ToString(), "", AITerminalConfiguration.Pseudodifferential, -5.0, 5.0,
SysParam.Instance.channel[4 + i].vibSens, AIAccelerometerSensitivityUnits.MillivoltsPerG, AIExcitationSource.Internal, Convert.ToSingle(0.004), AIAccelerationUnits.G);
}
/*//轧制速度 ai0-ai4通道为模拟电流信号4-20mA 1机架0-550mpm 2机架0-1000mpm 3~5机架0-1700mpm 单位(m/min) ai5轧制距离 模拟电流信号4-20mA 0-200m锯齿波 单位m ai6:剪切信号 模拟电流信号4-20mA <12 无剪切 >12剪切
for (int i = 0; i < 7; i++)
{
myTask_Speed.AIChannels.CreateCurrentChannel("L1signal/ai" + i.ToString(), "", (AITerminalConfiguration)(-1), -0.02, 0.02, AICurrentUnits.Amps);
}*/
//1#SPD
myTask_Speed.AIChannels.CreateCurrentChannel("L1signal/ai0", "", (AITerminalConfiguration)(-1), -0.02, 0.02, AICurrentUnits.Amps);
//2#SPD
myTask_Speed.AIChannels.CreateCurrentChannel("L1signal/ai2", "", (AITerminalConfiguration)(-1), -0.02, 0.02, AICurrentUnits.Amps);
//3#SPD
myTask_Speed.AIChannels.CreateCurrentChannel("L1signal/ai4", "", (AITerminalConfiguration)(-1), -0.02, 0.02, AICurrentUnits.Amps);
//4#SPD
myTask_Speed.AIChannels.CreateCurrentChannel("L1signal/ai6", "", (AITerminalConfiguration)(-1), -0.02, 0.02, AICurrentUnits.Amps);
//5#SPD
myTask_Speed.AIChannels.CreateCurrentChannel("L1signal/ai1", "", (AITerminalConfiguration)(-1), -0.02, 0.02, AICurrentUnits.Amps);
//LENGTH
myTask_Speed.AIChannels.CreateCurrentChannel("L1signal/ai5", "", (AITerminalConfiguration)(-1), -0.02, 0.02, AICurrentUnits.Amps);
//CUT
myTask_Speed.AIChannels.CreateCurrentChannel("L1signal/ai3", "", (AITerminalConfiguration)(-1), -0.02, 0.02, AICurrentUnits.Amps);
//SPARE
myTask_Speed.AIChannels.CreateCurrentChannel("L1signal/ai7", "", (AITerminalConfiguration)(-1), -0.02, 0.02, AICurrentUnits.Amps);
////轧制距离 模拟电流信号4-20mA 0-200m锯齿波 单位m
//myTask_Len.AIChannels.CreateCurrentChannel("L1signal/ai5", "", (AITerminalConfiguration)(-1), -0.02, 0.02, AICurrentUnits.Amps);
////剪切信号 模拟电流信号4-20mA <12 无剪切 >12剪切
//myTask_Cut.AIChannels.CreateCurrentChannel("L1signal/ai6", "", (AITerminalConfiguration)(-1), -0.02, 0.02, AICurrentUnits.Amps);
//采样速率
myTask_Analog1.Timing.ConfigureSampleClock("", Convert.ToDouble(SysParam.Instance.sampleFre), SampleClockActiveEdge.Rising, SampleQuantityMode.ContinuousSamples, 1024);
myTask_Analog2.Timing.ConfigureSampleClock("", Convert.ToDouble(SysParam.Instance.sampleFre), SampleClockActiveEdge.Rising, SampleQuantityMode.ContinuousSamples, 1024);
myTask_Speed.Timing.ConfigureSampleClock("", Convert.ToDouble(SysParam.Instance.sampleFre), SampleClockActiveEdge.Rising, SampleQuantityMode.ContinuousSamples, 1024);
////声明采集任务
string time1 = DateTime.Now.Second.ToString() + ":" + DateTime.Now.Millisecond.ToString();
myTask_Analog2.Control(TaskAction.Verify);
string time2 = DateTime.Now.Second.ToString() + ":" + DateTime.Now.Millisecond.ToString();
myTask_Analog1.Control(TaskAction.Verify);
string time3 = DateTime.Now.Second.ToString() + ":" + DateTime.Now.Millisecond.ToString();
myTask_Speed.Control(TaskAction.Verify);
////声明采集任务
/*string time4 = DateTime.Now.Second.ToString() + ":" + DateTime.Now.Millisecond.ToString();
myTask_Analog2.Control(TaskAction.Verify);
string time5 = DateTime.Now.Second.ToString() + ":" + DateTime.Now.Millisecond.ToString();
myTask_Analog1.Control(TaskAction.Verify);
string time6 = DateTime.Now.Second.ToString() + ":" + DateTime.Now.Millisecond.ToString();
myTask_Speed.Control(TaskAction.Verify);*/
//数据采集
runningTask1 = myTask_Analog1;
runningTask2 = myTask_Analog2;
runningTask3 = myTask_Speed;
analogInReader1 = new AnalogMultiChannelReader(myTask_Analog1.Stream);
analogInReader2 = new AnalogMultiChannelReader(myTask_Analog2.Stream);
analogSpeedReader = new AnalogMultiChannelReader(myTask_Speed.Stream);
analogCallback1 = new AsyncCallback(AnalogInCallback1);
analogCallback2 = new AsyncCallback(AnalogInCallback2);
analogCallback3 = new AsyncCallback(AnalogInCallback3);
myTask_Analog2.Start();
myTask_Speed.Start();
//启动采集
//模拟通道采集同步
analogInReader1.SynchronizeCallbacks = true;
analogInReader2.SynchronizeCallbacks = true;
analogSpeedReader.SynchronizeCallbacks = true;
analogInReader1.BeginReadMultiSample(SysParam.Instance.samplePoint, analogCallback1, myTask_Analog1);
analogInReader2.BeginReadMultiSample(SysParam.Instance.samplePoint, analogCallback2, myTask_Analog2);
analogSpeedReader.BeginReadMultiSample(SysParam.Instance.samplePoint, analogCallback3, myTask_Speed);
SysParam.Instance.isDatahandlered = true;
}
catch (DaqException ex)
{
DevelopLog.DeBug.WriteLogFile("ex", ex.ToString());
throw new Exception("没连接上仪器,请重新连接仪器并重新启动重新" + ex.Message);
}
}
public void DaqStop()
{
runningTask1 = null;
runningTask2 = null;
runningTask3 = null;
if (myTask_Analog1 != null)
{
myTask_Analog1.Stop();
}
if (myTask_Analog2 != null)
{
myTask_Analog2.Stop();
}
//if (myTask_Cut != null)
//{
// myTask_Cut.Stop();
//}
//if (myTask_Len != null)
//{
// myTask_Len.Stop();
//}
if (myTask_Speed != null)
{
myTask_Speed.Stop();
}
}
/*private void AnalogInCallback1(IAsyncResult ar)
{
if (runningTask1 != null && runningTask1 == ar.AsyncState)
{
try
{
//DevelopLog.DeBug.WriteLogFile("analogInReader1", "");
vibdata1 = analogInReader1.EndReadMultiSample(ar);
////cutdata = analogCutReader.ReadMultiSample(SysParam.Instance.samplePoint);
////lendata = analogLenReader.ReadMultiSample(SysParam.Instance.samplePoint);
//DevelopLog.DeBug.WriteLogFile("analogSpeedReader", "");
//if (SysParam.Instance.isDatahandlered && count >= 3)//数据处理未能及时完成时,该帧数据不触发回调
//DevelopLog.DeBug.WriteLogFile("speedInReader2", "");
speeddata = analogSpeedReader.ReadMultiSample(SysParam.Instance.samplePoint);
//DevelopLog.DeBug.WriteLogFile("analogInReader2", "");
vibdata2 = analogInReader2.ReadMultiSample(SysParam.Instance.samplePoint);
if (SysParam.Instance.isDatahandlered)//数据处理未能及时完成时,该帧数据不触发回调
{
count = 0;
SysParam.Instance.isDatahandlered = false;
if (DaqDataChangEvent != null)
{
DaqDataChangEvent.Invoke(new Daqdata(vibdata1, vibdata2, speeddata, lendata, cutdata));
}
}
analogInReader1.BeginReadMultiSample(SysParam.Instance.samplePoint, analogCallback1, myTask_Analog1);
}
catch (Exception ex)
{
DevelopLog.DeBug.WriteLogFile("AnalogInCallback1", ex.ToString());
}
}
}
private void AnalogInCallback2(IAsyncResult ar)
{
if (runningTask2 == ar.AsyncState)
{
//DevelopLog.DeBug.WriteLogFile("AnalogInCallback2", "");
analogInReader2.BeginReadMultiSample(SysParam.Instance.samplePoint, analogCallback2, myTask_Analog2);
vibdata2 = analogInReader2.EndReadMultiSample(ar);
//DevelopLog.DeBug.WriteLogFile("analogInReader2", "");
count++;
//vibdata2 = analogInReader2.ReadMultiSample(SysParam.Instance.samplePoint);
//DevelopLog.DeBug.WriteLogFile("analogInReader2", "");
//speeddata = analogSpeedReader.ReadMultiSample(SysParam.Instance.samplePoint);
////cutdata = analogCutReader.ReadMultiSample(SysParam.Instance.samplePoint);
////lendata = analogLenReader.ReadMultiSample(SysParam.Instance.samplePoint);
//DevelopLog.DeBug.WriteLogFile("analogSpeedReader", "");
if (SysParam.Instance.isDatahandlered && count >= 2)//数据处理未能及时完成时,该帧数据不触发回调
{
count = 0;
SysParam.Instance.isDatahandlered = false;
if (DaqDataChangEvent != null)
{
DaqDataChangEvent.Invoke(new Daqdata(vibdata1, vibdata2, speeddata, lendata, cutdata));
}
}
}
}
private void AnalogInCallback3(IAsyncResult ar)
{
if (runningTask3 == ar.AsyncState)
{
//DevelopLog.DeBug.WriteLogFile("AnalogInCallback3", "");
analogSpeedReader.BeginReadMultiSample(SysParam.Instance.samplePoint, analogCallback3, myTask_Speed);
speeddata = analogSpeedReader.EndReadMultiSample(ar);
//DevelopLog.DeBug.WriteLogFile("analogSpeedReader", "");
count++;
//vibdata2 = analogInReader2.ReadMultiSample(SysParam.Instance.samplePoint);
//DevelopLog.DeBug.WriteLogFile("analogInReader2", "");
//speeddata = analogSpeedReader.ReadMultiSample(SysParam.Instance.samplePoint);
////cutdata = analogCutReader.ReadMultiSample(SysParam.Instance.samplePoint);
////lendata = analogLenReader.ReadMultiSample(SysParam.Instance.samplePoint);
//DevelopLog.DeBug.WriteLogFile("analogSpeedReader", "");
if (SysParam.Instance.isDatahandlered && count >= 3)//数据处理未能及时完成时,该帧数据不触发回调
{
count = 0;
SysParam.Instance.isDatahandlered = false;
if (DaqDataChangEvent != null)
{
DaqDataChangEvent.Invoke(new Daqdata(vibdata1, vibdata2, speeddata, lendata, cutdata));
}
}
}
}*/
int countTest = 0;
private void AnalogInCallback1(IAsyncResult ar)
{
if (runningTask1 != null && runningTask1 == ar.AsyncState)
{
try
{
//DevelopLog.DeBug.WriteLogFile("AnalogInCallback1", "");
analogInReader1.BeginReadMultiSample(SysParam.Instance.samplePoint, analogCallback1, myTask_Analog1);
//DevelopLog.DeBug.WriteLogFile("analogInReader1", "");
vibdata1 = analogInReader1.EndReadMultiSample(ar);
//DevelopLog.DeBug.WriteLogFile("speedInReader2", "");
if (countTest == 0)
{
speeddata = analogSpeedReader.ReadMultiSample(SysParam.Instance.samplePoint);
//DevelopLog.DeBug.WriteLogFile("analogInReader2", "");
vibdata2 = analogInReader2.ReadMultiSample(SysParam.Instance.samplePoint);
countTest++;
}
if (SysParam.Instance.isDatahandlered)//数据处理未能及时完成时,该帧数据不触发回调
{
SysParam.Instance.isDatahandlered = false;
if (DaqDataChangEvent != null)
{
DaqDataChangEvent.Invoke(new Daqdata(vibdata1, vibdata2, speeddata, lendata, cutdata));
}
}
}
catch (Exception ex)
{
DevelopLog.DeBug.WriteLogFile("AnalogInCallback1", ex.ToString());
//analogInReader1.BeginReadMultiSample(SysParam.Instance.samplePoint, analogCallback1, myTask_Analog1);
}
}
}
private void AnalogInCallback2(IAsyncResult ar)
{
if (runningTask2 == ar.AsyncState)
{
//DevelopLog.DeBug.WriteLogFile("AnalogInCallback2", "");
analogInReader2.BeginReadMultiSample(SysParam.Instance.samplePoint, analogCallback2, myTask_Analog2);
vibdata2 = analogInReader2.EndReadMultiSample(ar);
}
}
private void AnalogInCallback3(IAsyncResult ar)
{
if (runningTask3 == ar.AsyncState)
{
//DevelopLog.DeBug.WriteLogFile("AnalogInCallback3", "");
analogSpeedReader.BeginReadMultiSample(SysParam.Instance.samplePoint, analogCallback3, myTask_Speed);
speeddata = analogSpeedReader.EndReadMultiSample(ar);
}
}
public delegate void DriverCollectDataHandle(Daqdata data);
public event DriverCollectDataHandle DaqDataChangEvent;
}
public class Daqdata : EventArgs
{
public double[,] vibData1;
public double[,] vibData2;
public double[,] speedData;
public double[] lenData;
public double[] cutData;
public Daqdata(double[,] indata1, double[,] indata2, double[,] speeddata, double[] lendata, double[] cutdata)
{
this.vibData1 = indata1;
this.vibData2 = indata2;
this.cutData = cutdata;
this.lenData = lendata;
this.speedData = speeddata;
}
}
}

341
Driver/DaqDriver.cs Normal file
View File

@ -0,0 +1,341 @@
using System;
using NationalInstruments.DAQmx;
using CRVM.Entity;
using CRVM.Utility;
using System.Timers;
namespace CRVM.Driver
{
public class DaqDriver
{
private double[,] vibdata1 = new double[4, SysParam.Instance.samplePoint];
private double[,] vibdata2 = new double[4, SysParam.Instance.samplePoint];
private double[,] speeddata = new double[8, SysParam.Instance.samplePoint];//F1~F5速度,轧制距离
private double[] cutdata = new double[8];
private double[] lendata;
private bool[] cutflags = new bool[8];//剪切信号--第0位采集箱cz02状态第1位--剪切信号
private bool[] cz02State = new bool[8];//采集箱cz03状态 第0位
public bool[] CutFlags { get { return cutflags; } }
public bool[] CZconnected { get; set; }//CZ02 CZ03 通电状态
private Task myTask_Analog1, myTask_Analog2, myTask_Speed;// myTask_Cut, myTask_cz03;
private AnalogMultiChannelReader analogInReader1, analogInReader2, analogSpeedReader;
private DigitalSingleChannelReader myDigitalReader, myDigitalReader2;
//private AnalogSingleChannelReader analogCutReader, analogLenReader;
private Task runningTask1, runningTask2, runningTask3;
private AsyncCallback analogCallback1, analogCallback2, analogCallback3;
//private System.Timers.Timer Cut_timer = new System.Timers.Timer();
//private System.Timers.Timer CZ03_timer = new System.Timers.Timer();
int count = 0;
public DaqDriver()
{
//修改为线程池任务
new System.Threading.Tasks.Task(() => DaqStart()).Start();
}
public void DaqStart()
{
DevelopLog.DeBug.WriteLogFile("DaqStart", "DaqStart");
try
{
myTask_Analog1 = new Task();
myTask_Analog2 = new Task();
myTask_Speed = new Task();
/* ---------------------剪切信号采集任务--------------------*/
//Cut_timer.Interval = 200; //执行间隔时间,单位为毫秒;
//Cut_timer.Elapsed += new System.Timers.ElapsedEventHandler(updateCutFlag);
/* ---------------------CZ03状态采集任务--------------------*/
// CZ03_timer.Interval = 200;
//CZ03_timer.Elapsed += new System.Timers.ElapsedEventHandler(updateCZFlag);
//振动信号 加速度信号 1~8通道 1~5通道对应1~5机架的振动信号 6~8通道预留
for (int i = 0; i < 4; i++)
{
myTask_Analog1.AIChannels.CreateAccelerometerChannel("Vib1/ai" + i.ToString(), "", AITerminalConfiguration.Pseudodifferential, -5.0, 5.0,
SysParam.Instance.channel[i].vibSens, AIAccelerometerSensitivityUnits.MillivoltsPerG, AIExcitationSource.Internal, Convert.ToSingle(0.004), AIAccelerationUnits.G);
}
for (int i = 0; i < 4; i++)
{
myTask_Analog2.AIChannels.CreateAccelerometerChannel("Vib2/ai" + i.ToString(), "", AITerminalConfiguration.Pseudodifferential, -5.0, 5.0,
SysParam.Instance.channel[4 + i].vibSens, AIAccelerometerSensitivityUnits.MillivoltsPerG, AIExcitationSource.Internal, Convert.ToSingle(0.004), AIAccelerationUnits.G);
}
//轧制速度 ai0-ai4通道为模拟电流信号4-20mA 1机架0-550mpm 2机架0-1000mpm 3~5机架0-1700mpm 单位(m/min) ai5轧制距离 模拟电流信号4-20mA 0-200m锯齿波 单位m ai6:剪切信号 模拟电流信号4-20mA <12 无剪切 >12剪切
// 1#--- 300mpm 2#-- 3#--- 4#---- -5#--1550mpm 卷取机--1580mpm
for (int i = 0; i < 8; i++)
{
myTask_Speed.AIChannels.CreateCurrentChannel("L1signal/ai" + i.ToString(), "", (AITerminalConfiguration)(-1), -0.02, 0.02, AICurrentUnits.Amps);
//myTask_Cut.DIChannels.CreateChannel("L1bool/ai"+i.ToString(),"", ChannelLineGrouping.OneChannelForAllLines);
}
//剪切信号
// myTask_Cut = new Task();
//myTask_Cut.DIChannels.CreateChannel(
// "L1bool/port0",
// "myChannel",
// ChannelLineGrouping.OneChannelForAllLines);
//myDigitalReader = new DigitalSingleChannelReader(myTask_Cut.Stream);
//cz03
//myTask_cz03 = new Task();
//myTask_cz03.DIChannels.CreateChannel(
// "CZ03bool/port0",
// "myChannel",
// ChannelLineGrouping.OneChannelForAllLines);
// myDigitalReader2 = new DigitalSingleChannelReader(myTask_cz03.Stream);
////轧制距离 模拟电流信号4-20mA 0-200m锯齿波 单位m
//myTask_Len.AIChannels.CreateCurrentChannel("L1signal/ai5", "", (AITerminalConfiguration)(-1), -0.02, 0.02, AICurrentUnits.Amps);
////剪切信号 模拟电流信号4-20mA <12 无剪切 >12剪切
//myTask_Cut.AIChannels.CreateCurrentChannel("L1signal/ai6", "", (AITerminalConfiguration)(-1), -0.02, 0.02, AICurrentUnits.Amps);
//采样速率
myTask_Analog1.Timing.ConfigureSampleClock("", Convert.ToDouble(SysParam.Instance.sampleFre), SampleClockActiveEdge.Rising, SampleQuantityMode.ContinuousSamples, 1024);
myTask_Analog2.Timing.ConfigureSampleClock("", Convert.ToDouble(SysParam.Instance.sampleFre), SampleClockActiveEdge.Rising, SampleQuantityMode.ContinuousSamples, 1024);
myTask_Speed.Timing.ConfigureSampleClock("", Convert.ToDouble(SysParam.Instance.sampleFre), SampleClockActiveEdge.Rising, SampleQuantityMode.ContinuousSamples, 1024);
////声明采集任务
string time1 = DateTime.Now.Second.ToString() + ":" + DateTime.Now.Millisecond.ToString();
myTask_Analog2.Control(TaskAction.Verify);
string time2 = DateTime.Now.Second.ToString() + ":" + DateTime.Now.Millisecond.ToString();
myTask_Analog1.Control(TaskAction.Verify);
string time3 = DateTime.Now.Second.ToString() + ":" + DateTime.Now.Millisecond.ToString();
myTask_Speed.Control(TaskAction.Verify);
////声明采集任务
/*string time4 = DateTime.Now.Second.ToString() + ":" + DateTime.Now.Millisecond.ToString();
myTask_Analog2.Control(TaskAction.Verify);
string time5 = DateTime.Now.Second.ToString() + ":" + DateTime.Now.Millisecond.ToString();
myTask_Analog1.Control(TaskAction.Verify);
string time6 = DateTime.Now.Second.ToString() + ":" + DateTime.Now.Millisecond.ToString();
myTask_Speed.Control(TaskAction.Verify);*/
//数据采集
runningTask1 = myTask_Analog1;
runningTask2 = myTask_Analog2;
runningTask3 = myTask_Speed;
//runningTask4 = myTask_Cut;
analogInReader1 = new AnalogMultiChannelReader(myTask_Analog1.Stream);
analogInReader2 = new AnalogMultiChannelReader(myTask_Analog2.Stream);
analogSpeedReader = new AnalogMultiChannelReader(myTask_Speed.Stream);
//digitalReader = new DigitalMultiChannelReader(myTask_Cut.Stream);
analogCallback1 = new AsyncCallback(AnalogInCallback1);
analogCallback2 = new AsyncCallback(AnalogInCallback2);
analogCallback3 = new AsyncCallback(AnalogInCallback3);
//digitalCallback4 = new AsyncCallback(DigitalCallback4);
myTask_Analog2.Start();
myTask_Speed.Start();
//启动采集
//模拟通道采集同步
analogInReader1.SynchronizeCallbacks = true;
analogInReader2.SynchronizeCallbacks = true;
analogSpeedReader.SynchronizeCallbacks = true;
analogInReader1.BeginReadMultiSample(SysParam.Instance.samplePoint, analogCallback1, myTask_Analog1);
analogInReader2.BeginReadMultiSample(SysParam.Instance.samplePoint, analogCallback2, myTask_Analog2);
analogSpeedReader.BeginReadMultiSample(SysParam.Instance.samplePoint, analogCallback3, myTask_Speed);
SysParam.Instance.isDatahandlered = true;
// Cut_timer.Enabled = true;
// Cut_timer.Start();
// CZ03_timer.Enabled = true;
// CZ03_timer.Start();
// CZconnected = new bool[2] { false, false };//CZ02 CZ03 通电状态
}
catch (DaqException ex)
{
DevelopLog.DeBug.WriteLogFile("ex", ex.ToString());
throw new Exception("没连接上仪器,请重新连接仪器并重新启动重新" + ex.Message);
}
}
public void DaqStop()
{
runningTask1 = null;
runningTask2 = null;
runningTask3 = null;
if (myTask_Analog1 != null)
{
myTask_Analog1.Stop();
}
if (myTask_Analog2 != null)
{
myTask_Analog2.Stop();
}
//if (myTask_Cut != null)
//{
// myTask_Cut.Stop();
//}
//if (myTask_Len != null)
//{
// myTask_Len.Stop();
//}
if (myTask_Speed != null)
{
myTask_Speed.Stop();
}
// if (Cut_timer.Enabled)
// {
// Cut_timer.Stop();
// }
// if (CZ03_timer.Enabled) {
// CZ03_timer.Stop();
// }
}
int countTest = 0;
private void AnalogInCallback1(IAsyncResult ar)
{
if (runningTask1 != null && runningTask1 == ar.AsyncState)
{
try
{
//DevelopLog.DeBug.WriteLogFile("AnalogInCallback1", "");
analogInReader1.BeginReadMultiSample(SysParam.Instance.samplePoint, analogCallback1, myTask_Analog1);
//DevelopLog.DeBug.WriteLogFile("analogInReader1", "");
vibdata1 = analogInReader1.EndReadMultiSample(ar);
//DevelopLog.DeBug.WriteLogFile("speedInReader2", "");
if (countTest == 0)
{
speeddata = analogSpeedReader.ReadMultiSample(SysParam.Instance.samplePoint);
//DevelopLog.DeBug.WriteLogFile("analogInReader2", "");
vibdata2 = analogInReader2.ReadMultiSample(SysParam.Instance.samplePoint);
countTest++;
}
if (SysParam.Instance.isDatahandlered)//数据处理未能及时完成时,该帧数据不触发回调
{
SysParam.Instance.isDatahandlered = false;
if (DaqDataChangEvent != null)
{
DaqDataChangEvent.Invoke(new Daqdata(vibdata1, vibdata2, speeddata, lendata, cutdata));
}
}
}
catch (Exception ex)
{
DevelopLog.DeBug.WriteLogFile("AnalogInCallback1", ex.ToString());
//analogInReader1.BeginReadMultiSample(SysParam.Instance.samplePoint, analogCallback1, myTask_Analog1);
}
}
}
private void AnalogInCallback2(IAsyncResult ar)
{
if (runningTask2 == ar.AsyncState)
{
//DevelopLog.DeBug.WriteLogFile("AnalogInCallback2", "");
analogInReader2.BeginReadMultiSample(SysParam.Instance.samplePoint, analogCallback2, myTask_Analog2);
vibdata2 = analogInReader2.EndReadMultiSample(ar);
}
}
private void AnalogInCallback3(IAsyncResult ar)
{
if (runningTask3 == ar.AsyncState)
{
//DevelopLog.DeBug.WriteLogFile("AnalogInCallback3", "");
analogSpeedReader.BeginReadMultiSample(SysParam.Instance.samplePoint, analogCallback3, myTask_Speed);
speeddata = analogSpeedReader.EndReadMultiSample(ar);
}
}
//private void DigitalCallback4(IAsyncResult ar)
//{
// if (runningTask4 == ar.AsyncState)
// {
// digitalReader.BeginReadSingleSampleSingleLine(digitalCallback4, myTask_Cut);
// }
//}
/// <summary>
/// cz02 剪切信号采集箱
/// </summary>
/// <param name="source"></param>
/// <param name="e"></param>
public void updateCutFlag(object source, ElapsedEventArgs e)
{
try
{
bool[] readData;
//DevelopLog.DeBug.WriteLogFile("updateCutFlag", "test------1-------");
//Read the digital channel
readData = myDigitalReader.ReadSingleSampleMultiLine();
if (readData.Length > 7)
{
CZconnected[0] = readData[0];//cz02状态
for (int i = 0; i < 8; i++)
{
cutdata[i] = (readData[i]) ? 1.0 : 0.0;
//DevelopLog.DeBug.WriteLogFile("cutdata", $"[{i}]={cutdata[i]},readData[{i}]={readData[i]}");
}
}
}
catch (Exception ex)
{
DevelopLog.DeBug.WriteLogFile("updateCutFlag", ex.ToString());
}
}
public void updateCZFlag(object source, ElapsedEventArgs e)
{
try
{
bool[] readData;
//DevelopLog.DeBug.WriteLogFile("updateCZFlag", "test------1-------");
//Read the digital channel
readData = myDigitalReader2.ReadSingleSampleMultiLine();
if (readData.Length > 7)
{
CZconnected[1] = readData[0];//cz03状态
}
}
catch (Exception ex)
{
DevelopLog.DeBug.WriteLogFile("updateCZFlag", ex.ToString());
}
}
public delegate void DriverCollectDataHandle(Daqdata data);
public event DriverCollectDataHandle DaqDataChangEvent;
}
public class Daqdata : EventArgs
{
public double[,] vibData1;
public double[,] vibData2;
public double[,] speedData;
public double[] lenData;
public double[] cutData;
public Daqdata(double[,] indata1, double[,] indata2, double[,] speeddata, double[] lendata, double[] cutdata)
{
this.vibData1 = indata1;
this.vibData2 = indata2;
this.cutData = cutdata;
this.lenData = lendata;
this.speedData = speeddata;
}
}
}

165
Driver/IDriver.csproj Normal file
View File

@ -0,0 +1,165 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>9.0.21022</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{CA99539C-836B-4670-A392-59892C40CB79}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>CRVM.Driver</RootNamespace>
<AssemblyName>Driver</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<SccProjectName>
</SccProjectName>
<SccLocalPath>
</SccLocalPath>
<SccAuxPath>
</SccAuxPath>
<SccProvider>
</SccProvider>
<FileUpgradeFlags>
</FileUpgradeFlags>
<UpgradeBackupLocation>
</UpgradeBackupLocation>
<OldToolsVersion>3.5</OldToolsVersion>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisRuleSet>NativeRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Reference Include="Entity, Version=0.0.0.0, Culture=neutral, processorArchitecture=x86">
<HintPath>..\Entity\obj\Debug\Entity.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Threading.Tasks, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Threading.Tasks.Extensions, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Threading.Tasks.Extensions.Desktop, Version=1.0.168.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.Desktop.dll</HintPath>
</Reference>
<Reference Include="NationalInstruments.Common, Version=19.0.40.49152, Culture=neutral, PublicKeyToken=dc6ad606294fc298, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\AppCRVM\NationalInstruments.Common.dll</HintPath>
</Reference>
<Reference Include="NationalInstruments.DAQmx, Version=14.5.40.122, Culture=neutral, PublicKeyToken=dc6ad606294fc298, processorArchitecture=x86">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\AppCRVM\NationalInstruments.DAQmx.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.IO, Version=2.6.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.1.1.10\lib\net40\System.IO.dll</HintPath>
</Reference>
<Reference Include="System.Net" />
<Reference Include="System.Runtime, Version=2.6.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.1.1.10\lib\net40\System.Runtime.dll</HintPath>
</Reference>
<Reference Include="System.Threading.Tasks, Version=2.6.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.1.1.10\lib\net40\System.Threading.Tasks.dll</HintPath>
</Reference>
<Reference Include="System.Xml.Linq">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Data.DataSetExtensions">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="DaqDriver - 复制.csBK" />
<Compile Include="ZDState.cs" />
<None Include="DaqDriver - 复制.cs.bak" />
<Compile Include="DaqDriver.cs" />
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
<Install>false</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
<Visible>False</Visible>
<ProductName>Windows Installer 3.1</ProductName>
<Install>true</Install>
</BootstrapperPackage>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Utility\Utility.csproj">
<Project>{883a056a-e138-47c0-b8e5-f23fd82f0631}</Project>
<Name>Utility</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets" Condition="Exists('..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" />
<Target Name="EnsureBclBuildImported" BeforeTargets="BeforeBuild" Condition="'$(BclBuildImported)' == ''">
<Error Condition="!Exists('..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" Text="This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=317567." HelpKeyword="BCLBUILD2001" />
<Error Condition="Exists('..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" Text="The build restored NuGet packages. Build the project again to include these packages in the build. For more information, see http://go.microsoft.com/fwlink/?LinkID=317568." HelpKeyword="BCLBUILD2002" />
</Target>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

63
Driver/Properties/Resources.Designer.cs generated Normal file
View File

@ -0,0 +1,63 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.1
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
namespace CRVM.Driver.Properties {
using System;
/// <summary>
/// 一个强类型的资源类,用于查找本地化的字符串等。
/// </summary>
// 此类是由 StronglyTypedResourceBuilder
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
// 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
// (以 /str 作为命令选项),或重新生成 VS 项目。
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// 返回此类使用的缓存的 ResourceManager 实例。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("CRVM.Driver.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// 使用此强类型资源类,为所有资源查找
/// 重写当前线程的 CurrentUICulture 属性。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
}
}

View File

@ -0,0 +1,101 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 1.3
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">1.3</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1">this is my long string</data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
[base64 mime encoded serialized .NET Framework object]
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
[base64 mime encoded string representing a byte array form of the .NET Framework object]
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>1.3</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

73
Driver/ZDState.cs Normal file
View File

@ -0,0 +1,73 @@
using System;
using NationalInstruments.DAQmx;
namespace CRVM.Driver
{
public class ZDSate
{
private Task task;
private DigitalMultiChannelWriter writer;
private DOChannel[] chanels;
private bool[] data;
public int linesCount;
public ZDSate()
{
task = new Task();
writer = new DigitalMultiChannelWriter(task.Stream);
string[] lineNames = DaqSystem.Local.GetPhysicalChannels(PhysicalChannelTypes.DOLine, PhysicalChannelAccess.External);
linesCount = lineNames.Length;
chanels = new DOChannel[linesCount];
for (int i = 0; i < lineNames.Length; i++)
{
chanels[i] = task.DOChannels.CreateChannel(lineNames[i], "", ChannelLineGrouping.OneChannelForEachLine);
}
data = new bool[linesCount];
Start();
}
public string WriteData(bool[] data)//写入各个通道的标志
{
if (data.Length != linesCount)
{
return "data length is not equals dataLength";
}
try
{
writer.WriteSingleSampleSingleLine(true, data);
return null;
}
catch (Exception ex)
{
return ex.Message;
}
}
public string Start()//开始任务
{
try
{
task.Start();
}
catch (DaqException ex)
{
return ex.Message;
}
return null;
}
public string Stop()//停止任务
{
try
{
task.Stop();
return null;
}
catch (DaqException ex)
{
return ex.Message;
}
}
}
}

15
Driver/app.config Normal file
View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.6.10.0" newVersion="2.6.10.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.6.10.0" newVersion="2.6.10.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

6
Driver/packages.config Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.Bcl" version="1.1.10" targetFramework="net40" />
<package id="Microsoft.Bcl.Async" version="1.0.168" targetFramework="net40" />
<package id="Microsoft.Bcl.Build" version="1.0.14" targetFramework="net40" />
</packages>

158
Entity/Entity.csproj Normal file
View File

@ -0,0 +1,158 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>9.0.21022</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{6EA706F6-065D-469E-AB39-7395D780548B}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>CRVM.Entity</RootNamespace>
<AssemblyName>Entity</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<SccProjectName>
</SccProjectName>
<SccLocalPath>
</SccLocalPath>
<SccAuxPath>
</SccAuxPath>
<SccProvider>
</SccProvider>
<FileUpgradeFlags>
</FileUpgradeFlags>
<UpgradeBackupLocation>
</UpgradeBackupLocation>
<OldToolsVersion>3.5</OldToolsVersion>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisRuleSet>NativeRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.Threading.Tasks, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Threading.Tasks.Extensions, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Threading.Tasks.Extensions.Desktop, Version=1.0.168.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.Desktop.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Drawing" />
<Reference Include="System.IO, Version=2.6.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.1.1.10\lib\net40\System.IO.dll</HintPath>
</Reference>
<Reference Include="System.Net" />
<Reference Include="System.Runtime, Version=2.6.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.1.1.10\lib\net40\System.Runtime.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.Serialization">
<RequiredTargetFramework>3.0</RequiredTargetFramework>
</Reference>
<Reference Include="System.Threading.Tasks, Version=2.6.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.1.1.10\lib\net40\System.Threading.Tasks.dll</HintPath>
</Reference>
<Reference Include="System.Xml.Linq">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Data.DataSetExtensions">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
<Reference Include="ZedGraph, Version=5.1.5.28844, Culture=neutral, PublicKeyToken=02a83cbd123fcd60, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\dllFiles\ZedGraph.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="EntityAlarm.cs" />
<Compile Include="EntityChannel.cs" />
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="RollingArray.cs" />
<Compile Include="SysParam.cs" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
<Install>false</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
<Visible>False</Visible>
<ProductName>Windows Installer 3.1</ProductName>
<Install>true</Install>
</BootstrapperPackage>
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="packages.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets" Condition="Exists('..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" />
<Target Name="EnsureBclBuildImported" BeforeTargets="BeforeBuild" Condition="'$(BclBuildImported)' == ''">
<Error Condition="!Exists('..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" Text="This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=317567." HelpKeyword="BCLBUILD2001" />
<Error Condition="Exists('..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" Text="The build restored NuGet packages. Build the project again to include these packages in the build. For more information, see http://go.microsoft.com/fwlink/?LinkID=317568." HelpKeyword="BCLBUILD2002" />
</Target>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

21
Entity/EntityAlarm.cs Normal file
View File

@ -0,0 +1,21 @@
using System;
namespace CRVM.Entity
{
[Serializable]
public class EntityAlarmSpeed
{
public int alarmSpeed { set; get; }
public int lowPassL { set; get; } //低频滤波下限
public int lowPassU { set; get; } //低频滤波上限
public float lowAlarmValue { set; get; } //低频报警值
public float lowDefectValue { set; get; } //低频缺陷报警值
public int midPassL { set; get; }
public int midPassU { set; get; }
public float midAlarmValue { set; get; }
public float midDefectValue { set; get; }
public int highPassL { set; get; }
public int highPassU { set; get; }
public float highAlarmValue { set; get; }
public float highDefectValue { set; get; }
}
}

47
Entity/EntityChannel.cs Normal file
View File

@ -0,0 +1,47 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Serialization;
namespace CRVM.Entity
{
public class EntityChannel
{
[DataMember]
public bool ChChecked { get; set; } //在线采集时通道选中状态
[DataMember]
public float vibSens { get; set; } //加速度传感器灵敏度
[DataMember]
public float speedSens { get; set; } //速度传感器灵敏度
[DataMember]
public int alarmTimes_l { get { return defaultAlarmTimes[0]; } set { defaultAlarmTimes[0] = value; } } //低频报警次数
[DataMember]
public int alarmTimes_m { get { return defaultAlarmTimes[1]; } set { defaultAlarmTimes[1] = value; } } //中频报警次数
[DataMember]
public int alarmTimes_h { get { return defaultAlarmTimes[2]; } set { defaultAlarmTimes[2] = value; } } //高频报警次数
[DataMember]
private EntityAlarmSpeed[] _alarmConfig = new EntityAlarmSpeed[10];
/// <summary>
/// 报警设置参数,该参数从参数设置文件中读取而来。
/// </summary>
[DataMember]
public EntityAlarmSpeed[] alarmConfig //报警设置参数
{
get { return _alarmConfig; }
set { _alarmConfig = value; }
}
private EntityAlarmSpeed[] _reAlarmConfig = new EntityAlarmSpeed[10];//回放时报警参数
[DataMember]
public EntityAlarmSpeed[] reAlarmConfig
{
get { return _reAlarmConfig; }
set { _reAlarmConfig = value; }
}
private int[] defaultAlarmTimes = new int[3] { 3, 3, 3 };
}
}

63
Entity/Properties/Resources.Designer.cs generated Normal file
View File

@ -0,0 +1,63 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.1
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
namespace CRVM.Entity.Properties {
using System;
/// <summary>
/// 一个强类型的资源类,用于查找本地化的字符串等。
/// </summary>
// 此类是由 StronglyTypedResourceBuilder
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
// 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
// (以 /str 作为命令选项),或重新生成 VS 项目。
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// 返回此类使用的缓存的 ResourceManager 实例。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("CRVM.Entity.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// 使用此强类型资源类,为所有资源查找
/// 重写当前线程的 CurrentUICulture 属性。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
}
}

View File

@ -0,0 +1,101 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 1.3
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">1.3</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1">this is my long string</data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
[base64 mime encoded serialized .NET Framework object]
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
[base64 mime encoded string representing a byte array form of the .NET Framework object]
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>1.3</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

117
Entity/RollingArray.cs Normal file
View File

@ -0,0 +1,117 @@
using System;
namespace CRVM.Entity
{
/// <summary>
/// 一种环型数组其长度N在创建后固定当数组填充满时继续添加的新元素会覆盖旧元素
/// 数组内始终存储最新添加的N个元素。
/// </summary>
/// <typeparam name="T">元素类型</typeparam>
public class RollingArray<T>
{
/// <summary>
/// 泛型数组,用于存储各元素
/// </summary>
private T[] array;
/// <summary>
/// 下一个元素的写入位置
/// </summary>
private int nextPosition;
/// <summary>
/// 数组大小
/// </summary>
private int size;
/// <summary>
/// 数组中元素数量
/// </summary>
public int Count { get; private set; }
/// <summary>
/// 构造一个指定长度的泛型数组
/// </summary>
/// <param name="arraySize">数组大小</param>
public RollingArray(int arraySize)
{
size = arraySize;
array = new T[arraySize];
}
/// <summary>
/// 往数组中添加元素,每写入一个元素,下一次写入位置后移一位,当超出边界时又从头开始覆盖写入。
/// </summary>
/// <param name="element">待添加元素</param>
public void Add(T element)
{
array[nextPosition] = element;
nextPosition = (nextPosition + 1) % size;
if (Count < size)
Count++;
}
/// <summary>
/// 数组中是否存在元素
/// </summary>
public bool IsEmpty
{
get { return Count == 0; }
}
/// <summary>
/// 循环数组的头,返回最早添加的元素
/// </summary>
public T Head
{
get
{
if (IsEmpty)
throw new IndexOutOfRangeException("当前数组为空!");
if (Count < size)
return array[0];
return array[nextPosition];
}
}
/// <summary>
/// 循环数组尾,返回最新添加的元素
/// </summary>
public T Tail
{
get
{
if (IsEmpty)
throw new IndexOutOfRangeException("当前数组为空!");
if (nextPosition == 0)
return array[Count];
return array[nextPosition - 1];
}
}
/// <summary>
/// 按照元素的插入顺序输出完整数组
/// </summary>
public T[] ToArray()
{
T[] temp = new T[Count];
for (int i = 0; i < Count; i++)
{
if (Count < size)
temp[i] = array[i];
else
temp[i] = array[(i + nextPosition) % size];
}
return temp;
}
/// <summary>
/// 数组重置
/// </summary>
public void Clear()
{
nextPosition = 0;
Count = 0;
}
}
}

472
Entity/SysParam.cs Normal file
View File

@ -0,0 +1,472 @@
using System;
using System.Drawing;
using System.Runtime.Serialization;
using System.Text.RegularExpressions;
using System.Collections.Generic;
namespace CRVM.Entity
{
[DataContract]
public class SysParam
{
//构造函数定义为私有只能从内部构造防止外部直接通过new操作符构造一个新的实例
private static SysParam _intance = null;
[DataMember]
public static SysParam Instance
{
get
{
if (_intance == null)
_intance = new SysParam();
return _intance;
}
}
private SysParam()
{
_channel = new EntityChannel[_channelCount];
for (int i = 0; i < _channelCount; i++)
{
EntityChannel ch = new EntityChannel();
_channel[i] = ch;
}
}
private EntityChannel[] _channel;
public EntityChannel[] channel
{
get { return _channel; }
set { _channel = value; }
}
private readonly int _channelCount = 8;
/// <summary>
/// 总采集通道数量
/// </summary>
[DataMember]
public int channelCount
{
get { return _channelCount; }
}
//private readonly int _SpeedChannelCount = 5;
private readonly int _SpeedChannelCount = 6;
/// <summary>
/// 速度通道数
/// </summary>
[DataMember]
public int SpeedChannelCount
{
get { return _SpeedChannelCount; }
}
/// <summary>
/// 采样点数
/// </summary>
public int samplePoint { get; set; }
/// <summary>
/// 采样频率
/// </summary>
public int sampleFre { get; set; }
/// <summary>
/// 能量曲线对应显示宽度的数据点数默认为300秒宽度。
/// </summary>
public int energyPoints
{
get
{
if (samplePoint > 0)
return Convert.ToInt32(300 * sampleFre / samplePoint);
else
return 1500;
}
}
/// <summary>
/// 实时采集时所显示的时域波形宽度范围对应的数据点数默认为1秒宽度。
/// </summary>
public int timePoints
{
get
{
if (sampleFre > 0)
return sampleFre;
else
return 5120;
}
}
/// <summary>
/// 板形辊每个脉冲代表的轧制距离单位mm_Per_pulse
/// </summary>
public double distanceSens { get; set; }
/// <summary>
/// 数据处理是否完成
/// </summary>
public bool isDatahandlered { get; set; }
public bool isL2Connected { get; set; }//系统是否能正常连接到L2数据库
#region
public DateTime searchStartTime { get; set; }//数据查询开始时间
public DateTime searchEndTime { get; set; }//数据查询结束时间
public bool searchAlarmChecked { get; set; }//数据查询报警选中
#endregion
public int OrigDataNum { get; set; }
public string appPath { get; set; }
public string IP { get; set; }
public int Port { get; set; }
#region
public string savePath { get; set; }
public bool checkTXT { get; set; }//文本
public bool checkBIT { get; set; }//二进制
public int saveDaysAlarm { get; set; }
public int saveDaysNoAlarm { get; set; }
public bool isFileCleared { get; set; }
public bool filePrepared { get; set; }
public bool fileCreated { get; set; }
#endregion
#region
public bool BackgroundGridOn { get; set; }
public bool rollLineVisible { get; set; }
public int fontSize { get; set; }
public Color colorTime { get; set; }
public Color colorFre { get; set; }
public Color colorEnergy { get; set; }
public Color colorSpeed { get; set; }
public Color colorAlarm { get; set; }
public Color colorDefect { get; set; }
public Color colorCut { get; set; }
public Color colorWorkRoll { get; set; }
public Color colorMidRoll { get; set; }
public Color colorBackupRoll { get; set; }
public Color colorBackgroud { get; set; }
public Color colorFont { get; set; }
#endregion
#region
//时域图
public bool checkBoxTime { get; set; }
public bool checkBoxTimeAll { get; set; }
public string comboBoxTimeAll { get; set; }
public bool checkBoxTimeL { get; set; }
public string comboBoxTimeL { get; set; }
public bool checkBoxTimeM { get; set; }
public string comboBoxTimeM { get; set; }
public bool checkBoxTimeH { get; set; }
public string comboBoxTimeH { get; set; }
public bool checkBoxTimeFre { get; set; }
public string comboBoxTimeFre { get; set; }
public bool checkBoxTimeFilt { get; set; }
public string ComboBoxTimeFilt { get; set; }
public string textBoxf1 { get; set; }
public string textBoxf2 { get; set; }
//能量图
public bool checkBoxEnergy { get; set; }
public bool checkBoxEnergyAll { get; set; }
public string comboBoxEnergyAll { get; set; }
public bool checkBoxEnergyL { get; set; }
public string comboBoxEnergyL { get; set; }
public bool checkBoxEnergyM { get; set; }
public string comboBoxEnergyM { get; set; }
public bool checkBoxEnergyH { get; set; }
public string comboBoxEnergyH { get; set; }
public bool checkBoxEnergySpeed { get; set; }
public string comboBoxEnergySpeed { get; set; }
//排列方式
public bool orderByChannel { get; set; }
public bool orderBySingleColumn { get; set; }
public bool orderByStandnoR2L { get; set; }//轧机出口在左侧
public bool orderByStandnoL2R { get; set; }//轧机出口在右侧
public bool orderByOther { get; set; }//不按机架排列
#endregion
#region
public double[] filterAlgor(double[] array, int f1, int f2, int n, int m, int fs)
{
int i, j;
double x, aa, fl, fh, w;
double[] b = new double[200];// { };
int xlen = n;
//float[] filt = new float[xlen] { };
double[] filt = new double[xlen];
aa = Math.PI / m;
fl = 2 * Math.PI * f1 / fs;
fh = 2 * Math.PI * f2 / fs;
w = 2 * Math.PI;
for (j = 1; j < m; j++)
{
b[j] = (1 + Math.Cos(aa * j)) * (Math.Sin(fh * j) - Math.Sin(fl * j)) / (w * j);
}
for (i = 0; i < n; i++)
{
x = (2 * (fh - fl) / w) * array[i];
//是否为循环卷积
for (j = 0; j < m; j++)
{
try
{
if ((j + i) < n)
x += b[j] * array[j + i];
if ((i - j) > 0)
x += b[j] * array[i - j];
}
catch (Exception exp)
{
string s = "i=" + i + ",j=" + j + exp.Message;
}
}
filt[i] = x;
}
return filt;
}
public int N2M(int n)
{
int x = 2;
int num = 0;
while (x <= n)
{
x = 2 * x;
num++;
}
return num;
}
public void FFT(double[] AR, double[] AI, int N, int ni)
{
int i, j, k, L, M, IP, LE, L1, N1, N2;
double SN, TR, TI, WR, WI, UR, UI, US;
M = N2M(N);
N = Convert.ToInt32(Math.Pow(2, M));
N2 = N / 2;
N1 = N - 1;
SN = ni;
j = 1;
i = 1;
while (i <= N1)
{
if (i < j)
{
TR = AR[j - 1];
AR[j - 1] = AR[i - 1];
AR[i - 1] = TR;
TI = AI[j - 1];
AI[j - 1] = AI[i - 1];
AI[i - 1] = TI;
}
k = N2;
while (k < j)
{
j = j - k;
k = k / 2;
}
j = j + k;
i++;
}
L = 1;
while (L <= M)
{
LE = Convert.ToInt32(Math.Pow(2, L));
L1 = LE / 2;
UR = 1.0f;
UI = 0.0f;
WR = Math.Cos(Math.PI / L1);
WI = SN * Math.Sin(Math.PI / L1);
j = 1;
while (j <= L1)
{
i = j;
while (i <= N)
{
IP = i + L1;
TR = AR[IP - 1] * UR - AI[IP - 1] * UI;
TI = AI[IP - 1] * UR + AR[IP - 1] * UI;
AR[IP - 1] = AR[i - 1] - TR;
AI[IP - 1] = AI[i - 1] - TI;
AR[i - 1] = AR[i - 1] + TR;
AI[i - 1] = AI[i - 1] + TI;
i += LE;
}
US = UR;
UR = US * WR - UI * WI;
UI = UI * WR + US * WI;
j++;
}
L++;
}
if (SN == -1)
{
i = 1;
while (i <= N)
{
AR[i - 1] = AR[i - 1] / N;
AI[i - 1] = AI[i - 1] / N;
i++;
}
}
}
public double[] newFFT(double[] AR, double[] AI, int N)
{
int i, j, k, L, M, IP, LE, L1, N2;
double SN, TR, TI, WR, WI, UR, UI, US;
M = N2M(N);
N = Convert.ToInt32(Math.Pow(2, M));
N2 = N / 2;
SN = 1;
j = 1;
i = 1;
while (i < N)
{
if (i < j)
{
TR = AR[j - 1];
AR[j - 1] = AR[i - 1];
AR[i - 1] = TR;
TI = AI[j - 1];
AI[j - 1] = AI[i - 1];
AI[i - 1] = TI;
}
k = N2;
while (k < j)
{
j = j - k;
k = k / 2;
}
j = j + k;
i++;
}
L = 1;
while (L <= M)
{
LE = Convert.ToInt32(Math.Pow(2, L));
L1 = LE / 2;
UR = 1;
UI = 0;
WR = Math.Cos(Math.PI / L1);
WI = SN * Math.Sin(Math.PI / L1);
j = 1;
while (j <= L1)
{
i = j;
while (i <= N)
{
IP = i + L1;
TR = AR[IP - 1] * UR - AI[IP - 1] * UI;
TI = AI[IP - 1] * UR + AR[IP - 1] * UI;
AR[IP - 1] = AR[i - 1] - TR;
AI[IP - 1] = AI[i - 1] - TI;
AR[i - 1] = AR[i - 1] + TR;
AI[i - 1] = AI[i - 1] + TI;
i += LE;
}
US = UR;
UR = US * WR - UI * WI;
UI = UI * WR + US * WI;
j++;
}
L++;
}
double[] temp = new double[N / 2];
for (i = 0; i < N / 2; i++)
{
temp[i] = 2 * Math.Sqrt(AR[i] * AR[i] + AI[i] * AI[i]) / N;
}
return temp;
//if (SN == -1)
//{
// i = 1;
// while (i <= N)
// {
// AR[i - 1] = AR[i - 1] / N;
// AI[i - 1] = AI[i - 1] / N;
// i++;
// }
//}
}
public bool DataIsMatch(string str, string pattern)
{
Regex reg = new Regex(pattern);
if (reg.IsMatch(str))
{
return true;
}
else
{
return false;
}
}
#endregion
public string reTimeSpan { get; set; }
public int reSampleFre { get; set; }
public int reSamplePoint { get; set; }
public double rollDiameterBU
{
get { return 1.2230; }
}
public double rollDiameterBL
{
get { return 1.2230; }
}
public double rollDiameterMU
{
get { return 0.5363; }
}
public double rollDiameterML
{
get { return 0.5363; }
}
public double rollDiameterWU
{
get { return 0.4040; }
}
public double rollDiameterWL
{
get { return 0.4040; }
}
public List<string> onlineList = new List<string>();
#region
public bool isStand1Ring { get; set; }
public bool isStand2Ring { get; set; }
public bool isStand3Ring { get; set; }
public bool isStand4Ring { get; set; }
public bool isStand5Ring { get; set; }
public bool isStand6Ring { get; set; }
public short ringFre { get; set; }
public short ringType { get; set; }
public bool alarming1 { get; set; }
public bool alarming2 { get; set; }
public bool alarming3 { get; set; }
public bool alarming4 { get; set; }
public bool alarming5 { get; set; }
public bool alarming6 { get; set; }
public int alarmingType { get; set; }//0:正常 1设备异常 2共振报警
public bool alarmingS1 { get; set; }//达到报警线的80%
public bool alarmingS2 { get; set; }//达到报警线的80%
public bool alarmingS3 { get; set; }//达到报警线的80%
public bool alarmingS4 { get; set; }//达到报警线的80%
public bool alarmingS5 { get; set; }//达到报警线的80%
public bool[,] ringflag = new bool[5, 3];
#endregion
public bool isOpenAlarm = false;
}
}

15
Entity/app.config Normal file
View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.6.10.0" newVersion="2.6.10.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.6.10.0" newVersion="2.6.10.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

6
Entity/packages.config Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.Bcl" version="1.1.10" targetFramework="net40" />
<package id="Microsoft.Bcl.Async" version="1.0.168" targetFramework="net40" />
<package id="Microsoft.Bcl.Build" version="1.0.14" targetFramework="net40" />
</packages>

144
HBase/HBase.csproj Normal file
View File

@ -0,0 +1,144 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>9.0.21022</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{27D3BA32-12D4-484E-83D0-573D30FC2A60}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>HBase</RootNamespace>
<AssemblyName>HBase</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<StartupObject>
</StartupObject>
<SccProjectName>
</SccProjectName>
<SccLocalPath>
</SccLocalPath>
<SccAuxPath>
</SccAuxPath>
<SccProvider>
</SccProvider>
<FileUpgradeFlags>
</FileUpgradeFlags>
<UpgradeBackupLocation>
</UpgradeBackupLocation>
<OldToolsVersion>3.5</OldToolsVersion>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<CodeAnalysisRuleSet>NativeRecommendedRules.ruleset</CodeAnalysisRuleSet>
<PlatformTarget>x86</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.Threading.Tasks, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Threading.Tasks.Extensions, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Threading.Tasks.Extensions.Desktop, Version=1.0.168.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.Desktop.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=7.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>bin\Debug\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.IO, Version=2.6.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.1.1.10\lib\net40\System.IO.dll</HintPath>
</Reference>
<Reference Include="System.Net" />
<Reference Include="System.Runtime, Version=2.6.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.1.1.10\lib\net40\System.Runtime.dll</HintPath>
</Reference>
<Reference Include="System.Threading.Tasks, Version=2.6.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.1.1.10\lib\net40\System.Threading.Tasks.dll</HintPath>
</Reference>
<Reference Include="System.Xml.Linq">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Data.DataSetExtensions">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="HbaseUnit.cs" />
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Request4Json.cs" />
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
<Install>false</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
<Visible>False</Visible>
<ProductName>Windows Installer 3.1</ProductName>
<Install>true</Install>
</BootstrapperPackage>
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="packages.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets" Condition="Exists('..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" />
<Target Name="EnsureBclBuildImported" BeforeTargets="BeforeBuild" Condition="'$(BclBuildImported)' == ''">
<Error Condition="!Exists('..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" Text="This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=317567." HelpKeyword="BCLBUILD2001" />
<Error Condition="Exists('..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" Text="The build restored NuGet packages. Build the project again to include these packages in the build. For more information, see http://go.microsoft.com/fwlink/?LinkID=317568." HelpKeyword="BCLBUILD2002" />
</Target>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

153
HBase/HbaseUnit.cs Normal file
View File

@ -0,0 +1,153 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Net;
using Newtonsoft.Json;
namespace Baosight.HBase
{
class Token
{
public string token { get; set; }
public string errcode { get; set; }
}
class OperationType
{
public static string token = "token"; //权限认证
public static string table = "table"; //表操作
public static string record = "record"; //记录操作
public static string index = "index"; //索引操作
public static string metrics = "metrics";//监控操作
}
public class HbaseUnit
{
private string username = "";
private string password = "";
private string urlhead = "";
private Token token;
public HbaseUnit(string username, string password, string urlhead)
{
ReInit(username, password, urlhead);
}
public void ReInit(string username, string password, string urlhead)
{
Console.WriteLine("******************************init******************************");
this.username = username;
this.password = password;
this.urlhead = urlhead;
ReGetToken();
}
private string ReGetToken()
{
string retString = Request4Json.Get(username, password, urlhead + OperationType.token);
if (retString == null)
{
Console.WriteLine("can't get token");
return null;
}
Console.WriteLine("token>get token string{0}\n", retString);
JsonSerializer serializer = new JsonSerializer();
StringReader sr = new StringReader(retString);
token = (Token)serializer.Deserialize(new JsonTextReader(sr), typeof(Token));
if (token == null)
{
Console.WriteLine("token is null");
return null;
}
Console.WriteLine("token>{0}\n", token.token);
return token.token;
}
public string Get(string operationUrl)
{
if (this.token.token == null || this.token.token == "")
{
if (ReGetToken() == null)
{
return "can't get token";
}
}
return Request4Json.Get(username, this.token.token, this.urlhead + operationUrl);
}
public byte[] GetBytes(string operationUrl)
{
if (this.token.token == null || this.token.token == "")
{
if (ReGetToken() == null)
{
return null;
}
}
return Request4Json.GetBytes(username, this.token.token, this.urlhead + operationUrl);
}
public string PostBytes(string operationUrl, byte[] data)
{
if (this.token.token == null || this.token.token == "")
{
if (ReGetToken() == null)
{
return "can't get token";
}
}
return Request4Json.PostBytes(this.username, this.token.token, this.urlhead + operationUrl, data);
}
public string Post(string operationUrl, string data)
{
if (this.token.token == null || this.token.token == "")
{
if (ReGetToken() == null)
{
return "can't get token";
}
}
return Request4Json.Post(this.username, this.token.token, this.urlhead + operationUrl, data);
}
public string Put(string operationUrl, string data)
{
if (this.token.token == null || this.token.token == "")
{
if (ReGetToken() == null)
{
return "can't get token";
}
}
return Request4Json.Put(this.username, this.token.token, this.urlhead + operationUrl, data); ;
}
public string Delete(string operationUrl)
{
if (this.token.token == null || this.token.token == "")
{
if (ReGetToken() == null)
{
return "can't get token";
}
}
return Request4Json.Delete(this.username, this.token.token, this.urlhead + operationUrl);
}
public byte[] File2Bytes(string path)
{
return Request4Json.File2Bytes(path);
}
public void Bytes2File(byte[] buff, string path)
{
Request4Json.Bytes2File(buff, path);
}
}
}

211
HBase/Program.cs Normal file
View File

@ -0,0 +1,211 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using Newtonsoft.Json;
using System.Net;
using System.Threading;
namespace Baosight.HBase
{
class TOKEN
{
public string token { get; set; }
public string errcode { get; set; }
}
class Program
{
static void Main(string[] args)
{
HbaseUnit hbase = new HbaseUnit("admin@crvm", "admin", "http://10.25.27.53/otsrest/api/");
//##Create file record
//byte[] data_file_in = hbase.File2Bytes("D:\\mp3\\Taylor Swift - Out Of The Woods.mp3");
//for (int i = 0; i < 10; i++)
//{
// string retString = hbase.PostBytes("record/file/T_CYC_SHAKE?key="+i.ToString()+".mp3&column=mp3", data_file_in);//huangming_mob是表名
// Console.WriteLine("up load file>{0}:{1}\n",i, retString);
//}
//for (int i = 0; i < 10; i++)
//{
// //##Get file record
// byte[] data_file_out = hbase.GetBytes("record/file/T_CYC_SHAKE?key=" + i.ToString() + ".mp3&column=mp3");//huangming_mob是表名
// hbase.Bytes2File(data_file_out, "D:\\mp3\\" + i.ToString() + ".mp3");
// Console.WriteLine("down load file>{0}:{1}\n", i, i.ToString() + ".mp3");
//}
Console.WriteLine("start ");
for (int i = 0; i < 10; i++)
{
Thread t = new Thread(new ThreadStart(delegate()
{
//HbaseUnit hbase = new HbaseUnit("admin@crvm", "admin", "http://10.25.27.53/otsrest/api/");
//##Get file record
byte[] data_file_out = hbase.GetBytes("record/file/T_CYC_SHAKE?key=" + i.ToString() + ".mp3&column=mp3");//huangming_mob是表名
hbase.Bytes2File(data_file_out, "D:\\mp3\\" + i.ToString() + ".mp3");
Console.WriteLine("down load file>{0}:{1}\n", i, i.ToString() + ".mp3");
}));
t.Start();
}
Console.WriteLine("end ");
////##Create table
////String create_table = "{\"compression\":\"snappy\",\"max_versions\":1,\"description\":\"\",\"mob_enabled\":false,\"mob_threshold\":0}";
//StringWriter sw = new StringWriter();
//JsonWriter writer = new JsonTextWriter(sw);
//writer.WriteStartObject();
//writer.WritePropertyName("description");
//writer.WriteValue("");
//writer.WritePropertyName("compression");
//writer.WriteValue("snappy");
//writer.WritePropertyName("max_versions");
//writer.WriteValue(1);
//writer.WritePropertyName("mob_enabled");
//writer.WriteValue(false);
//writer.WritePropertyName("mob_threshold");
//writer.WriteValue(0);
//writer.WriteEndObject();
//writer.Flush();
//String create_table = sw.GetStringBuilder().ToString();
//string retString = hbase.Post("table/huangming", create_table);//huangming是表名
//Console.WriteLine("\nC#======>{0}\n", retString);
//retString = hbase.Get("table/huangming");
//Console.WriteLine("\nC#======>{0}\n", retString);
////##Create normal record
////String create_record = "{\"records\":[ {\"id\":\"10000\", \"huang\":\"abc0\"} ] }";
//StringWriter sw_rec = new StringWriter();
//JsonWriter writer_rec = new JsonTextWriter(sw_rec);
//writer_rec.WriteStartObject();
//writer_rec.WritePropertyName("records");
//writer_rec.WriteStartArray();
//writer_rec.WriteStartObject();
//writer_rec.WritePropertyName("id");
//writer_rec.WriteValue("10000");
//writer_rec.WritePropertyName("huang");
//writer_rec.WriteValue("abc0");
//writer_rec.WriteEndObject();
//writer_rec.WriteEndArray();
//writer_rec.WriteEndObject();
//writer_rec.Flush();
//String create_record = sw_rec.GetStringBuilder().ToString();
//retString = hbase.Post("record/huangming", create_record);//huangming是表名
//Console.WriteLine("\nC#======>{0}\n", retString);
////##Get normal record
//retString = hbase.Get("record/huangming?key=10000");
//Console.WriteLine("\nC#======>{0}\n", retString);
//retString = hbase.Get("record/huangming?keyexp=*");
//Console.WriteLine("\nC#======>{0}\n", retString);
////##Update normal record
////String update_record = "{\"records\":[ {\"id\":\"10000\", \"huang\":\"abc0_update\"} ] }";
//StringWriter sw_rec2 = new StringWriter();
//JsonWriter writer_rec2 = new JsonTextWriter(sw_rec2);
//writer_rec2.WriteStartObject();
//writer_rec2.WritePropertyName("records");
//writer_rec2.WriteStartArray();
//writer_rec2.WriteStartObject();
//writer_rec2.WritePropertyName("id");
//writer_rec2.WriteValue("10000");
//writer_rec2.WritePropertyName("huang");
//writer_rec2.WriteValue("abc0_update");
//writer_rec2.WriteEndObject();
//writer_rec2.WriteEndArray();
//writer_rec2.WriteEndObject();
//writer_rec2.Flush();
//String update_record = sw_rec2.GetStringBuilder().ToString();
//retString = hbase.Post("record/huangming", update_record);//huangming是表名
//Console.WriteLine("\nC#======>{0}\n", retString);
//retString = hbase.Get( "record/huangming?key=10000");
//Console.WriteLine("\nC#======>{0}\n", retString);
////##Delete normal record
//retString = hbase.Delete("record/huangming?key=10000");
//Console.WriteLine("\nC#======>{0}\n", retString);
//retString = hbase.Get("record/huangming?key=10000");
//Console.WriteLine("\nC#======>{0}\n", retString);
////##Update table
////String update_table = "{\"description\": \"hello\"}";
//StringWriter sw2 = new StringWriter();
//JsonWriter writer2 = new JsonTextWriter(sw2);
//writer2.WriteStartObject();
//writer2.WritePropertyName("description");
//writer2.WriteValue("hello");
//writer2.WriteEndObject();
//writer2.Flush();
//String update_table = sw2.GetStringBuilder().ToString();
//retString = hbase.Put("table/huangming", update_table);//huangming是表名
//Console.WriteLine("\nC#======>{0}\n", retString);
//retString = hbase.Get("table/huangming");
//Console.WriteLine("\nC#======>{0}\n", retString);
////##Delete table
//retString = hbase.Delete("table/huangming");//huangming是表名
//Console.WriteLine("\nC#======>{0}\n", retString);
//retString = hbase.Get("table/huangming");
//Console.WriteLine("\nC#======>{0}\n", retString);
////##Create table with mob
////String create_table_mob = "{\"compression\":\"snappy\",\"max_versions\":1,\"description\":\"\",\"mob_enabled\":true,\"mob_threshold\":100}";
//StringWriter sw_mob = new StringWriter();
//JsonWriter writer_mob = new JsonTextWriter(sw_mob);
//writer_mob.WriteStartObject();
//writer_mob.WritePropertyName("description");
//writer_mob.WriteValue("");
//writer_mob.WritePropertyName("compression");
//writer_mob.WriteValue("snappy");
//writer_mob.WritePropertyName("max_versions");
//writer_mob.WriteValue(1);
//writer_mob.WritePropertyName("mob_enabled");
//writer_mob.WriteValue(true);
//writer_mob.WritePropertyName("mob_threshold");
//writer_mob.WriteValue(100);
//writer_mob.WriteEndObject();
//writer_mob.Flush();
//String create_table_mob = sw_mob.GetStringBuilder().ToString();
//retString = hbase.Post("table/huangming_mob", create_table_mob);//huangming_mob是表名
//Console.WriteLine("\nC#======>{0}\n", retString);
//retString = hbase.Get("table/huangming_mob");
//Console.WriteLine("\nC#======>{0}\n", retString);
////##Create file record
//byte[] data_file_in = hbase.File2Bytes("D:\\mp3\\Taylor Swift - Out Of The Woods.mp3");
//retString = hbase.PostBytes("record/file/huangming_mob?key=away.mp3&column=mp3", data_file_in);//huangming_mob是表名
//Console.WriteLine("\nC#======>{0}\n", retString);
////##Get file record
//byte[] data_file_out = hbase.GetBytes("record/file/huangming_mob?key=away.mp3&column=mp3");//huangming_mob是表名
//hbase.Bytes2File(data_file_out, "D:\\mp3\\Out Of The Woods.mp3");
//##Delete table with mob
//retString = hbase.Delete("table/huangming_mob");//huangming_mob是表名
//Console.WriteLine("\nC#======>{0}\n", retString);
//retString = hbase.Get("table/huangming_mob");
//Console.WriteLine("\nC#======>{0}\n", retString);
Console.ReadLine();
}
}
}

View File

@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// 有关程序集的常规信息通过下列属性集
// 控制。更改这些属性值可修改
// 与程序集关联的信息。
[assembly: AssemblyTitle("hbase")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft")]
[assembly: AssemblyProduct("hbase")]
[assembly: AssemblyCopyright("Copyright © Microsoft 2015")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// 将 ComVisible 设置为 false 使此程序集中的类型
// 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型,
// 则将该类型上的 ComVisible 属性设置为 true。
[assembly: ComVisible(false)]
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
[assembly: Guid("44fae09b-5f58-44b3-be4f-0db47e46e6a4")]
// 程序集的版本信息由下面四个值组成:
//
// 主版本
// 次版本
// 内部版本号
// 修订号
//
// 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值,
// 方法是按如下所示使用“*”:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

250
HBase/Request4Json.cs Normal file
View File

@ -0,0 +1,250 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Net;
namespace Baosight.HBase
{
class Request4Json
{
public static string Get(string username, string token, string url)
{
//Uri uri = new Uri(url);
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
request.Method = "GET";
request.ContentType = "application/json";
string userNamePassword = username + ":" + token;
request.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(new ASCIIEncoding().GetBytes(userNamePassword)));
string responseString = null;
try
{
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
//Console.WriteLine("***" + response.StatusCode.ToString());
StreamReader reader = new StreamReader(response.GetResponseStream());
responseString = reader.ReadToEnd();
reader.Close();
}
}
catch (WebException ex)
{
responseString = ex.Message;
}
return responseString;
}
public static byte[] GetBytes(string username, string token, string url)
{
//Uri uri = new Uri(url);
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
request.Method = "GET";
request.ContentType = "application/json";
string userNamePassword = username + ":" + token;
request.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(new ASCIIEncoding().GetBytes(userNamePassword)));
byte[] responseBytes = null;
try
{
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
//Console.WriteLine("***" + response.StatusCode.ToString());
Stream stream = response.GetResponseStream();
long contentLength = response.ContentLength;
responseBytes = new byte[contentLength];
responseBytes = ReadStreamFully(stream);
stream.Close();
}
}
catch (WebException ex)
{
string responseString = ex.Message;
Console.WriteLine("***" + responseString);
}
return responseBytes;
}
public static string PostBytes(string username, string token, string url, byte[] data)
{
// Uri uri = new Uri(url);
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
request.Method = "POST";
request.ContentType = "application/octet-stream";
string userNamePassword = username + ":" + token;
request.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(new ASCIIEncoding().GetBytes(userNamePassword)));
request.ContentLength = data.Length;
Stream reqStream = request.GetRequestStream();
reqStream.Write(data, 0, data.Length);
reqStream.Close();
string responseString = null;
try
{
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
Console.WriteLine("***" + response.StatusCode.ToString());
StreamReader reader = new StreamReader(response.GetResponseStream());
responseString = reader.ReadToEnd();
reader.Close();
}
}
catch (WebException ex)
{
responseString = ex.Message;
}
return responseString;
}
public static string Post(string username, string token, string url, string data)
{
//Uri uri = new Uri(url);
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
request.Method = "POST";
request.ContentType = "application/json";
string userNamePassword = username + ":" + token;
request.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(new ASCIIEncoding().GetBytes(userNamePassword)));
byte[] bs = Encoding.UTF8.GetBytes(data);
Stream reqStream = request.GetRequestStream();
reqStream.Write(bs, 0, bs.Length);
reqStream.Close();
string responseString = null;
try
{
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
Console.WriteLine("***" + response.StatusCode.ToString());
StreamReader reader = new StreamReader(response.GetResponseStream());
responseString = reader.ReadToEnd();
reader.Close();
}
}
catch (WebException ex)
{
responseString = ex.Message;
}
return responseString;
}
public static string Put(string username, string token, string url, string data)
{
// Uri uri = new Uri(url);
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
request.Method = "PUT";
request.ContentType = "application/json";
string userNamePassword = username + ":" + token;
request.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(new ASCIIEncoding().GetBytes(userNamePassword)));
byte[] bs = Encoding.UTF8.GetBytes(data);
Stream reqStream = request.GetRequestStream();
reqStream.Write(bs, 0, bs.Length);
reqStream.Close();
string responseString = null;
try
{
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
//Console.WriteLine("***" + response.StatusCode.ToString());
StreamReader reader = new StreamReader(response.GetResponseStream());
responseString = reader.ReadToEnd();
reader.Close();
}
}
catch (WebException ex)
{
responseString = ex.Message;
}
return responseString;
}
public static string Delete(string username, string token, string url)
{
// Uri uri = new Uri(url);
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
request.Method = "DELETE";
request.ContentType = "application/json";
string userNamePassword = username + ":" + token;
request.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(new ASCIIEncoding().GetBytes(userNamePassword)));
string responseString = null;
try
{
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
//Console.WriteLine("***" + response.StatusCode.ToString());
StreamReader reader = new StreamReader(response.GetResponseStream());
responseString = reader.ReadToEnd();
reader.Close();
}
}
catch (WebException ex)
{
responseString = ex.Message;
}
return responseString;
}
static byte[] ReadStreamFully(Stream stream)
{
byte[] buffer = new byte[128];
using (MemoryStream ms = new MemoryStream())
{
while (true)
{
int read = stream.Read(buffer, 0, buffer.Length);
if (read <= 0)
return ms.ToArray();
ms.Write(buffer, 0, read);
}
}
}
public static byte[] File2Bytes(string path)
{
if (!File.Exists(path))
{
return new byte[0];
}
FileInfo fi = new FileInfo(path);
byte[] buff = new byte[fi.Length];
FileStream fs = fi.OpenRead();
fs.Read(buff, 0, Convert.ToInt32(fs.Length));
fs.Close();
return buff;
}
public static void Bytes2File(byte[] buff, string savepath)
{
if (buff == null)
{
return;
}
if (File.Exists(savepath))
{
File.Delete(savepath);
}
FileStream fs = new FileStream(savepath, FileMode.CreateNew);
BinaryWriter bw = new BinaryWriter(fs);
bw.Write(buff, 0, buff.Length);
bw.Close();
fs.Close();
}
}
}

15
HBase/app.config Normal file
View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.6.10.0" newVersion="2.6.10.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.6.10.0" newVersion="2.6.10.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

6
HBase/packages.config Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.Bcl" version="1.1.10" targetFramework="net40" />
<package id="Microsoft.Bcl.Async" version="1.0.168" targetFramework="net40" />
<package id="Microsoft.Bcl.Build" version="1.0.14" targetFramework="net40" />
</packages>

92
Host/App.config Normal file
View File

@ -0,0 +1,92 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" />
</startup>
<connectionStrings>
<!--使用 Sessionid 来实现推送数据信息适用于一台机器上有1个以上客户端-->
<!--使用 HostName 来实现推送数据信息适用于一台机器上只有1个客户端-->
<add name="SendMessageType" connectionString="Sessionid" />
</connectionStrings>
<system.serviceModel>
<!--
<services>
<service name="Host.Services" behaviorConfiguration="abc">
<endpoint address="" binding="wsDualHttpBinding" contract="Host.IServices" bindingConfiguration="wsdualbinding"/>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
<host>
<baseAddresses>
<add baseAddress="http://127.0.0.1:2000"/>
<add baseAddress="net.tcp://127.0.0.1:3000"/>
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="abc">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<wsDualHttpBinding>
<binding name="wsdualbinding"
closeTimeout="00:03:00"
maxReceivedMessageSize="500000"
maxBufferPoolSize="50000"
sendTimeout="00:03:00"
openTimeout="00:03:00"
receiveTimeout="00:03:00">
<security mode="None"/>
</binding>
</wsDualHttpBinding>
</bindings>
-->
<!-- wcf协议 -->
<bindings>
<netTcpBinding>
<binding name="DuplexBinding" maxBufferPoolSize="2147483647" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" sendTimeout="00:00:02" receiveTimeout="00:00:02">
<security mode="None" />
<reliableSession enabled="true" />
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
</binding>
</netTcpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="NewBehavior">
<dataContractSerializer maxItemsInObjectGraph="2147483647" />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service name="ICService.PushMessage" behaviorConfiguration="NewBehavior">
<endpoint address="net.tcp://192.168.77.2:50001/Services" binding="netTcpBinding" bindingConfiguration="DuplexBinding" contract="ICService.IPushMessage" />
</service>
</services>
</system.serviceModel>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" /></startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.6.10.0" newVersion="2.6.10.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.6.10.0" newVersion="2.6.10.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

179
Host/AppSetting.config Normal file
View File

@ -0,0 +1,179 @@
<?xml version="1.0" encoding="GB2312" ?>
<configuration>
<SensorConfiguration Sensor_TextBox1="100" Sensor_TextBox2="100" Sensor_TextBox3="100" Sensor_TextBox4="100" Sensor_TextBox5="100" Sensor_TextBox6="100" Sensor_TextBox7="100" Sensor_TextBox8="100"
TextBox_dj1="2800" TextBox_dj2="2800" TextBox_dj3="2800" TextBox_dj4="2800" TextBox_dj5="2800" TextBox_dj6="0" TextBox_dj7="0" TextBox_dj8="0"
TextBox_distance="0.97027200460434" Point="1024" Freq="5120" />
<LineConfiguration color_Time="-16777216" color_Fre="-14352284" color_Energy="-16765090" color_Speed="-8355840" color_Alarm="-11295232" color_Closed="-2555904" color_Cut="-8224126" color_WorkRoll="-16616248" color_MidRoll="-16744384" BackgroundColor="-65536" color_Font="-9803158" color_Backgroud="-657931" font_Size="16" BackgroundGridOn="False" rollLineVisible="True"/>
<BaseConfig ip="10.25.24.34" port="1024" txt="0" bit="1" path="H:\DATA" saveDaysAlarm="90" saveDaysNoAlarm="90" />
<ALARM_PARAM>
<ALARM_FREQ times_l="3" times_m="3" times_h="3">
<AF alarmSpeed="20"
lowPassL="1" lowPassU="70" lowAlarmValue="0.1"
midPassL="70" midPassU="300" midAlarmValue="0.1"
highPassL="300" highPassU="1000" highAlarmValue="0.1"
lowDefectValue="0.2" midDefectValue="0.2" highDefectValue="0.2" />
<AF alarmSpeed="80"
lowPassL="1" lowPassU="70" lowAlarmValue="0.02"
midPassL="70" midPassU="300" midAlarmValue="0.02"
highPassL="300" highPassU="1000" highAlarmValue="0.02"
lowDefectValue="0.2" midDefectValue="0.2" highDefectValue="0.2" />
<AF alarmSpeed="180"
lowPassL="1" lowPassU="70" lowAlarmValue="0.025"
midPassL="70" midPassU="300" midAlarmValue="0.025"
highPassL="300" highPassU="1000" highAlarmValue="0.025"
lowDefectValue="0.2" midDefectValue="0.2" highDefectValue="0.2" />
<AF alarmSpeed="250"
lowPassL="1" lowPassU="70" lowAlarmValue="0.03"
midPassL="70" midPassU="300" midAlarmValue="0.03"
highPassL="300" highPassU="1000" highAlarmValue="0.03"
lowDefectValue="0.2" midDefectValue="0.2" highDefectValue="0.2" />
</ALARM_FREQ>
<ALARM_FREQ times_l="3" times_m="3" times_h="3">
<AF alarmSpeed="110"
lowPassL="1" lowPassU="70" lowAlarmValue="0.02"
midPassL="70" midPassU="300" midAlarmValue="0.03"
highPassL="300" highPassU="1000" highAlarmValue="0.01"
lowDefectValue="0.2" midDefectValue="0.2" highDefectValue="0.2" />
<AF alarmSpeed="179"
lowPassL="1" lowPassU="70" lowAlarmValue="0.02"
midPassL="70" midPassU="300" midAlarmValue="0.03"
highPassL="300" highPassU="1000" highAlarmValue="0.01"
lowDefectValue="0.2" midDefectValue="0.2" highDefectValue="0.2" />
<AF alarmSpeed="250"
lowPassL="1" lowPassU="70" lowAlarmValue="0.025"
midPassL="70" midPassU="300" midAlarmValue="0.04"
highPassL="300" highPassU="1000" highAlarmValue="0.015"
lowDefectValue="0.2" midDefectValue="0.2" highDefectValue="0.2" />
<AF alarmSpeed="450"
lowPassL="1" lowPassU="70" lowAlarmValue="0.03"
midPassL="70" midPassU="300" midAlarmValue="0.05"
highPassL="300" highPassU="1000" highAlarmValue="0.02"
lowDefectValue="0.2" midDefectValue="0.2" highDefectValue="0.2" />
</ALARM_FREQ>
<ALARM_FREQ times_l="3" times_m="3" times_h="3">
<AF alarmSpeed="20"
lowPassL="1" lowPassU="70" lowAlarmValue="0.1"
midPassL="70" midPassU="300" midAlarmValue="0.1"
highPassL="300" highPassU="1000" highAlarmValue="0.1"
lowDefectValue="0.2" midDefectValue="0.2" highDefectValue="0.2" />
<AF alarmSpeed="160"
lowPassL="1" lowPassU="70" lowAlarmValue="0.05"
midPassL="70" midPassU="300" midAlarmValue="0.03"
highPassL="300" highPassU="1000" highAlarmValue="0.03"
lowDefectValue="0.2" midDefectValue="0.2" highDefectValue="0.2" />
<AF alarmSpeed="244"
lowPassL="1" lowPassU="70" lowAlarmValue="0.05"
midPassL="70" midPassU="300" midAlarmValue="0.03"
highPassL="300" highPassU="1000" highAlarmValue="0.03"
lowDefectValue="0.2" midDefectValue="0.2" highDefectValue="0.2" />
<AF alarmSpeed="350"
lowPassL="1" lowPassU="70" lowAlarmValue="0.05"
midPassL="70" midPassU="300" midAlarmValue="0.03"
highPassL="300" highPassU="1000" highAlarmValue="0.03"
lowDefectValue="0.2" midDefectValue="0.2" highDefectValue="0.2" />
<AF alarmSpeed="520"
lowPassL="1" lowPassU="70" lowAlarmValue="0.05"
midPassL="70" midPassU="300" midAlarmValue="0.04"
highPassL="300" highPassU="1000" highAlarmValue="0.03"
lowDefectValue="0.2" midDefectValue="0.2" highDefectValue="0.2" />
<AF alarmSpeed="700"
lowPassL="1" lowPassU="70" lowAlarmValue="0.05"
midPassL="70" midPassU="300" midAlarmValue="0.05"
highPassL="300" highPassU="1000" highAlarmValue="0.04"
lowDefectValue="0.2" midDefectValue="0.2" highDefectValue="0.2" />
</ALARM_FREQ>
<ALARM_FREQ times_l="3" times_m="3" times_h="3">
<AF alarmSpeed="20"
lowPassL="1" lowPassU="70" lowAlarmValue="0.1"
midPassL="70" midPassU="300" midAlarmValue="0.1"
highPassL="300" highPassU="1000" highAlarmValue="0.1"
lowDefectValue="0.1" midDefectValue="0.2" highDefectValue="0.2" />
<AF alarmSpeed="250"
lowPassL="1" lowPassU="70" lowAlarmValue="0.05"
midPassL="70" midPassU="300" midAlarmValue="0.03"
highPassL="300" highPassU="1000" highAlarmValue="0.02"
lowDefectValue="0.2" midDefectValue="0.2" highDefectValue="0.2" />
<AF alarmSpeed="400"
lowPassL="1" lowPassU="70" lowAlarmValue="0.05"
midPassL="70" midPassU="300" midAlarmValue="0.035"
highPassL="300" highPassU="1000" highAlarmValue="0.02"
lowDefectValue="0.2" midDefectValue="0.2" highDefectValue="0.2" />
<AF alarmSpeed="600"
lowPassL="1" lowPassU="70" lowAlarmValue="0.05"
midPassL="70" midPassU="300" midAlarmValue="0.04"
highPassL="300" highPassU="1000" highAlarmValue="0.03"
lowDefectValue="0.2" midDefectValue="0.2" highDefectValue="0.2" />
<AF alarmSpeed="900"
lowPassL="1" lowPassU="70" lowAlarmValue="0.05"
midPassL="70" midPassU="300" midAlarmValue="0.05"
highPassL="300" highPassU="1000" highAlarmValue="0.04"
lowDefectValue="0.2" midDefectValue="0.2" highDefectValue="0.2" />
</ALARM_FREQ>
<ALARM_FREQ times_l="3" times_m="3" times_h="3">
<AF alarmSpeed="20"
lowPassL="1" lowPassU="70" lowAlarmValue="0.1"
midPassL="70" midPassU="300" midAlarmValue="0.1"
highPassL="300" highPassU="1000" highAlarmValue="0.1"
lowDefectValue="0.2" midDefectValue="0.2" highDefectValue="0.2" />
<AF alarmSpeed="300"
lowPassL="1" lowPassU="70" lowAlarmValue="0.01"
midPassL="70" midPassU="300" midAlarmValue="0.02"
highPassL="300" highPassU="1000" highAlarmValue="0.03"
lowDefectValue="0.2" midDefectValue="0.2" highDefectValue="0.2" />
<AF alarmSpeed="700"
lowPassL="1" lowPassU="70" lowAlarmValue="0.01"
midPassL="70" midPassU="300" midAlarmValue="0.03"
highPassL="300" highPassU="1000" highAlarmValue="0.03"
lowDefectValue="0.2" midDefectValue="0.2" highDefectValue="0.2" />
<AF alarmSpeed="1000"
lowPassL="1" lowPassU="70" lowAlarmValue="0.01"
midPassL="70" midPassU="300" midAlarmValue="0.04"
highPassL="300" highPassU="1000" highAlarmValue="0.06"
lowDefectValue="0.2" midDefectValue="0.2" highDefectValue="0.2" />
<AF alarmSpeed="1300"
lowPassL="1" lowPassU="70" lowAlarmValue="0.01"
midPassL="70" midPassU="300" midAlarmValue="0.04"
highPassL="300" highPassU="1000" highAlarmValue="0.08"
lowDefectValue="0.2" midDefectValue="0.2" highDefectValue="0.2" />
</ALARM_FREQ>
<ALARM_FREQ times_l="3" times_m="3" times_h="3">
<AF alarmSpeed="100"
lowPassL="1" lowPassU="70" lowAlarmValue="0.05"
midPassL="70" midPassU="300" midAlarmValue="0.05"
highPassL="300" highPassU="1000" highAlarmValue="0.05"
lowDefectValue="0.2" midDefectValue="0.2" highDefectValue="0.2" />
</ALARM_FREQ>
<ALARM_FREQ times_l="3" times_m="3" times_h="3">
<AF alarmSpeed="100"
lowPassL="1" lowPassU="70" lowAlarmValue="0.05"
midPassL="70" midPassU="300" midAlarmValue="0.05"
highPassL="300" highPassU="1000" highAlarmValue="0.05"
lowDefectValue="0.2" midDefectValue="0.2" highDefectValue="0.2" />
</ALARM_FREQ>
<ALARM_FREQ times_l="3" times_m="3" times_h="3">
<AF alarmSpeed="100"
lowPassL="1" lowPassU="70" lowAlarmValue="0.05"
midPassL="70" midPassU="300" midAlarmValue="0.05"
highPassL="300" highPassU="1000" highAlarmValue="0.05"
lowDefectValue="0.2" midDefectValue="0.2" highDefectValue="0.2" />
</ALARM_FREQ>
</ALARM_PARAM>
<ONLINE>
<CHANNAEL channel1State= "True" channel2State= "True" channel3State= "True" channel4State= "True" channel5State= "True" channel6State= "True" channel7State= "False" channel8State= "False" />
<TIME>
<CHECK time="True" ck_all="True" ck_l="False" ck_m="True"
ck_h="False" ck_f="True" ck_r="False" />
<Combo co_all="0.1" co_l="0.3" co_m="0.05"
co_h="0.3" co_f="0.005" co_r="0.05"
f1="100" f2="105" reTimeSpan="2" />
</TIME>
<ENERGY>
<CHECK ennergy="True" ck_all="False" ck_l="False" ck_m="True"
ck_h="False" ck_r="True" />
<Combo co_all="0.3" co_l="0.1" co_m="0.3"
co_h="0.3" co_r="1500" />
</ENERGY>
<ORDER oder="True" showset="False" />
</ONLINE>
</configuration>

216
Host/DataAccessForm.cs Normal file
View File

@ -0,0 +1,216 @@
using System;
using System.Windows.Forms;
using CRVM.Utility;
using CRVM.SIDExcuter;
using CRVM.Entity;
namespace CRVM
{
public partial class DataAccessForm : Form
{
//private Statusmodify modify;
private DbHelper dbHelper;
public DataAccessForm(DbHelper dbHelper)
{
this.dbHelper = dbHelper;
InitializeComponent();
}
private void MainForm_Load(object sender, EventArgs e)
{
FillString(dbHelper.SouDB, "sourcedb");
FillString(dbHelper.DesDB, "destdb");
Timer1Int.Text = dbHelper.Freq.ToString();
if (!dbHelper.isStart)
StopStatus();
else
StartStatus();
}
private EDBItem FillSourceDb1()
{
EDBItem soudb = new EDBItem();
soudb.DataType = cbxDbTypeBpc1.Text.Trim();
soudb.Database = txtDbNameBpc1.Text.Trim();
soudb.Userid = txtDbUserBpc1.Text.Trim();
soudb.Password = txtDbPwdBpc1.Text.Trim();
soudb.Ipaddress = txtDbIpBpc1.Text.Trim();
return soudb;
}
private EDBItem FillSourceDb2()
{
EDBItem soudb = new EDBItem();
soudb.DataType = cbxDbTypeBpc2.Text.Trim();
soudb.Database = txtDbNameBpc2.Text.Trim();
soudb.Userid = txtDbUserBpc2.Text.Trim();
soudb.Password = txtDbPwdBpc2.Text.Trim();
soudb.Ipaddress = txtDbIpBpc2.Text.Trim();
return soudb;
}
private void StartStatus()
{
cbxDbTypeBpc1.Enabled = false;
txtDbNameBpc1.ReadOnly = true;
txtDbUserBpc1.ReadOnly = true;
txtDbPwdBpc1.ReadOnly = true;
txtDbIpBpc1.ReadOnly = true;
txtDbNameBpc2.ReadOnly = true;
txtDbUserBpc2.ReadOnly = true;
txtDbPwdBpc2.ReadOnly = true;
txtDbIpBpc2.ReadOnly = true;
cbxDbTypeBpc2.Enabled = false;
btnDBName1.Visible = false;
btnDBName2.Visible = false;
btnStart.Enabled = false;
btnStop.Enabled = true;
btnModify.Enabled = false;
btnSave.Enabled = false;
Timer1Int.ReadOnly = true;
}
private void StopStatus()
{
cbxDbTypeBpc1.Enabled = true;
txtDbNameBpc1.ReadOnly = false;
txtDbUserBpc1.ReadOnly = false;
txtDbPwdBpc1.ReadOnly = false;
txtDbIpBpc1.ReadOnly = false;
txtDbNameBpc2.ReadOnly = false;
txtDbUserBpc2.ReadOnly = false;
txtDbPwdBpc2.ReadOnly = false;
txtDbIpBpc2.ReadOnly = false;
cbxDbTypeBpc2.Enabled = true;
btnStart.Enabled = true;
btnStop.Enabled = false;
btnModify.Enabled = true;
btnSave.Enabled = true;
Timer1Int.ReadOnly = false;
}
private void FillString(EDBItem soudb, string dbName)
{
if (dbName == "sourcedb")
{
cbxDbTypeBpc1.Text = soudb.DataType;
txtDbNameBpc1.Text = soudb.Database;
txtDbUserBpc1.Text = soudb.Userid;
txtDbPwdBpc1.Text = soudb.Password;
txtDbIpBpc1.Text = soudb.Ipaddress;
}
else if (dbName == "destdb")
{
cbxDbTypeBpc2.Text = soudb.DataType;
txtDbNameBpc2.Text = soudb.Database;
txtDbUserBpc2.Text = soudb.Userid;
txtDbPwdBpc2.Text = soudb.Password;
txtDbIpBpc2.Text = soudb.Ipaddress;
}
}
private void btnDBName1_Click(object sender, EventArgs e)
{
openFileDialog1.Filter = "*.accdb|*.accdb";
openFileDialog1.ShowDialog();
txtDbNameBpc1.Text = openFileDialog1.FileName;
}
private void btnDBName2_Click(object sender, EventArgs e)
{
openFileDialog1.Filter = "*.accdb|*.accdb";
openFileDialog1.ShowDialog();
txtDbNameBpc2.Text = openFileDialog1.FileName;
}
private void btnStart1_Click(object sender, EventArgs e)
{
if (!dbHelper.IsConnected(FillSourceDb1()))
{
MessageBox.Show("L2数据库连接失败请修改连接配置或查看网络");
return;
}
if (!dbHelper.IsConnected(FillSourceDb2()))
{
MessageBox.Show("本地数据库连接失败,请修改连接配置或查看网络");
return;
}
dbHelper.isStart = true;
StartStatus();
}
private void btnStop1_Click(object sender, EventArgs e)
{
dbHelper.isStart = false;
StopStatus();
}
private void btnModify_Click(object sender, EventArgs e)
{
}
private void btnSave_Click(object sender, EventArgs e)
{
dbHelper.SouDB = FillSourceDb1();
dbHelper.DesDB = FillSourceDb2();
if (!IsFreRight(Timer1Int.Text.Trim()))
{
Timer1Int.Text = dbHelper.Freq.ToString();
MessageBox.Show("频率必须设置为正整数!");
return;
}
dbHelper.Freq = Convert.ToInt32(Timer1Int.Text.Trim());
dbHelper.SaveConfigData();
MessageBox.Show("保存文件成功");
}
private void soulinktest_Click(object sender, EventArgs e)
{
if (dbHelper.IsConnected(FillSourceDb1()))
{
MessageBox.Show("数据库连接成功!");
}
else
{
MessageBox.Show("数据库连接失败!");
}
}
private void deslinktest_Click(object sender, EventArgs e)
{
if (dbHelper.IsConnected(FillSourceDb2()))
{
MessageBox.Show("数据库连接成功!");
}
else
{
MessageBox.Show("数据库连接失败!");
}
}
private void Timer1Int_Validating(object sender, System.ComponentModel.CancelEventArgs e)
{
if (!IsFreRight(Timer1Int.Text.Trim()))
{
Timer1Int.Text = dbHelper.Freq.ToString();
MessageBox.Show("频率必须设置为正整数!");
return;
}
}
private bool IsFreRight(string freStr)
{
string pattren = @"^[1-9]\d*$";
return SysParam.Instance.DataIsMatch(freStr, pattren);
}
}
}

544
Host/DataAccessForm.designer.cs generated Normal file
View File

@ -0,0 +1,544 @@
namespace CRVM
{
partial class DataAccessForm
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows
/// <summary>
/// 设计器支持所需的方法 - 不要
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DataAccessForm));
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.soulinktest = new System.Windows.Forms.Button();
this.btnDBName1 = new System.Windows.Forms.Button();
this.txtDbPwdBpc1 = new System.Windows.Forms.TextBox();
this.label6 = new System.Windows.Forms.Label();
this.label5 = new System.Windows.Forms.Label();
this.txtDbIpBpc1 = new System.Windows.Forms.TextBox();
this.label2 = new System.Windows.Forms.Label();
this.txtDbNameBpc1 = new System.Windows.Forms.TextBox();
this.label4 = new System.Windows.Forms.Label();
this.cbxDbTypeBpc1 = new System.Windows.Forms.ComboBox();
this.txtDbUserBpc1 = new System.Windows.Forms.TextBox();
this.label3 = new System.Windows.Forms.Label();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.deslinktest = new System.Windows.Forms.Button();
this.btnDBName2 = new System.Windows.Forms.Button();
this.txtDbPwdBpc2 = new System.Windows.Forms.TextBox();
this.label8 = new System.Windows.Forms.Label();
this.label9 = new System.Windows.Forms.Label();
this.txtDbIpBpc2 = new System.Windows.Forms.TextBox();
this.label10 = new System.Windows.Forms.Label();
this.txtDbNameBpc2 = new System.Windows.Forms.TextBox();
this.label11 = new System.Windows.Forms.Label();
this.cbxDbTypeBpc2 = new System.Windows.Forms.ComboBox();
this.txtDbUserBpc2 = new System.Windows.Forms.TextBox();
this.label12 = new System.Windows.Forms.Label();
this.btnSave = new System.Windows.Forms.Button();
this.btnStart = new System.Windows.Forms.Button();
this.btnStop = new System.Windows.Forms.Button();
this.btnModify = new System.Windows.Forms.Button();
this.Timer1Int = new System.Windows.Forms.TextBox();
this.label25 = new System.Windows.Forms.Label();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.panel1 = new System.Windows.Forms.Panel();
this.tableLayoutPanel2.SuspendLayout();
this.groupBox1.SuspendLayout();
this.groupBox2.SuspendLayout();
this.tableLayoutPanel1.SuspendLayout();
this.panel1.SuspendLayout();
this.SuspendLayout();
//
// openFileDialog1
//
this.openFileDialog1.FileName = "openFileDialog1";
//
// tableLayoutPanel2
//
this.tableLayoutPanel2.ColumnCount = 2;
this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 20F));
this.tableLayoutPanel2.Controls.Add(this.groupBox1, 0, 0);
this.tableLayoutPanel2.Controls.Add(this.groupBox2, 1, 0);
this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel2.Location = new System.Drawing.Point(3, 3);
this.tableLayoutPanel2.Name = "tableLayoutPanel2";
this.tableLayoutPanel2.RowCount = 1;
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel2.Size = new System.Drawing.Size(659, 339);
this.tableLayoutPanel2.TabIndex = 7;
//
// groupBox1
//
this.groupBox1.AutoSize = true;
this.groupBox1.Controls.Add(this.soulinktest);
this.groupBox1.Controls.Add(this.btnDBName1);
this.groupBox1.Controls.Add(this.txtDbPwdBpc1);
this.groupBox1.Controls.Add(this.label6);
this.groupBox1.Controls.Add(this.label5);
this.groupBox1.Controls.Add(this.txtDbIpBpc1);
this.groupBox1.Controls.Add(this.label2);
this.groupBox1.Controls.Add(this.txtDbNameBpc1);
this.groupBox1.Controls.Add(this.label4);
this.groupBox1.Controls.Add(this.cbxDbTypeBpc1);
this.groupBox1.Controls.Add(this.txtDbUserBpc1);
this.groupBox1.Controls.Add(this.label3);
this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill;
this.groupBox1.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.groupBox1.Location = new System.Drawing.Point(3, 3);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(323, 333);
this.groupBox1.TabIndex = 6;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "源数据库";
//
// soulinktest
//
this.soulinktest.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.soulinktest.Location = new System.Drawing.Point(232, 275);
this.soulinktest.Name = "soulinktest";
this.soulinktest.Size = new System.Drawing.Size(85, 30);
this.soulinktest.TabIndex = 14;
this.soulinktest.Text = "测试连接";
this.soulinktest.UseVisualStyleBackColor = true;
this.soulinktest.Click += new System.EventHandler(this.soulinktest_Click);
//
// btnDBName1
//
this.btnDBName1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnDBName1.Location = new System.Drawing.Point(250, 130);
this.btnDBName1.Name = "btnDBName1";
this.btnDBName1.Size = new System.Drawing.Size(32, 29);
this.btnDBName1.TabIndex = 13;
this.btnDBName1.Text = "....";
this.btnDBName1.UseVisualStyleBackColor = true;
this.btnDBName1.Visible = false;
this.btnDBName1.Click += new System.EventHandler(this.btnDBName1_Click);
//
// txtDbPwdBpc1
//
this.txtDbPwdBpc1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.txtDbPwdBpc1.Location = new System.Drawing.Point(154, 202);
this.txtDbPwdBpc1.Name = "txtDbPwdBpc1";
this.txtDbPwdBpc1.Size = new System.Drawing.Size(128, 29);
this.txtDbPwdBpc1.TabIndex = 11;
this.txtDbPwdBpc1.UseSystemPasswordChar = true;
//
// label6
//
this.label6.AutoSize = true;
this.label6.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label6.Location = new System.Drawing.Point(93, 205);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(46, 21);
this.label6.TabIndex = 1;
this.label6.Text = "密码:";
//
// label5
//
this.label5.AutoSize = true;
this.label5.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label5.Location = new System.Drawing.Point(77, 169);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(62, 21);
this.label5.TabIndex = 1;
this.label5.Text = "用户名:";
//
// txtDbIpBpc1
//
this.txtDbIpBpc1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.txtDbIpBpc1.Location = new System.Drawing.Point(154, 94);
this.txtDbIpBpc1.Name = "txtDbIpBpc1";
this.txtDbIpBpc1.Size = new System.Drawing.Size(128, 29);
this.txtDbIpBpc1.TabIndex = 7;
//
// label2
//
this.label2.AutoSize = true;
this.label2.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label2.Location = new System.Drawing.Point(3, 133);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(136, 21);
this.label2.TabIndex = 1;
this.label2.Text = "数据库名称(路径):";
//
// txtDbNameBpc1
//
this.txtDbNameBpc1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.txtDbNameBpc1.Location = new System.Drawing.Point(154, 130);
this.txtDbNameBpc1.Name = "txtDbNameBpc1";
this.txtDbNameBpc1.Size = new System.Drawing.Size(128, 29);
this.txtDbNameBpc1.TabIndex = 9;
//
// label4
//
this.label4.AutoSize = true;
this.label4.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label4.Location = new System.Drawing.Point(78, 97);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(61, 21);
this.label4.TabIndex = 1;
this.label4.Text = "IP地址:";
//
// cbxDbTypeBpc1
//
this.cbxDbTypeBpc1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cbxDbTypeBpc1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.cbxDbTypeBpc1.FormattingEnabled = true;
this.cbxDbTypeBpc1.Items.AddRange(new object[] {
"oracle",
"access",
"db2",
"postgres"});
this.cbxDbTypeBpc1.Location = new System.Drawing.Point(154, 56);
this.cbxDbTypeBpc1.Name = "cbxDbTypeBpc1";
this.cbxDbTypeBpc1.Size = new System.Drawing.Size(128, 29);
this.cbxDbTypeBpc1.TabIndex = 6;
//
// txtDbUserBpc1
//
this.txtDbUserBpc1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.txtDbUserBpc1.Location = new System.Drawing.Point(154, 166);
this.txtDbUserBpc1.Name = "txtDbUserBpc1";
this.txtDbUserBpc1.Size = new System.Drawing.Size(128, 29);
this.txtDbUserBpc1.TabIndex = 10;
//
// label3
//
this.label3.AutoSize = true;
this.label3.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label3.Location = new System.Drawing.Point(93, 60);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(46, 21);
this.label3.TabIndex = 1;
this.label3.Text = "类型:";
//
// groupBox2
//
this.groupBox2.AutoSize = true;
this.groupBox2.Controls.Add(this.deslinktest);
this.groupBox2.Controls.Add(this.btnDBName2);
this.groupBox2.Controls.Add(this.txtDbPwdBpc2);
this.groupBox2.Controls.Add(this.label8);
this.groupBox2.Controls.Add(this.label9);
this.groupBox2.Controls.Add(this.txtDbIpBpc2);
this.groupBox2.Controls.Add(this.label10);
this.groupBox2.Controls.Add(this.txtDbNameBpc2);
this.groupBox2.Controls.Add(this.label11);
this.groupBox2.Controls.Add(this.cbxDbTypeBpc2);
this.groupBox2.Controls.Add(this.txtDbUserBpc2);
this.groupBox2.Controls.Add(this.label12);
this.groupBox2.Dock = System.Windows.Forms.DockStyle.Fill;
this.groupBox2.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.groupBox2.Location = new System.Drawing.Point(332, 3);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(324, 333);
this.groupBox2.TabIndex = 13;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "本地数据库";
//
// deslinktest
//
this.deslinktest.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.deslinktest.Location = new System.Drawing.Point(233, 275);
this.deslinktest.Name = "deslinktest";
this.deslinktest.Size = new System.Drawing.Size(85, 30);
this.deslinktest.TabIndex = 15;
this.deslinktest.Text = "测试连接";
this.deslinktest.UseVisualStyleBackColor = true;
this.deslinktest.Click += new System.EventHandler(this.deslinktest_Click);
//
// btnDBName2
//
this.btnDBName2.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnDBName2.Location = new System.Drawing.Point(252, 130);
this.btnDBName2.Name = "btnDBName2";
this.btnDBName2.Size = new System.Drawing.Size(32, 29);
this.btnDBName2.TabIndex = 14;
this.btnDBName2.Text = "....";
this.btnDBName2.UseVisualStyleBackColor = true;
this.btnDBName2.Visible = false;
this.btnDBName2.Click += new System.EventHandler(this.btnDBName2_Click);
//
// txtDbPwdBpc2
//
this.txtDbPwdBpc2.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.txtDbPwdBpc2.Location = new System.Drawing.Point(156, 202);
this.txtDbPwdBpc2.Name = "txtDbPwdBpc2";
this.txtDbPwdBpc2.Size = new System.Drawing.Size(128, 29);
this.txtDbPwdBpc2.TabIndex = 11;
this.txtDbPwdBpc2.UseSystemPasswordChar = true;
//
// label8
//
this.label8.AutoSize = true;
this.label8.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label8.Location = new System.Drawing.Point(94, 205);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(46, 21);
this.label8.TabIndex = 1;
this.label8.Text = "密码:";
//
// label9
//
this.label9.AutoSize = true;
this.label9.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label9.Location = new System.Drawing.Point(78, 169);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(62, 21);
this.label9.TabIndex = 1;
this.label9.Text = "用户名:";
//
// txtDbIpBpc2
//
this.txtDbIpBpc2.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.txtDbIpBpc2.Location = new System.Drawing.Point(156, 94);
this.txtDbIpBpc2.Name = "txtDbIpBpc2";
this.txtDbIpBpc2.Size = new System.Drawing.Size(128, 29);
this.txtDbIpBpc2.TabIndex = 7;
//
// label10
//
this.label10.AutoSize = true;
this.label10.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label10.Location = new System.Drawing.Point(4, 133);
this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(136, 21);
this.label10.TabIndex = 1;
this.label10.Text = "数据库名称(路径):";
//
// txtDbNameBpc2
//
this.txtDbNameBpc2.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.txtDbNameBpc2.Location = new System.Drawing.Point(156, 130);
this.txtDbNameBpc2.Name = "txtDbNameBpc2";
this.txtDbNameBpc2.Size = new System.Drawing.Size(128, 29);
this.txtDbNameBpc2.TabIndex = 9;
//
// label11
//
this.label11.AutoSize = true;
this.label11.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label11.Location = new System.Drawing.Point(79, 97);
this.label11.Name = "label11";
this.label11.Size = new System.Drawing.Size(61, 21);
this.label11.TabIndex = 1;
this.label11.Text = "IP地址:";
//
// cbxDbTypeBpc2
//
this.cbxDbTypeBpc2.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cbxDbTypeBpc2.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.cbxDbTypeBpc2.FormattingEnabled = true;
this.cbxDbTypeBpc2.Items.AddRange(new object[] {
"oracle",
"access",
"db2",
"postgres"});
this.cbxDbTypeBpc2.Location = new System.Drawing.Point(157, 56);
this.cbxDbTypeBpc2.Name = "cbxDbTypeBpc2";
this.cbxDbTypeBpc2.Size = new System.Drawing.Size(128, 29);
this.cbxDbTypeBpc2.TabIndex = 6;
//
// txtDbUserBpc2
//
this.txtDbUserBpc2.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.txtDbUserBpc2.Location = new System.Drawing.Point(156, 166);
this.txtDbUserBpc2.Name = "txtDbUserBpc2";
this.txtDbUserBpc2.Size = new System.Drawing.Size(128, 29);
this.txtDbUserBpc2.TabIndex = 10;
//
// label12
//
this.label12.AutoSize = true;
this.label12.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label12.Location = new System.Drawing.Point(94, 60);
this.label12.Name = "label12";
this.label12.Size = new System.Drawing.Size(46, 21);
this.label12.TabIndex = 1;
this.label12.Text = "类型:";
//
// btnSave
//
this.btnSave.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnSave.Location = new System.Drawing.Point(332, 17);
this.btnSave.Name = "btnSave";
this.btnSave.Size = new System.Drawing.Size(100, 35);
this.btnSave.TabIndex = 20;
this.btnSave.Text = "保存配置";
this.btnSave.UseVisualStyleBackColor = true;
this.btnSave.Click += new System.EventHandler(this.btnSave_Click);
//
// btnStart
//
this.btnStart.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnStart.Location = new System.Drawing.Point(440, 17);
this.btnStart.Name = "btnStart";
this.btnStart.Size = new System.Drawing.Size(100, 35);
this.btnStart.TabIndex = 14;
this.btnStart.Text = "启动";
this.btnStart.UseVisualStyleBackColor = true;
this.btnStart.Click += new System.EventHandler(this.btnStart1_Click);
//
// btnStop
//
this.btnStop.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnStop.Location = new System.Drawing.Point(548, 17);
this.btnStop.Name = "btnStop";
this.btnStop.Size = new System.Drawing.Size(100, 35);
this.btnStop.TabIndex = 1;
this.btnStop.Text = "停止";
this.btnStop.UseVisualStyleBackColor = true;
this.btnStop.Click += new System.EventHandler(this.btnStop1_Click);
//
// btnModify
//
this.btnModify.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnModify.Location = new System.Drawing.Point(220, 17);
this.btnModify.Name = "btnModify";
this.btnModify.Size = new System.Drawing.Size(100, 35);
this.btnModify.TabIndex = 19;
this.btnModify.Text = "修改状态";
this.btnModify.UseVisualStyleBackColor = true;
this.btnModify.Visible = false;
this.btnModify.Click += new System.EventHandler(this.btnModify_Click);
//
// Timer1Int
//
this.Timer1Int.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.Timer1Int.Location = new System.Drawing.Point(110, 19);
this.Timer1Int.Name = "Timer1Int";
this.Timer1Int.Size = new System.Drawing.Size(74, 33);
this.Timer1Int.TabIndex = 17;
this.Timer1Int.Validating += new System.ComponentModel.CancelEventHandler(this.Timer1Int_Validating);
//
// label25
//
this.label25.AutoSize = true;
this.label25.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label25.Location = new System.Drawing.Point(20, 22);
this.label25.Name = "label25";
this.label25.Size = new System.Drawing.Size(88, 26);
this.label25.TabIndex = 18;
this.label25.Text = "频率(秒):";
//
// tableLayoutPanel1
//
this.tableLayoutPanel1.ColumnCount = 1;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.Controls.Add(this.tableLayoutPanel2, 0, 0);
this.tableLayoutPanel1.Controls.Add(this.panel1, 0, 1);
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 2;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 70F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(665, 415);
this.tableLayoutPanel1.TabIndex = 0;
//
// panel1
//
this.panel1.Controls.Add(this.btnSave);
this.panel1.Controls.Add(this.Timer1Int);
this.panel1.Controls.Add(this.label25);
this.panel1.Controls.Add(this.btnStart);
this.panel1.Controls.Add(this.btnStop);
this.panel1.Controls.Add(this.btnModify);
this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel1.Location = new System.Drawing.Point(3, 348);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(659, 64);
this.panel1.TabIndex = 8;
//
// DataAccess
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(665, 415);
this.Controls.Add(this.tableLayoutPanel1);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.Name = "DataAccess";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "数据库互访工具";
this.Load += new System.EventHandler(this.MainForm_Load);
this.tableLayoutPanel2.ResumeLayout(false);
this.tableLayoutPanel2.PerformLayout();
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.groupBox2.ResumeLayout(false);
this.groupBox2.PerformLayout();
this.tableLayoutPanel1.ResumeLayout(false);
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.OpenFileDialog openFileDialog1;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.Button btnDBName1;
private System.Windows.Forms.TextBox txtDbPwdBpc1;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.TextBox txtDbIpBpc1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.TextBox txtDbNameBpc1;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.ComboBox cbxDbTypeBpc1;
private System.Windows.Forms.TextBox txtDbUserBpc1;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.GroupBox groupBox2;
private System.Windows.Forms.Button btnDBName2;
private System.Windows.Forms.TextBox txtDbPwdBpc2;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.Label label9;
private System.Windows.Forms.TextBox txtDbIpBpc2;
private System.Windows.Forms.Label label10;
private System.Windows.Forms.TextBox txtDbNameBpc2;
private System.Windows.Forms.Label label11;
private System.Windows.Forms.ComboBox cbxDbTypeBpc2;
private System.Windows.Forms.TextBox txtDbUserBpc2;
private System.Windows.Forms.Label label12;
private System.Windows.Forms.Button btnStart;
private System.Windows.Forms.Button btnStop;
private System.Windows.Forms.Button btnModify;
private System.Windows.Forms.TextBox Timer1Int;
private System.Windows.Forms.Label label25;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
private System.Windows.Forms.Button btnSave;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Button soulinktest;
private System.Windows.Forms.Button deslinktest;
}
}

194
Host/DataAccessForm.resx Normal file
View File

@ -0,0 +1,194 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="openFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>24, 6</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>38</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAIiEAAAEAGACYDgAAFgAAACgAAAAiAAAAQgAAAAEAGAAAAAAAcA4AAAAAAAAAAAAAAAAAAAAA
AAClg2iQXC+QYjeXYzeVYjWTYjeSYTeSYTeTYjeTYTeTYTeTYjeTYjeTYjaTYjaTYjaTYjaTYjeTYTeT
YTeTYTeTYjeTYjeTYTeTYTeTYTeTYjeTYjeTYTeTYTeUYTaUYTaIVy7JtawAAKKFa3k2AHguAH4yAHw7
AIRAAIdGAIdHAIdGAIdFAIdFAIdGAIdGAIZGAIdHAIdHAIdFAIdGAIdFAIdFAIdFAIdGAIdGAIdFAIdF
AIdFAIdGAIdGAIdFAIdFAIVGAIdGAIA4AMWskwAA////////9/b25t/XxrWloXJKcTcAfTkAgEAAhkgA
iUwDiEsCiU0HikwDiEwEiUwAiUwAiEwAiUsAiUsAiUsAiEwAiEwAiUsAiUsAiUsAiEwAiEwAiUsAiUsA
iUsAiUsCgj4Axa+VAAD////////////////o5ebDu7X5+/3ZysOyjXOKUyR1NQCCPACJRgCMSwCLSwCL
SQSKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACITAKDPgDFr5YAAP//
//////3///3//vn////////5/v////////////Tu6cWqk5VhMno1AIdDAIxGBIlMAIpLAIpMAIlMAIlM
AIpMAIlMAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIhMAoM+AMWvlgAA/////////v/////+/v///v79
///+/f7////+/vz/tJyNrZWFxayc/vz4sJF2fkQGiEYAh0wDikoDi0sAiUoEiEsHikwAikwAikwAikwA
ikwAikwAikwAikwAikwAiEwCgz4Axa+WAAD//////////////////////////////v/7/v75//3/////
+fzl39vAraz8/f/b08yOVzV9PACHRgCLSQKSRwiJTAKKSwCJTACKTACKTACKTACKTACKTACKTACKTACI
TAKDPgDFr5YAAP///////////////////////////////vj9/////v///////////////9TNyMrFw7uo
me7k362Hbn9FC4dFAIdLAolMAIpMAIlMAIpMAIpMAIpMAIpMAIpMAIpMAIhMAoM+AMWvlgAA////////
/////////////////////f39//7/2dLOxbGr0s3I1dDK4NbP////////59/Uhlg3rZF3///+kF8zhz8A
jksAjkoDjEsDiUwAikwAikwAikwAikwAikwAiEwCgz4Axq+WAAD////////////////////////////6
/f38/f3//f/////////y8O6JZUduLgCdbkfx7ez////l29R9Tia2lX+6nYSHRA6GRgCHSwOKTACKTACJ
SwCKTACKTACKTACITAKDPgDGr5YAAP////////////////////////////79/vz+/Pj9/vr6/vr8/vj/
//////78+bWeh4pSH3M2AMy+q////8WvnnpPJsKkl5ptRYVGAIpMAIlLAIpMAIlLAIpMAIpMAIhMAoM+
AMavlgAA/////////////////////////////////////////////////////f//+/39////////2su9
dTsAhE8VwqiP////eToAi0sVoGE3jUoAkEoDik0AiUsAikwAikwAiEwCgz4Axa+WAAD/////////////
///////////////////////////////////8/Pz7/v7+/f3LxcbOw7/o4t7////HtKJ3MQCLURbg2NG8
nol6NwCNSASKTACLSgSJTACKTACKTACITAKDPgDFr5YAAP//////////////////////////////////
//////7+/v7+/v////////////////Tx8behkYpoR+Pa1f///5pwUWokAL6ZgtbMvIFDAIlIAIlOAIpL
AIpMAIpMAIhMAoM+AMWvlgAA/////////////////////////////////////////f39////2dna1dLS
v6ej8u3q////5ujp5d7enn5igFAn1MW1zLikcSIAiE4YxKmWiEoMi0oAiUwAikwAikwAiEwCgz4Axa+W
AAD////////////////////////////////////////9/f79/f3////////t6ue7pJeTa1C+nYf8//r/
///w4d15PxOkfWHl3NSHSxJ7OACUWSqFSgKKTACJSwCKTACITAKDPgDFr5YAAP////////////7/////
//////////3+/v7+/v3+/v7+/P39/v38/vn8/f3//f///////66TeHIwAKyBYeHZ0////7yelpBVILqY
e6V7WoBAAIdJAolLAIpMAIpMAIhMAoM+AMWvlgAAyr+3k2Q0nXJY////t6GLzLKiuaOQ////////////
+f7/+v7///7+/Pz+//7//P///P7/////////waSNdycAgk4a9/vtuKGYezMAj2Avt4Vgh0AAjU0CiEsA
iEsCiEwAgz4Axa6WAACbbEKCPgCFRgB1NwCKPAB+PQCFPACBSxqsjG7Tx77////////9///+///r5uXf
3N3////l6eXPxsPSycr///+Sa0RwKwC5momwjXOKRgCDSg+jaTyESAONTQCNTACISwKDPgDFrpYAAJ5z
T4lGAIdMAIlMAIhLAo1OAIhKCIlHAIVAAHw7AH5GC7yege/r6////9TSy6mQhcW3tP////Pz96CGaauE
c////9K7rnQsAIpZL7KCY5BWGo5HAIxMBIdKBodLA4hMAIM+AMWulgAAnnNNh0UAiksAikwAikwAiUsA
ikwAiUwAiUoCi0wDiUgCjD0AdzIAjmI34tfR////p452hlgxu5+H/P/81sSyZicA386/////gkwegDkA
lFwvllwliEgCikwAikwAiEwCgz4Axa6WAACgc02HRQCKTACKTACKTACKTACKTACKTAKJSgOKSgOISgKI
SQeHTACLRgB8NwCKUyDOvLP59+yMXTJ3MQDDrJb49PSHVjWPXzj///6qhmp+OACJSguKSgOJTQCKSwCI
TAKDPgDFrpYAAJ9zTYZFAIpMAIpMAIpMAIpMAIpMAIpMAIpLAIlLAIpNAIhLA4hOAItLAodLBolIAIM+
AHs3AMewnLCZfnI0AIJCDPr48qR+V28jANfHvbiWfn48AIlJAJBKA4dMAIhMAoM+AMWulgAAnnRNh0UA
ikwAikwAikwAikwAikwAikwAikwAikwAiUsAikwAiksAiUwAikwAiUsAjU0Ah0kGiEAAklQrvJ2Li0YO
ejUAsol5mF8ufzAAlm1NwJV9fzwAhU0AjUoCiEwAgz4Axa6WAACedE2HRQCKTACKTACKTACKTACKTACK
TACKTACKTACKTACKTACKTACKTACKTACKTACHSwaRSwCJSQaHSQCCPgCsckyHRQuCQgCFRQCuhWV+PQCC
Th7Ir56FQASHTACISwCDPgDFrpYAAJ50TYdFAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIpM
AIpMAIpMAIlLAIpMAIhMAohMAo5NA4dKBIZHAJhbIJVZHI1OAIBGGaRrPIdEAIJGE5xiLIhIAIhMAIM+
AMWulgAAnnRNh0UAikwAikwAikwAikwAikwAikwAikwAikwAikwAikwAikwAikwAikwAikwAiUsAikwA
iksAiUsAiksAikwAiEkAhUgEjUsDiUcDiEsIjksIiEkAiEkDiEsCiEwAgz4Axa6WAACedE2HRQCKTACK
TACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACISgCLTQKKTACG
TACLTACLSwKMSgKKSwCKTACKTACKTACITAKDPgDFrpYAAJ50TYdFAIpMAIpMAIpMAIpMAIpMAIpMAIpM
AIpMAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIlLAIpMAIpMAIlMAIpMAIpMAIpLAolMAIpM
AIlMAIpLAIhMAoM+AMWulQAAnnRNh0UAikwAikwAikwAikwAikwAikwAikwAikwAikwAikwAikwAikwA
ikwAikwAikwAikwAikwAikwAikwAiUsAiUsAiksAiUsAiUwAiUwAiksAiUsAiksAikwAiEwCgz4Axa6V
AACfdE2HRQCJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACJ
TACJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACITAKDPgDFrpQAAJduQoM5AIZAAIZAAIY/
AIY/AIZAAIZAAIZAAIY/AIY/AIZAAIZAAIZAAIY/AIY/AIZAAIZAAIY/AIY/AIY/AIZAAIZAAIY/AIY/
AIY/AIZAAIZAAIY/AIY/AIZCAIc+AHwzAMWolgAAw62htJZvtZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1
tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1
tZp1tZh3r5Fw29DGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
</value>
</data>
</root>

513
Host/DataSearchForm.Designer.cs generated Normal file
View File

@ -0,0 +1,513 @@
namespace CRVM
{
partial class DataSearchForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DataSearchForm));
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.panel2 = new System.Windows.Forms.Panel();
this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
this.panel4 = new System.Windows.Forms.Panel();
this.panel6 = new System.Windows.Forms.Panel();
this.dataGrid_coilInfo = new System.Windows.Forms.DataGridView();
this.panel5 = new System.Windows.Forms.Panel();
this.dataGrid_alarmData = new System.Windows.Forms.DataGridView();
this.panel3 = new System.Windows.Forms.Panel();
this.btn_Export = new System.Windows.Forms.Button();
this.btn_ViewOrignData = new System.Windows.Forms.Button();
this.btn_ViewEnergyData = new System.Windows.Forms.Button();
this.tabControl1 = new System.Windows.Forms.TabControl();
this.tabPage_date = new System.Windows.Forms.TabPage();
this.label4 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.label1 = new System.Windows.Forms.Label();
this.checkBox_alarm = new System.Windows.Forms.CheckBox();
this.date_End = new System.Windows.Forms.DateTimePicker();
this.btn_SearchByDate = new System.Windows.Forms.Button();
this.date_Start = new System.Windows.Forms.DateTimePicker();
this.label5 = new System.Windows.Forms.Label();
this.tabPage_coldId = new System.Windows.Forms.TabPage();
this.btn_SearchByColdId = new System.Windows.Forms.Button();
this.textBox_ColdId = new System.Windows.Forms.TextBox();
this.label3 = new System.Windows.Forms.Label();
this.folderBrowserDialog1 = new System.Windows.Forms.FolderBrowserDialog();
this.backgroundWorker1 = new System.ComponentModel.BackgroundWorker();
this.btnExportCoilMsg = new System.Windows.Forms.Button();
this.saveFileDialog1 = new System.Windows.Forms.SaveFileDialog();
this.tableLayoutPanel1.SuspendLayout();
this.panel2.SuspendLayout();
this.tableLayoutPanel2.SuspendLayout();
this.panel4.SuspendLayout();
this.panel6.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dataGrid_coilInfo)).BeginInit();
this.panel5.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dataGrid_alarmData)).BeginInit();
this.panel3.SuspendLayout();
this.tabControl1.SuspendLayout();
this.tabPage_date.SuspendLayout();
this.tabPage_coldId.SuspendLayout();
this.SuspendLayout();
//
// tableLayoutPanel1
//
this.tableLayoutPanel1.ColumnCount = 1;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.Controls.Add(this.panel2, 0, 1);
this.tableLayoutPanel1.Controls.Add(this.panel3, 0, 2);
this.tableLayoutPanel1.Controls.Add(this.tabControl1, 0, 0);
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 3;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 100F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 83.48624F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 16.51376F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(1140, 483);
this.tableLayoutPanel1.TabIndex = 0;
//
// panel2
//
this.panel2.Controls.Add(this.tableLayoutPanel2);
this.panel2.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel2.Location = new System.Drawing.Point(3, 103);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(1134, 313);
this.panel2.TabIndex = 1;
//
// tableLayoutPanel2
//
this.tableLayoutPanel2.AutoSize = true;
this.tableLayoutPanel2.ColumnCount = 1;
this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 77.95193F));
this.tableLayoutPanel2.Controls.Add(this.panel4, 0, 0);
this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel2.Location = new System.Drawing.Point(0, 0);
this.tableLayoutPanel2.Name = "tableLayoutPanel2";
this.tableLayoutPanel2.RowCount = 1;
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel2.Size = new System.Drawing.Size(1134, 313);
this.tableLayoutPanel2.TabIndex = 14;
//
// panel4
//
this.panel4.Controls.Add(this.panel6);
this.panel4.Controls.Add(this.panel5);
this.panel4.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel4.Location = new System.Drawing.Point(3, 3);
this.panel4.Name = "panel4";
this.panel4.Size = new System.Drawing.Size(1128, 307);
this.panel4.TabIndex = 0;
//
// panel6
//
this.panel6.Controls.Add(this.dataGrid_coilInfo);
this.panel6.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel6.Location = new System.Drawing.Point(0, 0);
this.panel6.Margin = new System.Windows.Forms.Padding(3, 3, 0, 3);
this.panel6.Name = "panel6";
this.panel6.Size = new System.Drawing.Size(763, 307);
this.panel6.TabIndex = 15;
//
// dataGrid_coilInfo
//
this.dataGrid_coilInfo.AllowUserToAddRows = false;
this.dataGrid_coilInfo.AllowUserToDeleteRows = false;
this.dataGrid_coilInfo.AllowUserToResizeColumns = false;
this.dataGrid_coilInfo.AllowUserToResizeRows = false;
this.dataGrid_coilInfo.BackgroundColor = System.Drawing.SystemColors.Menu;
this.dataGrid_coilInfo.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.None;
dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.dataGrid_coilInfo.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1;
this.dataGrid_coilInfo.ColumnHeadersHeight = 30;
this.dataGrid_coilInfo.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Window;
dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.ControlText;
dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.dataGrid_coilInfo.DefaultCellStyle = dataGridViewCellStyle2;
this.dataGrid_coilInfo.Dock = System.Windows.Forms.DockStyle.Fill;
this.dataGrid_coilInfo.GridColor = System.Drawing.SystemColors.ActiveBorder;
this.dataGrid_coilInfo.Location = new System.Drawing.Point(0, 0);
this.dataGrid_coilInfo.Margin = new System.Windows.Forms.Padding(3, 3, 0, 3);
this.dataGrid_coilInfo.Name = "dataGrid_coilInfo";
this.dataGrid_coilInfo.ReadOnly = true;
this.dataGrid_coilInfo.RowHeadersVisible = false;
this.dataGrid_coilInfo.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.DisableResizing;
this.dataGrid_coilInfo.RowTemplate.Height = 28;
this.dataGrid_coilInfo.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
this.dataGrid_coilInfo.Size = new System.Drawing.Size(763, 307);
this.dataGrid_coilInfo.TabIndex = 13;
this.dataGrid_coilInfo.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridcoilInfo_CellClick);
//
// panel5
//
this.panel5.Controls.Add(this.dataGrid_alarmData);
this.panel5.Dock = System.Windows.Forms.DockStyle.Right;
this.panel5.Location = new System.Drawing.Point(763, 0);
this.panel5.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.panel5.Name = "panel5";
this.panel5.Size = new System.Drawing.Size(365, 307);
this.panel5.TabIndex = 14;
//
// dataGrid_alarmData
//
this.dataGrid_alarmData.AllowUserToAddRows = false;
this.dataGrid_alarmData.AllowUserToDeleteRows = false;
this.dataGrid_alarmData.AllowUserToResizeColumns = false;
this.dataGrid_alarmData.AllowUserToResizeRows = false;
this.dataGrid_alarmData.BackgroundColor = System.Drawing.SystemColors.Menu;
this.dataGrid_alarmData.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.None;
dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
dataGridViewCellStyle3.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle3.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle3.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle3.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle3.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.dataGrid_alarmData.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle3;
this.dataGrid_alarmData.ColumnHeadersHeight = 30;
this.dataGrid_alarmData.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Window;
dataGridViewCellStyle4.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.ControlText;
dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.dataGrid_alarmData.DefaultCellStyle = dataGridViewCellStyle4;
this.dataGrid_alarmData.Dock = System.Windows.Forms.DockStyle.Fill;
this.dataGrid_alarmData.Location = new System.Drawing.Point(0, 0);
this.dataGrid_alarmData.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.dataGrid_alarmData.Name = "dataGrid_alarmData";
this.dataGrid_alarmData.ReadOnly = true;
this.dataGrid_alarmData.RowHeadersVisible = false;
this.dataGrid_alarmData.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.DisableResizing;
this.dataGrid_alarmData.RowTemplate.Height = 23;
this.dataGrid_alarmData.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
this.dataGrid_alarmData.Size = new System.Drawing.Size(365, 307);
this.dataGrid_alarmData.TabIndex = 0;
//
// panel3
//
this.panel3.Controls.Add(this.btnExportCoilMsg);
this.panel3.Controls.Add(this.btn_Export);
this.panel3.Controls.Add(this.btn_ViewOrignData);
this.panel3.Controls.Add(this.btn_ViewEnergyData);
this.panel3.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel3.Location = new System.Drawing.Point(3, 422);
this.panel3.Name = "panel3";
this.panel3.Size = new System.Drawing.Size(1134, 58);
this.panel3.TabIndex = 2;
//
// btn_Export
//
this.btn_Export.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_Export.Location = new System.Drawing.Point(693, 10);
this.btn_Export.Name = "btn_Export";
this.btn_Export.Size = new System.Drawing.Size(138, 39);
this.btn_Export.TabIndex = 9;
this.btn_Export.Text = "导出数据文件";
this.btn_Export.UseVisualStyleBackColor = true;
this.btn_Export.Click += new System.EventHandler(this.btn_Export_Click);
//
// btn_ViewOrignData
//
this.btn_ViewOrignData.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_ViewOrignData.Location = new System.Drawing.Point(35, 10);
this.btn_ViewOrignData.Name = "btn_ViewOrignData";
this.btn_ViewOrignData.Size = new System.Drawing.Size(138, 39);
this.btn_ViewOrignData.TabIndex = 7;
this.btn_ViewOrignData.Text = "原始数据预览";
this.btn_ViewOrignData.UseVisualStyleBackColor = true;
this.btn_ViewOrignData.Click += new System.EventHandler(this.btn_ViewOrignData_Click);
//
// btn_ViewEnergyData
//
this.btn_ViewEnergyData.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_ViewEnergyData.Location = new System.Drawing.Point(376, 10);
this.btn_ViewEnergyData.Name = "btn_ViewEnergyData";
this.btn_ViewEnergyData.Size = new System.Drawing.Size(138, 39);
this.btn_ViewEnergyData.TabIndex = 8;
this.btn_ViewEnergyData.Text = "能量数据预览";
this.btn_ViewEnergyData.UseVisualStyleBackColor = true;
this.btn_ViewEnergyData.Click += new System.EventHandler(this.btn_ViewEnergyData_Click);
//
// tabControl1
//
this.tabControl1.Controls.Add(this.tabPage_date);
this.tabControl1.Controls.Add(this.tabPage_coldId);
this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tabControl1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.tabControl1.Location = new System.Drawing.Point(3, 3);
this.tabControl1.Name = "tabControl1";
this.tabControl1.SelectedIndex = 0;
this.tabControl1.Size = new System.Drawing.Size(1134, 94);
this.tabControl1.TabIndex = 9;
this.tabControl1.SelectedIndexChanged += new System.EventHandler(this.tabControl1_SelectedIndexChanged);
//
// tabPage_date
//
this.tabPage_date.BackColor = System.Drawing.SystemColors.Control;
this.tabPage_date.Controls.Add(this.label4);
this.tabPage_date.Controls.Add(this.label2);
this.tabPage_date.Controls.Add(this.label1);
this.tabPage_date.Controls.Add(this.checkBox_alarm);
this.tabPage_date.Controls.Add(this.date_End);
this.tabPage_date.Controls.Add(this.btn_SearchByDate);
this.tabPage_date.Controls.Add(this.date_Start);
this.tabPage_date.Controls.Add(this.label5);
this.tabPage_date.Location = new System.Drawing.Point(4, 30);
this.tabPage_date.Name = "tabPage_date";
this.tabPage_date.Padding = new System.Windows.Forms.Padding(3);
this.tabPage_date.Size = new System.Drawing.Size(1126, 60);
this.tabPage_date.TabIndex = 0;
this.tabPage_date.Text = "时间检索";
//
// label4
//
this.label4.AutoSize = true;
this.label4.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label4.Location = new System.Drawing.Point(609, 23);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(78, 21);
this.label4.TabIndex = 9;
this.label4.Text = "是否报警:";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label2.Location = new System.Drawing.Point(7, 23);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(78, 21);
this.label2.TabIndex = 8;
this.label2.Text = "开始时间:";
//
// label1
//
this.label1.AutoSize = true;
this.label1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label1.Location = new System.Drawing.Point(304, 23);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(78, 21);
this.label1.TabIndex = 7;
this.label1.Text = "结束时间:";
//
// checkBox_alarm
//
this.checkBox_alarm.AutoSize = true;
this.checkBox_alarm.BackColor = System.Drawing.Color.White;
this.checkBox_alarm.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.checkBox_alarm.Location = new System.Drawing.Point(773, 19);
this.checkBox_alarm.Name = "checkBox_alarm";
this.checkBox_alarm.Size = new System.Drawing.Size(45, 25);
this.checkBox_alarm.TabIndex = 5;
this.checkBox_alarm.Text = "是";
this.checkBox_alarm.UseVisualStyleBackColor = false;
this.checkBox_alarm.CheckedChanged += new System.EventHandler(this.checkBox_alarm_CheckedChanged);
//
// date_End
//
this.date_End.CustomFormat = "yyyy-MM-dd HH:mm:ss";
this.date_End.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.date_End.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
this.date_End.Location = new System.Drawing.Point(389, 17);
this.date_End.Name = "date_End";
this.date_End.Size = new System.Drawing.Size(200, 29);
this.date_End.TabIndex = 2;
//
// btn_SearchByDate
//
this.btn_SearchByDate.AutoSize = true;
this.btn_SearchByDate.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_SearchByDate.Location = new System.Drawing.Point(993, 13);
this.btn_SearchByDate.Name = "btn_SearchByDate";
this.btn_SearchByDate.Size = new System.Drawing.Size(112, 35);
this.btn_SearchByDate.TabIndex = 6;
this.btn_SearchByDate.Text = "查询";
this.btn_SearchByDate.UseVisualStyleBackColor = true;
this.btn_SearchByDate.Click += new System.EventHandler(this.btn_SearchByDate_Click);
//
// date_Start
//
this.date_Start.CustomFormat = "yyyy-MM-dd HH:mm:ss";
this.date_Start.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.date_Start.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
this.date_Start.Location = new System.Drawing.Point(92, 17);
this.date_Start.MinDate = new System.DateTime(2010, 11, 12, 0, 0, 0, 0);
this.date_Start.Name = "date_Start";
this.date_Start.Size = new System.Drawing.Size(200, 29);
this.date_Start.TabIndex = 1;
//
// label5
//
this.label5.BackColor = System.Drawing.Color.White;
this.label5.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.label5.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.label5.Location = new System.Drawing.Point(694, 17);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(200, 29);
this.label5.TabIndex = 11;
//
// tabPage_coldId
//
this.tabPage_coldId.BackColor = System.Drawing.SystemColors.Control;
this.tabPage_coldId.Controls.Add(this.btn_SearchByColdId);
this.tabPage_coldId.Controls.Add(this.textBox_ColdId);
this.tabPage_coldId.Controls.Add(this.label3);
this.tabPage_coldId.Location = new System.Drawing.Point(4, 30);
this.tabPage_coldId.Name = "tabPage_coldId";
this.tabPage_coldId.Padding = new System.Windows.Forms.Padding(3);
this.tabPage_coldId.Size = new System.Drawing.Size(1126, 60);
this.tabPage_coldId.TabIndex = 1;
this.tabPage_coldId.Text = "卷号检索";
//
// btn_SearchByColdId
//
this.btn_SearchByColdId.AutoSize = true;
this.btn_SearchByColdId.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_SearchByColdId.Location = new System.Drawing.Point(319, 14);
this.btn_SearchByColdId.Name = "btn_SearchByColdId";
this.btn_SearchByColdId.Size = new System.Drawing.Size(112, 35);
this.btn_SearchByColdId.TabIndex = 7;
this.btn_SearchByColdId.Text = "查询";
this.btn_SearchByColdId.UseVisualStyleBackColor = true;
this.btn_SearchByColdId.Click += new System.EventHandler(this.btn_SearchByColdId_Click);
//
// textBox_ColdId
//
this.textBox_ColdId.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.textBox_ColdId.Location = new System.Drawing.Point(86, 17);
this.textBox_ColdId.Name = "textBox_ColdId";
this.textBox_ColdId.Size = new System.Drawing.Size(200, 29);
this.textBox_ColdId.TabIndex = 4;
//
// label3
//
this.label3.AutoSize = true;
this.label3.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label3.Location = new System.Drawing.Point(17, 20);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(62, 21);
this.label3.TabIndex = 6;
this.label3.Text = "冷卷号:";
//
// btnExportCoilMsg
//
this.btnExportCoilMsg.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnExportCoilMsg.Location = new System.Drawing.Point(962, 10);
this.btnExportCoilMsg.Name = "btnExportCoilMsg";
this.btnExportCoilMsg.Size = new System.Drawing.Size(138, 39);
this.btnExportCoilMsg.TabIndex = 10;
this.btnExportCoilMsg.Text = "导出数据文件";
this.btnExportCoilMsg.UseVisualStyleBackColor = true;
this.btnExportCoilMsg.Click += new System.EventHandler(this.btnExportCoilMsg_Click);
//
// saveFileDialog1
//
this.saveFileDialog1.Filter = "csv文件(*.csv)|*.csv";
//
// DataSearchForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1140, 483);
this.Controls.Add(this.tableLayoutPanel1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.Name = "DataSearchForm";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "数据查询 ";
this.Load += new System.EventHandler(this.DataSearch_Load);
this.tableLayoutPanel1.ResumeLayout(false);
this.panel2.ResumeLayout(false);
this.panel2.PerformLayout();
this.tableLayoutPanel2.ResumeLayout(false);
this.panel4.ResumeLayout(false);
this.panel6.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.dataGrid_coilInfo)).EndInit();
this.panel5.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.dataGrid_alarmData)).EndInit();
this.panel3.ResumeLayout(false);
this.tabControl1.ResumeLayout(false);
this.tabPage_date.ResumeLayout(false);
this.tabPage_date.PerformLayout();
this.tabPage_coldId.ResumeLayout(false);
this.tabPage_coldId.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
private System.Windows.Forms.Panel panel2;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.DateTimePicker date_End;
private System.Windows.Forms.DateTimePicker date_Start;
private System.Windows.Forms.DataGridView dataGrid_coilInfo;
private System.Windows.Forms.Button btn_SearchByDate;
private System.Windows.Forms.TextBox textBox_ColdId;
private System.Windows.Forms.Button btn_ViewEnergyData;
private System.Windows.Forms.Button btn_ViewOrignData;
private System.Windows.Forms.CheckBox checkBox_alarm;
private System.Windows.Forms.Panel panel3;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2;
private System.Windows.Forms.Panel panel4;
private System.Windows.Forms.DataGridView dataGrid_alarmData;
private System.Windows.Forms.Panel panel5;
private System.Windows.Forms.Panel panel6;
private System.Windows.Forms.TabControl tabControl1;
private System.Windows.Forms.TabPage tabPage_date;
private System.Windows.Forms.TabPage tabPage_coldId;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.Button btn_SearchByColdId;
private System.Windows.Forms.Button btn_Export;
private System.Windows.Forms.FolderBrowserDialog folderBrowserDialog1;
private System.ComponentModel.BackgroundWorker backgroundWorker1;
private System.Windows.Forms.Button btnExportCoilMsg;
private System.Windows.Forms.SaveFileDialog saveFileDialog1;
}
}

521
Host/DataSearchForm.cs Normal file
View File

@ -0,0 +1,521 @@
using System;
using System.Data;
using System.Windows.Forms;
using CRVM.SIDExcuter;
using CRVM.Entity;
using System.Text;
using System.Collections.Generic;
using System.IO;
namespace CRVM
{
public delegate void ShowGridData(object sender, string path);
struct SelectConditions
{
public DateTime start;
public DateTime end;
public bool isSelByDate;
public string coilid;
public bool isAlarm;
};
public partial class DataSearchForm : Form
{
public event ShowGridData showdata;
//string[] columnArrayCoilInfo = { "生产结束时间", "报警状态", "热卷号", "冷卷号", "钢种牌号", "出钢记号", "宽度(mm)", "入口厚度(mm)", "出口厚度(mm)", "成品长度", "结束标记", "原始数据文件路径", "能量数据文件路径" };
//int[] columnArrayCoilInfoWidth = { 200, 100, 150, 150, 0, 120, 120, 120, 120, 120, 100, 400, 400 };
string[] columnArrayCoilInfo = { "生产结束时间", "报警状态", "热卷号", "冷卷号", "钢种牌号", "出钢记号", "宽度(mm)", "入口厚度(mm)", "出口厚度(mm)", "成品长度", "成品长度(L2)", "结束标记", "原始数据文件路径", "能量数据文件路径"
// "辊号(1/B/U)", "累重[t](1/B/U)", "辊号(1/B/L)", "累重[t](1/B/L)","辊号(1/M/U)", "累重[t](1/M/U)", "辊号(1/M/L)", "累重[t](1/M/L)","辊号(1/W/U)", "累重[t](1/W/U)", "辊号(1/W/L)", "累重[t](1/W/L)",
// "辊号(2/B/U)", "累重[t](2/B/U)", "辊号(2/B/L)", "累重[t](2/B/L)","辊号(2/M/U)", "累重[t](2/M/U)", "辊号(2/M/L)", "累重[t](2/M/L)","辊号(2/W/U)", "累重[t](2/W/U)", "辊号(2/W/L)", "累重[t](2/W/L)",
// "辊号(3/B/U)", "累重[t](3/B/U)", "辊号(3/B/L)", "累重[t](3/B/L)","辊号(3/M/U)", "累重[t](3/M/U)", "辊号(3/M/L)", "累重[t](3/M/L)","辊号(3/W/U)", "累重[t](3/W/U)", "辊号(3/W/L)", "累重[t](3/W/L)",
// "辊号(4/B/U)", "累重[t](4/B/U)", "辊号(4/B/L)", "累重[t](4/B/L)","辊号(4/M/U)", "累重[t](4/M/U)", "辊号(4/M/L)", "累重[t](4/M/L)","辊号(4/W/U)", "累重[t](4/W/U)", "辊号(4/W/L)", "累重[t](4/W/L)",
// "辊号(5/B/U)", "累重[t](5/B/U)", "辊号(5/B/L)", "累重[t](5/B/L)","辊号(5/M/U)", "累重[t](5/M/U)", "辊号(5/M/L)", "累重[t](5/M/L)","辊号(5/W/U)", "累重[t](5/W/U)", "辊号(5/W/L)", "累重[t](5/W/L)",
};
int[] columnArrayCoilInfoWidth = { 200, 100, 150, 150, 0, 120, 120, 120, 120, 120, 120, 100, 400, 400
// 125, 125, 125, 125, 125, 125,125, 125, 125, 125, 125, 125,
// 125, 125, 125, 125, 125, 125,125, 125, 125, 125, 125, 125,
// 125, 125, 125, 125, 125, 125,125, 125, 125, 125, 125, 125,
// 125, 125, 125, 125, 125, 125,125, 125, 125, 125, 125, 125,
// 125, 125, 125, 125, 125, 125,125, 125, 125, 125, 125, 125,
};
string[] columnArrayAlarmInfo = { "开始位置", "结束位置", "机架", "类型", "能量" };
int[] columnArrayAlarmInfoWidth = { 100, 100, 70, 70, 110 };
string Dbpath;
DataTable orignViewData = null;
List<string> allCoilIdList = new List<string>();
public DataSearchForm()
{
InitializeComponent();
}
private void DataSearch_Load(object sender, EventArgs e)
{
InitalSetting();
}
private void DoReadWork(SelectConditions condition)
{
if (this.backgroundWorker1.IsBusy)
{
MessageBox.Show("数据正在加载中,请稍后!");
return;
}
else
{
this.backgroundWorker1.RunWorkerCompleted += backgroundWorker1_RunWorkerCompleted;
this.backgroundWorker1.DoWork += backgroundWorker1_DoWork;
this.backgroundWorker1.RunWorkerAsync(condition);//传入查询条件,开始异步查询
this.Cursor = Cursors.WaitCursor;
tableLayoutPanel1.Enabled = false;
}
}
void backgroundWorker1_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e)
{
SelectConditions condition = (SelectConditions)e.Argument;
DataTable data = null;
try
{
if (condition.isSelByDate)//根据时间查询
{
data = DbHelper.GetInstance("").GetCoilInfoByDate(condition.isAlarm, condition.start, condition.end);
}
else//根据卷号查询
{
data = DbHelper.GetInstance("").GetCoilInfoByColdId(condition.coilid);
}
//重新组织数据
if (data != null)
{
for (int i = 0; i < data.Columns.Count; i++)
{
data.Columns[i].ColumnName = columnArrayCoilInfo[i];
}
for (int i = 0; i < data.Rows.Count; i++)
{
if (data.Rows[i]["报警状态"].ToString().Trim() == "1")
{
data.Rows[i]["报警状态"] = "Y";
}
else
{
data.Rows[i]["报警状态"] = "N";
}
if (data.Rows[i]["结束标记"].ToString().Trim() == "0")
{
data.Rows[i]["结束标记"] = "超时";
}
else if (data.Rows[i]["结束标记"].ToString().Trim() == "1")
{
data.Rows[i]["结束标记"] = "剪切";
}
else
{
data.Rows[i]["结束标记"] = "手动";
}
}
}
e.Result = data;//输出结果
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
e.Result = null;
}
}
void backgroundWorker1_RunWorkerCompleted(object sender, System.ComponentModel.RunWorkerCompletedEventArgs e)
{
this.Cursor = Cursors.Default;
this.tableLayoutPanel1.Enabled = true;
DataTable data = (DataTable)e.Result;
dataGrid_coilInfo.DataSource = data;
ResetCoilInfoDataGridView(dataGrid_coilInfo);
}
private void InitalSetting()
{
date_Start.Value = SysParam.Instance.searchStartTime;
date_End.Value = SysParam.Instance.searchEndTime;
checkBox_alarm.Checked = SysParam.Instance.searchAlarmChecked ? true : false;
panel5.Visible = false;
SelectConditions condition = new SelectConditions();
condition.isSelByDate = true;
condition.isAlarm = SysParam.Instance.searchAlarmChecked;
condition.start = date_Start.Value;
condition.end = date_End.Value;
DoReadWork(condition);
}
//显示钢卷的详细报警信息
private void dataGridcoilInfo_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex < 0)
{
return;
}
if (e.ColumnIndex == 2)
{
if (dataGrid_coilInfo.Columns.Contains("冷卷号"))
{
DataTable dt = DbHelper.GetInstance("").SelAlarmInfoByColdId(dataGrid_coilInfo.CurrentRow.Cells["冷卷号"].Value.ToString());
if (dt.Rows.Count > 0)
{
dataGrid_alarmData.DataSource = dt;
for (int i = 0; i < dataGrid_alarmData.Rows.Count; i++)
{
if (dataGrid_alarmData.Rows[i].Cells[3].Value.ToString() == "0") { dataGrid_alarmData.Rows[i].Cells[3].Value = "低频"; }
if (dataGrid_alarmData.Rows[i].Cells[3].Value.ToString() == "1") { dataGrid_alarmData.Rows[i].Cells[3].Value = "中频"; }
if (dataGrid_alarmData.Rows[i].Cells[3].Value.ToString() == "2") { dataGrid_alarmData.Rows[i].Cells[3].Value = "高频"; }
}
ResetAlarmInfoDataGridView(dataGrid_alarmData);
panel5.Visible = true;
}
else
{
panel5.Visible = false;
MessageBox.Show("不存在报警缺陷!");
}
}
}
if (e.ColumnIndex == 0)
{
if (dataGrid_coilInfo.Columns.Contains("选择"))
{
string cellValue = dataGrid_coilInfo.CurrentRow.Cells["选择"].Value.ToString();
if (cellValue == "true")
{
dataGrid_coilInfo.CurrentRow.Cells["选择"].Value = "false";
}
else
{
dataGrid_coilInfo.CurrentRow.Cells["选择"].Value = "true";
}
}
}
}
private void btn_SearchByDate_Click(object sender, EventArgs e)
{
SelectConditions condition = new SelectConditions();
condition.isSelByDate = true;
condition.isAlarm = SysParam.Instance.searchAlarmChecked;
condition.start = date_Start.Value;
condition.end = date_End.Value;
SysParam.Instance.searchStartTime = date_Start.Value;
SysParam.Instance.searchEndTime = date_End.Value;
DoReadWork(condition);
}
private void btn_ViewOrignData_Click(object sender, EventArgs e)
{
if (this.dataGrid_coilInfo.SelectedRows.Count > 0)
{
Dbpath = this.dataGrid_coilInfo.SelectedRows[0].Cells["原始数据文件路径"].Value.ToString();
if (showdata != null)
{
showdata(sender, Dbpath);
}
this.Close();
}
else
{
MessageBox.Show("请选择要查询的钢卷!");
}
}
private void btn_ViewEnergyData_Click(object sender, EventArgs e)
{
if (this.dataGrid_coilInfo.SelectedRows.Count > 0)
{
Dbpath = this.dataGrid_coilInfo.SelectedRows[0].Cells["能量数据文件路径"].Value.ToString();
if (showdata != null)
{
showdata(sender, Dbpath);
}
}
else
{
MessageBox.Show("请选择要查询的钢卷!");
}
}
private void btn_SearchByColdId_Click(object sender, EventArgs e)
{
SelectConditions condition = new SelectConditions();
condition.isSelByDate = false;
condition.coilid = textBox_ColdId.Text.Trim();
DoReadWork(condition);
}
private void checkBox_alarm_CheckedChanged(object sender, EventArgs e)
{
if (checkBox_alarm.Checked)
{
SysParam.Instance.searchAlarmChecked = true;
}
else
{
SysParam.Instance.searchAlarmChecked = false;
}
}
private void ResetCoilInfoDataGridView(DataGridView dgv)
{
if (dgv.Columns.Contains("选择"))
{
for (int i = 1; i < dgv.Columns.Count; i++)
{
dgv.Columns[i].Width = columnArrayCoilInfoWidth[i - 1];
dataGrid_coilInfo.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable;
if (i == 5)
{
dgv.Columns[i].Visible = false;
}
}
}
else
{
for (int i = 0; i < dgv.Columns.Count; i++)
{
dgv.Columns[i].Width = columnArrayCoilInfoWidth[i];
dataGrid_coilInfo.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable;
if (i == 4)
{
dgv.Columns[i].Visible = false;
}
}
}
if (!dgv.Columns.Contains("选择"))
{
DataGridViewCheckBoxColumn addColumn = new DataGridViewCheckBoxColumn();
addColumn.HeaderText = "选择";
addColumn.Name = "选择";
addColumn.Resizable = System.Windows.Forms.DataGridViewTriState.False;
addColumn.TrueValue = "true";
//dgv.Columns.Add(addColumn);
dgv.Columns.Insert(0, addColumn);
dgv.Columns["选择"].DisplayIndex = 0;
dgv.Columns["选择"].ReadOnly = false;
addFullSelect();
}
else
{
dgv.Columns["选择"].ReadOnly = false;
}
for (int i = 0; i < dgv.Rows.Count; i++)
{
dgv.Rows[i].Cells["选择"].Value = "false";
}
}
private void ResetAlarmInfoDataGridView(DataGridView dgv)
{
for (int i = 0; i < dgv.Columns.Count; i++)
{
dgv.Columns[i].HeaderText = columnArrayAlarmInfo[i];
dgv.Columns[i].Name = columnArrayAlarmInfo[i];
dgv.Columns[i].Width = columnArrayAlarmInfoWidth[i];
dataGrid_alarmData.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable;
}
}
private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
{
panel5.Visible = false;
if (tabControl1.SelectedTab.Text == "时间检索")
{
btn_SearchByDate_Click(sender, e);
}
else
{
btn_SearchByColdId_Click(sender, e);
}
}
private void btn_Export_Click(object sender, EventArgs e)
{
if (this.dataGrid_coilInfo.SelectedRows.Count <= 0)
{
MessageShowForm form = new MessageShowForm("警告", "请选择导出的卷!");
form.ShowDialog();
return;
}
if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
{
string filePath = folderBrowserDialog1.SelectedPath;
if (!Directory.Exists(filePath))
{
Directory.CreateDirectory(filePath);
}
string filePath_orig = filePath + "\\original data";
if (!Directory.Exists(filePath_orig))
{
Directory.CreateDirectory(filePath_orig);
}
bool flag = false;
if (dataGrid_coilInfo.Columns.Contains("选择"))
{
for (int i = 0; i < dataGrid_coilInfo.Rows.Count; i++)
{
string checkValue = dataGrid_coilInfo.Rows[i].Cells["选择"].Value.ToString();
if (checkValue == "true")//选中
{
string coldcoilno = this.dataGrid_coilInfo.Rows[i].Cells["冷卷号"].Value.ToString().Trim();
string sourcefileName_orig = this.dataGrid_coilInfo.Rows[i].Cells["原始数据文件路径"].Value.ToString().Trim();
if (!File.Exists(sourcefileName_orig))
{
MessageShowForm form = new MessageShowForm("警告", "原始数据源文件dat不存在" + sourcefileName_orig);
form.ShowDialog();
return;
}
//string destfileName_orig = sourcefileName_orig.Substring(sourcefileName_orig.Length - 18, 18);
string destfileName_orig = Path.GetFileName(sourcefileName_orig);
File.Copy(sourcefileName_orig, filePath_orig + "\\" + destfileName_orig + "_" + coldcoilno, true);
string filePath_energy = filePath + "\\energy data";
if (!Directory.Exists(filePath_energy))
{
Directory.CreateDirectory(filePath_energy);
}
string sourcefileName_energy = this.dataGrid_coilInfo.Rows[i].Cells["能量数据文件路径"].Value.ToString();
if (!File.Exists(sourcefileName_energy))
{
MessageShowForm form = new MessageShowForm("警告", "能量数据源文件txt不存在" + sourcefileName_energy);
form.ShowDialog();
return;
}
if (!File.Exists(sourcefileName_energy))
{
MessageShowForm form = new MessageShowForm("警告", "能量数据源文件txt不存在");
form.ShowDialog();
return;
}
//string destfileName_energy = sourcefileName_orig.Substring(sourcefileName_energy.Length - 18, 18);
string destfileName_energy = Path.GetFileName(sourcefileName_energy);
File.Copy(sourcefileName_energy, filePath_energy + "\\" + destfileName_energy + "_" + coldcoilno, true);
flag = true;
}
}
}
if (flag)
{
MessageBox.Show("拷贝成功!");
}
else
{
MessageBox.Show("没有需要拷贝的文件!");
}
}
}
private void btnExportCoilMsg_Click(object sender, EventArgs e)
{
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
string saveDirectory = saveFileDialog1.FileName;
ExportToCSV export = new ExportToCSV(saveDirectory);
DataTable data = new DataTable();
for (int i = 1; i < dataGrid_coilInfo.Columns.Count; i++)
{
DataColumn col = new DataColumn();
col.ColumnName = dataGrid_coilInfo.Columns[i].HeaderText;
data.Columns.Add(col);
}
for (int j = 0; j < dataGrid_coilInfo.Rows.Count; j++)
{
if (dataGrid_coilInfo.Columns.Contains("选择"))
{
if (dataGrid_coilInfo.Rows[j].Cells["选择"].Value.ToString() == "true")
{
DataRow row = data.NewRow();
for (int i = 0; i < data.Columns.Count; i++)
{
row[i] = dataGrid_coilInfo.Rows[j].Cells[i + 1].Value;
}
data.Rows.Add(row);
}
}
}
export.writeProductData(data);
if (export.writeOK)
{
MessageBox.Show("导出钢卷信息成功!");
}
else
{
MessageBox.Show("导出钢卷信息失败!");
}
}
}
CheckBox ckbox = new CheckBox();
private void addFullSelect()
{
System.Drawing.Rectangle rect = dataGrid_coilInfo.GetCellDisplayRectangle(0, -1, true);
ckbox.Text = "全选";
//ckbox.Checked = true;
ckbox.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
ckbox.Font = dataGrid_coilInfo.Columns[0].DefaultCellStyle.Font;
ckbox.Size = new System.Drawing.Size(dataGrid_coilInfo.Columns[0].Width, 30);
ckbox.Location = new System.Drawing.Point(rect.Location.X, rect.Location.Y);
ckbox.CheckedChanged += ckbox_CheckedChanged;
dataGrid_coilInfo.Controls.Add(ckbox);
}
void ckbox_CheckedChanged(object sender, EventArgs e)
{
for (int i = 0; i < dataGrid_coilInfo.Rows.Count; i++)
{
if (dataGrid_coilInfo.Columns.Contains("选择"))
{
if (ckbox.Checked)
{
dataGrid_coilInfo.Rows[i].Cells["选择"].Value = "true";
}
else
{
dataGrid_coilInfo.Rows[i].Cells["选择"].Value = "false";
}
}
}
}
}
}

197
Host/DataSearchForm.resx Normal file
View File

@ -0,0 +1,197 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="folderBrowserDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="backgroundWorker1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>197, 17</value>
</metadata>
<metadata name="saveFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>371, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAIiEAAAEAGACYDgAAFgAAACgAAAAiAAAAQgAAAAEAGAAAAAAAcA4AAAAAAAAAAAAAAAAAAAAA
AAClg2iQXC+QYjeXYzeVYjWTYjeSYTeSYTeTYjeTYTeTYTeTYjeTYjeTYjaTYjaTYjaTYjaTYjeTYTeT
YTeTYTeTYjeTYjeTYTeTYTeTYTeTYjeTYjeTYTeTYTeUYTaUYTaIVy7JtawAAKKFa3k2AHguAH4yAHw7
AIRAAIdGAIdHAIdGAIdFAIdFAIdGAIdGAIZGAIdHAIdHAIdFAIdGAIdFAIdFAIdFAIdGAIdGAIdFAIdF
AIdFAIdGAIdGAIdFAIdFAIVGAIdGAIA4AMWskwAA////////9/b25t/XxrWloXJKcTcAfTkAgEAAhkgA
iUwDiEsCiU0HikwDiEwEiUwAiUwAiEwAiUsAiUsAiUsAiEwAiEwAiUsAiUsAiUsAiEwAiEwAiUsAiUsA
iUsAiUsCgj4Axa+VAAD////////////////o5ebDu7X5+/3ZysOyjXOKUyR1NQCCPACJRgCMSwCLSwCL
SQSKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACITAKDPgDFr5YAAP//
//////3///3//vn////////5/v////////////Tu6cWqk5VhMno1AIdDAIxGBIlMAIpLAIpMAIlMAIlM
AIpMAIlMAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIhMAoM+AMWvlgAA/////////v/////+/v///v79
///+/f7////+/vz/tJyNrZWFxayc/vz4sJF2fkQGiEYAh0wDikoDi0sAiUoEiEsHikwAikwAikwAikwA
ikwAikwAikwAikwAikwAiEwCgz4Axa+WAAD//////////////////////////////v/7/v75//3/////
+fzl39vAraz8/f/b08yOVzV9PACHRgCLSQKSRwiJTAKKSwCJTACKTACKTACKTACKTACKTACKTACKTACI
TAKDPgDFr5YAAP///////////////////////////////vj9/////v///////////////9TNyMrFw7uo
me7k362Hbn9FC4dFAIdLAolMAIpMAIlMAIpMAIpMAIpMAIpMAIpMAIpMAIhMAoM+AMWvlgAA////////
/////////////////////f39//7/2dLOxbGr0s3I1dDK4NbP////////59/Uhlg3rZF3///+kF8zhz8A
jksAjkoDjEsDiUwAikwAikwAikwAikwAikwAiEwCgz4Axq+WAAD////////////////////////////6
/f38/f3//f/////////y8O6JZUduLgCdbkfx7ez////l29R9Tia2lX+6nYSHRA6GRgCHSwOKTACKTACJ
SwCKTACKTACKTACITAKDPgDGr5YAAP////////////////////////////79/vz+/Pj9/vr6/vr8/vj/
//////78+bWeh4pSH3M2AMy+q////8WvnnpPJsKkl5ptRYVGAIpMAIlLAIpMAIlLAIpMAIpMAIhMAoM+
AMavlgAA/////////////////////////////////////////////////////f//+/39////////2su9
dTsAhE8VwqiP////eToAi0sVoGE3jUoAkEoDik0AiUsAikwAikwAiEwCgz4Axa+WAAD/////////////
///////////////////////////////////8/Pz7/v7+/f3LxcbOw7/o4t7////HtKJ3MQCLURbg2NG8
nol6NwCNSASKTACLSgSJTACKTACKTACITAKDPgDFr5YAAP//////////////////////////////////
//////7+/v7+/v////////////////Tx8behkYpoR+Pa1f///5pwUWokAL6ZgtbMvIFDAIlIAIlOAIpL
AIpMAIpMAIhMAoM+AMWvlgAA/////////////////////////////////////////f39////2dna1dLS
v6ej8u3q////5ujp5d7enn5igFAn1MW1zLikcSIAiE4YxKmWiEoMi0oAiUwAikwAikwAiEwCgz4Axa+W
AAD////////////////////////////////////////9/f79/f3////////t6ue7pJeTa1C+nYf8//r/
///w4d15PxOkfWHl3NSHSxJ7OACUWSqFSgKKTACJSwCKTACITAKDPgDFr5YAAP////////////7/////
//////////3+/v7+/v3+/v7+/P39/v38/vn8/f3//f///////66TeHIwAKyBYeHZ0////7yelpBVILqY
e6V7WoBAAIdJAolLAIpMAIpMAIhMAoM+AMWvlgAAyr+3k2Q0nXJY////t6GLzLKiuaOQ////////////
+f7/+v7///7+/Pz+//7//P///P7/////////waSNdycAgk4a9/vtuKGYezMAj2Avt4Vgh0AAjU0CiEsA
iEsCiEwAgz4Axa6WAACbbEKCPgCFRgB1NwCKPAB+PQCFPACBSxqsjG7Tx77////////9///+///r5uXf
3N3////l6eXPxsPSycr///+Sa0RwKwC5momwjXOKRgCDSg+jaTyESAONTQCNTACISwKDPgDFrpYAAJ5z
T4lGAIdMAIlMAIhLAo1OAIhKCIlHAIVAAHw7AH5GC7yege/r6////9TSy6mQhcW3tP////Pz96CGaauE
c////9K7rnQsAIpZL7KCY5BWGo5HAIxMBIdKBodLA4hMAIM+AMWulgAAnnNNh0UAiksAikwAikwAiUsA
ikwAiUwAiUoCi0wDiUgCjD0AdzIAjmI34tfR////p452hlgxu5+H/P/81sSyZicA386/////gkwegDkA
lFwvllwliEgCikwAikwAiEwCgz4Axa6WAACgc02HRQCKTACKTACKTACKTACKTACKTAKJSgOKSgOISgKI
SQeHTACLRgB8NwCKUyDOvLP59+yMXTJ3MQDDrJb49PSHVjWPXzj///6qhmp+OACJSguKSgOJTQCKSwCI
TAKDPgDFrpYAAJ9zTYZFAIpMAIpMAIpMAIpMAIpMAIpMAIpLAIlLAIpNAIhLA4hOAItLAodLBolIAIM+
AHs3AMewnLCZfnI0AIJCDPr48qR+V28jANfHvbiWfn48AIlJAJBKA4dMAIhMAoM+AMWulgAAnnRNh0UA
ikwAikwAikwAikwAikwAikwAikwAikwAiUsAikwAiksAiUwAikwAiUsAjU0Ah0kGiEAAklQrvJ2Li0YO
ejUAsol5mF8ufzAAlm1NwJV9fzwAhU0AjUoCiEwAgz4Axa6WAACedE2HRQCKTACKTACKTACKTACKTACK
TACKTACKTACKTACKTACKTACKTACKTACKTACHSwaRSwCJSQaHSQCCPgCsckyHRQuCQgCFRQCuhWV+PQCC
Th7Ir56FQASHTACISwCDPgDFrpYAAJ50TYdFAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIpM
AIpMAIpMAIlLAIpMAIhMAohMAo5NA4dKBIZHAJhbIJVZHI1OAIBGGaRrPIdEAIJGE5xiLIhIAIhMAIM+
AMWulgAAnnRNh0UAikwAikwAikwAikwAikwAikwAikwAikwAikwAikwAikwAikwAikwAikwAiUsAikwA
iksAiUsAiksAikwAiEkAhUgEjUsDiUcDiEsIjksIiEkAiEkDiEsCiEwAgz4Axa6WAACedE2HRQCKTACK
TACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACISgCLTQKKTACG
TACLTACLSwKMSgKKSwCKTACKTACKTACITAKDPgDFrpYAAJ50TYdFAIpMAIpMAIpMAIpMAIpMAIpMAIpM
AIpMAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIlLAIpMAIpMAIlMAIpMAIpMAIpLAolMAIpM
AIlMAIpLAIhMAoM+AMWulQAAnnRNh0UAikwAikwAikwAikwAikwAikwAikwAikwAikwAikwAikwAikwA
ikwAikwAikwAikwAikwAikwAikwAiUsAiUsAiksAiUsAiUwAiUwAiksAiUsAiksAikwAiEwCgz4Axa6V
AACfdE2HRQCJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACJ
TACJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACITAKDPgDFrpQAAJduQoM5AIZAAIZAAIY/
AIY/AIZAAIZAAIZAAIY/AIY/AIZAAIZAAIZAAIY/AIY/AIZAAIZAAIY/AIY/AIY/AIZAAIZAAIY/AIY/
AIY/AIZAAIZAAIY/AIY/AIZCAIc+AHwzAMWolgAAw62htJZvtZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1
tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1
tZp1tZh3r5Fw29DGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
</value>
</data>
</root>

83
Host/ExportCsv.cs Normal file
View File

@ -0,0 +1,83 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.IO;
namespace CRVM
{
class ExportToCSV
{
private string _filePath;
private bool _writeOK = false;
private StreamWriter writer;
public bool writeOK
{
get
{
return _writeOK;
}
}
public ExportToCSV(string filepath)
{
this._filePath = filepath;
}
public void writeProductData(DataTable data)
{
try
{
writer = new StreamWriter(new FileStream(_filePath, FileMode.OpenOrCreate), Encoding.Default);
string line = "";
for (int i = 0; i < data.Columns.Count; i++)//打印表头
{
//if (i != data.Columns.Count - 2)
{
line += data.Columns[i].ColumnName;
if (i != data.Columns.Count - 1)
{
line = line + ",";
}
}
}
writer.WriteLine(line);
for (int i = 0; i < data.Rows.Count; i++)
{
line = "";
for (int j = 0; j < data.Columns.Count; j++)
{
//if (j != data.Columns.Count - 2)//status列不打印
{
line = line + data.Rows[i][j].ToString().Trim();
if (j != data.Columns.Count - 1)
{
line = line + ",";
}
}
}
writer.WriteLine(line);
}
_writeOK = true;
}
catch (Exception ex)
{
_writeOK = false;
}
finally
{
writer.Close();
}
}
public string EncodingCovert(Encoding src, Encoding dest, string text)
{
var bytes = src.GetBytes(text);
bytes = Encoding.Convert(src, dest, bytes);
return dest.GetString(bytes);
}
}
}

25
Host/FileComparer.cs Normal file
View File

@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
using System.IO;
namespace CRVM
{
public class FileComparer : IComparer
{
/// <summary>
/// 文件排序
/// </summary>
/// <param name="o1"></param>
/// <param name="o2"></param>
/// <returns></returns>
int IComparer.Compare(object o1, object o2)
{
DirectoryInfo fi1 = o1 as DirectoryInfo;
DirectoryInfo fi2 = o2 as DirectoryInfo;
return fi1.CreationTime.CompareTo(fi2.CreationTime);
}
}
}

464
Host/Host.csproj Normal file
View File

@ -0,0 +1,464 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>9.0.21022</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{D4E0A41A-BB1C-4CE1-A7F5-BE7A5B875EE8}</ProjectGuid>
<OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Host</RootNamespace>
<AssemblyName>Host</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<SccProjectName>
</SccProjectName>
<SccLocalPath>
</SccLocalPath>
<SccAuxPath>
</SccAuxPath>
<SccProvider>
</SccProvider>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<CodeAnalysisRuleSet>NativeRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>VibrationTest.ico</ApplicationIcon>
</PropertyGroup>
<PropertyGroup>
<ApplicationManifest>app.manifest</ApplicationManifest>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.Threading.Tasks, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Threading.Tasks.Extensions, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Threading.Tasks.Extensions.Desktop, Version=1.0.168.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.Desktop.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.configuration" />
<Reference Include="System.Core" />
<Reference Include="System.Data.OracleClient" />
<Reference Include="System.IO, Version=2.6.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.1.1.10\lib\net40\System.IO.dll</HintPath>
</Reference>
<Reference Include="System.Net" />
<Reference Include="System.Runtime, Version=2.6.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.1.1.10\lib\net40\System.Runtime.dll</HintPath>
</Reference>
<Reference Include="System.ServiceModel" />
<Reference Include="System.Threading.Tasks, Version=2.6.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.1.1.10\lib\net40\System.Threading.Tasks.dll</HintPath>
</Reference>
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="TcmControl, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\dllFiles\TcmControl.dll</HintPath>
</Reference>
<Reference Include="Utility, Version=0.0.0.0, Culture=neutral, processorArchitecture=x86">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\Utility\bin\Debug\Utility.dll</HintPath>
</Reference>
<Reference Include="WeifenLuo.WinFormsUI.Docking">
<HintPath>..\dllFiles\WeifenLuo.WinFormsUI.Docking.dll</HintPath>
</Reference>
<Reference Include="ZedGraph">
<HintPath>..\dllFiles\ZedGraph.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="controls\ChannelSelect.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="controls\ChannelSelect.designer.cs">
<DependentUpon>ChannelSelect.cs</DependentUpon>
</Compile>
<Compile Include="controls\GraCheckedTimeRe.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="controls\GraCheckedTimeRe.designer.cs">
<DependentUpon>GraCheckedTimeRe.cs</DependentUpon>
</Compile>
<Compile Include="controls\GraOrder.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="controls\GraOrder.designer.cs">
<DependentUpon>GraOrder.cs</DependentUpon>
</Compile>
<Compile Include="controls\GraCheckedEnergy.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="controls\GraCheckedEnergy.designer.cs">
<DependentUpon>GraCheckedEnergy.cs</DependentUpon>
</Compile>
<Compile Include="controls\GraCheckedTime.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="controls\GraCheckedTime.designer.cs">
<DependentUpon>GraCheckedTime.cs</DependentUpon>
</Compile>
<Compile Include="controls\titileSet.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="controls\titileSet.designer.cs">
<DependentUpon>titileSet.cs</DependentUpon>
</Compile>
<Compile Include="controls\WizardBaseChannel.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="controls\WizardBaseChannel.designer.cs">
<DependentUpon>WizardBaseChannel.cs</DependentUpon>
</Compile>
<Compile Include="DataAccessForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="DataAccessForm.designer.cs">
<DependentUpon>DataAccessForm.cs</DependentUpon>
</Compile>
<Compile Include="DataSearchForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="DataSearchForm.Designer.cs">
<DependentUpon>DataSearchForm.cs</DependentUpon>
</Compile>
<Compile Include="ExportCsv.cs" />
<Compile Include="FileComparer.cs" />
<Compile Include="logical\ConfigHelper.cs" />
<Compile Include="logical\IConfigHelper.cs" />
<Compile Include="login.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="login.Designer.cs">
<DependentUpon>login.cs</DependentUpon>
</Compile>
<Compile Include="MessageShowForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="MessageShowForm.Designer.cs">
<DependentUpon>MessageShowForm.cs</DependentUpon>
</Compile>
<Compile Include="OnlineRollForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="OnlineRollForm.Designer.cs">
<DependentUpon>OnlineRollForm.cs</DependentUpon>
</Compile>
<Compile Include="PlottingReview.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="PlottingReview.designer.cs">
<DependentUpon>PlottingReview.cs</DependentUpon>
</Compile>
<Compile Include="Plot_energy.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Plot_energy.designer.cs">
<DependentUpon>Plot_energy.cs</DependentUpon>
</Compile>
<Compile Include="Plotting.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Plotting.designer.cs">
<DependentUpon>Plotting.cs</DependentUpon>
</Compile>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="OriginRollForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="OriginRollForm.Designer.cs">
<DependentUpon>OriginRollForm.cs</DependentUpon>
</Compile>
<Compile Include="SetDataStorageForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="SetDataStorageForm.designer.cs">
<DependentUpon>SetDataStorageForm.cs</DependentUpon>
</Compile>
<Compile Include="SetDisplayForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="SetDisplayForm.designer.cs">
<DependentUpon>SetDisplayForm.cs</DependentUpon>
</Compile>
<Compile Include="logical\LogicCon.cs" />
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="SetSampleForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="SetSampleForm.designer.cs">
<DependentUpon>SetSampleForm.cs</DependentUpon>
</Compile>
<EmbeddedResource Include="controls\ChannelSelect.resx">
<DependentUpon>ChannelSelect.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="controls\GraCheckedTimeRe.resx">
<DependentUpon>GraCheckedTimeRe.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="controls\GraOrder.resx">
<DependentUpon>GraOrder.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="controls\GraCheckedEnergy.resx">
<DependentUpon>GraCheckedEnergy.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="controls\GraCheckedTime.resx">
<DependentUpon>GraCheckedTime.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="controls\titileSet.resx">
<DependentUpon>titileSet.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="controls\WizardBaseChannel.resx">
<DependentUpon>WizardBaseChannel.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="DataAccessForm.resx">
<DependentUpon>DataAccessForm.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="DataSearchForm.resx">
<DependentUpon>DataSearchForm.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="login.resx">
<DependentUpon>login.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="MessageShowForm.resx">
<DependentUpon>MessageShowForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="OnlineRollForm.resx">
<DependentUpon>OnlineRollForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="PlottingReview.resx">
<DependentUpon>PlottingReview.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Plot_energy.resx">
<DependentUpon>Plot_energy.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Plotting.resx">
<DependentUpon>Plotting.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="OriginRollForm.resx">
<DependentUpon>OriginRollForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="SetDataStorageForm.resx">
<DependentUpon>SetDataStorageForm.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="SetDisplayForm.resx">
<DependentUpon>SetDisplayForm.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>PublicResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="SetSampleForm.resx">
<DependentUpon>SetSampleForm.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="SetPasswordForm.resx">
<DependentUpon>SetPasswordForm.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Statusmodify.resx">
<DependentUpon>Statusmodify.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="SetAlarmForm.resx">
<DependentUpon>SetAlarmForm.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="IServerMainForm.resx">
<DependentUpon>IServerMainForm.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="SetSenserForm.resx">
<DependentUpon>SetSenserForm.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<None Include="App.config">
<SubType>Designer</SubType>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="app.manifest">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="AppSetting.config">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="dbaccess.conf">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="packages.config" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
<Compile Include="SetPasswordForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="SetPasswordForm.designer.cs">
<DependentUpon>SetPasswordForm.cs</DependentUpon>
</Compile>
<Compile Include="Statusmodify.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Statusmodify.designer.cs">
<DependentUpon>Statusmodify.cs</DependentUpon>
</Compile>
<Compile Include="SetAlarmForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="SetAlarmForm.designer.cs">
<DependentUpon>SetAlarmForm.cs</DependentUpon>
</Compile>
<Compile Include="IServerMainForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="IServerMainForm.designer.cs">
<DependentUpon>IServerMainForm.cs</DependentUpon>
</Compile>
<Compile Include="SetSenserForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="SetSenserForm.designer.cs">
<DependentUpon>SetSenserForm.cs</DependentUpon>
</Compile>
<None Include="用户使用手册.pdf">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
<Install>false</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
<Visible>False</Visible>
<ProductName>Windows Installer 3.1</ProductName>
<Install>true</Install>
</BootstrapperPackage>
</ItemGroup>
<ItemGroup>
<None Include="Resources\Back-64.png" />
<None Include="Resources\baosteel.png" />
<None Include="Resources\baosteel150.png" />
<None Include="Resources\Exit_64.png" />
<None Include="Resources\Forward_64.png" />
<None Include="Resources\Help_64.png" />
<None Include="Resources\Open_64.png" />
<None Include="Resources\Pause_64.png" />
<None Include="Resources\Play_64.png" />
<None Include="Resources\Refresh_64.png" />
<None Include="Resources\search_64.png" />
<None Include="Resources\Settings_64.png" />
<None Include="Resources\Stop-64.png" />
<None Include="Resources\VibrationTest.ico">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Resources\VibrationTest.png" />
<None Include="Resources\%24this.Icon.ico" />
<Content Include="VibrationTest.ico" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Entity\Entity.csproj">
<Project>{6ea706f6-065d-469e-ab39-7395d780548b}</Project>
<Name>Entity</Name>
</ProjectReference>
<ProjectReference Include="..\ICService\ICService.csproj">
<Project>{98dc5466-7295-439a-bbca-a5d4dc219776}</Project>
<Name>ICService</Name>
</ProjectReference>
<ProjectReference Include="..\IDExcuter\SIDExcuter.csproj">
<Project>{a6d7f927-e946-40c5-b5e7-0ee05706e0f7}</Project>
<Name>SIDExcuter</Name>
</ProjectReference>
<ProjectReference Include="..\RestApi\RestApi.csproj">
<Project>{baf20fd6-881e-470c-97f3-38769d49ba66}</Project>
<Name>RestApi</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets" Condition="Exists('..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" />
<Target Name="EnsureBclBuildImported" BeforeTargets="BeforeBuild" Condition="'$(BclBuildImported)' == ''">
<Error Condition="!Exists('..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" Text="This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=317567." HelpKeyword="BCLBUILD2001" />
<Error Condition="Exists('..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" Text="The build restored NuGet packages. Build the project again to include these packages in the build. For more information, see http://go.microsoft.com/fwlink/?LinkID=317568." HelpKeyword="BCLBUILD2002" />
</Target>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

1179
Host/IServerMainForm.cs Normal file

File diff suppressed because it is too large Load Diff

684
Host/IServerMainForm.designer.cs generated Normal file
View File

@ -0,0 +1,684 @@
namespace CRVM
{
partial class IServerMainForm
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows
/// <summary>
/// 设计器支持所需的方法 - 不要
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
WeifenLuo.WinFormsUI.Docking.DockPanelSkin dockPanelSkin1 = new WeifenLuo.WinFormsUI.Docking.DockPanelSkin();
WeifenLuo.WinFormsUI.Docking.AutoHideStripSkin autoHideStripSkin1 = new WeifenLuo.WinFormsUI.Docking.AutoHideStripSkin();
WeifenLuo.WinFormsUI.Docking.DockPanelGradient dockPanelGradient1 = new WeifenLuo.WinFormsUI.Docking.DockPanelGradient();
WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient1 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
WeifenLuo.WinFormsUI.Docking.DockPaneStripSkin dockPaneStripSkin1 = new WeifenLuo.WinFormsUI.Docking.DockPaneStripSkin();
WeifenLuo.WinFormsUI.Docking.DockPaneStripGradient dockPaneStripGradient1 = new WeifenLuo.WinFormsUI.Docking.DockPaneStripGradient();
WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient2 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
WeifenLuo.WinFormsUI.Docking.DockPanelGradient dockPanelGradient2 = new WeifenLuo.WinFormsUI.Docking.DockPanelGradient();
WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient3 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
WeifenLuo.WinFormsUI.Docking.DockPaneStripToolWindowGradient dockPaneStripToolWindowGradient1 = new WeifenLuo.WinFormsUI.Docking.DockPaneStripToolWindowGradient();
WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient4 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient5 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
WeifenLuo.WinFormsUI.Docking.DockPanelGradient dockPanelGradient3 = new WeifenLuo.WinFormsUI.Docking.DockPanelGradient();
WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient6 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient7 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(IServerMainForm));
this.Timer_Graph = new System.Windows.Forms.Timer(this.components);
this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
this.tableLayoutPanel3 = new System.Windows.Forms.TableLayoutPanel();
this.panel1 = new System.Windows.Forms.Panel();
this.panel3 = new System.Windows.Forms.Panel();
this.panel2 = new System.Windows.Forms.Panel();
this.panel4 = new System.Windows.Forms.Panel();
this.dockPanel1 = new WeifenLuo.WinFormsUI.Docking.DockPanel();
this.Timer_CoilInfo = new System.Windows.Forms.Timer(this.components);
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
this.toolStripLabel1 = new System.Windows.Forms.ToolStripLabel();
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.btnViewIn = new System.Windows.Forms.ToolStripButton();
this.btstart = new System.Windows.Forms.ToolStripButton();
this.btReviewExit = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.btPause = new System.Windows.Forms.ToolStripButton();
this.btStop = new System.Windows.Forms.ToolStripButton();
this.bthelp = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator();
this.btsearch = new System.Windows.Forms.ToolStripDropDownButton();
this.btdataSearch = new System.Windows.Forms.ToolStripMenuItem();
this.btdatabase = new System.Windows.Forms.ToolStripMenuItem();
this.btrollInfo = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator();
this.btSysSetting = new System.Windows.Forms.ToolStripDropDownButton();
this.btSetSensor = new System.Windows.Forms.ToolStripMenuItem();
this.btSetAlarm = new System.Windows.Forms.ToolStripMenuItem();
this.btSetSampling = new System.Windows.Forms.ToolStripMenuItem();
this.btSetStore = new System.Windows.Forms.ToolStripMenuItem();
this.btSetDisplay = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator();
this.btSetPassword = new System.Windows.Forms.ToolStripMenuItem();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.statusStrip1 = new System.Windows.Forms.StatusStrip();
this.connectStatusStrip = new System.Windows.Forms.ToolStripStatusLabel();
this.filename_Strip = new System.Windows.Forms.ToolStripStatusLabel();
this.cutLenSpeedStrip = new System.Windows.Forms.ToolStripStatusLabel();
this.distance_Strip = new System.Windows.Forms.ToolStripStatusLabel();
this.backgroundWorker = new System.ComponentModel.BackgroundWorker();
this.timer_delFile = new System.Windows.Forms.Timer(this.components);
this.timer_RollInfo = new System.Windows.Forms.Timer(this.components);
this.backgroundWorker_fileRead = new System.ComponentModel.BackgroundWorker();
this.tableLayoutPanel2.SuspendLayout();
this.tableLayoutPanel3.SuspendLayout();
this.toolStrip1.SuspendLayout();
this.tableLayoutPanel1.SuspendLayout();
this.statusStrip1.SuspendLayout();
this.SuspendLayout();
//
// Timer_Graph
//
this.Timer_Graph.Interval = 200;
this.Timer_Graph.Tick += new System.EventHandler(this.Timer_Graph_Tick);
//
// tableLayoutPanel2
//
this.tableLayoutPanel2.ColumnCount = 2;
this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel2.Controls.Add(this.tableLayoutPanel3, 0, 0);
this.tableLayoutPanel2.Controls.Add(this.dockPanel1, 1, 0);
this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.tableLayoutPanel2.Location = new System.Drawing.Point(0, 51);
this.tableLayoutPanel2.Margin = new System.Windows.Forms.Padding(0);
this.tableLayoutPanel2.Name = "tableLayoutPanel2";
this.tableLayoutPanel2.RowCount = 1;
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel2.Size = new System.Drawing.Size(914, 644);
this.tableLayoutPanel2.TabIndex = 2;
//
// tableLayoutPanel3
//
this.tableLayoutPanel3.AutoSize = true;
this.tableLayoutPanel3.BackColor = System.Drawing.Color.WhiteSmoke;
this.tableLayoutPanel3.ColumnCount = 1;
this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel3.Controls.Add(this.panel1, 0, 1);
this.tableLayoutPanel3.Controls.Add(this.panel3, 0, 5);
this.tableLayoutPanel3.Controls.Add(this.panel2, 0, 3);
this.tableLayoutPanel3.Controls.Add(this.panel4, 0, 7);
this.tableLayoutPanel3.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel3.Location = new System.Drawing.Point(0, 0);
this.tableLayoutPanel3.Margin = new System.Windows.Forms.Padding(0);
this.tableLayoutPanel3.Name = "tableLayoutPanel3";
this.tableLayoutPanel3.RowCount = 8;
this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30F));
this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30F));
this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30F));
this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30F));
this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tableLayoutPanel3.Size = new System.Drawing.Size(150, 644);
this.tableLayoutPanel3.TabIndex = 1;
//
// panel1
//
this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.panel1.Location = new System.Drawing.Point(0, 30);
this.panel1.Margin = new System.Windows.Forms.Padding(0);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(150, 124);
this.panel1.TabIndex = 1;
//
// panel3
//
this.panel3.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel3.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.panel3.Location = new System.Drawing.Point(0, 501);
this.panel3.Margin = new System.Windows.Forms.Padding(0);
this.panel3.Name = "panel3";
this.panel3.Size = new System.Drawing.Size(150, 182);
this.panel3.TabIndex = 3;
//
// panel2
//
this.panel2.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.panel2.Location = new System.Drawing.Point(0, 184);
this.panel2.Margin = new System.Windows.Forms.Padding(0);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(150, 287);
this.panel2.TabIndex = 2;
//
// panel4
//
this.panel4.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel4.Location = new System.Drawing.Point(3, 716);
this.panel4.Name = "panel4";
this.panel4.Size = new System.Drawing.Size(144, 94);
this.panel4.TabIndex = 4;
//
// dockPanel1
//
this.dockPanel1.ActiveAutoHideContent = null;
this.dockPanel1.AllowEndUserDocking = false;
this.dockPanel1.AllowEndUserNestedDocking = false;
this.dockPanel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
this.dockPanel1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.dockPanel1.CausesValidation = false;
this.dockPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.dockPanel1.DockBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
this.dockPanel1.DocumentStyle = WeifenLuo.WinFormsUI.Docking.DocumentStyle.DockingSdi;
this.dockPanel1.Location = new System.Drawing.Point(150, 0);
this.dockPanel1.Margin = new System.Windows.Forms.Padding(0);
this.dockPanel1.Name = "dockPanel1";
this.dockPanel1.Size = new System.Drawing.Size(764, 644);
dockPanelGradient1.EndColor = System.Drawing.SystemColors.Control;
dockPanelGradient1.StartColor = System.Drawing.SystemColors.Control;
autoHideStripSkin1.DockStripGradient = dockPanelGradient1;
tabGradient1.EndColor = System.Drawing.SystemColors.Control;
tabGradient1.StartColor = System.Drawing.SystemColors.Control;
tabGradient1.TextColor = System.Drawing.SystemColors.ControlDarkDark;
autoHideStripSkin1.TabGradient = tabGradient1;
dockPanelSkin1.AutoHideStripSkin = autoHideStripSkin1;
tabGradient2.EndColor = System.Drawing.SystemColors.ControlLightLight;
tabGradient2.StartColor = System.Drawing.SystemColors.ControlLightLight;
tabGradient2.TextColor = System.Drawing.SystemColors.ControlText;
dockPaneStripGradient1.ActiveTabGradient = tabGradient2;
dockPanelGradient2.EndColor = System.Drawing.SystemColors.Control;
dockPanelGradient2.StartColor = System.Drawing.SystemColors.Control;
dockPaneStripGradient1.DockStripGradient = dockPanelGradient2;
tabGradient3.EndColor = System.Drawing.SystemColors.ControlLight;
tabGradient3.StartColor = System.Drawing.SystemColors.ControlLight;
tabGradient3.TextColor = System.Drawing.SystemColors.ControlText;
dockPaneStripGradient1.InactiveTabGradient = tabGradient3;
dockPaneStripSkin1.DocumentGradient = dockPaneStripGradient1;
tabGradient4.EndColor = System.Drawing.SystemColors.ActiveCaption;
tabGradient4.LinearGradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
tabGradient4.StartColor = System.Drawing.SystemColors.GradientActiveCaption;
tabGradient4.TextColor = System.Drawing.SystemColors.ActiveCaptionText;
dockPaneStripToolWindowGradient1.ActiveCaptionGradient = tabGradient4;
tabGradient5.EndColor = System.Drawing.SystemColors.Control;
tabGradient5.StartColor = System.Drawing.SystemColors.Control;
tabGradient5.TextColor = System.Drawing.SystemColors.ControlText;
dockPaneStripToolWindowGradient1.ActiveTabGradient = tabGradient5;
dockPanelGradient3.EndColor = System.Drawing.SystemColors.ControlLight;
dockPanelGradient3.StartColor = System.Drawing.SystemColors.ControlLight;
dockPaneStripToolWindowGradient1.DockStripGradient = dockPanelGradient3;
tabGradient6.EndColor = System.Drawing.SystemColors.GradientInactiveCaption;
tabGradient6.LinearGradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
tabGradient6.StartColor = System.Drawing.SystemColors.GradientInactiveCaption;
tabGradient6.TextColor = System.Drawing.SystemColors.ControlText;
dockPaneStripToolWindowGradient1.InactiveCaptionGradient = tabGradient6;
tabGradient7.EndColor = System.Drawing.Color.Transparent;
tabGradient7.StartColor = System.Drawing.Color.Transparent;
tabGradient7.TextColor = System.Drawing.SystemColors.ControlDarkDark;
dockPaneStripToolWindowGradient1.InactiveTabGradient = tabGradient7;
dockPaneStripSkin1.ToolWindowGradient = dockPaneStripToolWindowGradient1;
dockPanelSkin1.DockPaneStripSkin = dockPaneStripSkin1;
this.dockPanel1.Skin = dockPanelSkin1;
this.dockPanel1.TabIndex = 3;
//
// Timer_CoilInfo
//
this.Timer_CoilInfo.Enabled = true;
this.Timer_CoilInfo.Interval = 10000;
this.Timer_CoilInfo.Tick += new System.EventHandler(this.Timer_CoilInfo_Tick);
//
// openFileDialog1
//
this.openFileDialog1.FileName = "openFileDialog1";
//
// toolStrip1
//
this.toolStrip1.AutoSize = false;
this.toolStrip1.BackColor = System.Drawing.Color.WhiteSmoke;
this.toolStrip1.Dock = System.Windows.Forms.DockStyle.Fill;
this.toolStrip1.GripMargin = new System.Windows.Forms.Padding(0);
this.toolStrip1.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden;
this.toolStrip1.ImageScalingSize = new System.Drawing.Size(50, 50);
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripLabel1,
this.toolStripSeparator1,
this.btnViewIn,
this.btstart,
this.btReviewExit,
this.toolStripSeparator2,
this.btPause,
this.btStop,
this.bthelp,
this.toolStripSeparator6,
this.btsearch,
this.toolStripSeparator5,
this.btSysSetting});
this.toolStrip1.Location = new System.Drawing.Point(0, 0);
this.toolStrip1.Name = "toolStrip1";
this.toolStrip1.Padding = new System.Windows.Forms.Padding(0);
this.toolStrip1.Size = new System.Drawing.Size(914, 51);
this.toolStrip1.TabIndex = 0;
this.toolStrip1.Text = "toolStrip1";
//
// toolStripLabel1
//
this.toolStripLabel1.AutoSize = false;
this.toolStripLabel1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.toolStripLabel1.Image = global::Host.Properties.Resources.VibrationTest1;
this.toolStripLabel1.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
this.toolStripLabel1.Margin = new System.Windows.Forms.Padding(0);
this.toolStripLabel1.Name = "toolStripLabel1";
this.toolStripLabel1.Size = new System.Drawing.Size(147, 48);
this.toolStripLabel1.Text = "单击 隐藏/显示 侧边栏";
this.toolStripLabel1.Click += new System.EventHandler(this.toolStripLabel1_Click);
//
// toolStripSeparator1
//
this.toolStripSeparator1.Name = "toolStripSeparator1";
this.toolStripSeparator1.Size = new System.Drawing.Size(6, 51);
//
// btnViewIn
//
this.btnViewIn.AutoSize = false;
this.btnViewIn.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.btnViewIn.Image = global::Host.Properties.Resources.Open_64;
this.btnViewIn.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btnViewIn.Name = "btnViewIn";
this.btnViewIn.Size = new System.Drawing.Size(51, 51);
this.btnViewIn.Text = "进入回放";
this.btnViewIn.Click += new System.EventHandler(this.btnViewIn_Click);
//
// btstart
//
this.btstart.AutoSize = false;
this.btstart.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.btstart.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btstart.Image = global::Host.Properties.Resources.Play_64;
this.btstart.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btstart.Name = "btstart";
this.btstart.Size = new System.Drawing.Size(51, 51);
this.btstart.Text = "开始";
this.btstart.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
this.btstart.Click += new System.EventHandler(this.start_Click);
//
// btReviewExit
//
this.btReviewExit.AutoSize = false;
this.btReviewExit.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.btReviewExit.Image = global::Host.Properties.Resources.Exit_64;
this.btReviewExit.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btReviewExit.Name = "btReviewExit";
this.btReviewExit.Size = new System.Drawing.Size(51, 51);
this.btReviewExit.Text = "退出回放";
this.btReviewExit.Visible = false;
this.btReviewExit.Click += new System.EventHandler(this.btnViewOut_Click);
//
// toolStripSeparator2
//
this.toolStripSeparator2.Name = "toolStripSeparator2";
this.toolStripSeparator2.Size = new System.Drawing.Size(6, 51);
//
// btPause
//
this.btPause.AutoSize = false;
this.btPause.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.btPause.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btPause.Image = global::Host.Properties.Resources.Pause_64;
this.btPause.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btPause.Name = "btPause";
this.btPause.Size = new System.Drawing.Size(51, 51);
this.btPause.Text = "暂停";
this.btPause.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
this.btPause.Click += new System.EventHandler(this.pause_Click);
//
// btStop
//
this.btStop.AutoSize = false;
this.btStop.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.btStop.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btStop.Image = global::Host.Properties.Resources.Stop_64;
this.btStop.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btStop.Name = "btStop";
this.btStop.Size = new System.Drawing.Size(51, 51);
this.btStop.Text = "停止";
this.btStop.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
this.btStop.Click += new System.EventHandler(this.stop_Click);
//
// bthelp
//
this.bthelp.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
this.bthelp.AutoSize = false;
this.bthelp.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.bthelp.Image = global::Host.Properties.Resources.Help_64;
this.bthelp.ImageTransparentColor = System.Drawing.Color.Magenta;
this.bthelp.Name = "bthelp";
this.bthelp.Size = new System.Drawing.Size(51, 51);
this.bthelp.Text = "帮助";
this.bthelp.Click += new System.EventHandler(this.bthelp_Click);
//
// toolStripSeparator6
//
this.toolStripSeparator6.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
this.toolStripSeparator6.Name = "toolStripSeparator6";
this.toolStripSeparator6.Size = new System.Drawing.Size(6, 51);
//
// btsearch
//
this.btsearch.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
this.btsearch.AutoSize = false;
this.btsearch.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.btsearch.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.btdataSearch,
this.btdatabase,
this.btrollInfo});
this.btsearch.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btsearch.Image = global::Host.Properties.Resources.search_64;
this.btsearch.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btsearch.Name = "btsearch";
this.btsearch.Size = new System.Drawing.Size(61, 51);
this.btsearch.Text = "数据中心";
this.btsearch.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
//
// btdataSearch
//
this.btdataSearch.Name = "btdataSearch";
this.btdataSearch.Size = new System.Drawing.Size(124, 22);
this.btdataSearch.Text = "数据查询";
this.btdataSearch.Click += new System.EventHandler(this.btdataSearch_Click);
//
// btdatabase
//
this.btdatabase.Name = "btdatabase";
this.btdatabase.Size = new System.Drawing.Size(124, 22);
this.btdatabase.Text = "L2通信";
this.btdatabase.Click += new System.EventHandler(this.btdatabase_Click);
//
// btrollInfo
//
this.btrollInfo.Name = "btrollInfo";
this.btrollInfo.Size = new System.Drawing.Size(124, 22);
this.btrollInfo.Text = "轧辊信息";
this.btrollInfo.Click += new System.EventHandler(this.btrollInfo_Click);
//
// toolStripSeparator5
//
this.toolStripSeparator5.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
this.toolStripSeparator5.Name = "toolStripSeparator5";
this.toolStripSeparator5.Size = new System.Drawing.Size(6, 51);
//
// btSysSetting
//
this.btSysSetting.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
this.btSysSetting.AutoSize = false;
this.btSysSetting.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.btSysSetting.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.btSetSensor,
this.btSetAlarm,
this.btSetSampling,
this.btSetStore,
this.btSetDisplay,
this.toolStripSeparator4,
this.btSetPassword});
this.btSysSetting.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btSysSetting.Image = global::Host.Properties.Resources.Settings_64;
this.btSysSetting.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btSysSetting.Name = "btSysSetting";
this.btSysSetting.Size = new System.Drawing.Size(61, 51);
this.btSysSetting.Text = "系统配置";
this.btSysSetting.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
this.btSysSetting.Click += new System.EventHandler(this.btSysSetting_Click);
//
// btSetSensor
//
this.btSetSensor.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btSetSensor.ForeColor = System.Drawing.Color.Black;
this.btSetSensor.Name = "btSetSensor";
this.btSetSensor.Size = new System.Drawing.Size(180, 22);
this.btSetSensor.Text = "传感器";
this.btSetSensor.Click += new System.EventHandler(this.setsensitivity_Click);
//
// btSetAlarm
//
this.btSetAlarm.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btSetAlarm.ForeColor = System.Drawing.Color.Black;
this.btSetAlarm.Name = "btSetAlarm";
this.btSetAlarm.Size = new System.Drawing.Size(180, 22);
this.btSetAlarm.Text = "报警";
this.btSetAlarm.Click += new System.EventHandler(this.setalarm_Click);
//
// btSetSampling
//
this.btSetSampling.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btSetSampling.ForeColor = System.Drawing.Color.Black;
this.btSetSampling.Name = "btSetSampling";
this.btSetSampling.Size = new System.Drawing.Size(180, 22);
this.btSetSampling.Text = "采样";
this.btSetSampling.Click += new System.EventHandler(this.btsetsample_Click);
//
// btSetStore
//
this.btSetStore.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btSetStore.ForeColor = System.Drawing.Color.Black;
this.btSetStore.Name = "btSetStore";
this.btSetStore.Size = new System.Drawing.Size(180, 22);
this.btSetStore.Text = "存储";
this.btSetStore.Click += new System.EventHandler(this.sysconfig_Click);
//
// btSetDisplay
//
this.btSetDisplay.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btSetDisplay.ForeColor = System.Drawing.Color.Black;
this.btSetDisplay.Name = "btSetDisplay";
this.btSetDisplay.Size = new System.Drawing.Size(180, 22);
this.btSetDisplay.Text = "显示";
this.btSetDisplay.Click += new System.EventHandler(this.setdisplay_Click);
//
// toolStripSeparator4
//
this.toolStripSeparator4.ForeColor = System.Drawing.Color.Black;
this.toolStripSeparator4.Name = "toolStripSeparator4";
this.toolStripSeparator4.Size = new System.Drawing.Size(177, 6);
//
// btSetPassword
//
this.btSetPassword.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btSetPassword.ForeColor = System.Drawing.Color.Black;
this.btSetPassword.Name = "btSetPassword";
this.btSetPassword.Size = new System.Drawing.Size(180, 22);
this.btSetPassword.Text = "密码";
this.btSetPassword.Click += new System.EventHandler(this.btsetpassword_Click);
//
// tableLayoutPanel1
//
this.tableLayoutPanel1.BackColor = System.Drawing.Color.White;
this.tableLayoutPanel1.ColumnCount = 1;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.Controls.Add(this.statusStrip1, 0, 2);
this.tableLayoutPanel1.Controls.Add(this.toolStrip1, 0, 0);
this.tableLayoutPanel1.Controls.Add(this.tableLayoutPanel2, 0, 1);
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0);
this.tableLayoutPanel1.Margin = new System.Windows.Forms.Padding(0);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 3;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 51F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 23F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(914, 718);
this.tableLayoutPanel1.TabIndex = 6;
//
// statusStrip1
//
this.statusStrip1.BackColor = System.Drawing.Color.RoyalBlue;
this.statusStrip1.Dock = System.Windows.Forms.DockStyle.Fill;
this.statusStrip1.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.statusStrip1.GripMargin = new System.Windows.Forms.Padding(0);
this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.connectStatusStrip,
this.filename_Strip,
this.cutLenSpeedStrip,
this.distance_Strip});
this.statusStrip1.Location = new System.Drawing.Point(0, 695);
this.statusStrip1.Name = "statusStrip1";
this.statusStrip1.Size = new System.Drawing.Size(914, 23);
this.statusStrip1.SizingGrip = false;
this.statusStrip1.TabIndex = 3;
this.statusStrip1.Text = "statusStrip1";
//
// connectStatusStrip
//
this.connectStatusStrip.ForeColor = System.Drawing.Color.White;
this.connectStatusStrip.Margin = new System.Windows.Forms.Padding(0);
this.connectStatusStrip.Name = "connectStatusStrip";
this.connectStatusStrip.Size = new System.Drawing.Size(0, 0);
this.connectStatusStrip.Spring = true;
this.connectStatusStrip.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// filename_Strip
//
this.filename_Strip.ForeColor = System.Drawing.Color.White;
this.filename_Strip.Margin = new System.Windows.Forms.Padding(0);
this.filename_Strip.Name = "filename_Strip";
this.filename_Strip.Size = new System.Drawing.Size(0, 0);
this.filename_Strip.Spring = true;
this.filename_Strip.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.filename_Strip.Visible = false;
//
// cutLenSpeedStrip
//
this.cutLenSpeedStrip.ForeColor = System.Drawing.Color.White;
this.cutLenSpeedStrip.Margin = new System.Windows.Forms.Padding(0);
this.cutLenSpeedStrip.Name = "cutLenSpeedStrip";
this.cutLenSpeedStrip.Size = new System.Drawing.Size(0, 0);
this.cutLenSpeedStrip.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// distance_Strip
//
this.distance_Strip.ForeColor = System.Drawing.Color.White;
this.distance_Strip.Margin = new System.Windows.Forms.Padding(0);
this.distance_Strip.Name = "distance_Strip";
this.distance_Strip.Size = new System.Drawing.Size(0, 0);
this.distance_Strip.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// backgroundWorker
//
this.backgroundWorker.WorkerReportsProgress = true;
this.backgroundWorker.WorkerSupportsCancellation = true;
this.backgroundWorker.DoWork += new System.ComponentModel.DoWorkEventHandler(this.backgroundWorker_DoWork);
this.backgroundWorker.ProgressChanged += new System.ComponentModel.ProgressChangedEventHandler(this.backgroundWorker_ProgressChanged);
//
// timer_delFile
//
this.timer_delFile.Enabled = true;
this.timer_delFile.Interval = 3600000;
this.timer_delFile.Tick += new System.EventHandler(this.timer_delFile_Tick);
//
// timer_RollInfo
//
this.timer_RollInfo.Enabled = true;
this.timer_RollInfo.Interval = 30000;
this.timer_RollInfo.Tick += new System.EventHandler(this.timer_RollInfo_Tick);
//
// IServerMainForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 20F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(914, 718);
this.Controls.Add(this.tableLayoutPanel1);
this.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.MinimumSize = new System.Drawing.Size(930, 700);
this.Name = "IServerMainForm";
this.ShowIcon = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = " ";
this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.IServerMainForm_FormClosing);
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.IServerMainForm_FormClosed);
this.Load += new System.EventHandler(this.MainForm_Load);
this.tableLayoutPanel2.ResumeLayout(false);
this.tableLayoutPanel2.PerformLayout();
this.tableLayoutPanel3.ResumeLayout(false);
this.toolStrip1.ResumeLayout(false);
this.toolStrip1.PerformLayout();
this.tableLayoutPanel1.ResumeLayout(false);
this.tableLayoutPanel1.PerformLayout();
this.statusStrip1.ResumeLayout(false);
this.statusStrip1.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Timer Timer_Graph;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2;
private WeifenLuo.WinFormsUI.Docking.DockPanel dockPanel1;
private System.Windows.Forms.Timer Timer_CoilInfo;
private System.Windows.Forms.OpenFileDialog openFileDialog1;
private System.Windows.Forms.ToolStrip toolStrip1;
private System.Windows.Forms.ToolStripDropDownButton btSysSetting;
private System.Windows.Forms.ToolStripMenuItem btSetSensor;
private System.Windows.Forms.ToolStripMenuItem btSetAlarm;
private System.Windows.Forms.ToolStripMenuItem btSetSampling;
private System.Windows.Forms.ToolStripMenuItem btSetStore;
private System.Windows.Forms.ToolStripMenuItem btSetDisplay;
private System.Windows.Forms.ToolStripMenuItem btSetPassword;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator4;
private System.Windows.Forms.ToolStripButton btstart;
private System.Windows.Forms.ToolStripButton btStop;
private System.Windows.Forms.ToolStripButton btPause;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator5;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
private System.Windows.Forms.ToolStripButton bthelp;
private System.Windows.Forms.ToolStripButton btnViewIn;
private System.Windows.Forms.ToolStripButton btReviewExit;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator6;
private System.Windows.Forms.ToolStripDropDownButton btsearch;
private System.Windows.Forms.ToolStripMenuItem btrollInfo;
private System.Windows.Forms.ToolStripMenuItem btdataSearch;
private System.Windows.Forms.ToolStripMenuItem btdatabase;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
private System.Windows.Forms.ToolStripLabel toolStripLabel1;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel3;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Panel panel3;
private System.Windows.Forms.Panel panel2;
private System.Windows.Forms.Panel panel4;
private System.Windows.Forms.StatusStrip statusStrip1;
private System.Windows.Forms.ToolStripStatusLabel filename_Strip;
private System.Windows.Forms.ToolStripStatusLabel cutLenSpeedStrip;
private System.Windows.Forms.ToolStripStatusLabel distance_Strip;
private System.Windows.Forms.ToolStripStatusLabel connectStatusStrip;
private System.ComponentModel.BackgroundWorker backgroundWorker;
private System.Windows.Forms.Timer timer_delFile;
private System.Windows.Forms.Timer timer_RollInfo;
private System.ComponentModel.BackgroundWorker backgroundWorker_fileRead;
}
}

4665
Host/IServerMainForm.resx Normal file

File diff suppressed because it is too large Load Diff

106
Host/MessageShowForm.Designer.cs generated Normal file
View File

@ -0,0 +1,106 @@
namespace CRVM
{
partial class MessageShowForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.panel1 = new System.Windows.Forms.Panel();
this.btn_OK = new System.Windows.Forms.Button();
this.label_title = new System.Windows.Forms.Label();
this.richTextBox_msg = new System.Windows.Forms.RichTextBox();
this.panel1.SuspendLayout();
this.SuspendLayout();
//
// panel1
//
this.panel1.Controls.Add(this.btn_OK);
this.panel1.Controls.Add(this.label_title);
this.panel1.Controls.Add(this.richTextBox_msg);
this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel1.Location = new System.Drawing.Point(0, 0);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(384, 262);
this.panel1.TabIndex = 0;
//
// btn_OK
//
this.btn_OK.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btn_OK.Font = new System.Drawing.Font("微软雅黑", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.btn_OK.Location = new System.Drawing.Point(152, 218);
this.btn_OK.Name = "btn_OK";
this.btn_OK.Size = new System.Drawing.Size(80, 32);
this.btn_OK.TabIndex = 3;
this.btn_OK.Text = "确定";
this.btn_OK.UseVisualStyleBackColor = true;
this.btn_OK.Click += new System.EventHandler(this.btn_OK_Click);
//
// label_title
//
this.label_title.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label_title.Location = new System.Drawing.Point(146, 9);
this.label_title.Name = "label_title";
this.label_title.Size = new System.Drawing.Size(100, 29);
this.label_title.TabIndex = 1;
this.label_title.Text = "label1";
this.label_title.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// richTextBox_msg
//
this.richTextBox_msg.Font = new System.Drawing.Font("微软雅黑", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.richTextBox_msg.Location = new System.Drawing.Point(12, 51);
this.richTextBox_msg.Name = "richTextBox_msg";
this.richTextBox_msg.ReadOnly = true;
this.richTextBox_msg.Size = new System.Drawing.Size(360, 146);
this.richTextBox_msg.TabIndex = 0;
this.richTextBox_msg.Text = "";
//
// MessageShowForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(384, 262);
this.Controls.Add(this.panel1);
this.MaximizeBox = false;
this.MaximumSize = new System.Drawing.Size(400, 300);
this.MinimizeBox = false;
this.MinimumSize = new System.Drawing.Size(400, 300);
this.Name = "MessageShowForm";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Load += new System.EventHandler(this.MessageShowForm_Load);
this.panel1.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.RichTextBox richTextBox_msg;
private System.Windows.Forms.Label label_title;
private System.Windows.Forms.Button btn_OK;
}
}

53
Host/MessageShowForm.cs Normal file
View File

@ -0,0 +1,53 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace CRVM
{
public partial class MessageShowForm : Form
{
string title = "";
string msg = "";
public MessageShowForm()
{
InitializeComponent();
}
public MessageShowForm(string title,string msg)
{
this.title = title;
this.msg = msg;
InitializeComponent();
}
private void btn_OK_Click(object sender, EventArgs e)
{
this.Close();
}
private void btn_Close_Click(object sender, EventArgs e)
{
this.Close();
}
private void MessageShowForm_Load(object sender, EventArgs e)
{
Initial();
}
private void Initial()
{
if (title == "警告")
{
label_title.BackColor = System.Drawing.Color.Red;
}
label_title.Text = title;
richTextBox_msg.Text = msg;
}
}
}

120
Host/MessageShowForm.resx Normal file
View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

894
Host/OnlineRollForm.Designer.cs generated Normal file
View File

@ -0,0 +1,894 @@
namespace CRVM
{
partial class OnlineRollForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.panel2 = new System.Windows.Forms.Panel();
this.label_alarm = new System.Windows.Forms.Label();
this.label_title = new System.Windows.Forms.Label();
this.label10 = new System.Windows.Forms.Label();
this.label9 = new System.Windows.Forms.Label();
this.label8 = new System.Windows.Forms.Label();
this.label7 = new System.Windows.Forms.Label();
this.label6 = new System.Windows.Forms.Label();
this.dia_29 = new System.Windows.Forms.TextBox();
this.dia_27 = new System.Windows.Forms.TextBox();
this.dia_25 = new System.Windows.Forms.TextBox();
this.dia_24 = new System.Windows.Forms.TextBox();
this.dia_26 = new System.Windows.Forms.TextBox();
this.dia_28 = new System.Windows.Forms.TextBox();
this.dia_23 = new System.Windows.Forms.TextBox();
this.dia_21 = new System.Windows.Forms.TextBox();
this.dia_19 = new System.Windows.Forms.TextBox();
this.dia_18 = new System.Windows.Forms.TextBox();
this.dia_20 = new System.Windows.Forms.TextBox();
this.dia_22 = new System.Windows.Forms.TextBox();
this.dia_17 = new System.Windows.Forms.TextBox();
this.dia_15 = new System.Windows.Forms.TextBox();
this.dia_13 = new System.Windows.Forms.TextBox();
this.dia_12 = new System.Windows.Forms.TextBox();
this.dia_14 = new System.Windows.Forms.TextBox();
this.dia_16 = new System.Windows.Forms.TextBox();
this.dia_11 = new System.Windows.Forms.TextBox();
this.dia_9 = new System.Windows.Forms.TextBox();
this.dia_7 = new System.Windows.Forms.TextBox();
this.dia_6 = new System.Windows.Forms.TextBox();
this.dia_8 = new System.Windows.Forms.TextBox();
this.dia_10 = new System.Windows.Forms.TextBox();
this.dia_5 = new System.Windows.Forms.TextBox();
this.dia_3 = new System.Windows.Forms.TextBox();
this.dia_1 = new System.Windows.Forms.TextBox();
this.dia_0 = new System.Windows.Forms.TextBox();
this.dia_2 = new System.Windows.Forms.TextBox();
this.dia_4 = new System.Windows.Forms.TextBox();
this.label5 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.label1 = new System.Windows.Forms.Label();
this.stand5 = new Baosight.ColdRolling.TcmControls.Stand();
this.stand4 = new Baosight.ColdRolling.TcmControls.Stand();
this.stand3 = new Baosight.ColdRolling.TcmControls.Stand();
this.stand2 = new Baosight.ColdRolling.TcmControls.Stand();
this.stand1 = new Baosight.ColdRolling.TcmControls.Stand();
this.backgroundWorker = new System.ComponentModel.BackgroundWorker();
this.label11 = new System.Windows.Forms.Label();
this.dia_35 = new System.Windows.Forms.TextBox();
this.dia_33 = new System.Windows.Forms.TextBox();
this.dia_31 = new System.Windows.Forms.TextBox();
this.dia_30 = new System.Windows.Forms.TextBox();
this.dia_32 = new System.Windows.Forms.TextBox();
this.dia_34 = new System.Windows.Forms.TextBox();
this.label12 = new System.Windows.Forms.Label();
this.stand6 = new Baosight.ColdRolling.TcmControls.Stand();
this.tableLayoutPanel1.SuspendLayout();
this.panel2.SuspendLayout();
this.SuspendLayout();
//
// tableLayoutPanel1
//
this.tableLayoutPanel1.ColumnCount = 1;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.Controls.Add(this.panel2, 0, 0);
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 1;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 18F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(1216, 518);
this.tableLayoutPanel1.TabIndex = 0;
//
// panel2
//
this.panel2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.panel2.Controls.Add(this.label11);
this.panel2.Controls.Add(this.dia_35);
this.panel2.Controls.Add(this.dia_33);
this.panel2.Controls.Add(this.dia_31);
this.panel2.Controls.Add(this.dia_30);
this.panel2.Controls.Add(this.dia_32);
this.panel2.Controls.Add(this.dia_34);
this.panel2.Controls.Add(this.label12);
this.panel2.Controls.Add(this.stand6);
this.panel2.Controls.Add(this.label_alarm);
this.panel2.Controls.Add(this.label_title);
this.panel2.Controls.Add(this.label10);
this.panel2.Controls.Add(this.label9);
this.panel2.Controls.Add(this.label8);
this.panel2.Controls.Add(this.label7);
this.panel2.Controls.Add(this.label6);
this.panel2.Controls.Add(this.dia_29);
this.panel2.Controls.Add(this.dia_27);
this.panel2.Controls.Add(this.dia_25);
this.panel2.Controls.Add(this.dia_24);
this.panel2.Controls.Add(this.dia_26);
this.panel2.Controls.Add(this.dia_28);
this.panel2.Controls.Add(this.dia_23);
this.panel2.Controls.Add(this.dia_21);
this.panel2.Controls.Add(this.dia_19);
this.panel2.Controls.Add(this.dia_18);
this.panel2.Controls.Add(this.dia_20);
this.panel2.Controls.Add(this.dia_22);
this.panel2.Controls.Add(this.dia_17);
this.panel2.Controls.Add(this.dia_15);
this.panel2.Controls.Add(this.dia_13);
this.panel2.Controls.Add(this.dia_12);
this.panel2.Controls.Add(this.dia_14);
this.panel2.Controls.Add(this.dia_16);
this.panel2.Controls.Add(this.dia_11);
this.panel2.Controls.Add(this.dia_9);
this.panel2.Controls.Add(this.dia_7);
this.panel2.Controls.Add(this.dia_6);
this.panel2.Controls.Add(this.dia_8);
this.panel2.Controls.Add(this.dia_10);
this.panel2.Controls.Add(this.dia_5);
this.panel2.Controls.Add(this.dia_3);
this.panel2.Controls.Add(this.dia_1);
this.panel2.Controls.Add(this.dia_0);
this.panel2.Controls.Add(this.dia_2);
this.panel2.Controls.Add(this.dia_4);
this.panel2.Controls.Add(this.label5);
this.panel2.Controls.Add(this.label4);
this.panel2.Controls.Add(this.label3);
this.panel2.Controls.Add(this.label2);
this.panel2.Controls.Add(this.label1);
this.panel2.Controls.Add(this.stand5);
this.panel2.Controls.Add(this.stand4);
this.panel2.Controls.Add(this.stand3);
this.panel2.Controls.Add(this.stand2);
this.panel2.Controls.Add(this.stand1);
this.panel2.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel2.Location = new System.Drawing.Point(3, 3);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(1210, 512);
this.panel2.TabIndex = 1;
//
// label_alarm
//
this.label_alarm.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label_alarm.ForeColor = System.Drawing.Color.Red;
this.label_alarm.Location = new System.Drawing.Point(474, 68);
this.label_alarm.Name = "label_alarm";
this.label_alarm.Size = new System.Drawing.Size(228, 23);
this.label_alarm.TabIndex = 46;
this.label_alarm.Text = "无法获取L2在线轧辊数据";
this.label_alarm.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.label_alarm.Visible = false;
//
// label_title
//
this.label_title.Font = new System.Drawing.Font("微软雅黑", 24F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label_title.Location = new System.Drawing.Point(378, 5);
this.label_title.Name = "label_title";
this.label_title.Size = new System.Drawing.Size(419, 63);
this.label_title.TabIndex = 45;
this.label_title.Text = "在线轧辊画面";
this.label_title.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label10
//
this.label10.Font = new System.Drawing.Font("Consolas", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label10.Location = new System.Drawing.Point(841, 111);
this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(35, 14);
this.label10.TabIndex = 44;
this.label10.Text = "辊径 ";
//
// label9
//
this.label9.Font = new System.Drawing.Font("Consolas", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label9.Location = new System.Drawing.Point(659, 111);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(35, 14);
this.label9.TabIndex = 43;
this.label9.Text = "辊径 ";
//
// label8
//
this.label8.Font = new System.Drawing.Font("Consolas", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label8.Location = new System.Drawing.Point(470, 111);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(35, 14);
this.label8.TabIndex = 42;
this.label8.Text = "辊径 ";
//
// label7
//
this.label7.Font = new System.Drawing.Font("Consolas", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label7.Location = new System.Drawing.Point(285, 111);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(35, 14);
this.label7.TabIndex = 41;
this.label7.Text = "辊径 ";
//
// label6
//
this.label6.Font = new System.Drawing.Font("Consolas", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label6.Location = new System.Drawing.Point(96, 111);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(35, 14);
this.label6.TabIndex = 40;
this.label6.Text = "辊径 ";
//
// dia_29
//
this.dia_29.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_29.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_29.Location = new System.Drawing.Point(803, 357);
this.dia_29.Name = "dia_29";
this.dia_29.ReadOnly = true;
this.dia_29.Size = new System.Drawing.Size(103, 23);
this.dia_29.TabIndex = 39;
this.dia_29.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_27
//
this.dia_27.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_27.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_27.Location = new System.Drawing.Point(803, 304);
this.dia_27.Name = "dia_27";
this.dia_27.ReadOnly = true;
this.dia_27.Size = new System.Drawing.Size(103, 23);
this.dia_27.TabIndex = 38;
this.dia_27.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_25
//
this.dia_25.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_25.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_25.Location = new System.Drawing.Point(803, 269);
this.dia_25.Name = "dia_25";
this.dia_25.ReadOnly = true;
this.dia_25.Size = new System.Drawing.Size(103, 23);
this.dia_25.TabIndex = 37;
this.dia_25.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_24
//
this.dia_24.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_24.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_24.Location = new System.Drawing.Point(803, 242);
this.dia_24.Name = "dia_24";
this.dia_24.ReadOnly = true;
this.dia_24.Size = new System.Drawing.Size(103, 23);
this.dia_24.TabIndex = 36;
this.dia_24.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_26
//
this.dia_26.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_26.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_26.Location = new System.Drawing.Point(803, 200);
this.dia_26.Name = "dia_26";
this.dia_26.ReadOnly = true;
this.dia_26.Size = new System.Drawing.Size(103, 23);
this.dia_26.TabIndex = 35;
this.dia_26.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_28
//
this.dia_28.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_28.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_28.Location = new System.Drawing.Point(803, 153);
this.dia_28.Name = "dia_28";
this.dia_28.ReadOnly = true;
this.dia_28.Size = new System.Drawing.Size(103, 23);
this.dia_28.TabIndex = 34;
this.dia_28.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_23
//
this.dia_23.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_23.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_23.Location = new System.Drawing.Point(624, 357);
this.dia_23.Name = "dia_23";
this.dia_23.ReadOnly = true;
this.dia_23.Size = new System.Drawing.Size(103, 23);
this.dia_23.TabIndex = 33;
this.dia_23.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_21
//
this.dia_21.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_21.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_21.Location = new System.Drawing.Point(624, 304);
this.dia_21.Name = "dia_21";
this.dia_21.ReadOnly = true;
this.dia_21.Size = new System.Drawing.Size(103, 23);
this.dia_21.TabIndex = 32;
this.dia_21.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_19
//
this.dia_19.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_19.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_19.Location = new System.Drawing.Point(624, 269);
this.dia_19.Name = "dia_19";
this.dia_19.ReadOnly = true;
this.dia_19.Size = new System.Drawing.Size(103, 23);
this.dia_19.TabIndex = 31;
this.dia_19.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_18
//
this.dia_18.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_18.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_18.Location = new System.Drawing.Point(624, 242);
this.dia_18.Name = "dia_18";
this.dia_18.ReadOnly = true;
this.dia_18.Size = new System.Drawing.Size(103, 23);
this.dia_18.TabIndex = 30;
this.dia_18.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_20
//
this.dia_20.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_20.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_20.Location = new System.Drawing.Point(624, 200);
this.dia_20.Name = "dia_20";
this.dia_20.ReadOnly = true;
this.dia_20.Size = new System.Drawing.Size(103, 23);
this.dia_20.TabIndex = 29;
this.dia_20.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_22
//
this.dia_22.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_22.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_22.Location = new System.Drawing.Point(624, 153);
this.dia_22.Name = "dia_22";
this.dia_22.ReadOnly = true;
this.dia_22.Size = new System.Drawing.Size(103, 23);
this.dia_22.TabIndex = 28;
this.dia_22.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_17
//
this.dia_17.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_17.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_17.Location = new System.Drawing.Point(439, 357);
this.dia_17.Name = "dia_17";
this.dia_17.ReadOnly = true;
this.dia_17.Size = new System.Drawing.Size(103, 23);
this.dia_17.TabIndex = 27;
this.dia_17.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_15
//
this.dia_15.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_15.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_15.Location = new System.Drawing.Point(439, 304);
this.dia_15.Name = "dia_15";
this.dia_15.ReadOnly = true;
this.dia_15.Size = new System.Drawing.Size(103, 23);
this.dia_15.TabIndex = 26;
this.dia_15.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_13
//
this.dia_13.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_13.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_13.Location = new System.Drawing.Point(439, 269);
this.dia_13.Name = "dia_13";
this.dia_13.ReadOnly = true;
this.dia_13.Size = new System.Drawing.Size(103, 23);
this.dia_13.TabIndex = 25;
this.dia_13.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_12
//
this.dia_12.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_12.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_12.Location = new System.Drawing.Point(439, 242);
this.dia_12.Name = "dia_12";
this.dia_12.ReadOnly = true;
this.dia_12.Size = new System.Drawing.Size(103, 23);
this.dia_12.TabIndex = 24;
this.dia_12.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_14
//
this.dia_14.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_14.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_14.Location = new System.Drawing.Point(439, 200);
this.dia_14.Name = "dia_14";
this.dia_14.ReadOnly = true;
this.dia_14.Size = new System.Drawing.Size(103, 23);
this.dia_14.TabIndex = 23;
this.dia_14.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_16
//
this.dia_16.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_16.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_16.Location = new System.Drawing.Point(439, 153);
this.dia_16.Name = "dia_16";
this.dia_16.ReadOnly = true;
this.dia_16.Size = new System.Drawing.Size(103, 23);
this.dia_16.TabIndex = 22;
this.dia_16.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_11
//
this.dia_11.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_11.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_11.Location = new System.Drawing.Point(245, 357);
this.dia_11.Name = "dia_11";
this.dia_11.ReadOnly = true;
this.dia_11.Size = new System.Drawing.Size(103, 23);
this.dia_11.TabIndex = 21;
this.dia_11.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_9
//
this.dia_9.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_9.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_9.Location = new System.Drawing.Point(245, 304);
this.dia_9.Name = "dia_9";
this.dia_9.ReadOnly = true;
this.dia_9.Size = new System.Drawing.Size(103, 23);
this.dia_9.TabIndex = 20;
this.dia_9.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_7
//
this.dia_7.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_7.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_7.Location = new System.Drawing.Point(245, 269);
this.dia_7.Name = "dia_7";
this.dia_7.ReadOnly = true;
this.dia_7.Size = new System.Drawing.Size(103, 23);
this.dia_7.TabIndex = 19;
this.dia_7.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_6
//
this.dia_6.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_6.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_6.Location = new System.Drawing.Point(245, 242);
this.dia_6.Name = "dia_6";
this.dia_6.ReadOnly = true;
this.dia_6.Size = new System.Drawing.Size(103, 23);
this.dia_6.TabIndex = 18;
this.dia_6.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_8
//
this.dia_8.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_8.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_8.Location = new System.Drawing.Point(245, 200);
this.dia_8.Name = "dia_8";
this.dia_8.ReadOnly = true;
this.dia_8.Size = new System.Drawing.Size(103, 23);
this.dia_8.TabIndex = 17;
this.dia_8.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_10
//
this.dia_10.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_10.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_10.Location = new System.Drawing.Point(245, 153);
this.dia_10.Name = "dia_10";
this.dia_10.ReadOnly = true;
this.dia_10.Size = new System.Drawing.Size(103, 23);
this.dia_10.TabIndex = 16;
this.dia_10.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_5
//
this.dia_5.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_5.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_5.Location = new System.Drawing.Point(59, 357);
this.dia_5.Name = "dia_5";
this.dia_5.ReadOnly = true;
this.dia_5.Size = new System.Drawing.Size(103, 23);
this.dia_5.TabIndex = 15;
this.dia_5.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_3
//
this.dia_3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_3.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_3.Location = new System.Drawing.Point(59, 304);
this.dia_3.Name = "dia_3";
this.dia_3.ReadOnly = true;
this.dia_3.Size = new System.Drawing.Size(103, 23);
this.dia_3.TabIndex = 14;
this.dia_3.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_1
//
this.dia_1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_1.Location = new System.Drawing.Point(59, 269);
this.dia_1.Name = "dia_1";
this.dia_1.ReadOnly = true;
this.dia_1.Size = new System.Drawing.Size(103, 23);
this.dia_1.TabIndex = 13;
this.dia_1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_0
//
this.dia_0.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_0.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_0.Location = new System.Drawing.Point(59, 242);
this.dia_0.Name = "dia_0";
this.dia_0.ReadOnly = true;
this.dia_0.Size = new System.Drawing.Size(103, 23);
this.dia_0.TabIndex = 12;
this.dia_0.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_2
//
this.dia_2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_2.Location = new System.Drawing.Point(59, 200);
this.dia_2.Name = "dia_2";
this.dia_2.ReadOnly = true;
this.dia_2.Size = new System.Drawing.Size(103, 23);
this.dia_2.TabIndex = 11;
this.dia_2.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_4
//
this.dia_4.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_4.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_4.Location = new System.Drawing.Point(59, 153);
this.dia_4.Name = "dia_4";
this.dia_4.ReadOnly = true;
this.dia_4.Size = new System.Drawing.Size(103, 23);
this.dia_4.TabIndex = 10;
this.dia_4.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// label5
//
this.label5.AutoSize = true;
this.label5.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label5.Location = new System.Drawing.Point(911, 425);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(61, 25);
this.label5.TabIndex = 9;
this.label5.Text = "5机架";
//
// label4
//
this.label4.AutoSize = true;
this.label4.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label4.Location = new System.Drawing.Point(736, 425);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(61, 25);
this.label4.TabIndex = 8;
this.label4.Text = "4机架";
//
// label3
//
this.label3.AutoSize = true;
this.label3.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label3.Location = new System.Drawing.Point(550, 425);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(61, 25);
this.label3.TabIndex = 7;
this.label3.Text = "3机架";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label2.Location = new System.Drawing.Point(354, 425);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(61, 25);
this.label2.TabIndex = 6;
this.label2.Text = "2机架";
//
// label1
//
this.label1.AutoSize = true;
this.label1.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label1.Location = new System.Drawing.Point(168, 425);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(61, 25);
this.label1.TabIndex = 5;
this.label1.Text = "1机架";
//
// stand5
//
this.stand5.AutoSetRollCount = false;
this.stand5.BoderColor = System.Drawing.Color.Black;
this.stand5.Cir1Precent = 45;
this.stand5.Cir2Precent = 35;
this.stand5.Cir3Precent = 20;
this.stand5.Cor1 = System.Drawing.Color.Black;
this.stand5.Cor2 = System.Drawing.Color.Blue;
this.stand5.Count = 3;
this.stand5.Location = new System.Drawing.Point(912, 134);
this.stand5.Name = "stand5";
this.stand5.Rheight = 5;
this.stand5.Size = new System.Drawing.Size(68, 260);
this.stand5.TabIndex = 4;
this.stand5.Thickness = 1;
//
// stand4
//
this.stand4.AutoSetRollCount = false;
this.stand4.BoderColor = System.Drawing.Color.Black;
this.stand4.Cir1Precent = 45;
this.stand4.Cir2Precent = 35;
this.stand4.Cir3Precent = 20;
this.stand4.Cor1 = System.Drawing.Color.Black;
this.stand4.Cor2 = System.Drawing.Color.Blue;
this.stand4.Count = 3;
this.stand4.Location = new System.Drawing.Point(733, 134);
this.stand4.Name = "stand4";
this.stand4.Rheight = 5;
this.stand4.Size = new System.Drawing.Size(64, 260);
this.stand4.TabIndex = 3;
this.stand4.Thickness = 1;
//
// stand3
//
this.stand3.AutoSetRollCount = false;
this.stand3.BoderColor = System.Drawing.Color.Black;
this.stand3.Cir1Precent = 45;
this.stand3.Cir2Precent = 35;
this.stand3.Cir3Precent = 20;
this.stand3.Cor1 = System.Drawing.Color.Black;
this.stand3.Cor2 = System.Drawing.Color.Blue;
this.stand3.Count = 3;
this.stand3.Location = new System.Drawing.Point(548, 134);
this.stand3.Name = "stand3";
this.stand3.Rheight = 5;
this.stand3.Size = new System.Drawing.Size(65, 260);
this.stand3.TabIndex = 2;
this.stand3.Thickness = 1;
//
// stand2
//
this.stand2.AutoSetRollCount = false;
this.stand2.BoderColor = System.Drawing.Color.Black;
this.stand2.Cir1Precent = 45;
this.stand2.Cir2Precent = 35;
this.stand2.Cir3Precent = 20;
this.stand2.Cor1 = System.Drawing.Color.Black;
this.stand2.Cor2 = System.Drawing.Color.Blue;
this.stand2.Count = 3;
this.stand2.Location = new System.Drawing.Point(356, 134);
this.stand2.Name = "stand2";
this.stand2.Rheight = 5;
this.stand2.Size = new System.Drawing.Size(66, 260);
this.stand2.TabIndex = 1;
this.stand2.Thickness = 1;
//
// stand1
//
this.stand1.AutoSetRollCount = false;
this.stand1.BoderColor = System.Drawing.Color.Black;
this.stand1.Cir1Precent = 45;
this.stand1.Cir2Precent = 35;
this.stand1.Cir3Precent = 20;
this.stand1.Cor1 = System.Drawing.Color.Black;
this.stand1.Cor2 = System.Drawing.Color.Blue;
this.stand1.Count = 3;
this.stand1.Location = new System.Drawing.Point(170, 134);
this.stand1.Name = "stand1";
this.stand1.Rheight = 5;
this.stand1.Size = new System.Drawing.Size(69, 260);
this.stand1.TabIndex = 0;
this.stand1.Thickness = 1;
//
// backgroundWorker
//
this.backgroundWorker.WorkerReportsProgress = true;
this.backgroundWorker.WorkerSupportsCancellation = true;
//
// label11
//
this.label11.Font = new System.Drawing.Font("Consolas", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label11.Location = new System.Drawing.Point(1024, 111);
this.label11.Name = "label11";
this.label11.Size = new System.Drawing.Size(35, 14);
this.label11.TabIndex = 55;
this.label11.Text = "辊径 ";
//
// dia_35
//
this.dia_35.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_35.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_35.Location = new System.Drawing.Point(986, 357);
this.dia_35.Name = "dia_35";
this.dia_35.ReadOnly = true;
this.dia_35.Size = new System.Drawing.Size(103, 23);
this.dia_35.TabIndex = 54;
this.dia_35.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_33
//
this.dia_33.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_33.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_33.Location = new System.Drawing.Point(986, 304);
this.dia_33.Name = "dia_33";
this.dia_33.ReadOnly = true;
this.dia_33.Size = new System.Drawing.Size(103, 23);
this.dia_33.TabIndex = 53;
this.dia_33.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_31
//
this.dia_31.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_31.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_31.Location = new System.Drawing.Point(986, 269);
this.dia_31.Name = "dia_31";
this.dia_31.ReadOnly = true;
this.dia_31.Size = new System.Drawing.Size(103, 23);
this.dia_31.TabIndex = 52;
this.dia_31.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_30
//
this.dia_30.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_30.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_30.Location = new System.Drawing.Point(986, 242);
this.dia_30.Name = "dia_30";
this.dia_30.ReadOnly = true;
this.dia_30.Size = new System.Drawing.Size(103, 23);
this.dia_30.TabIndex = 51;
this.dia_30.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_32
//
this.dia_32.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_32.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_32.Location = new System.Drawing.Point(986, 200);
this.dia_32.Name = "dia_32";
this.dia_32.ReadOnly = true;
this.dia_32.Size = new System.Drawing.Size(103, 23);
this.dia_32.TabIndex = 50;
this.dia_32.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_34
//
this.dia_34.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_34.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_34.Location = new System.Drawing.Point(986, 153);
this.dia_34.Name = "dia_34";
this.dia_34.ReadOnly = true;
this.dia_34.Size = new System.Drawing.Size(103, 23);
this.dia_34.TabIndex = 49;
this.dia_34.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// label12
//
this.label12.AutoSize = true;
this.label12.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label12.Location = new System.Drawing.Point(1094, 425);
this.label12.Name = "label12";
this.label12.Size = new System.Drawing.Size(61, 25);
this.label12.TabIndex = 48;
this.label12.Text = "6机架";
//
// stand6
//
this.stand6.AutoSetRollCount = false;
this.stand6.BoderColor = System.Drawing.Color.Black;
this.stand6.Cir1Precent = 45;
this.stand6.Cir2Precent = 35;
this.stand6.Cir3Precent = 20;
this.stand6.Cor1 = System.Drawing.Color.Black;
this.stand6.Cor2 = System.Drawing.Color.Blue;
this.stand6.Count = 3;
this.stand6.Location = new System.Drawing.Point(1095, 134);
this.stand6.Name = "stand6";
this.stand6.Rheight = 5;
this.stand6.Size = new System.Drawing.Size(68, 260);
this.stand6.TabIndex = 47;
this.stand6.Thickness = 1;
//
// OnlineRollForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1216, 518);
this.Controls.Add(this.tableLayoutPanel1);
this.MaximizeBox = false;
this.MaximumSize = new System.Drawing.Size(1299, 557);
this.MinimizeBox = false;
this.MinimumSize = new System.Drawing.Size(1099, 557);
this.Name = "OnlineRollForm";
this.ShowIcon = false;
this.Load += new System.EventHandler(this.RollInfo_Load);
this.tableLayoutPanel1.ResumeLayout(false);
this.panel2.ResumeLayout(false);
this.panel2.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
private System.Windows.Forms.Panel panel2;
private Baosight.ColdRolling.TcmControls.Stand stand1;
private Baosight.ColdRolling.TcmControls.Stand stand5;
private Baosight.ColdRolling.TcmControls.Stand stand4;
private Baosight.ColdRolling.TcmControls.Stand stand3;
private Baosight.ColdRolling.TcmControls.Stand stand2;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.TextBox dia_4;
private System.Windows.Forms.TextBox dia_5;
private System.Windows.Forms.TextBox dia_3;
private System.Windows.Forms.TextBox dia_1;
private System.Windows.Forms.TextBox dia_0;
private System.Windows.Forms.TextBox dia_2;
private System.Windows.Forms.TextBox dia_29;
private System.Windows.Forms.TextBox dia_27;
private System.Windows.Forms.TextBox dia_25;
private System.Windows.Forms.TextBox dia_24;
private System.Windows.Forms.TextBox dia_26;
private System.Windows.Forms.TextBox dia_28;
private System.Windows.Forms.TextBox dia_23;
private System.Windows.Forms.TextBox dia_21;
private System.Windows.Forms.TextBox dia_19;
private System.Windows.Forms.TextBox dia_18;
private System.Windows.Forms.TextBox dia_20;
private System.Windows.Forms.TextBox dia_22;
private System.Windows.Forms.TextBox dia_17;
private System.Windows.Forms.TextBox dia_15;
private System.Windows.Forms.TextBox dia_13;
private System.Windows.Forms.TextBox dia_12;
private System.Windows.Forms.TextBox dia_14;
private System.Windows.Forms.TextBox dia_16;
private System.Windows.Forms.TextBox dia_11;
private System.Windows.Forms.TextBox dia_9;
private System.Windows.Forms.TextBox dia_7;
private System.Windows.Forms.TextBox dia_6;
private System.Windows.Forms.TextBox dia_8;
private System.Windows.Forms.TextBox dia_10;
private System.Windows.Forms.Label label10;
private System.Windows.Forms.Label label9;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.Label label_title;
private System.Windows.Forms.Label label_alarm;
private System.ComponentModel.BackgroundWorker backgroundWorker;
private System.Windows.Forms.Label label11;
private System.Windows.Forms.TextBox dia_35;
private System.Windows.Forms.TextBox dia_33;
private System.Windows.Forms.TextBox dia_31;
private System.Windows.Forms.TextBox dia_30;
private System.Windows.Forms.TextBox dia_32;
private System.Windows.Forms.TextBox dia_34;
private System.Windows.Forms.Label label12;
private Baosight.ColdRolling.TcmControls.Stand stand6;
}
}

79
Host/OnlineRollForm.cs Normal file
View File

@ -0,0 +1,79 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Windows.Forms;
using CRVM.SIDExcuter;
using CRVM.Entity;
namespace CRVM
{
public partial class OnlineRollForm : Form
{
string exp_msg = "";
public OnlineRollForm()
{
InitializeComponent();
}
private void RollInfo_Load(object sender, EventArgs e)
{
label_alarm.Text = "正在读取在线轧辊信息!";
label_alarm.Visible = true;
backgroundWorker.DoWork += backgroundWorker_DoWork;
backgroundWorker.RunWorkerCompleted += backgroundWorker_RunWorkerCompleted;
if (!backgroundWorker.IsBusy)
{
backgroundWorker.RunWorkerAsync();
}
}
void backgroundWorker_RunWorkerCompleted(object sender, System.ComponentModel.RunWorkerCompletedEventArgs e)
{
DataTable data = (DataTable)e.Result;
//Console.WriteLine(String.Format(" data.Columns.Count:{ 0}", data.Columns.Count));
string msg = "";
if (data != null)
{
if (data.Rows.Count == 1)
{
for (int i = 0; i < data.Columns.Count; i++)
{
string controlName = "dia_" + i.ToString();
TextBox box = (TextBox)panel2.Controls[controlName];
if (box != null)
{
box.Text = data.Rows[0][i].ToString();
}
}
label_alarm.Visible = false;
}
}
else
{
exp_msg = "读取在线轧辊数据失败,请查看数据库连接配置或网络状态!异常信息如下:" + exp_msg;
MessageShowForm form = new MessageShowForm("警告", exp_msg);
form.ShowDialog();
label_alarm.Text = "读取在线轧辊数据失败!";
label_alarm.Visible = true;
}
}
private void backgroundWorker_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e)
{
DataTable data = null;
try
{
data = DbHelper.GetInstance("").GetL2OnlineRollInfo();
}
catch (Exception ex)
{
exp_msg = ex.ToString();
}
e.Result = data;
}
}
}

123
Host/OnlineRollForm.resx Normal file
View File

@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="backgroundWorker.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

906
Host/OriginRollForm.Designer.cs generated Normal file
View File

@ -0,0 +1,906 @@
namespace CRVM
{
partial class OriginRollForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.panel2 = new System.Windows.Forms.Panel();
this.label12 = new System.Windows.Forms.Label();
this.dia_B_L_6 = new System.Windows.Forms.TextBox();
this.dia_M_L_6 = new System.Windows.Forms.TextBox();
this.dia_W_L_6 = new System.Windows.Forms.TextBox();
this.dia_W_U_6 = new System.Windows.Forms.TextBox();
this.dia_M_U_6 = new System.Windows.Forms.TextBox();
this.dia_B_U_6 = new System.Windows.Forms.TextBox();
this.label13 = new System.Windows.Forms.Label();
this.stand6 = new Baosight.ColdRolling.TcmControls.Stand();
this.label_alarm = new System.Windows.Forms.Label();
this.label_title = new System.Windows.Forms.Label();
this.label10 = new System.Windows.Forms.Label();
this.label9 = new System.Windows.Forms.Label();
this.label8 = new System.Windows.Forms.Label();
this.label7 = new System.Windows.Forms.Label();
this.label6 = new System.Windows.Forms.Label();
this.dia_B_L_5 = new System.Windows.Forms.TextBox();
this.dia_M_L_5 = new System.Windows.Forms.TextBox();
this.dia_W_L_5 = new System.Windows.Forms.TextBox();
this.dia_W_U_5 = new System.Windows.Forms.TextBox();
this.dia_M_U_5 = new System.Windows.Forms.TextBox();
this.dia_B_U_5 = new System.Windows.Forms.TextBox();
this.dia_B_L_4 = new System.Windows.Forms.TextBox();
this.dia_M_L_4 = new System.Windows.Forms.TextBox();
this.dia_W_L_4 = new System.Windows.Forms.TextBox();
this.dia_W_U_4 = new System.Windows.Forms.TextBox();
this.dia_M_U_4 = new System.Windows.Forms.TextBox();
this.dia_B_U_4 = new System.Windows.Forms.TextBox();
this.dia_B_L_3 = new System.Windows.Forms.TextBox();
this.dia_M_L_3 = new System.Windows.Forms.TextBox();
this.dia_W_L_3 = new System.Windows.Forms.TextBox();
this.dia_W_U_3 = new System.Windows.Forms.TextBox();
this.dia_M_U_3 = new System.Windows.Forms.TextBox();
this.dia_B_U_3 = new System.Windows.Forms.TextBox();
this.dia_B_L_2 = new System.Windows.Forms.TextBox();
this.dia_M_L_2 = new System.Windows.Forms.TextBox();
this.dia_W_L_2 = new System.Windows.Forms.TextBox();
this.dia_W_U_2 = new System.Windows.Forms.TextBox();
this.dia_M_U_2 = new System.Windows.Forms.TextBox();
this.dia_B_U_2 = new System.Windows.Forms.TextBox();
this.dia_B_L_1 = new System.Windows.Forms.TextBox();
this.dia_M_L_1 = new System.Windows.Forms.TextBox();
this.dia_W_L_1 = new System.Windows.Forms.TextBox();
this.dia_W_U_1 = new System.Windows.Forms.TextBox();
this.dia_M_U_1 = new System.Windows.Forms.TextBox();
this.dia_B_U_1 = new System.Windows.Forms.TextBox();
this.label5 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.label1 = new System.Windows.Forms.Label();
this.stand5 = new Baosight.ColdRolling.TcmControls.Stand();
this.stand4 = new Baosight.ColdRolling.TcmControls.Stand();
this.stand3 = new Baosight.ColdRolling.TcmControls.Stand();
this.stand2 = new Baosight.ColdRolling.TcmControls.Stand();
this.stand1 = new Baosight.ColdRolling.TcmControls.Stand();
this.panel3 = new System.Windows.Forms.Panel();
this.label11 = new System.Windows.Forms.Label();
this.combox_createdates = new System.Windows.Forms.ComboBox();
this.btn_OK = new System.Windows.Forms.Button();
this.tableLayoutPanel1.SuspendLayout();
this.panel2.SuspendLayout();
this.panel3.SuspendLayout();
this.SuspendLayout();
//
// tableLayoutPanel1
//
this.tableLayoutPanel1.ColumnCount = 1;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.Controls.Add(this.panel2, 0, 0);
this.tableLayoutPanel1.Controls.Add(this.panel3, 0, 1);
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 2;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 55F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 18F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(1284, 581);
this.tableLayoutPanel1.TabIndex = 0;
//
// panel2
//
this.panel2.Controls.Add(this.label12);
this.panel2.Controls.Add(this.dia_B_L_6);
this.panel2.Controls.Add(this.dia_M_L_6);
this.panel2.Controls.Add(this.dia_W_L_6);
this.panel2.Controls.Add(this.dia_W_U_6);
this.panel2.Controls.Add(this.dia_M_U_6);
this.panel2.Controls.Add(this.dia_B_U_6);
this.panel2.Controls.Add(this.label13);
this.panel2.Controls.Add(this.stand6);
this.panel2.Controls.Add(this.label_alarm);
this.panel2.Controls.Add(this.label_title);
this.panel2.Controls.Add(this.label10);
this.panel2.Controls.Add(this.label9);
this.panel2.Controls.Add(this.label8);
this.panel2.Controls.Add(this.label7);
this.panel2.Controls.Add(this.label6);
this.panel2.Controls.Add(this.dia_B_L_5);
this.panel2.Controls.Add(this.dia_M_L_5);
this.panel2.Controls.Add(this.dia_W_L_5);
this.panel2.Controls.Add(this.dia_W_U_5);
this.panel2.Controls.Add(this.dia_M_U_5);
this.panel2.Controls.Add(this.dia_B_U_5);
this.panel2.Controls.Add(this.dia_B_L_4);
this.panel2.Controls.Add(this.dia_M_L_4);
this.panel2.Controls.Add(this.dia_W_L_4);
this.panel2.Controls.Add(this.dia_W_U_4);
this.panel2.Controls.Add(this.dia_M_U_4);
this.panel2.Controls.Add(this.dia_B_U_4);
this.panel2.Controls.Add(this.dia_B_L_3);
this.panel2.Controls.Add(this.dia_M_L_3);
this.panel2.Controls.Add(this.dia_W_L_3);
this.panel2.Controls.Add(this.dia_W_U_3);
this.panel2.Controls.Add(this.dia_M_U_3);
this.panel2.Controls.Add(this.dia_B_U_3);
this.panel2.Controls.Add(this.dia_B_L_2);
this.panel2.Controls.Add(this.dia_M_L_2);
this.panel2.Controls.Add(this.dia_W_L_2);
this.panel2.Controls.Add(this.dia_W_U_2);
this.panel2.Controls.Add(this.dia_M_U_2);
this.panel2.Controls.Add(this.dia_B_U_2);
this.panel2.Controls.Add(this.dia_B_L_1);
this.panel2.Controls.Add(this.dia_M_L_1);
this.panel2.Controls.Add(this.dia_W_L_1);
this.panel2.Controls.Add(this.dia_W_U_1);
this.panel2.Controls.Add(this.dia_M_U_1);
this.panel2.Controls.Add(this.dia_B_U_1);
this.panel2.Controls.Add(this.label5);
this.panel2.Controls.Add(this.label4);
this.panel2.Controls.Add(this.label3);
this.panel2.Controls.Add(this.label2);
this.panel2.Controls.Add(this.label1);
this.panel2.Controls.Add(this.stand5);
this.panel2.Controls.Add(this.stand4);
this.panel2.Controls.Add(this.stand3);
this.panel2.Controls.Add(this.stand2);
this.panel2.Controls.Add(this.stand1);
this.panel2.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel2.Location = new System.Drawing.Point(3, 3);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(1278, 520);
this.panel2.TabIndex = 1;
//
// label12
//
this.label12.Font = new System.Drawing.Font("Consolas", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label12.Location = new System.Drawing.Point(1045, 134);
this.label12.Name = "label12";
this.label12.Size = new System.Drawing.Size(35, 14);
this.label12.TabIndex = 102;
this.label12.Text = "辊径 ";
//
// dia_B_L_6
//
this.dia_B_L_6.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_B_L_6.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_B_L_6.Location = new System.Drawing.Point(1007, 380);
this.dia_B_L_6.Name = "dia_B_L_6";
this.dia_B_L_6.Size = new System.Drawing.Size(103, 23);
this.dia_B_L_6.TabIndex = 101;
this.dia_B_L_6.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_M_L_6
//
this.dia_M_L_6.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_M_L_6.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_M_L_6.Location = new System.Drawing.Point(1007, 327);
this.dia_M_L_6.Name = "dia_M_L_6";
this.dia_M_L_6.Size = new System.Drawing.Size(103, 23);
this.dia_M_L_6.TabIndex = 100;
this.dia_M_L_6.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_W_L_6
//
this.dia_W_L_6.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_W_L_6.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_W_L_6.Location = new System.Drawing.Point(1007, 292);
this.dia_W_L_6.Name = "dia_W_L_6";
this.dia_W_L_6.Size = new System.Drawing.Size(103, 23);
this.dia_W_L_6.TabIndex = 99;
this.dia_W_L_6.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_W_U_6
//
this.dia_W_U_6.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_W_U_6.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_W_U_6.Location = new System.Drawing.Point(1007, 265);
this.dia_W_U_6.Name = "dia_W_U_6";
this.dia_W_U_6.Size = new System.Drawing.Size(103, 23);
this.dia_W_U_6.TabIndex = 98;
this.dia_W_U_6.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_M_U_6
//
this.dia_M_U_6.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_M_U_6.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_M_U_6.Location = new System.Drawing.Point(1007, 223);
this.dia_M_U_6.Name = "dia_M_U_6";
this.dia_M_U_6.Size = new System.Drawing.Size(103, 23);
this.dia_M_U_6.TabIndex = 97;
this.dia_M_U_6.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_B_U_6
//
this.dia_B_U_6.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_B_U_6.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_B_U_6.Location = new System.Drawing.Point(1007, 176);
this.dia_B_U_6.Name = "dia_B_U_6";
this.dia_B_U_6.Size = new System.Drawing.Size(103, 23);
this.dia_B_U_6.TabIndex = 96;
this.dia_B_U_6.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// label13
//
this.label13.AutoSize = true;
this.label13.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label13.Location = new System.Drawing.Point(1115, 448);
this.label13.Name = "label13";
this.label13.Size = new System.Drawing.Size(61, 25);
this.label13.TabIndex = 95;
this.label13.Text = "6机架";
//
// stand6
//
this.stand6.AutoSetRollCount = false;
this.stand6.BoderColor = System.Drawing.Color.Black;
this.stand6.Cir1Precent = 45;
this.stand6.Cir2Precent = 35;
this.stand6.Cir3Precent = 20;
this.stand6.Cor1 = System.Drawing.Color.Black;
this.stand6.Cor2 = System.Drawing.Color.Blue;
this.stand6.Count = 3;
this.stand6.Location = new System.Drawing.Point(1116, 157);
this.stand6.Name = "stand6";
this.stand6.Rheight = 5;
this.stand6.Size = new System.Drawing.Size(68, 260);
this.stand6.TabIndex = 94;
this.stand6.Thickness = 1;
//
// label_alarm
//
this.label_alarm.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label_alarm.ForeColor = System.Drawing.Color.Red;
this.label_alarm.Location = new System.Drawing.Point(517, 82);
this.label_alarm.Name = "label_alarm";
this.label_alarm.Size = new System.Drawing.Size(228, 23);
this.label_alarm.TabIndex = 93;
this.label_alarm.Text = "本地暂无轧辊数据!";
this.label_alarm.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.label_alarm.Visible = false;
//
// label_title
//
this.label_title.Font = new System.Drawing.Font("微软雅黑", 24F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label_title.Location = new System.Drawing.Point(421, 20);
this.label_title.Name = "label_title";
this.label_title.Size = new System.Drawing.Size(419, 63);
this.label_title.TabIndex = 92;
this.label_title.Text = "离线轧辊画面";
this.label_title.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label10
//
this.label10.Font = new System.Drawing.Font("Consolas", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label10.Location = new System.Drawing.Point(862, 134);
this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(35, 14);
this.label10.TabIndex = 91;
this.label10.Text = "辊径 ";
//
// label9
//
this.label9.Font = new System.Drawing.Font("Consolas", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label9.Location = new System.Drawing.Point(680, 134);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(35, 14);
this.label9.TabIndex = 90;
this.label9.Text = "辊径 ";
//
// label8
//
this.label8.Font = new System.Drawing.Font("Consolas", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label8.Location = new System.Drawing.Point(491, 134);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(35, 14);
this.label8.TabIndex = 89;
this.label8.Text = "辊径 ";
//
// label7
//
this.label7.Font = new System.Drawing.Font("Consolas", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label7.Location = new System.Drawing.Point(306, 134);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(35, 14);
this.label7.TabIndex = 88;
this.label7.Text = "辊径 ";
//
// label6
//
this.label6.Font = new System.Drawing.Font("Consolas", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label6.Location = new System.Drawing.Point(117, 134);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(35, 14);
this.label6.TabIndex = 87;
this.label6.Text = "辊径 ";
//
// dia_B_L_5
//
this.dia_B_L_5.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_B_L_5.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_B_L_5.Location = new System.Drawing.Point(824, 380);
this.dia_B_L_5.Name = "dia_B_L_5";
this.dia_B_L_5.Size = new System.Drawing.Size(103, 23);
this.dia_B_L_5.TabIndex = 86;
this.dia_B_L_5.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_M_L_5
//
this.dia_M_L_5.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_M_L_5.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_M_L_5.Location = new System.Drawing.Point(824, 327);
this.dia_M_L_5.Name = "dia_M_L_5";
this.dia_M_L_5.Size = new System.Drawing.Size(103, 23);
this.dia_M_L_5.TabIndex = 85;
this.dia_M_L_5.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_W_L_5
//
this.dia_W_L_5.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_W_L_5.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_W_L_5.Location = new System.Drawing.Point(824, 292);
this.dia_W_L_5.Name = "dia_W_L_5";
this.dia_W_L_5.Size = new System.Drawing.Size(103, 23);
this.dia_W_L_5.TabIndex = 84;
this.dia_W_L_5.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_W_U_5
//
this.dia_W_U_5.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_W_U_5.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_W_U_5.Location = new System.Drawing.Point(824, 265);
this.dia_W_U_5.Name = "dia_W_U_5";
this.dia_W_U_5.Size = new System.Drawing.Size(103, 23);
this.dia_W_U_5.TabIndex = 83;
this.dia_W_U_5.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_M_U_5
//
this.dia_M_U_5.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_M_U_5.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_M_U_5.Location = new System.Drawing.Point(824, 223);
this.dia_M_U_5.Name = "dia_M_U_5";
this.dia_M_U_5.Size = new System.Drawing.Size(103, 23);
this.dia_M_U_5.TabIndex = 82;
this.dia_M_U_5.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_B_U_5
//
this.dia_B_U_5.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_B_U_5.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_B_U_5.Location = new System.Drawing.Point(824, 176);
this.dia_B_U_5.Name = "dia_B_U_5";
this.dia_B_U_5.Size = new System.Drawing.Size(103, 23);
this.dia_B_U_5.TabIndex = 81;
this.dia_B_U_5.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_B_L_4
//
this.dia_B_L_4.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_B_L_4.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_B_L_4.Location = new System.Drawing.Point(645, 380);
this.dia_B_L_4.Name = "dia_B_L_4";
this.dia_B_L_4.Size = new System.Drawing.Size(103, 23);
this.dia_B_L_4.TabIndex = 80;
this.dia_B_L_4.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_M_L_4
//
this.dia_M_L_4.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_M_L_4.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_M_L_4.Location = new System.Drawing.Point(645, 327);
this.dia_M_L_4.Name = "dia_M_L_4";
this.dia_M_L_4.Size = new System.Drawing.Size(103, 23);
this.dia_M_L_4.TabIndex = 79;
this.dia_M_L_4.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_W_L_4
//
this.dia_W_L_4.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_W_L_4.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_W_L_4.Location = new System.Drawing.Point(645, 292);
this.dia_W_L_4.Name = "dia_W_L_4";
this.dia_W_L_4.Size = new System.Drawing.Size(103, 23);
this.dia_W_L_4.TabIndex = 78;
this.dia_W_L_4.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_W_U_4
//
this.dia_W_U_4.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_W_U_4.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_W_U_4.Location = new System.Drawing.Point(645, 265);
this.dia_W_U_4.Name = "dia_W_U_4";
this.dia_W_U_4.Size = new System.Drawing.Size(103, 23);
this.dia_W_U_4.TabIndex = 77;
this.dia_W_U_4.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_M_U_4
//
this.dia_M_U_4.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_M_U_4.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_M_U_4.Location = new System.Drawing.Point(645, 223);
this.dia_M_U_4.Name = "dia_M_U_4";
this.dia_M_U_4.Size = new System.Drawing.Size(103, 23);
this.dia_M_U_4.TabIndex = 76;
this.dia_M_U_4.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_B_U_4
//
this.dia_B_U_4.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_B_U_4.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_B_U_4.Location = new System.Drawing.Point(645, 176);
this.dia_B_U_4.Name = "dia_B_U_4";
this.dia_B_U_4.Size = new System.Drawing.Size(103, 23);
this.dia_B_U_4.TabIndex = 75;
this.dia_B_U_4.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_B_L_3
//
this.dia_B_L_3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_B_L_3.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_B_L_3.Location = new System.Drawing.Point(460, 380);
this.dia_B_L_3.Name = "dia_B_L_3";
this.dia_B_L_3.Size = new System.Drawing.Size(103, 23);
this.dia_B_L_3.TabIndex = 74;
this.dia_B_L_3.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_M_L_3
//
this.dia_M_L_3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_M_L_3.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_M_L_3.Location = new System.Drawing.Point(460, 327);
this.dia_M_L_3.Name = "dia_M_L_3";
this.dia_M_L_3.Size = new System.Drawing.Size(103, 23);
this.dia_M_L_3.TabIndex = 73;
this.dia_M_L_3.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_W_L_3
//
this.dia_W_L_3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_W_L_3.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_W_L_3.Location = new System.Drawing.Point(460, 292);
this.dia_W_L_3.Name = "dia_W_L_3";
this.dia_W_L_3.Size = new System.Drawing.Size(103, 23);
this.dia_W_L_3.TabIndex = 72;
this.dia_W_L_3.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_W_U_3
//
this.dia_W_U_3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_W_U_3.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_W_U_3.Location = new System.Drawing.Point(460, 265);
this.dia_W_U_3.Name = "dia_W_U_3";
this.dia_W_U_3.Size = new System.Drawing.Size(103, 23);
this.dia_W_U_3.TabIndex = 71;
this.dia_W_U_3.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_M_U_3
//
this.dia_M_U_3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_M_U_3.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_M_U_3.Location = new System.Drawing.Point(460, 223);
this.dia_M_U_3.Name = "dia_M_U_3";
this.dia_M_U_3.Size = new System.Drawing.Size(103, 23);
this.dia_M_U_3.TabIndex = 70;
this.dia_M_U_3.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_B_U_3
//
this.dia_B_U_3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_B_U_3.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_B_U_3.Location = new System.Drawing.Point(460, 176);
this.dia_B_U_3.Name = "dia_B_U_3";
this.dia_B_U_3.Size = new System.Drawing.Size(103, 23);
this.dia_B_U_3.TabIndex = 69;
this.dia_B_U_3.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_B_L_2
//
this.dia_B_L_2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_B_L_2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_B_L_2.Location = new System.Drawing.Point(266, 380);
this.dia_B_L_2.Name = "dia_B_L_2";
this.dia_B_L_2.Size = new System.Drawing.Size(103, 23);
this.dia_B_L_2.TabIndex = 68;
this.dia_B_L_2.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_M_L_2
//
this.dia_M_L_2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_M_L_2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_M_L_2.Location = new System.Drawing.Point(266, 327);
this.dia_M_L_2.Name = "dia_M_L_2";
this.dia_M_L_2.Size = new System.Drawing.Size(103, 23);
this.dia_M_L_2.TabIndex = 67;
this.dia_M_L_2.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_W_L_2
//
this.dia_W_L_2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_W_L_2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_W_L_2.Location = new System.Drawing.Point(266, 292);
this.dia_W_L_2.Name = "dia_W_L_2";
this.dia_W_L_2.Size = new System.Drawing.Size(103, 23);
this.dia_W_L_2.TabIndex = 66;
this.dia_W_L_2.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_W_U_2
//
this.dia_W_U_2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_W_U_2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_W_U_2.Location = new System.Drawing.Point(266, 265);
this.dia_W_U_2.Name = "dia_W_U_2";
this.dia_W_U_2.Size = new System.Drawing.Size(103, 23);
this.dia_W_U_2.TabIndex = 65;
this.dia_W_U_2.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_M_U_2
//
this.dia_M_U_2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_M_U_2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_M_U_2.Location = new System.Drawing.Point(266, 223);
this.dia_M_U_2.Name = "dia_M_U_2";
this.dia_M_U_2.Size = new System.Drawing.Size(103, 23);
this.dia_M_U_2.TabIndex = 64;
this.dia_M_U_2.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_B_U_2
//
this.dia_B_U_2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_B_U_2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_B_U_2.Location = new System.Drawing.Point(266, 176);
this.dia_B_U_2.Name = "dia_B_U_2";
this.dia_B_U_2.Size = new System.Drawing.Size(103, 23);
this.dia_B_U_2.TabIndex = 63;
this.dia_B_U_2.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_B_L_1
//
this.dia_B_L_1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_B_L_1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_B_L_1.Location = new System.Drawing.Point(80, 380);
this.dia_B_L_1.Name = "dia_B_L_1";
this.dia_B_L_1.Size = new System.Drawing.Size(103, 23);
this.dia_B_L_1.TabIndex = 62;
this.dia_B_L_1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_M_L_1
//
this.dia_M_L_1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_M_L_1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_M_L_1.Location = new System.Drawing.Point(80, 327);
this.dia_M_L_1.Name = "dia_M_L_1";
this.dia_M_L_1.Size = new System.Drawing.Size(103, 23);
this.dia_M_L_1.TabIndex = 61;
this.dia_M_L_1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_W_L_1
//
this.dia_W_L_1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_W_L_1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_W_L_1.Location = new System.Drawing.Point(80, 292);
this.dia_W_L_1.Name = "dia_W_L_1";
this.dia_W_L_1.Size = new System.Drawing.Size(103, 23);
this.dia_W_L_1.TabIndex = 60;
this.dia_W_L_1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_W_U_1
//
this.dia_W_U_1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_W_U_1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_W_U_1.Location = new System.Drawing.Point(80, 265);
this.dia_W_U_1.Name = "dia_W_U_1";
this.dia_W_U_1.Size = new System.Drawing.Size(103, 23);
this.dia_W_U_1.TabIndex = 59;
this.dia_W_U_1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_M_U_1
//
this.dia_M_U_1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_M_U_1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_M_U_1.Location = new System.Drawing.Point(80, 223);
this.dia_M_U_1.Name = "dia_M_U_1";
this.dia_M_U_1.Size = new System.Drawing.Size(103, 23);
this.dia_M_U_1.TabIndex = 58;
this.dia_M_U_1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// dia_B_U_1
//
this.dia_B_U_1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dia_B_U_1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dia_B_U_1.Location = new System.Drawing.Point(80, 176);
this.dia_B_U_1.Name = "dia_B_U_1";
this.dia_B_U_1.Size = new System.Drawing.Size(103, 23);
this.dia_B_U_1.TabIndex = 57;
this.dia_B_U_1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// label5
//
this.label5.AutoSize = true;
this.label5.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label5.Location = new System.Drawing.Point(932, 448);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(61, 25);
this.label5.TabIndex = 56;
this.label5.Text = "5机架";
//
// label4
//
this.label4.AutoSize = true;
this.label4.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label4.Location = new System.Drawing.Point(757, 448);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(61, 25);
this.label4.TabIndex = 55;
this.label4.Text = "4机架";
//
// label3
//
this.label3.AutoSize = true;
this.label3.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label3.Location = new System.Drawing.Point(571, 448);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(61, 25);
this.label3.TabIndex = 54;
this.label3.Text = "3机架";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label2.Location = new System.Drawing.Point(375, 448);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(61, 25);
this.label2.TabIndex = 53;
this.label2.Text = "2机架";
//
// label1
//
this.label1.AutoSize = true;
this.label1.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label1.Location = new System.Drawing.Point(189, 448);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(61, 25);
this.label1.TabIndex = 52;
this.label1.Text = "1机架";
//
// stand5
//
this.stand5.AutoSetRollCount = false;
this.stand5.BoderColor = System.Drawing.Color.Black;
this.stand5.Cir1Precent = 45;
this.stand5.Cir2Precent = 35;
this.stand5.Cir3Precent = 20;
this.stand5.Cor1 = System.Drawing.Color.Black;
this.stand5.Cor2 = System.Drawing.Color.Blue;
this.stand5.Count = 3;
this.stand5.Location = new System.Drawing.Point(933, 157);
this.stand5.Name = "stand5";
this.stand5.Rheight = 5;
this.stand5.Size = new System.Drawing.Size(68, 260);
this.stand5.TabIndex = 51;
this.stand5.Thickness = 1;
//
// stand4
//
this.stand4.AutoSetRollCount = false;
this.stand4.BoderColor = System.Drawing.Color.Black;
this.stand4.Cir1Precent = 45;
this.stand4.Cir2Precent = 35;
this.stand4.Cir3Precent = 20;
this.stand4.Cor1 = System.Drawing.Color.Black;
this.stand4.Cor2 = System.Drawing.Color.Blue;
this.stand4.Count = 3;
this.stand4.Location = new System.Drawing.Point(754, 157);
this.stand4.Name = "stand4";
this.stand4.Rheight = 5;
this.stand4.Size = new System.Drawing.Size(64, 260);
this.stand4.TabIndex = 50;
this.stand4.Thickness = 1;
//
// stand3
//
this.stand3.AutoSetRollCount = false;
this.stand3.BoderColor = System.Drawing.Color.Black;
this.stand3.Cir1Precent = 45;
this.stand3.Cir2Precent = 35;
this.stand3.Cir3Precent = 20;
this.stand3.Cor1 = System.Drawing.Color.Black;
this.stand3.Cor2 = System.Drawing.Color.Blue;
this.stand3.Count = 3;
this.stand3.Location = new System.Drawing.Point(569, 157);
this.stand3.Name = "stand3";
this.stand3.Rheight = 5;
this.stand3.Size = new System.Drawing.Size(65, 260);
this.stand3.TabIndex = 49;
this.stand3.Thickness = 1;
//
// stand2
//
this.stand2.AutoSetRollCount = false;
this.stand2.BoderColor = System.Drawing.Color.Black;
this.stand2.Cir1Precent = 45;
this.stand2.Cir2Precent = 35;
this.stand2.Cir3Precent = 20;
this.stand2.Cor1 = System.Drawing.Color.Black;
this.stand2.Cor2 = System.Drawing.Color.Blue;
this.stand2.Count = 3;
this.stand2.Location = new System.Drawing.Point(377, 157);
this.stand2.Name = "stand2";
this.stand2.Rheight = 5;
this.stand2.Size = new System.Drawing.Size(66, 260);
this.stand2.TabIndex = 48;
this.stand2.Thickness = 1;
//
// stand1
//
this.stand1.AutoSetRollCount = false;
this.stand1.BoderColor = System.Drawing.Color.Black;
this.stand1.Cir1Precent = 45;
this.stand1.Cir2Precent = 35;
this.stand1.Cir3Precent = 20;
this.stand1.Cor1 = System.Drawing.Color.Black;
this.stand1.Cor2 = System.Drawing.Color.Blue;
this.stand1.Count = 3;
this.stand1.Location = new System.Drawing.Point(191, 157);
this.stand1.Name = "stand1";
this.stand1.Rheight = 5;
this.stand1.Size = new System.Drawing.Size(69, 260);
this.stand1.TabIndex = 47;
this.stand1.Thickness = 1;
//
// panel3
//
this.panel3.Controls.Add(this.label11);
this.panel3.Controls.Add(this.combox_createdates);
this.panel3.Controls.Add(this.btn_OK);
this.panel3.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel3.Font = new System.Drawing.Font("微软雅黑", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.panel3.Location = new System.Drawing.Point(3, 529);
this.panel3.Name = "panel3";
this.panel3.Size = new System.Drawing.Size(1278, 49);
this.panel3.TabIndex = 2;
//
// label11
//
this.label11.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label11.Location = new System.Drawing.Point(45, 13);
this.label11.Name = "label11";
this.label11.Size = new System.Drawing.Size(97, 19);
this.label11.TabIndex = 94;
this.label11.Text = "参考时刻点:";
this.label11.UseWaitCursor = true;
this.label11.Visible = false;
//
// combox_createdates
//
this.combox_createdates.FormattingEnabled = true;
this.combox_createdates.Location = new System.Drawing.Point(150, 12);
this.combox_createdates.Name = "combox_createdates";
this.combox_createdates.Size = new System.Drawing.Size(234, 27);
this.combox_createdates.TabIndex = 1;
this.combox_createdates.Visible = false;
this.combox_createdates.SelectedIndexChanged += new System.EventHandler(this.combox_createdates_SelectedIndexChanged);
//
// btn_OK
//
this.btn_OK.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btn_OK.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_OK.Location = new System.Drawing.Point(950, 3);
this.btn_OK.Name = "btn_OK";
this.btn_OK.Size = new System.Drawing.Size(90, 38);
this.btn_OK.TabIndex = 0;
this.btn_OK.Text = "应用";
this.btn_OK.UseVisualStyleBackColor = true;
this.btn_OK.Visible = false;
this.btn_OK.Click += new System.EventHandler(this.btn_OK_Click);
//
// OriginRollForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1284, 581);
this.Controls.Add(this.tableLayoutPanel1);
this.MaximumSize = new System.Drawing.Size(1300, 620);
this.MinimumSize = new System.Drawing.Size(1100, 620);
this.Name = "OriginRollForm";
this.ShowIcon = false;
this.Load += new System.EventHandler(this.RollInfo_Load);
this.tableLayoutPanel1.ResumeLayout(false);
this.panel2.ResumeLayout(false);
this.panel2.PerformLayout();
this.panel3.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
private System.Windows.Forms.Panel panel2;
private System.Windows.Forms.Panel panel3;
private System.Windows.Forms.Button btn_OK;
private System.Windows.Forms.Label label_alarm;
private System.Windows.Forms.Label label_title;
private System.Windows.Forms.Label label10;
private System.Windows.Forms.Label label9;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.TextBox dia_B_L_5;
private System.Windows.Forms.TextBox dia_M_L_5;
private System.Windows.Forms.TextBox dia_W_L_5;
private System.Windows.Forms.TextBox dia_W_U_5;
private System.Windows.Forms.TextBox dia_M_U_5;
private System.Windows.Forms.TextBox dia_B_U_5;
private System.Windows.Forms.TextBox dia_B_L_4;
private System.Windows.Forms.TextBox dia_M_L_4;
private System.Windows.Forms.TextBox dia_W_L_4;
private System.Windows.Forms.TextBox dia_W_U_4;
private System.Windows.Forms.TextBox dia_M_U_4;
private System.Windows.Forms.TextBox dia_B_U_4;
private System.Windows.Forms.TextBox dia_B_L_3;
private System.Windows.Forms.TextBox dia_M_L_3;
private System.Windows.Forms.TextBox dia_W_L_3;
private System.Windows.Forms.TextBox dia_W_U_3;
private System.Windows.Forms.TextBox dia_M_U_3;
private System.Windows.Forms.TextBox dia_B_U_3;
private System.Windows.Forms.TextBox dia_B_L_2;
private System.Windows.Forms.TextBox dia_M_L_2;
private System.Windows.Forms.TextBox dia_W_L_2;
private System.Windows.Forms.TextBox dia_W_U_2;
private System.Windows.Forms.TextBox dia_M_U_2;
private System.Windows.Forms.TextBox dia_B_U_2;
private System.Windows.Forms.TextBox dia_B_L_1;
private System.Windows.Forms.TextBox dia_M_L_1;
private System.Windows.Forms.TextBox dia_W_L_1;
private System.Windows.Forms.TextBox dia_W_U_1;
private System.Windows.Forms.TextBox dia_M_U_1;
private System.Windows.Forms.TextBox dia_B_U_1;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label1;
private Baosight.ColdRolling.TcmControls.Stand stand5;
private Baosight.ColdRolling.TcmControls.Stand stand4;
private Baosight.ColdRolling.TcmControls.Stand stand3;
private Baosight.ColdRolling.TcmControls.Stand stand2;
private Baosight.ColdRolling.TcmControls.Stand stand1;
private System.Windows.Forms.ComboBox combox_createdates;
private System.Windows.Forms.Label label11;
private System.Windows.Forms.Label label12;
private System.Windows.Forms.TextBox dia_B_L_6;
private System.Windows.Forms.TextBox dia_M_L_6;
private System.Windows.Forms.TextBox dia_W_L_6;
private System.Windows.Forms.TextBox dia_W_U_6;
private System.Windows.Forms.TextBox dia_M_U_6;
private System.Windows.Forms.TextBox dia_B_U_6;
private System.Windows.Forms.Label label13;
private Baosight.ColdRolling.TcmControls.Stand stand6;
}
}

196
Host/OriginRollForm.cs Normal file
View File

@ -0,0 +1,196 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Windows.Forms;
using CRVM.SIDExcuter;
using CRVM.Entity;
using System.Text.RegularExpressions;
namespace CRVM
{
public partial class OriginRollForm : Form
{
Machine reviewMac = null;
public OriginRollForm(Machine reviewMac)
{
this.reviewMac = reviewMac;
InitializeComponent();
}
private void RollInfo_Load(object sender, EventArgs e)
{
Inital();
}
private void Inital()
{
if (reviewMac == null)
{
return;
}
int standCount = SysParam.Instance.SpeedChannelCount+1;
for (int standno = 1; standno < standCount; standno++)
{
TextBox textbox_BU = (TextBox)panel2.Controls["dia_B_U_" + standno];
textbox_BU.Text = reviewMac.Stand[standno - 1].rollDiameterBU.ToString();
TextBox textbox_BL = (TextBox)panel2.Controls["dia_B_L_" + standno];
textbox_BL.Text = reviewMac.Stand[standno - 1].rollDiameterBL.ToString();
TextBox textbox_MU = (TextBox)panel2.Controls["dia_M_U_" + standno];
textbox_MU.Text = reviewMac.Stand[standno - 1].rollDiameterMU.ToString();
TextBox textbox_ML = (TextBox)panel2.Controls["dia_M_L_" + standno];
textbox_ML.Text = reviewMac.Stand[standno - 1].rollDiameterML.ToString(); ;
TextBox textbox_WU = (TextBox)panel2.Controls["dia_W_U_" + standno];
textbox_WU.Text = reviewMac.Stand[standno - 1].rollDiameterWU.ToString();
TextBox textbox_WL = (TextBox)panel2.Controls["dia_W_L_" + standno];
textbox_WL.Text = reviewMac.Stand[standno - 1].rollDiameterWL.ToString();
}
//DataTable createdates = null;
//try
//{
// createdates = DbHelper.GetInstance("").SelCreateTimeRolData();
//}
//catch (Exception ex)
//{
// label_alarm.Text = "无法获取本地轧辊数据,请查看本地数据库连接状态!";
// label_alarm.Visible = true;
//}
//if (createdates == null)
//{
// return;
//}
//else
//{
// List<string> list = new List<string>();
// for (int i = 0; i < createdates.Rows.Count; i++)
// {
// list.Add(createdates.Rows[i]["createdate"].ToString());
// }
// combox_createdates.DataSource = list;
// if (list.Count > 0)
// {
// combox_createdates.SelectedIndex = 0;
// }
//}
}
private void DiameterView(string createdate)
{
//DataTable data = null;
//try
//{
// data = DbHelper.GetInstance("").SelRollDataByCreateDate(createdate);
//}
//catch (Exception)
//{
// label_alarm.Text = "无法获取本地轧辊数据,请查看本地数据库连接状态!";
// label_alarm.Visible = true;
//}
//if (data != null)
//{
// for (int i = 0; i < data.Rows.Count; i++)
// {
// string controlName = "dia_" + data.Rows[i]["rolltype"] + "_" + data.Rows[i]["rollposition"] + "_" + data.Rows[i]["standno"];
// TextBox box = (TextBox)panel2.Controls[controlName];
// if (box != null)
// {
// box.Text = data.Rows[i]["diametermiddle"].ToString();
// }
// }
//}
}
private void combox_createdates_SelectedIndexChanged(object sender, EventArgs e)
{
ClearDiameter();
DiameterView(combox_createdates.Text.Trim());
}
private void ClearDiameter()
{
foreach (Control item in panel2.Controls)
{
if (item.GetType().ToString().Contains("TextBox"))
{
TextBox textbox = (TextBox)item;
textbox.Text = "";
}
}
}
private void btn_OK_Click(object sender, EventArgs e)
{
if (IsInputOk())
{
if (reviewMac == null)
{
return;
}
int standCount = SysParam.Instance.SpeedChannelCount+1;
for (int standno = 1; standno < standCount; standno++)
{
TextBox textbox_BU = (TextBox)panel2.Controls["dia_B_U_" + standno];
reviewMac.Stand[standno - 1].rollDiameterBU = Convert.ToDouble(textbox_BU.Text.Trim());
TextBox textbox_BL = (TextBox)panel2.Controls["dia_B_L_" + standno];
reviewMac.Stand[standno - 1].rollDiameterBL = Convert.ToDouble(textbox_BL.Text.Trim());
TextBox textbox_MU = (TextBox)panel2.Controls["dia_M_U_" + standno];
reviewMac.Stand[standno - 1].rollDiameterMU = Convert.ToDouble(textbox_MU.Text.Trim());
TextBox textbox_ML = (TextBox)panel2.Controls["dia_M_L_" + standno];
reviewMac.Stand[standno - 1].rollDiameterML = Convert.ToDouble(textbox_ML.Text.Trim());
TextBox textbox_WU = (TextBox)panel2.Controls["dia_W_U_" + standno];
reviewMac.Stand[standno - 1].rollDiameterWU = Convert.ToDouble(textbox_WU.Text.Trim());
TextBox textbox_WL = (TextBox)panel2.Controls["dia_W_L_" + standno];
reviewMac.Stand[standno - 1].rollDiameterWL = Convert.ToDouble(textbox_WL.Text.Trim());
}
MessageShowForm form = new MessageShowForm("提示", "轧辊直径设置成功!");
form.ShowDialog();
}
}
private bool IsInputOk()
{
foreach (Control item in panel2.Controls)
{
if (item.GetType().ToString().Contains("TextBox"))
{
TextBox textbox = (TextBox)item;
double value = 0d;
if (!double.TryParse(textbox.Text.Trim(), out value))
{
string name = textbox.Name;
string standno = name.Substring(8, 1);
string rollposition = name.Substring(6, 1);
string rolltype = name.Substring(4, 1);
if (rollposition == "U")
{
rollposition = "上";
}
else
{
rollposition = "下";
}
if (rolltype == "B")
{
rolltype = "支撑辊";
}
else if (rolltype == "M")
{
rolltype = "中间辊";
}
else if (rolltype == "W")
{
rolltype = "工作辊";
}
string msg = standno + "机架" + rolltype + rollposition + "辊直径输入格式不正确!";
MessageShowForm form = new MessageShowForm("提示", msg);
form.ShowDialog();
return false;
}
}
}
return true;
}
}
}

120
Host/OriginRollForm.resx Normal file
View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

343
Host/Plot_energy.cs Normal file
View File

@ -0,0 +1,343 @@
using System;
using System.Drawing;
using System.Windows.Forms;
using WeifenLuo.WinFormsUI.Docking;
using ZedGraph;
using CRVM.SIDExcuter;
using CRVM.Entity;
namespace CRVM
{
public partial class Plot_energy : DockContent
{
private MasterPane master;
private Machine mac = null;
IViewHelper fileHelper = null;
public Plot_energy(IViewHelper fileHelper, Machine mac)
{
this.fileHelper = fileHelper;
this.mac = mac;
InitializeComponent();
timer1.Enabled = true;
timer1.Interval = 2000;
timer1.Start();
}
private void Plot_energy_Load(object sender, EventArgs e)
{
SubExcute();
}
private void timer1_Tick(object sender, EventArgs e)
{
GraRefresh();
}
public void GraRefresh()
{
SubExcute();
}
private void SubExcute()
{
if (fileHelper != null)
{
master = new MasterPane();
master.PaneList.Clear();
if (SysParam.Instance.orderByChannel)
{
for (int i = 0; i < SysParam.Instance.channelCount; i++)
{
if (SysParam.Instance.channel[i].ChChecked)
{
if (SysParam.Instance.checkBoxEnergy)
OrderByChannel_Energy(i);
}
}
}
else
{
if (SysParam.Instance.checkBoxEnergy)
OrderByKind_Energy();
}
master.Border.IsVisible = false;
master.Fill.Color = SysParam.Instance.colorBackgroud;
master.Margin.All = 5f;
master.InnerPaneGap = 5f;
zedGraphControl1.MasterPane = master;
Graphics gg1 = zedGraphControl1.CreateGraphics();
master.AxisChange(gg1);
if (SysParam.Instance.orderBySingleColumn)
{
zedGraphControl1.MasterPane.SetLayout(gg1, PaneLayout.SingleColumn);
}
else
{
zedGraphControl1.MasterPane.SetLayout(gg1, PaneLayout.SquareRowPreferred);
}
zedGraphControl1.Height = DockPanel.Height;
zedGraphControl1.Refresh();
}
}
private void OrderByChannel_Energy( int standNo)
{
if (SysParam.Instance.checkBoxEnergyAll)
{
energy_All(fileHelper.energyData, SysParam.Instance.comboBoxEnergyAll, standNo);
}
if (SysParam.Instance.checkBoxEnergyL)
{
energy_LMH(fileHelper.energyData, SysParam.Instance.comboBoxEnergyL, standNo, 0, "低频");
}
if (SysParam.Instance.checkBoxEnergyM)
{
energy_LMH(fileHelper.energyData, SysParam.Instance.comboBoxEnergyM, standNo, 1, "中频");
}
if (SysParam.Instance.checkBoxEnergyH)
{
energy_LMH(fileHelper.energyData, SysParam.Instance.comboBoxEnergyH, standNo, 2, "高频");
}
if (SysParam.Instance.checkBoxEnergySpeed && (standNo < SysParam.Instance.SpeedChannelCount))
{
energy_Speed(fileHelper.energyData, SysParam.Instance.comboBoxEnergySpeed, standNo);
}
}
private void OrderByKind_Energy()
{
if (SysParam.Instance.checkBoxEnergyAll)
{
for (int i = 0; i < SysParam.Instance.channelCount; i++)
{
if (SysParam.Instance.channel[i].ChChecked)
{
energy_All(fileHelper.energyData, SysParam.Instance.comboBoxEnergyAll, i);
}
}
}
if (SysParam.Instance.checkBoxEnergyL)
{
for (int i = 0; i < SysParam.Instance.channelCount; i++)
{
if (SysParam.Instance.channel[i].ChChecked)
{
energy_LMH(fileHelper.energyData, SysParam.Instance.comboBoxEnergyL, i,0,"低频");
}
}
}
if (SysParam.Instance.checkBoxEnergyM)
{
for (int i = 0; i < SysParam.Instance.channelCount; i++)
{
if (SysParam.Instance.channel[i].ChChecked)
{
energy_LMH(fileHelper.energyData, SysParam.Instance.comboBoxEnergyM, i, 1, "中频");
}
}
}
if (SysParam.Instance.checkBoxEnergyH)
{
for (int i = 0; i < SysParam.Instance.channelCount; i++)
{
if (SysParam.Instance.channel[i].ChChecked)
{
energy_LMH(fileHelper.energyData, SysParam.Instance.comboBoxEnergyH, i, 2, "高频");
}
}
}
if (SysParam.Instance.checkBoxEnergySpeed)
{
for (int i = 0; i < SysParam.Instance.SpeedChannelCount; i++)
{
if (SysParam.Instance.channel[i].ChChecked)
{
energy_Speed(fileHelper.energyData, SysParam.Instance.comboBoxEnergySpeed, i);
}
}
}
}
private void energy_All(double[,] lineList, string yAxisVal, int stdNo)
{
GraphPane gpt = new GraphPane();
gpt.CurveList.Clear();
int length = fileHelper.signalLengthEnergy;
double[] tx = new double[length];
double[] ty = new double[length];
for (int i = 0; i < length; i++)
{
tx[i] = i * SysParam.Instance.reSamplePoint / Convert.ToDouble(SysParam.Instance.reSampleFre);
ty[i] = lineList[stdNo * 8 + 1, i];
}
gpt.AddCurve("", tx, ty, SysParam.Instance.colorEnergy, SymbolType.None);
gpt.XAxis.Scale.Min = 0.0;
gpt.XAxis.Scale.Max = tx[length - 1];
gpt.YAxis.Scale.Min = 0.0;
gpt.YAxis.Scale.Max = Convert.ToDouble(yAxisVal);
gpt.Title.Text = (stdNo + 1) + "号机架全局能量";
GraPaneSetting(gpt);
this.master.Add(gpt);
}
private void energy_LMH(double[,] lineList, string yAxisVal, int stdNo, int typeNo, string type)
{
GraphPane gpt = new GraphPane();
gpt.CurveList.Clear();
int length = fileHelper.signalLengthEnergy;
double[] tx = new double[length];
double[] ty = new double[length];
double[] tyalarm = new double[length];
for (int i = 0; i < length; i++)
{
tx[i] = i * SysParam.Instance.reSamplePoint / Convert.ToDouble(SysParam.Instance.reSampleFre);
ty[i] = lineList[stdNo * 8 + 2 + typeNo, i];
tyalarm[i] = lineList[stdNo * 8 + 5 + typeNo, i];
}
gpt.AddCurve("", tx, ty, SysParam.Instance.colorEnergy, SymbolType.None);
gpt.AddCurve("", tx, tyalarm, SysParam.Instance.colorAlarm, SymbolType.None).Line.Width = 2f;
gpt.XAxis.Scale.Min = 0.0;
gpt.XAxis.Scale.Max = tx[length - 1];
gpt.YAxis.Scale.Min = 0.0;
gpt.YAxis.Scale.Max = Convert.ToDouble(yAxisVal);
gpt.Title.Text = (stdNo + 1) + "号机架" + type + "能量";
GraPaneSetting(gpt);
this.master.Add(gpt);
}
private void energy_Speed(double[,] lineList, string yAxisVal, int stdNo)
{
GraphPane gpt = new GraphPane();
gpt.CurveList.Clear();
int length = fileHelper.signalLengthEnergy;
double[] tx = new double[length];
double[] ty = new double[length];
for (int i = 0; i < length; i++)
{
tx[i] = i * SysParam.Instance.reSamplePoint / Convert.ToDouble(SysParam.Instance.reSampleFre);
ty[i] = lineList[stdNo * 8, i];
}
gpt.AddCurve("", tx, ty, SysParam.Instance.colorSpeed, SymbolType.None).Line.Width = 2f;
gpt.XAxis.Scale.Min = 0.0;
gpt.XAxis.Scale.Max = tx[length - 1];
gpt.YAxis.Scale.Min = 0.0;
gpt.YAxis.Scale.Max = Convert.ToDouble(yAxisVal);
gpt.Title.Text = (stdNo + 1) + "号机架速度";
GraPaneSetting(gpt);
this.master.Add(gpt);
}
private static void GraPaneSetting(GraphPane tempGraph)
{
float fontsize = SysParam.Instance.fontSize;
Color myFontColor = SysParam.Instance.colorFont;
//tempGraph.Margin.All = 2f;
tempGraph.Fill.IsVisible = false;
tempGraph.IsFontsScaled = false;
tempGraph.TitleGap = 0f;
tempGraph.Margin.All = 3f;
tempGraph.Border.Color = Color.FromArgb(127, myFontColor);
tempGraph.Chart.Border.Color = myFontColor;
tempGraph.Chart.Fill.IsVisible = false;
tempGraph.Title.FontSpec.FontColor = myFontColor;
tempGraph.Title.FontSpec.Family = "微软雅黑";
tempGraph.Title.FontSpec.IsBold = false;
tempGraph.Title.FontSpec.Size = 1.5f * fontsize;
tempGraph.Legend.Border.IsVisible = false;
tempGraph.Legend.Position = LegendPos.InsideTopLeft;
tempGraph.Legend.FontSpec.Size = fontsize;
tempGraph.Legend.Fill.IsVisible = false;
tempGraph.Legend.FontSpec.FontColor = myFontColor;
tempGraph.Legend.FontSpec.Family = "微软雅黑";
tempGraph.XAxis.Title.FontSpec.Family = "微软雅黑";
tempGraph.XAxis.Title.FontSpec.IsBold = false;
tempGraph.XAxis.Scale.FontSpec.FontColor = myFontColor;
tempGraph.XAxis.Scale.FontSpec.Size = fontsize;
tempGraph.XAxis.Title.IsVisible = false;
tempGraph.XAxis.MajorTic.IsOutside = false;
tempGraph.XAxis.MajorTic.Color = Color.FromArgb(127, myFontColor);
tempGraph.XAxis.MinorTic.IsAllTics = false;
tempGraph.YAxis.Title.FontSpec.Family = "微软雅黑";
tempGraph.YAxis.Title.FontSpec.IsBold = false;
tempGraph.YAxis.Scale.FontSpec.FontColor = myFontColor;
tempGraph.YAxis.Scale.FontSpec.Size = fontsize;
tempGraph.YAxis.Title.IsVisible = false;
tempGraph.YAxis.MajorTic.IsOutside = false;
tempGraph.YAxis.MajorTic.Color = Color.FromArgb(127, myFontColor);
tempGraph.YAxis.MinorTic.IsAllTics = false;
tempGraph.YAxis.MajorGrid.IsZeroLine = false;
if (SysParam.Instance.BackgroundGridOn)
{
tempGraph.XAxis.MajorGrid.IsVisible = true;
tempGraph.XAxis.MajorGrid.Color = Color.FromArgb(127, myFontColor);
tempGraph.YAxis.MajorGrid.IsVisible = true;
tempGraph.YAxis.MajorGrid.Color = Color.FromArgb(127, myFontColor);
}
else
{
tempGraph.XAxis.MajorGrid.IsVisible = false;
tempGraph.YAxis.MajorGrid.IsVisible = false;
}
}
private string zedGraphControl1_PointValueEvent(ZedGraphControl sender, GraphPane pane, CurveItem curve, int iPt)
{
if (pane.Title.Text.Contains("速度"))
{
PointPair pt = curve[iPt];
return (pt.X.ToString("0.000") + "s " + pt.Y.ToString("0.0") + "m/min");
}
else if (pane.Title.Text.Contains("频谱"))
{
PointPair pt = curve[iPt];
return (pt.X.ToString("0.0") + "Hz " + pt.Y.ToString("0.00000") + "g");
}
else
{
PointPair pt = curve[iPt];
return (pt.X.ToString("0.000") + "s " + pt.Y.ToString("0.00000") + "g");
}
}
private void zedGraphControl1_ContextMenuBuilder(ZedGraphControl sender, ContextMenuStrip menuStrip, Point mousePt, ZedGraphControl.ContextMenuObjectState objState)
{
for (int i = 0; i < menuStrip.Items.Count; i++)
{
switch (menuStrip.Items[i].Tag.ToString().Trim())
{
case "copy":
menuStrip.Items[i].Text = "复制图片";
break;
case "show_val":
menuStrip.Items[i].Text = "查看坐标";
break;
case "save_as":
menuStrip.Items[i].Text = "图片保存至...";
break;
case "page_setup":
menuStrip.Items[i].Text = "页面设置";
break;
case "print":
menuStrip.Items[i].Text = "打印";
break;
case "unzoom":
menuStrip.Items[i].Text = "还原缩放";
break;
case "undo_all":
menuStrip.Items[i].Text = @"还原缩放\移动";
break;
case "set_default":
menuStrip.Items[i].Text = "恢复默认设置";
break;
}
}
}
}
}

78
Host/Plot_energy.designer.cs generated Normal file
View File

@ -0,0 +1,78 @@
namespace CRVM
{
partial class Plot_energy
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.zedGraphControl1 = new ZedGraph.ZedGraphControl();
this.timer1 = new System.Windows.Forms.Timer(this.components);
this.SuspendLayout();
//
// zedGraphControl1
//
this.zedGraphControl1.Dock = System.Windows.Forms.DockStyle.Fill;
this.zedGraphControl1.Location = new System.Drawing.Point(0, 0);
this.zedGraphControl1.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.zedGraphControl1.Name = "zedGraphControl1";
this.zedGraphControl1.ScrollGrace = 0D;
this.zedGraphControl1.ScrollMaxX = 0D;
this.zedGraphControl1.ScrollMaxY = 0D;
this.zedGraphControl1.ScrollMaxY2 = 0D;
this.zedGraphControl1.ScrollMinX = 0D;
this.zedGraphControl1.ScrollMinY = 0D;
this.zedGraphControl1.ScrollMinY2 = 0D;
this.zedGraphControl1.Size = new System.Drawing.Size(688, 411);
this.zedGraphControl1.TabIndex = 1;
this.zedGraphControl1.ContextMenuBuilder += new ZedGraph.ZedGraphControl.ContextMenuBuilderEventHandler(this.zedGraphControl1_ContextMenuBuilder);
this.zedGraphControl1.PointValueEvent += new ZedGraph.ZedGraphControl.PointValueHandler(this.zedGraphControl1_PointValueEvent);
//
// timer1
//
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
//
// Plot_energy
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(688, 411);
this.Controls.Add(this.zedGraphControl1);
this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.Name = "Plot_energy";
this.Text = "Plot_energy";
this.Load += new System.EventHandler(this.Plot_energy_Load);
this.ResumeLayout(false);
}
#endregion
private ZedGraph.ZedGraphControl zedGraphControl1;
private System.Windows.Forms.Timer timer1;
}
}

123
Host/Plot_energy.resx Normal file
View File

@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

855
Host/Plotting.cs Normal file
View File

@ -0,0 +1,855 @@
using System;
using System.Drawing;
using System.Windows.Forms;
using WeifenLuo.WinFormsUI.Docking;
using ZedGraph;
using CRVM.SIDExcuter;
using CRVM.Entity;
using CRVM.Utility;
namespace CRVM
{
public partial class Plotting : DockContent
{
private MasterPane master;
private Machine mac = null;
GraphPane gpt;
private double[] xAxisEnergy;
public Plotting(Machine mac)
{
this.mac = mac;
InitializeComponent();
}
private void Plotting_Load(object sender, EventArgs e)
{
GraRefresh();
}
public void GraRefresh()
{
if (mac != null)
{
zedGraphControl1.IsShowPointValues = false;
master = new MasterPane();
master.PaneList.Clear();
xAxisEnergy = mac.xAxisEnergy.ToArray();
if (SysParam.Instance.orderByOther)
{
if (SysParam.Instance.orderByChannel)
{
//for (int i = 0; i < SysParam.Instance.channelCount; i++)
for (int i = SysParam.Instance.channelCount - 1; i >= 0; i--)
{
if (SysParam.Instance.channel[i].ChChecked)
{
if (SysParam.Instance.checkBoxTime)
OrderByChannel_Time(mac.Stand[i], i);
if (SysParam.Instance.checkBoxEnergy)
OrderByChannel_Energy(mac.Stand[i], i);
}
}
}
else
{
if (SysParam.Instance.checkBoxTime)
OrderByKind_Time();
if (SysParam.Instance.checkBoxEnergy)
OrderByKind_Energy();
}
}
else if (SysParam.Instance.orderByStandnoR2L)
{
if (SysParam.Instance.checkBoxTime)
OrderByKind_Time();
if (SysParam.Instance.checkBoxEnergy)
OrderByKind_Energy();
}
else if (SysParam.Instance.orderByStandnoL2R)
{
if (SysParam.Instance.checkBoxTime)
OrderByKind_Time2();
if (SysParam.Instance.checkBoxEnergy)
OrderByKind_Energy2();
}
master.Border.IsVisible = false;
master.Margin.All = 5f;
master.InnerPaneGap = 5f;
master.Fill = new Fill(SysParam.Instance.colorBackgroud);
master.AxisChange();
zedGraphControl1.MasterPane = master;
if (SysParam.Instance.orderByStandnoR2L|| SysParam.Instance.orderByStandnoL2R)
{
int colNumTemp = 0;//显示的列数,按机架排列
for (int i = 0; i < SysParam.Instance.SpeedChannelCount; i++)
{
if (SysParam.Instance.channel[i].ChChecked)
{
colNumTemp++;
}
}
int picNumber = 0;
if (SysParam.Instance.checkBoxTime)
{
if (SysParam.Instance.checkBoxTimeAll)
{
picNumber++;
}
if (SysParam.Instance.checkBoxTimeL)
{
picNumber++;
}
if (SysParam.Instance.checkBoxTimeM)
{
picNumber++;
}
if (SysParam.Instance.checkBoxTimeH)
{
picNumber++;
}
if (SysParam.Instance.checkBoxTimeFre)
{
picNumber++;
}
if (SysParam.Instance.checkBoxTimeFilt)
{
picNumber++;
}
}
if (SysParam.Instance.checkBoxEnergy)
{
if (SysParam.Instance.checkBoxEnergyAll)
{
picNumber++;
}
if (SysParam.Instance.checkBoxEnergyL)
{
picNumber++;
}
if (SysParam.Instance.checkBoxEnergyM)
{
picNumber++;
}
if (SysParam.Instance.checkBoxEnergyH)
{
picNumber++;
}
if (SysParam.Instance.checkBoxEnergySpeed)
{
picNumber++;
}
}
if (picNumber == 0)
{
picNumber = 1;
}
zedGraphControl1.MasterPane.RowNum = picNumber;
if (colNumTemp == 0 || colNumTemp > SysParam.Instance.SpeedChannelCount)
{
}
else
{
zedGraphControl1.MasterPane.ColNum = colNumTemp;
}
zedGraphControl1.MasterPane.SetLayout(zedGraphControl1.CreateGraphics(), PaneLayout.UserFormat);
}
else if (SysParam.Instance.orderByOther)
{
if (SysParam.Instance.orderBySingleColumn)
{
zedGraphControl1.MasterPane.SetLayout(zedGraphControl1.CreateGraphics(), PaneLayout.SingleColumn);
}
else
{
zedGraphControl1.MasterPane.SetLayout(zedGraphControl1.CreateGraphics(), PaneLayout.SquareRowPreferred);
}
}
zedGraphControl1.Height = DockPanel.Height;
zedGraphControl1.Invalidate();
}
}
private void OrderByChannel_Time(Stand stand, int standNo)
{
if (standNo >= SysParam.Instance.SpeedChannelCount)
{
return;
}
if (SysParam.Instance.checkBoxTimeAll)
{
SetTimeGra_All(stand.tVib, SysParam.Instance.comboBoxTimeAll, (standNo + 1) + "号机架时域波形", standNo);
}
if (SysParam.Instance.checkBoxTimeL)
{
SetTimeGra_LMH(stand.tVib, stand.band_Fre_L1, stand.band_Fre_L2, SysParam.Instance.comboBoxTimeL, (standNo + 1) + "号机架低频时域", standNo);
}
if (SysParam.Instance.checkBoxTimeM)
{
SetTimeGra_LMH(stand.tVib, stand.band_Fre_M1, stand.band_Fre_M2, SysParam.Instance.comboBoxTimeM, (standNo + 1) + "号机架中频时域", standNo);
}
if (SysParam.Instance.checkBoxTimeH)
{
SetTimeGra_LMH(stand.tVib, stand.band_Fre_H1, stand.band_Fre_H2, SysParam.Instance.comboBoxTimeH, (standNo + 1) + "号机架高频时域", standNo);
}
if (SysParam.Instance.checkBoxTimeFre)
{
SetTimeGra_Fre(stand.tVib, SysParam.Instance.comboBoxTimeFre, (standNo + 1) + "号机架频谱");
}
if (SysParam.Instance.checkBoxTimeFilt)
{
SetTimeGra_LMH(stand.tVib, Convert.ToInt32(SysParam.Instance.textBoxf1), Convert.ToInt32(SysParam.Instance.textBoxf2), SysParam.Instance.ComboBoxTimeFilt, (standNo + 1) + "号机架带通滤波", standNo);
}
}
private void OrderByChannel_Energy(Stand stand, int standNo)
{
if (standNo >= SysParam.Instance.SpeedChannelCount)
{
return;
}
if (SysParam.Instance.checkBoxEnergyAll)
{
energy_All(stand.list_Energy_All.ToArray(), SysParam.Instance.comboBoxEnergyAll, (standNo + 1) + "号机架全局能量");
}
if (SysParam.Instance.checkBoxEnergyL)
{
energy_LMH(stand.list_Energy_L.ToArray(), stand.list_Alarm_L.ToArray(), stand.list_Defect_L.ToArray(), SysParam.Instance.comboBoxEnergyL, (standNo + 1) + "号机架低频能量");
}
if (SysParam.Instance.checkBoxEnergyM)
{
energy_LMH(stand.list_Energy_M.ToArray(), stand.list_Alarm_M.ToArray(), stand.list_Defect_M.ToArray(), SysParam.Instance.comboBoxEnergyM, (standNo + 1) + "号机架中频能量");
}
if (SysParam.Instance.checkBoxEnergyH)
{
energy_LMH(stand.list_Energy_H.ToArray(), stand.list_Alarm_H.ToArray(), stand.list_Defect_H.ToArray(), SysParam.Instance.comboBoxEnergyH, (standNo + 1) + "号机架高频能量");
}
if (SysParam.Instance.checkBoxEnergySpeed && (standNo < SysParam.Instance.SpeedChannelCount))
{
energy_Speed(stand.list_Energy_Speed.ToArray(), SysParam.Instance.comboBoxEnergySpeed, (standNo + 1) + "号机架速度");
}
}
private void OrderByKind_Time()
{
if (SysParam.Instance.checkBoxTimeAll)
{
//for (int i = 0; i < SysParam.Instance.channelCount; i++)
for (int i = SysParam.Instance.SpeedChannelCount - 1; i >= 0; i--)
{
if (SysParam.Instance.channel[i].ChChecked)
{
SetTimeGra_All(mac.Stand[i].tVib, SysParam.Instance.comboBoxTimeAll, (i + 1) + "号机架时域波形", i);
}
}
}
if (SysParam.Instance.checkBoxTimeL)
{
//for (int i = 0; i < SysParam.Instance.channelCount; i++)
for (int i = SysParam.Instance.SpeedChannelCount - 1; i >= 0; i--)
{
if (SysParam.Instance.channel[i].ChChecked)
{
SetTimeGra_LMH(mac.Stand[i].tVib, mac.Stand[i].band_Fre_L1, mac.Stand[i].band_Fre_L2, SysParam.Instance.comboBoxTimeL, (i + 1) + "号机架低频时域", i);
}
}
}
if (SysParam.Instance.checkBoxTimeM)
{
//for (int i = 0; i < SysParam.Instance.channelCount; i++)
for (int i = SysParam.Instance.SpeedChannelCount - 1; i >= 0; i--)
{
if (SysParam.Instance.channel[i].ChChecked)
{
SetTimeGra_LMH(mac.Stand[i].tVib, mac.Stand[i].band_Fre_M1, mac.Stand[i].band_Fre_M2, SysParam.Instance.comboBoxTimeM, (i + 1) + "号机架中频时域", i);
}
}
}
if (SysParam.Instance.checkBoxTimeH)
{
//for (int i = 0; i < SysParam.Instance.channelCount; i++)
for (int i = SysParam.Instance.SpeedChannelCount - 1; i >= 0; i--)
{
if (SysParam.Instance.channel[i].ChChecked)
{
SetTimeGra_LMH(mac.Stand[i].tVib, mac.Stand[i].band_Fre_H1, mac.Stand[i].band_Fre_H2, SysParam.Instance.comboBoxTimeH, (i + 1) + "号机架高频时域", i);
}
}
}
if (SysParam.Instance.checkBoxTimeFre)
{
//for (int i = 0; i < SysParam.Instance.channelCount; i++)
for (int i = SysParam.Instance.SpeedChannelCount - 1; i >= 0; i--)
{
if (SysParam.Instance.channel[i].ChChecked)
{
SetTimeGra_Fre(mac.Stand[i].tVib, SysParam.Instance.comboBoxTimeFre, (i + 1) + "号机架频谱");
}
}
}
if (SysParam.Instance.checkBoxTimeFilt)
{
//for (int i = 0; i < SysParam.Instance.channelCount; i++)
for (int i = SysParam.Instance.SpeedChannelCount-1; i >= 0; i--)
{
if (SysParam.Instance.channel[i].ChChecked)
{
SetTimeGra_LMH(mac.Stand[i].tVib, Convert.ToInt32(SysParam.Instance.textBoxf1), Convert.ToInt32(SysParam.Instance.textBoxf2), SysParam.Instance.ComboBoxTimeFilt, (i + 1) + "号机架带通滤波", i);
}
}
}
}
private void OrderByKind_Time2()
{
if (SysParam.Instance.checkBoxTimeAll)
{
for (int i = 0; i <SysParam.Instance.SpeedChannelCount; i++)
//for (int i = 4; i >= 0; i--)
{
if (SysParam.Instance.channel[i].ChChecked)
{
SetTimeGra_All(mac.Stand[i].tVib, SysParam.Instance.comboBoxTimeAll, (i + 1) + "号机架时域波形", i);
}
}
}
if (SysParam.Instance.checkBoxTimeL)
{
for (int i = 0; i < SysParam.Instance.SpeedChannelCount; i++)
//for (int i = 4; i >= 0; i--)
{
if (SysParam.Instance.channel[i].ChChecked)
{
SetTimeGra_LMH(mac.Stand[i].tVib, mac.Stand[i].band_Fre_L1, mac.Stand[i].band_Fre_L2, SysParam.Instance.comboBoxTimeL, (i + 1) + "号机架低频时域", i);
}
}
}
if (SysParam.Instance.checkBoxTimeM)
{
for (int i = 0; i < SysParam.Instance.SpeedChannelCount; i++)
//for (int i = 4; i >= 0; i--)
{
if (SysParam.Instance.channel[i].ChChecked)
{
SetTimeGra_LMH(mac.Stand[i].tVib, mac.Stand[i].band_Fre_M1, mac.Stand[i].band_Fre_M2, SysParam.Instance.comboBoxTimeM, (i + 1) + "号机架中频时域", i);
}
}
}
if (SysParam.Instance.checkBoxTimeH)
{
for (int i = 0; i < SysParam.Instance.SpeedChannelCount; i++)
//for (int i = 4; i >= 0; i--)
{
if (SysParam.Instance.channel[i].ChChecked)
{
SetTimeGra_LMH(mac.Stand[i].tVib, mac.Stand[i].band_Fre_H1, mac.Stand[i].band_Fre_H2, SysParam.Instance.comboBoxTimeH, (i + 1) + "号机架高频时域", i);
}
}
}
if (SysParam.Instance.checkBoxTimeFre)
{
for (int i = 0; i < SysParam.Instance.SpeedChannelCount; i++)
//for (int i = 4; i >= 0; i--)
{
if (SysParam.Instance.channel[i].ChChecked)
{
SetTimeGra_Fre(mac.Stand[i].tVib, SysParam.Instance.comboBoxTimeFre, (i + 1) + "号机架频谱");
}
}
}
if (SysParam.Instance.checkBoxTimeFilt)
{
for (int i = 0; i < SysParam.Instance.SpeedChannelCount; i++)
//for (int i = 4; i >= 0; i--)
{
if (SysParam.Instance.channel[i].ChChecked)
{
SetTimeGra_LMH(mac.Stand[i].tVib, Convert.ToInt32(SysParam.Instance.textBoxf1), Convert.ToInt32(SysParam.Instance.textBoxf2), SysParam.Instance.ComboBoxTimeFilt, (i + 1) + "号机架带通滤波", i);
}
}
}
}
private void OrderByKind_Energy()
{
if (SysParam.Instance.checkBoxEnergyAll)
{
//for (int i = 0; i < SysParam.Instance.channelCount; i++)
for (int i = SysParam.Instance.SpeedChannelCount - 1; i >= 0; i--)
{
if (SysParam.Instance.channel[i].ChChecked)
{
energy_All(mac.Stand[i].list_Energy_All.ToArray(), SysParam.Instance.comboBoxEnergyAll, (i + 1) + "号机架全局能量");
}
}
}
if (SysParam.Instance.checkBoxEnergyL)
{
//for (int i = 0; i < SysParam.Instance.channelCount; i++)
for (int i = SysParam.Instance.SpeedChannelCount - 1; i >= 0; i--)
{
if (SysParam.Instance.channel[i].ChChecked)
{
energy_LMH(mac.Stand[i].list_Energy_L.ToArray(), mac.Stand[i].list_Alarm_L.ToArray(), mac.Stand[i].list_Defect_L.ToArray(), SysParam.Instance.comboBoxEnergyL, (i + 1) + "号机架低频能量");
}
}
}
if (SysParam.Instance.checkBoxEnergyM)
{
//for (int i = 0; i < SysParam.Instance.channelCount; i++)
for (int i = SysParam.Instance.SpeedChannelCount - 1; i >= 0; i--)
{
if (SysParam.Instance.channel[i].ChChecked)
{
energy_LMH(mac.Stand[i].list_Energy_M.ToArray(), mac.Stand[i].list_Alarm_M.ToArray(), mac.Stand[i].list_Defect_M.ToArray(), SysParam.Instance.comboBoxEnergyM, (i + 1) + "号机架中频能量");
}
}
}
if (SysParam.Instance.checkBoxEnergyH)
{
//for (int i = 0; i < SysParam.Instance.channelCount; i++)
for (int i = SysParam.Instance.SpeedChannelCount - 1; i >= 0; i--)
{
if (SysParam.Instance.channel[i].ChChecked)
{
energy_LMH(mac.Stand[i].list_Energy_H.ToArray(), mac.Stand[i].list_Alarm_H.ToArray(), mac.Stand[i].list_Defect_H.ToArray(), SysParam.Instance.comboBoxEnergyH, (i + 1) + "号机架高频能量");
}
}
}
if (SysParam.Instance.checkBoxEnergySpeed)
{
//for (int i = 0; i < SysParam.Instance.SpeedChannelCount; i++)
for (int i = SysParam.Instance.SpeedChannelCount-1; i >= 0; i--)
{
if (SysParam.Instance.channel[i].ChChecked)
{
energy_Speed(mac.Stand[i].list_Energy_Speed.ToArray(), SysParam.Instance.comboBoxEnergySpeed, (i + 1) + "号机架速度");
}
}
}
}
private void OrderByKind_Energy2()
{
if (SysParam.Instance.checkBoxEnergyAll)
{
for (int i = 0; i < SysParam.Instance.SpeedChannelCount; i++)
//for (int i = 4; i >= 0; i--)
{
if (SysParam.Instance.channel[i].ChChecked)
{
energy_All(mac.Stand[i].list_Energy_All.ToArray(), SysParam.Instance.comboBoxEnergyAll, (i + 1) + "号机架全局能量");
}
}
}
if (SysParam.Instance.checkBoxEnergyL)
{
for (int i = 0; i < SysParam.Instance.SpeedChannelCount; i++)
//for (int i = 4; i >= 0; i--)
{
if (SysParam.Instance.channel[i].ChChecked)
{
energy_LMH(mac.Stand[i].list_Energy_L.ToArray(), mac.Stand[i].list_Alarm_L.ToArray(), mac.Stand[i].list_Defect_L.ToArray(), SysParam.Instance.comboBoxEnergyL, (i + 1) + "号机架低频能量");
}
}
}
if (SysParam.Instance.checkBoxEnergyM)
{
for (int i = 0; i < SysParam.Instance.SpeedChannelCount; i++)
//for (int i = 4; i >= 0; i--)
{
if (SysParam.Instance.channel[i].ChChecked)
{
energy_LMH(mac.Stand[i].list_Energy_M.ToArray(), mac.Stand[i].list_Alarm_M.ToArray(), mac.Stand[i].list_Defect_M.ToArray(), SysParam.Instance.comboBoxEnergyM, (i + 1) + "号机架中频能量");
}
}
}
if (SysParam.Instance.checkBoxEnergyH)
{
for (int i = 0; i < SysParam.Instance.SpeedChannelCount; i++)
//for (int i = 4; i >= 0; i--)
{
if (SysParam.Instance.channel[i].ChChecked)
{
energy_LMH(mac.Stand[i].list_Energy_H.ToArray(), mac.Stand[i].list_Alarm_H.ToArray(), mac.Stand[i].list_Defect_H.ToArray(), SysParam.Instance.comboBoxEnergyH, (i + 1) + "号机架高频能量");
}
}
}
if (SysParam.Instance.checkBoxEnergySpeed)
{
for (int i = 0; i < SysParam.Instance.SpeedChannelCount; i++)
//for (int i = 4; i >= 0; i--)
{
if (SysParam.Instance.channel[i].ChChecked)
{
energy_Speed(mac.Stand[i].list_Energy_Speed.ToArray(), SysParam.Instance.comboBoxEnergySpeed, (i + 1) + "号机架速度");
}
}
}
}
private void SetTimeGra_All(double[] tx, string yAxisVal, string title, int standno)
{
//DevelopLog.DeBug.WriteLogFile("onlineview", "###############");
gpt = new GraphPane();
gpt.CurveList.Clear();
//辊系故障判别线
if (SysParam.Instance.rollLineVisible && mac.Stand[standno].speed > 5)
{
double rotatetimeB, rotatetimeM, rotatetimeW;
rotatetimeB = (Math.PI * (mac.Stand[standno].rollDiameterBL + mac.Stand[standno].rollDiameterBU) / 2.0) / (mac.Stand[standno].speed / 60 * 1000);//支撑辊的旋转周期
rotatetimeM = (Math.PI * (mac.Stand[standno].rollDiameterML + mac.Stand[standno].rollDiameterMU) / 2.0) / (mac.Stand[standno].speed / 60 * 1000);//中间辊的旋转周期
rotatetimeW = (Math.PI * (mac.Stand[standno].rollDiameterWL + mac.Stand[standno].rollDiameterWU) / 2.0) / (mac.Stand[standno].speed / 60 * 1000);//工作辊的旋转周期
//DevelopLog.DeBug.WriteLogFile("onlineview", rotatetimeB.ToString());
//DevelopLog.DeBug.WriteLogFile("onlineview", rotatetimeM.ToString());
//DevelopLog.DeBug.WriteLogFile("onlineview", rotatetimeW.ToString());
if (rotatetimeB < mac.xAxisTime[mac.xAxisTime.Length - 1])
{
double[] x = { rotatetimeB, rotatetimeB };
double[] y = { Convert.ToDouble(yAxisVal), -Convert.ToDouble(yAxisVal) };
gpt.AddStick("支撑辊(" + rotatetimeB.ToString("0.000") + "s)", x, y, SysParam.Instance.colorBackupRoll).Line.Width = 2f;
}
if (rotatetimeM < mac.xAxisTime[mac.xAxisTime.Length - 1])
{
double[] x = { rotatetimeM, rotatetimeM };
double[] y = { Convert.ToDouble(yAxisVal), -Convert.ToDouble(yAxisVal) };
gpt.AddStick("中间辊(" + rotatetimeM.ToString("0.000") + "s)", x, y, SysParam.Instance.colorMidRoll).Line.Width = 2f;
}
if (rotatetimeW < mac.xAxisTime[mac.xAxisTime.Length - 1])
{
double[] x = { rotatetimeW, rotatetimeW };
double[] y = { Convert.ToDouble(yAxisVal), -Convert.ToDouble(yAxisVal) };
gpt.AddStick("工作辊(" + rotatetimeW.ToString("0.000") + "s)", x, y, SysParam.Instance.colorWorkRoll).Line.Width = 2f;
}
}
gpt.AddCurve("", mac.xAxisTime, tx, SysParam.Instance.colorTime, SymbolType.None);
gpt.XAxis.Scale.Min = 0;
gpt.XAxis.Scale.Max = mac.xAxisTime[mac.xAxisTime.Length - 1];
gpt.YAxis.Scale.Min = -Convert.ToSingle(yAxisVal);
gpt.YAxis.Scale.Max = Convert.ToSingle(yAxisVal);
gpt.Title.Text = title;
GraPaneSetting(gpt);
master.Add(gpt);
}
private void SetTimeGra_LMH(double[] tx, int fre_1, int fre_2, string yAxisVal, string title, int standno)
{
gpt = new GraphPane();
int length = tx.Length;
double[] llf = new double[length];
llf = SysParam.Instance.filterAlgor(tx, fre_1, fre_2, length, 100, Convert.ToInt32(SysParam.Instance.sampleFre));
gpt.CurveList.Clear();
//辊系故障判别线
if (SysParam.Instance.rollLineVisible && mac.Stand[standno].speed > 5)
{
double rotatetimeB, rotatetimeM, rotatetimeW;
rotatetimeB = (Math.PI * (mac.Stand[standno].rollDiameterBL + mac.Stand[standno].rollDiameterBU) / 2.0) / (mac.Stand[standno].speed / 60 * 1000);//支撑辊的旋转周期
rotatetimeM = (Math.PI * (mac.Stand[standno].rollDiameterML + mac.Stand[standno].rollDiameterMU) / 2.0) / (mac.Stand[standno].speed / 60 * 1000);//中间辊的旋转周期
rotatetimeW = (Math.PI * (mac.Stand[standno].rollDiameterWL + mac.Stand[standno].rollDiameterWU) / 2.0) / (mac.Stand[standno].speed / 60 * 1000);//工作辊的旋转周期
if (rotatetimeB < mac.xAxisTime[mac.xAxisTime.Length - 1])
{
double[] x = { rotatetimeB, rotatetimeB };
double[] y = { Convert.ToDouble(yAxisVal), -Convert.ToDouble(yAxisVal) };
gpt.AddStick("支撑辊(" + rotatetimeB.ToString("0.000") + "s)", x, y, SysParam.Instance.colorBackupRoll).Line.Width = 2f;
}
if (rotatetimeM < mac.xAxisTime[mac.xAxisTime.Length - 1])
{
double[] x = { rotatetimeM, rotatetimeM };
double[] y = { Convert.ToDouble(yAxisVal), -Convert.ToDouble(yAxisVal) };
gpt.AddStick("中间辊(" + rotatetimeM.ToString("0.000") + "s)", x, y, SysParam.Instance.colorMidRoll).Line.Width = 2f;
}
if (rotatetimeW < mac.xAxisTime[mac.xAxisTime.Length - 1])
{
double[] x = { rotatetimeW, rotatetimeW };
double[] y = { Convert.ToDouble(yAxisVal), -Convert.ToDouble(yAxisVal) };
gpt.AddStick("工作辊(" + rotatetimeW.ToString("0.000") + "s)", x, y, SysParam.Instance.colorWorkRoll).Line.Width = 2f;
}
}
gpt.AddCurve("", mac.xAxisTime, llf, SysParam.Instance.colorTime, SymbolType.None);
gpt.XAxis.Scale.Min = 0;
gpt.XAxis.Scale.Max = mac.xAxisTime[mac.xAxisTime.Length - 1]; ;
gpt.YAxis.Scale.Min = -Convert.ToSingle(yAxisVal);
gpt.YAxis.Scale.Max = Convert.ToSingle(yAxisVal);
gpt.Title.Text = title;
GraPaneSetting(gpt);
master.Add(gpt);
}
private void SetTimeGra_Fre(double[] tx, string yAxisVal, string title)
{
gpt = new GraphPane();
gpt.CurveList.Clear();
PointPairList list_f = new PointPairList();
list_f.Clear();
int myLength = tx.Length;
int length = Convert.ToInt32(Math.Pow(2, SysParam.Instance.N2M(myLength)));
double[] f = new double[length];
double[] tt = new double[length];
for (int i = 0; i < length; i++)
{
tt[i] = tx[myLength - length + i];
}
SysParam.Instance.FFT(tt, f, length, 1);
for (int i = 0; i < length / 2; i++)
{
f[i] = 2 * Math.Sqrt(tt[i] * tt[i] + f[i] * f[i]) / length;
list_f.Add(Convert.ToDouble(i) * SysParam.Instance.sampleFre / length, f[i]);
}
gpt.AddCurve("", list_f, SysParam.Instance.colorFre, SymbolType.None);
gpt.XAxis.Scale.Max = SysParam.Instance.sampleFre / 2;
gpt.XAxis.Scale.Min = 0;
gpt.YAxis.Scale.Max = Convert.ToSingle(yAxisVal);
gpt.YAxis.Scale.Min = 0;
gpt.Title.Text = title;
GraPaneSetting(gpt);
master.Add(gpt);
}
private void energy_All(double[] energyList, string yAxisVal, string title)
{
gpt = new GraphPane();
gpt.CurveList.Clear();
if (mac.list_CutTime.Count > 0)
{
PointPairList templist = new PointPairList();
for (int i = 0; i < mac.list_CutTime.Count; i++)
{
templist.Add(mac.list_CutTime[i], Convert.ToDouble(yAxisVal));
}
gpt.AddStick("剪切线", templist, SysParam.Instance.colorCut).Line.Width = 2f;
}
gpt.AddCurve("", xAxisEnergy, energyList, SysParam.Instance.colorEnergy, SymbolType.None);
gpt.XAxis.Scale.Min = xAxisEnergy[0];
gpt.XAxis.Scale.Max = xAxisEnergy[xAxisEnergy.Length - 1];
gpt.XAxis.Type = AxisType.Date;
gpt.XAxis.Scale.Format = "HH:mm:ss";
gpt.YAxis.Scale.Min = 0.0;
gpt.YAxis.Scale.Max = Convert.ToDouble(yAxisVal);
gpt.Title.Text = title;
GraPaneSetting(gpt);
this.master.Add(gpt);
}
private void energy_LMH(double[] lineList, double[] alarmList, double[] defectList, string yAxisVal, string title)
{
gpt = new GraphPane();
gpt.CurveList.Clear();
if (mac.list_CutTime.Count > 0)
{
PointPairList templist = new PointPairList();
for (int i = 0; i < mac.list_CutTime.Count; i++)
{
templist.Add(mac.list_CutTime[i], Convert.ToDouble(yAxisVal));
}
gpt.AddStick("剪切线", templist, SysParam.Instance.colorCut).Line.Width = 2f;
}
gpt.AddCurve("缺陷线", xAxisEnergy, defectList, SysParam.Instance.colorDefect, SymbolType.None).Line.Width = 2f;
gpt.AddCurve("报警线", xAxisEnergy, alarmList, SysParam.Instance.colorAlarm, SymbolType.None).Line.Width = 2f;
gpt.AddCurve("", xAxisEnergy, lineList, SysParam.Instance.colorEnergy, SymbolType.None);
gpt.XAxis.Scale.Min = xAxisEnergy[0];
gpt.XAxis.Scale.Max = xAxisEnergy[xAxisEnergy.Length - 1];
gpt.XAxis.Type = AxisType.Date;
gpt.XAxis.Scale.Format = "HH:mm:ss";
gpt.YAxis.Scale.Min = 0.0;
gpt.YAxis.Scale.Max = Convert.ToDouble(yAxisVal);
gpt.Title.Text = title;
GraPaneSetting(gpt);
this.master.Add(gpt);
}
private void energy_Speed(double[] speedList, string yAxisVal, string title)
{
gpt = new GraphPane();
gpt.CurveList.Clear();
if (mac.list_CutTime.Count > 0)
{
PointPairList templist = new PointPairList();
for (int i = 0; i < mac.list_CutTime.Count; i++)
{
templist.Add(mac.list_CutTime[i], Convert.ToDouble(yAxisVal));
}
gpt.AddStick("剪切线", templist, SysParam.Instance.colorCut).Line.Width = 2f;
}
gpt.AddCurve("速度", xAxisEnergy, speedList, SysParam.Instance.colorSpeed, SymbolType.None).Line.Width = 2f;
gpt.XAxis.Scale.Min = xAxisEnergy[0];
gpt.XAxis.Scale.Max = xAxisEnergy[xAxisEnergy.Length - 1];
gpt.XAxis.Type = AxisType.Date;
gpt.XAxis.Scale.Format = "HH:mm:ss";
gpt.YAxis.Scale.Min = 0.0;
gpt.YAxis.Scale.Max = Convert.ToSingle(yAxisVal);
gpt.Title.Text = title;
GraPaneSetting(gpt);
this.master.Add(gpt);
}
private static void GraPaneSetting(GraphPane tempGraph)
{
float fontsize = SysParam.Instance.fontSize;
Color myFontColor = SysParam.Instance.colorFont;
//tempGraph.Margin.All = 2f;
tempGraph.Fill.IsVisible = false;
tempGraph.IsFontsScaled = false;
tempGraph.TitleGap = 0f;
tempGraph.Margin.All = 3f;
tempGraph.Border.Color = Color.FromArgb(127, myFontColor);
tempGraph.Chart.Border.Color = myFontColor;
tempGraph.Chart.Fill.IsVisible = false;
tempGraph.Title.FontSpec.FontColor = myFontColor;
tempGraph.Title.FontSpec.Family = "微软雅黑";
tempGraph.Title.FontSpec.IsBold = false;
tempGraph.Title.FontSpec.Size = 1.5f * fontsize;
tempGraph.Legend.Border.IsVisible = false;
tempGraph.Legend.Position = LegendPos.InsideTopLeft;
tempGraph.Legend.IsHStack = false;
tempGraph.Legend.IsShowLegendSymbols = false;
tempGraph.Legend.FontSpec.Size = 0.8f * fontsize;
tempGraph.Legend.Fill.IsVisible = false;
tempGraph.Legend.FontSpec.FontColor = myFontColor;
tempGraph.Legend.FontSpec.Family = "微软雅黑";
tempGraph.XAxis.Title.FontSpec.Family = "微软雅黑";
tempGraph.XAxis.Title.FontSpec.IsBold = false;
tempGraph.XAxis.Scale.FontSpec.FontColor = myFontColor;
tempGraph.XAxis.Scale.FontSpec.Size = fontsize;
tempGraph.XAxis.Title.IsVisible = false;
tempGraph.XAxis.MajorTic.IsOutside = false;
tempGraph.XAxis.MajorTic.Color = Color.FromArgb(127, myFontColor);
tempGraph.XAxis.MinorTic.IsAllTics = false;
tempGraph.YAxis.Title.FontSpec.Family = "微软雅黑";
tempGraph.YAxis.Title.FontSpec.IsBold = false;
tempGraph.YAxis.Scale.FontSpec.FontColor = myFontColor;
tempGraph.YAxis.Scale.FontSpec.Size = fontsize;
tempGraph.YAxis.Title.IsVisible = false;
tempGraph.YAxis.MajorTic.IsOutside = false;
tempGraph.YAxis.MajorTic.Color = Color.FromArgb(127, myFontColor);
tempGraph.YAxis.MinorTic.IsAllTics = false;
tempGraph.YAxis.MajorGrid.IsZeroLine = false;
if (SysParam.Instance.BackgroundGridOn)
{
tempGraph.XAxis.MajorGrid.IsVisible = true;
tempGraph.XAxis.MajorGrid.Color = Color.FromArgb(127, myFontColor);
tempGraph.YAxis.MajorGrid.IsVisible = true;
tempGraph.YAxis.MajorGrid.Color = Color.FromArgb(127, myFontColor);
}
else
{
tempGraph.XAxis.MajorGrid.IsVisible = false;
tempGraph.YAxis.MajorGrid.IsVisible = false;
}
}
private string zedGraphControl1_PointValueEvent(ZedGraphControl sender, GraphPane pane, CurveItem curve, int iPt)
{
if (pane.Title.Text.Contains("能量"))
{
if (iPt < curve.Points.Count)
{
PointPair pt = curve[iPt];
return (DateTime.FromOADate(pt.X).ToString("HH:mm:ss.ff") + " " + pt.Y.ToString("0.00000") + "g " + mac.distance_Pause[iPt].ToString("0.0") + "m");
}
else
{
return "";
}
}
else if (pane.Title.Text.Contains("速度"))
{
if (iPt < curve.Points.Count)
{
PointPair pt = curve[iPt];
return (DateTime.FromOADate(pt.X).ToString("HH:mm:ss.ff") + " " + pt.Y.ToString("0.0") + "m/min " + mac.distance_Pause[iPt].ToString("0.0") + "m");
}
else
{
return "";
}
}
else if (pane.Title.Text.Contains("频谱"))
{
if (iPt < curve.Points.Count)
{
PointPair pt = curve[iPt];
return (pt.X.ToString("0.0") + "Hz " + pt.Y.ToString("0.00000") + "g");
}
else
{
return "";
}
}
else
{
if (iPt < curve.Points.Count)
{
PointPair pt = curve[iPt];
return (pt.X.ToString("0.000") + "s " + pt.Y.ToString("0.00000") + "g");
}
else
{
return "";
}
}
}
private void zedGraphControl1_ContextMenuBuilder(ZedGraphControl sender, ContextMenuStrip menuStrip, Point mousePt, ZedGraphControl.ContextMenuObjectState objState)
{
for (int i = 0; i < menuStrip.Items.Count; i++)
{
switch (menuStrip.Items[i].Tag.ToString().Trim())
{
case "copy":
menuStrip.Items[i].Text = "复制图片";
break;
case "show_val":
menuStrip.Items[i].Text = "查看坐标";
break;
case "save_as":
menuStrip.Items[i].Text = "图片保存至...";
break;
case "page_setup":
menuStrip.Items[i].Text = "页面设置";
break;
case "print":
menuStrip.Items[i].Text = "打印";
break;
case "unzoom":
menuStrip.Items[i].Text = "还原缩放";
break;
case "undo_all":
menuStrip.Items[i].Text = @"还原缩放\移动";
break;
case "set_default":
menuStrip.Items[i].Text = "恢复默认设置";
break;
}
}
}
public void IsShowMenuStrip(bool IsShow)
{
zedGraphControl1.IsShowContextMenu = IsShow;
}
}
}

75
Host/Plotting.designer.cs generated Normal file
View File

@ -0,0 +1,75 @@
namespace CRVM
{
partial class Plotting
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Plotting));
this.zedGraphControl1 = new ZedGraph.ZedGraphControl();
this.SuspendLayout();
//
// zedGraphControl1
//
this.zedGraphControl1.Dock = System.Windows.Forms.DockStyle.Fill;
this.zedGraphControl1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.zedGraphControl1.Location = new System.Drawing.Point(0, 0);
this.zedGraphControl1.Margin = new System.Windows.Forms.Padding(0);
this.zedGraphControl1.Name = "zedGraphControl1";
this.zedGraphControl1.ScrollGrace = 0D;
this.zedGraphControl1.ScrollMaxX = 0D;
this.zedGraphControl1.ScrollMaxY = 0D;
this.zedGraphControl1.ScrollMaxY2 = 0D;
this.zedGraphControl1.ScrollMinX = 0D;
this.zedGraphControl1.ScrollMinY = 0D;
this.zedGraphControl1.ScrollMinY2 = 0D;
this.zedGraphControl1.Size = new System.Drawing.Size(762, 573);
this.zedGraphControl1.TabIndex = 0;
this.zedGraphControl1.ContextMenuBuilder += new ZedGraph.ZedGraphControl.ContextMenuBuilderEventHandler(this.zedGraphControl1_ContextMenuBuilder);
this.zedGraphControl1.PointValueEvent += new ZedGraph.ZedGraphControl.PointValueHandler(this.zedGraphControl1_PointValueEvent);
//
// Plotting
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(762, 573);
this.Controls.Add(this.zedGraphControl1);
this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.Name = "Plotting";
this.Text = "Plotting";
this.Load += new System.EventHandler(this.Plotting_Load);
this.ResumeLayout(false);
}
#endregion
private ZedGraph.ZedGraphControl zedGraphControl1;
}
}

188
Host/Plotting.resx Normal file
View File

@ -0,0 +1,188 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAIiEAAAEAGACYDgAAFgAAACgAAAAiAAAAQgAAAAEAGAAAAAAAcA4AAAAAAAAAAAAAAAAAAAAA
AAClg2iQXC+QYjeXYzeVYjWTYjeSYTeSYTeTYjeTYTeTYTeTYjeTYjeTYjaTYjaTYjaTYjaTYjeTYTeT
YTeTYTeTYjeTYjeTYTeTYTeTYTeTYjeTYjeTYTeTYTeUYTaUYTaIVy7JtawAAKKFa3k2AHguAH4yAHw7
AIRAAIdGAIdHAIdGAIdFAIdFAIdGAIdGAIZGAIdHAIdHAIdFAIdGAIdFAIdFAIdFAIdGAIdGAIdFAIdF
AIdFAIdGAIdGAIdFAIdFAIVGAIdGAIA4AMWskwAA////////9/b25t/XxrWloXJKcTcAfTkAgEAAhkgA
iUwDiEsCiU0HikwDiEwEiUwAiUwAiEwAiUsAiUsAiUsAiEwAiEwAiUsAiUsAiUsAiEwAiEwAiUsAiUsA
iUsAiUsCgj4Axa+VAAD////////////////o5ebDu7X5+/3ZysOyjXOKUyR1NQCCPACJRgCMSwCLSwCL
SQSKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACITAKDPgDFr5YAAP//
//////3///3//vn////////5/v////////////Tu6cWqk5VhMno1AIdDAIxGBIlMAIpLAIpMAIlMAIlM
AIpMAIlMAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIhMAoM+AMWvlgAA/////////v/////+/v///v79
///+/f7////+/vz/tJyNrZWFxayc/vz4sJF2fkQGiEYAh0wDikoDi0sAiUoEiEsHikwAikwAikwAikwA
ikwAikwAikwAikwAikwAiEwCgz4Axa+WAAD//////////////////////////////v/7/v75//3/////
+fzl39vAraz8/f/b08yOVzV9PACHRgCLSQKSRwiJTAKKSwCJTACKTACKTACKTACKTACKTACKTACKTACI
TAKDPgDFr5YAAP///////////////////////////////vj9/////v///////////////9TNyMrFw7uo
me7k362Hbn9FC4dFAIdLAolMAIpMAIlMAIpMAIpMAIpMAIpMAIpMAIpMAIhMAoM+AMWvlgAA////////
/////////////////////f39//7/2dLOxbGr0s3I1dDK4NbP////////59/Uhlg3rZF3///+kF8zhz8A
jksAjkoDjEsDiUwAikwAikwAikwAikwAikwAiEwCgz4Axq+WAAD////////////////////////////6
/f38/f3//f/////////y8O6JZUduLgCdbkfx7ez////l29R9Tia2lX+6nYSHRA6GRgCHSwOKTACKTACJ
SwCKTACKTACKTACITAKDPgDGr5YAAP////////////////////////////79/vz+/Pj9/vr6/vr8/vj/
//////78+bWeh4pSH3M2AMy+q////8WvnnpPJsKkl5ptRYVGAIpMAIlLAIpMAIlLAIpMAIpMAIhMAoM+
AMavlgAA/////////////////////////////////////////////////////f//+/39////////2su9
dTsAhE8VwqiP////eToAi0sVoGE3jUoAkEoDik0AiUsAikwAikwAiEwCgz4Axa+WAAD/////////////
///////////////////////////////////8/Pz7/v7+/f3LxcbOw7/o4t7////HtKJ3MQCLURbg2NG8
nol6NwCNSASKTACLSgSJTACKTACKTACITAKDPgDFr5YAAP//////////////////////////////////
//////7+/v7+/v////////////////Tx8behkYpoR+Pa1f///5pwUWokAL6ZgtbMvIFDAIlIAIlOAIpL
AIpMAIpMAIhMAoM+AMWvlgAA/////////////////////////////////////////f39////2dna1dLS
v6ej8u3q////5ujp5d7enn5igFAn1MW1zLikcSIAiE4YxKmWiEoMi0oAiUwAikwAikwAiEwCgz4Axa+W
AAD////////////////////////////////////////9/f79/f3////////t6ue7pJeTa1C+nYf8//r/
///w4d15PxOkfWHl3NSHSxJ7OACUWSqFSgKKTACJSwCKTACITAKDPgDFr5YAAP////////////7/////
//////////3+/v7+/v3+/v7+/P39/v38/vn8/f3//f///////66TeHIwAKyBYeHZ0////7yelpBVILqY
e6V7WoBAAIdJAolLAIpMAIpMAIhMAoM+AMWvlgAAyr+3k2Q0nXJY////t6GLzLKiuaOQ////////////
+f7/+v7///7+/Pz+//7//P///P7/////////waSNdycAgk4a9/vtuKGYezMAj2Avt4Vgh0AAjU0CiEsA
iEsCiEwAgz4Axa6WAACbbEKCPgCFRgB1NwCKPAB+PQCFPACBSxqsjG7Tx77////////9///+///r5uXf
3N3////l6eXPxsPSycr///+Sa0RwKwC5momwjXOKRgCDSg+jaTyESAONTQCNTACISwKDPgDFrpYAAJ5z
T4lGAIdMAIlMAIhLAo1OAIhKCIlHAIVAAHw7AH5GC7yege/r6////9TSy6mQhcW3tP////Pz96CGaauE
c////9K7rnQsAIpZL7KCY5BWGo5HAIxMBIdKBodLA4hMAIM+AMWulgAAnnNNh0UAiksAikwAikwAiUsA
ikwAiUwAiUoCi0wDiUgCjD0AdzIAjmI34tfR////p452hlgxu5+H/P/81sSyZicA386/////gkwegDkA
lFwvllwliEgCikwAikwAiEwCgz4Axa6WAACgc02HRQCKTACKTACKTACKTACKTACKTAKJSgOKSgOISgKI
SQeHTACLRgB8NwCKUyDOvLP59+yMXTJ3MQDDrJb49PSHVjWPXzj///6qhmp+OACJSguKSgOJTQCKSwCI
TAKDPgDFrpYAAJ9zTYZFAIpMAIpMAIpMAIpMAIpMAIpMAIpLAIlLAIpNAIhLA4hOAItLAodLBolIAIM+
AHs3AMewnLCZfnI0AIJCDPr48qR+V28jANfHvbiWfn48AIlJAJBKA4dMAIhMAoM+AMWulgAAnnRNh0UA
ikwAikwAikwAikwAikwAikwAikwAikwAiUsAikwAiksAiUwAikwAiUsAjU0Ah0kGiEAAklQrvJ2Li0YO
ejUAsol5mF8ufzAAlm1NwJV9fzwAhU0AjUoCiEwAgz4Axa6WAACedE2HRQCKTACKTACKTACKTACKTACK
TACKTACKTACKTACKTACKTACKTACKTACKTACHSwaRSwCJSQaHSQCCPgCsckyHRQuCQgCFRQCuhWV+PQCC
Th7Ir56FQASHTACISwCDPgDFrpYAAJ50TYdFAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIpM
AIpMAIpMAIlLAIpMAIhMAohMAo5NA4dKBIZHAJhbIJVZHI1OAIBGGaRrPIdEAIJGE5xiLIhIAIhMAIM+
AMWulgAAnnRNh0UAikwAikwAikwAikwAikwAikwAikwAikwAikwAikwAikwAikwAikwAikwAiUsAikwA
iksAiUsAiksAikwAiEkAhUgEjUsDiUcDiEsIjksIiEkAiEkDiEsCiEwAgz4Axa6WAACedE2HRQCKTACK
TACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACISgCLTQKKTACG
TACLTACLSwKMSgKKSwCKTACKTACKTACITAKDPgDFrpYAAJ50TYdFAIpMAIpMAIpMAIpMAIpMAIpMAIpM
AIpMAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIlLAIpMAIpMAIlMAIpMAIpMAIpLAolMAIpM
AIlMAIpLAIhMAoM+AMWulQAAnnRNh0UAikwAikwAikwAikwAikwAikwAikwAikwAikwAikwAikwAikwA
ikwAikwAikwAikwAikwAikwAikwAiUsAiUsAiksAiUsAiUwAiUwAiksAiUsAiksAikwAiEwCgz4Axa6V
AACfdE2HRQCJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACJ
TACJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACITAKDPgDFrpQAAJduQoM5AIZAAIZAAIY/
AIY/AIZAAIZAAIZAAIY/AIY/AIZAAIZAAIZAAIY/AIY/AIZAAIZAAIY/AIY/AIY/AIZAAIZAAIY/AIY/
AIY/AIZAAIZAAIY/AIY/AIZCAIc+AHwzAMWolgAAw62htJZvtZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1
tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1
tZp1tZh3r5Fw29DGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
</value>
</data>
</root>

1201
Host/PlottingReview.cs Normal file

File diff suppressed because it is too large Load Diff

258
Host/PlottingReview.designer.cs generated Normal file
View File

@ -0,0 +1,258 @@
namespace CRVM
{
partial class PlottingReview
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PlottingReview));
this.zedGraphControl1 = new ZedGraph.ZedGraphControl();
this.timer1 = new System.Windows.Forms.Timer(this.components);
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
this.btStart = new System.Windows.Forms.ToolStripButton();
this.btPause = new System.Windows.Forms.ToolStripButton();
this.btStop = new System.Windows.Forms.ToolStripButton();
this.btLeft = new System.Windows.Forms.ToolStripButton();
this.btRight = new System.Windows.Forms.ToolStripButton();
this.stepBar = new System.Windows.Forms.HScrollBar();
this.trackBar1 = new System.Windows.Forms.TrackBar();
this.tableLayoutPanel1.SuspendLayout();
this.tableLayoutPanel2.SuspendLayout();
this.toolStrip1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.trackBar1)).BeginInit();
this.SuspendLayout();
//
// zedGraphControl1
//
this.zedGraphControl1.BackColor = System.Drawing.SystemColors.Control;
this.zedGraphControl1.Dock = System.Windows.Forms.DockStyle.Fill;
this.zedGraphControl1.Location = new System.Drawing.Point(0, 0);
this.zedGraphControl1.Margin = new System.Windows.Forms.Padding(0);
this.zedGraphControl1.Name = "zedGraphControl1";
this.zedGraphControl1.ScrollGrace = 0D;
this.zedGraphControl1.ScrollMaxX = 0D;
this.zedGraphControl1.ScrollMaxY = 0D;
this.zedGraphControl1.ScrollMaxY2 = 0D;
this.zedGraphControl1.ScrollMinX = 0D;
this.zedGraphControl1.ScrollMinY = 0D;
this.zedGraphControl1.ScrollMinY2 = 0D;
this.zedGraphControl1.Size = new System.Drawing.Size(898, 644);
this.zedGraphControl1.TabIndex = 0;
this.zedGraphControl1.ContextMenuBuilder += new ZedGraph.ZedGraphControl.ContextMenuBuilderEventHandler(this.zedGraphControl1_ContextMenuBuilder);
this.zedGraphControl1.PointValueEvent += new ZedGraph.ZedGraphControl.PointValueHandler(this.zedGraphControl1_PointValueEvent);
//
// timer1
//
this.timer1.Interval = 200;
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
//
// tableLayoutPanel1
//
this.tableLayoutPanel1.ColumnCount = 1;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.Controls.Add(this.tableLayoutPanel2, 0, 1);
this.tableLayoutPanel1.Controls.Add(this.zedGraphControl1, 0, 0);
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0);
this.tableLayoutPanel1.Margin = new System.Windows.Forms.Padding(0);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 2;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 35F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(898, 679);
this.tableLayoutPanel1.TabIndex = 3;
//
// tableLayoutPanel2
//
this.tableLayoutPanel2.BackColor = System.Drawing.SystemColors.Control;
this.tableLayoutPanel2.ColumnCount = 3;
this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 175F));
this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 117F));
this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel2.Controls.Add(this.toolStrip1, 0, 0);
this.tableLayoutPanel2.Controls.Add(this.stepBar, 2, 0);
this.tableLayoutPanel2.Controls.Add(this.trackBar1, 1, 0);
this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel2.Location = new System.Drawing.Point(0, 644);
this.tableLayoutPanel2.Margin = new System.Windows.Forms.Padding(0);
this.tableLayoutPanel2.Name = "tableLayoutPanel2";
this.tableLayoutPanel2.RowCount = 1;
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel2.Size = new System.Drawing.Size(898, 35);
this.tableLayoutPanel2.TabIndex = 4;
//
// toolStrip1
//
this.toolStrip1.AutoSize = false;
this.toolStrip1.BackColor = System.Drawing.SystemColors.Control;
this.toolStrip1.Dock = System.Windows.Forms.DockStyle.Fill;
this.toolStrip1.GripMargin = new System.Windows.Forms.Padding(0);
this.toolStrip1.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden;
this.toolStrip1.ImageScalingSize = new System.Drawing.Size(34, 34);
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.btStart,
this.btPause,
this.btStop,
this.btLeft,
this.btRight});
this.toolStrip1.Location = new System.Drawing.Point(0, 0);
this.toolStrip1.Name = "toolStrip1";
this.toolStrip1.Padding = new System.Windows.Forms.Padding(0);
this.toolStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.System;
this.toolStrip1.Size = new System.Drawing.Size(175, 35);
this.toolStrip1.Stretch = true;
this.toolStrip1.TabIndex = 4;
this.toolStrip1.Text = "toolStrip1";
//
// btStart
//
this.btStart.AutoSize = false;
this.btStart.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.btStart.Image = global::Host.Properties.Resources.Play_64;
this.btStart.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btStart.Margin = new System.Windows.Forms.Padding(0);
this.btStart.Name = "btStart";
this.btStart.Size = new System.Drawing.Size(34, 34);
this.btStart.Text = "开始";
this.btStart.Click += new System.EventHandler(this.btStart_Click);
//
// btPause
//
this.btPause.AutoSize = false;
this.btPause.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.btPause.Image = global::Host.Properties.Resources.Pause_64;
this.btPause.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btPause.Margin = new System.Windows.Forms.Padding(0);
this.btPause.Name = "btPause";
this.btPause.Size = new System.Drawing.Size(34, 34);
this.btPause.Text = "暂停";
this.btPause.Click += new System.EventHandler(this.btPaues_Click);
//
// btStop
//
this.btStop.AutoSize = false;
this.btStop.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.btStop.Image = global::Host.Properties.Resources.Stop_64;
this.btStop.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btStop.Margin = new System.Windows.Forms.Padding(0);
this.btStop.Name = "btStop";
this.btStop.Size = new System.Drawing.Size(34, 34);
this.btStop.Text = "停止";
this.btStop.Click += new System.EventHandler(this.btStop_Click);
//
// btLeft
//
this.btLeft.AutoSize = false;
this.btLeft.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.btLeft.Image = global::Host.Properties.Resources.Back_64;
this.btLeft.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btLeft.Margin = new System.Windows.Forms.Padding(0);
this.btLeft.Name = "btLeft";
this.btLeft.Size = new System.Drawing.Size(34, 34);
this.btLeft.Text = "后退 ";
this.btLeft.Click += new System.EventHandler(this.btLeft_Click);
//
// btRight
//
this.btRight.AutoSize = false;
this.btRight.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.btRight.Image = global::Host.Properties.Resources.Forward_64;
this.btRight.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btRight.Margin = new System.Windows.Forms.Padding(0);
this.btRight.Name = "btRight";
this.btRight.Size = new System.Drawing.Size(34, 34);
this.btRight.Text = "继续";
this.btRight.Click += new System.EventHandler(this.btRight_Click);
//
// stepBar
//
this.stepBar.Dock = System.Windows.Forms.DockStyle.Fill;
this.stepBar.LargeChange = 2560;
this.stepBar.Location = new System.Drawing.Point(292, 0);
this.stepBar.Maximum = 5120;
this.stepBar.Name = "stepBar";
this.stepBar.Size = new System.Drawing.Size(606, 35);
this.stepBar.SmallChange = 2560;
this.stepBar.TabIndex = 4;
this.stepBar.Scroll += new System.Windows.Forms.ScrollEventHandler(this.stepBar_Scroll);
//
// trackBar1
//
this.trackBar1.BackColor = System.Drawing.SystemColors.Control;
this.trackBar1.Cursor = System.Windows.Forms.Cursors.Default;
this.trackBar1.Dock = System.Windows.Forms.DockStyle.Fill;
this.trackBar1.Location = new System.Drawing.Point(175, 0);
this.trackBar1.Margin = new System.Windows.Forms.Padding(0);
this.trackBar1.Minimum = -10;
this.trackBar1.Name = "trackBar1";
this.trackBar1.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.trackBar1.Size = new System.Drawing.Size(117, 35);
this.trackBar1.TabIndex = 5;
this.trackBar1.TickStyle = System.Windows.Forms.TickStyle.Both;
this.trackBar1.Scroll += new System.EventHandler(this.trackBar1_Scroll);
//
// PlottingReview
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(898, 679);
this.Controls.Add(this.tableLayoutPanel1);
this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.Name = "PlottingReview";
this.ShowIcon = false;
this.Text = "PlottingReview";
this.Load += new System.EventHandler(this.Plot_Load);
this.tableLayoutPanel1.ResumeLayout(false);
this.tableLayoutPanel2.ResumeLayout(false);
this.tableLayoutPanel2.PerformLayout();
this.toolStrip1.ResumeLayout(false);
this.toolStrip1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.trackBar1)).EndInit();
this.ResumeLayout(false);
}
#endregion
private ZedGraph.ZedGraphControl zedGraphControl1;
private System.Windows.Forms.Timer timer1;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
private System.Windows.Forms.HScrollBar stepBar;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2;
private System.Windows.Forms.ToolStrip toolStrip1;
private System.Windows.Forms.ToolStripButton btStart;
private System.Windows.Forms.ToolStripButton btStop;
private System.Windows.Forms.ToolStripButton btPause;
private System.Windows.Forms.ToolStripButton btRight;
private System.Windows.Forms.TrackBar trackBar1;
private System.Windows.Forms.ToolStripButton btLeft;
}
}

197
Host/PlottingReview.resx Normal file
View File

@ -0,0 +1,197 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>14, 8</value>
</metadata>
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>102, 12</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>46</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAIiEAAAEAGACYDgAAFgAAACgAAAAiAAAAQgAAAAEAGAAAAAAAcA4AAAAAAAAAAAAAAAAAAAAA
AAClg2iQXC+QYjeXYzeVYjWTYjeSYTeSYTeTYjeTYTeTYTeTYjeTYjeTYjaTYjaTYjaTYjaTYjeTYTeT
YTeTYTeTYjeTYjeTYTeTYTeTYTeTYjeTYjeTYTeTYTeUYTaUYTaIVy7JtawAAKKFa3k2AHguAH4yAHw7
AIRAAIdGAIdHAIdGAIdFAIdFAIdGAIdGAIZGAIdHAIdHAIdFAIdGAIdFAIdFAIdFAIdGAIdGAIdFAIdF
AIdFAIdGAIdGAIdFAIdFAIVGAIdGAIA4AMWskwAA////////9/b25t/XxrWloXJKcTcAfTkAgEAAhkgA
iUwDiEsCiU0HikwDiEwEiUwAiUwAiEwAiUsAiUsAiUsAiEwAiEwAiUsAiUsAiUsAiEwAiEwAiUsAiUsA
iUsAiUsCgj4Axa+VAAD////////////////o5ebDu7X5+/3ZysOyjXOKUyR1NQCCPACJRgCMSwCLSwCL
SQSKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACITAKDPgDFr5YAAP//
//////3///3//vn////////5/v////////////Tu6cWqk5VhMno1AIdDAIxGBIlMAIpLAIpMAIlMAIlM
AIpMAIlMAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIhMAoM+AMWvlgAA/////////v/////+/v///v79
///+/f7////+/vz/tJyNrZWFxayc/vz4sJF2fkQGiEYAh0wDikoDi0sAiUoEiEsHikwAikwAikwAikwA
ikwAikwAikwAikwAikwAiEwCgz4Axa+WAAD//////////////////////////////v/7/v75//3/////
+fzl39vAraz8/f/b08yOVzV9PACHRgCLSQKSRwiJTAKKSwCJTACKTACKTACKTACKTACKTACKTACKTACI
TAKDPgDFr5YAAP///////////////////////////////vj9/////v///////////////9TNyMrFw7uo
me7k362Hbn9FC4dFAIdLAolMAIpMAIlMAIpMAIpMAIpMAIpMAIpMAIpMAIhMAoM+AMWvlgAA////////
/////////////////////f39//7/2dLOxbGr0s3I1dDK4NbP////////59/Uhlg3rZF3///+kF8zhz8A
jksAjkoDjEsDiUwAikwAikwAikwAikwAikwAiEwCgz4Axq+WAAD////////////////////////////6
/f38/f3//f/////////y8O6JZUduLgCdbkfx7ez////l29R9Tia2lX+6nYSHRA6GRgCHSwOKTACKTACJ
SwCKTACKTACKTACITAKDPgDGr5YAAP////////////////////////////79/vz+/Pj9/vr6/vr8/vj/
//////78+bWeh4pSH3M2AMy+q////8WvnnpPJsKkl5ptRYVGAIpMAIlLAIpMAIlLAIpMAIpMAIhMAoM+
AMavlgAA/////////////////////////////////////////////////////f//+/39////////2su9
dTsAhE8VwqiP////eToAi0sVoGE3jUoAkEoDik0AiUsAikwAikwAiEwCgz4Axa+WAAD/////////////
///////////////////////////////////8/Pz7/v7+/f3LxcbOw7/o4t7////HtKJ3MQCLURbg2NG8
nol6NwCNSASKTACLSgSJTACKTACKTACITAKDPgDFr5YAAP//////////////////////////////////
//////7+/v7+/v////////////////Tx8behkYpoR+Pa1f///5pwUWokAL6ZgtbMvIFDAIlIAIlOAIpL
AIpMAIpMAIhMAoM+AMWvlgAA/////////////////////////////////////////f39////2dna1dLS
v6ej8u3q////5ujp5d7enn5igFAn1MW1zLikcSIAiE4YxKmWiEoMi0oAiUwAikwAikwAiEwCgz4Axa+W
AAD////////////////////////////////////////9/f79/f3////////t6ue7pJeTa1C+nYf8//r/
///w4d15PxOkfWHl3NSHSxJ7OACUWSqFSgKKTACJSwCKTACITAKDPgDFr5YAAP////////////7/////
//////////3+/v7+/v3+/v7+/P39/v38/vn8/f3//f///////66TeHIwAKyBYeHZ0////7yelpBVILqY
e6V7WoBAAIdJAolLAIpMAIpMAIhMAoM+AMWvlgAAyr+3k2Q0nXJY////t6GLzLKiuaOQ////////////
+f7/+v7///7+/Pz+//7//P///P7/////////waSNdycAgk4a9/vtuKGYezMAj2Avt4Vgh0AAjU0CiEsA
iEsCiEwAgz4Axa6WAACbbEKCPgCFRgB1NwCKPAB+PQCFPACBSxqsjG7Tx77////////9///+///r5uXf
3N3////l6eXPxsPSycr///+Sa0RwKwC5momwjXOKRgCDSg+jaTyESAONTQCNTACISwKDPgDFrpYAAJ5z
T4lGAIdMAIlMAIhLAo1OAIhKCIlHAIVAAHw7AH5GC7yege/r6////9TSy6mQhcW3tP////Pz96CGaauE
c////9K7rnQsAIpZL7KCY5BWGo5HAIxMBIdKBodLA4hMAIM+AMWulgAAnnNNh0UAiksAikwAikwAiUsA
ikwAiUwAiUoCi0wDiUgCjD0AdzIAjmI34tfR////p452hlgxu5+H/P/81sSyZicA386/////gkwegDkA
lFwvllwliEgCikwAikwAiEwCgz4Axa6WAACgc02HRQCKTACKTACKTACKTACKTACKTAKJSgOKSgOISgKI
SQeHTACLRgB8NwCKUyDOvLP59+yMXTJ3MQDDrJb49PSHVjWPXzj///6qhmp+OACJSguKSgOJTQCKSwCI
TAKDPgDFrpYAAJ9zTYZFAIpMAIpMAIpMAIpMAIpMAIpMAIpLAIlLAIpNAIhLA4hOAItLAodLBolIAIM+
AHs3AMewnLCZfnI0AIJCDPr48qR+V28jANfHvbiWfn48AIlJAJBKA4dMAIhMAoM+AMWulgAAnnRNh0UA
ikwAikwAikwAikwAikwAikwAikwAikwAiUsAikwAiksAiUwAikwAiUsAjU0Ah0kGiEAAklQrvJ2Li0YO
ejUAsol5mF8ufzAAlm1NwJV9fzwAhU0AjUoCiEwAgz4Axa6WAACedE2HRQCKTACKTACKTACKTACKTACK
TACKTACKTACKTACKTACKTACKTACKTACKTACHSwaRSwCJSQaHSQCCPgCsckyHRQuCQgCFRQCuhWV+PQCC
Th7Ir56FQASHTACISwCDPgDFrpYAAJ50TYdFAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIpM
AIpMAIpMAIlLAIpMAIhMAohMAo5NA4dKBIZHAJhbIJVZHI1OAIBGGaRrPIdEAIJGE5xiLIhIAIhMAIM+
AMWulgAAnnRNh0UAikwAikwAikwAikwAikwAikwAikwAikwAikwAikwAikwAikwAikwAikwAiUsAikwA
iksAiUsAiksAikwAiEkAhUgEjUsDiUcDiEsIjksIiEkAiEkDiEsCiEwAgz4Axa6WAACedE2HRQCKTACK
TACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACISgCLTQKKTACG
TACLTACLSwKMSgKKSwCKTACKTACKTACITAKDPgDFrpYAAJ50TYdFAIpMAIpMAIpMAIpMAIpMAIpMAIpM
AIpMAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIlLAIpMAIpMAIlMAIpMAIpMAIpLAolMAIpM
AIlMAIpLAIhMAoM+AMWulQAAnnRNh0UAikwAikwAikwAikwAikwAikwAikwAikwAikwAikwAikwAikwA
ikwAikwAikwAikwAikwAikwAikwAiUsAiUsAiksAiUsAiUwAiUwAiksAiUsAiksAikwAiEwCgz4Axa6V
AACfdE2HRQCJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACJ
TACJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACITAKDPgDFrpQAAJduQoM5AIZAAIZAAIY/
AIY/AIZAAIZAAIZAAIY/AIY/AIZAAIZAAIZAAIY/AIY/AIZAAIZAAIY/AIY/AIY/AIZAAIZAAIY/AIY/
AIY/AIZAAIZAAIY/AIY/AIZCAIc+AHwzAMWolgAAw62htJZvtZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1
tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1
tZp1tZh3r5Fw29DGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
</value>
</data>
</root>

37
Host/Program.cs Normal file
View File

@ -0,0 +1,37 @@
using System;
using System.Windows.Forms;
using System.Threading;
using RestApi;
namespace CRVM
{
static class Program
{
//static RestHandler sh = new RestHandler();
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
bool create;
using (Mutex mu = new Mutex(true, Application.ProductName, out create))
{
if (create)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
var mf = new IServerMainForm();
//sh.Roll_mill_data = new RollMillData(mf.roll_mill_data_array);
//sh.Roll_mill_data.AF = mf.alarmInfo;
//sh.cZState = mf.cZState;
//sh.Start();
Application.Run(mf);
}
else
{
MessageBox.Show("程序正在运行!");
}
}
}
}
}

View File

@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// 有关程序集的常规信息通过以下
// 特性集控制。更改这些特性值可修改
// 与程序集关联的信息。
[assembly: AssemblyTitle("Host")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Host")]
[assembly: AssemblyCopyright("Copyright © 2011")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// 将 ComVisible 设置为 false 使此程序集中的类型
// 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型,
// 则将该类型上的 ComVisible 特性设置为 true。
[assembly: ComVisible(false)]
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
[assembly: Guid("8c170788-8185-4a7c-9c87-d5c6a67aae65")]
// 程序集的版本信息由下面四个值组成:
//
// 主版本
// 次版本
// 内部版本号
// 修订号
//
// 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值,
// 方法是按如下所示使用“*”:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

213
Host/Properties/Resources.Designer.cs generated Normal file
View File

@ -0,0 +1,213 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
namespace Host.Properties {
using System;
/// <summary>
/// 一个强类型的资源类,用于查找本地化的字符串等。
/// </summary>
// 此类是由 StronglyTypedResourceBuilder
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
// 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
// (以 /str 作为命令选项),或重新生成 VS 项目。
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
public class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// 返回此类使用的缓存的 ResourceManager 实例。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
public static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Host.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// 使用此强类型资源类,为所有资源查找
/// 重写当前线程的 CurrentUICulture 属性。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
public static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
public static System.Drawing.Bitmap Back_64 {
get {
object obj = ResourceManager.GetObject("Back_64", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
public static System.Drawing.Bitmap baosteel {
get {
object obj = ResourceManager.GetObject("baosteel", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
public static System.Drawing.Bitmap baosteel150 {
get {
object obj = ResourceManager.GetObject("baosteel150", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
public static System.Drawing.Bitmap Exit_64 {
get {
object obj = ResourceManager.GetObject("Exit_64", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
public static System.Drawing.Bitmap Forward_64 {
get {
object obj = ResourceManager.GetObject("Forward_64", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
public static System.Drawing.Bitmap Help_64 {
get {
object obj = ResourceManager.GetObject("Help_64", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
public static System.Drawing.Bitmap Open_64 {
get {
object obj = ResourceManager.GetObject("Open_64", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
public static System.Drawing.Bitmap Pause_64 {
get {
object obj = ResourceManager.GetObject("Pause_64", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
public static System.Drawing.Bitmap Play_64 {
get {
object obj = ResourceManager.GetObject("Play_64", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
public static System.Drawing.Bitmap Refresh_64 {
get {
object obj = ResourceManager.GetObject("Refresh_64", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
public static System.Drawing.Bitmap search_64 {
get {
object obj = ResourceManager.GetObject("search_64", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
public static System.Drawing.Bitmap Settings_64 {
get {
object obj = ResourceManager.GetObject("Settings_64", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
public static System.Drawing.Bitmap Stop_64 {
get {
object obj = ResourceManager.GetObject("Stop_64", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找类似于 (图标) 的 System.Drawing.Icon 类型的本地化资源。
/// </summary>
public static System.Drawing.Icon VibrationTest {
get {
object obj = ResourceManager.GetObject("VibrationTest", resourceCulture);
return ((System.Drawing.Icon)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
public static System.Drawing.Bitmap VibrationTest1 {
get {
object obj = ResourceManager.GetObject("VibrationTest1", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
}
}

View File

@ -0,0 +1,166 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="Back_64" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Back-64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="baosteel" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\baosteel.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="baosteel150" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\baosteel150.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Exit_64" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Exit_64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Forward_64" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Forward_64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Help_64" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Help_64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Open_64" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Open_64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Pause_64" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Pause_64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Play_64" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Play_64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Refresh_64" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Refresh_64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="search_64" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\search_64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Settings_64" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Settings_64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Stop_64" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Stop-64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="VibrationTest" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\VibrationTest.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="VibrationTest1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\VibrationTest.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

26
Host/Properties/Settings.Designer.cs generated Normal file
View File

@ -0,0 +1,26 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.1
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
namespace CRVM.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default {
get {
return defaultInstance;
}
}
}
}

View File

@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
Host/Resources/Back-64.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 478 B

BIN
Host/Resources/Exit_64.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 782 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 510 B

BIN
Host/Resources/Help_64.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
Host/Resources/Open_64.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 787 B

BIN
Host/Resources/Pause_64.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 360 B

BIN
Host/Resources/Play_64.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 381 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
Host/Resources/Stop-64.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 324 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 264 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

BIN
Host/Resources/baosteel.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

229
Host/SetAlarmForm.cs Normal file
View File

@ -0,0 +1,229 @@
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using CRVM.Entity;
using System.Text.RegularExpressions;
using CRVM.SIDExcuter;
namespace CRVM
{
public partial class SetAlarmForm : Form
{
public EntityAlarmSpeed[][] eass;
bool dataChanged = false;
public SetAlarmForm()
{
InitializeComponent();
}
private void Parameterforalarm_new_Load(object sender, EventArgs e)
{
dataGridView1.Columns[0].ValueType = typeof(Int32);
eass = new EntityAlarmSpeed[SysParam.Instance.channelCount][];
comboBox1.SelectedIndex = 0;
dataChanged = false;
SetDgvSort();
}
private void SetDgvSort()
{
for (int i = 0; i < dataGridView1.Columns.Count; i++)
{
dataGridView1.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable;
}
}
private void InitialDisplay()
{
dataGridView1.Rows.Clear();
EntityAlarmSpeed[] aat = SysParam.Instance.channel[comboBox1.SelectedIndex].alarmConfig;
textBox1.Text = SysParam.Instance.channel[comboBox1.SelectedIndex].alarmTimes_l.ToString();
textBox2.Text = SysParam.Instance.channel[comboBox1.SelectedIndex].alarmTimes_m.ToString();
textBox3.Text = SysParam.Instance.channel[comboBox1.SelectedIndex].alarmTimes_h.ToString();
for (int i = 0; i < aat.Length; i++)
{
if (aat[i] != null)
{
dataGridView1.Rows.Add(1);
dataGridView1.Rows[i].Cells[0].Value = aat[i].alarmSpeed;
dataGridView1.Rows[i].Cells[1].Value = aat[i].lowPassL;
dataGridView1.Rows[i].Cells[2].Value = aat[i].lowPassU;
dataGridView1.Rows[i].Cells[3].Value = aat[i].lowAlarmValue;
dataGridView1.Rows[i].Cells[4].Value = aat[i].lowDefectValue;
dataGridView1.Rows[i].Cells[5].Value = aat[i].midPassL;
dataGridView1.Rows[i].Cells[6].Value = aat[i].midPassU;
dataGridView1.Rows[i].Cells[7].Value = aat[i].midAlarmValue;
dataGridView1.Rows[i].Cells[8].Value = aat[i].midDefectValue;
dataGridView1.Rows[i].Cells[9].Value = aat[i].highPassL;
dataGridView1.Rows[i].Cells[10].Value = aat[i].highPassU;
dataGridView1.Rows[i].Cells[11].Value = aat[i].highAlarmValue;
dataGridView1.Rows[i].Cells[12].Value = aat[i].highDefectValue;
}
}
}
private void btnAdd_Click(object sender, EventArgs e)
{
this.dataGridView1.Rows.Add();
}
private void btnDel_Click(object sender, EventArgs e)
{
if (dataGridView1.SelectedRows.Count <= 0)
{
MessageBox.Show("请选择要删除的行!");
return;
}
else
{
dataGridView1.Rows.RemoveAt(dataGridView1.SelectedRows[0].Index);
}
}
private void btnClose_Click(object sender, EventArgs e)
{
//RefreshOneChannelData();
if (dataChanged)
{
ConfigHelper.GetInstance("").SaveConfig(Application.StartupPath);
string path = Application.StartupPath + "\\AlarmConfig\\" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".config";
ConfigHelper.GetInstance("").SaveAlarmConfig(path);
ConfigHelper.GetInstance("").SaveConfig(Application.StartupPath + "\\AppSetting.config");
}
this.Close();
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
InitialDisplay();
}
private void btnStore_Click(object sender, EventArgs e)
{
RefreshOneChannelData();
}
private void RefreshOneChannelData()
{
dataGridView1.Sort(dataGridView1.Columns[0], System.ComponentModel.ListSortDirection.Ascending);
IList<EntityAlarmSpeed> ll = new List<EntityAlarmSpeed>();
EntityAlarmSpeed[] ieass = new EntityAlarmSpeed[dataGridView1.Rows.Count];
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
EntityAlarmSpeed eas = new EntityAlarmSpeed();
eas.alarmSpeed = Convert.ToInt32(dataGridView1.Rows[i].Cells[0].Value);
eas.lowPassL = Convert.ToInt32(dataGridView1.Rows[i].Cells[1].Value);
eas.lowPassU = Convert.ToInt32(dataGridView1.Rows[i].Cells[2].Value);
eas.lowAlarmValue = Convert.ToSingle(dataGridView1.Rows[i].Cells[3].Value);
eas.lowDefectValue = Convert.ToSingle(dataGridView1.Rows[i].Cells[4].Value);
if (eas.lowAlarmValue > eas.lowDefectValue)
{
MessageBox.Show("第" + (i + 1) + "行!\n\r不允许中频报警值低于中频缺陷值\n\r请重新设定", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
eas.midPassL = Convert.ToInt32(dataGridView1.Rows[i].Cells[5].Value);
eas.midPassU = Convert.ToInt32(dataGridView1.Rows[i].Cells[6].Value);
eas.midAlarmValue = Convert.ToSingle(dataGridView1.Rows[i].Cells[7].Value);
eas.midDefectValue = Convert.ToSingle(dataGridView1.Rows[i].Cells[8].Value);
if (eas.midAlarmValue > eas.midDefectValue)
{
MessageBox.Show("第" + (i + 1) + "行!\n\r不允许中频报警值低于中频缺陷值\n\r请重新设定", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
eas.highPassL = Convert.ToInt32(dataGridView1.Rows[i].Cells[9].Value);
eas.highPassU = Convert.ToInt32(dataGridView1.Rows[i].Cells[10].Value);
eas.highAlarmValue = Convert.ToSingle(dataGridView1.Rows[i].Cells[11].Value);
eas.highDefectValue = Convert.ToSingle(dataGridView1.Rows[i].Cells[12].Value);
if (eas.highAlarmValue > eas.highDefectValue)
{
MessageBox.Show("第" + (i + 1) + "行!\n\r不允许中频报警值低于中频缺陷值\n\r请重新设定", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
ieass[i] = eas;
ll.Add(eas);
}
eass[comboBox1.SelectedIndex] = ieass;
ConfigHelper.GetInstance("").SaveBaseData(comboBox1.SelectedIndex, ll);
DbHelper.GetInstance("").UpdateAlarmParamByStandNo(ll, comboBox1.SelectedIndex + 1);//更新数据库
SysParam.Instance.channel[comboBox1.SelectedIndex].alarmConfig = ieass;
string pattern = @"^[1-9]\d*$";
if (Regex.IsMatch(textBox1.Text, pattern))
{
SysParam.Instance.channel[comboBox1.SelectedIndex].alarmTimes_l = Convert.ToInt32(textBox1.Text.Trim());
}
else
{
textBox1.Text = SysParam.Instance.channel[comboBox1.SelectedIndex].alarmTimes_l.ToString();
MessageBox.Show("参数:低频报警触发次数,必须为正整数!");
return;
}
if (Regex.IsMatch(textBox2.Text, pattern))
{
SysParam.Instance.channel[comboBox1.SelectedIndex].alarmTimes_m = Convert.ToInt32(textBox2.Text.Trim());
}
else
{
textBox2.Text = SysParam.Instance.channel[comboBox1.SelectedIndex].alarmTimes_m.ToString();
MessageBox.Show("参数:中频报警触发次数,必须为正整数!");
return;
}
if (Regex.IsMatch(textBox3.Text, pattern))
{
SysParam.Instance.channel[comboBox1.SelectedIndex].alarmTimes_h = Convert.ToInt32(textBox3.Text.Trim());
}
else
{
textBox3.Text = SysParam.Instance.channel[comboBox1.SelectedIndex].alarmTimes_h.ToString();
MessageBox.Show("参数:高频报警触发次数,必须为正整数!");
return;
}
DbHelper.GetInstance("").UpdateAlarmTimes(comboBox1.SelectedIndex + 1,
SysParam.Instance.channel[comboBox1.SelectedIndex].alarmTimes_l,
SysParam.Instance.channel[comboBox1.SelectedIndex].alarmTimes_m,
SysParam.Instance.channel[comboBox1.SelectedIndex].alarmTimes_h);
dataChanged = true;
}
private void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
if (e.RowIndex > -1 && e.ColumnIndex > -1)
{
DataGridView grid = (DataGridView)sender;
grid.Rows[e.RowIndex].ErrorText = "";
if (e.ColumnIndex == 3 || e.ColumnIndex == 4 || e.ColumnIndex == 7 || e.ColumnIndex == 8 || e.ColumnIndex == 11 || e.ColumnIndex == 12)
{
float newFloat = 0;
if (!float.TryParse(e.FormattedValue.ToString(), out newFloat))
{
e.Cancel = true;
grid.Rows[e.RowIndex].ErrorText = "请输入一个数字!";
MessageBox.Show("输入的值不是一个数字,请重新输入!");
return;
}
}
else
{
Int32 newInt32 = 0;
if (!Int32.TryParse(e.FormattedValue.ToString(), out newInt32))
{
e.Cancel = true;
grid.Rows[e.RowIndex].ErrorText = "请输入一个正整数!";
MessageBox.Show("输入的值不是一个正整数,请重新输入!");
return;
}
}
}
}
}
}

414
Host/SetAlarmForm.designer.cs generated Normal file
View File

@ -0,0 +1,414 @@
namespace CRVM
{
partial class SetAlarmForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SetAlarmForm));
this.btnClose = new System.Windows.Forms.Button();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.panel29 = new System.Windows.Forms.Panel();
this.label190 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.comboBox1 = new System.Windows.Forms.ComboBox();
this.label2 = new System.Windows.Forms.Label();
this.label1 = new System.Windows.Forms.Label();
this.textBox1 = new System.Windows.Forms.TextBox();
this.textBox2 = new System.Windows.Forms.TextBox();
this.textBox3 = new System.Windows.Forms.TextBox();
this.dataGridView1 = new System.Windows.Forms.DataGridView();
this.Column1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column3 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column4 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column5 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column6 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column7 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column8 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column9 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column10 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column11 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column12 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column13 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.panel1 = new System.Windows.Forms.Panel();
this.btnStore = new System.Windows.Forms.Button();
this.btnDel = new System.Windows.Forms.Button();
this.btnAdd = new System.Windows.Forms.Button();
this.tableLayoutPanel1.SuspendLayout();
this.panel29.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
this.panel1.SuspendLayout();
this.SuspendLayout();
//
// btnClose
//
this.btnClose.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.btnClose.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnClose.Location = new System.Drawing.Point(847, 5);
this.btnClose.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.btnClose.Name = "btnClose";
this.btnClose.Size = new System.Drawing.Size(80, 35);
this.btnClose.TabIndex = 8;
this.btnClose.Text = "关闭";
this.btnClose.UseVisualStyleBackColor = true;
this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
//
// tableLayoutPanel1
//
this.tableLayoutPanel1.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.Single;
this.tableLayoutPanel1.ColumnCount = 1;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.Controls.Add(this.panel29, 0, 0);
this.tableLayoutPanel1.Controls.Add(this.dataGridView1, 0, 1);
this.tableLayoutPanel1.Controls.Add(this.panel1, 0, 2);
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel1.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 3;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 60F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 50F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(968, 478);
this.tableLayoutPanel1.TabIndex = 11;
//
// panel29
//
this.panel29.Controls.Add(this.label190);
this.panel29.Controls.Add(this.label3);
this.panel29.Controls.Add(this.comboBox1);
this.panel29.Controls.Add(this.label2);
this.panel29.Controls.Add(this.label1);
this.panel29.Controls.Add(this.textBox1);
this.panel29.Controls.Add(this.textBox2);
this.panel29.Controls.Add(this.textBox3);
this.panel29.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel29.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.panel29.Location = new System.Drawing.Point(4, 4);
this.panel29.Name = "panel29";
this.panel29.Size = new System.Drawing.Size(960, 54);
this.panel29.TabIndex = 11;
//
// label190
//
this.label190.AutoSize = true;
this.label190.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label190.Location = new System.Drawing.Point(15, 18);
this.label190.Name = "label190";
this.label190.Size = new System.Drawing.Size(74, 25);
this.label190.TabIndex = 1;
this.label190.Text = "通道号:";
//
// label3
//
this.label3.AutoSize = true;
this.label3.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label3.Location = new System.Drawing.Point(692, 17);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(169, 25);
this.label3.TabIndex = 1;
this.label3.Text = "高频报警触发次数:";
//
// comboBox1
//
this.comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBox1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.comboBox1.FormattingEnabled = true;
this.comboBox1.Items.AddRange(new object[] {
"1#",
"2#",
"3#",
"4#",
"5#",
"6#",
"7#",
"8#"});
this.comboBox1.Location = new System.Drawing.Point(90, 15);
this.comboBox1.Name = "comboBox1";
this.comboBox1.Size = new System.Drawing.Size(60, 29);
this.comboBox1.TabIndex = 0;
this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.comboBox1_SelectedIndexChanged);
//
// label2
//
this.label2.AutoSize = true;
this.label2.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label2.Location = new System.Drawing.Point(441, 18);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(169, 25);
this.label2.TabIndex = 1;
this.label2.Text = "中频报警触发次数:";
//
// label1
//
this.label1.AutoSize = true;
this.label1.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label1.Location = new System.Drawing.Point(189, 18);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(169, 25);
this.label1.TabIndex = 1;
this.label1.Text = "低频报警触发次数:";
//
// textBox1
//
this.textBox1.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.textBox1.Location = new System.Drawing.Point(360, 15);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(44, 33);
this.textBox1.TabIndex = 1;
this.textBox1.Text = "3";
//
// textBox2
//
this.textBox2.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.textBox2.Location = new System.Drawing.Point(616, 14);
this.textBox2.Name = "textBox2";
this.textBox2.Size = new System.Drawing.Size(44, 33);
this.textBox2.TabIndex = 2;
this.textBox2.Text = "3";
//
// textBox3
//
this.textBox3.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.textBox3.Location = new System.Drawing.Point(862, 14);
this.textBox3.Name = "textBox3";
this.textBox3.Size = new System.Drawing.Size(44, 33);
this.textBox3.TabIndex = 3;
this.textBox3.Text = "3";
//
// dataGridView1
//
this.dataGridView1.AllowUserToAddRows = false;
this.dataGridView1.AllowUserToDeleteRows = false;
this.dataGridView1.AllowUserToResizeColumns = false;
this.dataGridView1.AllowUserToResizeRows = false;
this.dataGridView1.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle1.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.dataGridView1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1;
this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.Column1,
this.Column2,
this.Column3,
this.Column4,
this.Column5,
this.Column6,
this.Column7,
this.Column8,
this.Column9,
this.Column10,
this.Column11,
this.Column12,
this.Column13});
this.dataGridView1.Dock = System.Windows.Forms.DockStyle.Fill;
this.dataGridView1.Location = new System.Drawing.Point(4, 65);
this.dataGridView1.Name = "dataGridView1";
this.dataGridView1.RowHeadersVisible = false;
this.dataGridView1.RowTemplate.Height = 28;
this.dataGridView1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
this.dataGridView1.Size = new System.Drawing.Size(960, 358);
this.dataGridView1.TabIndex = 4;
this.dataGridView1.CellValidating += new System.Windows.Forms.DataGridViewCellValidatingEventHandler(this.dataGridView1_CellValidating);
//
// Column1
//
this.Column1.HeaderText = "速度";
this.Column1.Name = "Column1";
//
// Column2
//
this.Column2.HeaderText = "低频下限";
this.Column2.Name = "Column2";
//
// Column3
//
this.Column3.HeaderText = "低频上限";
this.Column3.Name = "Column3";
//
// Column4
//
this.Column4.HeaderText = "低报警值";
this.Column4.Name = "Column4";
//
// Column5
//
this.Column5.HeaderText = "低频缺陷";
this.Column5.Name = "Column5";
//
// Column6
//
this.Column6.HeaderText = "中频下限";
this.Column6.Name = "Column6";
//
// Column7
//
this.Column7.HeaderText = "中频上限";
this.Column7.Name = "Column7";
//
// Column8
//
this.Column8.HeaderText = "中报警值";
this.Column8.Name = "Column8";
//
// Column9
//
this.Column9.HeaderText = "中频缺陷";
this.Column9.Name = "Column9";
//
// Column10
//
this.Column10.HeaderText = "高频下限";
this.Column10.Name = "Column10";
//
// Column11
//
this.Column11.HeaderText = "高频上限";
this.Column11.Name = "Column11";
//
// Column12
//
this.Column12.HeaderText = "高报警值";
this.Column12.Name = "Column12";
//
// Column13
//
this.Column13.HeaderText = "高频缺陷";
this.Column13.Name = "Column13";
//
// panel1
//
this.panel1.Controls.Add(this.btnStore);
this.panel1.Controls.Add(this.btnDel);
this.panel1.Controls.Add(this.btnAdd);
this.panel1.Controls.Add(this.btnClose);
this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel1.Location = new System.Drawing.Point(4, 430);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(960, 44);
this.panel1.TabIndex = 13;
//
// btnStore
//
this.btnStore.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.btnStore.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnStore.Location = new System.Drawing.Point(743, 5);
this.btnStore.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.btnStore.Name = "btnStore";
this.btnStore.Size = new System.Drawing.Size(80, 35);
this.btnStore.TabIndex = 7;
this.btnStore.Text = "保存";
this.btnStore.UseVisualStyleBackColor = true;
this.btnStore.Click += new System.EventHandler(this.btnStore_Click);
//
// btnDel
//
this.btnDel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.btnDel.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnDel.Location = new System.Drawing.Point(639, 5);
this.btnDel.Name = "btnDel";
this.btnDel.Size = new System.Drawing.Size(80, 35);
this.btnDel.TabIndex = 6;
this.btnDel.Text = "删除";
this.btnDel.UseVisualStyleBackColor = true;
this.btnDel.Click += new System.EventHandler(this.btnDel_Click);
//
// btnAdd
//
this.btnAdd.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.btnAdd.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnAdd.Location = new System.Drawing.Point(535, 5);
this.btnAdd.Name = "btnAdd";
this.btnAdd.Size = new System.Drawing.Size(80, 35);
this.btnAdd.TabIndex = 5;
this.btnAdd.Text = "增加";
this.btnAdd.UseVisualStyleBackColor = true;
this.btnAdd.Click += new System.EventHandler(this.btnAdd_Click);
//
// SetAlarmForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(11F, 25F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(968, 478);
this.Controls.Add(this.tableLayoutPanel1);
this.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Margin = new System.Windows.Forms.Padding(6);
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "SetAlarmForm";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "报警参数";
this.Load += new System.EventHandler(this.Parameterforalarm_new_Load);
this.tableLayoutPanel1.ResumeLayout(false);
this.panel29.ResumeLayout(false);
this.panel29.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
this.panel1.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Button btnClose;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
private System.Windows.Forms.Panel panel29;
private System.Windows.Forms.Label label190;
private System.Windows.Forms.ComboBox comboBox1;
private System.Windows.Forms.DataGridView dataGridView1;
private System.Windows.Forms.Button btnDel;
private System.Windows.Forms.Button btnAdd;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.TextBox textBox2;
private System.Windows.Forms.TextBox textBox3;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Button btnStore;
private System.Windows.Forms.DataGridViewTextBoxColumn Column1;
private System.Windows.Forms.DataGridViewTextBoxColumn Column2;
private System.Windows.Forms.DataGridViewTextBoxColumn Column3;
private System.Windows.Forms.DataGridViewTextBoxColumn Column4;
private System.Windows.Forms.DataGridViewTextBoxColumn Column5;
private System.Windows.Forms.DataGridViewTextBoxColumn Column6;
private System.Windows.Forms.DataGridViewTextBoxColumn Column7;
private System.Windows.Forms.DataGridViewTextBoxColumn Column8;
private System.Windows.Forms.DataGridViewTextBoxColumn Column9;
private System.Windows.Forms.DataGridViewTextBoxColumn Column10;
private System.Windows.Forms.DataGridViewTextBoxColumn Column11;
private System.Windows.Forms.DataGridViewTextBoxColumn Column12;
private System.Windows.Forms.DataGridViewTextBoxColumn Column13;
}
}

227
Host/SetAlarmForm.resx Normal file
View File

@ -0,0 +1,227 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="Column1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column3.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column4.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column5.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column6.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column7.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column8.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column9.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column10.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column11.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column12.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column13.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAIiEAAAEAGACYDgAAFgAAACgAAAAiAAAAQgAAAAEAGAAAAAAAcA4AAAAAAAAAAAAAAAAAAAAA
AAClg2iQXC+QYjeXYzeVYjWTYjeSYTeSYTeTYjeTYTeTYTeTYjeTYjeTYjaTYjaTYjaTYjaTYjeTYTeT
YTeTYTeTYjeTYjeTYTeTYTeTYTeTYjeTYjeTYTeTYTeUYTaUYTaIVy7JtawAAKKFa3k2AHguAH4yAHw7
AIRAAIdGAIdHAIdGAIdFAIdFAIdGAIdGAIZGAIdHAIdHAIdFAIdGAIdFAIdFAIdFAIdGAIdGAIdFAIdF
AIdFAIdGAIdGAIdFAIdFAIVGAIdGAIA4AMWskwAA////////9/b25t/XxrWloXJKcTcAfTkAgEAAhkgA
iUwDiEsCiU0HikwDiEwEiUwAiUwAiEwAiUsAiUsAiUsAiEwAiEwAiUsAiUsAiUsAiEwAiEwAiUsAiUsA
iUsAiUsCgj4Axa+VAAD////////////////o5ebDu7X5+/3ZysOyjXOKUyR1NQCCPACJRgCMSwCLSwCL
SQSKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACITAKDPgDFr5YAAP//
//////3///3//vn////////5/v////////////Tu6cWqk5VhMno1AIdDAIxGBIlMAIpLAIpMAIlMAIlM
AIpMAIlMAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIhMAoM+AMWvlgAA/////////v/////+/v///v79
///+/f7////+/vz/tJyNrZWFxayc/vz4sJF2fkQGiEYAh0wDikoDi0sAiUoEiEsHikwAikwAikwAikwA
ikwAikwAikwAikwAikwAiEwCgz4Axa+WAAD//////////////////////////////v/7/v75//3/////
+fzl39vAraz8/f/b08yOVzV9PACHRgCLSQKSRwiJTAKKSwCJTACKTACKTACKTACKTACKTACKTACKTACI
TAKDPgDFr5YAAP///////////////////////////////vj9/////v///////////////9TNyMrFw7uo
me7k362Hbn9FC4dFAIdLAolMAIpMAIlMAIpMAIpMAIpMAIpMAIpMAIpMAIhMAoM+AMWvlgAA////////
/////////////////////f39//7/2dLOxbGr0s3I1dDK4NbP////////59/Uhlg3rZF3///+kF8zhz8A
jksAjkoDjEsDiUwAikwAikwAikwAikwAikwAiEwCgz4Axq+WAAD////////////////////////////6
/f38/f3//f/////////y8O6JZUduLgCdbkfx7ez////l29R9Tia2lX+6nYSHRA6GRgCHSwOKTACKTACJ
SwCKTACKTACKTACITAKDPgDGr5YAAP////////////////////////////79/vz+/Pj9/vr6/vr8/vj/
//////78+bWeh4pSH3M2AMy+q////8WvnnpPJsKkl5ptRYVGAIpMAIlLAIpMAIlLAIpMAIpMAIhMAoM+
AMavlgAA/////////////////////////////////////////////////////f//+/39////////2su9
dTsAhE8VwqiP////eToAi0sVoGE3jUoAkEoDik0AiUsAikwAikwAiEwCgz4Axa+WAAD/////////////
///////////////////////////////////8/Pz7/v7+/f3LxcbOw7/o4t7////HtKJ3MQCLURbg2NG8
nol6NwCNSASKTACLSgSJTACKTACKTACITAKDPgDFr5YAAP//////////////////////////////////
//////7+/v7+/v////////////////Tx8behkYpoR+Pa1f///5pwUWokAL6ZgtbMvIFDAIlIAIlOAIpL
AIpMAIpMAIhMAoM+AMWvlgAA/////////////////////////////////////////f39////2dna1dLS
v6ej8u3q////5ujp5d7enn5igFAn1MW1zLikcSIAiE4YxKmWiEoMi0oAiUwAikwAikwAiEwCgz4Axa+W
AAD////////////////////////////////////////9/f79/f3////////t6ue7pJeTa1C+nYf8//r/
///w4d15PxOkfWHl3NSHSxJ7OACUWSqFSgKKTACJSwCKTACITAKDPgDFr5YAAP////////////7/////
//////////3+/v7+/v3+/v7+/P39/v38/vn8/f3//f///////66TeHIwAKyBYeHZ0////7yelpBVILqY
e6V7WoBAAIdJAolLAIpMAIpMAIhMAoM+AMWvlgAAyr+3k2Q0nXJY////t6GLzLKiuaOQ////////////
+f7/+v7///7+/Pz+//7//P///P7/////////waSNdycAgk4a9/vtuKGYezMAj2Avt4Vgh0AAjU0CiEsA
iEsCiEwAgz4Axa6WAACbbEKCPgCFRgB1NwCKPAB+PQCFPACBSxqsjG7Tx77////////9///+///r5uXf
3N3////l6eXPxsPSycr///+Sa0RwKwC5momwjXOKRgCDSg+jaTyESAONTQCNTACISwKDPgDFrpYAAJ5z
T4lGAIdMAIlMAIhLAo1OAIhKCIlHAIVAAHw7AH5GC7yege/r6////9TSy6mQhcW3tP////Pz96CGaauE
c////9K7rnQsAIpZL7KCY5BWGo5HAIxMBIdKBodLA4hMAIM+AMWulgAAnnNNh0UAiksAikwAikwAiUsA
ikwAiUwAiUoCi0wDiUgCjD0AdzIAjmI34tfR////p452hlgxu5+H/P/81sSyZicA386/////gkwegDkA
lFwvllwliEgCikwAikwAiEwCgz4Axa6WAACgc02HRQCKTACKTACKTACKTACKTACKTAKJSgOKSgOISgKI
SQeHTACLRgB8NwCKUyDOvLP59+yMXTJ3MQDDrJb49PSHVjWPXzj///6qhmp+OACJSguKSgOJTQCKSwCI
TAKDPgDFrpYAAJ9zTYZFAIpMAIpMAIpMAIpMAIpMAIpMAIpLAIlLAIpNAIhLA4hOAItLAodLBolIAIM+
AHs3AMewnLCZfnI0AIJCDPr48qR+V28jANfHvbiWfn48AIlJAJBKA4dMAIhMAoM+AMWulgAAnnRNh0UA
ikwAikwAikwAikwAikwAikwAikwAikwAiUsAikwAiksAiUwAikwAiUsAjU0Ah0kGiEAAklQrvJ2Li0YO
ejUAsol5mF8ufzAAlm1NwJV9fzwAhU0AjUoCiEwAgz4Axa6WAACedE2HRQCKTACKTACKTACKTACKTACK
TACKTACKTACKTACKTACKTACKTACKTACKTACHSwaRSwCJSQaHSQCCPgCsckyHRQuCQgCFRQCuhWV+PQCC
Th7Ir56FQASHTACISwCDPgDFrpYAAJ50TYdFAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIpM
AIpMAIpMAIlLAIpMAIhMAohMAo5NA4dKBIZHAJhbIJVZHI1OAIBGGaRrPIdEAIJGE5xiLIhIAIhMAIM+
AMWulgAAnnRNh0UAikwAikwAikwAikwAikwAikwAikwAikwAikwAikwAikwAikwAikwAikwAiUsAikwA
iksAiUsAiksAikwAiEkAhUgEjUsDiUcDiEsIjksIiEkAiEkDiEsCiEwAgz4Axa6WAACedE2HRQCKTACK
TACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACKTACISgCLTQKKTACG
TACLTACLSwKMSgKKSwCKTACKTACKTACITAKDPgDFrpYAAJ50TYdFAIpMAIpMAIpMAIpMAIpMAIpMAIpM
AIpMAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIpMAIlLAIpMAIpMAIlMAIpMAIpMAIpLAolMAIpM
AIlMAIpLAIhMAoM+AMWulQAAnnRNh0UAikwAikwAikwAikwAikwAikwAikwAikwAikwAikwAikwAikwA
ikwAikwAikwAikwAikwAikwAikwAiUsAiUsAiksAiUsAiUwAiUwAiksAiUsAiksAikwAiEwCgz4Axa6V
AACfdE2HRQCJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACJ
TACJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACJTACITAKDPgDFrpQAAJduQoM5AIZAAIZAAIY/
AIY/AIZAAIZAAIZAAIY/AIY/AIZAAIZAAIZAAIY/AIY/AIZAAIZAAIY/AIY/AIY/AIZAAIZAAIY/AIY/
AIY/AIZAAIZAAIY/AIY/AIZCAIc+AHwzAMWolgAAw62htJZvtZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1
tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1tZp1
tZp1tZh3r5Fw29DGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
</value>
</data>
</root>

Some files were not shown because too many files have changed in this diff Show More