/// <summary> /// 复制项 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void click_Copy_Config(object sender, RoutedEventArgs e) { DC_DATA_CONFIG config = (DC_DATA_CONFIG)(sender as FrameworkElement).Tag; DC_DATA_CONFIG copyConfig = new DC_DATA_CONFIG() { IDENTITY_COLUMN = config.IDENTITY_COLUMN, CONVERTER = config.CONVERTER, DESCRIPTION = config.DESCRIPTION, DEVICE_ID = config.DEVICE_ID, ENABLE = config.ENABLE, FIELD_DATA_LENGTH = config.FIELD_DATA_LENGTH, FIELD_DATA_PRECISION = config.FIELD_DATA_PRECISION, FIELD_DATA_SCALE = config.FIELD_DATA_SCALE, FIELD_DATA_TYPE = config.FIELD_DATA_TYPE, MEMORY_ADDRESS = config.MEMORY_ADDRESS, TABLE_NAME = config.TABLE_NAME, SUBSCRIPTION = config.SUBSCRIPTION, TABLE_USER = config.TABLE_USER, NAME = config.NAME, NUM = config.NUM, FIELD_NAME = config.FIELD_NAME, IDENTITY_VALUE = config.IDENTITY_VALUE, }; dC_Service.InsertDataConfig(copyConfig); dC_Service.InsertRealData(copyConfig.ID); DC_SERVER server = Servers.First(s => s.Devices.FirstOrDefault(p => p.ID == config.DEVICE_ID) != null); DC_DEVICE device = server.Devices.First(s => s.ID == config.DEVICE_ID); device.Configs.Add(copyConfig); }
/// <summary> /// 获取服务器 /// </summary> /// <param name="serverNum"></param> /// <returns></returns> public List <DC_SERVER> GetDCServers() { string sql = $"SELECT * FROM DC.DC_SERVER"; OracleDataReader reader = OracleDataHelper.ExecuteReader(sql); List <DC_SERVER> lst = new List <DC_SERVER>(); while (reader.Read()) { DC_SERVER server = new DC_SERVER() { DESCRIPTION = reader["DESCRIPTION"].ToString(), ENABLE = GetValue(reader, "ENABLE"), ID = Convert.ToInt32(reader["ID"]), IP_ADDRESS = reader["IP_ADDRESS"].ToString(), NAME = reader["NAME"].ToString(), NUM = reader["NUM"].ToString(), FIELD1 = reader["FIELD1"].ToString(), FIELD2 = reader["FIELD2"].ToString(), FIELD3 = reader["FIELD3"].ToString(), }; lst.Add(server); } reader.Close(); return(lst); }
/// <summary> /// 添加plc /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void click_Add_Device(object sender, RoutedEventArgs e) { DC_SERVER server = (DC_SERVER)(sender as FrameworkElement).Tag; w_Device window = new w_Device(server); if (window.ShowDialog() == true) { server.Devices.Add(window.Device); } }
/// <summary> /// 添加天车 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btn_Add_Crane(object sender, RoutedEventArgs e) { w_AddCraneConfig window = new w_AddCraneConfig(); window.AddCraSuccess += (server, device) => { DC_SERVER sERVER = Servers.First(s => s.ID == server.ID); sERVER.Devices.Add(device); }; window.Show(); }
/// <summary> /// 编辑服务器 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void click_Modify_Server(object sender, RoutedEventArgs e) { DC_SERVER server = (DC_SERVER)(sender as FrameworkElement).Tag; w_Server window = new w_Server(server); if (window.ShowDialog() != true) { Load(); } }
public int ModifyDCServer(DC_SERVER server) { string sql = $@"UPDATE DC.DC_SERVER SET NUM={GetValueStr(server.NUM)}, NAME={GetValueStr(server.NAME)}, IP_ADDRESS={GetValueStr(server.IP_ADDRESS)}, DESCRIPTION={GetValueStr(server.DESCRIPTION)}, ENABLE={GetValueStr(server.ENABLE)} WHERE ID={GetValueStr(server.ID)}"; return(OracleDataHelper.ExecuteNonQuery(sql)); }
public w_Server(DC_SERVER server) { //Server.ID = server.ID; //Server.IP_ADDRESS = server.IP_ADDRESS; //Server.NAME = server.NAME; //Server.NUM = server.NUM; //Server.ENABLE = server.ENABLE; //Server.FIELD1 = server.FIELD1; //Server.FIELD2 = server.FIELD2; //Server.FIELD3 = server.FIELD3; Server = server; IsModify = true; InitializeComponent(); }
/// <summary> /// 复制plc /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void click_Copy_Device(object sender, RoutedEventArgs e) { DC_DEVICE device = (DC_DEVICE)(sender as FrameworkElement).Tag; DC_DEVICE copyDev = new DC_DEVICE() { CHANNEL = device.CHANNEL, CRA_ID = device.CRA_ID, DESCRIPTION = device.DESCRIPTION, ENABLE = device.ENABLE, IP_ADDRESS = device.IP_ADDRESS, MAC_ADDRESS = device.MAC_ADDRESS, S7CONNECTION = device.S7CONNECTION, NAME = device.NAME, NUM = device.NUM, SERVER_ID = device.SERVER_ID, Configs = new ObservableCollection <DC_DATA_CONFIG>() }; dC_Service.InsertDCDevice(copyDev); DC_SERVER server = Servers.First(s => s.Devices.Contains(device)); server.Devices.Add(copyDev); foreach (var config in device.Configs) { DC_DATA_CONFIG copyConfig = new DC_DATA_CONFIG() { IDENTITY_COLUMN = config.IDENTITY_COLUMN, CONVERTER = config.CONVERTER, DESCRIPTION = config.DESCRIPTION, DEVICE_ID = copyDev.ID, ENABLE = config.ENABLE, FIELD_DATA_LENGTH = config.FIELD_DATA_LENGTH, FIELD_DATA_PRECISION = config.FIELD_DATA_PRECISION, FIELD_DATA_SCALE = config.FIELD_DATA_SCALE, FIELD_DATA_TYPE = config.FIELD_DATA_TYPE, MEMORY_ADDRESS = config.MEMORY_ADDRESS, TABLE_NAME = config.TABLE_NAME, SUBSCRIPTION = config.SUBSCRIPTION, TABLE_USER = config.TABLE_USER, NAME = config.NAME, NUM = config.NUM, FIELD_NAME = config.FIELD_NAME, IDENTITY_VALUE = config.IDENTITY_VALUE, }; dC_Service.InsertDataConfig(copyConfig); dC_Service.InsertRealData(copyConfig.ID); copyDev.Configs.Add(copyConfig); } }
/// <summary> /// 删除服务器 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void click_Del_Server(object sender, RoutedEventArgs e) { if (MessageBox.Show("确认删除吗", "提示", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes) { DC_SERVER server = (DC_SERVER)(sender as FrameworkElement).Tag; try { dC_Service.DeleteDCServer(server); MessageBox.Show("删除成功。"); Servers.Remove(server); } catch (Exception ex) { MessageBox.Show("删除异常。" + ex.Message); } } }
/// <summary> /// 删除plc /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void click_Del_Device(object sender, RoutedEventArgs e) { if (MessageBox.Show("确认删除吗", "提示", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes) { DC_DEVICE device = (DC_DEVICE)(sender as FrameworkElement).Tag; try { dC_Service.DeleteDevice(device); MessageBox.Show("删除成功。"); DC_SERVER server = Servers.First(s => s.Devices.Contains(device)); server.Devices.Remove(device); } catch (Exception ex) { MessageBox.Show("删除异常。" + ex.Message); } } }
public w_Device(DC_SERVER server) { Device.SERVER_ID = server.ID; DC_Service dC_Service = new DC_Service(); try { DataTable dt = dC_Service.GetCranes(); DataRow row = dt.NewRow(); row["CRA_NAME"] = "不是天车选这个"; dt.Rows.InsertAt(row, 0); Cranes = dt; } catch (Exception) { } InitializeComponent(); }
/// <summary> /// 删除项 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void click_Del_Config(object sender, RoutedEventArgs e) { if (MessageBox.Show("确认删除吗", "提示", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes) { DC_DATA_CONFIG config = (DC_DATA_CONFIG)(sender as FrameworkElement).Tag; try { dC_Service.DeleteDataConfig(config); dC_Service.DeleteRealData(config.ID); MessageBox.Show("删除成功。"); DC_SERVER server = Servers.First(s => s.Devices.FirstOrDefault(p => p.ID == config.DEVICE_ID) != null); DC_DEVICE device = server.Devices.First(s => s.ID == config.DEVICE_ID); device.Configs.Remove(config); } catch (Exception ex) { MessageBox.Show("删除异常。" + ex.Message); } } }
public int InsertDCServer(DC_SERVER server) { string sql = $@"INSERT INTO DC.DC_SERVER( NUM, NAME, IP_ADDRESS, DESCRIPTION, ENABLE )VALUES( {GetValueStr(server.NUM)}, {GetValueStr(server.NAME)}, {GetValueStr(server.IP_ADDRESS)}, {GetValueStr(server.DESCRIPTION)}, {GetValueStr(server.ENABLE)} ) RETURNING ID INTO :ID"; OracleParameter para = new OracleParameter("ID", OracleDbType.Int32); int res = OracleDataHelper.ExecuteNonQuery(sql, new OracleParameter[] { para }); server.ID = ((OracleDecimal)para.Value).ToInt32(); return(res); }
/// <summary> /// 获取服务器 /// </summary> /// <param name="serverNum"></param> /// <returns></returns> public DC_SERVER GetDCServer(string serverNum) { string sql = $"SELECT * FROM DC.DC_SERVER WHERE NUM='{serverNum}'"; OracleDataReader reader = OracleDataHelper.ExecuteReader(sql); DC_SERVER server = null; if (reader.Read()) { server = new DC_SERVER() { DESCRIPTION = reader["DESCRIPTION"].ToString(), ENABLE = GetValue(reader, "ENABLE"), ID = Convert.ToInt32(reader["ID"]), IP_ADDRESS = reader["IP_ADDRESS"].ToString(), NAME = reader["NAME"].ToString(), NUM = reader["NUM"].ToString(), FIELD1 = reader["FIELD1"].ToString(), FIELD2 = reader["FIELD2"].ToString(), FIELD3 = reader["FIELD3"].ToString(), }; } reader.Close(); return(server); }
public u_Server(DC_SERVER server) { Server = server; InitializeComponent(); }
/// <summary> /// 获取设备集合 /// </summary> /// <param name="server"></param> /// <returns></returns> public List <DC_DEVICE> GetDCDevices(DC_SERVER server) { return(GetDCDevices($" AND SERVER_ID={server.ID}")); }
/// <summary> /// 获取设备集合 /// </summary> /// <param name="server"></param> /// <returns></returns> public List <DC_DEVICE> GetDCDevices(DC_SERVER server, int enable) { return(GetDCDevices($" AND SERVER_ID={server.ID} AND ENABLE={enable}")); }
public int DeleteDCServer(DC_SERVER server) { string sql = $@"DELETE FROM DC.DC_SERVER WHERE ID={GetValueStr(server.ID)}"; return(OracleDataHelper.ExecuteNonQuery(sql)); }
private void btn_OK_Click(object sender, RoutedEventArgs e) { try { DC_SERVER server = this.cmb_Server.SelectedItem as DC_SERVER; DataRowView cra = this.cmb_Crane.SelectedItem as DataRowView; DC_DEVICE device = new DC_DEVICE() { CHANNEL = "S7", CRA_ID = Convert.ToInt32(cra["ID"]), ENABLE = 1, NAME = cra["CRA_NAME"].ToString(), NUM = cra["CRA_NUM"].ToString(), S7CONNECTION = this.txt_Conn.Text.Trim(), DESCRIPTION = cra["CRA_NAME"].ToString(), SERVER_ID = server.ID, Configs = new ObservableCollection <DC_DATA_CONFIG>(), }; dC_Service.InsertDCDevice(device); DataTable columnInfo = dC_Service.GetColumns("CRANE_REAL_INFO"); { DataRow row = columnInfo.Rows.Cast <DataRow>().First(s => s["COLUMN_NAME"].ToString() == "COORD_X"); DC_DATA_CONFIG config = new DC_DATA_CONFIG() { NUM = "REAL_X", NAME = "实时_X", MEMORY_ADDRESS = "DB1,DINT4000", DESCRIPTION = "实时_X", SUBSCRIPTION = 1, DEVICE_ID = device.ID, ENABLE = 1, IDENTITY_VALUE = dC_Service.GetCraRealInfoID(cra["ID"].ToString()), TABLE_USER = "******", TABLE_NAME = "CRANE_REAL_INFO", FIELD_NAME = row["COLUMN_NAME"].ToString(), FIELD_DATA_TYPE = row["DATA_TYPE"].ToString(), FIELD_DATA_LENGTH = GetValue(row["DATA_LENGTH"]), FIELD_DATA_PRECISION = GetValue(row["DATA_PRECISION"]), FIELD_DATA_SCALE = GetValue(row["DATA_SCALE"]), }; dC_Service.InsertDataConfig(config); device.Configs.Add(config); } { DataRow row = columnInfo.Rows.Cast <DataRow>().First(s => s["COLUMN_NAME"].ToString() == "COORD_Y"); DC_DATA_CONFIG config = new DC_DATA_CONFIG() { NUM = "REAL_Y", NAME = "实时_Y", MEMORY_ADDRESS = "DB1,DINT4004", DESCRIPTION = "实时_Y", SUBSCRIPTION = 1, DEVICE_ID = device.ID, ENABLE = 1, IDENTITY_VALUE = dC_Service.GetCraRealInfoID(cra["ID"].ToString()), TABLE_USER = "******", TABLE_NAME = "CRANE_REAL_INFO", FIELD_NAME = row["COLUMN_NAME"].ToString(), FIELD_DATA_TYPE = row["DATA_TYPE"].ToString(), FIELD_DATA_LENGTH = GetValue(row["DATA_LENGTH"]), FIELD_DATA_PRECISION = GetValue(row["DATA_PRECISION"]), FIELD_DATA_SCALE = GetValue(row["DATA_SCALE"]), }; dC_Service.InsertDataConfig(config); device.Configs.Add(config); } { DataRow row = columnInfo.Rows.Cast <DataRow>().First(s => s["COLUMN_NAME"].ToString() == "LITTLE_HOOK_Y"); DC_DATA_CONFIG config = new DC_DATA_CONFIG() { NUM = "REAL_LITTLE_Y", NAME = "实时_副Y", MEMORY_ADDRESS = "DB1,DINT4008", DESCRIPTION = "实时_副Y", SUBSCRIPTION = 1, DEVICE_ID = device.ID, ENABLE = 1, IDENTITY_VALUE = dC_Service.GetCraRealInfoID(cra["ID"].ToString()), TABLE_USER = "******", TABLE_NAME = "CRANE_REAL_INFO", FIELD_NAME = row["COLUMN_NAME"].ToString(), FIELD_DATA_TYPE = row["DATA_TYPE"].ToString(), FIELD_DATA_LENGTH = GetValue(row["DATA_LENGTH"]), FIELD_DATA_PRECISION = GetValue(row["DATA_PRECISION"]), FIELD_DATA_SCALE = GetValue(row["DATA_SCALE"]), }; dC_Service.InsertDataConfig(config); device.Configs.Add(config); } { DataRow row = columnInfo.Rows.Cast <DataRow>().First(s => s["COLUMN_NAME"].ToString() == "COORD_Z"); DC_DATA_CONFIG config = new DC_DATA_CONFIG() { NUM = "REAL_Z", NAME = "实时_Z", MEMORY_ADDRESS = "DB1,DINT4012", DESCRIPTION = "实时_Z", SUBSCRIPTION = 1, DEVICE_ID = device.ID, ENABLE = 1, IDENTITY_VALUE = dC_Service.GetCraRealInfoID(cra["ID"].ToString()), TABLE_USER = "******", TABLE_NAME = "CRANE_REAL_INFO", FIELD_NAME = row["COLUMN_NAME"].ToString(), FIELD_DATA_TYPE = row["DATA_TYPE"].ToString(), FIELD_DATA_LENGTH = GetValue(row["DATA_LENGTH"]), FIELD_DATA_PRECISION = GetValue(row["DATA_PRECISION"]), FIELD_DATA_SCALE = GetValue(row["DATA_SCALE"]), }; dC_Service.InsertDataConfig(config); device.Configs.Add(config); } { DataRow row = columnInfo.Rows.Cast <DataRow>().First(s => s["COLUMN_NAME"].ToString() == "LITTLE_HOOK_Z"); DC_DATA_CONFIG config = new DC_DATA_CONFIG() { NUM = "REAL_LITTLE_Z", NAME = "实时_副Z", MEMORY_ADDRESS = "DB1,DINT4016", DESCRIPTION = "实时_副Z", SUBSCRIPTION = 1, DEVICE_ID = device.ID, ENABLE = 1, IDENTITY_VALUE = dC_Service.GetCraRealInfoID(cra["ID"].ToString()), TABLE_USER = "******", TABLE_NAME = "CRANE_REAL_INFO", FIELD_NAME = row["COLUMN_NAME"].ToString(), FIELD_DATA_TYPE = row["DATA_TYPE"].ToString(), FIELD_DATA_LENGTH = GetValue(row["DATA_LENGTH"]), FIELD_DATA_PRECISION = GetValue(row["DATA_PRECISION"]), FIELD_DATA_SCALE = GetValue(row["DATA_SCALE"]), }; dC_Service.InsertDataConfig(config); device.Configs.Add(config); } { DataRow row = columnInfo.Rows.Cast <DataRow>().First(s => s["COLUMN_NAME"].ToString() == "WEIGHT"); DC_DATA_CONFIG config = new DC_DATA_CONFIG() { NUM = "REAL_WEIGHT", NAME = "实时_主钩重量", MEMORY_ADDRESS = "DB1,DINT4020", DESCRIPTION = "实时_主钩重量", SUBSCRIPTION = 1, DEVICE_ID = device.ID, ENABLE = 1, IDENTITY_VALUE = dC_Service.GetCraRealInfoID(cra["ID"].ToString()), TABLE_USER = "******", TABLE_NAME = "CRANE_REAL_INFO", FIELD_NAME = row["COLUMN_NAME"].ToString(), FIELD_DATA_TYPE = row["DATA_TYPE"].ToString(), FIELD_DATA_LENGTH = GetValue(row["DATA_LENGTH"]), FIELD_DATA_PRECISION = GetValue(row["DATA_PRECISION"]), FIELD_DATA_SCALE = GetValue(row["DATA_SCALE"]), }; dC_Service.InsertDataConfig(config); device.Configs.Add(config); } { DataRow row = columnInfo.Rows.Cast <DataRow>().First(s => s["COLUMN_NAME"].ToString() == "LITTLE_HOOK_WEIGHT"); DC_DATA_CONFIG config = new DC_DATA_CONFIG() { NUM = "REAL_LITTLE_WEIGHT", NAME = "实时_副钩重量", MEMORY_ADDRESS = "DB1,DINT4024", DESCRIPTION = "实时_副钩重量", SUBSCRIPTION = 1, DEVICE_ID = device.ID, ENABLE = 1, IDENTITY_VALUE = dC_Service.GetCraRealInfoID(cra["ID"].ToString()), TABLE_USER = "******", TABLE_NAME = "CRANE_REAL_INFO", FIELD_NAME = row["COLUMN_NAME"].ToString(), FIELD_DATA_TYPE = row["DATA_TYPE"].ToString(), FIELD_DATA_LENGTH = GetValue(row["DATA_LENGTH"]), FIELD_DATA_PRECISION = GetValue(row["DATA_PRECISION"]), FIELD_DATA_SCALE = GetValue(row["DATA_SCALE"]), }; dC_Service.InsertDataConfig(config); device.Configs.Add(config); } { DataRow row = columnInfo.Rows.Cast <DataRow>().First(s => s["COLUMN_NAME"].ToString() == "OBJ_COUNT"); DC_DATA_CONFIG config = new DC_DATA_CONFIG() { NUM = "REAL_OBJ_COUNT", NAME = "实时_吊物数量", MEMORY_ADDRESS = "DB1,B4029", DESCRIPTION = "实时_吊物数量", SUBSCRIPTION = 1, DEVICE_ID = device.ID, ENABLE = 1, IDENTITY_VALUE = dC_Service.GetCraRealInfoID(cra["ID"].ToString()), TABLE_USER = "******", TABLE_NAME = "CRANE_REAL_INFO", FIELD_NAME = row["COLUMN_NAME"].ToString(), FIELD_DATA_TYPE = row["DATA_TYPE"].ToString(), FIELD_DATA_LENGTH = GetValue(row["DATA_LENGTH"]), FIELD_DATA_PRECISION = GetValue(row["DATA_PRECISION"]), FIELD_DATA_SCALE = GetValue(row["DATA_SCALE"]), }; dC_Service.InsertDataConfig(config); device.Configs.Add(config); } { DataRow row = columnInfo.Rows.Cast <DataRow>().First(s => s["COLUMN_NAME"].ToString() == "IS_ONLINE"); DC_DATA_CONFIG config = new DC_DATA_CONFIG() { NUM = "REAL_IS_ONLINE", NAME = "实时_网络状态", MEMORY_ADDRESS = "&statepathval()", DESCRIPTION = "实时_网络状态", SUBSCRIPTION = 1, DEVICE_ID = device.ID, ENABLE = 1, IDENTITY_VALUE = dC_Service.GetCraRealInfoID(cra["ID"].ToString()), TABLE_USER = "******", TABLE_NAME = "CRANE_REAL_INFO", FIELD_NAME = row["COLUMN_NAME"].ToString(), FIELD_DATA_TYPE = row["DATA_TYPE"].ToString(), FIELD_DATA_LENGTH = GetValue(row["DATA_LENGTH"]), FIELD_DATA_PRECISION = GetValue(row["DATA_PRECISION"]), FIELD_DATA_SCALE = GetValue(row["DATA_SCALE"]), }; dC_Service.InsertDataConfig(config); device.Configs.Add(config); } { DC_DATA_CONFIG config = new DC_DATA_CONFIG() { NUM = "ACTION_X", NAME = "动作_X", MEMORY_ADDRESS = "DB1,DINT4054", DESCRIPTION = "动作_X", SUBSCRIPTION = 0, DEVICE_ID = device.ID, ENABLE = 1, }; dC_Service.InsertDataConfig(config); device.Configs.Add(config); } { DC_DATA_CONFIG config = new DC_DATA_CONFIG() { NUM = "ACTION_Y", NAME = "动作_Y", MEMORY_ADDRESS = "DB1,DINT4058", DESCRIPTION = "动作_Y", SUBSCRIPTION = 0, DEVICE_ID = device.ID, ENABLE = 1, }; dC_Service.InsertDataConfig(config); device.Configs.Add(config); } { DC_DATA_CONFIG config = new DC_DATA_CONFIG() { NUM = "ACTION_LITTLE_Y", NAME = "动作_副Y", MEMORY_ADDRESS = "DB1,DINT4062", DESCRIPTION = "动作_副Y", SUBSCRIPTION = 0, DEVICE_ID = device.ID, ENABLE = 1, }; dC_Service.InsertDataConfig(config); device.Configs.Add(config); } { DC_DATA_CONFIG config = new DC_DATA_CONFIG() { NUM = "ACTION_Z", NAME = "动作_Z", MEMORY_ADDRESS = "DB1,DINT4066", DESCRIPTION = "动作_Z", SUBSCRIPTION = 0, DEVICE_ID = device.ID, ENABLE = 1, }; dC_Service.InsertDataConfig(config); device.Configs.Add(config); } { DC_DATA_CONFIG config = new DC_DATA_CONFIG() { NUM = "ACTION_LITTLE_Z", NAME = "动作_副Z", MEMORY_ADDRESS = "DB1,DINT4070", DESCRIPTION = "动作_副Z", SUBSCRIPTION = 0, DEVICE_ID = device.ID, ENABLE = 1, }; dC_Service.InsertDataConfig(config); device.Configs.Add(config); } { DC_DATA_CONFIG config = new DC_DATA_CONFIG() { NUM = "ACTION_WEIGHT", NAME = "动作_主钩重量", MEMORY_ADDRESS = "DB1,DINT4074", DESCRIPTION = "动作_主钩重量", SUBSCRIPTION = 0, DEVICE_ID = device.ID, ENABLE = 1, }; dC_Service.InsertDataConfig(config); device.Configs.Add(config); } { DC_DATA_CONFIG config = new DC_DATA_CONFIG() { NUM = "ACTION_LITTLE_WEIGHT", NAME = "动作_副钩重量", MEMORY_ADDRESS = "DB1,DINT4078", DESCRIPTION = "动作_副钩重量", SUBSCRIPTION = 0, DEVICE_ID = device.ID, ENABLE = 1, }; dC_Service.InsertDataConfig(config); device.Configs.Add(config); } { DC_DATA_CONFIG config = new DC_DATA_CONFIG() { NUM = "ACTION_SYMBOL", NAME = "动作_动作类型", MEMORY_ADDRESS = "DB1,B4082", DESCRIPTION = "动作_动作类型", SUBSCRIPTION = 0, DEVICE_ID = device.ID, ENABLE = 1, }; dC_Service.InsertDataConfig(config); device.Configs.Add(config); } { DC_DATA_CONFIG config = new DC_DATA_CONFIG() { NUM = "ACTION_OBJ_COUNT", NAME = "动作_吊物数量", MEMORY_ADDRESS = "DB1,B4083", DESCRIPTION = "动作_吊物数量", SUBSCRIPTION = 0, DEVICE_ID = device.ID, ENABLE = 1, }; dC_Service.InsertDataConfig(config); device.Configs.Add(config); } { DC_DATA_CONFIG config = new DC_DATA_CONFIG() { NUM = "ACTION_CACHE_NUM", NAME = "动作_缓存序号", MEMORY_ADDRESS = "DB1,DINT4050", DESCRIPTION = "动作_缓存序号", SUBSCRIPTION = 0, DEVICE_ID = device.ID, ENABLE = 1, }; dC_Service.InsertDataConfig(config); device.Configs.Add(config); } { DC_DATA_CONFIG config = new DC_DATA_CONFIG() { NUM = "ACTION_READED_NUM", NAME = "动作_已读序号", MEMORY_ADDRESS = "DB1,DINT4035", DESCRIPTION = "动作_已读序号", SUBSCRIPTION = 0, DEVICE_ID = device.ID, ENABLE = 1, }; dC_Service.InsertDataConfig(config); device.Configs.Add(config); } { DC_DATA_CONFIG config = new DC_DATA_CONFIG() { NUM = "ACTION_TIME", NAME = "动作_动作时间", MEMORY_ADDRESS = "DB1,B4084,6", DESCRIPTION = "动作_动作时间", SUBSCRIPTION = 0, DEVICE_ID = device.ID, ENABLE = 1, }; dC_Service.InsertDataConfig(config); device.Configs.Add(config); } { DC_DATA_CONFIG config = new DC_DATA_CONFIG() { NUM = "CAL_TIME", NAME = "校正_校正时间", MEMORY_ADDRESS = "DB1,B4100,6", DESCRIPTION = "校正_校正时间", SUBSCRIPTION = 0, DEVICE_ID = device.ID, ENABLE = 1, }; dC_Service.InsertDataConfig(config); device.Configs.Add(config); } { DC_DATA_CONFIG config = new DC_DATA_CONFIG() { NUM = "CAL_WRITE_FLAG", NAME = "校正_写入标志", MEMORY_ADDRESS = "DB1,B4106", DESCRIPTION = "校正_写入标志", SUBSCRIPTION = 0, DEVICE_ID = device.ID, ENABLE = 1, }; dC_Service.InsertDataConfig(config); device.Configs.Add(config); } MessageBox.Show("操作成功。"); AddCraSuccess?.Invoke(server, device); } catch (Exception ex) { MessageBox.Show(ex.Message); } }