using System; using System.Data; using System.Drawing; 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.Report; using Core.LgMes.Client.Comm; using Core.LgMes.Client.LgIntegrationQuery; 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.CustomInfo.Trim();//this.Text.Substring(0, 1); str = str.Substring(str.Length - 1, 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 "btnWT": //委托下发 if (string.IsNullOrEmpty(_smeltingID)) { MessageBox.Show("当前没有在冶炼的炉号,不可下发"); break; } string v_heatno = _smeltingID, v_steel = _htPlanInfo["STEEL"].ToString(), v_optman = this.UserInfo.GetUserName(), strErr = ""; string strSql = "INSERT INTO QCM_ENTRUST_INFO(HEATNO, STATIONCODE, DEVICENO, STEELNAME, OPTMAN, OPTDATE) " + " VALUES ('{0}','{1}','{2}','{3}','{4}',SYSDATE)"; strSql = string.Format(strSql, _smeltingID, _DEVICE_POS + "#", "连铸", v_steel, v_optman); try { //调用服务端方法 CoreClientParam CCP_LgEts = new CoreClientParam(); DataTable dt = new DataTable(); CCP_LgEts.ServerName = "Core.LgMes.Server.Common.ComDBExecute"; CCP_LgEts.MethodName = "ExcuteNoParameter"; CCP_LgEts.ServerParams = new object[] { strSql }; CCP_LgEts.SourceDataTable = dt; this.ExecuteQueryToDataTable(CCP_LgEts, CoreInvokeType.Internal); MessageBox.Show("下发成功!"); } catch (Exception e) { MessageBox.Show("下发失败:" + e.Message + "!"); } 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 { } } } private void button1_Click(object sender, EventArgs e) { string strErr = ""; ArrayList arry = new ArrayList(); arry.Add("frmHLReason_Update.select"); string strHeatno = _htPlanInfo["HEATNO"].ToString(); string strReason = this.comboBox1.Text.Trim().ToString(); arry.Add(strReason); arry.Add(strHeatno); CommonClientToServer cctos = new CommonClientToServer(); cctos.ob = this.ob; DataSet ds = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBSave", "doSimpleSave", arry, out strErr); if (strErr == "" && ds != null) { MessageBox.Show("保存成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); } else { MessageBox.Show("保存失败!输入信息已经存在或数据无效。", "错误"); } } } }