using DataMirrorTools;
using DTTest;
using HZ.Common;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
///
///
///
namespace DataMirrorToolsPage
{
///
///
///
public partial class P_SignalViewer : ModelManagement
{
int currenIndex = 0;
///
/// Tag处理
///
// public static TagID_Add_Handler tagID_Add_Handler = null;
///
/// 当前的TagID
///
string currTagID = "";
///
/// 当前的TagName
///
string currTagName = "";
///
/// 初始化函数
///
public P_SignalViewer()
{
InitializeComponent();
ControlDoubleBuffered(dgv_SignalViewer);
}
///
/// 创建信号点
///
///
///
private void btn_Signal_Create_Click(object sender, EventArgs e)
{
SqlOperation.SqlSignalTree.CreateSignal("", PP.ProjectCode,Type_Device.Signal);
Refresh_SignalViewer();
if (this.dgv_SignalViewer.Rows.Count > 0)
{
this.dgv_SignalViewer.Rows[this.dgv_SignalViewer.Rows.Count-1].Selected = true;
}
// ModelBasic.ErrDef.iErrHandler.ErrInfoTransmit("信号添加完成!");
}
private void Refresh_SignalViewer()
{
var selectSignalName = txt_SelectSignalName.Text.Trim();
var dt_Signal = SqlOperation.SqlSignalTree.SelectSignal_UseSignalName(selectSignalName, false, PP.ProjectCode);
currSignalCount = dt_Signal.Rows.Count;
label_SignalCount.Text = $"{currSignalCount} 个信号";
dgv_SignalViewer.DataSource = dt_Signal;
Rendering_dgv_Handler();
}
///
/// 退出事件
///
///
///
private void P_SignalViewer_FormClosing(object sender, FormClosingEventArgs e)
{
// Program.simplifyPdps.UpdateCheckedState_TSM_SignalViewer( 1 == 2 );
//if (!SimplifyPdps.isCanClose)
//{
// e.Cancel = true;//拦截,不响应操作
//}
}
///
/// 删除信号按钮
///
///
///
private void btn_Signal_Delete_Click(object sender, EventArgs e)
{
if (MessageBox.Show("确认删除选中信号【" + currTagName + "】?", "删除确认?", MessageBoxButtons.YesNo) == DialogResult.Yes)
{ }
else
{
// ModelBasic.ErrDef.iErrHandler.ErrInfoTransmit("已取消删除信号操作!");
return;
}
SqlOperation.SqlSignalTree.DeleteSignal(currGridSequenceNo, currTagID, PP.ProjectCode);
Refresh_SignalViewer();
}
///
/// 编辑完成事件
///
///
///
private void dgv_SignalViewer_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
var checkedThis = Convert.ToBoolean(GetObjV(e, "选择"));
var tagID = GetObjV(e, "DeviceCode").ToString();
var memory = Convert.ToBoolean(GetObjV(e, "内存"));
var type = GetObjV(e, "类型").ToString();
var robotSignalName = GetObjV(e, "机器人信号名称").ToString();
var robotAddress = GetObjV(e, "机器人信号地址").ToString();
var address = GetObjV(e, "地址").ToString();
var iecFormat = GetObjV(e, "IEC格式").ToString();
var isEnable = Convert.ToBoolean(GetObjV(e, "启用"));
var sName = GetObjV(e, "信号名称").ToString();
var explain = GetObjV(e, "注释").ToString();
var isMonitorStr = GetObjV(e, "监控").ToString();
var isMonitor = true;
switch (isMonitorStr)
{
case "1":
case "True":
case "TRUE":
case "true":
isMonitor = true;
break;
default:
isMonitor = false;
break;
}
SqlOperation.SqlSignalTree.UpdateSignal(tagID, checkedThis, memory, type, robotSignalName, robotAddress, address,
isEnable, sName, explain, isMonitor, PP.ProjectCode);
}
private object GetObjV(DataGridViewCellEventArgs e, string Name)
{
return dgv_SignalViewer.Rows[e.RowIndex].Cells[Name].Value;
}
///
/// 点击事件
///
///
///
private void dgv_SignalViewer_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex > -1)
{
try
{
currTagID = GetObjV(e, "DeviceCode").ToString();
currTagName = GetObjV(e, "信号名称").ToString();
var region = GetObjV(e, "Region").ToString();
currGridSequenceNo = Convert.ToInt32(GetObjV(e, "序号").ToString());
var ResourcesCode = GetObjV(e, "资源").ToString();
RefreshCurrSequenceNo(currGridSequenceNo);
//if (tagID_Add_Handler != null)
//{
// tagID_Add_Handler.ExecCurrSelectSignal(currTagID, currTagName, ResourcesCode);
//}
if (GlobalEventInterface.E_DeviceSignalSimGantt_TransmitTagToDeviceSignalSim != null)
{
GlobalEventInterface.E_DeviceSignalSimGantt_TransmitTagToDeviceSignalSim(currTagID, currTagName);
}
if (GlobalEventInterface.E_SignalLabelForm_TransmitSelect != null)
{
GlobalEventInterface.E_SignalLabelForm_TransmitSelect(Cmd_Frame.SignalWrite, currTagID, currTagName);
}
if (GlobalEventInterface.E_LogicalBlock_AddSignal != null)
{
GlobalEventInterface.E_LogicalBlock_AddSignal(new LogicalBlock.LB_Device_Signal()
{
SignalCode = currTagID,
SignalName = currTagName,
SignalRegion = region,
});
}
}
catch (Exception err)
{
LogNet.LogisTrac.WriteLog(typeof(P_SignalViewer), err);
Console.WriteLine(err);
}
}
}
///
/// 信号导入按钮
///
///
///
private void btn_Signal_Import_Excel_Click(object sender, EventArgs e)
{
MessageBox.Show("暂时禁用!!——2021.11.18");
return;
if (MessageBox.Show($"确认导入信号表?", "导入确认", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
}
else
{
//MessageBox.Show("您已取消导入信号表操作!");
return;
}
var importOpenFileDialog = new OpenFileDialog();
var importDialogResult = importOpenFileDialog.ShowDialog();
var localFilePath = importOpenFileDialog.FileName;
if (importDialogResult == DialogResult.OK)
{
var t1 = DateTime.Now.ToFileTimeUtc();
DataTable dt_Signal = OExcel.ExeclHelper_Model.ExcelToDataTable(localFilePath, "MES_基本变量原始数据", true);
var t2 = DateTime.Now.ToFileTimeUtc();
var D1 = ((t2 - t1) / 10000).ToString();
ImportSignalToSql(dt_Signal);
var t3 = DateTime.Now.ToFileTimeUtc();
var D2 = ((t3 - t2) / 10000).ToString();
MessageBox.Show("信号表文件导入成功!\n"
+ "读取耗时:" + D1 + " ms\n"
+ "转换存储耗时:" + D2 + " ms\n");
Refresh_SignalViewer();
}
//else
//{
// MessageBox.Show("您已取消了信号导入操作!");
//}
}
public void ImportSignalToSql(DataTable dt)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
//信号名 是内存 数据类型 机器人信号名 地址 是连接PLC 外部连接 资源 解释 项目代码
//[signalName],[Memory],[Type],[RobotSignalName],[Address],[启用], ************** ,[Resources],[Explain],[ProjectCode]
var signalName = dt.Rows[i]["TagID"].ToString();
var tagID = Convert.ToInt32(signalName);
if (tagID < 41010001)
{
var memory = false;
var type = dt.Rows[i]["变量类型"].ToString();
var robotSignalName = "无";
var address = dt.Rows[i]["变量地址"].ToString() + dt.Rows[i]["变量其它"].ToString();
var iecFormat = dt.Rows[i]["DbName"].ToString();
var isEnable = true;
var resources = "Excel导入";
var explain = dt.Rows[i]["测量项目"].ToString();
SqlOperation.SqlSignalTree.AddOrUpdateSignal(signalName, memory, type, robotSignalName, address, iecFormat,
isEnable, resources, explain, PP.ProjectCode);
}
}
}
///
/// 信号导出按钮
///
///
///
private void btn_Signal_Export_Excel_Click(object sender, EventArgs e)
{
var exportOpenFileDialog = new SaveFileDialog();
//设置文件类型
exportOpenFileDialog.Filter = "Microsoft Excel(*.xls)|*.xls";
//设置默认文件类型显示顺序
exportOpenFileDialog.FilterIndex = 1;
//保存对话框是否记忆上次打开的目录
exportOpenFileDialog.RestoreDirectory = true;
var exportDialogResult = exportOpenFileDialog.ShowDialog();
//点了保存按钮进入
if (exportDialogResult == DialogResult.OK)
{
var localFilePath = exportOpenFileDialog.FileName;//获得文件路径
var fileNameExt = localFilePath.Substring(localFilePath.LastIndexOf("\\") + 1); //获取文件名,不带路径
var fileExtension = localFilePath.Substring(localFilePath.LastIndexOf(".") + 1); //获取文件扩展名
var fileExtensionToLower = fileExtension.ToLower();
var dt_SignalViewer = SqlOperation.SqlSignalTree.SelectSignal_UseSignalName("", false, PP.ProjectCode);
var col = dt_SignalViewer.Columns;
if (col.Contains("Checked"))
col.Remove("Checked");
if (col.Contains("Memory"))
col.Remove("Memory");
if (col.Contains("RobotSignalName"))
col.Remove("RobotSignalName");
if (col.Contains("IsEnable"))
col.Remove("IsEnable");
var success = OExcel.ExeclHelper_Model.DataTableToExcel(dt_SignalViewer, "SignalViewer", localFilePath);
if (success == false)
{
// ModelBasic.ErrDef.iErrHandler.ErrInfoTransmit("项目数据导出Excel【错误】");
return;
}
}
//else
//{
// MessageBox.Show("您已取消了导出数据操作!");
//}
}
private void btn_Signal_Import_S7_Click(object sender, EventArgs e)
{
}
#region 显示缓存2021.3.31
private void ControlDoubleBuffered(Control c)
{
//设置双缓冲,解决datagridview显示数据缓慢
Type type = c.GetType();
System.Reflection.PropertyInfo pi = type.GetProperty("DoubleBuffered",
System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
pi.SetValue(c, true, null);
}
#endregion
private void btn_MoveUp_Click(object sender, EventArgs e)
{
if (operationing)
{
operationing = false;
if (currGridSequenceNo >= 2)
{
this.dgv_SignalViewer.Rows[currGridSequenceNo - 1].Selected = false;
SqlOperation.SqlSignalTree.MoveUpSignal(currGridSequenceNo, PP.ProjectCode);
Refresh_SignalViewer();
currGridSequenceNo--;
RefreshCurrSequenceNo(currGridSequenceNo);
this.dgv_SignalViewer.Rows[currGridSequenceNo - 1].Selected = true;
dgv_SignalViewer_CellClick(dgv_SignalViewer, new DataGridViewCellEventArgs(0, currGridSequenceNo - 1));
//dgv_SignalViewer_CellClick(dgv_SignalViewer, new DataGridViewCellEventArgs(dgv_SignalViewer.SelectedCells[0].ColumnIndex, dgv_SignalViewer.SelectedCells[currGridSequenceNo - 1].RowIndex));
}
else
{
// ModelBasic.ErrDef.iErrHandler.ErrInfoTransmit("已经是第一个工序,不能再移动了!");
}
operationing = true;
}
}
private void btn_MoveDown_Click(object sender, EventArgs e)
{
if (operationing)
{
operationing = false;
if (currGridSequenceNo < currSignalCount)
{
this.dgv_SignalViewer.Rows[currGridSequenceNo - 1].Selected = false;
SqlOperation.SqlSignalTree.MoveDownSignal(currGridSequenceNo, PP.ProjectCode);
Refresh_SignalViewer();
currGridSequenceNo++;
RefreshCurrSequenceNo(currGridSequenceNo);
this.dgv_SignalViewer.Rows[currGridSequenceNo - 1].Selected = true;
dgv_SignalViewer_CellClick(dgv_SignalViewer, new DataGridViewCellEventArgs(0, currGridSequenceNo - 1));
//dgv_SignalViewer_CellClick(dgv_SignalViewer, new DataGridViewCellEventArgs(dgv_SignalViewer.SelectedCells[0].ColumnIndex, dgv_SignalViewer.SelectedCells[currGridSequenceNo - 1].RowIndex));
}
else
{
// ModelBasic.ErrDef.iErrHandler.ErrInfoTransmit("已经是最后一个工序,不能再移动了!");
}
operationing = true;
}
}
///
/// 操作中
///
bool operationing = true;
///
/// 当前选中的工序排序
///
public static int currGridSequenceNo = -1;
///
/// 信号数量
///
int currSignalCount = 0;
private void RefreshCurrSequenceNo(int sequenceNo)
{
txt_CurrSequenceNo.Text = sequenceNo.ToString();
}
private void btn_AutoGenerateSignalTag_Click(object sender, EventArgs e)
{
}
DelayAction delayAction1 = new DelayAction();
private void txt_SelectSignalName_TextChanged(object sender, EventArgs e)
{
delayAction1.Delay(750, dgv_SignalViewer, SelectTask);
}
private void SelectTask()
{
Refresh_SignalViewer();
}
public void Rendering_dgv_Handler()
{
var tagIDList = SqlOperation.SqlTag_Handler.SelectDistinctTagID_Handler( PP.ProjectCode);
Rendering_dgv(tagIDList, Color.GreenYellow);
}
private void Rendering_dgv(List tagIDList, Color c)
{
if (dgv_SignalViewer.CurrentRow == null) return;
currenIndex = dgv_SignalViewer.CurrentRow.Index;
DataGridView dgv = this.dgv_SignalViewer;
if (!dgv.Columns.Contains("DeviceCode"))
{
return;
}
for (int k = 0; k < dgv.RowCount; k++)
{
for (int cl = 0; cl < dgv.ColumnCount; cl++)
dgv.Invoke(new Action(delegate ()
{
dgv.Rows[k].Cells[cl].Style.BackColor = Color.White;
}));
}
foreach (string thisTagID in tagIDList)
{
for (int j = 0; j < dgv.RowCount; j++)
{
if (dgv.Rows[j].Cells["DeviceCode"].Value.ToString().Trim() == thisTagID)
{
for (int cl = 0; cl < dgv.ColumnCount; cl++)
dgv.Invoke(new Action(delegate ()
{
dgv.Rows[j].Cells[cl].Style.BackColor = c;
}));
}
}
}
if(this.dgv_SignalViewer.Rows.Count> currenIndex)
{
this.dgv_SignalViewer.Rows[currenIndex].Selected = true;
}
}
#region 调试信号查询2021.10.8.LLX
///
/// 行为查找TagID
/// 2021.5.11
///
///
public void ActSelect_TagID_Handler(string actCode)
{
var tagIDList = SqlOperation.SqlTag_Handler.SelectTagID_Handler(actCode, Type_TagIDHandler.Craft, PP.ProjectCode);
Rendering_dgv(tagIDList, Color.Red);
}
public void ModelSelect_SignalTagID(string modelCode)
{
var tagIDList = SqlOperation.SqlTag_Handler.ModelSelect_SignalTagID(modelCode, PP.ProjectCode);
Rendering_dgv(tagIDList, Color.Red);
}
///
/// 行为对应的查找TagID
/// 2021.5.11
///
///
public void TagIDSelect_TagID_Handler(string tagID)
{
var tagIDList = new List() { tagID };
Rendering_dgv(tagIDList, Color.Red);
}
#endregion
///
/// 信号处理编辑器
/// 2021.10.8.LLX
///
///
///
private void btn_SignalHandlerEditor_Click(object sender, EventArgs e)
{
//if (tagID_Add_Handler != null)
//{
// tagID_Add_Handler.Close();
// tagID_Add_Handler = null;
//}
//tagID_Add_Handler = new TagID_Add_Handler();
//tagID_Add_Handler.Show(this);
}
private void P_SignalViewer_Load(object sender, EventArgs e)
{
Refresh_SignalViewer();
GlobalEventInterface.E_SignalViewer_ActSelect_TagID_Handler -= GlobalEventInterface_E_SignalViewer_ActSelect_TagID_Handler;
GlobalEventInterface.E_SignalViewer_ActSelect_TagID_Handler += GlobalEventInterface_E_SignalViewer_ActSelect_TagID_Handler;
GlobalEventInterface.E_SignalViewer_TagIDSelect_TagID_Handler -= GlobalEventInterface_E_SignalViewer_TagIDSelect_TagID_Handler;
GlobalEventInterface.E_SignalViewer_TagIDSelect_TagID_Handler += GlobalEventInterface_E_SignalViewer_TagIDSelect_TagID_Handler;
GlobalEventInterface.E_SignalViewer_Rendering_dgv_Handler -= GlobalEventInterface_E_SignalViewer_Rendering_dgv_Handler;
GlobalEventInterface.E_SignalViewer_Rendering_dgv_Handler += GlobalEventInterface_E_SignalViewer_Rendering_dgv_Handler;
}
private void GlobalEventInterface_E_SignalViewer_Rendering_dgv_Handler()
{
Rendering_dgv_Handler();
}
private void GlobalEventInterface_E_SignalViewer_ActSelect_TagID_Handler(string actCode)
{
ActSelect_TagID_Handler(actCode);
}
private void GlobalEventInterface_E_SignalViewer_TagIDSelect_TagID_Handler(string tagID)
{
TagIDSelect_TagID_Handler(tagID);
}
private List GetDgvSelectedRows(DataGridView dgv)
{
var list = new List();
foreach (DataGridViewRow row in dgv.SelectedRows)
list.Insert(0, row.Cells["DeviceCode"].Value.ToString());
return list;
}
private Dictionary GetDgvSelectedRows_TagID_SequenceNo(DataGridView dgv)
{
var dc = new Dictionary();
foreach (DataGridViewRow row in dgv.SelectedRows)
dc.Add(row.Cells["DeviceCode"].Value.ToString(), Convert.ToInt32(row.Cells["序号"].Value.ToString()));
return dc;
}
private void TSM_UpdateSignalConnect_Click(object sender, EventArgs e)
{
var connectSelect = new ConnectSelect();
var result = connectSelect.ShowDialog();
if (result == DialogResult.OK)
{
var connectCode = connectSelect.connCode;
if (connectCode.Length > 1)
{
foreach (string tagID in GetDgvSelectedRows(dgv_SignalViewer))
{
SqlOperation.SqlSignalTree.UpdateSimSignal_Connect(tagID, connectCode, PP.ProjectCode);
}
}
}
Refresh_SignalViewer();
}
private void TSM_DeleteSignalConnect_Click(object sender, EventArgs e)
{
var connectCode = "";
foreach (string tagID in GetDgvSelectedRows(dgv_SignalViewer))
{
SqlOperation.SqlSignalTree.UpdateSimSignal_Connect(tagID, connectCode, PP.ProjectCode);
}
Refresh_SignalViewer();
}
private void TSM_SignalViewer_Add_Click(object sender, EventArgs e)
{
foreach (string tagID in GetDgvSelectedRows(dgv_SignalViewer))
{
SqlOperation.SqlSignalTree.UpdateSignalChecked(tagID, true, PP.ProjectCode);
}
Refresh_SignalViewer();
}
private void TSM_SignalViewer_Remove_Click(object sender, EventArgs e)
{
foreach (string tagID in GetDgvSelectedRows(dgv_SignalViewer))
{
SqlOperation.SqlSignalTree.UpdateSignalChecked(tagID, false, PP.ProjectCode);
}
Refresh_SignalViewer();
}
private void TSM_Delete_SelectRaws_Click(object sender, EventArgs e)
{
// MessageBox.Show("存在排序问题,暂时还未开发!");
foreach (KeyValuePair TagID_SequenceNo in GetDgvSelectedRows_TagID_SequenceNo(dgv_SignalViewer))
{
var tagID = TagID_SequenceNo.Key;
var sequenceNo = TagID_SequenceNo.Value;
SqlOperation.SqlSignalTree.DeleteSignal(sequenceNo, tagID, PP.ProjectCode);
}
Refresh_SignalViewer();
}
private void btn_btn_Refresh_Click(object sender, EventArgs e)
{
Refresh_SignalViewer();
}
private void TSM_UpdateSignalRegion_Click(object sender, EventArgs e)
{
var signalRegion = new SignalRegion();
var result = signalRegion.ShowDialog();
if (result == DialogResult.OK)
{
var region = signalRegion.region;
foreach (string tagID in GetDgvSelectedRows(dgv_SignalViewer))
{
SqlOperation.SqlSignalTree.UpdateSignalRegion(tagID, region, PP.ProjectCode);
}
Refresh_SignalViewer();
}
}
private void tsmi_INT16_Click(object sender, EventArgs e)
{
UpdateSignalType(Type_Signal_Raw.INT16);
}
private void tsmi_INT32_Click(object sender, EventArgs e)
{
UpdateSignalType(Type_Signal_Raw.INT32);
}
private void tsmi_FLOAT_Click(object sender, EventArgs e)
{
UpdateSignalType(Type_Signal_Raw.FLOAT);
}
private void tsmi_UINT64_Click(object sender, EventArgs e)
{
UpdateSignalType(Type_Signal_Raw.UINT64);
}
private void tsmi_STRING_Click(object sender, EventArgs e)
{
UpdateSignalType(Type_Signal_Raw.STRING);
}
private void tsmi_BOOL_Click(object sender, EventArgs e)
{
UpdateSignalType(Type_Signal_Raw.BOOL);
}
private void tsmi_BYTE_Click(object sender, EventArgs e)
{
UpdateSignalType(Type_Signal_Raw.BYTE);
}
private void tsmi_UINT16_Click(object sender, EventArgs e)
{
UpdateSignalType(Type_Signal_Raw.UINT16);
}
private void tsmi_DOUBLE_Click(object sender, EventArgs e)
{
UpdateSignalType(Type_Signal_Raw.DOUBLE);
}
private void UpdateSignalType(Type_Signal_Raw signalType)
{
foreach (string tagID in GetDgvSelectedRows(dgv_SignalViewer))
{
SqlOperation.SqlSignalTree.UpdateSignal_DataType(tagID, signalType.ToString(), PP.ProjectCode);
}
Refresh_SignalViewer();
}
private void dgv_SignalViewer_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex > -1)
{
var col = dgv_SignalViewer.Columns[e.ColumnIndex];
if (col is DataGridViewButtonColumn)
{
var DeviceCode = dgv_SignalViewer.Rows[e.RowIndex].Cells["DeviceCode"].Value.ToString();
CMS_SignalType.Show(Cursor.Position);
}
}
}
private void btn_OutScadaTable_Click(object sender, EventArgs e)
{
var exportOpenFileDialog = new SaveFileDialog();
//设置文件类型
exportOpenFileDialog.Filter = "Microsoft Excel(*.xls)|*.xls";
//设置默认文件类型显示顺序
exportOpenFileDialog.FilterIndex = 1;
//保存对话框是否记忆上次打开的目录
exportOpenFileDialog.RestoreDirectory = true;
var exportDialogResult = exportOpenFileDialog.ShowDialog();
//点了保存按钮进入
if (exportDialogResult == DialogResult.OK)
{
var localFilePath = exportOpenFileDialog.FileName;//获得文件路径
var fileNameExt = localFilePath.Substring(localFilePath.LastIndexOf("\\") + 1); //获取文件名,不带路径
var fileExtension = localFilePath.Substring(localFilePath.LastIndexOf(".") + 1); //获取文件扩展名
var fileExtensionToLower = fileExtension.ToLower();
GetSignalTable(out DataTable dt_Signal, out DataTable dt_Device);
dt_Signal.TableName = "MES_基本变量原始数据";
dt_Device.TableName = "设备类型对应表";
DataSet outDataSet = new DataSet();
outDataSet.Tables.Add(dt_Signal);
outDataSet.Tables.Add(dt_Device);
var success = OExcel.ExeclHelper_Model.DataSetToExcel(outDataSet, localFilePath);
if (success == false)
{
// ModelBasic.ErrDef.iErrHandler.ErrInfoTransmit("信号表数据导出Excel【错误】!!");
return;
}
}
//else
//{
// MessageBox.Show("您已取消了导出数据操作!");
//}
}
private void P_SignalViewer_FormClosed(object sender, FormClosedEventArgs e)
{
GlobalEventInterface.E_SignalViewer_ActSelect_TagID_Handler -= GlobalEventInterface_E_SignalViewer_ActSelect_TagID_Handler;
GlobalEventInterface.E_SignalViewer_TagIDSelect_TagID_Handler -= GlobalEventInterface_E_SignalViewer_TagIDSelect_TagID_Handler;
GlobalEventInterface.E_SignalViewer_Rendering_dgv_Handler -= GlobalEventInterface_E_SignalViewer_Rendering_dgv_Handler;
}
private void TSM_UpdateResources_Click(object sender, EventArgs e)
{
var updateResources = new UpdateResources();
updateResources.Show(this);
new TaskFactory().StartNew(delegate ()
{
while (updateResources.IsOpen)
{
System.Threading.Thread.Sleep(100);
}
foreach (string tagID in GetDgvSelectedRows(dgv_SignalViewer))
{
SqlOperation.SqlSignalTree.UpdateSignalResources(tagID, PP.ModelCode, PP.ProjectCode);
}
Refresh_SignalViewer();
});
}
private void TSM_UpdateSignalDataType_Click(object sender, EventArgs e)
{
CMS_SignalType.Show(Cursor.Position);
}
private void btn_SignalRobot_Create_Click(object sender, EventArgs e)
{
SqlOperation.SqlSignalTree.CreateSignal("", PP.ProjectCode, Type_Device.SignalRobot);
Refresh_SignalViewer();
if (this.dgv_SignalViewer.Rows.Count > 0)
{
this.dgv_SignalViewer.Rows[this.dgv_SignalViewer.Rows.Count - 1].Selected = true;
}
// ModelBasic.ErrDef.iErrHandler.ErrInfoTransmit("信号添加完成!");
}
}
}