using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
//using Core.LgMes.Client.LgResMgt;
using System.Threading;
using Core.LgMes.Client.lgClassModel;
using System.Collections;
using System.Reflection;
using CoreFS.CA06;
using Infragistics.Win.UltraWinGrid;
using Core.Mes.Client.Common;
using Core.LgMes.Client.LgResMgt;
using Core.LgMes.Client.LgIntegrationQuery;
using Core.LgMes.Client.Report;
namespace Core.LgMes.Client.LgJobMgt
{
public partial class frmCcmJob : CommonClientToServer
{
#region " Class Member Variable"
private string _heatProcessNo = ""; // 加热处理号
private string _smeltingID = ""; // 熔炼号
private string _oldSmelt = ""; // 保存上一个炉号
private string _stationCode = ""; // 岗位编号
private string _dealTime = ""; // 处理次数
private string _shiftCode = ""; // 班次编码
private DataTable _dtCraftElement = null; // 工艺化学成分信息表
private DataTable _dtStdElement = null; // 标准成分表
private DataTable _dtTemperature = null; // 温度
private DataTable _dtDevSampling = null; // 设备采样数据表(连铸拉速、配水、电磁搅拌等)
private DataTable _dtSamplingOfCvt = null; // 转炉采样数据表
private DataTable _dtSamplingOfCas = null; // 吹氩采样数据表
private DataTable _dtSamplingOfLfs = null; // 钢包采样数据表
private DataTable _dtSamplingOfCcm = null; // 连铸采样数据表
private DataTable _dtSamplingOfRhs = null; // RH炉采样数据表
private DataTable _dtDeviceState = null; // 当前设备状态表
private DataTable _dtEleStd = null; // 标准元素值表
private DataTable _dtCraftStdVal = null; // 炼钢工艺标准值
private CommandClass _commClass; // 消息发送类
private string _DEVICE_POSITION = "CCM01"; // 设备位置
private int _DEVICE_POS = 1; // 设备号
private Thread _getDataThread; // 取数据线程
private Thread _setDataThread; // 刷新数据线程
private bool _bIfGetData = true; // 控制取数据线程循环的标志
private bool _bIfSetData = true; // 控制刷新数据线程循环的标志
private bool _bResetDataFlag = false; // 清空所有数据标志,True表示已经清空
private ArrayList _listHeatProcess = null; // 存储加热处理号的数组列表
private string _devPos = ""; // 当前设备位置的全称
private TrackObjectInfo _tmpObjTrack; // 实时跟踪信息类 用于存放当前实时跟踪信息 起一个中间过渡的缓冲
private TrackObjectInfo _objTrackBuffer; // 用于实时刷新实时跟踪信息的缓冲区
private CraftElement _tmpObjCraftEle; // 存放工艺化学成分信息的类
private CraftElement _objCraftEleBuffer; // 用于实时刷新工艺化学成分信息的缓冲区
private CasAdditive _procAdditive; // 存放过程添加剂信息
private CasAdditive _additiveBuffer; // 用于刷新过程添加剂信息的缓冲区
private Hashtable _htPlanInfo; // 用于作业计划信息的表字段数据
private Hashtable _htOptInfo; // 用于存储操作信息的表字段数据
private delegate void SetDataThreadDelegate(); // 刷新数据线程的一个委托方法,目的是达到界面所有数据刷新同步
//对应表
DataTable coolWaterTable, crastallorTable; //结晶器,二冷水
#endregion
#region " Construct Function "
public frmCcmJob()
{
InitializeComponent();
// 初始化成员变量
_commClass = new CommandClass();
_tmpObjTrack = new TrackObjectInfo();
_objTrackBuffer = new TrackObjectInfo();
_tmpObjCraftEle = new CraftElement();
_objCraftEleBuffer = new CraftElement();
_procAdditive = new CasAdditive();
_additiveBuffer = new CasAdditive();
_htOptInfo = new Hashtable();
_htPlanInfo = new Hashtable();
_dtDevSampling = new DataTable();
_dtSamplingOfCvt = new DataTable();
_dtSamplingOfCas = new DataTable();
_dtSamplingOfLfs = new DataTable();
_dtSamplingOfCcm = new DataTable();
ucCcmDevInfo1.m_imageDefault = imageList1.Images[0];
}
#endregion
#region " Init Form Element"
private void frmCcmJob_Load(object sender, EventArgs e)
{
ucChemelEment1.ob = this.ob;
ucCcmPlanTime1.ob = this.ob;
GenerateTableFrame();
GetDevicePosition();
//创建Grid所用表
createTable();
//设定Grid属性
setGridEdit();
SetUserControlDelegate();
StartUpThread();
// ucCcmPlan1.ultraGrid1.DisplayLayout.Bands[0].Columns["HEATNO"].CellAppearance.FontData.SizeInPoints = 11.5F;
// ucCcmPlan1.ultraGrid1.DisplayLayout.Bands[0].Columns["HEATNO"].CellAppearance.FontData.Bold = Infragistics.Win.DefaultableBoolean.True;
}
///
/// 生成化学成分的表架构
///
private void GenerateTableFrame()
{
_dtTemperature = new DataTable("temperature");
_dtTemperature.Columns.Add(new DataColumn("项目名", typeof(String)));
_dtTemperature.Columns.Add(new DataColumn("实际值", typeof(String)));
_dtTemperature.Columns.Add(new DataColumn("id", typeof(String)));
_dtTemperature.Columns.Add(new DataColumn("采样时间", typeof(String)));
_dtTemperature.Columns.Add(new DataColumn("设定范围", typeof(String)));
this.ulgridTempInfo.DataSource = this._dtTemperature;
this.ulgridTempInfo.DisplayLayout.Bands[0].Columns[0].Width = 70;
this.ulgridTempInfo.DisplayLayout.Bands[0].Columns[0].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
this.ulgridTempInfo.DisplayLayout.Bands[0].Columns[1].Width = 58;
this.ulgridTempInfo.DisplayLayout.Bands[0].Columns[1].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
this.ulgridTempInfo.DisplayLayout.Bands[0].Columns[2].Hidden = true;
this.ulgridTempInfo.DisplayLayout.Bands[0].Columns[3].Width = 120;
this.ulgridTempInfo.DisplayLayout.Bands[0].Columns[3].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
this.ulgridTempInfo.DisplayLayout.Bands[0].Columns[4].Width = 75;
this.ulgridTempInfo.DisplayLayout.Bands[0].Columns[4].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
_dtTemperature.Rows.Add(new object[] { "一倒" });
_dtTemperature.Rows.Add(new object[] { "出钢(终点)" });
_dtTemperature.Rows.Add(new object[] { "吹氩氩前" });
_dtTemperature.Rows.Add(new object[] { "吹氩在站" });
_dtTemperature.Rows.Add(new object[] { "吹氩氩后" });
_dtTemperature.Rows.Add(new object[] { "精炼炉进站" });
_dtTemperature.Rows.Add(new object[] { "精炼炉出站" });
_dtTemperature.Rows.Add(new object[] { "大包上台" });
_dtTemperature.Rows.Add(new object[] { "中包浇注" });
}
//创建Grid所用表函数
private void createTable()
{
//板坯
if (_DEVICE_POS == 3 || _DEVICE_POS == 1 || _DEVICE_POS == 2)
{
DataColumn myDataColumn = new DataColumn();
#region "连铸机结晶器"
//设备状态对应表
crastallorTable = new DataTable("crastallorTable");
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "项目名";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "拉速";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "臂重";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "铸坯长度";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "铸坯模式(头/尾)";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "窄面右侧水流量";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "宽面内弧水流量";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "宽面外弧水流量";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "窄面左侧水流量";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "窄面右侧水压力";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "宽面内弧水压力";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "宽面外弧水压力";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "窄面左侧水压力";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "窄面右侧水温差";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "宽面内弧水温差";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "宽面外弧水温差";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "窄面左侧水温差";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "结晶器编号";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "拉钢长度";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "振动台频率";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "进水口温度";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "窄面右侧出口温度";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "宽面内弧出口温度";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "宽面外弧出口温度";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "窄面左侧出口温度";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "通钢量";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "总压力(晶)";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "总管压力(二冷)";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "总管压力(设备水)";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "总管流量(二冷)";
crastallorTable.Columns.Add(myDataColumn);
#endregion
#region "二冷水"
DataColumn myDataColumn_Water = new DataColumn();
//设备状态对应表
coolWaterTable = new DataTable("coolWaterTable");
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "项目名";
coolWaterTable.Columns.Add(myDataColumn_Water);
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "I足辊左右";
coolWaterTable.Columns.Add(myDataColumn_Water);
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "I内外弧";
coolWaterTable.Columns.Add(myDataColumn_Water);
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "II内外弧";
coolWaterTable.Columns.Add(myDataColumn_Water);
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "III内弧边部";
coolWaterTable.Columns.Add(myDataColumn_Water);
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "III内弧中部";
coolWaterTable.Columns.Add(myDataColumn_Water);
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "III外弧边部";
coolWaterTable.Columns.Add(myDataColumn_Water);
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "III外弧中部";
coolWaterTable.Columns.Add(myDataColumn_Water);
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "IV内弧边部";
coolWaterTable.Columns.Add(myDataColumn_Water);
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "IV内弧中部";
coolWaterTable.Columns.Add(myDataColumn_Water);
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "IV外弧边部";
coolWaterTable.Columns.Add(myDataColumn_Water);
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "IV外弧中部";
coolWaterTable.Columns.Add(myDataColumn_Water);
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "Ⅴ内弧边部";
coolWaterTable.Columns.Add(myDataColumn_Water);
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "Ⅴ内弧中部";
coolWaterTable.Columns.Add(myDataColumn_Water);
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "Ⅴ外弧边部";
coolWaterTable.Columns.Add(myDataColumn_Water);
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "Ⅴ外弧中部";
coolWaterTable.Columns.Add(myDataColumn_Water);
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "Ⅵ内弧边部";
coolWaterTable.Columns.Add(myDataColumn_Water);
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "Ⅵ内弧中部";
coolWaterTable.Columns.Add(myDataColumn_Water);
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "Ⅵ外弧边部";
coolWaterTable.Columns.Add(myDataColumn_Water);
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "Ⅵ外弧中部";
coolWaterTable.Columns.Add(myDataColumn_Water);
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "Ⅶ内弧边部";
coolWaterTable.Columns.Add(myDataColumn_Water);
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "Ⅶ内弧中部";
coolWaterTable.Columns.Add(myDataColumn_Water);
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "Ⅶ外弧边部";
coolWaterTable.Columns.Add(myDataColumn_Water);
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "Ⅶ外弧中部";
coolWaterTable.Columns.Add(myDataColumn_Water);
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "Ⅷ内弧边部";
coolWaterTable.Columns.Add(myDataColumn_Water);
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "Ⅷ内弧中部";
coolWaterTable.Columns.Add(myDataColumn_Water);
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "Ⅷ外弧边部";
coolWaterTable.Columns.Add(myDataColumn_Water);
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "Ⅷ外弧中部";
coolWaterTable.Columns.Add(myDataColumn_Water);
if (_DEVICE_POS == 1 || _DEVICE_POS == 2)
{
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "Ⅸ内弧";
coolWaterTable.Columns.Add(myDataColumn_Water);
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "Ⅸ外弧";
coolWaterTable.Columns.Add(myDataColumn_Water);
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "Ⅹ内弧";
coolWaterTable.Columns.Add(myDataColumn_Water);
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "Ⅹ外弧";
coolWaterTable.Columns.Add(myDataColumn_Water);
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "2-3区内外弧(中)压力";
coolWaterTable.Columns.Add(myDataColumn_Water);
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "3区内外弧(边)压力";
coolWaterTable.Columns.Add(myDataColumn_Water);
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "4-8区内外弧(中)压力";
coolWaterTable.Columns.Add(myDataColumn_Water);
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "4-8区内外弧(边)压力";
coolWaterTable.Columns.Add(myDataColumn_Water);
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "9-10区内外弧压力";
coolWaterTable.Columns.Add(myDataColumn_Water);
}
if (_DEVICE_POS == 3)
{
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "Ⅺ内弧侧";
coolWaterTable.Columns.Add(myDataColumn_Water);
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "Ⅺ外弧侧";
coolWaterTable.Columns.Add(myDataColumn_Water);
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "Ⅻ内弧侧";
coolWaterTable.Columns.Add(myDataColumn_Water);
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "Ⅻ外弧侧";
coolWaterTable.Columns.Add(myDataColumn_Water);
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "ⅫI内弧侧";
coolWaterTable.Columns.Add(myDataColumn_Water);
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "ⅫI外弧侧";
coolWaterTable.Columns.Add(myDataColumn_Water);
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "2-4区内外弧(中)压力";
coolWaterTable.Columns.Add(myDataColumn_Water);
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "3-4区内外弧(边)压力";
coolWaterTable.Columns.Add(myDataColumn_Water);
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "5-10区内外弧(中)压力";
coolWaterTable.Columns.Add(myDataColumn_Water);
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "5-10区内外弧(边)压力";
coolWaterTable.Columns.Add(myDataColumn_Water);
myDataColumn_Water = new DataColumn();
myDataColumn_Water.DataType = System.Type.GetType("System.String");
myDataColumn_Water.ColumnName = "11-13区内外弧压力";
coolWaterTable.Columns.Add(myDataColumn_Water);
}
#endregion
}
else
{
//方坯
DataColumn myDataColumn = new DataColumn();
#region "连铸机结晶器、二冷水"
//设备状态对应表
crastallorTable = new DataTable("crastallorTable");
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "项目名";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "拉速";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "0水流量";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "I水流量";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "II水流量";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "III水流量";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "IV水流量";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "结晶器编号";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "拉钢长度";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "水温差(晶)";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "水流量(晶)";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "振动台频率";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "结晶器振幅";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "出口温度(晶)";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "通钢量(晶)";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "压缩空气压力";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "拉娇机电流";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "平衡气囊压力";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "比水量";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "电搅电流(设)";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "电搅电流(实)";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "电搅频率(设)";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "电搅频率(实)";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "水压力(晶)";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "水压力(二冷)";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "水压力(设备)";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "水压力(净环)";
crastallorTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "水压力(浊环)";
crastallorTable.Columns.Add(myDataColumn);
#endregion
}
if (_DEVICE_POS == 1 || _DEVICE_POS == 2)
{
crastallorTable.Rows.Add(new object[] { "结晶器[S1]" });
crastallorTable.Rows.Add(new object[] { "结晶器[S2]" });
coolWaterTable.Rows.Add(new object[] { "二冷水流量[S1]" });
coolWaterTable.Rows.Add(new object[] { "二冷水压力[S1]" });
coolWaterTable.Rows.Add(new object[] { "二冷水流量[S2]" });
coolWaterTable.Rows.Add(new object[] { "二冷水压力[S2]" });
}
else
{
crastallorTable.Rows.Add(new object[] { "结晶器[S1]" });
coolWaterTable.Rows.Add(new object[] { "二冷水流量[S1]" });
coolWaterTable.Rows.Add(new object[] { "二冷水压力[S1]" });
}
this.ulgridDevSta.DataSource = crastallorTable;
this.ultgridWater.DataSource = coolWaterTable;
}
//表格属性设定
private void setGridEdit()
{
try
{
//结晶器表属性设定
for (int j = 0; j < this.ulgridDevSta.DisplayLayout.Bands[0].Columns.Count; j++)
{
this.ulgridDevSta.DisplayLayout.Bands[0].Columns[j].CellActivation = Activation.NoEdit;
this.ulgridDevSta.DisplayLayout.Bands[0].Columns[j].Width = 60;
}
ulgridDevSta.DisplayLayout.Bands[0].Columns["铸坯模式(头/尾)"].Hidden = true;
ulgridDevSta.DisplayLayout.Bands[0].Columns["通钢量"].Hidden = true;
ulgridDevSta.DisplayLayout.Bands[0].Columns["振动台频率"].Hidden = true;
ulgridDevSta.DisplayLayout.Bands[0].Columns["结晶器编号"].Hidden = true;
ulgridDevSta.DisplayLayout.Bands[0].Columns["拉钢长度"].Hidden = true;
//冷却水表属性设定
for (int i = 0; i < this.ultgridWater.DisplayLayout.Bands[0].Columns.Count; i++)
{
this.ultgridWater.DisplayLayout.Bands[0].Columns[i].Width = 60;
this.ultgridWater.DisplayLayout.Bands[0].Columns[i].CellActivation = Activation.NoEdit;
}
ulgridDevSta.DisplayLayout.Bands[0].Columns[0].Width = 80;
ultgridWater.DisplayLayout.Bands[0].Columns[0].Width = 80;
if (_DEVICE_POS == 3)
{
ultgridWater.DisplayLayout.Bands[0].Columns["III外弧边部"].Hidden = true;
ultgridWater.DisplayLayout.Bands[0].Columns["III外弧中部"].Hidden = true;
ultgridWater.DisplayLayout.Bands[0].Columns["III内弧边部"].Header.Caption = "III内外弧(中)";
ultgridWater.DisplayLayout.Bands[0].Columns["III内弧中部"].Header.Caption = "III内外弧(边)";
}
}
catch { }
}
#endregion
#region " Thread Handle "
///
/// 启动线程主程序
///
private void StartUpThread()
{
ThreadStart ts = new ThreadStart(GetDataThread);
_getDataThread = new Thread(ts);
_getDataThread.Name = "GetDataThread " + _DEVICE_POSITION;
_getDataThread.Start();
System.Threading.Thread.Sleep(1000);
ThreadStart ts1 = new ThreadStart(SetDataThread);
_setDataThread = new Thread(ts1);
_setDataThread.Name = "SetDataThread " + _DEVICE_POSITION;
_setDataThread.Start();
}
///
/// 取数据线程程序
///
private void GetDataThread()
{
while (_bIfGetData)
{
if (!this.On_Off_Thread)//
{
System.Threading.Thread.Sleep(500);
continue;
}
try
{
GetDataFromServer();
Thread.Sleep(2000);
}
catch { }
}
}
///
/// 刷新数据线程程序
///
private void SetDataThread()
{
while (_bIfSetData)
{
if (!this.On_Off_Thread)
{
System.Threading.Thread.Sleep(500);
continue;
}
try
{
this.Invoke(new SetDataThreadDelegate(SetDataOperate));
Thread.Sleep(1000);
}
catch { }
}
}
///
/// 获取连铸作业信息
///
private void GetDataFromServer()
{
GetTrackInfoData();
GetHeatProcessList();
JudgeHeatProcess();
GetPlanInfo();
GetOptInfo();
GetDevPosInfo();
GetPotInfo();//送钢钢包信息
//GetCraftEleInfo();
ucChemelEment1.GetCraftEleInfo(_smeltingID, "G0" + _DEVICE_POS, "S", "");
if (_htPlanInfo["V_HEAT_ID"] != null)
ucChemelEment1.GetStandardElement(_smeltingID);
GetDevStaData();
GetSamplingOfPost();
ucCcmPlanTime1.GetPlanAndFactTime(_smeltingID);
if (_htPlanInfo != null)
_dtCraftStdVal = CStaticMethod.GetJobStandardTemp(this.ob, _htPlanInfo["STEEL"].ToString());
}
///
/// 将作业信息显示在对应的界面
///
private void SetDataOperate()
{
lock (this)
{
if (_heatProcessNo == "")
{
ResetAllData();
return;
}
_bResetDataFlag = false;
FillUserControlData();
// FillCraftElement();
FillTemperatureData();
//SetGridTemperature();
SetGridDevice();
}
}
#endregion
#region " Delegate "
private void ucCcmDevInfo1_ClickCellButton(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
{
if (!string.IsNullOrEmpty(e.Cell.Text.ToString()))
{
switch (e.Cell.Column.Key)
{
case "HCW": //缓冲
{
if (e.Cell.Text != string.Empty && _listHeatProcess[0].ToString().Length > (int)OBJLEN.nHeatProcessNo)
{
string strCurtPos = "CCM0" + _DEVICE_POS.ToString() + "_IDLE";
string sIdleHeatNo = _listHeatProcess[0].ToString().Substring(0, (int)OBJLEN.nHeatProcessNo); //缓冲位加热处理号
ClassManualOperate.arryHeatNo = _listHeatProcess;
ClassManualOperate.ManualOperateEntrance(sIdleHeatNo, strCurtPos, this.ob, _objTrackBuffer);
}
break;
}
case "HBW": //换包
{
if (e.Cell.Text != string.Empty && _listHeatProcess[1].ToString().Length > (int)OBJLEN.nHeatProcessNo)
{
string strCurtPos = "CCM0" + _DEVICE_POS.ToString() + "_FRONT";
string sIdleHeatNo = _listHeatProcess[1].ToString().Substring(0, (int)OBJLEN.nHeatProcessNo); //缓冲位加热处理号
ClassManualOperate.arryHeatNo = _listHeatProcess;
ClassManualOperate.ManualOperateEntrance(sIdleHeatNo, strCurtPos, this.ob, _objTrackBuffer);
}
break;
}
case "JZW": //浇注
{
if (e.Cell.Text != string.Empty && _listHeatProcess[2].ToString().Length > (int)OBJLEN.nHeatProcessNo)
{
string strCurtPos = "CCM0" + _DEVICE_POS.ToString() + "_DEVICE";
string sIdleHeatNo = _listHeatProcess[2].ToString().Substring(0, (int)OBJLEN.nHeatProcessNo); //缓冲位加热处理号
ClassManualOperate.arryHeatNo = _listHeatProcess;
ClassManualOperate.ManualOperateEntrance(sIdleHeatNo, strCurtPos, this.ob, _objTrackBuffer);
}
}
break;
}
}
}
private void ucCcmPlan1_ClickCellButton(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
{
switch (e.Cell.Column.Key)
{
case "HEATNO": // 熔炼号
SmeltClickCellButton(e.Cell.Value.ToString(), e.Cell);
break;
case "SHIFTCODE": // 班次
break;
default:
break;
}
}
///
/// 熔炼号点击事件
///
///
///
private void SmeltClickCellButton(string szRLH, Infragistics.Win.UltraWinGrid.UltraGridCell cell)
{
frmJobPlanInfo frmPlan = new frmJobPlanInfo( _DEVICE_POS.ToString() + "#吹氩", _DEVICE_POSITION);
frmPlan.Location = CStaticMethod.GetChildWindowLocation(frmPlan.Size);
frmPlan.ShowDialog();
if (frmPlan._currSmeltingID != string.Empty && cell.Text == string.Empty)
{
cell.Value = frmPlan._currSmeltingID;
//this._commClass.setHeatID(_heatProcessNo);
//this._commClass.setChargingCommand("MOLSTL", _DEVICE_POSITION + "_DEVICE", frmPlan._currSmeltingID);
}
else if (frmPlan._currSmeltingID != string.Empty && cell.Text != string.Empty)
MessageBox.Show("本岗位有炉号信息,暂时不能加载!", "提示");
}
private void ucCcmTimeInfo1_ClickCellButton(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
{
ClassManualUpdateInfo.SetCellDateTime(e.Cell, _heatProcessNo, this.ob); //弹出时间更新窗体更新时间
}
private void ucCcmTimeInfo1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if (e.KeyCode != Keys.Enter || _heatProcessNo.Length < 11)
return;
if (ucCcmTimeInfo1.ultraGrid1.ActiveCell == null) return;
ucCcmTimeInfo1.ultraGrid1.UpdateData();
string keyStr = ucCcmTimeInfo1.ultraGrid1.ActiveCell.Column.Key;
DateTime valueStr;
string UptValue = "";
if (keyStr == "BALEPFTIME" || keyStr == "BALELEAVETIME" ||
keyStr == "BALESTARTTIME" || keyStr == "BALEENDTIME" ||
keyStr == "MWRAPSTARTTIME" || keyStr == "MWRAPENDTIME")
{
try
{
if (ucCcmTimeInfo1.ultraGrid1.ActiveCell.Value.ToString() != "")
UptValue = ((DateTime)ucCcmTimeInfo1.ultraGrid1.ActiveCell.Value).ToString("yyyy-MM-dd HH:mm");
else
UptValue = "";
//更新时间
ClassManualUpdateInfo.UpdateTableField(_heatProcessNo, "STL_CCM_OPTINFO", keyStr, "DATE",
UptValue, ob);
ucCcmTimeInfo1.ultraGrid1.ActiveCell.Value = UptValue;
}
catch (Exception ex)
{
string Msg = ex.Message;
MessageBox.Show("日期输入格式错误,请改正!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
}
private void ucCcmDevInfo1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if (e.KeyCode != Keys.Enter || _heatProcessNo.Length < 11)
return;
string keyStr = ucCcmDevInfo1.ultraGrid1.ActiveCell.Column.Key;
if (keyStr == "PFBALEWGT" && MessageBox.Show("是否确认要修改送钢重量?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk) == DialogResult.No)
return;
this.ucCcmDevInfo1.ultraGrid1.UpdateData();
string valueStr = ucCcmDevInfo1.ultraGrid1.ActiveCell.Text;
if (keyStr == "PFBALEWGT" || keyStr == "BALEFLOWTIEMS" || keyStr == "BALEMOULDTIME" || keyStr == "S1ZEROWGT"
|| keyStr == "S2ZEROWGT" || keyStr == "S1VERTICALWGT" || keyStr == "S2VERTICALWGT"
|| keyStr == "S1BENDWGT" || keyStr == "S2BENDWGT") //送钢重量
{
try
{
//更新数据
ClassManualUpdateInfo.UpdateTableField(_heatProcessNo, "STL_CCM_OPTINFO", keyStr, "VARCHAR2",
valueStr, ob);
ucCcmDevInfo1.ultraGrid1.ActiveCell.Value = valueStr;
}
catch (Exception ex)
{
string Msg = ex.Message;
MessageBox.Show("数据格式错误,请改正!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
}
private void ucCcmDevInfo1_CellListSelect(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
{
if ( _heatProcessNo.Length < 11)
return;
string keyStr = ucCcmDevInfo1.ultraGrid1.ActiveCell.Column.Key;
this.ucCcmDevInfo1.ultraGrid1.UpdateData();
string valueStr = ucCcmDevInfo1.ultraGrid1.ActiveCell.Value.ToString();
if (keyStr == "BALEFLOWFLAG" ) //是否引流
{
try
{
//更新数据
ClassManualUpdateInfo.UpdateTableField(_heatProcessNo, "STL_CCM_OPTINFO", keyStr, "VARCHAR2",
valueStr, ob);
ucCcmDevInfo1.ultraGrid1.ActiveCell.Value = valueStr;
}
catch (Exception ex)
{
string Msg = ex.Message;
MessageBox.Show("数据格式错误,请改正!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
}
#endregion
#region " Commonly Function "
///
/// 获取当前设备的后台实时跟踪信息
///
private void GetTrackInfoData()
{
string strErr = "";
ArrayList arry = new ArrayList();
arry.Add("ReceiveTrackObjectData.Select");//此ID为XML文件ID
arry.Add(_DEVICE_POSITION);
//获取指定岗位后台实时跟踪信息
DataSet ds = this.ExecuteQueryFunctions("Core.LgMes.Server.LgJobMgt.ClassTrackObjectInfo",
"ReceiveTrackObjectData", arry, out strErr);
if (strErr == "" && ds != null)
{
DataSetToTrackObject(ref ds, ref _tmpObjTrack);
}
}
///
/// 获得加热处理号
///
private void GetHeatProcessList()
{
try
{
_listHeatProcess = new ArrayList();
string Key = _DEVICE_POSITION + "_IDLE";
string szIdle = "", szFront = "", szDevice = "";
RealDataTrackObjectInfor objTrack = (RealDataTrackObjectInfor)_objTrackBuffer.hList[Key];
szIdle = (!string.IsNullOrEmpty(objTrack.OBJECTID)) ? objTrack.OBJECTID + objTrack.DEVICESTATES : "";
Key = _DEVICE_POSITION + "_FRONT";
objTrack = (RealDataTrackObjectInfor)_objTrackBuffer.hList[Key];
szFront = (!string.IsNullOrEmpty(objTrack.OBJECTID)) ? objTrack.OBJECTID + objTrack.DEVICESTATES : "";
Key = _DEVICE_POSITION + "_DEVICE";
objTrack = (RealDataTrackObjectInfor)_objTrackBuffer.hList[Key];
szDevice = (!string.IsNullOrEmpty(objTrack.OBJECTID)) ? objTrack.OBJECTID + objTrack.DEVICESTATES : "";
_listHeatProcess.Add(szIdle); //Idle
_listHeatProcess.Add(szFront); //Front
_listHeatProcess.Add(szDevice); //Device
}
catch (Exception ex)
{
string msg = ex.Message;
_listHeatProcess = null;
}
}
///
/// 对获取到的加热处理号进行判断
///
private void JudgeHeatProcess()
{
try
{
if (_listHeatProcess.Count < 3)
return;
_heatProcessNo = "";
_devPos = "";
if (_listHeatProcess[0].ToString().Length > (int)OBJLEN.nHeatProcessNo)
{
string strHeat = _listHeatProcess[0].ToString();
_heatProcessNo = strHeat.Substring(0, (int)OBJLEN.nHeatProcessNo);
}
if (_listHeatProcess[1].ToString().Length > (int)OBJLEN.nHeatProcessNo)
{
string strHeat = _listHeatProcess[1].ToString();
_heatProcessNo = strHeat.Substring(0, (int)OBJLEN.nHeatProcessNo);
_devPos = GetDevFrontCodeOfCcm(_DEVICE_POS);
}
if (_listHeatProcess[2].ToString().Length > (int)OBJLEN.nHeatProcessNo)
{
string strHeat = _listHeatProcess[2].ToString();
_heatProcessNo = strHeat.Substring(0, (int)OBJLEN.nHeatProcessNo);
_devPos = GetDevDeviceCodeOfCcm(_DEVICE_POS);
}
_smeltingID = (_heatProcessNo.Length > (int)OBJLEN.nHeatNo) ? CStaticMethod.getSmeltingID(_heatProcessNo) : "";
_stationCode = (_heatProcessNo.Length > (int)OBJLEN.nHeatNo) ? _heatProcessNo.Substring(1, (int)OBJLEN.nDevCode) : "";
_dealTime = (_heatProcessNo.Length > (int)OBJLEN.nHeatNo) ? _heatProcessNo.Substring(3, (int)OBJLEN.nDealTime) : "";
}
catch
{
return;
}
}
///
/// 获取转炉计划信息
///
private void GetPlanInfo()
{
string szOut = "", szWhere = "";
if (_smeltingID == "")
return;
try
{
#region " 炉次计划信息&钢包包号信息 "
string strErr = "";
ArrayList arry = new ArrayList();
arry.Add("ReceivePlanInfo.Select");//此ID为XML文件ID
arry.Add(_smeltingID);
//获取指定炉号的作业计划信息
DataSet ds = this.ExecuteQueryFunctions("Core.LgMes.Server.LgJobMgt.ClassCommonModule",
"ReceivePlanInfo", arry, out strErr);
if (strErr == "" && ds != null)
{
DataTable tb = ds.Tables[0];
if (tb.Rows.Count > 0)
{
for (int i = 0; i < tb.Columns.Count; i++)
{
if (_htPlanInfo.Contains(tb.Columns[i].ColumnName))
_htPlanInfo.Remove(tb.Columns[i].ColumnName);
_htPlanInfo.Add(tb.Columns[i].ColumnName, tb.Rows[0][i].ToString());
}
}
}
//获取当前班次
_shiftCode = CStaticMethod.GetCurrentClass(this.ob);
if (_htPlanInfo.Contains("SHIFTCODE"))
_htPlanInfo.Remove("SHIFTCODE");
_htPlanInfo.Add("SHIFTCODE", _shiftCode);
#endregion
}
catch { }
}
///
/// 获取连铸操作数据
///
private void GetOptInfo()
{
if (_heatProcessNo == "")
return;
#region " 取连铸操作数据 "
try
{
string strErr = "";
ArrayList arry = new ArrayList();
arry.Add("GetCcmOptInfo.Select");//此ID为XML文件ID
arry.Add(_smeltingID);
arry.Add(_stationCode);
arry.Add(_dealTime);
//查询转炉作业信息
DataSet ds = this.ExecuteQueryFunctions("Core.LgMes.Server.LgJobMgt.ClassBofJob",
"GetBofOptInfo", arry, out strErr);
if (strErr == "" && ds != null)
{
DataTable tb = ds.Tables[0];
if (tb.Rows.Count > 0)
{
for (int i = 0; i < tb.Columns.Count; i++)
{
if (_htOptInfo.Contains(tb.Columns[i].ColumnName))
_htOptInfo.Remove(tb.Columns[i].ColumnName);
_htOptInfo.Add(tb.Columns[i].ColumnName, tb.Rows[0][i].ToString());
// 铸坯断面 & 钢坯定尺
if (tb.Columns[i].ColumnName == "BILLETSECTION" || tb.Columns[i].ColumnName == "BILLETFIXSIZE"
|| tb.Columns[i].ColumnName == "POTNO" || tb.Columns[i].ColumnName == "MOULDSTOVENUM")
{
if (_htPlanInfo.Contains(tb.Columns[i].ColumnName))
_htPlanInfo.Remove(tb.Columns[i].ColumnName);
_htPlanInfo.Add(tb.Columns[i].ColumnName, tb.Rows[0][i].ToString());
}
}
}
else
_htOptInfo.Clear();
}
}
catch { }
#endregion
}
///
/// 获取设备位置信息
///
private void GetDevPosInfo()
{
try
{
string strState = "";
//换包位与浇注位都有炉号
if (_listHeatProcess[1].ToString().Length > (int)OBJLEN.nHeatProcessNo &&
_listHeatProcess[2].ToString().Length > (int)OBJLEN.nHeatProcessNo)
strState = "fTwo";
else if (_listHeatProcess[1].ToString().Length > (int)OBJLEN.nHeatProcessNo &&
_listHeatProcess[2].ToString().Length == 0)
strState = "fOneWork"; //换包位有炉号
else if (_listHeatProcess[1].ToString().Length == 0 && _listHeatProcess[2].ToString().Length > (int)OBJLEN.nHeatProcessNo)
strState = "fWorkOne";//浇铸位有炉号
else
strState = "idle";
if (_htOptInfo.Contains("TP"))
_htOptInfo.Remove("TP");
_htOptInfo.Add("TP", SetPic(strState)); // 图片
if (_listHeatProcess.Count >= 3)
{
string szID = _listHeatProcess[0].ToString();
szID = (szID.Length > (int)OBJLEN.nHeatNo) ? CStaticMethod.getSmeltingID(szID.Substring(0, (int)OBJLEN.nHeatProcessNo)) : "";
if (_htOptInfo.Contains("HCW"))
_htOptInfo.Remove("HCW");
_htOptInfo.Add("HCW", szID); // 缓冲位
szID = _listHeatProcess[1].ToString();
szID = (szID.Length > (int)OBJLEN.nHeatNo) ? CStaticMethod.getSmeltingID(szID.Substring(0, (int)OBJLEN.nHeatProcessNo)) : "";
if (_htOptInfo.Contains("HBW"))
_htOptInfo.Remove("HBW");
_htOptInfo.Add("HBW", szID); // 换包位
szID = _listHeatProcess[2].ToString();
szID = (szID.Length > (int)OBJLEN.nHeatNo) ? CStaticMethod.getSmeltingID(szID.Substring(0, (int)OBJLEN.nHeatProcessNo)) : "";
if (_htOptInfo.Contains("JZW"))
_htOptInfo.Remove("JZW");
_htOptInfo.Add("JZW", szID); // 浇铸位
}
}
catch { }
}
///
/// 获取连铸设备状态(拉速、配水)信息
///
private void GetDevStaData()
{
try
{
ArrayList al = null;
string strErr = "";
string strSqlId = "";
if (_heatProcessNo == "")
return;
switch (_DEVICE_POS)
{
case 1:
strSqlId = "GetJobCcmF1SamplingInfo.Select";
break;
case 2:
strSqlId = "GetJobCcmF2SamplingInfo.Select";
break;
case 3:
strSqlId = "GetJobCcmF3SamplingInfo.Select";
break;
default:
break;
}
ArrayList arry = new ArrayList();
arry.Add(strSqlId);
arry.Add(_smeltingID);
arry.Add(_stationCode);
arry.Add(_dealTime);
arry.Add(_smeltingID);
arry.Add(_stationCode);
arry.Add(_dealTime);
arry.Add(_smeltingID);
arry.Add(_stationCode);
arry.Add(_dealTime);
//查询结晶器,二冷水作业采样信息
DataSet ds = this.ExecuteQueryFunctions("Core.LgMes.Server.LgJobMgt.ClassBofJob",
"GetCCMJobSamplingInfo", arry, out strErr);
if (strErr == "" && ds != null)
_dtDevSampling = ds.Tables[0];
else
_dtDevSampling.Clear();
}
catch { }
}
///
/// 取各岗位采样数据
///
private void GetSamplingOfPost()
{
try
{
ArrayList al = null;
string strErr = "";
ArrayList arry = new ArrayList();
arry.Add(_smeltingID);
arry.Add(_DEVICE_POSITION);
arry.Add(_dealTime);
//查询作业采样信息
CoreClientParam ccp = this.ExecuteQueryArrayList("Core.LgMes.Server.LgJobMgt.ClassCommonModule",
"GetSamplingOfPost", arry, out strErr);
if (strErr == "" && ccp.ReturnObject != null)
{
al = ccp.ReturnObject as ArrayList;
GetDataOfPost(al);
}
else
{
_dtSamplingOfCvt.Clear();
_dtSamplingOfCas.Clear();
_dtSamplingOfLfs.Clear();
_dtSamplingOfCcm.Clear();
_dtSamplingOfRhs.Clear();
}
//}
}
catch { }
}
///
/// 取各岗位数据表记录
///
private void GetDataOfPost(ArrayList ar)
{
try
{
int nPos = 0;
string szPos = "";
if (ar != null)
{
ArrayList alOperate = new ArrayList();
nPos = ar.Count - 1;
szPos = ar[nPos].ToString();
alOperate = ar[nPos - 1] as ArrayList;
if (szPos != "")
{
for (int i = 0; i < szPos.Length; i++)
{
switch (szPos.Substring(i, 1))
{
case "C": // 转炉
_dtSamplingOfCvt = ConvertToDataTable(ar[i] as IList); //将服务器端传回的List转换成DataTable
break;
case "D": // 吹氩
_dtSamplingOfCas = ConvertToDataTable(ar[i] as IList); //将服务器端传回的List转换成DataTable
break;
case "E": // 精炼炉
_dtSamplingOfLfs = ConvertToDataTable(ar[i] as IList); //将服务器端传回的List转换成DataTable
break;
case "G": // 连铸
_dtSamplingOfCcm = ConvertToDataTable(ar[i] as IList); //将服务器端传回的List转换成DataTable
break;
case "F":// RH
_dtSamplingOfRhs = ConvertToDataTable(ar[i] as IList); //将服务器端传回的List转换成DataTable
break;
default:
break;
}
}
}
}
}
catch { }
}
///
/// 获取送钢钢包信息
///
private void GetPotInfo()
{
string strPot_HeatNo = ""; //送钢炉号
string strErr = "";
try
{
if (_htOptInfo != null && _htOptInfo.Count > 0)
{
if (!string.IsNullOrEmpty(_htOptInfo["HBW"].ToString()) && !string.IsNullOrEmpty(_htOptInfo["JZW"].ToString()))
{
strPot_HeatNo = _htOptInfo["HBW"].ToString();
}
else if (string.IsNullOrEmpty(_htOptInfo["HBW"].ToString()) &&
!string.IsNullOrEmpty(_htOptInfo["JZW"].ToString()) &&
!string.IsNullOrEmpty(_htOptInfo["HCW"].ToString()))
{
strPot_HeatNo = _htOptInfo["HCW"].ToString();
}
else if (!string.IsNullOrEmpty(_htOptInfo["HBW"].ToString()) &&
!string.IsNullOrEmpty(_htOptInfo["JZW"].ToString()) &&
!string.IsNullOrEmpty(_htOptInfo["HCW"].ToString()))
{
strPot_HeatNo = _htOptInfo["HCW"].ToString();
}
//获取送钢钢包信息
if (!string.IsNullOrEmpty(strPot_HeatNo))
{
ArrayList arry = new ArrayList();
arry.Add("GetSendSteelPotInfo.Select");//此ID为XML文件ID
arry.Add(strPot_HeatNo);
//查询送钢钢包信息
DataSet ds = this.ExecuteQueryFunctions("Core.LgMes.Server.LgJobMgt.ClassBofJob",
"GetSendSteelPotInfo", arry, out strErr);
if (strErr == "" && ds != null)
{
if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
{
if (_htPlanInfo.Contains("NEXTPOTNO"))
_htPlanInfo.Remove("NEXTPOTNO");
_htPlanInfo.Add("NEXTPOTNO", ds.Tables[0].Rows[0]["POTNO"].ToString()); // 送钢包号
if (_htPlanInfo.Contains("NEXTPOTDISTINCTION"))
_htPlanInfo.Remove("NEXTPOTDISTINCTION");
_htPlanInfo.Add("NEXTPOTDISTINCTION", ds.Tables[0].Rows[0]["POTDISTINCTION"].ToString()); // 送钢包包级
if (_htPlanInfo.Contains("NEXTPOTSTATE"))
_htPlanInfo.Remove("NEXTPOTSTATE");
_htPlanInfo.Add("NEXTPOTSTATE", ds.Tables[0].Rows[0]["POTWRAPSTATE"].ToString()); // 送钢包包况
}
}
}
else
{
if (_htPlanInfo.Contains("NEXTPOTNO"))
_htPlanInfo["NEXTPOTNO"] = "";
if (_htPlanInfo.Contains("NEXTPOTDISTINCTION"))
_htPlanInfo["NEXTPOTDISTINCTION"] = "";
if (_htPlanInfo.Contains("NEXTPOTSTATE"))
_htPlanInfo["NEXTPOTSTATE"] = "";
}
}
}
catch { }
}
///
/// 填充用户控件上面的数据
///
private void FillUserControlData()
{
ucCcmPlan1.SetData(_htPlanInfo);
ucCcmTimeInfo1.SetData(_htOptInfo);
ucCcmDevInfo1.SetData(_htOptInfo);
ucChemelEment1.FillCraftElement();
ucCcmPlanTime1.SetData();
}
///
/// 填充温度信息界面数据
///
private void FillTemperatureData()
{
try
{
lock (this)
{
int nRows = 4; // 加一条转炉出钢温度 吹氩站出站温度 精炼炉温度
DataRow[] dr1 = null, dr2 = null, dr3 = null, dr4 = null, dr5 = null;
if (_dtSamplingOfCvt != null && _dtSamplingOfCvt.Rows.Count > 0)
dr1 = _dtSamplingOfCvt.Select("SAMPLINGNAME='TEMPERATURE'", " SAMPLINGDATE DESC");
if (_dtSamplingOfCas != null && _dtSamplingOfCas.Rows.Count > 0)
dr2 = _dtSamplingOfCas.Select("SAMPLINGNAME='TEMPERATURE'", " SAMPLINGDATE DESC");
if (_dtSamplingOfLfs != null && _dtSamplingOfLfs.Rows.Count > 0)
dr3 = _dtSamplingOfLfs.Select("SAMPLINGNAME='TEMPERATURE'", " SAMPLINGDATE DESC");
if (_dtSamplingOfRhs != null && _dtSamplingOfRhs.Rows.Count > 0)
dr4 = _dtSamplingOfRhs.Select("SAMPLINGNAME='TEMPERATURE'", " SAMPLINGDATE DESC");
if (_dtSamplingOfCcm != null && _dtSamplingOfCcm.Rows.Count > 0)
dr5 = _dtSamplingOfCcm.Select("SAMPLINGNAME='TUNDISHTEMP1' or SAMPLINGNAME='TUNDISHTEMP2'", " SAMPLINGDATE ASC");
if (dr5 != null && dr5.Length > 0)
nRows += dr5.Length;
CStaticMethod.ResetTableRows(ref _dtTemperature, nRows);
int i = 0;
#region " 转炉出钢温度 "
string szVal = "";
string szTemp = "";
if (dr1 != null && dr1.Length > 0)
{
szVal = dr1[0]["SAMPLINGVALUE"].ToString();
szTemp=dr1[0]["SAMPLINGDATE"].ToString();
}
CStaticMethod.SetGridTemperature(ref _dtTemperature, "转炉终点温度", "", szVal, szTemp, i);
i++;
#endregion
#region " 吹氩站温度 "
szVal = "";
szTemp = "";
if (dr2 != null && dr2.Length > 0)
{
szVal = dr2[0]["SAMPLINGVALUE"].ToString();
szTemp = dr2[0]["SAMPLINGDATE"].ToString();
}
CStaticMethod.SetGridTemperature(ref _dtTemperature, "吹氩出站温度", "", szVal,szTemp, i);
i++;
#endregion
#region " 精炼炉温度 "
szVal = "";
szTemp = "";
if (dr3 != null && dr3.Length > 0)
{
szVal = dr3[0]["SAMPLINGVALUE"].ToString();
szTemp = dr3[0]["SAMPLINGDATE"].ToString();
}
CStaticMethod.SetGridTemperature(ref _dtTemperature, "精炼炉出站温度", "", szVal,szTemp, i);
i++;
#endregion
#region " RH炉温度 "
szVal = "";
szTemp = "";
if (dr4 != null && dr4.Length > 0)
{
szVal = dr4[0]["SAMPLINGVALUE"].ToString();
szTemp = dr4[0]["SAMPLINGDATE"].ToString();
}
CStaticMethod.SetGridTemperature(ref _dtTemperature, "RH炉出站温度", "", szVal,szTemp, i);
i++;
#endregion
#region " 实时值 "
if (dr5 != null && dr5.Length > 0)
{
string str = "";
for (int j = 0; j < dr5.Length; j++, i++)
{
if (i == _dtTemperature.Rows.Count - 1)
str = "连铸中包温度";
else
str = "连铸中包温度";
CStaticMethod.SetGridTemperature(ref _dtTemperature, str, "", dr5[j]["SAMPLINGVALUE"].ToString(),dr5[j]["SAMPLINGDATE"].ToString(), i);
}
}
#endregion
#region " 与标准进行比对 "
// 转炉终点温度
if (dr1 != null && dr1.Length > 0) CStaticMethod.CompareStandard(_dtCraftStdVal, ref _dtTemperature, "LG0201002", ref ulgridTempInfo, 0, "C");
// 吹氩站终点温度
if (dr2 != null && dr2.Length > 0) CStaticMethod.CompareStandard(_dtCraftStdVal, ref _dtTemperature, "LG0301002", ref ulgridTempInfo, 1, "D");
// 精炼炉终点温度
if (dr3 != null && dr3.Length > 0) CStaticMethod.CompareStandard(_dtCraftStdVal, ref _dtTemperature, "LG0401002", ref ulgridTempInfo, 2, "E");
// RH炉终点温度
if (dr4 != null && dr4.Length > 0) CStaticMethod.CompareStandard(_dtCraftStdVal, ref _dtTemperature, "LG0501002", ref ulgridTempInfo, 3, "F");
// 中包温度标准
if (dr5 != null && dr5.Length > 0)
{
CStaticMethod.CompareStandard(_dtCraftStdVal, ref _dtTemperature, "LG0601005", ref ulgridTempInfo, _dtTemperature.Rows.Count - 1, "G");
}
#endregion
}
}
catch (Exception ex)
{
string Msg = ex.Message;
}
}
///
/// 设置温度数据
///
private void SetGridTemperature()
{
try
{
DataRow[] dr = null;
Decimal dZXZ = 0, dZDZ = 0, dVal = 0;
#region " 一倒 "
if (_dtSamplingOfCvt.Rows.Count > 0)
{
dr = _dtSamplingOfCvt.Select("SAMPLINGNAME='GSWD'", " SAMPLINGDATE ASC");
if (dr.Length > 0)
{
_dtTemperature.Rows[0]["实际值"] = dr[0]["SAMPLINGVALUE"].ToString();
dVal = Convert.ToDecimal(dr[0]["SAMPLINGVALUE"]);
}
}
if (_dtCraftStdVal != null && _dtCraftStdVal.Rows.Count > 0)
{
try
{
dr = _dtCraftStdVal.Select(" CRAFTITEMCODE1 = '03002'");
if (dr.Length > 0)
{
if (dr[0]["ITEMMAXVALUE1"].ToString() != "" && dr[0]["ITEMMINVALUE1"].ToString() != "")
_dtTemperature.Rows[0]["设定范围"] = dr[0]["ITEMMINVALUE1"].ToString() + "-" + dr[0]["ITEMMAXVALUE1"].ToString();
else if (dr[0]["ITEMMAXVALUE1"].ToString() != "" && dr[0]["ITEMMINVALUE1"].ToString() == "")
_dtTemperature.Rows[0]["设定范围"] = "≤ " + dr[0]["ITEMMAXVALUE1"].ToString();
else if (dr[0]["ITEMMAXVALUE1"].ToString() == "" && dr[0]["ITEMMINVALUE1"].ToString() != "")
_dtTemperature.Rows[0]["设定范围"] = "> " + dr[0]["ITEMMINVALUE1"].ToString();
dZXZ = Convert.ToDecimal(dr[0]["ITEMMINVALUE1"]);
dZDZ = Convert.ToDecimal(dr[0]["ITEMMAXVALUE1"]);
if ((dVal > 0) && (dVal < dZXZ || dVal > dZDZ))
ulgridTempInfo.DisplayLayout.Rows[0].Cells["实际值"].Appearance.ForeColor = Color.Red; // 报警显示
else
ulgridTempInfo.DisplayLayout.Rows[0].Cells["实际值"].Appearance.ForeColor = Color.Black;
dZXZ = dZDZ = 0;
}
}
catch { }
}
dVal = 0;
#endregion
#region " 出钢终点 "
if (_dtSamplingOfCvt.Rows.Count > 0)
{
dr = _dtSamplingOfCvt.Select("SAMPLINGNAME='GSWD'", " SAMPLINGDATE DESC");
if (dr.Length > 0)
{
_dtTemperature.Rows[1]["实际值"] = dr[0]["SAMPLINGVALUE"].ToString();
}
}
if (_dtCraftStdVal != null && this._dtCraftStdVal.Rows.Count > 0)
{
try
{
dr = _dtCraftStdVal.Select(" CRAFTITEMCODE1 = '03001'");
if (dr.Length > 0)
{
if (dr[0]["ITEMMAXVALUE1"].ToString() != "" && dr[0]["ITEMMINVALUE1"].ToString() != "")
_dtTemperature.Rows[1]["设定范围"] = dr[0]["ITEMMINVALUE1"].ToString() + "-" + dr[0]["ITEMMAXVALUE1"].ToString();
else if (dr[0]["ITEMMAXVALUE1"].ToString() != "" && dr[0]["ITEMMINVALUE1"].ToString() == "")
_dtTemperature.Rows[1]["设定范围"] = "≤ " + dr[0]["ITEMMAXVALUE1"].ToString();
else if (dr[0]["ITEMMAXVALUE1"].ToString() == "" && dr[0]["ITEMMINVALUE1"].ToString() != "")
_dtTemperature.Rows[1]["设定范围"] = "> " + dr[0]["ITEMMINVALUE1"].ToString();
dZXZ = Convert.ToDecimal(dr[0]["ITEMMINVALUE1"]);
dZDZ = Convert.ToDecimal(dr[0]["ITEMMAXVALUE1"]);
if ((dVal > 0) && (dVal < dZXZ || dVal > dZDZ))
this.ulgridTempInfo.DisplayLayout.Rows[1].Cells["实际值"].Appearance.ForeColor = Color.Red; // 报警显示
else
this.ulgridTempInfo.DisplayLayout.Rows[1].Cells["实际值"].Appearance.ForeColor = Color.Black;
}
}
catch { }
}
#endregion
#region " 吹氩氩前 "
if (_dtSamplingOfCas.Rows.Count > 0)
{
dr = this._dtSamplingOfCas.Select("SAMPLINGNAME='GSWD'", " SAMPLINGDATE ASC");
if (dr.Length > 0)
_dtTemperature.Rows[2]["实际值"] = dr[0]["SAMPLINGVALUE"].ToString();
}
#endregion
#region " 吹氩在站 "
if (_dtSamplingOfCas.Rows.Count > 0)
{
dr = this._dtSamplingOfCas.Select("SAMPLINGNAME='GSWD'", " SAMPLINGDATE DESC");
if (dr.Length > 0)
{
_dtTemperature.Rows[3]["实际值"] = dr[0]["SAMPLINGVALUE"].ToString();
dVal = Convert.ToDecimal(_dtTemperature.Rows[3]["实际值"]);
}
}
#endregion
#region " 吹氩氩后 "
if (_dtSamplingOfCas.Rows.Count > 0)
{
dr = this._dtSamplingOfCas.Select("SAMPLINGNAME='GSWD'", " SAMPLINGDATE DESC");
if (dr.Length > 0)
{
_dtTemperature.Rows[4]["实际值"] = dr[0]["SAMPLINGVALUE"].ToString();
dVal = Convert.ToDecimal(_dtTemperature.Rows[4]["实际值"]);
}
}
#endregion
#region "精炼炉进站"
if (_dtSamplingOfLfs.Rows.Count > 0)
{
dr = this._dtSamplingOfLfs.Select("SAMPLINGNAME='GSWD'", " SAMPLINGDATE ASC");
if (dr.Length > 0)
_dtTemperature.Rows[5]["实际值"] = dr[0]["SAMPLINGVALUE"].ToString();
}
#endregion
#region "精炼炉出站"
if (_dtSamplingOfLfs.Rows.Count > 0)
{
dr = this._dtSamplingOfLfs.Select("SAMPLINGNAME='GSWD'", " SAMPLINGDATE DESC");
if (dr.Length > 0)
{
_dtTemperature.Rows[6]["实际值"] = dr[0]["SAMPLINGVALUE"].ToString();
dVal = Convert.ToDecimal(_dtTemperature.Rows[6]["实际值"]);
}
}
#endregion
#region " 大包上台"
if (_dtSamplingOfCcm.Rows.Count > 0)
{
dr = this._dtSamplingOfCcm.Select("SAMPLINGNAME='GSWD'", " SAMPLINGDATE DESC");
if (dr.Length > 0)
{
_dtTemperature.Rows[7]["实际值"] = ucCcmDevInfo1.ultraGrid1.Rows[0].Cells["PFBALETEMPT"].Value;
dVal = Convert.ToDecimal(_dtTemperature.Rows[7]["实际值"]);
}
}
#endregion
#region "中包浇注"
if (_dtSamplingOfCcm.Rows.Count > 0)
{
dr = this._dtSamplingOfCcm.Select("SAMPLINGNAME='ZB1WD'", " SAMPLINGDATE DESC");
if (dr.Length > 0)
{
_dtTemperature.Rows[8]["实际值"] = dr[0]["SAMPLINGVALUE"].ToString();
dVal = Convert.ToDecimal(_dtTemperature.Rows[8]["实际值"]);
}
}
if (_dtCraftStdVal != null && _dtCraftStdVal.Rows.Count > 0)
{
try
{
dr = this._dtCraftStdVal.Select(" CRAFTITEMCODE1 = '03004'");
if (dr.Length > 0)
{
if (dr[0]["ITEMMAXVALUE1"].ToString() != "" && dr[0]["ITEMMINVALUE1"].ToString() != "")
_dtTemperature.Rows[8]["设定范围"] = dr[0]["ITEMMINVALUE1"].ToString() + "-" + dr[0]["ITEMMAXVALUE1"].ToString();
else if (dr[0]["ITEMMAXVALUE1"].ToString() != "" && dr[0]["ITEMMINVALUE1"].ToString() == "")
_dtTemperature.Rows[8]["设定范围"] = "≤ " + dr[0]["ITEMMAXVALUE1"].ToString();
else if (dr[0]["ITEMMAXVALUE1"].ToString() == "" && dr[0]["ITEMMINVALUE1"].ToString() != "")
_dtTemperature.Rows[8]["设定范围"] = "> " + dr[0]["ITEMMINVALUE1"].ToString();
dZXZ = Convert.ToDecimal(dr[0]["ITEMMINVALUE1"]);
dZDZ = Convert.ToDecimal(dr[0]["ITEMMAXVALUE1"]);
if ((dVal > 0) && (dVal < dZXZ || dVal > dZDZ))
ulgridTempInfo.DisplayLayout.Rows[8].Cells["实际值"].Appearance.ForeColor = Color.Red; // 报警显示
else
ulgridTempInfo.DisplayLayout.Rows[8].Cells["实际值"].Appearance.ForeColor = Color.Black;
dZXZ = dZDZ = 0;
}
}
catch { }
}
#endregion
}
catch (Exception ex)
{
string Msg = ex.Message;
}
ulgridTempInfo.Refresh();
}
///
/// 设置设备状态数据
///
private void SetGridDevice()
{
try
{
if (_dtDevSampling.Rows.Count > 0)
{ //1流
crastallorTable.Rows[0]["拉速"] = _dtDevSampling.Rows[0]["S1CASTSPEED"];
crastallorTable.Rows[0]["臂重"] = _dtDevSampling.Rows[0]["ARMLADLEAWEIGHT"];
crastallorTable.Rows[0]["铸坯长度"] = _dtDevSampling.Rows[0]["S1DRAWSTEELLENGTH"];
crastallorTable.Rows[0]["铸坯模式(头/尾)"] = _dtDevSampling.Rows[0]["S1CASTINGLENGTH"];
crastallorTable.Rows[0]["窄面右侧水流量"] = _dtDevSampling.Rows[0]["S1CRNARROWROUTWATERFLUX"];
crastallorTable.Rows[0]["宽面内弧水流量"] = _dtDevSampling.Rows[0]["S1CRINNERARCWATERFLUX"];
crastallorTable.Rows[0]["宽面外弧水流量"] = _dtDevSampling.Rows[0]["S1CROUTSIDEARCWATERFLUX"];
crastallorTable.Rows[0]["窄面左侧水流量"] = _dtDevSampling.Rows[0]["S1CRNARROWLOUTWATERFLUX"];
crastallorTable.Rows[0]["窄面右侧水压力"] = _dtDevSampling.Rows[0]["S1CRNARROWROUTWATERPRES"];
crastallorTable.Rows[0]["宽面内弧水压力"] = _dtDevSampling.Rows[0]["S1CRINNERARCWATERPRES"];
crastallorTable.Rows[0]["宽面外弧水压力"] = _dtDevSampling.Rows[0]["S1CROUTSIDEARCWATERPRES"];
crastallorTable.Rows[0]["窄面左侧水压力"] = _dtDevSampling.Rows[0]["S1CRNARROWLOUTWATERPRES"];
crastallorTable.Rows[0]["窄面右侧水温差"] = _dtDevSampling.Rows[0]["S1CRNARROWROUTWATERTEMPDIFF"];
crastallorTable.Rows[0]["宽面内弧水温差"] = _dtDevSampling.Rows[0]["S1CRINNERARCWATERTEMPDIFF"];
crastallorTable.Rows[0]["宽面外弧水温差"] = _dtDevSampling.Rows[0]["S1CROUTSIDEARCWATERTEMPDIFF"];
crastallorTable.Rows[0]["窄面左侧水温差"] = _dtDevSampling.Rows[0]["S1CRNARROWLOUTWATERTEMPDIFF"];
crastallorTable.Rows[0]["结晶器编号"] = _dtDevSampling.Rows[0]["S1CRYSTALCODE"];
crastallorTable.Rows[0]["拉钢长度"] = _dtDevSampling.Rows[0]["S1CASTINGLENGTH"];
crastallorTable.Rows[0]["振动台频率"] = _dtDevSampling.Rows[0]["S1CRVIBRATORFREQUENCY"];
crastallorTable.Rows[0]["进水口温度"] = _dtDevSampling.Rows[0]["S1CRINWATERTEMP"];
crastallorTable.Rows[0]["窄面右侧出口温度"] = _dtDevSampling.Rows[0]["S1CRNARROWROUTWATERTEMP"];
crastallorTable.Rows[0]["宽面内弧出口温度"] = _dtDevSampling.Rows[0]["S1CRINNERARCWATERTEMP"];
crastallorTable.Rows[0]["宽面外弧出口温度"] = _dtDevSampling.Rows[0]["S1CROUTSIDEARCWATERTEMP"];
crastallorTable.Rows[0]["窄面左侧出口温度"] = _dtDevSampling.Rows[0]["S1CRNARROWLOUTWATERTEMP"];
crastallorTable.Rows[0]["总压力(晶)"] = _dtDevSampling.Rows[0]["CRYLWATERTOTALPRESSURE"];
crastallorTable.Rows[0]["总管压力(二冷)"] = _dtDevSampling.Rows[0]["COOLWATERTOTALPRESSURE"];
crastallorTable.Rows[0]["总管压力(设备水)"] = _dtDevSampling.Rows[0]["DEVICEWATERTOTALPRESSURE"];
crastallorTable.Rows[0]["总管流量(二冷)"] = _dtDevSampling.Rows[0]["COOLWATERTOTALFLUX"];
if (_DEVICE_POS == 1 || _DEVICE_POS == 2)
{
//2流
crastallorTable.Rows[1]["拉速"] = _dtDevSampling.Rows[0]["S2CASTSPEED"];
crastallorTable.Rows[1]["臂重"] = _dtDevSampling.Rows[0]["ARMLADLEBWEIGHT"];
crastallorTable.Rows[1]["铸坯长度"] = _dtDevSampling.Rows[0]["S2DRAWSTEELLENGTH"];
crastallorTable.Rows[1]["铸坯模式(头/尾)"] = _dtDevSampling.Rows[0]["S2CASTINGLENGTH"];
crastallorTable.Rows[1]["窄面右侧水流量"] = _dtDevSampling.Rows[0]["S2CRNARROWROUTWATERFLUX"];
crastallorTable.Rows[1]["宽面内弧水流量"] = _dtDevSampling.Rows[0]["S2CRINNERARCWATERFLUX"];
crastallorTable.Rows[1]["宽面外弧水流量"] = _dtDevSampling.Rows[0]["S2CROUTSIDEARCWATERFLUX"];
crastallorTable.Rows[1]["窄面左侧水流量"] = _dtDevSampling.Rows[0]["S2CRNARROWLOUTWATERFLUX"];
crastallorTable.Rows[1]["窄面右侧水压力"] = _dtDevSampling.Rows[0]["S2CRNARROWROUTWATERPRES"];
crastallorTable.Rows[1]["宽面内弧水压力"] = _dtDevSampling.Rows[0]["S2CRINNERARCWATERPRES"];
crastallorTable.Rows[1]["宽面外弧水压力"] = _dtDevSampling.Rows[0]["S2CROUTSIDEARCWATERPRES"];
crastallorTable.Rows[1]["窄面左侧水压力"] = _dtDevSampling.Rows[0]["S2CRNARROWLOUTWATERPRES"];
crastallorTable.Rows[1]["窄面右侧水温差"] = _dtDevSampling.Rows[0]["S2CRNARROWROUTWATERTEMPDIFF"];
crastallorTable.Rows[1]["宽面内弧水温差"] = _dtDevSampling.Rows[0]["S2CRINNERARCWATERTEMPDIFF"];
crastallorTable.Rows[1]["宽面外弧水温差"] = _dtDevSampling.Rows[0]["S2CROUTSIDEARCWATERTEMPDIFF"];
crastallorTable.Rows[1]["窄面左侧水温差"] = _dtDevSampling.Rows[0]["S2CRNARROWLOUTWATERTEMPDIFF"];
crastallorTable.Rows[1]["结晶器编号"] = _dtDevSampling.Rows[0]["S2CRYSTALCODE"];
crastallorTable.Rows[1]["拉钢长度"] = _dtDevSampling.Rows[0]["S2CASTINGLENGTH"];
crastallorTable.Rows[1]["振动台频率"] = _dtDevSampling.Rows[0]["S2CRVIBRATORFREQUENCY"];
crastallorTable.Rows[1]["进水口温度"] = _dtDevSampling.Rows[0]["S2CRINWATERTEMP"];
crastallorTable.Rows[1]["窄面右侧出口温度"] = _dtDevSampling.Rows[0]["S2CRNARROWROUTWATERTEMP"];
crastallorTable.Rows[1]["宽面内弧出口温度"] = _dtDevSampling.Rows[0]["S2CRINNERARCWATERTEMP"];
crastallorTable.Rows[1]["宽面外弧出口温度"] = _dtDevSampling.Rows[0]["S2CROUTSIDEARCWATERTEMP"];
crastallorTable.Rows[1]["窄面左侧出口温度"] = _dtDevSampling.Rows[0]["S2CRNARROWLOUTWATERTEMP"];
crastallorTable.Rows[1]["总压力(晶)"] = _dtDevSampling.Rows[0]["CRYLWATERTOTALPRESSURE"];
crastallorTable.Rows[1]["总管压力(二冷)"] = _dtDevSampling.Rows[0]["COOLWATERTOTALPRESSURE"];
crastallorTable.Rows[1]["总管压力(设备水)"] = _dtDevSampling.Rows[0]["DEVICEWATERTOTALPRESSURE"];
crastallorTable.Rows[1]["总管流量(二冷)"] = _dtDevSampling.Rows[0]["COOLWATERTOTALFLUX"];
}
//二冷水流量
coolWaterTable.Rows[0]["I足辊左右"] = _dtDevSampling.Rows[0]["S1SEG1WATERNARROWLRFLUX"];
coolWaterTable.Rows[0]["I内外弧"] = _dtDevSampling.Rows[0]["S1SEG1WATERARCFLUX"];
coolWaterTable.Rows[0]["II内外弧"] = _dtDevSampling.Rows[0]["S1SEG2WATERARCFLUX"];
coolWaterTable.Rows[0]["III内弧边部"] = _dtDevSampling.Rows[0]["S1SEG3WATERINNERARCEFLUX"];
coolWaterTable.Rows[0]["III内弧中部"] = _dtDevSampling.Rows[0]["S1SEG3WATERINNERARCMFLUX"];
coolWaterTable.Rows[0]["III外弧边部"] = _dtDevSampling.Rows[0]["S1SEG3WATEROUTSIDEARCEFLUX"];
coolWaterTable.Rows[0]["III外弧中部"] = _dtDevSampling.Rows[0]["S1SEG3WATEROUTSIDEARCMFLUX"];
coolWaterTable.Rows[0]["IV内弧边部"] = _dtDevSampling.Rows[0]["S1SEG4WATERINNERARCEFLUX"];
coolWaterTable.Rows[0]["IV内弧中部"] = _dtDevSampling.Rows[0]["S1SEG4WATERINNERARCMFLUX"];
coolWaterTable.Rows[0]["IV外弧边部"] = _dtDevSampling.Rows[0]["S1SEG4WATEROUTSIDEARCEFLUX"];
coolWaterTable.Rows[0]["IV外弧中部"] = _dtDevSampling.Rows[0]["S1SEG4WATEROUTSIDEARCMFLUX"];
coolWaterTable.Rows[0]["Ⅴ内弧边部"] = _dtDevSampling.Rows[0]["S1SEG5WATERINNERARCEFLUX"];
coolWaterTable.Rows[0]["Ⅴ内弧中部"] = _dtDevSampling.Rows[0]["S1SEG5WATERINNERARCMFLUX"];
coolWaterTable.Rows[0]["Ⅴ外弧边部"] = _dtDevSampling.Rows[0]["S1SEG5WATEROUTSIDEARCEFLUX"];
coolWaterTable.Rows[0]["Ⅴ外弧中部"] = _dtDevSampling.Rows[0]["S1SEG5WATEROUTSIDEARCMFLUX"];
coolWaterTable.Rows[0]["Ⅵ内弧边部"] = _dtDevSampling.Rows[0]["S1SEG6WATERINNERARCEFLUX"];
coolWaterTable.Rows[0]["Ⅵ内弧中部"] = _dtDevSampling.Rows[0]["S1SEG6WATERINNERARCMFLUX"];
coolWaterTable.Rows[0]["Ⅵ外弧边部"] = _dtDevSampling.Rows[0]["S1SEG6WATEROUTSIDEARCEFLUX"];
coolWaterTable.Rows[0]["Ⅵ外弧中部"] = _dtDevSampling.Rows[0]["S1SEG6WATEROUTSIDEARCMFLUX"];
coolWaterTable.Rows[0]["Ⅶ内弧边部"] = _dtDevSampling.Rows[0]["S1SEG7WATERINNERARCEFLUX"];
coolWaterTable.Rows[0]["Ⅶ内弧中部"] = _dtDevSampling.Rows[0]["S1SEG7WATERINNERARCMFLUX"];
coolWaterTable.Rows[0]["Ⅶ外弧边部"] = _dtDevSampling.Rows[0]["S1SEG7WATEROUTSIDEARCEFLUX"];
coolWaterTable.Rows[0]["Ⅶ外弧中部"] = _dtDevSampling.Rows[0]["S1SEG7WATEROUTSIDEARCMFLUX"];
coolWaterTable.Rows[0]["Ⅷ内弧边部"] = _dtDevSampling.Rows[0]["S1SEG8WATERINNERARCEFLUX"];
coolWaterTable.Rows[0]["Ⅷ内弧中部"] = _dtDevSampling.Rows[0]["S1SEG8WATERINNERARCMFLUX"];
coolWaterTable.Rows[0]["Ⅷ外弧边部"] = _dtDevSampling.Rows[0]["S1SEG8WATEROUTSIDEARCEFLUX"];
coolWaterTable.Rows[0]["Ⅷ外弧中部"] = _dtDevSampling.Rows[0]["S1SEG8WATEROUTSIDEARCMFLUX"];
//二冷水压力
coolWaterTable.Rows[1]["I足辊左右"] = _dtDevSampling.Rows[0]["S1SEG1WATERNARROWLRPRES"];
coolWaterTable.Rows[1]["I内外弧"] = _dtDevSampling.Rows[0]["S1SEG1WATERARCPRES"];
coolWaterTable.Rows[1]["II内外弧"] = _dtDevSampling.Rows[0]["S1SEG2WATERARCPRES"];
coolWaterTable.Rows[1]["III内弧边部"] = _dtDevSampling.Rows[0]["S1SEG3WATERINNERARCEPRES"];
coolWaterTable.Rows[1]["III内弧中部"] = _dtDevSampling.Rows[0]["S1SEG3WATERINNERARCMPRES"];
coolWaterTable.Rows[1]["III外弧边部"] = _dtDevSampling.Rows[0]["S1SEG3WATEROUTSIDEARCEPRES"];
coolWaterTable.Rows[1]["III外弧中部"] = _dtDevSampling.Rows[0]["S1SEG3WATEROUTSIDEARCMPRES"];
coolWaterTable.Rows[1]["IV内弧边部"] = _dtDevSampling.Rows[0]["S1SEG4WATERINNERARCEPRES"];
coolWaterTable.Rows[1]["IV内弧中部"] = _dtDevSampling.Rows[0]["S1SEG4WATERINNERARCMPRES"];
coolWaterTable.Rows[1]["IV外弧边部"] = _dtDevSampling.Rows[0]["S1SEG4WATEROUTSIDEARCEPRES"];
coolWaterTable.Rows[1]["IV外弧中部"] = _dtDevSampling.Rows[0]["S1SEG4WATEROUTSIDEARCMPRES"];
coolWaterTable.Rows[1]["Ⅴ内弧边部"] = _dtDevSampling.Rows[0]["S1SEG5WATERINNERARCEPRES"];
coolWaterTable.Rows[1]["Ⅴ内弧中部"] = _dtDevSampling.Rows[0]["S1SEG5WATERINNERARCMPRES"];
coolWaterTable.Rows[1]["Ⅴ外弧边部"] = _dtDevSampling.Rows[0]["S1SEG5WATEROUTSIDEARCEPRES"];
coolWaterTable.Rows[1]["Ⅴ外弧中部"] = _dtDevSampling.Rows[0]["S1SEG5WATEROUTSIDEARCMPRES"];
coolWaterTable.Rows[1]["Ⅵ内弧边部"] = _dtDevSampling.Rows[0]["S1SEG6WATERINNERARCEPRES"];
coolWaterTable.Rows[1]["Ⅵ内弧中部"] = _dtDevSampling.Rows[0]["S1SEG6WATERINNERARCMPRES"];
coolWaterTable.Rows[1]["Ⅵ外弧边部"] = _dtDevSampling.Rows[0]["S1SEG6WATEROUTSIDEARCEPRES"];
coolWaterTable.Rows[1]["Ⅵ外弧中部"] = _dtDevSampling.Rows[0]["S1SEG6WATEROUTSIDEARCMPRES"];
coolWaterTable.Rows[1]["Ⅶ内弧边部"] = _dtDevSampling.Rows[0]["S1SEG7WATERINNERARCEPRES"];
coolWaterTable.Rows[1]["Ⅶ内弧中部"] = _dtDevSampling.Rows[0]["S1SEG7WATERINNERARCMPRES"];
coolWaterTable.Rows[1]["Ⅶ外弧边部"] = _dtDevSampling.Rows[0]["S1SEG7WATEROUTSIDEARCEPRES"];
coolWaterTable.Rows[1]["Ⅶ外弧中部"] = _dtDevSampling.Rows[0]["S1SEG7WATEROUTSIDEARCMPRES"];
coolWaterTable.Rows[1]["Ⅷ内弧边部"] = _dtDevSampling.Rows[0]["S1SEG8WATERINNERARCEPRES"];
coolWaterTable.Rows[1]["Ⅷ内弧中部"] = _dtDevSampling.Rows[0]["S1SEG8WATERINNERARCMPRES"];
coolWaterTable.Rows[1]["Ⅷ外弧边部"] = _dtDevSampling.Rows[0]["S1SEG8WATEROUTSIDEARCEPRES"];
coolWaterTable.Rows[1]["Ⅷ外弧中部"] = _dtDevSampling.Rows[0]["S1SEG8WATEROUTSIDEARCMPRES"];
if (_DEVICE_POS == 1 || _DEVICE_POS == 2)
{
coolWaterTable.Rows[0]["Ⅸ内弧"] = _dtDevSampling.Rows[0]["S1SEG9WATERINNERARCFLUX"];
coolWaterTable.Rows[0]["Ⅸ外弧"] = _dtDevSampling.Rows[0]["S1SEG9WATEROUTSIDEARCFLUX"];
coolWaterTable.Rows[0]["Ⅹ内弧"] = _dtDevSampling.Rows[0]["S1SEG10WATERINNERARCFLUX"];
coolWaterTable.Rows[0]["Ⅹ外弧"] = _dtDevSampling.Rows[0]["S1SEG10WATEROUTSIDEARCFLUX"];
coolWaterTable.Rows[1]["Ⅸ内弧"] = _dtDevSampling.Rows[0]["S1SEG9WATERINNERARCPRES"];
coolWaterTable.Rows[1]["Ⅸ外弧"] = _dtDevSampling.Rows[0]["S1SEG9WATEROUTSIDEARCPRES"];
coolWaterTable.Rows[1]["Ⅹ内弧"] = _dtDevSampling.Rows[0]["S1SEG10WATERINNERARCPRES"];
coolWaterTable.Rows[1]["Ⅹ外弧"] = _dtDevSampling.Rows[0]["S1SEG10WATEROUTSIDEARCPRES"];
//二冷水流量
coolWaterTable.Rows[2]["I足辊左右"] = _dtDevSampling.Rows[0]["S2SEG1WATERNARROWLRFLUX"];
coolWaterTable.Rows[2]["I内外弧"] = _dtDevSampling.Rows[0]["S2SEG1WATERARCFLUX"];
coolWaterTable.Rows[2]["II内外弧"] = _dtDevSampling.Rows[0]["S2SEG2WATERARCFLUX"];
coolWaterTable.Rows[2]["III内弧边部"] = _dtDevSampling.Rows[0]["S2SEG3WATERINNERARCEFLUX"];
coolWaterTable.Rows[2]["III内弧中部"] = _dtDevSampling.Rows[0]["S2SEG3WATERINNERARCMFLUX"];
coolWaterTable.Rows[2]["III外弧边部"] = _dtDevSampling.Rows[0]["S2SEG3WATEROUTSIDEARCEFLUX"];
coolWaterTable.Rows[2]["III外弧中部"] = _dtDevSampling.Rows[0]["S2SEG3WATEROUTSIDEARCMFLUX"];
coolWaterTable.Rows[2]["IV内弧边部"] = _dtDevSampling.Rows[0]["S2SEG4WATERINNERARCEFLUX"];
coolWaterTable.Rows[2]["IV内弧中部"] = _dtDevSampling.Rows[0]["S2SEG4WATERINNERARCMFLUX"];
coolWaterTable.Rows[2]["IV外弧边部"] = _dtDevSampling.Rows[0]["S2SEG4WATEROUTSIDEARCEFLUX"];
coolWaterTable.Rows[2]["IV外弧中部"] = _dtDevSampling.Rows[0]["S2SEG4WATEROUTSIDEARCMFLUX"];
coolWaterTable.Rows[2]["Ⅴ内弧边部"] = _dtDevSampling.Rows[0]["S2SEG5WATERINNERARCEFLUX"];
coolWaterTable.Rows[2]["Ⅴ内弧中部"] = _dtDevSampling.Rows[0]["S2SEG5WATERINNERARCMFLUX"];
coolWaterTable.Rows[2]["Ⅴ外弧边部"] = _dtDevSampling.Rows[0]["S2SEG5WATEROUTSIDEARCEFLUX"];
coolWaterTable.Rows[2]["Ⅴ外弧中部"] = _dtDevSampling.Rows[0]["S2SEG5WATEROUTSIDEARCMFLUX"];
coolWaterTable.Rows[2]["Ⅵ内弧边部"] = _dtDevSampling.Rows[0]["S2SEG6WATERINNERARCEFLUX"];
coolWaterTable.Rows[2]["Ⅵ内弧中部"] = _dtDevSampling.Rows[0]["S2SEG6WATERINNERARCMFLUX"];
coolWaterTable.Rows[2]["Ⅵ外弧边部"] = _dtDevSampling.Rows[0]["S2SEG6WATEROUTSIDEARCEFLUX"];
coolWaterTable.Rows[2]["Ⅵ外弧中部"] = _dtDevSampling.Rows[0]["S2SEG6WATEROUTSIDEARCMFLUX"];
coolWaterTable.Rows[2]["Ⅶ内弧边部"] = _dtDevSampling.Rows[0]["S2SEG7WATERINNERARCEFLUX"];
coolWaterTable.Rows[2]["Ⅶ内弧中部"] = _dtDevSampling.Rows[0]["S2SEG7WATERINNERARCMFLUX"];
coolWaterTable.Rows[2]["Ⅶ外弧边部"] = _dtDevSampling.Rows[0]["S2SEG7WATEROUTSIDEARCEFLUX"];
coolWaterTable.Rows[2]["Ⅶ外弧中部"] = _dtDevSampling.Rows[0]["S2SEG7WATEROUTSIDEARCMFLUX"];
coolWaterTable.Rows[2]["Ⅷ内弧边部"] = _dtDevSampling.Rows[0]["S2SEG8WATERINNERARCEFLUX"];
coolWaterTable.Rows[2]["Ⅷ内弧中部"] = _dtDevSampling.Rows[0]["S2SEG8WATERINNERARCMFLUX"];
coolWaterTable.Rows[2]["Ⅷ外弧边部"] = _dtDevSampling.Rows[0]["S2SEG8WATEROUTSIDEARCEFLUX"];
coolWaterTable.Rows[2]["Ⅷ外弧中部"] = _dtDevSampling.Rows[0]["S2SEG8WATEROUTSIDEARCMFLUX"];
coolWaterTable.Rows[2]["Ⅸ内弧"] = _dtDevSampling.Rows[0]["S2SEG9WATERINNERARCFLUX"];
coolWaterTable.Rows[2]["Ⅸ外弧"] = _dtDevSampling.Rows[0]["S2SEG9WATEROUTSIDEARCFLUX"];
coolWaterTable.Rows[2]["Ⅹ内弧"] = _dtDevSampling.Rows[0]["S2SEG10WATERINNERARCFLUX"];
coolWaterTable.Rows[2]["Ⅹ外弧"] = _dtDevSampling.Rows[0]["S1SEG10WATEROUTSIDEARCFLUX"];
//二冷水压力
coolWaterTable.Rows[3]["I足辊左右"] = _dtDevSampling.Rows[0]["S2SEG1WATERNARROWLRPRES"];
coolWaterTable.Rows[3]["I内外弧"] = _dtDevSampling.Rows[0]["S2SEG1WATERARCPRES"];
coolWaterTable.Rows[3]["II内外弧"] = _dtDevSampling.Rows[0]["S2SEG2WATERARCPRES"];
coolWaterTable.Rows[3]["III内弧边部"] = _dtDevSampling.Rows[0]["S2SEG3WATERINNERARCEPRES"];
coolWaterTable.Rows[3]["III内弧中部"] = _dtDevSampling.Rows[0]["S2SEG3WATERINNERARCMPRES"];
coolWaterTable.Rows[3]["III外弧边部"] = _dtDevSampling.Rows[0]["S2SEG3WATEROUTSIDEARCEPRES"];
coolWaterTable.Rows[3]["III外弧中部"] = _dtDevSampling.Rows[0]["S2SEG3WATEROUTSIDEARCMPRES"];
coolWaterTable.Rows[3]["IV内弧边部"] = _dtDevSampling.Rows[0]["S2SEG4WATERINNERARCEPRES"];
coolWaterTable.Rows[3]["IV内弧中部"] = _dtDevSampling.Rows[0]["S2SEG4WATERINNERARCMPRES"];
coolWaterTable.Rows[3]["IV外弧边部"] = _dtDevSampling.Rows[0]["S2SEG4WATEROUTSIDEARCEPRES"];
coolWaterTable.Rows[3]["IV外弧中部"] = _dtDevSampling.Rows[0]["S2SEG4WATEROUTSIDEARCMPRES"];
coolWaterTable.Rows[3]["Ⅴ内弧边部"] = _dtDevSampling.Rows[0]["S2SEG5WATERINNERARCEPRES"];
coolWaterTable.Rows[3]["Ⅴ内弧中部"] = _dtDevSampling.Rows[0]["S2SEG5WATERINNERARCMPRES"];
coolWaterTable.Rows[3]["Ⅴ外弧边部"] = _dtDevSampling.Rows[0]["S2SEG5WATEROUTSIDEARCEPRES"];
coolWaterTable.Rows[3]["Ⅴ外弧中部"] = _dtDevSampling.Rows[0]["S2SEG5WATEROUTSIDEARCMPRES"];
coolWaterTable.Rows[3]["Ⅵ内弧边部"] = _dtDevSampling.Rows[0]["S2SEG6WATERINNERARCEPRES"];
coolWaterTable.Rows[3]["Ⅵ内弧中部"] = _dtDevSampling.Rows[0]["S2SEG6WATERINNERARCMPRES"];
coolWaterTable.Rows[3]["Ⅵ外弧边部"] = _dtDevSampling.Rows[0]["S2SEG6WATEROUTSIDEARCEPRES"];
coolWaterTable.Rows[3]["Ⅵ外弧中部"] = _dtDevSampling.Rows[0]["S2SEG6WATEROUTSIDEARCMPRES"];
coolWaterTable.Rows[3]["Ⅶ内弧边部"] = _dtDevSampling.Rows[0]["S2SEG7WATERINNERARCEPRES"];
coolWaterTable.Rows[3]["Ⅶ内弧中部"] = _dtDevSampling.Rows[0]["S2SEG7WATERINNERARCMPRES"];
coolWaterTable.Rows[3]["Ⅶ外弧边部"] = _dtDevSampling.Rows[0]["S2SEG7WATEROUTSIDEARCEPRES"];
coolWaterTable.Rows[3]["Ⅶ外弧中部"] = _dtDevSampling.Rows[0]["S2SEG7WATEROUTSIDEARCMPRES"];
coolWaterTable.Rows[3]["Ⅷ内弧边部"] = _dtDevSampling.Rows[0]["S2SEG8WATERINNERARCEPRES"];
coolWaterTable.Rows[3]["Ⅷ内弧中部"] = _dtDevSampling.Rows[0]["S2SEG8WATERINNERARCMPRES"];
coolWaterTable.Rows[3]["Ⅷ外弧边部"] = _dtDevSampling.Rows[0]["S2SEG8WATEROUTSIDEARCEPRES"];
coolWaterTable.Rows[3]["Ⅷ外弧中部"] = _dtDevSampling.Rows[0]["S2SEG8WATEROUTSIDEARCMPRES"];
coolWaterTable.Rows[3]["Ⅸ内弧"] = _dtDevSampling.Rows[0]["S2SEG9WATERINNERARCPRES"];
coolWaterTable.Rows[3]["Ⅸ外弧"] = _dtDevSampling.Rows[0]["S2SEG9WATEROUTSIDEARCPRES"];
coolWaterTable.Rows[3]["Ⅹ内弧"] = _dtDevSampling.Rows[0]["S2SEG10WATERINNERARCPRES"];
coolWaterTable.Rows[3]["Ⅹ外弧"] = _dtDevSampling.Rows[0]["S2SEG10WATEROUTSIDEARCPRES"];
}
if (_DEVICE_POS == 1 || _DEVICE_POS == 2)
{
coolWaterTable.Rows[0]["2-3区内外弧(中)压力"] = _dtDevSampling.Rows[0]["S1SEGAIR2TO3ARCMPRES"];
coolWaterTable.Rows[0]["3区内外弧(边)压力"] = _dtDevSampling.Rows[0]["S1SEGAIR3ARCEPRES"];
coolWaterTable.Rows[0]["4-8区内外弧(中)压力"] = _dtDevSampling.Rows[0]["S1SEGAIR4TO8ARCMPRES"];
coolWaterTable.Rows[0]["4-8区内外弧(边)压力"] = _dtDevSampling.Rows[0]["S1SEGAIR4TO8ARCEPRES"];
coolWaterTable.Rows[0]["9-10区内外弧压力"] = _dtDevSampling.Rows[0]["S1SEGAIR9TO10ARCPRES"];
coolWaterTable.Rows[3]["2-3区内外弧(中)压力"] = _dtDevSampling.Rows[0]["S2SEGAIR2TO3ARCMPRES"];
coolWaterTable.Rows[3]["3区内外弧(边)压力"] = _dtDevSampling.Rows[0]["S2SEGAIR3ARCEPRES"];
coolWaterTable.Rows[3]["4-8区内外弧(中)压力"] = _dtDevSampling.Rows[0]["S2SEGAIR4TO8ARCMPRES"];
coolWaterTable.Rows[3]["4-8区内外弧(边)压力"] = _dtDevSampling.Rows[0]["S2SEGAIR4TO8ARCEPRES"];
coolWaterTable.Rows[3]["9-10区内外弧压力"] = _dtDevSampling.Rows[0]["S2SEGAIR9TO10ARCPRES"];
}
if (_DEVICE_POS == 3)
{
coolWaterTable.Rows[0]["Ⅺ内弧侧"] = _dtDevSampling.Rows[0]["S1SEG11WATERINNERARCFLUX"];
coolWaterTable.Rows[0]["Ⅺ外弧侧"] = _dtDevSampling.Rows[0]["S1SEG11WATEROUTSIDEARCFLUX"];
coolWaterTable.Rows[0]["Ⅻ内弧侧"] = _dtDevSampling.Rows[0]["S1SEG12WATERINNERARCFLUX"];
coolWaterTable.Rows[0]["Ⅻ外弧侧"] = _dtDevSampling.Rows[0]["S1SEG12WATEROUTSIDEARCFLUX"];
coolWaterTable.Rows[0]["13内弧侧"] = _dtDevSampling.Rows[0]["S1SEG13WATERINNERARCFLUX"];
coolWaterTable.Rows[0]["13外弧侧"] = _dtDevSampling.Rows[0]["S1SEG13WATEROUTSIDEARCFLUX"];
coolWaterTable.Rows[0]["2-4区内外弧(中)压力"] = _dtDevSampling.Rows[0]["S1SEGAIR2TO4ARCMPRES"];
coolWaterTable.Rows[0]["3-4区内外弧(边)压力"] = _dtDevSampling.Rows[0]["S1SEGAIR3TO4ARCEPRES"];
coolWaterTable.Rows[0]["5-10区内外弧(中)压力"] = _dtDevSampling.Rows[0]["S1SEGAIR5TO10ARCMPRES"];
coolWaterTable.Rows[0]["5-10区内外弧(边)压力"] = _dtDevSampling.Rows[0]["S1SEGAIR5TO10ARCEPRES"];
coolWaterTable.Rows[0]["11-13区内外弧压力"] = _dtDevSampling.Rows[0]["S1SEGAIR11TO13ARCPRES"];
}
}
}
catch (Exception ex)
{
string Msg = ex.Message;
}
ulgridDevSta.Refresh();
}
private string GetDevFrontCodeOfCcm(int nDevNo)
{
string strDevID = "";
switch (nDevNo)
{
case (int)DeviceCode.CCM:
strDevID = "CCM_FRONT";
break;
case (int)DeviceCode.CCM01:
case (int)DeviceCode.CCM02:
case (int)DeviceCode.CCM03:
case (int)DeviceCode.CCM04:
strDevID = String.Format("CCM{0,2}_FRONT", nDevNo);
break;
}
strDevID = strDevID.Replace(" ", "0");
return strDevID;
}
private string GetDevDeviceCodeOfCcm(int nDevNo)
{
string strDevID = "";
switch (nDevNo)
{
case (int)DeviceCode.CCM:
strDevID = "CCM_DEVICE";
break;
case (int)DeviceCode.CCM01:
case (int)DeviceCode.CCM02:
case (int)DeviceCode.CCM03:
case (int)DeviceCode.CCM04:
strDevID = String.Format("CCM{0,2}_DEVICE", nDevNo);
break;
}
strDevID = strDevID.Replace(" ", "0");
return strDevID;
}
#region " From DataSet To Buffer "
private void DataSetToTrackObject(ref DataSet ds, ref TrackObjectInfo obj)
{
try
{
obj.ClearElement();
PropertyInfo[] PropertyInfos = null;
foreach (DataRow dr in ds.Tables[0].Rows)
{
RealDataTrackObjectInfor detail = new RealDataTrackObjectInfor();
if (PropertyInfos == null)
{
PropertyInfos = detail.GetType().GetProperties();
}
//给各个属性赋值
foreach (PropertyInfo oPropertyInfo in PropertyInfos)
{
try
{
if (dr[oPropertyInfo.Name] != System.DBNull.Value)
{
oPropertyInfo.SetValue(detail, dr[oPropertyInfo.Name.ToString()], null);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
obj.Add(ref detail);
}//end foreach
_objTrackBuffer.DataHarmonize(ref obj);
}
catch (Exception ex)
{
string Msg = ex.Message;
}
finally
{
}
}
private void DataSetToCraftElement(ref DataSet ds, ref CraftElement obj)
{
try
{
obj.ClearElement();
PropertyInfo[] PropertyInfos = null;
foreach (DataRow dr in ds.Tables[0].Rows)
{
JOB_CHEMELEMENT detail = new JOB_CHEMELEMENT();
if (PropertyInfos == null)
{
PropertyInfos = detail.GetType().GetProperties();
}
//给各个属性赋值
foreach (PropertyInfo oPropertyInfo in PropertyInfos)
{
try
{
if (dr[oPropertyInfo.Name] != System.DBNull.Value)
{
oPropertyInfo.SetValue(detail, dr[oPropertyInfo.Name.ToString()], null);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
obj.Add(ref detail);
}//end foreach
_objCraftEleBuffer.DataHarmonize(ref obj);
}
catch (Exception ex)
{
string Msg = ex.Message;
}
finally
{
}
}
#endregion
///
/// 根据窗体名称获取设备位置
///
private void GetDevicePosition()
{
if (this.Text == "") return;
string str = this.Text.Substring(0, 1);
switch (str)
{
case "1":
_DEVICE_POSITION = "CCM01";
_DEVICE_POS = 1;
break;
case "2":
_DEVICE_POSITION = "CCM02";
_DEVICE_POS = 2;
break;
case "3":
_DEVICE_POSITION = "CCM03";
_DEVICE_POS = 3;
break;
case "4":
case "0":
_DEVICE_POSITION = "CCM04";
_DEVICE_POS = 4;
break;
default:
break;
}
}
///
/// 设置用户控件委托
///
private void SetUserControlDelegate()
{
ucCcmDevInfo1.ultraGrid1.ClickCellButton += new Infragistics.Win.UltraWinGrid.CellEventHandler(ucCcmDevInfo1_ClickCellButton);
ucCcmDevInfo1.ultraGrid1.CellListSelect += new Infragistics.Win.UltraWinGrid.CellEventHandler(ucCcmDevInfo1_CellListSelect);
ucCcmTimeInfo1.ultraGrid1.ClickCellButton += new Infragistics.Win.UltraWinGrid.CellEventHandler(ucCcmTimeInfo1_ClickCellButton);
ucCcmPlan1.ultraGrid1.ClickCellButton += new Infragistics.Win.UltraWinGrid.CellEventHandler(ucCcmPlan1_ClickCellButton);
ucCcmTimeInfo1.ultraGrid1.KeyDown += new KeyEventHandler(ucCcmTimeInfo1_KeyDown);
ucCcmDevInfo1.ultraGrid1.KeyDown += new KeyEventHandler(ucCcmDevInfo1_KeyDown);
ucCcmPlan1.ultraGrid1.KeyDown += new KeyEventHandler(ucCcmPlan1_KeyDown);
}
///
/// 清除所有界面Grid中的实时数据
///
private void ClearGridData()
{
try
{
_dtDeviceState.Rows.Clear();
_dtCraftElement.Rows.Clear();
createTable();
}
catch { }
try
{
this._dtTemperature.Rows.Clear();
}
catch { }
}
///
/// 重置界面用户控件的数据
///
private void ResetAllData()
{
if (!_bResetDataFlag) // 如果已经清空,则直接返回
{
ucCcmDevInfo1.ResetData();
ucCcmPlan1.ResetData();
ucCcmTimeInfo1.ResetData();
ucChemelEment1.ResetData();
_htPlanInfo.Clear();
_htOptInfo.Clear();
ClearGridData();
ucCcmPlanTime1.ResetData();
_bResetDataFlag = true;
}
}
///
/// 根据设备状态设置图片显示
///
///
///
private Image SetPic(string strState)
{
int index = 0;
try
{
switch (strState)
{
case "idle":
index = 0;
break;
case "fOneWork":
index = 3;
break;
case "fTwo":
index = 2;
break;
case "fWorkOne":
index = 1;
break;
default:
index = 0;
break;
}
}
catch
{
index = 0;
}
return this.imageList1.Images[index];
}
#endregion
#region " Control Event "
///
/// 功能按钮控制区
///
///
///
public override void ToolBar_Click(object sender, string ToolbarKey)
{
switch (ToolbarKey)
{
case "Result":
string szStr =( _DEVICE_POS.ToString() == "4" ? "0" : _DEVICE_POS.ToString()) + "#连铸机实绩";
foreach (Form mdiChild in this.MdiParent.MdiChildren)
{
if (mdiChild.Text == szStr)
{
mdiChild.Activate();
return;
}
}
frmCcmResults frmSJSJ = new frmCcmResults();
frmSJSJ.MdiParent = this.MdiParent;
frmSJSJ.Text = szStr;
frmSJSJ.Tag = frmSJSJ.Text;
frmSJSJ.Key = "Core.LgMes.Client.LgResMgt.frmCcmResults";
frmSJSJ.CustomInfo = _DEVICE_POSITION;
frmSJSJ.Toolbar = CStaticMethod.GetFromToolInfo(frmSJSJ.Key, frmSJSJ.CustomInfo, this.ob);
frmSJSJ.ob = this.ob;
frmSJSJ.Show();
break;
case "MtrCsm": // 物料消耗
string szWLXH = "物料消耗";
foreach (Form mdiChild in this.MdiParent.MdiChildren)
{
if (mdiChild.Text == szWLXH)
{
mdiChild.Activate();
return;
}
}
frmAdditStat frmWLXH = new frmAdditStat();
frmWLXH.MdiParent = this.MdiParent;
frmWLXH.Text = szWLXH;
frmWLXH.Tag = frmWLXH.Text;
frmWLXH.Key = "Core.LgMes.Client.LgIntegrationQuery.frmAdditStat";
frmWLXH.Toolbar = CStaticMethod.GetFromToolInfo(frmWLXH.Key, "", this.ob);
frmWLXH.ob = this.ob;
frmWLXH.Show();
break;
case "ChemicElem": // 化学成分
string szEle = "化学成分查询";
foreach (Form mdiChild in this.MdiParent.MdiChildren)
{
if (mdiChild.Text == szEle)
{
mdiChild.Activate();
return;
}
}
frmLgElements frmHXCF = new frmLgElements();
frmHXCF.MdiParent = this.MdiParent;
frmHXCF.Text = szEle;
frmHXCF.Tag = frmHXCF.Text;
frmHXCF._devPos = _DEVICE_POSITION;
frmHXCF.Key = "Core.LgMes.Client.LgIntegrationQuery.frmLgElements";
frmHXCF.Toolbar = CStaticMethod.GetFromToolInfo(frmHXCF.Key, "", this.ob);
frmHXCF.ob = this.ob;
frmHXCF.Show();
break;
case "SftRcd": // 班组记录
string szRcd = "";
szRcd = _DEVICE_POS.ToString() + "#连铸机主控操作记录";
foreach (Form mdiChild in this.MdiParent.MdiChildren)
{
if (mdiChild.Text == szRcd)
{
mdiChild.Activate();
return;
}
}
if (_DEVICE_POS == 3)
{
reportThreeCCMData frmReport = new reportThreeCCMData();
frmReport.MdiParent = this.MdiParent;
frmReport.Text = szRcd;
frmReport.Tag = frmReport.Text;
frmReport.Key = "Core.LgMes.Client.Report.reportThreeCCMData";
frmReport.Toolbar = CStaticMethod.GetFromToolInfo(frmReport.Key, "", this.ob);
frmReport.ob = this.ob;
frmReport.Show();
}
else
{
reportOneOrTwoCCMData frmReport = new reportOneOrTwoCCMData();
frmReport.MdiParent = this.MdiParent;
frmReport.Text = szRcd;
frmReport.Tag = frmReport.Text;
frmReport.Key = "Core.LgMes.Client.Report.reportOneOrTwoCCMData";
frmReport.CustomInfo = _DEVICE_POSITION;
frmReport.Toolbar = CStaticMethod.GetFromToolInfo(frmReport.Key, frmReport.CustomInfo, this.ob);
frmReport.ob = this.ob;
frmReport.Show();
}
break;
case "btnJobStd": // 操作规程
string szOR = "操作规程管理";
foreach (Form mdiChild in this.MdiParent.MdiChildren)
{
if (mdiChild.Text == szOR)
{
mdiChild.Activate();
return;
}
}
//Core.LgMes.Client.LgIntegrationQuery.frmOperateRule frmOR = new Core.LgMes.Client.LgIntegrationQuery.frmOperateRule();
//frmOR.MdiParent = this.MdiParent;
//frmOR.Key = "Core.LgMes.Client.LgIntegrationQuery.frmOperateRule";
//frmOR.Text = "操作规程管理";
//frmOR.blValue = false;
//if (_htPlanInfo != null && _htPlanInfo.Count > 0)
//{
// frmOR.strDeviceNo = _DEVICE_POSITION;
// frmOR.strSteelCode = _htPlanInfo["STEEL"].ToString();
// frmOR.strCraftCode = _htPlanInfo["STD_CODE"].ToString();
//}
//frmOR.Show();
break;
case "JobPlan": // 作业计划
string szPlan = "作业计划查询";
foreach (Form mdiChild in this.MdiParent.MdiChildren)
{
if (mdiChild.Text == szPlan)
{
mdiChild.Activate();
return;
}
}
frmSchedulingQuery frmZYJH = new frmSchedulingQuery();
frmZYJH.MdiParent = this.MdiParent;
frmZYJH.Text = szPlan;
frmZYJH.Tag = frmZYJH.Text;
frmZYJH.Key = "Core.LgMes.Client.LgIntegrationQuery.frmSchedulingQuery";
frmZYJH.Toolbar = CStaticMethod.GetFromToolInfo(frmZYJH.Key, "", this.ob);
frmZYJH.ob = this.ob;
frmZYJH.Show();
break;
case "CCMPlanTemp": //铸机要温
Core.LgMes.Client.LgJobMgt.frmCCMPlanTemperaTure frmCCMPTT = new Core.LgMes.Client.LgJobMgt.frmCCMPlanTemperaTure();
frmCCMPTT.WindowState = FormWindowState.Normal;
frmCCMPTT.StartPosition = FormStartPosition.CenterParent;
frmCCMPTT.ShowDialog();
break;
case "Exit":
this.Close();
break;
default:
break;
}
}
#endregion
private void ultraGroupBox2_DoubleClick(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(ucCcmPlan1.ultraGrid1.DisplayLayout.Rows[0].Cells["HEATNO"].Value.ToString()))
{
frmProcessAbnormity frmPA = new frmProcessAbnormity();
frmPA.strSmeltingID = ucCcmPlan1.ultraGrid1.DisplayLayout.Rows[0].Cells["HEATNO"].Value.ToString();
frmPA.strCraftposID = _DEVICE_POSITION;
frmPA.ShowDialog();
}
}
private void ucCcmPlan1_KeyDown(object sender, KeyEventArgs e)
{
return;
if (e.KeyCode != Keys.Enter || _heatProcessNo.Length < 11)
return;
if (this.ucCcmPlan1.ultraGrid1.ActiveCell == null)
return;
this.ucCcmPlan1.ultraGrid1.UpdateData();
string keyStr = this.ucCcmPlan1.ultraGrid1.ActiveCell.Column.Key;
int updateValue = 0;
if (keyStr == "CAST_SEQ")
{
try
{
if (ucCcmPlan1.ultraGrid1.ActiveCell.Value.ToString() != "")
{
updateValue = Convert.ToInt32(ucCcmPlan1.ultraGrid1.ActiveCell.Value);
ClassManualUpdateInfo.UpdateTableField(_heatProcessNo, "STL_CCM_OPTINFO", "MOULDNUMID", "NUMBER",
updateValue, ob);
ucCcmPlan1.ultraGrid1.ActiveCell.Value = updateValue;
}
}
catch
{
}
}
}
}
}